Patent ID: 7219344

Claim:
A method comprising: for each of a plurality of client computers, storing a unique identifier and at least one characteristic in a first database; storing a plurality of programs in a second database; a management server receiving a program request, said program request including a desired value for a specified characteristic and a desired program, wherein said specified characteristic is stored in the first database and said desired program is stored in the second database; the management server querying the first database to identify one or more of said plurality of client computers having a stored characteristic value that matches said desired characteristic value, and storing the unique identifiers of the matched client computers in a group list; the management server querying the second database to determine availability of and authority for said desired program to said group list; the management server assigning a time frame, and, within that time frame, sending the desired program from the second database to the client computers whose unique identifiers are in the group list; the management server recording instances of programs being sent to client computers, wherein said instance record includes the name of the program, the program version, the client computer, and the date and time of the sending; and tracking recorded instances of programs sent to client computers so as to verify that sending such programs is in compliance with license obligations.