Patent ID: 8635675

Claim:
A method for providing a programmable integrated circuit (IC) as a service, the method comprising: receiving a programmable IC design package at a data center; adding a management payload to the IC design package; creating a user key associated with the IC design package, wherein the user key matches the management payload; providing selective access to the programmable IC through one or more virtual machines of the data center by employing the user key, wherein the one or more virtual machines communicate with the programmable IC using the user key and employ a custom hardware accelerator uploaded by a user associated with the IC design package; enabling a launch of the one or more virtual machines, wherein the one or more virtual machines communicate with the programmable IC through a controller managing the programmable IC; executing the IC design package at the programmable IC; providing at least one of a billing tracking service and a provisioning management service associated with execution of the IC design package at the programmable IC; and tracking a usage of the programmable IC based on a billing metric which includes a deployed time and a consumed power.