Method, system and program product for adapting software applications for client devices
First Claim
Patent Images
1. A method for adapting software applications for client devices, comprising:
- receiving at a server a request for a software application from a first client device and a second request for the software application from a second client device;
probing from the server the first client device to determine capabilities of the first client device in response to receipt of the request and the second client device to determine capabilities of the second client device in response to receipt of the second request;
identifying a first set of components of the software application based on the capabilities of the first client device and a second set of components of the software application based on the capabilities of the second client device determined by the probing, every one of the components in the first set of components and the second set of components being independent modules configured to provide a single capability for performing a logical function when used by a base module of the software application, wherein the identifying identifies only components of the software application that the first client device and the second client device are capable of implementing and identifies all components that the first client device and the second client device are capable of implementing;
automatically configuring the base module for operation on the first client device and automatically configuring the base module for operation on the second client device with all of the identified components based on the capabilities determined via the probing so as to take advantage of a highest common denominator capability of the first client device by prioritizing the first set of components and so as to take advantage of a highest common denominator capability of the second client device by prioritizing the second set of components; and
providing the configured software application having the identified components to the first client device and the second client device,wherein use of different combinations of the identified components for different devices allows an identical version of the base module to perform a logical function using sophisticated device capabilities on the first client device having the sophisticated device capabilities and to perform the logical function using less sophisticated device capabilities on the second client device that does not have the sophisticated device capabilities.
2 Assignments
0 Petitions
Accused Products
Abstract
Under the present invention, when a request is received from a client device for a particular software application, the client device will first be interrogated to determine the device platform. Thereafter, the client device will be probed (e.g., from a remote bundle repository) to determine to determine its capabilities. Then, certain components of the requested application can be identified and configured to best take advantage of the client device'"'"'s capabilities.
17 Citations
27 Claims
-
1. A method for adapting software applications for client devices, comprising:
-
receiving at a server a request for a software application from a first client device and a second request for the software application from a second client device; probing from the server the first client device to determine capabilities of the first client device in response to receipt of the request and the second client device to determine capabilities of the second client device in response to receipt of the second request; identifying a first set of components of the software application based on the capabilities of the first client device and a second set of components of the software application based on the capabilities of the second client device determined by the probing, every one of the components in the first set of components and the second set of components being independent modules configured to provide a single capability for performing a logical function when used by a base module of the software application, wherein the identifying identifies only components of the software application that the first client device and the second client device are capable of implementing and identifies all components that the first client device and the second client device are capable of implementing; automatically configuring the base module for operation on the first client device and automatically configuring the base module for operation on the second client device with all of the identified components based on the capabilities determined via the probing so as to take advantage of a highest common denominator capability of the first client device by prioritizing the first set of components and so as to take advantage of a highest common denominator capability of the second client device by prioritizing the second set of components; and providing the configured software application having the identified components to the first client device and the second client device, wherein use of different combinations of the identified components for different devices allows an identical version of the base module to perform a logical function using sophisticated device capabilities on the first client device having the sophisticated device capabilities and to perform the logical function using less sophisticated device capabilities on the second client device that does not have the sophisticated device capabilities. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for adapting software applications for client devices, comprising:
-
providing a server connected over a network to a plurality of client devices; receiving at the server a request for a software application from one of the plurality of client devices; probing from the server, based on receipt of the request, the one client device to determine its capabilities; identifying components of the software application based on the capabilities of the one client device determined by the probing, wherein only those components of the software application that the one client device is capable of exploiting will be identified and all components of the software application that the one client device is capable of exploiting will be identified; providing the configured software application having the identified components to the one client device so as to take advantage of a highest common denominator capability of the client device by prioritizing the identified components; and automatically configuring the software application with all of the identified components according to the capabilities of the one client device determined via the probing, all of the plurality of client devices running an identical version of the same preconfigured software application.
-
-
10. A system for adapting software applications for client devices, comprising:
-
a computer server device having; a system for receiving a request for a software application from a client device; a system for probing, based on receipt of the request, the client device to determine capabilities of the client device; a system for identifying components of the software application based on the capabilities of the client device determined by the probing, wherein the identifying identifies only components of the software application that the client device is capable of implementing and identifies all components that the client device is capable of implementing; and a system for automatically configuring the application for operation on the client device with all of the identified components based on the capabilities determined via the probing so as to take advantage of a highest common denominator capability of the client device by prioritizing the identified components; and a system for providing the configured software application having the identified components to the client device, wherein use of different combinations of the identified components for different devices allows an identical version of a base module of the software application to perform a logical function using sophisticated device capabilities on a first device having the sophisticated device capabilities and to perform the logical function using less sophisticated device capabilities on a second device that does not have the sophisticated device capabilities. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A program product stored on a recordable medium for adapting software applications for client devices, which when executed, comprises:
-
a program code for receiving at a server a request for a software application from a client device; a program code for probing, based on receipt of the request, from the server the client device to determine capabilities of the client device; a program code for identifying components of the software application based on the capabilities of the client device determined by the probing, wherein the identifying identifies only components of the software application that the client device is capable of implementing and identifies all components that the client device is capable of implementing; a program code for automatically configuring the application for operation on the client device with all of the identified components based on the capabilities determined via the probing so as to take advantage of a highest common denominator capability of the client device by prioritizing the identified components; and a program code for providing the configured software application having the identified components to the client device, wherein use of different combinations of the identified components for different devices allows an identical version of a base module of the software application to perform a logical function using sophisticated device capabilities on a first device having the sophisticated device capabilities and to perform the logical function using less sophisticated device capabilities on a second device that does not have the sophisticated device capabilities. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A method for deploying an application for adapting software applications for client devices, comprising:
-
providing a computer infrastructure being operable to; receive at a server a request for a software application from a client device; probe from the server, based on receipt of the request, the client device to determine capabilities of the client device; identify components of the software application based on the capabilities of the client device determined by the probing, wherein the identifying identifies only components of the software application that the client device is capable of implementing and identifies all components that the client device is capable of implementing; automatically configure the application for operation on the client device with all of the identified components based on the capabilities determined via the probing so as to take advantage of a highest common denominator capability of the client device by prioritizing the identified components; and provide the configured software application having the identified components to the client device, wherein use of different combinations of the identified components for different devices allows an identical version of a base module of the software application to perform a logical function using sophisticated device capabilities on a first device having the sophisticated device capabilities and to perform the logical function using less sophisticated device capabilities on a second device that does not have the sophisticated device capabilities.
-
-
27. Computer software embodied in a computer device for adapting software applications for client devices, the computer software comprising instructions to cause a computer system to perform the following functions:
-
receive a request for a software application from a client device; probe from the server, based on receipt of the request, the client device to determine capabilities of the client device; identify components of the software application based on the capabilities of the client device determined by the probing, wherein the identifying identifies only components of the software application that the client device is capable of implementing and identifies all components that the client device is capable of implementing; automatically configure the application for operation on the client device with all of the identified components based on the capabilities determined via the probing so as to take advantage of a highest common denominator capability of the client device by prioritizing the identified components; and provide the configured software application having the identified components to the client device, wherein use of different combinations of the identified components for different devices allows an identical version of a base module of the software application to perform a logical function using sophisticated device capabilities on a first device having the sophisticated device capabilities and to perform the logical function using less sophisticated device capabilities on a second device that does not have the sophisticated device capabilities.
-
Specification