Daniel Dandemar

Individually adapted update of software through synchronization with a central configuration database

Abstract

 

The distribution of software has gone from diskette in the eighties to CD-ROM in the nineties and later DVD:s. The new paradigm of software distribution is to sell, distribute, update and upgrade online. In online software distribution it is important to be able to keep track of the licenses and their relation to other licenses. A configuration is built up by licenses that relate to each other.
This Master’s thesis will look at how you can design a software distribution system. A software distribution system consists of three different parts; a database, a server that acts as an interface to the database and a client that communicates with the server. There’s two different approaches; either the software is always complete on the user’s machine or only parts that is needed on the user’s machine is downloaded and kept up to date. In this Master’s thesis the second approach is used, though this approach will also cover the first case.
The core of the problem is to find a good database structure; the Customer Configuration Update (CCU) method from Utrecht University contains a good meta-data model that can be part of the foundation. The project at Utrecht is an ongoing research that wasn’t finished when this Master’s thesis was written.
Software distribution system turns out to be quite powerful since it will let a user install a base version on a new computer then enter a license key and all the missing parts will be downloaded and installed on the new machine. Also if an add-on is bought then the files needed for that add-on will be downloaded and installed, even on a new machine since the user’s configuration is stored on the server.


Individuellt anpassad uppdatering av programvara genom synkronisering mot en central konfigurationsdatabas

Sammanfattning


Distributionen av mjukvara har ändrats, från att på 80-talet ha distribuerats via diskett till CD-ROM skivor på 90-talet och senare DVD skivor. Det nya skiftet är att sälja, distribuera, uppdatera och uppgradera via nätet. Det är viktigt att kunna hålla rätt på vem som äger licenserna när distributionen sker via nätet.
Den här rapporten tittar på hur ett sådant system kan designas. Ett mjukvarudistributionssystem består av tre delar. Databas, server som fungerar som ett interface mot databasen och en klient del som kommunicerar med servern. Det finns två olika tillvägagångssätt. Antingen ser man till att alla delar av mjukvaran finns på användarens dator eller så kan man dela upp det i mindre delar och endast de delar som användaren kan använda finns på maskinen och hålls uppdaterad. I detta projekt används det andra tillvägagångssättet.
Kärnan i ett system av den här typen är att hitta en bra struktur på databasen. Det finns en metod från Utrecht Universitetet som de kallar för Customer Configuration Update (CCU). Metoden innehåller en metadatamodell som kan användas i designen.
Mjukvarudistributionssystem visar sig vara väldigt kraftfulla. En användare kan installera produkten på en dator och därefter ange licensnumret, vilket kommer att innebära att de delar som saknas automatiskt hämtas och installeras. Likaså om användaren köper tilläggstjänster som kräver nya filer så hämtas dessa automatiskt. Detta gäller även om användaren senare installerar om produkten på en ny dator.