System, methods and apparatus are applicable to enable owners and vendors
of software to protect their intellectual property and other rights in
that software. The system also enables vendors or distributors of
software to charge per-use for an instance of software. The system
produces a unique, unforgeable, tag for every vendor supplied instance
(copy) of specific software. Each user device is equipped with a
supervising program that ensures, by use of the tag and other
information, that no software instance will be used on the device in a
manner infringing on the vendor, distributor, or software owner's rights.
When installing or using a vendor-supplied software instance, the
supervising program verifies the associated tag and stores the tag. When
installing or using untagged software, the supervising program
fingerprints selected portions of the software and stores the
fingerprints. Software is used on a user's device through the supervising
program which ensures proper use of the software. A vendor can submit a
copy of infringing software to a guardian center which fingerprints
appropriate portions of the infringing software. A user device's (104)
supervising program periodically calls up, or can be called up, by the
guardian center. During call-up, the supervising program can securely
sends to the guardian center information about the use of the software
instances associated with tags and fingerprints. The guardian center
detects unauthorized use of software by comparison of current call-up
data with records of past call-ups involving the same tags, and/or by
comparing call-up supplied fingerprints with fingerprints of infringing
software stored by the guardian center. The guardian center completes the
call-up by enabling continued use of properly used software instances and
generating appropriate punitive actions upon detection of improperly used
software instances on the calling user's device. The data supplied by a
supervising program during call-up is also employed by the guardian
center to prepare data on usage by a user's device of vendor or
distributor supplied software instances, for pay-per-use or pay-per-view
billing.