Patent Number: 
Section: claims

1. A method, comprising:identifying, by a processor, at least a first benchmark test procedure to evaluate at least a first and a second target platform for use with an application, said at least first benchmark test procedure including at least a first unit test;receiving by a communication device test result data from tests performed on said at least first and second target platform using said at least first benchmark test procedure; andperforming, by said processor, a matching analysis to determine which of said at least first and second target platform is a best fit for said application;wherein said identifying, by the processor, at least a first benchmark test procedure further includes generating an application resource usage profile associated with the application;wherein said application resource usage profile includes a plurality of canonical forms, each canonical form associated with a relevance weighting;wherein said plurality of canonical forms include at least one canonical form selected from the group consisting off multithreaded, networking, floating point, memory intensive, integer intensive, and I/O disk processing. 2. The method of claim 1, wherein said application resource usage profile includes at least one canonical form associated with the application. 3. The method of claim 1, wherein the benchmark test procedure is selected from a library of available benchmark test procedures. 4. The method of claim 3, wherein the benchmark test procedure comprises a plurality of unit test procedures, and said test result data includes test result data from each of said plurality of unit test procedures. 5. A method comprising:identifying, by a processor at least a first benchmark test procedure to evaluate at least a first and a second target platform for use with an application, said at least first benchmark test procedure including at least a first unit test;receiving, by a communication device, test result data from tests performed on said at least first and second target platform using said at least first benchmark test procedure; andperforming, by said processor, a matching analysis to determine which of said at least first and second target platform is a best fit for said application;wherein the matching analysis by the processor further comprises: grouping said test result data by target platform, by benchmark test, and by unit test;generating a set of platform placement scores within each benchmark test;normalizing said set of platform placement scores within each benchmark test; andgenerating a set of platform rankings. 6. A processing apparatus, comprising:a communication device to receive and transmit information via a communication network;a processor coupled to the communication device; anda storage device in communication with said processor and storing instructions adapted to be executed by said processor to:identify at least a first benchmark test procedure to evaluate at least a first and a second target platform for use with an application, said at least first benchmark test procedure including at least a first unit test;receive test result data from tests performed on said at least first and second target platform using said at least first benchmark test procedure; andperform a matching analysis to determine which of said at least first and second target platform is a best fit for said application;wherein said instructions adapted to identify at least a first benchmark test procedure further include instructions to generate an application resource usage profile associated with the application;wherein said application resource usage profile includes a plurality of canonical forms, each canonical form associated with a relevance weighting;wherein said plurality of canonical forms include at least one canonical form selected from the group consisting of: multithreaded, networking, floating point, memory intensive, integer intensive, and I/O disk processing. 7. The apparatus of claim 6, wherein said application resource usage profile includes at least one canonical form associated with the application. 8. The apparatus of claim 6, wherein the benchmark test procedure is selected from a library of available benchmark test procedures. 9. The apparatus of claim 8, wherein the benchmark test procedure comprises a plurality of unit test procedures, and said test result data includes test result data from each of said plurality of unit test procedures. 10. A processing apparatus comprising:a communication device to receive and transmit information via a communication network;a processor coupled to the communication device; anda storage device in communication with said processor and storing instructions adapted to be executed by said processor to:identify at least a first benchmark test procedure to evaluate at least a first and a second target platform for use with an application, said at least first benchmark test procedure including at least a first unit test;receive test result data from tests performed on said at least first and second target platform using said at least first benchmark test procedure; andperform a matching analysis to determine which of said at least first and second target platform is a best fit for said application;wherein said instructions adapted to perform a matching analysis further comprise instructions adapted to:group said test result data by target platform, by benchmark test, and by unit test;generate a set of platform placement scores within each benchmark test;normalize said set of platform placement scores within each benchmark test; andgenerate a set of platform rankings. 11. A platform matching system, comprising:an application resource profile generator to: (i) monitor an application during runtime, (ii) generate data identifying the time spent in resource access system calls, (iii) generate an application resource profile identifying a ratio of time spent in said resource access system calls to the overall application runtime;a platform analysis system to: (i) identify a set of benchmark tests; (ii) receive benchmark test data associated with one or more target platforms; and (iii) store said benchmark test data; anda matching system to: (i) receive said application resource profile; (ii) receive said benchmark test data associated with at least a first target platform; (iii) compare said application resource profile with said benchmark test data; and (iv) match said application with at least a first target platform based on said comparison. 12. The platform matching system of claim 11, further comprising:a monitoring system to: (i) receive production runtime data from a plurality of applications deployed in a production environment; and (ii) store said runtime data for use by said matching system. 13. The method of claim 5, wherein the benchmark test procedure is selected from a library of available benchmark test procedures. 14. The method of claim 13, wherein the benchmark test procedure comprises a plurality of unit test procedures, and said test result data includes test result data from each of said plurality of unit test procedures. 15. The apparatus of claim 10, wherein the benchmark test procedure is selected from a library of available benchmark test procedures. 16. The apparatus of claim 15, wherein the benchmark test procedure comprises a plurality of unit test procedures, and said test result data includes test result data from each of said plurality of unit test procedures.