Patent attributes
A software application is dynamically partitioned into components. Selected components are delivered to a requesting client device. When a request is received from the client device to launch the software application that includes multiple software components, a profile of the client device is determined. The software application is dynamically partitioned into a first group of components and a second group of components based on the profile of the client device. Selected application components are delivered to the client device based on the profile of the client device. The first group is delivered to the client device based on the profile of the client device. The second group is retained based on the profile of the client device. The application is executed using the delivered first group and the retained second group of application components.