Changes between Version 7 and Version 8 of BluePrint/Mobile/P2PSync


Ignore:
Timestamp:
05/29/17 14:36:14 (8 years ago)
Author:
MichaelRogers
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BluePrint/Mobile/P2PSync

    v7 v8  
    1111[https://code.briarproject.org/akwizgran/briar/uploads/655c21456bbc36a83193bdb5e0473f07/SahanaEDENBrambleProjectUseCases.odt User stories]
    1212== Requirements ==
    13 === Functional ===
     13=== Functional requirements===
     14
     15==== 1. Establishing peer relationships ====
     16
     17===== 1.1. Peer visibility =====
     18
     19The P2P sync component '''must''' be able to make the device it is running on visible to nearby devices in order to establish a peer relationship.
     20
     21===== 1.2. Peer discovery =====
     22
     23The P2P sync component '''must''' be able to discover nearby devices that have made themselves visible.
     24
     25===== 1.3. Peer selection =====
     26
     27When peers have been discovered, the P2P sync component '''must''' allow the user to choose a device to establish a peer relationship with.
     28
     29===== 1.4. Peer authentication =====
     30
     31When the user has chosen a device to peer with, the P2P sync component '''must''' allow the user to authenticate the peer before granting the peer access to any resources. The P2P sync component '''may''' allow the user to continue without authenticating the peer.
     32
     33===== 1.5. Peer persistence =====
     34
     35When a peer has been authenticated, the P2P sync component '''may''' allow the user to store information about the peer, including information that will allow the peer to be authenticated automatically during subsequent connections. If information about a peer has been stored, the P2P sync component '''must''' allow the user to revoke the peer's access to resources.
     36
     37==== 2. Destination servers ====
     38
     39===== 2.1. Destination server configuration =====
     40
     41The P2P sync component '''may''' allow the user or an administrator to enter the details of a '''destination server''' for the data being synchronized.
     42
     43==== 3. Data synchronization ====
     44
     45===== 3.1. Data selection =====
     46
     47The P2P sync component '''may''' allow the user to choose which data to synchronize, either with peers in general or with each specific peer. When data is received from a peer, the P2P sync component '''may''' automatically choose it for synchronization with other peers.
     48
     49===== 3.2. Data deletion =====
     50
     51The P2P sync component '''may''' allow the user to delete data from the device, regardless of whether that data has been chosen for synchronization. The P2P sync component '''may''' automatically delete data that has been received from peers, for example on receiving confirmation that the data has been delivered to a destination server.
     52
     53==== 4. Managing conflicts ====
     54
     55===== 4.1. Conflict detection =====
     56
     57The P2P sync component '''must''' assign an identifier to each item of data chosen for synchronization, such that two peer devices performing synchronization can tell whether they are using the same identifier to refer to different data.
     58
     59===== 4.2. Conflict resolution =====
     60
     61When a conflict is detected during synchronization, the P2P sync component '''may''' resolve the conflict automatically, either by merging the conflicting items or by assigning them distinct identifiers. If a conflict cannot be resolved automatically, the P2P sync component '''must''' be able to continue synchronizing other items with the peer. The P2P sync component '''may''' inform the user of conflicts that cannot be resolved automatically.
    1462=== Non-functional ===
    1563http://en.wikipedia.org/wiki/Non-functional_requirements