Patent ID: 7243346

Claim:
A computer program product stored on at least one computer storage medium encoding a computer program for executing on a computer system a computer process for generating, before execution of an application requested by a client, a customized library for execution of the requested application by the client, the client including one or more client-loaded types already loaded on the client, the computer process comprising: receiving an application request for the application not loaded on the client; identifying one or more application-referenced types developed by third parties on which the application depends for execution but which are not part of the application; identifying the one or more client-loaded types; comparing the one or more application-referenced types to the one or more client-loaded types to identify one or more client-needed types, wherein client-needed types comprise one or more application-referenced types that are not client-loaded types; receiving a device profile specifying a characteristic of the client; identifying more than one client-needed type candidate, based on the client-needed types identified in the operation of the identifying the one or more client-needed types; selecting one of the client-needed type candidates based on the characteristic identified in the device profile to provide one of the client needed types; generating the customized library, including the one or more client-needed types; and separately sending the customized library and the application to the client for execution.