Patent ID: 7716661

Claim:
A computer-implemented method for updating an operating system (OS) of a mobile device, the method comprising: receiving, on a metadata service server, an OS version identifier of a current OS of the mobile device, wherein the OS version identifier is received via a mobile operator network; causing the metadata service server to call a define package method, wherein the define package method determines a difference between the current OS indicated by the received OS version identifier and an updated OS associated with update tables in image binary files of a data center, wherein the image update tables include canonical update identifiers that indicate entire versions of an operating system, difference update identifiers that indicate patches of the operating system, and markup-language metadata that specifies a relationship between the canonical updates and the difference updates; based on the difference determined by the define package method, identifying an optimal canonical update version for the current OS and the updated OS, an optimal difference update for the current OS and the updated OS, and a relationship between the optimal canonical update version and the optimal difference update; based on the identification, building, on the metadata service server, an image update package for the mobile device, wherein the image update package includes the optimal canonical update version and the optimal difference update based on the relationship between the optimal canonical update version and the optimal difference update; storing the image update package in a device package data store of the metadata service server, wherein the image update package is indicated by an address; and sending the address from the metadata service server to the mobile device to facilitate subsequent retrieval of the image update package by the mobile device.