Systems and methods for providing a platform-specific porting layer for multi-level software stacks

US9977673B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9977673-B1
Application numberUS-201514938488-A
CountryUS
Kind codeB1
Filing dateNov 11, 2015
Priority dateNov 13, 2014
Publication dateMay 22, 2018
Grant dateMay 22, 2018

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.

Systems and methods are disclosed for providing a platform-dependent porting layer. The method includes receiving source code, provided by a user, comprising a plurality of generic instructions. The method includes determining a platform type of a target platform for executing the source code. The method includes retrieving, based on the platform type, a porting layer, associated with the target platform, comprising a plurality of platform-specific instructions. The method includes mapping each generic instruction of the plurality of generic instructions to a platform-specific instruction of the plurality of platform-specific instructions.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for providing a platform-dependent porting layer, the method comprising: receiving source code, provided by a user, comprising a plurality of generic instructions associated with a template porting layer associated with a plurality of platform types, wherein the template porting layer is configured to be modified to comprise a plurality of platform-specific instructions associated with a platform type of the plurality of platform types; determining a platform type of a target platform for executing the source code; retrieving, from a database, the template porting layer associated with the plurality of platform types, wherein the plurality of platform types includes the platform type of the target platform; modifying a feature parameter of the template porting layer based on capabilities of the platform type into a modified feature parameter that is compatible with an application running on the target platform by: in response to determining that a required operation for generating the modified feature parameter is unavailable from the target platform, identifying at least one operation supported by the target platform as an intermediate operation to indirectly achieve a same result with the required operation; combining the at least one operation supported by the target platform and a result generated by the at least one operation to provide a new operation corresponding to the required operation in a form of a function wrapper that is executable via the plurality of platform-specific instructions by the target platform; compiling the modified porting layer comprising a plurality of platform-specific instructions with software associated with the platform type of the target platform; mapping each generic instruction of the plurality of generic instructions to a platform-specific instruction of the plurality of platform-specific instructions; and executing, via a processor corresponding to the target platform, a compiled version of the source code on the target platform. 2. The method of claim 1 , wherein the plurality of platform-specific instructions corresponds to instructions defined in a generic architecture. 3. The method of claim 1 , further comprising: determining the capabilities of the target platform based on the platform type. 4. The method of claim 1 , further comprising mapping each generic instruction of the plurality of generic instructions to a platform-specific instruction of a second plurality of platform-specific instructions associated with a second target platform. 5. The method of claim 1 , wherein the porting layer isolates the plurality of platform-specific instructions, and higher layers in a software stack comprise the plurality of generic instructions. 6. The method of claim 1 , wherein the plurality of platform-specific instructions includes a plurality of indications of the capabilities of the target platform. 7. The method of claim 1 , wherein the plurality of platform-specific instructions includes interface definitions. 8. The method of claim 1 , wherein the plurality of platform-specific instructions includes data structure definitions. 9. A system for providing a platform-dependent porting layer, the system comprising control circuitry configured to: receive source code, provided by a user, comprising a plurality of generic instructions associated with a template porting layer associated with a plurality of platform types, wherein the template porting layer is configured to be modified to comprise a plurality of platform-specific instructions associated with a platform type of the plurality of platform types; determine, using a processor, a platform type of a target platform for executing the source code; retrieve, from a database, the template posting layer associated with the plurality of platform types, wherein the plurality of platform types includes the platform type of the target platform; modify, using the processor, a feature parameter of the template porting layer based on capabilities of the platform type into a modified feature parameter that is compatible with an application running on the target platform by: in response to determining that a required operation for generating the modified feature parameter is unavailable from the target platform, identifying at least one operation supported by the target platform as an intermediate operation to indirectly achieve a same result with the required operation; combining the at least one operation supported by the target platform and a result generated by the at least one operation to provide a new operation corresponding to the required operation in a form of a function wrapper that is executable via the plurality of platform-specific instructions by the target platform; compile, using the processor, the modified porting layer comprising a plurality of platform-specific instructions with software associated with the platform type of the target platform; map, using the processor, each generic instruction of the plurality of generic instructions to a platform-specific instruction of the plurality of platform-specific instructions; and execute, via a processor corresponding to the target platform, a compiled version of the source code on the target platform. 10. The system of claim 9 , wherein the plurality of platform-specific instructions corresponds to instructions defined in a generic architecture. 11. The system of claim 9 , wherein the control circuitry is further configured to: determine the capabilities of the target platform based on the platform type. 12. The system of claim 9 , wherein the control circuitry is further configured to map each generic instruction of the plurality of generic instructions to a platform-specific instruction of a second plurality of platform-specific instructions associated with a second target platform. 13. The system of claim 9 , wherein the porting layer isolates the plurality of platform-specific instructions, and higher layers in a software stack comprise the plurality of generic instructions. 14. The system of claim 9 , wherein the plurality of platform-specific instructions includes a plurality of indications of the capabilities of the target platform. 15. The system of claim 9 , wherein the plurality of platform-specific instructions includes interface definitions. 16. The system of claim 9 , wherein the plurality of platform-specific instructions includes data structure definitions.

Assignees

Inventors

Classifications

  • G06F8/76Primary

    Adapting program code to run in a different environment; Porting · CPC title

  • Transformation of program code · CPC title

  • Software reuse · 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 US9977673B1 cover?
Systems and methods are disclosed for providing a platform-dependent porting layer. The method includes receiving source code, provided by a user, comprising a plurality of generic instructions. The method includes determining a platform type of a target platform for executing the source code. The method includes retrieving, based on the platform type, a porting layer, associated with the targe…
Who is the assignee on this patent?
Marvell Int Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/76. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 22 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).