US8452950B2 - Component firmware integration in distributed systems - Google Patents

Component firmware integration in distributed systems Download PDF

Info

Publication number
US8452950B2
US8452950B2 US12/795,765 US79576510A US8452950B2 US 8452950 B2 US8452950 B2 US 8452950B2 US 79576510 A US79576510 A US 79576510A US 8452950 B2 US8452950 B2 US 8452950B2
Authority
US
United States
Prior art keywords
firmware
platforms
efi
model
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US12/795,765
Other versions
US20100250916A1 (en
Inventor
Vincent J. Zimmer
Michael A. Rothman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to US12/795,765 priority Critical patent/US8452950B2/en
Publication of US20100250916A1 publication Critical patent/US20100250916A1/en
Application granted granted Critical
Publication of US8452950B2 publication Critical patent/US8452950B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Definitions

  • This relates generally to computer systems and, particularly, to firmware used in connection with booting computer systems.
  • a computer system may boot using firmware including a basic input/output system stored on a memory such as a flash memory.
  • the pre-boot environment is characterized by initiating power to a given platform, and fetching a set of code from the platform firmware to commence boot in the processor.
  • EFI extensible firmware interface
  • firmware in a flash memory that executes and germinates an EFI operational environment.
  • EFI is characterized by a set of boot services, including memory allocation, time, stall, and setting time.
  • EFI is characterized by a set of protocols that are installable interfaces identified by globally unique identifiers.
  • the various protocol capabilities or services can be published for global use. For example, if the computing device has the universal serial bus, there is a protocol for that bus that a driver publishes.
  • EFI includes a class of images or executables called EFI drivers.
  • An EFI driver is a portable executable, common object file format image.
  • the EFI 1.1 Specification may be obtained from Intel Corporation, Santa Clara, Calif.
  • FIG. 1 is a hardware and software depiction of a platform in accordance with one embodiment of the present invention.
  • FIG. 2 is a depiction of a system for providing firmware updates.
  • a universal, global model may be provided for firmware.
  • different computer systems that comply with the global model may be updated, regardless of the computer manufacturer and regardless of the firmware developer.
  • the flash memory that stores the firmware can be implemented as part of a dynamic system initiative (DSI). See Dynamic Systems 2007: Get Started With Dynamic Systems Technology Today, available from Microsoft Corp., Redmond, Wash.
  • SDM system definition model
  • a distributed system is any set of related software and hardware resources working together to accomplish a common function.
  • Multitier line of business applications, Web services, e-commerce sites, and enterprise data centers are examples of such systems.
  • SDM one can create a blueprint of an entire enterprise. This blueprint can be created and manipulated with software tools. It may also be used to define system elements and capture data pertinent to development, deployment, and operations so that the data becomes relevant across the entire information technology life cycle.
  • SDM captures in a self-contained model, all the invariant aspects of a system, including the desired configuration policies and behaviors. It also enables functional decomposition of systems through configurations and classes.
  • a platform 10 may any type of computer system. It may include platform hardware which may assume any possible computer architecture.
  • the hardware 12 may include a processor 24 coupled to a chipset 22 , in turn, coupled to a flash memory 20 in one embodiment.
  • the processor, chipset, and flash memory may be combined on a single motherboard.
  • the platform hardware works with an EFI core 14 .
  • the EFI core in turn, communicates with an EFI driver 16 for the chipset 22 and an EFI driver 18 for the processor 18 . Similar drivers may be provided for many other hardware components.
  • firmware from various platform manufacturers and firmware developers may be more portable across many different hardware platforms.
  • updates and bug fixes may be relatively easily implemented.
  • the firmware follows a common format defined and published to all through SDM and DSI, fixes may be made generally available as well.
  • updates and corrections may be relatively easily distributed across different platform types from different platform manufacturers. This is particularly valuable for enterprises or data centers that may have a variety of ad hoc collections of platforms.
  • Each platform currently may have different firmware and, in each case, firmware corrections must be obtained from various sources. If all the platforms were compliant with the SDM model using EFI as described herein, any platform could be updated or repaired using a common operation.
  • systems that are not EFI compliant can even be converted into EFI compatible systems with EFI compatible drivers.
  • Existing drivers can be transformed into EFI compatible pre-boot drivers by encapsulating the operating system vendor's driver. Service calls for input and output of these drivers are mapped to the EFI core 14 .
  • a block input/output protocol may still be published as an external, callable interface.
  • the file system driver recognizes a request for a block input/output, but how the actual input/output operations are sequences or in concert with a wrapper driver that encapsulates the operating system driver and makes it compatible with the EFI system.
  • EFI enables firmware in the form of firmware modules and drivers to be loaded from a variety of different resources, including primary and secondary flash devices, option ROMs, various persistent storage devices, and even computer networks, a range of applications may be possible.
  • EFI framework provides processor independent intermediate language known as EFI byte code or EBC.
  • Drivers and modules written in EBC are interpreted at execution time by an appropriate interpreter for the platform. This enables a common set of EBC to support different platform architectures.
  • Modules and components may be written in type-safe, intermediate language called the common language infrastructure to be deployed across execution environments, including pre-boot and operation system runtime environments.
  • the common language infrastructure is implemented in connection with an EFI based architecture, in combination with runtime programmatic infrastructure.
  • EFI drivers are written in C language and then compiled into a .EFI executable. Since C is not completely a type-safe language, the compiled .EFI executable is, likewise, non-type-safe. For example, C allows direct manipulation of values and memory using pointer indirection. This may be addressed, in some embodiments, through the use of a type-safe, intermediate language in corresponding execution infrastructure, in combination with a modified EFI-based loading scheme. In one embodiment, the intermediate language is written to run on the common language infrastructure which has been standardized by an ECMA-335 Specification (European Computer Manufacturers Association, Geneva, Switzerland, 4 th Edition, June 2006) and is part of Microsoft.net initiative to support CPU neutral encodings.
  • ECMA-335 Specification European Computer Manufacturers Association, Geneva, Switzerland, 4 th Edition, June 2006
  • an Information Technology department 28 may have an XML specific set of firmware components 30 that are applicable across a variety of platforms resident in a given data center or enterprise, for example.
  • the Information Technology department 28 may simply access, through the Internet 26 , the server 32 .
  • That server 32 may include chipset firmware or errata 34 and processor firmware errata 36 . If the platforms are part of the SDM and DSI initiatives, and if EFI is utilized, drivers for firmware may be obtained over the Internet, for example, from a common source. These drivers may then be applied to update drivers on any platform within a large enterprise such as a data center.
  • references throughout this specification to “one embodiment” or “an embodiment” mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one implementation encompassed within the present invention. Thus, appearances of the phrase “one embodiment” or “in an embodiment” are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be instituted in other suitable forms other than the particular embodiment illustrated and all such forms may be encompassed within the claims of the present application.

Abstract

A plurality of platforms may be defined in a distributed system. Each of the platforms may include a processor and a chipset from a common source on a single motherboard. Extensible firmware interface drivers are provided for the processors and the chipsets. Each of the platforms may be defined pursuant to a system definition model where the system definition model defines the firmware for each of the platforms. As a result, any of the platforms can be updateable from a common source, such as an Internet web site.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 11/728,385, filed on Mar. 26, 2007 now U.S. Pat. No. 7,761,701.
BACKGROUND
This relates generally to computer systems and, particularly, to firmware used in connection with booting computer systems.
A computer system may boot using firmware including a basic input/output system stored on a memory such as a flash memory. The pre-boot environment is characterized by initiating power to a given platform, and fetching a set of code from the platform firmware to commence boot in the processor.
For an extensible firmware interface (EFI) compliant system, there is firmware in a flash memory that executes and germinates an EFI operational environment. EFI is characterized by a set of boot services, including memory allocation, time, stall, and setting time. In addition, EFI is characterized by a set of protocols that are installable interfaces identified by globally unique identifiers. The various protocol capabilities or services can be published for global use. For example, if the computing device has the universal serial bus, there is a protocol for that bus that a driver publishes. EFI includes a class of images or executables called EFI drivers. An EFI driver is a portable executable, common object file format image. The EFI 1.1 Specification may be obtained from Intel Corporation, Santa Clara, Calif.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a hardware and software depiction of a platform in accordance with one embodiment of the present invention; and
FIG. 2 is a depiction of a system for providing firmware updates.
DETAILED DESCRIPTION
In accordance with some embodiments, a universal, global model may be provided for firmware. Thus, different computer systems that comply with the global model may be updated, regardless of the computer manufacturer and regardless of the firmware developer. In effect then, the flash memory that stores the firmware can be implemented as part of a dynamic system initiative (DSI). See Dynamic Systems 2007: Get Started With Dynamic Systems Technology Today, available from Microsoft Corp., Redmond, Wash.
The dynamic system initiative describes the model of XML based components, from the server to the router to the application stack. The synthesis of these components is encapsulated in extensible mark-up language (XML) documents, including the core system definition model (SDM) schema. SDM is a model that is used to create definitions of distributed systems. A distributed system is any set of related software and hardware resources working together to accomplish a common function. Multitier line of business applications, Web services, e-commerce sites, and enterprise data centers are examples of such systems. Using SDM, one can create a blueprint of an entire enterprise. This blueprint can be created and manipulated with software tools. It may also be used to define system elements and capture data pertinent to development, deployment, and operations so that the data becomes relevant across the entire information technology life cycle.
SDM captures, in a self-contained model, all the invariant aspects of a system, including the desired configuration policies and behaviors. It also enables functional decomposition of systems through configurations and classes.
Referring to FIG. 1, a platform 10 may any type of computer system. It may include platform hardware which may assume any possible computer architecture. The hardware 12 may include a processor 24 coupled to a chipset 22, in turn, coupled to a flash memory 20 in one embodiment. The processor, chipset, and flash memory may be combined on a single motherboard. The platform hardware works with an EFI core 14. The EFI core, in turn, communicates with an EFI driver 16 for the chipset 22 and an EFI driver 18 for the processor 18. Similar drivers may be provided for many other hardware components.
By conforming EFI drivers stored on the flash memory 20 to the SDM system, firmware from various platform manufacturers and firmware developers may be more portable across many different hardware platforms. Thus, if various computer manufacturers provide SDM compliant firmware using the EFI framework, updates and bug fixes may be relatively easily implemented. Because the firmware follows a common format defined and published to all through SDM and DSI, fixes may be made generally available as well. As a result, updates and corrections may be relatively easily distributed across different platform types from different platform manufacturers. This is particularly valuable for enterprises or data centers that may have a variety of ad hoc collections of platforms. Each platform currently may have different firmware and, in each case, firmware corrections must be obtained from various sources. If all the platforms were compliant with the SDM model using EFI as described herein, any platform could be updated or repaired using a common operation.
In some cases, systems that are not EFI compliant can even be converted into EFI compatible systems with EFI compatible drivers. Existing drivers can be transformed into EFI compatible pre-boot drivers by encapsulating the operating system vendor's driver. Service calls for input and output of these drivers are mapped to the EFI core 14. A block input/output protocol may still be published as an external, callable interface. The file system driver recognizes a request for a block input/output, but how the actual input/output operations are sequences or in concert with a wrapper driver that encapsulates the operating system driver and makes it compatible with the EFI system.
Because EFI enables firmware in the form of firmware modules and drivers to be loaded from a variety of different resources, including primary and secondary flash devices, option ROMs, various persistent storage devices, and even computer networks, a range of applications may be possible. EFI framework provides processor independent intermediate language known as EFI byte code or EBC. Drivers and modules written in EBC are interpreted at execution time by an appropriate interpreter for the platform. This enables a common set of EBC to support different platform architectures. Modules and components may be written in type-safe, intermediate language called the common language infrastructure to be deployed across execution environments, including pre-boot and operation system runtime environments. In one embodiment, the common language infrastructure is implemented in connection with an EFI based architecture, in combination with runtime programmatic infrastructure.
Normally, EFI drivers are written in C language and then compiled into a .EFI executable. Since C is not completely a type-safe language, the compiled .EFI executable is, likewise, non-type-safe. For example, C allows direct manipulation of values and memory using pointer indirection. This may be addressed, in some embodiments, through the use of a type-safe, intermediate language in corresponding execution infrastructure, in combination with a modified EFI-based loading scheme. In one embodiment, the intermediate language is written to run on the common language infrastructure which has been standardized by an ECMA-335 Specification (European Computer Manufacturers Association, Geneva, Switzerland, 4th Edition, June 2006) and is part of Microsoft.net initiative to support CPU neutral encodings.
An important part of the common language infrastructure is that the intermediate language encoding lends itself to both build and runtime verification. Such verification includes, but is not limited to, memory safety and strong type safety guarantees. As such, the combination of C/C++ compilers that emit intermediate language with the large body of existing EFI driver C code enables basic input/output systems and platform venders to more easily implement firmware solutions that employ type-safe .EFI files.
Referring to FIG. 2, in accordance with one embodiment of the present invention, an Information Technology department 28 may have an XML specific set of firmware components 30 that are applicable across a variety of platforms resident in a given data center or enterprise, for example. In order to obtain updates of those components which may be applicable to any platform within the Information Technology department's purview, the Information Technology department 28 may simply access, through the Internet 26, the server 32. That server 32 may include chipset firmware or errata 34 and processor firmware errata 36. If the platforms are part of the SDM and DSI initiatives, and if EFI is utilized, drivers for firmware may be obtained over the Internet, for example, from a common source. These drivers may then be applied to update drivers on any platform within a large enterprise such as a data center.
References throughout this specification to “one embodiment” or “an embodiment” mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one implementation encompassed within the present invention. Thus, appearances of the phrase “one embodiment” or “in an embodiment” are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be instituted in other suitable forms other than the particular embodiment illustrated and all such forms may be encompassed within the claims of the present application.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.

Claims (18)

What is claimed is:
1. A method comprising:
using an XML based model of a distributed system to define firmware for a plurality of platforms in a distributed system; and
providing extensible firmware interface drivers for processors and chipsets on said platforms.
2. The method of claim 1 wherein accessing involves accessing a web site over the Internet to obtain firmware updates for said platforms.
3. The method of claim 1 including defining said platforms according to a dynamic system initiative.
4. The method of claim 1 including using extensible markup language for said model.
5. The method of claim 1 including providing said processor and chipset on a single motherboard.
6. The method of claim 1 including providing a separate extensible firmware interface driver for said processor and chipset firmware for each platform.
7. Firmware comprising a series of instructions stored on hardware to perform the steps of:
using an XML based model of a distributed system to define firmware for a plurality of platforms in a distributed system; and
providing extensible firmware interface drivers for processors and chipsets on said platforms.
8. The firmware of claim 7 wherein accessing involves accessing a web site over the Internet to obtain firmware updates for said platforms.
9. The firmware of claim 7 including defining said platforms according to a dynamic system initiative.
10. The firmware of claim 7 including using extensible markup language for said model.
11. The firmware of claim 7 including providing said processor and chipset on a single motherboard.
12. The firmware of claim 7 including providing a separate extensible firmware interface driver for said processor and chipset firmware for each platform.
13. The method of claim 1 wherein using an XML based model of a distributed system includes using a system definition model.
14. The method of claim 1 including validating said firmware.
15. The method of claim 14 including using intermediate language encoding for run time verification.
16. The firmware of claim 7 including instructions to validate said firmware.
17. The firmware of claim 16 including instructions to use intermediate language encoding for run time verification.
18. The firmware of claim 7 wherein said XML based model of a distribution system is a system definition model.
US12/795,765 2007-03-26 2010-06-08 Component firmware integration in distributed systems Active 2028-01-11 US8452950B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/795,765 US8452950B2 (en) 2007-03-26 2010-06-08 Component firmware integration in distributed systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/728,385 US7761701B2 (en) 2007-03-26 2007-03-26 Component firmware integration in distributed systems
US12/795,765 US8452950B2 (en) 2007-03-26 2010-06-08 Component firmware integration in distributed systems

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/728,385 Continuation US7761701B2 (en) 2007-03-26 2007-03-26 Component firmware integration in distributed systems

Publications (2)

Publication Number Publication Date
US20100250916A1 US20100250916A1 (en) 2010-09-30
US8452950B2 true US8452950B2 (en) 2013-05-28

Family

ID=39796341

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/728,385 Expired - Fee Related US7761701B2 (en) 2007-03-26 2007-03-26 Component firmware integration in distributed systems
US12/795,765 Active 2028-01-11 US8452950B2 (en) 2007-03-26 2010-06-08 Component firmware integration in distributed systems

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/728,385 Expired - Fee Related US7761701B2 (en) 2007-03-26 2007-03-26 Component firmware integration in distributed systems

Country Status (1)

Country Link
US (2) US7761701B2 (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761701B2 (en) * 2007-03-26 2010-07-20 Intel Corporation Component firmware integration in distributed systems
US8174348B2 (en) * 2009-12-21 2012-05-08 Volterra Semiconductor Corporation Two-phase coupled inductors which promote improved printed circuit board layout
US8972973B2 (en) * 2012-06-27 2015-03-03 Microsoft Technology Licensing, Llc Firmware update discovery and distribution
US9830289B2 (en) 2014-09-16 2017-11-28 Apple Inc. Methods and apparatus for aggregating packet transfer over a virtual bus interface
US9971397B2 (en) 2014-10-08 2018-05-15 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
KR102261815B1 (en) * 2014-10-30 2021-06-07 삼성전자주식회사 Data storage device for reducing firmware update time, and data processing system including the same
US10042794B2 (en) 2015-06-12 2018-08-07 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
US10085214B2 (en) 2016-01-27 2018-09-25 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
US10558580B2 (en) 2016-02-29 2020-02-11 Apple Inc. Methods and apparatus for loading firmware on demand
US10198364B2 (en) 2016-03-31 2019-02-05 Apple Inc. Memory access protection apparatus and methods for memory mapped access between independently operable processors
US10775871B2 (en) 2016-11-10 2020-09-15 Apple Inc. Methods and apparatus for providing individualized power control for peripheral sub-systems
US10591976B2 (en) 2016-11-10 2020-03-17 Apple Inc. Methods and apparatus for providing peripheral sub-system stability
US10346226B2 (en) 2017-08-07 2019-07-09 Time Warner Cable Enterprises Llc Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
US10331612B1 (en) 2018-01-09 2019-06-25 Apple Inc. Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US10430352B1 (en) 2018-05-18 2019-10-01 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US10585699B2 (en) 2018-07-30 2020-03-10 Apple Inc. Methods and apparatus for verifying completion of groups of data transactions between processors
US10846224B2 (en) 2018-08-24 2020-11-24 Apple Inc. Methods and apparatus for control of a jointly shared memory-mapped region
US10719376B2 (en) 2018-08-24 2020-07-21 Apple Inc. Methods and apparatus for multiplexing data flows via a single data structure
US10789110B2 (en) 2018-09-28 2020-09-29 Apple Inc. Methods and apparatus for correcting out-of-order data transactions between processors
US10838450B2 (en) 2018-09-28 2020-11-17 Apple Inc. Methods and apparatus for synchronization of time between independently operable processors
US11558348B2 (en) 2019-09-26 2023-01-17 Apple Inc. Methods and apparatus for emerging use case support in user space networking
US11829303B2 (en) 2019-09-26 2023-11-28 Apple Inc. Methods and apparatus for device driver operation in non-kernel space
US11606302B2 (en) 2020-06-12 2023-03-14 Apple Inc. Methods and apparatus for flow-based batching and processing
US11775359B2 (en) 2020-09-11 2023-10-03 Apple Inc. Methods and apparatuses for cross-layer processing
US11799986B2 (en) 2020-09-22 2023-10-24 Apple Inc. Methods and apparatus for thread level execution in non-kernel space
US11882051B2 (en) 2021-07-26 2024-01-23 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006834A1 (en) 2007-06-29 2009-01-01 Michael Rothman Proxied firmware updates
US20090007089A1 (en) 2007-06-26 2009-01-01 Rothman Michael A Method and Apparatus to Enable Dynamically Activated Firmware Updates
US7552244B2 (en) * 2001-12-13 2009-06-23 Microsoft Corporation Universal graphic adapter for interfacing with UGA hardware for support of a plurality of emumerated devices
US7630877B2 (en) * 2003-03-06 2009-12-08 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7761701B2 (en) * 2007-03-26 2010-07-20 Intel Corporation Component firmware integration in distributed systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185190B2 (en) * 2003-12-29 2007-02-27 Intel Corporation Pushing capabilities into firmware by an operating system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552244B2 (en) * 2001-12-13 2009-06-23 Microsoft Corporation Universal graphic adapter for interfacing with UGA hardware for support of a plurality of emumerated devices
US7630877B2 (en) * 2003-03-06 2009-12-08 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7761701B2 (en) * 2007-03-26 2010-07-20 Intel Corporation Component firmware integration in distributed systems
US20090007089A1 (en) 2007-06-26 2009-01-01 Rothman Michael A Method and Apparatus to Enable Dynamically Activated Firmware Updates
US20090006834A1 (en) 2007-06-29 2009-01-01 Michael Rothman Proxied firmware updates

Also Published As

Publication number Publication date
US20100250916A1 (en) 2010-09-30
US7761701B2 (en) 2010-07-20
US20080244259A1 (en) 2008-10-02

Similar Documents

Publication Publication Date Title
US8452950B2 (en) Component firmware integration in distributed systems
US7155381B2 (en) Module for developing wireless device applications using an integrated emulator
US7150008B2 (en) Non-invasive rule-based binary analysis of software assemblies
EP3180734B1 (en) Restrictive access control for modular reflection
US8291375B2 (en) Attribute-based component programming system and methodology for object-oriented languages
US7380242B2 (en) Compiler and software product for compiling intermediate language bytecodes into Java bytecodes
US11366643B2 (en) Generating dynamic modular proxies
US11347489B2 (en) Accessing a migrated member in an updated type
US20030236657A1 (en) Method of developing wireless device applications using an integrated emulator and an IDE
US20040268301A1 (en) Adding new compiler methods to an integrated development environment
US7162626B2 (en) Use of common language infrastructure for sharing drivers and executable content across execution environments
EP1347379A2 (en) On demand, network accessible runtime compile server
KR20140057547A (en) Runtime system
US8271622B2 (en) Method and apparatus for a system management tool to adapt command interface and behavior based on installed features
AU2022202175B2 (en) Firmware publication of multiple binary images
US20030061021A1 (en) Control system
US7421715B1 (en) System and method for dynamic late-binding of persistent object implementations in software-based systems
US10452364B2 (en) Method and system for preparing code to be executed by programmable control devices
US20030145127A1 (en) Method and computer program product for providing a device driver
JP3051438B2 (en) How to give enhanced graphics capabilities
US20100169869A1 (en) Supporting method references in the JAVA language
CN112306539A (en) Method, system, terminal and medium for developing application layer of single chip microcomputer
US20050071833A1 (en) Utilization of platform-based optimization routines by a computer system
US8135943B1 (en) Method, apparatus, and computer-readable medium for generating a dispatching function
US11243876B2 (en) Techniques for accessing off-heap memory

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8