WO2009136030A1 - Method of saving/restoring files in a peer-to-peer network - Google Patents

Method of saving/restoring files in a peer-to-peer network Download PDF

Info

Publication number
WO2009136030A1
WO2009136030A1 PCT/FR2009/050560 FR2009050560W WO2009136030A1 WO 2009136030 A1 WO2009136030 A1 WO 2009136030A1 FR 2009050560 W FR2009050560 W FR 2009050560W WO 2009136030 A1 WO2009136030 A1 WO 2009136030A1
Authority
WO
WIPO (PCT)
Prior art keywords
fragment
peer
file
network
fragments
Prior art date
Application number
PCT/FR2009/050560
Other languages
French (fr)
Inventor
Houssem Jarraya
Maryline Maknavicius-Laurent
Original Assignee
Groupe Des Ecoles Des Telecommunications (Get) Institut National Des Telecommunications (Int)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Groupe Des Ecoles Des Telecommunications (Get) Institut National Des Telecommunications (Int) filed Critical Groupe Des Ecoles Des Telecommunications (Get) Institut National Des Telecommunications (Int)
Publication of WO2009136030A1 publication Critical patent/WO2009136030A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • P2P network refers to a network composed of a set of entities called peers, interconnected with one another. Each of these entities can play both the role of server and client and it participates in the P2P service offered by the supply of some of its resources (hard disk, processor, ...) to the system.
  • the invention applies more particularly to information backup systems in P2P networks based on the use of a distributed hash table (DHT) and fragmentation of files.
  • DHT distributed hash table
  • distributed hash table denotes a data structure that associates for each peer a unique identifier that is the result of a hash function applied for example to its IP address or its machine name.
  • a unique key of the same length as the peer identifiers. This key designated below by "DHT key” or “CDHT” is calculated by applying a hash function on an element of the resource, such as its name or content. Subsequently, each resource is saved in the peer whose identifier is closest to its key, according to a fixed distance function.
  • C. Batten, K. Barr, A.Saraf and S.Trepetin are known from publications
  • PStore a secure peer-to-peer backup system
  • Mr. Landers, H. Zhang and K.L. Tan PeerStore: better performance by relaxing in peer-to-peer backup” examples of such backup systems.
  • a peer fragments each file into several pieces of data called FB (File Block), and generates, for each of these files, an additional fragment called FBL (File Block List) that describes the list of FB fragments that make up the file. file and their location in the P2P network.
  • FBL Fra Block List
  • the FBL fragment also contains additional information for recovering any version of the file. This FBL fragment is also saved in the P2P network and its location is identified by a DHT key.
  • each file saved in the P2P network consists of a set of fragments FB and a single fragment FBL 10, as shown in Figure 1.
  • the fragment FBL defines for each version of the file and for each fragment FB a key for locating the fragment FB, in the example considered a DHT key (CDHT), and a key for decrypting the fragment FB (CC) and the length of the FB fragment.
  • CDHT DHT key
  • CC a key for decrypting the fragment FB
  • FIG. 2 shows a method of restoring a file saved in the P2P network with the known backup systems.
  • the user must, from a terminal 3, specify the name and the path of the desired file in order to have access to the fragment FBL 10, this fragment FBL 10 allowing access to fragments FB 11 making it possible to reconstitute the searched file 13.
  • restoring N files assumes N identical and repeated FBL fragment extraction operations.
  • the publication L.P. Cox, CD is still known. Muray and B.D. Noble
  • the invention aims to meet this need.
  • the subject of the invention is a method for saving at least one file recorded by a peer in the terminal memories of a plurality of nodes of a peer-to-peer network, in which:
  • this peer is allowed to select one or more files to save
  • the source fragment is stored in the memory of at least one terminal of the network.
  • Terminal means for example a camera, a camera, a mobile phone, a smartphone, set-top box (for example of the "box” type connected to ADSL and providing telephone, internet and television), a computer, a laptop, a refrigerator, an oven, an alarm, a video recorder, an FTP server, a database server, an email server, a workstation or a digital personal assistant.
  • set-top box for example of the "box” type connected to ADSL and providing telephone, internet and television
  • computer a laptop, a refrigerator, an oven, an alarm, a video recorder, an FTP server, a database server, an email server, a workstation or a digital personal assistant.
  • the invention makes it possible, thanks to the source fragment, to add a level in the hierarchy of the fragments FBL and FB of the prior art.
  • the source fragment by making it possible to locate and decrypt at least a portion of the description fragments of several files, enables the par to locate and decrypt fragments of these files saved in a single operation.
  • the peer no longer needs to memorize for each FBL fragment the key for locating the latter in the network and / or its decryption key.
  • the invention makes it possible, as soon as the source fragment is accessed, to be able to extract at one time files it automatically backs up in the P2P network, without having to request one by one the files it wishes to extract, which can be particularly useful in case of loss, either by crash or by theft, of the hard disk of the peer terminal.
  • the restoration of the backed up files depends only on the access to the source fragment, it can be done from any terminal of the network, and not only since the one from which the files to be restored have been saved.
  • a key for encrypting the source fragment and a key for locating the source fragment can be computed.
  • the source fragment can be saved in the memory of one or more nodes of the network, or even in the memory of a secure element of the network, such as a backup server set up by an operator.
  • the source fragment may directly contain the keys for locating and decrypting the FBL fragment (s), which may further simplify the decryption and localization of this fragment or fragments from the source fragment.
  • the key for locating the source fragment can be calculated by hashing at least one peer associated with the peer.
  • This key is for example a DHT key.
  • This key being dependent on a secret of the user, for example a password, a private key or a secret code associated with a terminal of the peer, for example a PIN code of a mobile phone , the invention may make it possible to prevent any node that does not know this secret from accessing the source fragment, thus making it possible to restrict access to the source fragment at the peer that has saved the files.
  • the key for encrypting the source fragment can be calculated according to at least one secret associated with the peer, for example according to a password, a private key or a secret code.
  • the calculation function makes it possible, for example, to construct a symmetric encryption key from a string of characters by redistributing bits, deleting or adding other bits.
  • the use of such a key to encrypt the source fragment may make it possible to prevent another node, for example by a network backup server scanning technique, from reading and interpreting the source fragment to determine the list. backed up files and / or know who owns them.
  • the secret from which is calculated the key for encrypting the source fragment is for example the same as that from which is calculated the key to locate this source fragment.
  • the invention by using keys to locate and encrypt the source fragment as mentioned above, makes it possible to condition the access to the source fragment and consequently the determination of the list of files that have been saved in the P2P network and / or their recovery to the knowledge by a node of the key for decrypting the source fragment and the key to locate it.
  • the invention can thus make it possible to respect the privacy of the holders of the nodes of the network.
  • the method may comprise a step allowing the peer to select at least one property to be saved by file stored in the memory of a terminal of the network.
  • properties to be backed up are, for example, the access rights of local users, the creation date of the file or the path to this file.
  • the checksum of the file (checksum) to check the integrity of the file after it has been restored can also be saved, which can detect errors during the file restore, these errors can be caused by a collision between FB fragments.
  • the method may comprise the step of allowing the peer to modify a source fragment already generated to take into account: the backup of a new file saved in the memory of a network terminal and / or the deletion of a saved file
  • the source fragment makes it possible to locate and to decipher all the generated FBL fragments, which can allow a peer to have only one source fragment from which it can, if he wishes, restore all the files he has saved.
  • each source fragment can be generated, each source fragment making it possible to locate and to decipher part of the FBL fragments associated with the files saved, which can make it possible to associate a source fragment with group of files saved.
  • a key for locating or encrypting a source fragment can be calculated in the same way as previously defined.
  • the keys for locating and encrypting the source fragments may be different from one source fragment to another, which may prevent a node that knows the keys of a source fragment from gaining access to the other fragments. sources, but also collisions between source fragments.
  • Files can be grouped into a particular source fragment depending on their type, content, or access rights.
  • File types according to the invention are, for example, photos, videos, sound recordings or texts.
  • a root fragment for locating and decrypting the source fragments can be generated, this root fragment can be saved in the memory of at least one P2P network terminal.
  • Another object of the invention is, according to another of its aspects, a method of restoring at least one file saved in the terminal memories of a peer-to-peer network in the form of data fragments (FB) to which is associated a fragment of description (FBL) listing the fragments of data, this fragment FBL being localizable and decryptable by a protected access source fragment saved in the memory of a terminal of the network, in which process: a peer accesses the source fragment from any terminal in the network to determine the list of files backed up in the network, the peer selects at least one file to be restored from the list, the peer initiates the process of automatically restoring the selected file (s) from this terminal.
  • FB data fragments
  • FBL fragment of description
  • the method may comprise a step of updating the list of the files saved, for example to take into account the peer backup of a new file in the network or the deletion of a file in the network.
  • the method may include a step of testing availability and integrity on files in the list. These tests can be performed periodically to ensure that the restoration process is operational and may concern only one file, or even more or even all of the files in the list.
  • Another aspect of the invention is a method of selective broadcasting of at least one file recorded in the terminal memories of a peer-to-peer network, this file being fragmented into several pieces of data ( FB) associated with a description fragment (FBL) listing the FB fragments, this FBL fragment being localizable and decryptable by a protected access source fragment saved in the memory of a terminal of the network, a method in which a client is allowed of the network searching for the recorded file and having satisfied a predefined condition the access to the source fragment and the recovery of the searched file.
  • FB pieces of data
  • FBL description fragment
  • Access to the searched file may be enabled by providing the network client with a key for locating the source fragment and / or a key for decrypting the source fragment.
  • the key to locate and / or the key to decrypt the source fragment is for example specific to each client, which can allow by assigning personal keys to each client to limit the risk of fraudulent access to the file.
  • the method may include a step of testing availability and integrity on the file. This test can be performed periodically to ensure that the broadcast process is operational.
  • Another subject of the invention is, according to another of its aspects, a method for saving at least one file recorded by a peer in the terminal memories of a plurality of nodes of a peer-to-peer network, each file being fragmented into a plurality of data fragments (FB) to which is associated a description fragment (FBL) listing the data fragments, in which process: least one source fragment for locating and decrypting at least a portion of the FBL fragments,
  • the source fragment is stored in the memory of at least one terminal of the network.
  • the P2P network can be a home automation private network.
  • the P2P network is an enterprise private network, distributed or not on several geographically distant sites.
  • the P2P network uses the Internet network.
  • FIGS. 1 and 2 illustrate an example of a method for backing up and restoring already known files
  • FIGS. 3 and 4 illustrate files backup and restoration systems according to the invention
  • FIG. 5 schematically represents an example of source fragment according to the invention
  • FIGS. 6 and 7 illustrate an example of a file saving method and an example of file restoration according to the invention
  • FIGS. 8 to 16 show examples of application of the invention.
  • FIGS. 3 and 4 show an example of backup by a pair of 13 X files according to the invention.
  • each X file is fragmented into several data fragments (FB) 11 to which is associated a description fragment (FBL) listing the FB fragments, similar to the known systems described above.
  • the fragments FBL 1O 1 and FB 1 I j can be recorded in the memories of terminals 3 constituting a peer-to-peer network 1, these terminals possibly being different from that of the peer having recorded the files.
  • the terminals 3 are represented in the form of computers in FIG. 4, the invention is of course not limited to the use of such terminals, as will be seen later.
  • At least one source fragment 9 is stored in the memory of a terminal 3 of the network 1, this terminal being in the example described different from the terminal of the peer having recorded the files 13 ⁇
  • the source fragment 9 may be stored in the memory of several distinct nodes and / or be recorded in a not shown backup server.
  • a backup server can be set up by an operator or other trusted entity.
  • the invention makes it possible to add a level of hierarchy to the fragments FBL 1O 1 and FB H j thanks to the source fragment 9 which allows the localization and the decryption of all the fragments FBL 1O 1 and, via the latter, the location of all fragments FB 1 I j constituting a file 13 ⁇ the invention allows, in this example, the user no longer necessarily have to memorize an element of information allowing him to find the DHT key and / or the encryption key of one of its fragments FBL.
  • FIG. 5 shows an example of source fragment 9. This fragment contains different fields.
  • a first field 30 assigns an identifier / number to the file 13i.
  • a second field 31 lists the name of the recorded X file.
  • a third field 32 corresponds to a key, for example a DHT key, making it possible to locate the fragment FBL 1O 1 associated with the file 13 X
  • a fourth field 33 corresponds to a key making it possible to decrypt the fragment FBL 1O 1 associated with the file 13 ⁇
  • Access to the source fragment 9 is protected by two keys, a key to allow the location of the source fragment 9 in the network 1, by example a DHT key, and a key to allow its encryption in the case of file backup or decryption in the case of file restoration or file distribution.
  • keys are determined in the example described from a secret only known to the user and which can take the form of a password, a private key, a secret code such as a code PIN of a terminal, for example a mobile phone or a personal digital assistant belonging to the peer.
  • the DHT key is for example determined by hashing the password or the private key or the PIN code.
  • the key for encrypting or decrypting the source fragment 9 is for example calculated according to the password, the private key or a secret code. This calculation function makes it possible, for example, to construct a symmetric encryption or decryption key from a string of characters by redistributing these bits, deleting or adding other bits.
  • the various fragments saved in the network 1 relating to the backup of a file 13 X are therefore encrypted: the data fragments FB 11 using, for example, the method "Convergent Encryption” as disclosed in the publication JR Sweetness, A. Adya, WJ. Bolosky, D. Simon and M.
  • Theimer "Reclaiming space from duplicate files in a serverless distributed file system", the fragments FBL 1O 1 using the symmetric encryption key saved in the source fragment 9, and the source fragment 9 using a key calculated from of the peer's secret.
  • a node wants to access, without permission, a saved file
  • the source fragment 9 may further comprise, as shown in FIG. 5, other fields 34 containing properties of the saved file 13 X. These properties concern for example the access rights of local users, the creation date of the file or the file path.
  • Field 34 may also contain a checksum to check the integrity of the entire file after it is restored. This check detects errors due to a collision between FB fragments, these errors being considered negligible.
  • PeerStore consists of separately checking the integrity of each FB fragment. This parcel checking of the integrity of a file can be problematic when a collision between fragments occurs, that is, if another different FB fragment but having the same DHT key value is stored instead a fragment of this file. Collision detection is not possible in the case of parcel control, but the collision problem can be detected if the global integrity check on the entire file is performed through the source fragment 9.
  • the invention enables the peer to access the source fragment 9 provided that it has communicated its secret, namely its password, its private key, its secret code or its PIN code, on the basis of which the keys allowing locate and decrypt the source fragment 9 will be determined, then recover all the files that have been saved in the P2P network.
  • FIG. 6 represents an exemplary method of saving files in a network 1 as represented in FIGS. 3 and 4.
  • the peer selects the list of files it wishes to save in the network 1.
  • the peer selects one or more properties to be saved, these properties corresponding to those mentioned in relation to the field 34 of the source fragment 9.
  • step 120 the peer specifies the importance level of the saved information.
  • step 130 the fragments FB H j are created by applying the necessary security processing and saved in the network 1, and a fragment FBL 1O 1 is associated for each 13 X file saved.
  • step 140 the peer generates for each fragment FBL 1O 1 a location key and an encryption key, decrypts the fragment and the backup in the network 1.
  • a source fragment 9 is generated with calculation of keys for locating and encrypting this source fragment 9.
  • the peer saves this source fragment 9 in the network 1 in the memory of one or more computer terminals 3 of the network and / or in the memory of a backup server.
  • FIG. 7 shows an example of a method for restoring by a peer one or more files saved according to the invention, this restoration method being able to be performed from any terminal 3 of the network and not only from the terminal with which the For example, par has performed the process shown in FIG.
  • step 200 the user presents the secret he used to associate an encryption key and a location key with his source fragment 9.
  • step 210 the peer retrieves and decrypts the source fragment 9.
  • step 220 the peer determines the list of 13 X files it has saved in the network 1.
  • the viewing of these files can be in the form of a flat list of file names, or a tree highlighting the path originally occupied by each saved file.
  • step 230 the peer selects the number of files it wishes to restore, namely one, several or all of the files 13 ⁇
  • step 240 the automatic restoration of this or these files begins with the recovery of its fragment FBL 1O 1 and its data fragments FB 1 I j .
  • a peer can also recover its source fragment 9 to take into account the saving of a new file in the network 1 and / or the deletion of a file from the network 1 and / or to perform availability and integrity tests on one or more files saved 13 15 so as to ensure, periodically or in a controlled manner by the user, that the backup method is operational.
  • FIG. 8 shows an example of application of the invention to a home automation private network 1.
  • This network 1 comprises for example a plurality of appliances
  • Intelligent and / or electronic devices such as a camera, a camera, a mobile phone, a set-top box, a computer, a refrigerator, an oven, an alarm, a video recorder, these devices each having a memory and corresponding to computer terminals 3i within the meaning of the invention. All or part of these devices can communicate by carrier or non-wireless link, for example Bluetooth or Wifi type.
  • a user can create his own distributed file recovery system. Indeed, it can keep a copy of the important files of a node, for example the computer 3i or 3 2 , on the other nodes of the network P2P in order to recover them in case of loss of the original files due to the loss of the disk hard terminal 3i or 3 2 .
  • the invention makes it possible to benefit from a new free and normally reliable restoration system, the nodes being under the entire control of the user.
  • FIG. 9 shows another example of application of the invention to produce a system for restoring files in a corporate private network 1, including servers, for example FTP servers, database servers. or email servers, and workstations that correspond to terminals within the meaning of the invention, constitute a peer-to-peer network.
  • servers for example FTP servers, database servers. or email servers, and workstations that correspond to terminals within the meaning of the invention, constitute a peer-to-peer network.
  • the free disk spaces of the memories of the various terminals 3 are used to record files, making it possible to duplicate the important data of a node on the other nodes of the network 1 in order to restore them in case of loss of the initial files.
  • the invention allows the company to benefit from a file restoration system: free, the company does not need to reserve a particular server to duplicate the important data of its various terminals 3, reliable, all the nodes being under the entire control of the company and, of course, the terminals 3 being in this example servers and workstations of the company, these different machines being always available in the network, so that the backup and the Restoring a file in Network 1 can be done at any time.
  • the example of FIG. 10 differs from that of FIG. 9 in that the enterprise is distributed on several geographically distant sites in which local intranets I 1 , I 2 and I 3 similar to the network described with reference to FIG. 9 exist.
  • communication between local intranet networks of two remote geographical sites is secured by establishing a VPN tunnel 2 created by one of the following protocols: Layer Two Tunneling Protocol (L2TP), IPsec (Internet Protocol) Security) or MPLS VPN.
  • L2TP Layer Two Tunneling Protocol
  • IPsec Internet Protocol
  • the invention by making it possible to save node files of a geographical site in memory of nodes of other geographical sites, allows the restoration of these files even in the case where the geographical site in which the terminal of the node is located having saved the files would disappear in its entirety due for example to a fire, a natural disaster or an attack.
  • the company assigns, according to a first embodiment, to each geographic site a single source fragment 9 enabling the automatic restoration of all the important data of a site.
  • the secret allowing access to this source fragment is preferably known only by the site manager.
  • the company allocates for each service of each geographical site, for example the financial or commercial service of each geographical site, a single source fragment.
  • the source fragment allows the automatic restoration of all the important data of a service and its secret is advantageously known only by the director of the service.
  • the company assigns each terminal 3 a source fragment 9.
  • the source fragment 9 only allows the automatic restoration of important data of a particular terminal and its secret is advantageously known. than the owner of this terminal.
  • FIG. 11 shows another example of application of the invention.
  • the peer-to-peer network 1 is formed by nodes that are terminals 3 connected to the Internet.
  • the terminals 3 are in this example chosen from computers, mobile phones, set-top boxes (for example of the "box" type connected to ADSL and providing telephone, internet and television) and PDAs.
  • a peer keeps a copy of its important data in the disk spaces of the memory terminals of the other nodes of the network 1, in order to recover them in case of loss of its local data.
  • a mobile or fixed operator, an access provider, or a new P2P service provider may charge the proposed backup and restore service to the peer.
  • the automatic recovery process can include all files already backed up in network 1 or be restricted to files of only one node;
  • the network 1 may comprise, as represented in FIG. 12, a central trusted entity 5 in periodic communication with all the nodes 3 of the network 1 and arranged to:
  • a credit or debit billing system can be provided depending on whether the resources provided are more or less important than the resources consumed;
  • Access to the source file may be controlled by a mobile or fixed operator, an access provider or a P2P service provider.
  • the access control may consist, for example, of an AAA control device (Authentication, Authorization,
  • This particular node can then be responsible for controlling the good behavior of the nodes during the various backup operations but also in the duration.
  • the invention is not limited to backing up and / or restoring files backed up in a peer-to-peer network.
  • a peer-to-peer network of at least one file, for example a multimedia or musical content, for example one or more films or music files, game software, professional or other, stored in the memory of at least one terminal of the network.
  • FIG. 13 shows such an example of application of the invention.
  • a node 6 of the network 1, hereinafter called server node acts as a server distributing films, multimedia content for example, other nodes 8 of the network 1, hereinafter called clients.
  • clients nodes 8 of the network 1, hereinafter called clients.
  • Unlike a centralized video on demand server it is not thanks to the invention not necessary to use a DNS name or a large storage space.
  • the server node 6 firstly stores in the memories of the terminals 3 of the network all the films 13 X to be shared with the clients of the network 1.
  • the server node 6 calculates from a secret the location key and the encryption key allowing access to the source fragment 9 listing all the 13i films saved then creates and saves its source fragment in the memory of n ' Any terminal of the network 1.
  • the server node 6 then transmits the secret allowing access to the source fragment to any client 8 of the network 1 having satisfied a predefined condition being for example the subscription to a subscription.
  • the dissemination of the secret allowing access to the source fragment can take several forms.
  • a client 8 can retrieve and decrypt the source fragment 9 of the server node 6 and thus determine the list of films that are available. Moreover, from the information contained in this source fragment, it can recover any movie H 1 already saved by the server node in the network 1.
  • the server-node 6 can save it in the network 1 and then update its source fragment 9. By recovering the new version of this source fragment, a client 8 can determine the new list of films offered by the server node 6.
  • the server node 6 can, at any time, remove films from the network 1, for example in order to free disk space in the memories of the terminals 3 to save new movies.
  • the invention makes it possible to have an accessible service even if the server node 6 is inaccessible since all the necessary information is saved and distributed on the various nodes of the P2P network.
  • the secret allowing access to the source fragment 9 can be distributed to the clients 8 in several forms:
  • the same character string is communicated to the customers. This string is to be entered in the access software to the data distribution application.
  • a secret such as a private key
  • a protected physical medium for example an electronic chip or a USB key.
  • a custom client-dependent secret being determined according to certain characteristics of this client, for example the MAC address of the terminal that it uses.
  • the user downloads a client software to which he must enter the personalized secret.
  • the software can then calculate the secret allowing access to the source fragment according to this personalized secret.
  • the custom secret can still be determined using other characteristics of the customer, such as his subscriber number when he has subscribed to an operator.
  • the communication of the secret allowing access to the source fragment or, where appropriate, the personalized secret can take the following forms:
  • the client software can provide a serial number or a client name so that the server controls the dissemination and personalization of the secret
  • the file to be broadcast is a file relating to an advertisement or of an informative nature and the server node 6 can broadcast the secret to all the clients 8 of the network 1 having made the request.
  • the modification rights of the source fragment can be reserved to the server node 6 to prevent a client to whom the secret was revealed can not modify the saved contents.
  • This control of these rights of modification of the source fragment can be ensured by a centralized server in which are memorized all the source fragments of the network, and which grants the rights of modification only to the node-server 6 and gives the right only to clients 8.
  • the invention enables the sharing of files between the nodes of the network 1 by the knowledge of a source fragment 9.
  • the principle is identical to the principle of broadcasting a file by a server node 6 to a client 8 described above, except that the modification rights of the source fragment are open to all the nodes of the network.
  • the same services are possible, namely the secret access control of the source fragment 9, the updates of the source fragment 9, and the management of the different versions of the saved files 13 L
  • the invention can also allow the creation of a root fragment for locating and decrypting a plurality of source fragments 9 saved in the network 1.
  • the root fragment 7 makes it possible to locate and decrypting first source fragments 9a, the latter making it possible to locate and to decipher second source fragments 9b which are similar to the source fragments described with reference to the preceding figures.
  • access to each source fragment 9a or 9b is conditioned by the knowledge of a secret according to the examples described above. The secret is different from a first source fragment 9a to another, as well as from a second source fragment 9b to the other.
  • access to a single source fragment only allows the recovery of a subset of files. Only the access to the root fragment 7, conditioned for example by the knowledge of a secret making it possible to calculate keys to locate and decipher the root fragment, can allow the access to all the source fragments and the complete recovery of the files saved in the network 1.
  • the first source fragment 9ai contains keys for locating and decrypting the second source fragments 9bi, 9b 2 and 9b3, which allows to locate and decrypt the fragments FBL 1Oi to IO5 and IO7, and therefore access to the files 13i to 13s and 13 7 .
  • the invention can allow the peer having saved the files whose restoration is allowed through the access to the root fragment 7 to broadcast only a subset of files to a client of the network. If this client can, according to the example of FIG. 14, access only the second source fragment 9bi, it can only recover the fragments FBL 1O1 to IO3 and consequently only recover the files 13i to 133-
  • the peer may decide to share only a subset of files that it has backed up with other nodes in the network.
  • the peer can choose to share only the 13s and 13 7 files with one or more nodes of the network by sending them the secret allowing them to access only the second source fragment% 3 .
  • the invention also makes it possible to optimize the disk space volume of the memory of the terminals 3i by allowing several first source fragments 9a to point to one and the same second source fragment 9b, or even to several same second source fragments. 9b. In the same way, several second source fragments 9b can point to the same FBL fragment 10, or even to several same FBL fragments.
  • FIG. 15 shows an example of application of the invention in which two root fragments 1 1 and 7 2 associated with two different pairs point to the same source fragment 9 0 .
  • This source fragment 9o makes it possible, for example, to access all the files shared between the two peers.
  • each of the peer having access to the root fragment 1 ⁇ and the one having access to the root fragment 7 2 can be considered as the owner of the source fragment% and the files to which access is thus allowed, although these files are not saved. only once in the network.
  • the peer having saved the files whose access is allowed by the root file does not need to retain the secrets allowing access to the different source fragments or, when the source fragments are hierarchized into first and second source fragments, the secrets allowing access to these different source fragments, but only that of the root fragment, the latter advantageously containing the secrets allowing access to the source fragments.
  • a server node 6 wishes to allow a client to access all the files it has saved in the network, it is sufficient to communicate to it the secret permitting access to the root fragment 7, in this way it will be able to obtain the list of the first source fragments 9a, allowing themselves access to the second source fragments 9b.
  • FIG. 16 shows an example of a method for distributing files saved within different source fragments 9.
  • a source fragment 9 is associated for each type of backup file.
  • the source fragment 9 is for example only related to files containing photos, which enables the peer to restrict its automatic restoration to all of his photos that have been saved in the network 1.
  • the files saved are grouped according to their contents.
  • a server node offering video films can associate each category of films (cultural, sport, ...) with a source fragment 9. Subsequently, a customer can subscribe to a particular category of films by asking the secret allowing access to the source fragment 9.
  • the files saved are grouped according to the access rights by the nodes of the network to the files saved. For example, private files are associated with a source fragment whose secret may never be transmitted to the other nodes of the network, and we associate with the public files another source fragment whose secret can be transmitted to all the nodes of the network.
  • the invention can make it possible to group the files saved in a database of multi-criteria source fragments, the number of source fragments and hierarchy of source fragments, ie first, second ... nth source fragments increasing with the number of criteria.

Abstract

The present invention relates to a method of saving at least one file recorded by a peer in the memories of terminals of a plurality of nodes of a peer-to-peer network (1), in which: this peer is permitted to select a list of files to be saved; for each file, several data fragments (FB) and a description fragment (FBL) cataloguing the fragments FB are created; for each description fragment FBL, a key for locating the fragment and a key for encrypting this fragment FBL are generated; the fragments FB and the fragments FBL are saved in the terminals of a peer-to-peer network; at least one protected-access source fragment (9) making it possible to locate and to decrypt at least part of the fragments FBL is generated; and the source fragment (9) is saved in the memory of at least one terminal of the network.

Description

Procédé de sauvegarde/restauration de fichiers dans un réseau pair à pair Method for backing up / restoring files in a peer-to-peer network
La présente invention a pour objet un procédé de sauvegarde/restauration de fichiers dans un réseau pair à pair (désigné par « P2P » par la suite). On désigne par « réseau P2P » un réseau composé d'un ensemble d'entités appelées pairs, interconnectées entre elles. Chacune de ces entités peut jouer à la fois le rôle de serveur et de client et elle participe au service P2P proposé par l'offre d'une partie de ses ressources (disque dur, processeur, ...) au système.The subject of the present invention is a method for backing up / restoring files in a peer-to-peer network (hereinafter referred to as "P2P"). The term "P2P network" refers to a network composed of a set of entities called peers, interconnected with one another. Each of these entities can play both the role of server and client and it participates in the P2P service offered by the supply of some of its resources (hard disk, processor, ...) to the system.
L'invention s'applique plus particulièrement aux systèmes de sauvegarde d'informations dans des réseaux P2P reposant sur l'utilisation d'une table de hachage distribuée (DHT) et la fragmentation de fichiers.The invention applies more particularly to information backup systems in P2P networks based on the use of a distributed hash table (DHT) and fragmentation of files.
On désigne par « table de hachage distribuée » une structure de données qui associe pour chaque pair un identifiant unique qui est le résultat d'une fonction de hachage appliquée par exemple sur son adresse IP ou son nom de machine. De même, pour chaque ressource sauvegardée dans le réseau P2P, se trouve associée une clé unique de même longueur que les identifiants des pairs. Cette clé désignée dans la suite par « clé DHT » ou « CDHT » est calculée en appliquant une fonction de hachage sur un élément de la ressource, comme par exemples son nom ou son contenu. Par la suite, chaque ressource est sauvegardée dans le pair dont l'identifiant est le plus proche de sa clé, d'après une fonction de distance fixée. On connaît par les publications C. Batten, K. Barr, A.Saraf et S.TrepetinThe term "distributed hash table" denotes a data structure that associates for each peer a unique identifier that is the result of a hash function applied for example to its IP address or its machine name. Similarly, for each resource saved in the P2P network, there is associated a unique key of the same length as the peer identifiers. This key designated below by "DHT key" or "CDHT" is calculated by applying a hash function on an element of the resource, such as its name or content. Subsequently, each resource is saved in the peer whose identifier is closest to its key, according to a fixed distance function. C. Batten, K. Barr, A.Saraf and S.Trepetin are known from publications
« pStore : a secure peer-to-peer backup System » et M. Landers, H. Zhang et K.L. Tan « PeerStore : better performance by relaxing in peer-to-peer backup » des exemples de tels systèmes de sauvegarde."PStore: a secure peer-to-peer backup system" and Mr. Landers, H. Zhang and K.L. Tan "PeerStore: better performance by relaxing in peer-to-peer backup" examples of such backup systems.
Dans de tels systèmes, un pair fragmente chaque fichier en plusieurs fragments de données appelés FB (File Block), et génère, pour chacun de ces fichiers, un fragment supplémentaire appelé FBL (File Block List) qui décrit la liste des fragments FB composant le fichier et leur localisation dans le réseau P2P. Le fragment FBL contient aussi des informations supplémentaires permettant la récupération de n'importe quelle version du fichier. Ce fragment FBL est également sauvegardé dans le réseau P2P et sa localisation est identifiée par une clé DHT.In such systems, a peer fragments each file into several pieces of data called FB (File Block), and generates, for each of these files, an additional fragment called FBL (File Block List) that describes the list of FB fragments that make up the file. file and their location in the P2P network. The FBL fragment also contains additional information for recovering any version of the file. This FBL fragment is also saved in the P2P network and its location is identified by a DHT key.
Avec les systèmes pStore et PeerStore, il suffit de stocker pour chaque fichier son nom et son chemin pour pouvoir déterminer la clé DHT et la clé de déchiffrement du fragment FBL associées au fichier. A partir d'un fragment FBL, le système P2P en déduit toutes les clés DHT et les clés de chiffrement associées aux fragments FB du fichier ; il extrait alors les fragments de données d'un fichier du réseau P2P et reconstitue la totalité du fichier. On connaît également par le site internet www.dispairse.point6.net un autre système de sauvegarde dans un réseau P2P.With the pStore and PeerStore systems, simply store for each file its name and its path to be able to determine the DHT key and the decryption key. FBL fragment associated with the file. From a FBL fragment, the P2P system derives all the DHT keys and encryption keys associated with the FB fragments of the file; it then extracts the data fragments from a P2P network file and reconstructs the entire file. Also known by the website www.dispairse.point6.net another backup system in a P2P network.
Dans cet exemple, chaque fichier sauvegardé dans le réseau P2P est constitué d'un ensemble de fragments FB et d'un seul fragment FBL 10, comme illustré à la figure 1. Sur cette dernière, on a supposé que deux versions 20 et 21 d'un même fichier sont sauvegardées. Le fragment FBL 10 définit pour chaque version du fichier et pour chaque fragment FB une clé permettant de localiser le fragment FB, dans l'exemple considéré une clé DHT (CDHT), et une clé permettant de déchiffrer le fragment FB (CC) et la longueur du fragment FB.In this example, each file saved in the P2P network consists of a set of fragments FB and a single fragment FBL 10, as shown in Figure 1. On the latter, it was assumed that two versions 20 and 21 d same file are saved. The fragment FBL defines for each version of the file and for each fragment FB a key for locating the fragment FB, in the example considered a DHT key (CDHT), and a key for decrypting the fragment FB (CC) and the length of the FB fragment.
Avec les systèmes de sauvegarde connus, il est nécessaire pour restaurer un fichier de connaître la clé DHT permettant de localiser le fragment FBL, la clé permettant de déchiffrer ce fragment FBL afin de pouvoir récupérer n'importe quelle version du fichier. Ces deux clés sont retrouvées à partir du nom du fichier, son chemin et un secret relatif à l'utilisateur (mot de passe ou clé privée).With known backup systems, it is necessary to restore a file to know the DHT key to locate the FBL fragment, the key to decrypt this FBL fragment in order to recover any version of the file. These two keys are found from the file name, its path and a secret relative to the user (password or private key).
On a représenté à la figure 2 un procédé de restauration d'un fichier sauvegardé dans le réseau P2P avec les systèmes de sauvegarde connus. L'utilisateur doit, depuis un terminal 3, spécifier le nom et le chemin du fichier souhaité afin d'avoir accès au fragment FBL 10, ce fragment FBL 10 permettant l'accès à des fragments FB 11 permettant de reconstituer le fichier recherché 13. Avec de tels systèmes de sauvegarde, la restauration de N fichiers suppose N opérations identiques et répétées d'extraction de fragments FBL. On connaît encore par la publication L.P. Cox, CD. Muray et B.D. NobleFIG. 2 shows a method of restoring a file saved in the P2P network with the known backup systems. The user must, from a terminal 3, specify the name and the path of the desired file in order to have access to the fragment FBL 10, this fragment FBL 10 allowing access to fragments FB 11 making it possible to reconstitute the searched file 13. With such backup systems, restoring N files assumes N identical and repeated FBL fragment extraction operations. The publication L.P. Cox, CD is still known. Muray and B.D. Noble
« Pastiche : making backup cheap and easy » un autre système de sauvegarde définissant son propre système de fichiers et permettant la sauvegarde et la restauration automatique que d'une arborescence de fichiers. Ce système associe pour chaque fichier ou répertoire un fichier de métadonnées décrivant son contenu. Lors de la phase de restauration, il suffit de récupérer la métadonnée du dossier racine pour pouvoir par la suite récupérer toute l'arborescence du fichier. On connaît encore par la publication J. Cooley, C. Taylor et A. Peacock « ABS : the apportioned backup System » un système comportant une base de données locale, dupliquée elle même dans le réseau P2P, pour garder les informations nécessaires à la restauration des fichiers. Ainsi, lors de la phase de restauration, l'utilisateur accède à sa base de données locale ou la récupère entièrement à partir du réseau P2P afin de déterminer la liste des fragments de données nécessaires à la restauration d'un fichier."Pastiche: making backup cheap and easy" another backup system defining its own file system and allowing the automatic backup and recovery of a file tree. This system associates for each file or directory a metadata file describing its contents. During the restoration phase, all you have to do is recover the metadata from the root folder so that you can later recover the entire file tree. Also known by the publication J. Cooley, C. Taylor and A. Peacock "ABS: the apportioned backup system" a system comprising a local database, duplicated itself in the P2P network, to keep the information necessary for restoration files. Thus, during the restoration phase, the user accesses his local database or retrieves it entirely from the P2P network to determine the list of data fragments needed to restore a file.
Il existe un besoin pour perfectionner encore les procédés de sauvegarde et/ou de restauration sécurisée et automatique de fichiers personnels sauvegardés dans un réseau P2P. L'invention vise à répondre à ce besoin.There is a need to further improve the methods for backing up and / or recovering automatically and securely personal files saved in a P2P network. The invention aims to meet this need.
Selon l'un de ses aspects, l'invention a pour objet un procédé de sauvegarde d'au moins un fichier enregistré par un pair dans les mémoires de terminaux d'une pluralité de nœuds d'un réseau pair à pair, dans lequel :According to one of its aspects, the subject of the invention is a method for saving at least one file recorded by a peer in the terminal memories of a plurality of nodes of a peer-to-peer network, in which:
- on permet à ce pair de sélectionner un ou plusieurs fichiers à sauvegarder,- this peer is allowed to select one or more files to save,
- on crée pour chaque fichier plusieurs fragments de données (FB) et un fragment de description (FBL) répertoriant les fragments de données,- for each file, several data fragments (FB) and a description fragment (FBL) are created, listing the data fragments,
- on génère pour chaque fragment FBL une clé permettant de localiser le fragment FBL dans le réseau et une clé permettant de déchiffrer ce fragment, - on sauvegarde les fragments (FB) et les fragments (FBL) dans les mémoires de terminaux d'un réseau pair à pairfor each FBL fragment, a key for locating the FBL fragment in the network and a key for decrypting this fragment are generated; fragments (FB) and fragments (FBL) are saved in the terminal memories of a network; peer-to-peer
- on génère au moins un fragment source à accès protégé permettant de localiser et de déchiffrer au moins une partie des fragments FBL et,generating at least one protected access source fragment for locating and decrypting at least a portion of the FBL fragments and
- on sauvegarde le fragment source dans la mémoire d'au moins un terminal du réseau.the source fragment is stored in the memory of at least one terminal of the network.
Par « mémoire », il faut comprendre tout type de dispositif de stockage de données, par exemple disque dur, bande magnétique, disque optique, mémoires électroniques du type FLASH, entre autres.By "memory", it is necessary to understand any type of data storage device, for example hard disk, magnetic tape, optical disk, electronic memories of the FLASH type, among others.
Par « terminal », on désigne par exemple un appareil photo, une caméra, un téléphone portable, un smartphone, boîtier décodeur (par exemple de type « box » relié à l'ADSL et fournissant téléphone, internet et télévision), un ordinateur, un ordinateur portable, un réfrigérateur, un four, une alarme, un enregistreur vidéo, un serveur FTP, un serveur de base de données, un serveur de courrier électronique, une station de travail ou encore un assistant personnel numérique."Terminal" means for example a camera, a camera, a mobile phone, a smartphone, set-top box (for example of the "box" type connected to ADSL and providing telephone, internet and television), a computer, a laptop, a refrigerator, an oven, an alarm, a video recorder, an FTP server, a database server, an email server, a workstation or a digital personal assistant.
L'invention permet, grâce au fragment source, d'ajouter un niveau dans la hiérarchie des fragments FBL et FB de l'art antérieur. Le fragment source, en permettant de localiser et de déchiffrer au moins une partie des fragments de description de plusieurs fichiers, permet au pair la localisation et le déchiffrement de fragments de ces fichiers sauvegardés en une seule opération.The invention makes it possible, thanks to the source fragment, to add a level in the hierarchy of the fragments FBL and FB of the prior art. The source fragment, by making it possible to locate and decrypt at least a portion of the description fragments of several files, enables the par to locate and decrypt fragments of these files saved in a single operation.
Contrairement aux systèmes de l'art antérieur, le pair n'a plus besoin de mémoriser pour chaque fragment FBL la clé permettant de localiser ce dernier dans le réseau et/ou sa clé de déchiffrement.Unlike systems of the prior art, the peer no longer needs to memorize for each FBL fragment the key for locating the latter in the network and / or its decryption key.
L'invention permet, dès l'accès au fragment source, de pouvoir extraire en une seule fois des fichiers sauvegardés par lui dans le réseau P2P de façon automatique, sans avoir à demander un à un les fichiers qu'il souhaite extraire, ce qui peut s'avérer particulièrement pratique en cas de perte, soit par crash, soit par vol, du disque dur du terminal du pair.The invention makes it possible, as soon as the source fragment is accessed, to be able to extract at one time files it automatically backs up in the P2P network, without having to request one by one the files it wishes to extract, which can be particularly useful in case of loss, either by crash or by theft, of the hard disk of the peer terminal.
La restauration des fichiers sauvegardés ne dépendant que de l'accès au fragment source, elle peut être effectuée depuis n'importe quel terminal du réseau, et non seulement depuis celui depuis lequel les fichiers à restaurer ont été sauvegardés.The restoration of the backed up files depends only on the access to the source fragment, it can be done from any terminal of the network, and not only since the one from which the files to be restored have been saved.
Lors de la génération du fragment source, une clé permettant de chiffrer le fragment source et une clé permettant de localiser le fragment source peuvent être calculées.When generating the source fragment, a key for encrypting the source fragment and a key for locating the source fragment can be computed.
Le fragment source peut être sauvegardé dans la mémoire d'un ou plusieurs nœuds du réseau, voire dans la mémoire d'un élément sûr du réseau, comme un serveur de sauvegarde mis en place par un opérateur. Le fragment source peut contenir directement les clés permettant de localiser et de déchiffrer le ou les fragments FBL, ce qui peut permettre de simplifier encore le déchiffrement et la localisation de ce ou ces fragments à partir du fragment source.The source fragment can be saved in the memory of one or more nodes of the network, or even in the memory of a secure element of the network, such as a backup server set up by an operator. The source fragment may directly contain the keys for locating and decrypting the FBL fragment (s), which may further simplify the decryption and localization of this fragment or fragments from the source fragment.
La clé permettant de localiser le fragment source peut être calculée par hachage d'au moins un secret associé au pair. Cette clé est par exemple une clé DHT. Cette clé étant dépendante d'un secret de l'utilisateur, par exemple d'un mot de passe, d'une clé privée ou d'un code secret associé à un terminal du pair, par exemple un code PIN d'un téléphone portable, l'invention peut permettre d'empêcher tout nœud qui ne connaîtrait pas ce secret d'accéder au fragment source, permettant ainsi de restreindre l'accès au fragment source au pair ayant sauvegardé les fichiers.The key for locating the source fragment can be calculated by hashing at least one peer associated with the peer. This key is for example a DHT key. This key being dependent on a secret of the user, for example a password, a private key or a secret code associated with a terminal of the peer, for example a PIN code of a mobile phone , the invention may make it possible to prevent any node that does not know this secret from accessing the source fragment, thus making it possible to restrict access to the source fragment at the peer that has saved the files.
La clé permettant de chiffrer le fragment source peut être calculée en fonction d'au moins un secret associé au pair, par exemple en fonction d'un mot de passe, d'une clé privée ou d'un code secret. La fonction de calcul permet par exemple la construction d'une clé de chiffrement symétrique à partir d'une chaîne de caractères par redistribution de bits, suppression ou ajout d'autres bits.The key for encrypting the source fragment can be calculated according to at least one secret associated with the peer, for example according to a password, a private key or a secret code. The calculation function makes it possible, for example, to construct a symmetric encryption key from a string of characters by redistributing bits, deleting or adding other bits.
L'emploi d'une telle clé pour chiffrer le fragment source peut permettre d'empêcher qu'un autre nœud, par exemple par une technique de scanning de serveurs de sauvegarde du réseau, ne puisse lire et interpréter le fragment source pour déterminer la liste des fichiers sauvegardés et/ou savoir quel en est le propriétaire.The use of such a key to encrypt the source fragment may make it possible to prevent another node, for example by a network backup server scanning technique, from reading and interpreting the source fragment to determine the list. backed up files and / or know who owns them.
Le secret à partir duquel est calculée la clé permettant de chiffrer le fragment source est par exemple le même que celui à partir duquel est calculée la clé permettant de localiser ce fragment source.The secret from which is calculated the key for encrypting the source fragment is for example the same as that from which is calculated the key to locate this source fragment.
L'invention, grâce à l'emploi de clés pour localiser et chiffrer le fragment source telles qu'évoquées ci-dessus, permet de conditionner l'accès au fragment source et par conséquent la détermination de la liste des fichiers qui ont été sauvegardés dans le réseau P2P et/ou leur récupération à la connaissance par un nœud de la clé permettant de déchiffrer le fragment source et de la clé permettant de le localiser. L'invention peut permettre ainsi de respecter la vie privée des titulaires des nœuds du réseau.The invention, by using keys to locate and encrypt the source fragment as mentioned above, makes it possible to condition the access to the source fragment and consequently the determination of the list of files that have been saved in the P2P network and / or their recovery to the knowledge by a node of the key for decrypting the source fragment and the key to locate it. The invention can thus make it possible to respect the privacy of the holders of the nodes of the network.
Le procédé peut comporter une étape permettant au pair de sélectionner au moins une propriété à sauvegarder par fichier enregistré dans la mémoire d'un terminal du réseau. Ces propriétés à sauvegarder sont par exemple les droits d'accès d'utilisateurs locaux, la date de création du fichier ou le chemin d'accès à ce fichier.The method may comprise a step allowing the peer to select at least one property to be saved by file stored in the memory of a terminal of the network. These properties to be backed up are, for example, the access rights of local users, the creation date of the file or the path to this file.
La somme de contrôle du fichier (checksum) permettant de vérifier l'intégrité du fichier après qu'il a été restauré peut également être sauvegardée, ce qui peut permettre de détecter des erreurs lors de la restauration du fichier, ces erreurs pouvant être causées par une collision entre des fragments FB. Le procédé peut comporter l'étape selon laquelle on permet au pair de modifier un fragment source déjà généré pour prendre en compte : la sauvegarde d'un nouveau fichier enregistré dans la mémoire d'un terminal du réseau et/ou la suppression d'un fichier sauvegardéThe checksum of the file (checksum) to check the integrity of the file after it has been restored can also be saved, which can detect errors during the file restore, these errors can be caused by a collision between FB fragments. The method may comprise the step of allowing the peer to modify a source fragment already generated to take into account: the backup of a new file saved in the memory of a network terminal and / or the deletion of a saved file
Selon un exemple de mise en œuvre de l'invention, le fragment source permet de localiser et de déchiffrer tous les fragments FBL générés, ce qui peut permettre à un pair de n'avoir qu'un seul fragment source à partir duquel il peut, s'il le souhaite, procéder à la restauration de tous les fichiers qu'il a sauvegardés.According to an exemplary implementation of the invention, the source fragment makes it possible to locate and to decipher all the generated FBL fragments, which can allow a peer to have only one source fragment from which it can, if he wishes, restore all the files he has saved.
Selon un autre exemple de mise en œuvre de l'invention, plusieurs fragments sources peuvent être générés, chaque fragment source permettant de localiser et de déchiffrer une partie des fragments FBL associés aux fichiers sauvegardés, ce qui peut permettre d'associer un fragment source par groupe de fichiers sauvegardés.According to another exemplary implementation of the invention, several source fragments can be generated, each source fragment making it possible to locate and to decipher part of the FBL fragments associated with the files saved, which can make it possible to associate a source fragment with group of files saved.
Une clé permettant de localiser ou de chiffrer un fragment source peut être calculée de la même façon que définie précédemment.A key for locating or encrypting a source fragment can be calculated in the same way as previously defined.
Les clés permettant de localiser et de chiffrer les fragments source peuvent être différentes d'un fragment source à l'autre, ce qui peut permettre d'éviter qu'un nœud ayant connaissance des clés relatives à un fragment source puisse avoir accès aux autres fragments sources, mais aussi les collisions entre fragments source.The keys for locating and encrypting the source fragments may be different from one source fragment to another, which may prevent a node that knows the keys of a source fragment from gaining access to the other fragments. sources, but also collisions between source fragments.
Les fichiers peuvent être regroupés dans un fragment source particulier selon leur type, leur contenu ou les droits d'accès y étant associés.Files can be grouped into a particular source fragment depending on their type, content, or access rights.
Des types de fichiers selon l'invention sont par exemple les photos, les vidéos, les enregistrements sonores ou encore les textes.File types according to the invention are, for example, photos, videos, sound recordings or texts.
Toujours selon cet exemple de mise en œuvre de l'invention, un fragment racine permettant de localiser et de déchiffrer les fragments sources peut être généré, ce fragment racine pouvant être sauvegardé dans la mémoire d'au moins un terminal du réseau P2P. L'invention a encore pour objet, selon un autre de ses aspects un procédé de restauration d'au moins un fichier sauvegardé dans les mémoires de terminaux d'un réseau pair à pair sous la forme de fragments de données (FB) auxquels est associé un fragment de description (FBL) répertoriant les fragments de données, ce fragment FBL étant localisable et déchiffrable par un fragment source à accès protégé sauvegardé dans la mémoire d'un terminal du réseau, procédé dans lequel : un pair accède au fragment source depuis un terminal quelconque du réseau pour déterminer la liste des fichiers sauvegardés dans le réseau, le pair sélectionne au moins un fichier à restaurer dans la liste, le pair lance le processus de restauration automatique du ou des fichiers sélectionnés depuis ce terminal.Still according to this exemplary implementation of the invention, a root fragment for locating and decrypting the source fragments can be generated, this root fragment can be saved in the memory of at least one P2P network terminal. Another object of the invention is, according to another of its aspects, a method of restoring at least one file saved in the terminal memories of a peer-to-peer network in the form of data fragments (FB) to which is associated a fragment of description (FBL) listing the fragments of data, this fragment FBL being localizable and decryptable by a protected access source fragment saved in the memory of a terminal of the network, in which process: a peer accesses the source fragment from any terminal in the network to determine the list of files backed up in the network, the peer selects at least one file to be restored from the list, the peer initiates the process of automatically restoring the selected file (s) from this terminal.
Le procédé peut comporter une étape de mise à jour de la liste des fichiers sauvegardés, pour prendre par exemple en compte la sauvegarde par le pair d'un nouveau fichier dans le réseau ou la suppression d'un fichier dans le réseauThe method may comprise a step of updating the list of the files saved, for example to take into account the peer backup of a new file in the network or the deletion of a file in the network.
Le procédé peut comporter une étape de test de disponibilité et d'intégrité sur des fichiers de la liste. Ces tests peuvent être effectués de manière périodique pour s'assurer que le procédé de restauration est opérationnel et peuvent ne concerner seulement qu'un fichier, voire plusieurs, voire encore la totalité des fichiers de la liste.The method may include a step of testing availability and integrity on files in the list. These tests can be performed periodically to ensure that the restoration process is operational and may concern only one file, or even more or even all of the files in the list.
L'invention a encore pour objet, selon un autre de ses aspects, un procédé de diffusion sélective d'au moins un fichier enregistré dans les mémoires de terminaux d'un réseau pair à pair, ce fichier étant fragmenté en plusieurs fragments de données (FB) auxquels est associé un fragment de description (FBL) répertoriant les fragments FB, ce fragment FBL étant localisable et déchiffrable par un fragment source à accès protégé sauvegardé dans la mémoire d'un terminal du réseau, procédé dans lequel on permet à un client du réseau recherchant le fichier enregistré et ayant satisfait une condition prédéfinie l'accès au fragment source et la récupération du fichier recherché.Another aspect of the invention is a method of selective broadcasting of at least one file recorded in the terminal memories of a peer-to-peer network, this file being fragmented into several pieces of data ( FB) associated with a description fragment (FBL) listing the FB fragments, this FBL fragment being localizable and decryptable by a protected access source fragment saved in the memory of a terminal of the network, a method in which a client is allowed of the network searching for the recorded file and having satisfied a predefined condition the access to the source fragment and the recovery of the searched file.
L'accès au fichier recherché peut être permis en fournissant au client du réseau une clé permettant de localiser le fragment source et/ou une clé permettant de déchiffrer le fragment source. La clé permettant de localiser et/ou la clé permettant de déchiffrer le fragment source est par exemple propre à chaque client, ce qui peut permettre en attribuant des clés personnelles à chaque client de limiter les risques d'accès frauduleux au fichier.Access to the searched file may be enabled by providing the network client with a key for locating the source fragment and / or a key for decrypting the source fragment. The key to locate and / or the key to decrypt the source fragment is for example specific to each client, which can allow by assigning personal keys to each client to limit the risk of fraudulent access to the file.
Le procédé peut comporter une étape de test de disponibilité et d'intégrité sur le fichier. Ce test peut être effectué de manière périodique pour s'assurer que le procédé de diffusion est opérationnel.The method may include a step of testing availability and integrity on the file. This test can be performed periodically to ensure that the broadcast process is operational.
L'invention a encore pour objet, selon un autre de ses aspects un procédé de sauvegarde d'au moins un fichier enregistré par un pair dans les mémoires de terminaux d'une pluralité de nœuds d'un réseau pair à pair, chaque fichier étant fragmenté en plusieurs fragments de données (FB) auxquels est associé un fragment de description (FBL) répertoriant les fragments de données, procédé dans lequel : - on génère au moins un fragment source permettant de localiser et de déchiffrer au moins une partie des fragments FBL,Another subject of the invention is, according to another of its aspects, a method for saving at least one file recorded by a peer in the terminal memories of a plurality of nodes of a peer-to-peer network, each file being fragmented into a plurality of data fragments (FB) to which is associated a description fragment (FBL) listing the data fragments, in which process: least one source fragment for locating and decrypting at least a portion of the FBL fragments,
- on génère, pour ce fragment source, une clé permettant de localiser et une clé permettant de chiffrer le fragment source en fonction d'un secret de l'utilisateur, etgenerating for this source fragment a key for locating and a key for encrypting the source fragment according to a secret of the user, and
- on sauvegarde le fragment source dans la mémoire d'au moins un terminal du réseau.the source fragment is stored in the memory of at least one terminal of the network.
Le réseau P2P peut être un réseau privé domotique.The P2P network can be a home automation private network.
En variante, le réseau P2P est un réseau privé d'entreprise, distribué ou non sur plusieurs sites géo graphiquement distants.In a variant, the P2P network is an enterprise private network, distributed or not on several geographically distant sites.
Dans une autre variante, le réseau P2P utilise le réseau internet. L'invention pourra être mieux comprise à la lecture de la description qui va suivre, d'exemples non limitatifs de celle-ci, et à l'examen du dessin annexé, sur lequel :In another variant, the P2P network uses the Internet network. The invention will be better understood on reading the following description, of non-limiting examples thereof, and on examining the appended drawing, in which:
- les figures 1 et 2 illustrent un exemple de procédé de sauvegarde et de restauration de fichiers déjà connu,FIGS. 1 and 2 illustrate an example of a method for backing up and restoring already known files,
- les figures 3 et 4 illustrent des systèmes de sauvegarde et de restauration de fichiers selon l'invention,FIGS. 3 and 4 illustrate files backup and restoration systems according to the invention,
- la figure 5 représente de façon schématique un exemple de fragment source selon l'invention,FIG. 5 schematically represents an example of source fragment according to the invention,
- les figures 6 et 7 illustrent un exemple de procédé de sauvegarde de fichier et un exemple de restauration de fichier selon l'invention, et - les figures 8 à 16 représentent des exemples d'application de l'invention.FIGS. 6 and 7 illustrate an example of a file saving method and an example of file restoration according to the invention, and FIGS. 8 to 16 show examples of application of the invention.
On a représenté aux figures 3 et 4 un exemple de sauvegarde par un pair de fichiers 13X selon l'invention. Chaque fichier 13X est par exemple fragmenté en plusieurs fragments de données (FB) 11 auxquels est associé un fragment de description (FBL) 10 répertoriant les fragments FB, similairement aux systèmes connus décrits ci-dessus. Comme on peut le voir sur la figure 4, les fragments FBL 1O1 et FB 1 Ij peuvent être enregistrés dans les mémoires de terminaux 3 constituant un réseau pair à pair 1 , ces terminaux pouvant être différents de celui du pair ayant enregistré les fichiers 13^ Bien que les terminaux 3 soient représentés sous la forme d'ordinateurs à la figure 4, l'invention n'est bien sûr pas limitée à l'emploi de tels terminaux, comme on le verra par la suite.FIGS. 3 and 4 show an example of backup by a pair of 13 X files according to the invention. For example, each X file is fragmented into several data fragments (FB) 11 to which is associated a description fragment (FBL) listing the FB fragments, similar to the known systems described above. As can be seen in FIG. 4, the fragments FBL 1O 1 and FB 1 I j can be recorded in the memories of terminals 3 constituting a peer-to-peer network 1, these terminals possibly being different from that of the peer having recorded the files. 13 ^ Although the terminals 3 are represented in the form of computers in FIG. 4, the invention is of course not limited to the use of such terminals, as will be seen later.
Selon l'invention, au moins un fragment source 9 est enregistré dans la mémoire d'un terminal 3 du réseau 1, ce terminal étant dans l'exemple décrit différent du terminal du pair ayant enregistré les fichiers 13^According to the invention, at least one source fragment 9 is stored in the memory of a terminal 3 of the network 1, this terminal being in the example described different from the terminal of the peer having recorded the files 13 ^
Pour des raisons de sécurité, le fragment source 9 peut être enregistré dans la mémoire de plusieurs nœuds distincts et/ou être enregistré dans un serveur de sauvegarde non représenté. Un tel serveur de sauvegarde peut être mis en place par un opérateur ou une autre entité de confiance.For security reasons, the source fragment 9 may be stored in the memory of several distinct nodes and / or be recorded in a not shown backup server. Such a backup server can be set up by an operator or other trusted entity.
Comme on peut le voir à la figure 3, l'invention permet d'ajouter un niveau de hiérarchie aux fragments FBL 1O1 et FB Hj grâce au fragment source 9 qui permet la localisation et le déchiffrement de l'ensemble des fragments FBL 1O1 et, par l'intermédiaire de ce dernier, la localisation de tous les fragments FB 1 Ij constituant un fichier 13^ L'invention permet, selon cet exemple, à l'utilisateur de ne plus nécessairement avoir à mémoriser un élément d'information lui permettant de retrouver la clé DHT et/ou la clé de chiffrement de l'un de ses fragments FBL.As can be seen in FIG. 3, the invention makes it possible to add a level of hierarchy to the fragments FBL 1O 1 and FB H j thanks to the source fragment 9 which allows the localization and the decryption of all the fragments FBL 1O 1 and, via the latter, the location of all fragments FB 1 I j constituting a file 13 ^ the invention allows, in this example, the user no longer necessarily have to memorize an element of information allowing him to find the DHT key and / or the encryption key of one of its fragments FBL.
On a représenté à la figure 5 un exemple de fragment source 9. Ce fragment contient différents champs. Un premier champ 30 attribue un identifiant/numéro au fichier 13i. Un deuxième champ 31 répertorie le nom du fichier 13X enregistré. Un troisième champ 32 correspond à une clé, par exemple une clé DHT, permettant de localiser le fragment FBL 1O1 associé au fichier 13X FIG. 5 shows an example of source fragment 9. This fragment contains different fields. A first field 30 assigns an identifier / number to the file 13i. A second field 31 lists the name of the recorded X file. A third field 32 corresponds to a key, for example a DHT key, making it possible to locate the fragment FBL 1O 1 associated with the file 13 X
Un quatrième champ 33 correspond à une clé permettant de déchiffrer le fragment FBL 1O1 associé au fichier 13^ L'accès au fragment source 9 est protégé par deux clés, une clé pour permettre la localisation du fragment source 9 dans le réseau 1 , par exemple une clé DHT, et une clé pour permettre son chiffrement dans le cas de la sauvegarde de fichier ou son déchiffrement dans le cas de la restauration de fichier ou de la diffusion de fichier.A fourth field 33 corresponds to a key making it possible to decrypt the fragment FBL 1O 1 associated with the file 13 ^ Access to the source fragment 9 is protected by two keys, a key to allow the location of the source fragment 9 in the network 1, by example a DHT key, and a key to allow its encryption in the case of file backup or decryption in the case of file restoration or file distribution.
Ces clés sont déterminées dans l'exemple décrit à partir d'un secret uniquement connu de l'utilisateur et qui peut prendre la forme d'un mot de passe, d'une clé privée, d'un code secret comme par exemple un code PIN d'un terminal, par exemple un téléphone portable ou un assistant personnel numérique appartenant au pair. La clé DHT est par exemple déterminée par hachage du mot de passe ou de la clé privée ou du code PIN.These keys are determined in the example described from a secret only known to the user and which can take the form of a password, a private key, a secret code such as a code PIN of a terminal, for example a mobile phone or a personal digital assistant belonging to the peer. The DHT key is for example determined by hashing the password or the private key or the PIN code.
La clé permettant chiffrer ou de déchiffrer le fragment source 9 est par exemple calculée en fonction du mot de passe, de la clé privée ou encore d'un code secret. Cette fonction de calcul permet par exemple la construction d'une clé de chiffrement ou de déchiffrement symétrique à partir d'une chaîne de caractères par redistribution des ces bits, suppression ou ajout d'autres bits.The key for encrypting or decrypting the source fragment 9 is for example calculated according to the password, the private key or a secret code. This calculation function makes it possible, for example, to construct a symmetric encryption or decryption key from a string of characters by redistributing these bits, deleting or adding other bits.
Les différents fragments sauvegardés dans le réseau 1 relatifs à la sauvegarde d'un fichier 13X sont par conséquent chiffrés : les fragments de données FB 11 en utilisant, par exemple, la méthode « Convergent Encryption » telle que divulguée dans la publication J.R. Douceur, A. Adya, WJ. Bolosky,D. Simon et M. Theimer « Reclaiming space from duplicate files in a serverless distributed file System », les fragments FBL 1O1 en utilisant la clé de chiffrement symétrique sauvegardée dans le fragment source 9, et le fragment source 9 en utilisant une clé calculée à partir du secret du pair. Dans le cas où un nœud veut accéder, sans permission, à un fichier sauvegardéThe various fragments saved in the network 1 relating to the backup of a file 13 X are therefore encrypted: the data fragments FB 11 using, for example, the method "Convergent Encryption" as disclosed in the publication JR Sweetness, A. Adya, WJ. Bolosky, D. Simon and M. Theimer "Reclaiming space from duplicate files in a serverless distributed file system", the fragments FBL 1O 1 using the symmetric encryption key saved in the source fragment 9, and the source fragment 9 using a key calculated from of the peer's secret. In case a node wants to access, without permission, a saved file
13l5 il doit tout d'abord déterminer les clés permettant l'accès au fragment source 9. Ces clés étant, comme mentionné ci-dessus, déterminées à partir d'un secret de l'utilisateur, aucun nœud non autorisé ne peut accéder au fragment source 9 et par conséquent aux fichiers sauvegardés 13X Ainsi, aucun nœud non autorisé ne peut ni accéder à un fichier sans l'autorisation de son propriétaire, ni déterminer la liste des fichiers sauvegardés dans le réseau 1.13 l5 it must first determine the keys allowing access to the source fragment 9. These keys being, as mentioned above, determined from a secret of the user, no unauthorized node can access the source fragment 9 and therefore the saved files 13 X Thus, no unauthorized node can not access a file without the authorization of its owner, nor determine the list of files saved in the network 1.
La sauvegarde de toutes les données associées au pair, aussi bien les données utiles que les métadonnées, dans le réseau 1, permet de garantir que le processus de restauration de ces fichiers peut démarrer, même sans disque dur ou en cas de crash du disque dur tout entier, à partir de n'importe quel terminal 3 connecté au réseau 1.Saving all the data associated with the peer, both the useful data and the metadata, in the network 1, ensures that the process of restoring these files can start, even without a hard disk or in case of hard disk crash entirely, from any terminal 3 connected to the network 1.
Le fragment source 9 peut encore comporter, comme représenté à la figure 5, d'autres champs 34 contenant des propriétés du fichier 13X sauvegardé. Ces propriétés concernent par exemple les droits d'accès d'utilisateurs locaux, la date de création du fichier ou encore le chemin du fichier.The source fragment 9 may further comprise, as shown in FIG. 5, other fields 34 containing properties of the saved file 13 X. These properties concern for example the access rights of local users, the creation date of the file or the file path.
Le champ 34 peut également contenir un checksum permettant de vérifier l'intégrité du fichier entier après sa restauration. Ce contrôle permet de détecter les erreurs dues à une collision entre fragments FB, ces erreurs pouvant être considérées comme négligeables.Field 34 may also contain a checksum to check the integrity of the entire file after it is restored. This check detects errors due to a collision between FB fragments, these errors being considered negligible.
La méthode utilisée dans les systèmes de sauvegarde tels que pStore ouThe method used in backup systems such as pStore or
PeerStore consiste à vérifier séparément l'intégrité de chaque fragment FB. Cette vérification parcellaire de l'intégrité d'un fichier peut poser problème lorsqu'une collision entre fragments se produit, c'est-à-dire, si un autre fragment FB différent mais ayant la même valeur de clé DHT est stocké à la place d'un fragment de ce fichier. Aucune détection de la collision n'est possible dans le cas d'un contrôle parcellaire, mais le problème de collision peut être détecté si le contrôle d'intégrité global sur tout le fichier est réalisé par l'intermédiaire du fragment source 9.PeerStore consists of separately checking the integrity of each FB fragment. This parcel checking of the integrity of a file can be problematic when a collision between fragments occurs, that is, if another different FB fragment but having the same DHT key value is stored instead a fragment of this file. Collision detection is not possible in the case of parcel control, but the collision problem can be detected if the global integrity check on the entire file is performed through the source fragment 9.
L'invention permet au pair d'accéder au fragment source 9 à condition d'avoir communiqué son secret, à savoir son mot de passe, sa clé privée, son code secret ou encore son code PIN, sur la base duquel les clés permettant de localiser et de déchiffrer le fragment source 9 seront déterminées, puis de récupérer tous les fichiers qui ont été sauvegardés dans le réseau P2P.The invention enables the peer to access the source fragment 9 provided that it has communicated its secret, namely its password, its private key, its secret code or its PIN code, on the basis of which the keys allowing locate and decrypt the source fragment 9 will be determined, then recover all the files that have been saved in the P2P network.
La figure 6 représente un exemple de procédé de sauvegarde de fichiers dans un réseau 1 tel que représenté aux figures 3 et 4.FIG. 6 represents an exemplary method of saving files in a network 1 as represented in FIGS. 3 and 4.
A une première étape 100, le pair sélectionne la liste des fichiers qu'il souhaite sauvegarder dans le réseau 1. A l'étape 110, le pair sélectionne une ou plusieurs propriétés à sauvegarder, ces propriétés correspondant à celles mentionnées en rapport avec le champ 34 du fragment source 9.At a first step 100, the peer selects the list of files it wishes to save in the network 1. At step 110, the peer selects one or more properties to be saved, these properties corresponding to those mentioned in relation to the field 34 of the source fragment 9.
A l'étape 120, le pair spécifie le niveau d'importance des informations sauvegardées. A l'étape 130, les fragments FB Hj sont créés en appliquant les traitements de sécurité nécessaires et sauvegardés dans le réseau 1, et un fragment FBL 1O1 est associé pour chaque fichier 13X sauvegardé.In step 120, the peer specifies the importance level of the saved information. In step 130, the fragments FB H j are created by applying the necessary security processing and saved in the network 1, and a fragment FBL 1O 1 is associated for each 13 X file saved.
A l'étape 140, le pair génère pour chaque fragment FBL 1O1 une clé de localisation et une clé de chiffrement, déchiffre le fragment et le sauvegarde dans le réseau 1.In step 140, the peer generates for each fragment FBL 1O 1 a location key and an encryption key, decrypts the fragment and the backup in the network 1.
A l'étape 150, un fragment source 9 est généré avec calcul des clés permettant de localiser et de chiffrer ce fragment source 9. A l'étape 160, le pair sauvegarde ce fragment source 9 dans le réseau 1 dans la mémoire d'un ou plusieurs terminaux informatique 3 du réseau et/ou dans la mémoire d'un serveur de sauvegarde.In step 150, a source fragment 9 is generated with calculation of keys for locating and encrypting this source fragment 9. In step 160, the peer saves this source fragment 9 in the network 1 in the memory of one or more computer terminals 3 of the network and / or in the memory of a backup server.
On a représenté à la figure 7 un exemple de procédé de restauration par un pair d'un ou plusieurs fichiers sauvegardés selon l'invention, ce procédé de restauration pouvant être effectué depuis tout terminal 3 du réseau et non uniquement depuis le terminal avec lequel le pair a, par exemple, effectué le procédé représenté à la figure 6.FIG. 7 shows an example of a method for restoring by a peer one or more files saved according to the invention, this restoration method being able to be performed from any terminal 3 of the network and not only from the terminal with which the For example, par has performed the process shown in FIG.
A l'étape 200, l'utilisateur présente le secret qu'il a utilisé pour associer une clé de chiffrement et une clé de localisation à son fragment source 9. A l'étape 210, le pair récupère et déchiffre le fragment source 9.In step 200, the user presents the secret he used to associate an encryption key and a location key with his source fragment 9. In step 210, the peer retrieves and decrypts the source fragment 9.
A l'étape 220, le pair détermine la liste des fichiers 13X qu'il a sauvegardés dans le réseau 1. La visualisation de ces fichiers peut se faire sous la forme d'une liste plate de noms de fichiers, ou bien d'une arborescence mettant en évidence le chemin occupé à l'origine par chaque fichier sauvegardé. A l'étape 230, le pair sélectionne le nombre de fichiers qu'il souhaite restaurer, à savoir un, plusieurs ou la totalité des fichiers 13^In step 220, the peer determines the list of 13 X files it has saved in the network 1. The viewing of these files can be in the form of a flat list of file names, or a tree highlighting the path originally occupied by each saved file. In step 230, the peer selects the number of files it wishes to restore, namely one, several or all of the files 13 ^
A l'étape 240, la restauration automatique de ce ou de ces fichiers commence par la récupération de son fragment FBL 1O1 puis de ses fragments de données FB 1 Ij.In step 240, the automatic restoration of this or these files begins with the recovery of its fragment FBL 1O 1 and its data fragments FB 1 I j .
Un pair peut aussi récupérer son fragment source 9 pour prendre en compte la sauvegarde d'un nouveau fichier dans le réseau 1 et/ou la suppression d'un fichier du réseau 1 et/ou pour effectuer des tests de disponibilité et d'intégrité sur un ou plusieurs fichiers sauvegardés 13l5 de manière à s'assurer, périodiquement ou de façon contrôlée par l'utilisateur, que le procédé de sauvegarde est opérationnel.A peer can also recover its source fragment 9 to take into account the saving of a new file in the network 1 and / or the deletion of a file from the network 1 and / or to perform availability and integrity tests on one or more files saved 13 15 so as to ensure, periodically or in a controlled manner by the user, that the backup method is operational.
On va maintenant décrire en référence aux figures 8 à 16 plusieurs exemples d'applications de l'invention.Several examples of applications of the invention will now be described with reference to FIGS. 8 to 16.
On a représenté à la figure 8 un exemple d'application de l'invention à un réseau privé domotique 1.FIG. 8 shows an example of application of the invention to a home automation private network 1.
Ce réseau 1 comporte par exemple une pluralité d'appareils d'électroménagerThis network 1 comprises for example a plurality of appliances
« intelligents » et/ou d'appareils électroniques tels qu'un appareil photo, une caméra, un téléphone portable, un boîtier décodeur, un ordinateur, un réfrigérateur, un four, une alarme, un enregistreur vidéo, ces appareils comportant chacun une mémoire et correspondant à des terminaux informatique 3i au sens de l'invention. Tout ou partie de ces appareils peut communiquer par courants porteurs ou liaison non fïlaire, par exemple de type Bluetooth ou Wifï."Intelligent" and / or electronic devices such as a camera, a camera, a mobile phone, a set-top box, a computer, a refrigerator, an oven, an alarm, a video recorder, these devices each having a memory and corresponding to computer terminals 3i within the meaning of the invention. All or part of these devices can communicate by carrier or non-wireless link, for example Bluetooth or Wifi type.
En créant un réseau pair à pair 1 dont les nœuds sont constitués par ces différents appareils, un utilisateur peut créer son propre système de restauration de fichiers distribué. En effet, il peut garder une copie des fichiers importants d'un nœud, par exemple l'ordinateur 3i ou 32, sur les autres nœuds du réseau P2P afin de les récupérer en cas de perte des fichiers originaux due à la perte du disque dur du terminal 3i ou 32.By creating a peer-to-peer network 1 whose nodes are made up of these different devices, a user can create his own distributed file recovery system. Indeed, it can keep a copy of the important files of a node, for example the computer 3i or 3 2 , on the other nodes of the network P2P in order to recover them in case of loss of the original files due to the loss of the disk hard terminal 3i or 3 2 .
L'invention permet, selon cet exemple, de bénéficier d'un nouveau système de restauration gratuit, et normalement fiable, les nœuds étant sous l'entier contrôle de l'utilisateur.According to this example, the invention makes it possible to benefit from a new free and normally reliable restoration system, the nodes being under the entire control of the user.
Dans l'exemple décrit, les différents nœuds du réseau 1 peuvent partager le même fragment source, ce qui permet de récupérer grâce au fragment source n'importe quel fichier à partir de n'importe quel nœud, indépendamment du nœud depuis lequel le fichier a été enregistré. On a représenté à la figure 9 un autre exemple d'application de l'invention pour réaliser un système de restauration de fichiers dans un réseau privé d'entreprise 1, dont les serveurs, par exemple des serveurs FTP, des serveurs de base de données ou des serveurs de courrier électronique, et les stations de travail qui correspondent à des terminaux au sens de l'invention, constituent un réseau pair à pair. Dans cet exemple, les espaces disques libres des mémoires des différents terminaux 3 sont utilisés pour enregistrer des fichiers, permettant de dupliquer les données importantes d'un nœud sur les autres nœuds du réseau 1 afin de les restaurer en cas de perte des fichiers initiaux.In the example described, the different nodes of the network 1 can share the same source fragment, which makes it possible to recover, thanks to the source fragment, any file from any node, independently of the node from which the file has been registered. FIG. 9 shows another example of application of the invention to produce a system for restoring files in a corporate private network 1, including servers, for example FTP servers, database servers. or email servers, and workstations that correspond to terminals within the meaning of the invention, constitute a peer-to-peer network. In this example, the free disk spaces of the memories of the various terminals 3 are used to record files, making it possible to duplicate the important data of a node on the other nodes of the network 1 in order to restore them in case of loss of the initial files.
L'invention permet à l'entreprise de bénéficier d'un système de restauration de fichiers : gratuit, l'entreprise n'ayant pas besoin de réserver un serveur particulier pour dupliquer les données importantes de ses différents terminaux 3, fiable, tous les nœuds étant sous l'entier contrôle de l'entreprise et, sûr, les terminaux 3 étant dans cet exemple des serveurs et les stations de travail de l'entreprise, ces différentes machines étant toujours disponibles dans le réseau, de sorte que la sauvegarde et la restauration d'un fichier dans le réseau 1 peuvent être effectuées à tout moment. L'exemple de la figure 10 diffère de celui de la figure 9 par le fait que l'entreprise est distribuée sur plusieurs sites géographiquement distants dans lesquels des réseaux intranets locaux I1, I2 et I3 similaires au réseau décrit en référence à la figure 9 existent. Dans l'exemple de la figure 10, la communication entre des réseaux intranet locaux de deux sites géographiques distants est sécurisée en établissant un tunnel VPN 2 créé par l'un des protocoles suivants : L2TP (Layer Two Tunneling Protocol), IPsec (Internet Protocol Security) ou encore MPLS VPN.The invention allows the company to benefit from a file restoration system: free, the company does not need to reserve a particular server to duplicate the important data of its various terminals 3, reliable, all the nodes being under the entire control of the company and, of course, the terminals 3 being in this example servers and workstations of the company, these different machines being always available in the network, so that the backup and the Restoring a file in Network 1 can be done at any time. The example of FIG. 10 differs from that of FIG. 9 in that the enterprise is distributed on several geographically distant sites in which local intranets I 1 , I 2 and I 3 similar to the network described with reference to FIG. 9 exist. In the example of FIG. 10, communication between local intranet networks of two remote geographical sites is secured by establishing a VPN tunnel 2 created by one of the following protocols: Layer Two Tunneling Protocol (L2TP), IPsec (Internet Protocol) Security) or MPLS VPN.
L'invention, en permettant la sauvegarde de fichiers de nœuds d'un site géographique dans des mémoires de nœuds d'autres sites géographiques, permet la restauration de ces fichiers même pour le cas où le site géographique dans lequel est situé le terminal du nœud ayant sauvegardé les fichiers viendrait à disparaître dans sa totalité en raison par exemple d'un incendie, d'une catastrophe naturelle ou d'un attentat.The invention, by making it possible to save node files of a geographical site in memory of nodes of other geographical sites, allows the restoration of these files even in the case where the geographical site in which the terminal of the node is located having saved the files would disappear in its entirety due for example to a fire, a natural disaster or an attack.
Dans l'exemple de la figure 10, l'entreprise attribue, selon un premier mode de réalisation, à chaque site géographique un unique fragment source 9 permettant la restauration automatique de toutes les données importantes d'un site. Le secret permettant l'accès à ce fragment source n'est de préférence connu que par le responsable du site.In the example of FIG. 10, the company assigns, according to a first embodiment, to each geographic site a single source fragment 9 enabling the automatic restoration of all the important data of a site. The secret allowing access to this source fragment is preferably known only by the site manager.
Selon un deuxième mode de réalisation, l'entreprise attribue pour chaque service de chaque site géographique, par exemple le service financier ou commercial de chaque site géographique, un seul fragment source. Dans cet exemple, le fragment source permet la restauration automatique de toutes les données importantes d'un service et son secret n'est avantageusement connu que par le directeur du service.According to a second embodiment, the company allocates for each service of each geographical site, for example the financial or commercial service of each geographical site, a single source fragment. In this example, the source fragment allows the automatic restoration of all the important data of a service and its secret is advantageously known only by the director of the service.
Selon un troisième mode de réalisation, l'entreprise attribue à chaque terminal 3 un fragment source 9. Dans cet exemple, le fragment source 9 ne permet la restauration automatique que des données importantes d'un terminal particulier et son secret n'est avantageusement connu que du propriétaire de ce terminal.According to a third embodiment, the company assigns each terminal 3 a source fragment 9. In this example, the source fragment 9 only allows the automatic restoration of important data of a particular terminal and its secret is advantageously known. than the owner of this terminal.
On a représenté à la figure 11 un autre exemple d'application de l'invention.FIG. 11 shows another example of application of the invention.
Dans cet exemple le réseau pair à pair 1 est formé par des nœuds qui sont des terminaux 3 connectés à internet.In this example, the peer-to-peer network 1 is formed by nodes that are terminals 3 connected to the Internet.
Les terminaux 3 sont dans cet exemple choisis parmi les ordinateurs, les téléphones portables, les boîtiers décodeurs (par exemple de type « box » reliés à l'ADSL et fournissant téléphone, internet et télévision) et les assistants personnels numériques. Dans cet exemple, un pair garde une copie de ses données importantes dans les espaces disques des mémoires des terminaux des autres nœuds du réseau 1, afin de les récupérer en cas de perte de ses données locales.The terminals 3 are in this example chosen from computers, mobile phones, set-top boxes (for example of the "box" type connected to ADSL and providing telephone, internet and television) and PDAs. In this example, a peer keeps a copy of its important data in the disk spaces of the memory terminals of the other nodes of the network 1, in order to recover them in case of loss of its local data.
Le cas échéant, un opérateur mobile ou fixe, un fournisseur d'accès, ou un nouveau fournisseur de services P2P peut facturer le service de sauvegarde et de restauration proposé au pair.If applicable, a mobile or fixed operator, an access provider, or a new P2P service provider may charge the proposed backup and restore service to the peer.
Dans cet exemple d'application, si l'utilisateur est le propriétaire d'un seul nœud, un seul fragment source lui permettant de restaurer de façon automatique et à partir de n'importe quel nœud, l'ensemble de ses données déjà sauvegardées dans le réseau 1 pourra être attribué.In this example application, if the user is the owner of a single node, a single source fragment allowing him to automatically restore from any node, all of his data already saved in network 1 can be assigned.
Toujours dans cet exemple d'application, si l'utilisateur est le propriétaire de plusieurs nœuds, il peut choisir entre :Also in this example application, if the user is the owner of several nodes, he can choose between:
- partager un seul fragment source entre ses différents nœuds. Ainsi, il lui est possible de restaurer automatiquement tous ses fichiers déjà sauvegardés dans le réseau 1 indépendamment du nœud à partir duquel la sauvegarde de fichier a eu lieu ;- share a single source fragment between its different nodes. Thus, it is possible for him to automatically restore all his files already saved in the network 1 independently of the node from which the file backup took place;
- attribuer à chacun de ses nœuds un fragment source différent. Dans ce cas, le processus de restauration automatique sera restreint sur les fichiers d'un seul nœud,- assign each of its nodes a different source fragment. In this case, the automatic restore process will be restricted to single node files,
- attribuer à chacun de ses nœuds un fragment source différent et créer un fragment racine permettant de localiser et de déchiffrer les fragments sources propres à chacun de ses nœuds. Dans ce cas, le processus de restauration automatique peut porter sur tous les fichiers déjà sauvegardés dans le réseau 1 ou être restreint aux fichiers d'un seul nœud ;- assign each of its nodes a different source fragment and create a root fragment to locate and decrypt the source fragments specific to each of its nodes. In this case, the automatic recovery process can include all files already backed up in network 1 or be restricted to files of only one node;
Pour assurer le bon fonctionnement du procédé de sauvegarde et/ou de restauration, le réseau 1 peut comporter, comme représenté à la figure 12 une entité centrale de confiance 5 en communication périodique avec tous les nœuds 3 du réseau 1 et agencée pour :To ensure the proper functioning of the backup and / or restore method, the network 1 may comprise, as represented in FIG. 12, a central trusted entity 5 in periodic communication with all the nodes 3 of the network 1 and arranged to:
- éviter les comportements égoïstes des nœuds en comptabilisant, par exemple, les ressources fournies et consommées par chaque nœud. On peut prévoir un système de facturation créditrice ou débitrice selon que les ressources fournies sont plus ou moins importantes que les ressources consommées ;- avoid selfish behavior of nodes by counting, for example, the resources provided and consumed by each node. A credit or debit billing system can be provided depending on whether the resources provided are more or less important than the resources consumed;
- contrôler l'accès au service P2P proposé ; - contrôler le comportement des différents nœuds au cours du fonctionnement du système, en vérifiant périodiquement que chaque nœud effectue bien le travail assigné, qu'il est disponible, que les fragments auparavant sauvegardés sont toujours bien sauvegardés et intègres. Cela permet par exemple d'évaluer le niveau de fiabilité d'un nœud, sur lequel pourrait être basée la facturation associée à un nœud ;- control access to the proposed P2P service; - control the behavior of the various nodes during the operation of the system, by periodically checking that each node performs the assigned work, that it is available, that previously saved fragments are always well saved and intact. This makes it possible, for example, to evaluate the level of reliability of a node on which the billing associated with a node could be based;
- assurer une bonne qualité du service aux usagers.- ensure a good quality of service to users.
Pour permettre l'autorisation à un pair d'effectuer un procédé de sauvegarde et/ou de restauration selon l'invention, plusieurs solutions sont possibles :To allow the authorization of a peer to perform a backup and / or restore method according to the invention, several solutions are possible:
- utilisation d'un boitier domotique spécifique pour que tous les équipements en réseau de la maison puissent en bénéficier ;- use of a specific home automation box so that all network equipment in the house can benefit from it;
- logiciel dans le mobile spécifique permettant de sauvegarder uniquement les données de ce mobile ;- software in the specific mobile allowing to save only the data of this mobile;
- passage par un proxy du fournisseur de service, permettant au pair d'accéder et de restaurer ses données quelle que soit la machine d'accueil (mobile, PC...) ; - obligation d'avoir un jeton d'accès signé par un nœud de confiance qui se charge de contrôler l'accès au service proposé ;- passing through a proxy service provider, allowing the peer to access and restore its data regardless of the host machine (mobile, PC ...); - obligation to have an access token signed by a trusted node which is responsible for controlling access to the proposed service;
- obligation d'avoir accès à un nœud particulier du réseau, l'accès étant restreint aux seules entités autorisées à faire du service P2P.- obligation to have access to a particular node of the network, access being restricted to only those entities authorized to make P2P service.
L'accès au fichier source peut être contrôlé par un opérateur mobile ou fixe, un fournisseur d'accès ou un fournisseur de services P2P. Le contrôle d'accès peut consister par exemple en un dispositif de contrôle AAA (Authentication, Authorisation,Access to the source file may be controlled by a mobile or fixed operator, an access provider or a P2P service provider. The access control may consist, for example, of an AAA control device (Authentication, Authorization,
Accounting). Ce nœud particulier peut alors être chargé de contrôler le bon comportement des nœuds lors des différentes opérations de sauvegarde mais aussi dans la durée.Accounting). This particular node can then be responsible for controlling the good behavior of the nodes during the various backup operations but also in the duration.
L'invention n'est pas limitée à la sauvegarde et/ou à la restauration de fichiers sauvegardés dans un réseau pair à pair.The invention is not limited to backing up and / or restoring files backed up in a peer-to-peer network.
Selon d'autres applications, elle permet la diffusion sélective dans un réseau pair à pair d'au moins un fichier, par exemple un contenu multimédia ou musical, par exemple un ou plusieurs films ou fichiers musicaux, logiciels de jeux, professionnels ou autres, enregistré dans la mémoire d'au moins un terminal du réseau. Par diffusion du secret permettant le calcul des clés DHT et de déchiffrement associées au fragment source 9 à un groupe d'utilisateurs, il est possible, grâce à l'invention, de distribuer des données à ce groupe d'utilisateurs, ce qui peut permettre d'obtenir l'équivalent d'un serveur « virtuel », dans la mesure où les fichiers à distribuer sont sauvegardés dans les mémoires de terminaux s différents.According to other applications, it allows the selective broadcast in a peer-to-peer network of at least one file, for example a multimedia or musical content, for example one or more films or music files, game software, professional or other, stored in the memory of at least one terminal of the network. By broadcasting the secret allowing calculation of the DHT keys and decryption associated with the source fragment 9 to a group of users, it is possible, thanks to the invention, to distribute data to this group of users, which may allow to obtain the equivalent of a "virtual" server, insofar as the files to be distributed are saved in the memories of different terminals s.
On a représenté à la figure 13 un tel exemple d'application de l'invention. Un nœud 6 du réseau 1, appelé par la suite nœud-serveur joue le rôle d'un serveur distribuant des films, du contenu multimédia par exemple, d'autres nœuds 8 du réseau 1, appelés par la suite clients. Contrairement à un serveur de vidéo à la demande centralisé, il n'est grâce à l'invention pas nécessaire d'avoir recours à un nom DNS ou un gros espace de stockage.FIG. 13 shows such an example of application of the invention. A node 6 of the network 1, hereinafter called server node acts as a server distributing films, multimedia content for example, other nodes 8 of the network 1, hereinafter called clients. Unlike a centralized video on demand server, it is not thanks to the invention not necessary to use a DNS name or a large storage space.
Selon l'exemple représenté à la figure 13, le nœud-serveur 6 sauvegarde dans un premier temps dans les mémoires des terminaux 3 du réseau l'ensemble des films 13X à partager avec les clients du réseau 1.According to the example shown in FIG. 13, the server node 6 firstly stores in the memories of the terminals 3 of the network all the films 13 X to be shared with the clients of the network 1.
Le nœud serveur 6 calcule ensuite à partir d'un secret la clé de localisation et la clé de chiffrement permettant l'accès au fragment source 9 répertoriant l'ensemble des films 13i sauvegardés puis crée et sauvegarde son fragment source dans la mémoire de n'importe quel terminal du réseau 1. Le nœud-serveur 6 transmet ensuite le secret permettant l'accès au fragment source à tout client 8 du réseau 1 ayant satisfait une condition prédéfinie étant par exemple la souscription à un abonnement.The server node 6 then calculates from a secret the location key and the encryption key allowing access to the source fragment 9 listing all the 13i films saved then creates and saves its source fragment in the memory of n ' Any terminal of the network 1. The server node 6 then transmits the secret allowing access to the source fragment to any client 8 of the network 1 having satisfied a predefined condition being for example the subscription to a subscription.
La diffusion du secret permettant l'accès au fragment source peut prendre plusieurs formes. Par la connaissance du secret, un client 8 peut récupérer et déchiffrer le fragment source 9 du nœud-serveur 6 et donc déterminer la liste des films qui sont disponibles. De plus, à partir des informations contenues dans ce fragment source, il peut récupérer n'importe quel film H1 déjà sauvegardé par le nœud-serveur dans le réseau 1.The dissemination of the secret allowing access to the source fragment can take several forms. By the knowledge of the secret, a client 8 can retrieve and decrypt the source fragment 9 of the server node 6 and thus determine the list of films that are available. Moreover, from the information contained in this source fragment, it can recover any movie H 1 already saved by the server node in the network 1.
Bien que les données du nœud-serveur 6 soient sauvegardées dans les mémoires de terminaux 3 de différents nœuds du réseau, seuls les nœuds ayant accès au fragment source 9 peuvent accéder aux films 13^Although the data of the server node 6 is saved in the terminal memories 3 of different nodes of the network, only the nodes having access to the source fragment 9 can access the movies 13.
Pour partager un nouveau film, le nœud-serveur 6 peut le sauvegarder dans le réseau 1 puis mettre à jour son fragment source 9. En récupérant la nouvelle version de ce fragment source, un client 8 pourra déterminer la nouvelle liste des films offerts par le nœud-serveur 6. Le nœud-serveur 6 peut, à tout moment, supprimer des films du réseau 1, par exemple afin de libérer de l'espace disque dans les mémoires des terminaux 3 pour sauvegarder de nouveaux films.To share a new movie, the server-node 6 can save it in the network 1 and then update its source fragment 9. By recovering the new version of this source fragment, a client 8 can determine the new list of films offered by the server node 6. The server node 6 can, at any time, remove films from the network 1, for example in order to free disk space in the memories of the terminals 3 to save new movies.
L'invention permet, selon cet exemple, de disposer d'un service accessible même en cas d'inaccessibilité du nœud-serveur 6 puisque toutes les informations nécessaires sont sauvegardées et distribuées sur les différents nœuds du réseau P2P.According to this example, the invention makes it possible to have an accessible service even if the server node 6 is inaccessible since all the necessary information is saved and distributed on the various nodes of the P2P network.
Le secret permettant l'accès au fragment source 9 peut être diffusé auprès des clients 8 sous plusieurs formes :The secret allowing access to the source fragment 9 can be distributed to the clients 8 in several forms:
- un mot de passe ou code PIN : une même chaîne de caractères est communiquée aux clients. Cette chaîne est à rentrer dans le logiciel d'accès à l'application de distribution de données.- a password or PIN code: the same character string is communicated to the customers. This string is to be entered in the access software to the data distribution application.
- un secret, comme une clé privée, communiquée aux clients sur un support physique protégé, par exemple une puce électronique ou une clé USB.a secret, such as a private key, communicated to the customers on a protected physical medium, for example an electronic chip or a USB key.
- un secret personnalisé dépendant du client, étant déterminé en fonction de certaines caractéristiques de ce client, par exemple l'adresse MAC du terminal qu'il utilise. L'utilisateur télécharge un logiciel client auquel il devra rentrer le secret personnalisé. Le logiciel pourra alors calculer le secret permettant l'accès au fragment source en fonction de ce secret personnalisé. Le secret personnalisé peut encore être déterminé à l'aide d'autres caractéristiques du client, comme par exemple son numéro d'abonné lorsqu'il a souscrit un abonnement auprès d'un opérateur.a custom client-dependent secret, being determined according to certain characteristics of this client, for example the MAC address of the terminal that it uses. The user downloads a client software to which he must enter the personalized secret. The software can then calculate the secret allowing access to the source fragment according to this personalized secret. The custom secret can still be determined using other characteristics of the customer, such as his subscriber number when he has subscribed to an operator.
La communication du secret permettant l'accès au fragment source ou, le cas échéant du secret personnalisé peut prendre les formes suivantes :The communication of the secret allowing access to the source fragment or, where appropriate, the personalized secret can take the following forms:
- communication du secret par courrier email ou postal,- communication of the secret by email or postal mail,
- téléchargement par le logiciel client du secret auprès d'un serveur en ligne. Le téléchargement auprès du serveur peut être considéré comme quasi transparent pour l'utilisateur. De plus, le logiciel client peut fournir un numéro de série ou un nom de client de manière à ce que le serveur contrôle la diffusion et la personnalisation du secret,- download by the client software the secret from an online server. Downloading from the server can be considered almost transparent for the user. In addition, the client software can provide a serial number or a client name so that the server controls the dissemination and personalization of the secret,
- téléchargement par l'utilisateur du secret auprès d'un serveur en ligne. Après s'être authentifié auprès de ce serveur l'utilisateur télécharge par exemple le secret, et configure en conséquence son logiciel client. En variante, le fichier à diffuser est un fichier relatif à une publicité ou à caractère informatif et le nœud-serveur 6 peut diffuser le secret à tous les clients 8 du réseau 1 en ayant fait la demande.- download by the user of the secret from an online server. After having authenticated with this server, the user downloads the secret, for example, and configures his client software accordingly. As a variant, the file to be broadcast is a file relating to an advertisement or of an informative nature and the server node 6 can broadcast the secret to all the clients 8 of the network 1 having made the request.
Les droits de modification du fragment source, pour ajouter ou supprimer un nouveau fichier sauvegardé, peuvent être réservés au nœud-serveur 6 afin d'éviter qu'un client auquel le secret a été révélé ne puisse modifier les contenus sauvegardés. Ce contrôle de ces droits de modification du fragment source peut être assuré par un serveur centralisé dans lequel sont mémorisés tous les fragments sources du réseau, et qui n'accorde les droits de modification qu'au seul nœud- serveur 6 et ne donne le droit de lecture qu'aux seuls clients 8.The modification rights of the source fragment, to add or delete a new file saved, can be reserved to the server node 6 to prevent a client to whom the secret was revealed can not modify the saved contents. This control of these rights of modification of the source fragment can be ensured by a centralized server in which are memorized all the source fragments of the network, and which grants the rights of modification only to the node-server 6 and gives the right only to clients 8.
Dans un autre exemple d'application, l'invention permet le partage de fichiers entre les nœuds du réseau 1 par la connaissance d'un fragment source 9. Le principe est identique au principe de diffusion d'un fichier par un nœud serveur 6 à un client 8 décrit ci-dessus, excepté le fait que les droits de modification du fragment source sont ouverts à tous les nœuds du réseau. Les mêmes services sont possibles, à savoir le contrôle d'accès au secret du fragment source 9, les mises à jour du fragment source 9, et les gestions des différentes versions des fichiers sauvegardés 13L In another example of an application, the invention enables the sharing of files between the nodes of the network 1 by the knowledge of a source fragment 9. The principle is identical to the principle of broadcasting a file by a server node 6 to a client 8 described above, except that the modification rights of the source fragment are open to all the nodes of the network. The same services are possible, namely the secret access control of the source fragment 9, the updates of the source fragment 9, and the management of the different versions of the saved files 13 L
L'invention peut aussi permettre la création d'un fragment racine permettant de localiser et de déchiffrer une pluralité de fragments sources 9 sauvegardés dans le réseau 1. Dans l'exemple représenté à la figure 14, le fragment racine 7 permet de localiser et de déchiffrer des premiers fragments sources 9a, ces derniers permettant de localiser et de déchiffrer des deuxièmes fragments sources 9b qui sont similaires aux fragments sources décrits en référence aux figures précédentes. Dans cet exemple, l'accès à chaque fragment source 9a ou 9b est conditionné par la connaissance d'un secret selon les exemples décrits précédemment. Le secret est différent d'un premier fragment source 9a à l'autre, ainsi que d'un deuxième fragment source 9b à l'autre. Ainsi, l'accès à un seul fragment source ne permet la récupération que d'un sous ensemble de fichiers. Seul l'accès au fragment racine 7, conditionné par exemple par la connaissance d'un secret permettant de calculer des clés pour localiser et déchiffrer le fragment racine, peut permettre l'accès à tous les fragments sources et la récupération intégrale des fichiers sauvegardés dans le réseau 1.The invention can also allow the creation of a root fragment for locating and decrypting a plurality of source fragments 9 saved in the network 1. In the example shown in FIG. 14, the root fragment 7 makes it possible to locate and decrypting first source fragments 9a, the latter making it possible to locate and to decipher second source fragments 9b which are similar to the source fragments described with reference to the preceding figures. In this example, access to each source fragment 9a or 9b is conditioned by the knowledge of a secret according to the examples described above. The secret is different from a first source fragment 9a to another, as well as from a second source fragment 9b to the other. Thus, access to a single source fragment only allows the recovery of a subset of files. Only the access to the root fragment 7, conditioned for example by the knowledge of a secret making it possible to calculate keys to locate and decipher the root fragment, can allow the access to all the source fragments and the complete recovery of the files saved in the network 1.
Dans cet exemple, le premier fragment source 9ai contient des clés permettant de localiser et de déchiffrer les deuxièmes fragments sources 9bi, 9b2 et 9b3, ce qui permet de localiser et de déchiffrer les fragments FBL 1Oi à IO5 et IO7, et par conséquent l'accès aux fichiers 13i à 13s et 137.In this example, the first source fragment 9ai contains keys for locating and decrypting the second source fragments 9bi, 9b 2 and 9b3, which allows to locate and decrypt the fragments FBL 1Oi to IO5 and IO7, and therefore access to the files 13i to 13s and 13 7 .
Selon cet exemple, l'invention peut permettre au pair ayant sauvegardé les fichiers dont la restauration est permise grâce à l'accès au fragment racine 7 de ne diffuser qu'un sous ensemble de fichiers à un client du réseau. Si ce client ne peut, selon l'exemple de la figure 14, accéder qu'au deuxième fragment source 9bi, il ne peut récupérer que les fragments FBL 1Oi à IO3 et par conséquent ne récupérer que les fichiers 13i à 133-According to this example, the invention can allow the peer having saved the files whose restoration is allowed through the access to the root fragment 7 to broadcast only a subset of files to a client of the network. If this client can, according to the example of FIG. 14, access only the second source fragment 9bi, it can only recover the fragments FBL 1O1 to IO3 and consequently only recover the files 13i to 133-
Selon cet exemple, le pair peut ne décider de ne partager qu'un sous-ensemble de fichiers qu'il a sauvegardés avec d'autres nœuds du réseau. Le pair peut choisir de ne partager que les fichiers 13s et 137 avec un ou plusieurs nœuds du réseau en leur envoyant le secret ne leur permettant d'accéder qu'au deuxième fragment source %3.In this example, the peer may decide to share only a subset of files that it has backed up with other nodes in the network. The peer can choose to share only the 13s and 13 7 files with one or more nodes of the network by sending them the secret allowing them to access only the second source fragment% 3 .
Toujours selon cet exemple, l'invention permet également d'optimiser le volume d'espace disque de la mémoire des terminaux 3i en permettant à plusieurs premiers fragments sources 9a de pointer vers un même deuxième fragment source 9b, voire vers plusieurs mêmes deuxièmes fragments sources 9b. De la même façon, plusieurs deuxièmes fragments sources 9b peuvent pointer vers un même fragment FBL 10, voire vers plusieurs mêmes fragments FBL.Still according to this example, the invention also makes it possible to optimize the disk space volume of the memory of the terminals 3i by allowing several first source fragments 9a to point to one and the same second source fragment 9b, or even to several same second source fragments. 9b. In the same way, several second source fragments 9b can point to the same FBL fragment 10, or even to several same FBL fragments.
On a représenté à la figure 15 un exemple d'application de l'invention dans lequel deux fragments racines 1\ et 72 associés à deux pairs différents pointent vers un même fragment source 90. Ce fragment source 9o permet, par exemple, l'accès à l'ensemble des fichiers partagés entre les deux pairs.FIG. 15 shows an example of application of the invention in which two root fragments 1 1 and 7 2 associated with two different pairs point to the same source fragment 9 0 . This source fragment 9o makes it possible, for example, to access all the files shared between the two peers.
Ainsi, chacun du pair ayant accès au fragment racine 1\ et de celui ayant accès au fragment racine 72 peut être considéré comme le propriétaire du fragment source % et des fichiers auxquels l'accès est ainsi permis, bien que ces fichiers ne soient sauvegardés qu'une seule fois dans le réseau.Thus, each of the peer having access to the root fragment 1 \ and the one having access to the root fragment 7 2 can be considered as the owner of the source fragment% and the files to which access is thus allowed, although these files are not saved. only once in the network.
Le pair ayant sauvegardé les fichiers dont l'accès est permis par le fichier racine n'a pas besoin de retenir les secrets permettant l'accès aux différents fragments sources ou, lorsque les fragments sources sont hiérarchisés en premiers et deuxièmes fragments sources, les secrets permettant l'accès à ces différents fragments sources, mais uniquement celui du fragment racine, ce dernier contenant avantageusement les secrets permettant l'accès aux fragments sources. Dans le cas de l'exemple de la figure 14, si un nœud-serveur 6 souhaite permettre à un client d'accéder à l'intégralité des fichiers qu'il a sauvegardés dans le réseau, il suffit de lui communiquer le secret permettant l'accès au fragment racine 7, de cette façon il pourra obtenir la liste des premiers fragments sources 9a, permettant eux- mêmes l'accès aux deuxièmes fragments sources 9b.The peer having saved the files whose access is allowed by the root file does not need to retain the secrets allowing access to the different source fragments or, when the source fragments are hierarchized into first and second source fragments, the secrets allowing access to these different source fragments, but only that of the root fragment, the latter advantageously containing the secrets allowing access to the source fragments. In the case of the example of FIG. 14, if a server node 6 wishes to allow a client to access all the files it has saved in the network, it is sufficient to communicate to it the secret permitting access to the root fragment 7, in this way it will be able to obtain the list of the first source fragments 9a, allowing themselves access to the second source fragments 9b.
On a représenté à la figure 16 un exemple de procédé de répartition des fichiers sauvegardés au sein de différents fragments sources 9.FIG. 16 shows an example of a method for distributing files saved within different source fragments 9.
Dans l'exemple représenté, on associe pour chaque type de fichier sauvegardé un fragment source 9. Le fragment source 9\ n'est par exemple relatif qu'à des fichiers contenant des photos, ce qui permet au pair de restreindre sa restauration automatique à l'ensemble de ses photos qui ont été sauvegardées dans le réseau 1.In the example shown, for each type of backup file, a source fragment 9 is associated. The source fragment 9 is for example only related to files containing photos, which enables the peer to restrict its automatic restoration to all of his photos that have been saved in the network 1.
Dans un autre exemple, on regroupe les fichiers sauvegardés selon leurs contenus. Par exemple, un nœud-serveur offrant des films vidéo peut associer à chaque catégorie de films (culturel, sport, ...) un fragment source 9. Par la suite, un client peut s'abonner à une catégorie particulière de films en demandant le secret permettant l'accès audit fragment source 9.In another example, the files saved are grouped according to their contents. For example, a server node offering video films can associate each category of films (cultural, sport, ...) with a source fragment 9. Subsequently, a customer can subscribe to a particular category of films by asking the secret allowing access to the source fragment 9.
Dans un autre exemple, on regroupe les fichiers sauvegardés selon les droits d'accès par les nœuds du réseau aux fichiers sauvegardés. On associe par exemple aux fichiers privés un fragment source dont le secret peut n'être jamais transmis aux autres nœuds du réseau, et on associe aux fichiers publics un autre fragment source dont le secret peut être transmis à tous les nœuds du réseau.In another example, the files saved are grouped according to the access rights by the nodes of the network to the files saved. For example, private files are associated with a source fragment whose secret may never be transmitted to the other nodes of the network, and we associate with the public files another source fragment whose secret can be transmitted to all the nodes of the network.
Du fait de la propriété d'optimisation du volume d'espace disque mémoire précédemment décrit, l'invention peut permettre de regrouper les fichiers sauvegardés dans une base de fragments sources à critères multiples, le nombre de fragments sources et de hiérarchisation de fragments sources, à savoir premiers, deuxièmes... niemes fragments sources augmentant avec le nombre de critères.Because of the property of optimization of the volume of memory disk space previously described, the invention can make it possible to group the files saved in a database of multi-criteria source fragments, the number of source fragments and hierarchy of source fragments, ie first, second ... nth source fragments increasing with the number of criteria.
L'invention n'est bien entendu pas limitée aux exemples qui viennent d'être décrits.The invention is of course not limited to the examples which have just been described.
On peut par exemple combiner des caractéristiques décrites en référence à différents modes de réalisation de l'invention. For example, characteristics described with reference to various embodiments of the invention may be combined.

Claims

REVENDICATIONS
1. Procédé de sauvegarde d'au moins un fichier (IS1) enregistré par un pair dans les mémoires de terminaux (S1) d'une pluralité de nœuds d'un réseau pair à pair (1), dans lequel :A method of saving at least one file (IS 1 ) registered by a peer in the terminal memories (S 1 ) of a plurality of nodes of a peer-to-peer network (1), wherein:
- on permet à ce pair de sélectionner une liste de fichiers à sauvegarder,- this peer is allowed to select a list of files to save,
- on crée pour chaque fichier (IS1) plusieurs fragments de données (FB) (1 Ij) et un fragment de description (FBL) (1O1) répertoriant les fragments FB,for each file (IS 1 ), several data fragments (FB) (1 I j ) and a description fragment (FBL) (1O 1 ) listing the FB fragments are created,
- on génère pour chaque fragment FBL (1O1) de description une clé de localisation du fragment et une clé de chiffrement de ce fragment FBL (1O1),for each fragment FBL (1O 1 ) of description, a fragment location key and an encryption key of this fragment FBL (1O 1 ) are generated,
- on sauvegarde les fragments FB (1 Ij) et les fragments FBL (1O1) dans les terminaux (S1) d'un réseau pair à pairthe fragments FB (1 I j ) and the fragments FBL (10 1 ) are saved in the terminals (S 1 ) of a peer-to-peer network
- on génère au moins un fragment source (9) à accès protégé permettant de localiser et de déchiffrer au moins une partie des fragments FBL (1O1) et, - on sauvegarde le fragment source (9) dans la mémoire d'au moins un terminal (S1) du réseau.generating at least one protected access source fragment (9) making it possible to locate and decrypt at least a portion of the FBL (1O 1 ) fragments, and the source fragment (9) is saved in the memory of at least one terminal (S 1 ) of the network.
2. Procédé selon la revendication 1, dans lequel lors de la génération du fragment source, on calcule une clé permettant de localiser le fragment source et une clé permettant de chiffrer le fragment source. 2. Method according to claim 1, wherein during the generation of the source fragment, a key is computed for locating the source fragment and a key for encrypting the source fragment.
3. Procédé selon la revendication précédente, dans lequel on calcule la clé permettant de localiser le fragment source (9) par hachage d'au moins un secret associé au pair.3. Method according to the preceding claim, wherein calculating the key for locating the source fragment (9) by hashing at least one secret associated with the peer.
4. Procédé selon la revendication 2 ou 3, dans lequel on calcule la clé permettant de chiffrer le fragment source (9) en fonction d'au moins un secret associé au pair.4. The method of claim 2 or 3, wherein calculating the key for encrypting the source fragment (9) according to at least one secret associated with the peer.
5. Procédé selon l'une des deux revendications immédiatement précédentes, dans lequel un secret associé au pair est choisi parmi un mot de passe, une clé privée, et un code secret associé à un terminal du pair.5. Method according to one of the two immediately preceding claims, wherein a secret associated with the peer is selected from a password, a private key, and a secret code associated with a terminal of the peer.
6. Procédé selon l'une quelconque des revendications précédentes, dans lequel on permet au pair de sélectionner au moins une propriété à sauvegarder par fichier enregistré dans les mémoires de terminaux du réseau. 6. Method according to any one of the preceding claims, wherein the peer is allowed to select at least one property to be saved by file recorded in the network terminal memories.
7. Procédé selon la revendication précédente, dans lequel ladite au moins une propriété est choisie parmi la somme de contrôle du fichier (checksum) et/ou la date de création du fichier et/ou les droits d'accès au fichier et/ou le chemin du fichier et/ou la version du fichier. 7. Method according to the preceding claim, wherein said at least one property is selected from the checksum of the file (checksum) and / or the date of creation of the file and / or the access rights to the file and / or the file path and / or file version.
8. Procédé selon l'une quelconque des revendications précédentes, dans lequel on permet au pair de spécifier le niveau d'importance du fichier sauvegardé.A method as claimed in any one of the preceding claims, wherein the peer is allowed to specify the level of importance of the saved file.
9. Procédé selon l'une quelconque des revendications précédentes, dans lequel on permet au pair de modifier un fragment source (9) déjà généré pour prendre en compte : la sauvegarde d'un nouveau fichier (IS1) dans les mémoires de terminaux (S1) du réseau et/ou la suppression d'un fichier sauvegardé.9. Method according to any one of the preceding claims, in which the peer is allowed to modify a source fragment (9) already generated to take into account: the saving of a new file (IS 1 ) in the terminal memories ( S 1 ) of the network and / or the deletion of a saved file.
10. Procédé selon l'une quelconque des revendications précédentes dans lequel le fragment source (9) permet de localiser et de déchiffrer tous les fragments FBL (1O1) générés.10. Method according to any one of the preceding claims wherein the source fragment (9) makes it possible to locate and to decipher all the generated FBL (1O 1 ) fragments.
11. Procédé selon l'une quelconque des revendications 1 à 9, dans lequel on génère plusieurs fragments sources (9), chaque fragment source (9) permettant de localiser et de déchiffrer une partie des fragments FBL (1O1) générés.11. Method according to any one of claims 1 to 9, wherein generating several source fragments (9), each source fragment (9) for locating and decrypting part of the generated FBL (1O 1 ) fragments.
12. Procédé selon la revendication précédente, dans lequel on calcule pour chaque fragment source (9) deux clés, l'une permettant de localiser et l'autre de chiffrer le fragment source (9). 12. Method according to the preceding claim, wherein for each source fragment (9), two keys are calculated, one for locating and the other for encrypting the source fragment (9).
13. Procédé selon la revendication précédente, dans lequel les clés permettant de localiser et de chiffrer le fragment source (9) diffèrent d'un fragment source à l'autre.13. The method according to the preceding claim, wherein the keys for locating and encrypting the source fragment (9) differ from one source fragment to another.
14. Procédé selon l'une des deux revendications immédiatement précédentes, dans lequel on regroupe les fichiers (13^ sauvegardés dans un fragment source (9) particulier selon leur type, leur contenu ou les droits d'accès y étant associés. 14. Method according to one of the two immediately preceding claims, in which the files (13) stored in a particular source fragment (9) are grouped together according to their type, their content or the access rights associated therewith.
15. Procédé selon l'une quelconque des revendications 11 à 14, dans lequel on génère un fragment racine (7) permettant de localiser et de déchiffrer les fragments sources (9) et dans lequel on sauvegarde ce fragment racine (7) dans la mémoire d'au moins un terminal (3i) du réseau.15. Method according to any one of claims 11 to 14, wherein a root fragment (7) is generated for locating and decrypting the source fragments (9) and in which this root fragment (7) is saved in the memory. at least one terminal (3i) of the network.
16. Procédé de diffusion sélective d'au moins un fichier (13^ enregistré dans la mémoire d'au moins un terminal (3i) d'un réseau pair à pair (1), ce fichier (13^ étant fragmenté en plusieurs fragments de données FBI (Hj), auxquels est associé un fragment de description (FBL) (1O1) répertoriant les fragments (FBL) (Hj), ces fragments FBL (1O1) étant localisables et déchiffrables par un fragment source (9) à accès protégé sauvegardé dans la mémoire d'un terminal du réseau, procédé dans lequel on permet à un client (8) du réseau recherchant le fichier enregistré (IS1) et ayant satisfait une condition prédéfinie l'accès au fragment source (9) et la récupération du fichier recherché.16. A method for selectively distributing at least one file (13 ^ stored in the memory of at least one terminal (3i) of a peer-to-peer network (1), this file (13 ^ being fragmented into several fragments of FBI data (H j ), with which is associated a description fragment (FBL) (1O 1 ) listing the fragments (FBL) (H j ), these fragments FBL (1O 1 ) being localizable and decryptable by a protected access source fragment (9) stored in the memory of a terminal of the network, a method in which a client (8) of the network looking for the recorded file (IS 1 ) and having satisfied a predefined condition the access to the source fragment (9) and the recovery of the searched file.
17. Procédé selon la revendication précédente, dans lequel on permet l'accès au fichier recherché (IS1) en fournissant au client (8) du réseau une clé permettant de localiser le fragment source (9) et/ou une clé permettant de déchiffrer le fragment source17. The method as claimed in the preceding claim, in which access is granted to the searched file (IS 1 ) by providing the client (8) of the network with a key making it possible to locate the source fragment (9) and / or a key making it possible to decrypt the source fragment
(9). (9).
18. Procédé selon la revendication précédente, dans lequel la clé permettant de localiser et/ou la clé permettant de déchiffrer le fragment source est propre au client (8).18. The method according to the preceding claim, wherein the key for locating and / or the key for decrypting the source fragment is customer-specific (8).
19. Procédé selon l'une quelconque des revendications 16 à 18, comportant une étape de test de disponibilité et d'intégrité du fichier recherché.19. Method according to any one of claims 16 to 18, comprising a step of testing the availability and integrity of the file sought.
20. Procédé de restauration d'au moins un fichier sauvegardé (IS1) dans les mémoires de terminaux (S1) d'un réseau pair à pair sous la forme de fragments de données20. Method for restoring at least one saved file (IS 1 ) in the terminal memories (S 1 ) of a peer-to-peer network in the form of data fragments
(l lj) auxquels est associé un fragment de description (1O1) répertoriant les fragments de données, ce fragment de description étant localisable et déchiffrable par un fragment source (9) à accès protégé sauvegardé dans la mémoire d'un terminal du réseau, procédé dans lequel : - un pair accède au fragment source (9) pour, depuis un terminal quelconque du réseau, déterminer la liste des fichiers sauvegardés dans le réseau(ll j ) with which is associated a description fragment (1O 1 ) listing the data fragments, this description fragment being localizable and decipherable by a protected access source fragment (9) saved in the memory of a terminal of the network, method in which: - a peer accesses the source fragment (9) for, from any terminal of the network, determine the list of files saved in the network
- le pair sélectionne au moins un fichier à restaurer (IS1) dans la liste,the peer selects at least one file to be restored (IS 1 ) in the list,
- le pair lance le processus de restauration automatique du ou des fichiers sélectionnés depuis ce terminal. - the peer initiates the process of automatic restoration of the selected file (s) from this terminal.
21. Procédé selon la revendication précédente, comportant une étape de mise à jour de la liste des fichiers sauvegardés.21. Method according to the preceding claim, comprising a step of updating the list of saved files.
22. Procédé selon l'une des deux revendications immédiatement précédentes, comportant une étape de test de disponibilité et d'intégrité sur des fichiers répertoriés dans le fragment source. 22. Method according to one of the two immediately preceding claims, comprising a step of testing availability and integrity on files listed in the source fragment.
23. Procédé de sauvegarde d'au moins un fichier (13i) enregistré par un pair dans les mémoires de terminaux (3^ d'une pluralité de nœuds d'un réseau pair à pair, chaque fichier étant fragmenté en plusieurs fragments de données (Hj) auxquels est associé un fragment de description (1O1) répertoriant les fragments de données, procédé dans lequel :23. A method of saving at least one file (13i) recorded by a peer in the terminal memories (3 ^ of a plurality of nodes of a peer-to-peer network, each file being fragmented into several data fragments ( H j ) which is associating a description fragment (1O 1 ) listing the data fragments, wherein:
- on génère au moins un fragment source permettant de localiser et de déchiffrer au moins une partie des fragments de description, - on génère pour ce fragment source (9) une clé permettant de localiser et une clé permettant de chiffrer le fragment source (9) en fonction d'un secret de l'utilisateur, etgenerating at least one source fragment making it possible to locate and decrypt at least a part of the description fragments, generating for this source fragment a key for locating and a key for encrypting the source fragment (9) according to a user secret, and
- on sauvegarde le fragment source dans la mémoire d'au moins un terminal du réseau. the source fragment is stored in the memory of at least one terminal of the network.
PCT/FR2009/050560 2008-04-02 2009-04-01 Method of saving/restoring files in a peer-to-peer network WO2009136030A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0852170 2008-04-02
FR0852170A FR2929792B1 (en) 2008-04-02 2008-04-02 METHOD FOR SAVING / RESTORING FILES IN A PAIR NETWORK.

Publications (1)

Publication Number Publication Date
WO2009136030A1 true WO2009136030A1 (en) 2009-11-12

Family

ID=40091287

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2009/050560 WO2009136030A1 (en) 2008-04-02 2009-04-01 Method of saving/restoring files in a peer-to-peer network

Country Status (2)

Country Link
FR (1) FR2929792B1 (en)
WO (1) WO2009136030A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220283678A1 (en) * 2019-09-06 2022-09-08 Dropbox, Inc. Generating a customized organizational structure for uploading content to a cloud-based storage system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153458A1 (en) * 2002-11-08 2004-08-05 Noble Brian D. Peer-to-peer method and system for performing and managing backups in a network of nodes
WO2008017505A1 (en) * 2006-08-11 2008-02-14 Velocix Limited Improved storage performance

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153458A1 (en) * 2002-11-08 2004-08-05 Noble Brian D. Peer-to-peer method and system for performing and managing backups in a network of nodes
WO2008017505A1 (en) * 2006-08-11 2008-02-14 Velocix Limited Improved storage performance

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BATTEN C ET AL: "pStore: A Secure Peer-to-Peer Backup System (MIT-LCS-TM-632)", INTERNET CITATION, XP002233336, Retrieved from the Internet <URL:http://www.cag.lcs.mit.edu/~kbarr/pstore/pStore.pdf> [retrieved on 20030304] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220283678A1 (en) * 2019-09-06 2022-09-08 Dropbox, Inc. Generating a customized organizational structure for uploading content to a cloud-based storage system
US11775140B2 (en) * 2019-09-06 2023-10-03 Dropbox, Inc. Generating a customized organizational structure for uploading content to a cloud-based storage system

Also Published As

Publication number Publication date
FR2929792B1 (en) 2010-05-21
FR2929792A1 (en) 2009-10-09

Similar Documents

Publication Publication Date Title
US11863380B2 (en) Community internet drive
US8843637B2 (en) Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes
US9824230B2 (en) Remote data access techniques for portable devices
US9858397B1 (en) Distributing digital-works and usage-rights to user-devices
US10693839B2 (en) Digital media content distribution blocking
US20020152262A1 (en) Method and system for preventing the infringement of intellectual property rights
US20060173974A1 (en) System and method for providing mobile access to personal media
US20020152261A1 (en) Method and system for preventing the infringement of intellectual property rights
EP2021954A1 (en) A method of providing digital rights management for music content by means of a flat-rate subscription
US20100235878A1 (en) Method and system for file distribution
US20130305385A1 (en) Streaming audio playback service and methodology
FR2868896A1 (en) METHOD AND DEVICE FOR CONTROLLING ACCESS TO A SHARED DIGITAL DOCUMENT IN A POST-TO-POST COMMUNICATION NETWORK
FR2860935A1 (en) Digital data processing method for peer-to-peer computer network, involves storing data structure establishing link between each usable part of signal and single identifier of signal in communication apparatus
WO2006016085A1 (en) Method for distributed saving of client stations in a computer network
WO2021043599A1 (en) Migration of a data blockchain
WO2009136030A1 (en) Method of saving/restoring files in a peer-to-peer network
WO2015197930A1 (en) Method of sharing digital files between several computers, and computer, data storage assembly and digital file sharing system associated therewith
FR2901381A1 (en) Digital personal information and data e.g. software, processing system, has sphere stations each with operating system having contact directory comprising unique preset denomination independent of stations and user and collecting user data
CN103688267A (en) Method for content use, device for content use, mobile terminal, and recording medium
FR2994003A1 (en) COMPUTER STORAGE DEVICE FOR PRIVATE DATA TOTALLY DISTRIBUTED IN A HOSTILE ENVIRONMENT
FR2901386A1 (en) Magnetic/optical/electronic/electro-optic type personal external storage medium e.g. universal serial bus key, for use in computer system, has processing module including sub-module creating cache file and accessing to cache file
FR3052893A1 (en) METHOD FOR RESTITUTING DIGITAL MULTIMEDIA CONTENT
FR2988250A1 (en) Method for validating transaction between server and personal computer of user, involves transmitting digital code from server to personal computer and mobile phone, and validating transaction if there is match between returned information
FR2810756A1 (en) System and method for extended access to a wide range of Internet resources, comprises an Internet access agent server which is connected between a user and a local Internet access unit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09742228

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09742228

Country of ref document: EP

Kind code of ref document: A1