Intel® AMT Reference Design Kit: Technical Overview

Submit New Article

Last Modified On :   August 21, 2008 11:08 AM PDT
Rate
 


by Matt Gillespie

The Intel® Active Management Technology (Intel® AMT) Reference Design Kit (RDK) is a free, open-source utility and set of building blocks. Built on top of the Intel AMT Software Development Kit (SDK), it helps developers accelerate their adoption and implementation of Intel AMT in manageability applications.

Overview

Developers of network management applications stand to gain considerable new functionality in their products by implementing support for Intel AMT features, helping to differentiate their products in the market on next-generation hardware. By implementing support for Intel AMT, management software becomes capable of remotely discovering, healing, and protecting computing assets in any operational state, including when machines are powered down or the operating system has failed. For an overview of the features and capabilities of Intel AMT, see the Intel Active Management Technology Overview.

In order to facilitate adoption of Intel AMT, Intel has provided a number of free tools for application developers and system administrators that simplify implementation of the technology. These include a Software Development Kit (SDK), which provides Java* application programming interfaces (APIs) and libraries, as well as a software-based emulator that simulates Intel AMT-capable hardware. The Intel AMT Setup and Configuration Service is also available, which provides an installer and configuration engine for remotely setting up and configuring Intel AMT devices on a network.

The Intel AMT Reference Design Kit (RDK) complements the tools identified above with a utility for exploring the capabilities of Intel AMT-enabled platforms, as well as the means to implement those capabilities in network management applications. The components of the Intel AMT RDK can be used on any operating system, and full source code is provided that may be freely re-used. The RDK consists of three downloadable packages that are available to the general public, free of charge:

  1. RDK Utility Application Package is a self-contained, GUI-based utility for easily exploring Intel AMT capabilities on Microsoft Windows* or Linux* platforms.
  2. RDK Building Block Package is a library of Java classes that can be reused to quickly implement Intel AMT functionality.
  3. RDK Sources Package contains open-source Java source code and build scripts for the RDK building blocks.

 

Achieving Faster Time to Market with the Intel AMT RDK

At the heart of the value to developers of the Intel AMT RDK is the ability to more easily build simple, affordable Intel AMT console solutions. The building blocks in the RDK abstract implementation details away from developers, allowing them to implement the technology rapidly, without consuming excessive design and coding time.

For example, a developer implementing the Intel AMT functionality to retrieve hardware-asset information from a remote host using APIs from the Intel AMT SDK (based on the AssetDisplay.cpp sample distributed with the SDK) would use approximately 850 lines of code. Performing the same functionality with the Intel AMT RDK Hardware Asset building block requires only 20 or so lines of code, as shown below:

HWAMain.java



import com.intel.platform.iamt.buildingblock.*;



public class HWAMain {

public HWAMain() {

super();

}

public static void main(String[] args) {

System.out.println("Start main");

try{

HardwareAssetInterface sa = new HardwareAssetInterface( "admin", "P@ssw0rd", "192.168.1.90" );

String s = sa.hwAssetDisplayAll();

if (s.length()>0) {

System.out.println(s);

}

else {

int errcode = sa.getStatusCode();

PtStatus pt = new PtStatus();

System.out.println(pt.getStatusString(errcode));

}

} catch(Exception e) {

System.out.println("I am in main "+e.getMessage( ));

e.printStackTrace();

}

System.out.println("End main");

}

}

 

Because of the added simplicity afforded by the use of Intel AMT RDK building blocks, developers can dramatically simplify the code required, which decreases the time associated with adding this functionality. That time savings could decrease the cost to develop the application, as well as getting it to market sooner.

Key Uses for Each of the Three RDK Downloadable Packages

