Apple vuole semplificare la fusione di playlist da sorgenti multiple. È quanto si evince da un brevetto (numero 8,983,905) registrato presso il Patent & Trademark Office statunitense. Nel brevetto in questione si evidenzia la possibilità di risolvere i conflitti causati da una modifica alla versione di una playlist memorizzata su un dispositivo client e nel cloud, quando i due sistemi sono disconnessi; alla riconnessione del client e del cosiddetto cloud locker, il server associato tenta di risolvere le discrepanze di eventuali modifiche che l’utente aveva cominciato a eseguire. Quando il server determina che una delle playlist del client o nel server è un sovrainsieme dell’altro, quest’ultimo è selezionato e salvato sia sul client, sia sul cloud locker, mentre il sottoinsieme viene cancellato.
Nel brevetto Apple spiega che il recente movimento verso il cloud, con lo storage ridondante sui dispositivi client pone alcuni problemi; uno di questi avviene in modo particolare con i dispositivi mobili i quali spesso perdono la connettività al cloud e generano errori quando questa viene ristabilita. Esistono soluzioni per gestire i conflitti di versione in ambienti di distributed computing ma questi sono pensati per problematiche diverse ed è pertanto richiesto un approccio differente. In un sistema distribuito, ad esempio, versioni multiple dello stesso documento sono create da due persone che lavorano sullo stesso documento contemporaneamente; sistemi per gestire i conflitti di versione in ambienti di distributed computing spesso tengono conto del fatto che due persone contribuiscono allo stesso documento, stabilendo regole comuni su come eseguire il merging dei documenti.
In ambienti nei quali è necessario gestire un cloud locker, la fonte di conflitti è un unico utente: questo, ad esempio, memorizza il suo intero catalogo musicale e le playlist nel cloud locker, mantenendo un subset del catalogo musicale e delle playlist sul dispositivo mobile; l’utente può modificare una delle playlist e generare dei conflitti. Le soluzioni utilizzate nell’ambito del distributed computing non sono sufficienti a risolvere i conflitti, poiché queste partono dall’assunzione di metodi non utilizzabili per lo specifico problema.