Techniques for distributed operation of secure controllers

US2016378443A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016378443-A1
Application numberUS-201514751519-A
CountryUS
Kind codeA1
Filing dateJun 26, 2015
Priority dateJun 26, 2015
Publication dateDec 29, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Various embodiments are generally directed to techniques for supporting the distributed execution of a task routine among multiple secure controllers incorporated into multiple computing devices. An apparatus includes a first processor component and first secure controller of a first computing device, where the first secure controller includes: a selection component to select the first secure controller or a second secure controller of a second computing device to compile a task routine based on a comparison of required resources to compile the task routine and available resources of the first secure controller; and a compiling component to compile the task routine into a first version of compiled routine for execution within the first secure controller by the first processor component and a second version for execution within the second secure controller by a second processor component in response to selection of the first secure controller. Other embodiments are described and claimed.

First claim

Opening claim text (preview).

1 . An apparatus comprising: a first processor component; and a first secure controller of a first computing device, the first secure controller comprising: a selection component to select one of the first secure controller and a second secure controller of a second computing device to compile a task routine based at least on a comparison of a required resource to compile the task routine and an available resource of the first secure controller; and a compiling component to compile the task routine into a first version of a compiled routine for execution within the first secure controller by the first processor component and a second version of the compiled routine for execution within the second secure controller by a second processor component in response to a selection of the first secure controller to compile the task routine. 2 . The apparatus of claim 1 , the compiling component comprising: a first compiler to compile the task routine to generate the first version of the compiled routine; and a second compiler selected by the compiling component to separately compile the task routine to generate the second version of the compiled routine based on an indication received from the second secure controller of an aspect of the second processor component. 3 . The apparatus of claim 1 , the compiling component comprising: a compiler to compile the task routine to generate the first version of the compiled routine; and a thunking component to translate the first version of the compiled routine to generate the second version of the compiled routine to enable use of at least one of a feature unique to the first processor component or a feature unique to the second processor component through the generation of the first and second versions based on an indication received from the second secure controller of an aspect of the second processor component. 4 . The apparatus of claim 1 , the selection component to repeatedly exchange at least a portion of a device data with the second secure controller, the portion of device data comprising an indication of at least one of an aspect of the first processor component, an aspect of the second processor component, the available resource of the first secure controller, an available resource of the second secure controller, an aspect of a connection of the first computing device to a network extending between the first and second computing devices, or an aspect of a connection of the second computing device to the network. 5 . The apparatus of claim 4 , comprising an execution component to execute at least a portion of the first version of the compiled routine, the selection component to cooperate with the second secure controller to determine whether the first processor component is to execute at least a first portion of the first version of the compiled routine corresponding to a first function of the task routine, and to determine whether the second processor component is to execute at least a second portion of the second version of the compiled routine corresponding to a second function of the task routine. 6 . The apparatus of claim 5 , the execution component to execute at least the first portion of the first version of the compiled routine at least partly in parallel with the compiling component compiling the task routine to generate at least a third portion of the first version of the compiled routine corresponding to a third function of the task routine, and to exchange an indication of a result of execution of at least one of the first portion of the first version of the compiled routine or the second portion of the second version of the compiled routine with the second secure controller. 7 . The apparatus of claim 1 , comprising another processor component external to the first secure controller, the other processor component to execute at least one of an operating system or an application routine, the first secure controller comprising the first processor component, and the first processor component to execute the selection component and the compiling component within the first secure controller in isolation from the other processor component. 8 . The apparatus of claim 1 , the first secure controller comprising a virtual secure controller provided by the first processor component, and the first processor component to execute the selection component and the compiling component within the first controller in isolation from execution of at least one of an operating system and an application routine by the first processor component. 9 . A computer-implemented method comprising: selecting one of a first secure controller of a first computing device and a second secure controller of a second computing device to compile a task routine based at least on a comparison of a required resource to compile the task routine and an available resource of the first secure controller; and compiling, using a first processor component of the first secure controller, the task routine into a first version of a compiled routine for execution within the first secure controller by the first processor component and a second version of the compiled routine for execution within the second secure controller by a second processor component in response to a selection of the first secure controller to compile the task routine. 10 . The computer-implemented method of claim 9 , the method comprising: analyzing the task routine to determine the required resource; transmitting an indication of the required resource to the second secure controller; and cooperating with the second controller to select one of the first secure controller and the second secure controller to compile the task routine. 11 . The computer-implemented method of claim 10 , the method comprising transmitting an indication of the available resource to the second secure controller to enable the cooperation. 12 . The computer-implemented method of claim 9 , the method comprising: compiling the task routine to generate the first version of the compiled routine; and separately compiling the task routine to generate the second version of the compiled routine based on an indication received from the second secure controller of an aspect of the second processor component. 13 . The computer-implemented method of claim 9 , the method comprising: compiling the task routine to generate the first version of the compiled routine; and translating the first version of the compiled routine to generate the second version of the compiled routine to enable use of at least one of a feature unique to the first processor component or a feature unique to the second processor component through the generation of the first and second versions based on an indication received from the second secure controller of an aspect of the second processor component. 14 . At least one tangible machine-readable storage medium comprising instructions that when executed by a first processor component, cause the first processor component to: select one of a first secure controller of a first computing device and a second secure controller of a second computing device to compile a task routine based at least on a comparison of a required resource to compile the task routine and an available resource of the first secure controller; and compile, using a first processor component, the task routine into a first version of a compiled routine for execution within the first secure controller by the first processor component and a second version of the compiled routine for execution within the second secure controller by a second processor component in response to a selection of the fi

Assignees

Inventors

Classifications

  • G06F8/41Primary

    Compilation · CPC title

  • considering hardware capabilities · CPC title

  • Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities · CPC title

  • Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity · CPC title

  • Runtime code conversion or optimisation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016378443A1 cover?
Various embodiments are generally directed to techniques for supporting the distributed execution of a task routine among multiple secure controllers incorporated into multiple computing devices. An apparatus includes a first processor component and first secure controller of a first computing device, where the first secure controller includes: a selection component to select the first secure c…
Who is the assignee on this patent?
Sun Mingqiu, Poornachandran Rajesh, Zimmer Vincent J, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F8/41. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 29 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).