The three download packages that make up the RDK each offer discrete capabilities that simplify the adoption of Intel AMT. Used individually or together, they can help familiarize developers quickly with the capabilities afforded by Intel AMT, as well as accelerating the integration of support for those capabilities into existing network management applications:

  • The RDK Utility Application Package provides a means to explore the capabilities of Intel AMT in network platforms. It contains the resources that a developer needs to rapidly begin working hands-on with Intel AMT-enabled platforms, including the utility application itself and a comprehensive user guide. This utility supports gathering information on hardware assets and remotely performing event-management functions, managing network settings, and performing power-control operations on client machines. It also supports monitoring and manipulating system-defense capabilities, storage access, redirection, and a variety of software-agent functions.
  • The RDK Building Blocks Package contains the resources that a developer needs to reuse the building blocks for management applications, including a set of Java binaries that perform various Intel AMT tasks, as well as the Intel AMT RDK Building Block API Guide. The API Guide documents the Java classes included in the RDK Building Blocks Package and the APIs exposed from them. It also provides usage examples for many of the classes that show how to use the building blocks in practice. Building blocks support Local In-band (agent-side) and Remote Out-of-Band (console-side) Intel AMT features.
  • The RDK Sources Package contains the resources that a developer needs in order to customize the building block code for additional specific needs. It consists of the Java source code for the building block Java classes, as well as associated build scripts. The build scripts will install the Java source code to create the required namespace schemas needed by the RDK building blocks and invoke the Java compiler to build the RDK Building Block Java classes.

 

The following table gives a high-level summary of the uses that developers may realize from each package, in terms of the high-level tasks for which each package is designed:

Package RDK Utility Application RDK Building Blocks RDK Sources
Key Uses
  • Begin using Intel® AMT features without having to build anything
  • Assess Intel AMT capabilities and opportunities
  • Choose features to use in management applications
  • Develop/prototype Intel AMT functionality rapidly in Java*
  • Add support for Intel AMT features without hand-coding
  • Provide a starting point for building custom functionality
  • Customize RDK building blocks
  • Port RDK building blocks to other languages
  • Get a head start on development with freely modifiable code
  • Provide a reference for use of low-level SOAP APIs in the SDK
  • Obtain maximum extensibility from the RDK

 

Using the RDK Packages Together to Implement Intel AMT Features

Each of the downloadable Intel AMT packages has the goal of helping developers to more rapidly and cost-effectively add Intel AMT features into management applications and to simplify the creation of Intel AMT management consoles. As described above, each package taken individually has a distinct role in enabling that goal. The three packages also work together to provide a comprehensive, multi-faceted approach toward implementing pre-coded functionality into management applications.

The three packages can be incorporated into the software-development workflow in a variety of ways. Figure 1 gives one example of how the RDK enables developers to rapidly assess which features of Intel AMT match with the requirements and goals of their specific project and then to incorporate that functionality.



Figure 1. A simple example workflow that incorporates all three downloadable packages of the Intel® AMT RDK

While the implementation details associated with integrating the RDK into specific d evelopment initiatives will vary, this example illustrates how the three packages complement each other. Of course, many development organizations may choose to use only one or two of the packages in isolation. For example, developers who have a specific, targeted set of requirements in mind may simply download the building blocks and build a console solution.

In such a case, using those binaries does not require use of the source code that underlies them, and the developer may not wish to invest the additional effort involved in adding to the native functionality of the building blocks. Others may wish to use the building blocks only as a reference to facilitate their own development. That flexibility allows decisions about what is required for an individual project to be made by the development team on an as-needed basis.

Conclusion

The Intel AMT RDK provides developers with a means to rapidly assess the capabilities of Intel AMT, produce management console applications, or accelerate the adoption of Intel AMT features into their applications. The three download packages offered as part of the RDK offer developer benefits individually and in combination. By tailoring the use of these tools to the requirements of an individual project, developers can simplify their solutions, control costs, and speed up time to market.

Additional Resources

The following materials provide further information on the Intel AMT RDK and the other topics discussed in this paper:

 

About the Author

Matt Gillespie is an independent technical author and editor working out of the Chicago area and specializing in emerging hardware and software technologies. Before going into business for himself, Matt developed training for software developers at Intel Corporation and worked in Internet Technical Services at California Federal Bank. He spent his early years as a writer and editor in the fields of financial publishing and neuroscience.