Patent ID: 7290144

Claim:
A method of managing a plurality of software modules used in a programmable electronic device which selectively activates at least a portion of said plurality of software modules by controlling access to said software modules, said method comprising: a) splitting a cipher-key into a split-key and a token-key wherein said split-key is a genuine split-key for licensed ones of said software modules and said split-key is an artificial split-key for unlicensed ones of said software modules; b) encrypting each one of an entire set of original, plain-text software modules using said cipher-key to form cipher-text software modules; c) loading said entire set of cipher-text software modules in said device; d) delivering said device to a customer; e) generating later versions of at least some of said original plain-text software modules to form updated plain-text software modules; f) encrypting said updated plain-text software modules to generate updated cipher-text software modules; and g) upgrading said device after delivering said device to said customer by providing said entire set of software modules, said entire set including said updated cipher-text software modules.