<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blogs &#187; Open Source</title>
	<atom:link href="http://software.intel.com/en-us/blogs/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/en-us/blogs</link>
	<description></description>
	<lastBuildDate>Fri, 10 Feb 2012 03:07:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>M2, Moneyball, and a new way to create software</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/29/m2-moneyball-and-a-new-way-to-create-software/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/29/m2-moneyball-and-a-new-way-to-create-software/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 06:28:16 +0000</pubDate>
		<dc:creator>David Stewart (Intel)</dc:creator>
				<category><![CDATA[Embedded Computing]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[software metrics]]></category>
		<category><![CDATA[The Yocto Project]]></category>
		<category><![CDATA[Weighted Defect Density]]></category>
		<category><![CDATA[Yocto]]></category>
		<category><![CDATA[Yocto Project]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/29/m2-moneyball-and-a-new-way-to-create-software/</guid>
		<description><![CDATA[Cross-posted from my blog on the Yocto Project website. Check us out there and the other things we're doing on Embedded Linux. I sat down this morning to jot down a few words about the latest Yocto Project development milestone, which has the very homely name of "M2". We pause at this time to branch [...]]]></description>
			<content:encoded><![CDATA[<p><em>Cross-posted from my blog on the <a href="http://yoctoproject.org">Yocto Project website</a>. Check us out there and the other things we're doing on Embedded Linux.</em></p>
<p>I sat down this morning to jot down a few words about the latest Yocto Project development milestone, which has the very homely name of "M2". We pause at this time to branch our code, run a full pass of our QA suite and make sure we are on track with major features. (This is all good by the way).</p>
<p>The developers working on the Yocto Project are a very interesting bunch - we have people who have worked in open source projects for their entire careers and others who come from the world of product development. It's fascinating to see these worlds intermix as we try to do the right thing to make Linux the  best choice for embedded development.</p>
<p>Now before you think I'm totally confused on this point, let me assure you, I am not. The Yocto Project is not a <strong>product</strong>. It is an open source <strong>project</strong>, which will form the upstream for products, ranging from devices to board support packages to operating systems from the like of Mentor Graphics and Wind River Systems. To be a stable basis for these products, we take seriously the need to track the health of our bits as we develop them.</p>
<p>You can track project health with all kinds of metrics and dashboards and charts. Often it comes down to the experience and intuition of the project leaders to figure things out.</p>
<p>In 2001, the Oakland Athletics baseball team was eliminated from the playoffs by the New York Yankees, a team with three times the money available for players. How could the Athletics (or A's as they are called) ever hope to beat a team with so much money to spend? The tale is told in <strong>Moneyball</strong>, nominated for the 2011 Best Picture Oscar.</p>
<p>Now, I will confess, I am not such a fan of baseball, and I have a hard time caring about such things. What drew me in was the way players are traditionally chosen in baseball. Professional scouts, who are quite experienced in baseball, will evaluate a player based on everything from their statistics to how pretty their girlfriend is<strong>.</strong></p>
<p>How in the world could you evaluate a player on whether they had an attractive girlfriend? This was part of the intuition the scouts would use to indicate a player's confidence.</p>
<p>The A's general manager tries a different tactic. Could you apply economic theory and create a formula that would boil down all of the metrics for a player and create a single number to evaluate them? And can the movie's makers take such a dry topic and make it interesting, as Aaron Sorkin did with <strong>The Social Network</strong>, 2010's Best Picture.</p>
<p>Well, you can judge that last bit for yourself. I thought it was very good (and beautifully photographed as well).</p>
<p>How about the Yocto Project? Can we as leaders boil all those statistics down to a single number to tell us the health of the project? I'd like to think we do.</p>
<p>Meet the<strong> Weighted Defect Density</strong>:</p>
<p>&nbsp;</p>
<p><img src="https://wiki.yoctoproject.org/wiki/images/d/d9/WW02_weighted_defect_density.JPG" alt="File:WW02 weighted defect density.JPG" /></p>
<p>This is just a snapshot I grabbed from the end of <a href="https://wiki.yoctoproject.org/wiki/Yocto_Bug_Trend">https://wiki.yoctoproject.org/wiki/Yocto_Bug_Trend</a> - you can see all kinds of other statistics in there as well. But this is the one I look at first when I want to know how we're doing. TO compute it, we eliminate the bugs which are not defects (there are enhancements and features tracked in Bugzilla as well) and then weight the open bugs by their severity and track this number over time.</p>
<p>This single trend chart gives us a lot of insight into the project. It helps us to ask more questions about what is going on, to drill into other data and to potentially change course. Do we think we're going to hit our goals for the release? Do we need to stop development work and focus people on bug fixing for a while? Maybe we need to stop testing so much and work on fixing bugs. Or maybe the line is lower than we expect it to be and we should be doing <strong>more</strong> testing.</p>
<p>Using a Weighted Defect Density in a project is not a new idea[1]. I first heard about it and used it way back in the early 1990s. But it has proven to be a good indicator of Yocto Project health and helped us make informed decisions.</p>
<p>In <strong>Moneyball</strong>, the hero played by Brad Pitt says his ultimate goal is to change the way the game of baseball is played. He sounds like he could be on the Yocto Project. We're trying to change the way the world develops devices. Time will tell if we're right.</p>
<p>&nbsp;</p>
<p>[1] Robert Baetke, an associate at Sequent Computer Systems learned about the Weighted Defect Density metric at a talk given about how Boeing developed the 787 aircraft. He brought the tool to Sequent and employed in there, and I am very grateful for his contribution to my way of thinking about development.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/29/m2-moneyball-and-a-new-way-to-create-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meshcentral.com - Now with Pogoplug support!</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/24/meshcentralcom-now-with-pogoplug-support/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/24/meshcentralcom-now-with-pogoplug-support/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 05:38:23 +0000</pubDate>
		<dc:creator>Ylian Saint-hilaire (Intel)</dc:creator>
				<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Mobility]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Power Efficiency]]></category>
		<category><![CDATA[Agent]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[MeshCentral]]></category>
		<category><![CDATA[MeshCentral.com]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[pogo]]></category>
		<category><![CDATA[pogoplug]]></category>
		<category><![CDATA[Ylian]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/24/meshcentralcom-now-with-pogoplug-support/</guid>
		<description><![CDATA[A few weeks back I went on eBay and got myself two Pogoplug devices. Very nice little media and file sharing devices, you plug storage in the USB ports and you get access to the data anywhere on the internet. The devices are not expensive at all and very functional. One of the things that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://meshcentral.com"><img class="alignnone size-full wp-image-21651" title="MeshCentral.com" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2010/12/MeshCentral-BlogLogo2.png" alt="" width="670" height="66" /></a></p>
<p>A few weeks back I went on eBay and got myself two <a href="https://pogoplug.com/">Pogoplug</a> devices. Very nice little media and file sharing devices, you plug storage in the USB ports and you get access to the data anywhere on the internet. The devices are not expensive at all and very functional. One of the things that interested me in the device is that you can enable SSH on them, login and install and run more software. Of course, the <a href="https://meshcentral.com">Meshcentral</a> peer-to-peer agent would be a great target for such a device. You can leave your Pogoplug on all the time and then, use it as a low-power presence on the network to wake up other computers, monitor sleeping Intel AMT computers, etc. Best of all, you can use both Meshcentral along with the original Pogoplug software.</p>
<p>So, earlier today I downloaded the proper cross-compiler. I am really getting the hang of this, it took me about an hour to compile the mesh agent and get it running on the device! I also added the new mesh agent to the list of available agents on Meshcentral.com. Now, this is not for everyone just yet, you need to have a good idea what you are doing with Linux and the command prompt. I also did not research how to auto-start the mesh agent yet when the device boots up. Regardless, enable SSH on the Pogoplug web site in the settings and security menu, then I log in and remount the root file system and create a new folder with these commands:</p>
<p>mount -o rw,remount /<br />
mkdir /usr/local/mesh<br />
cd /usr/local/mesh</p>
<p>I am then ready to cut &amp; paste the agent download and launch code from the <a href="https://meshcentral.com">Meshcentral.com</a> account page (hit the Install link). After about a minute, the device will show up on Meshcentral.com and you can access file, get the command prompt, etc. Obviously, no remote desktop available.</p>
<p>That's it for now. Have fun with your new Pogoplug features!</p>
<p>Ylian<br />
<a href="https://meshcentral.com">meshcentral.com</a></p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/pogoplug_v2_front.jpg"><img class="alignnone size-full wp-image-44395" title="pogoplug_v2_front" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/pogoplug_v2_front.jpg" alt="" width="500" height="372" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/24/meshcentralcom-now-with-pogoplug-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meshcentral.com - Improved MacOSX support</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/23/meshcentralcom-improved-macosx-support/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/23/meshcentralcom-improved-macosx-support/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 02:47:35 +0000</pubDate>
		<dc:creator>Ylian Saint-hilaire (Intel)</dc:creator>
				<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Mobility]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[MeshCentral]]></category>
		<category><![CDATA[MeshCentral.com]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[Remote Desktop]]></category>
		<category><![CDATA[Ylian]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/23/meshcentralcom-improved-macosx-support/</guid>
		<description><![CDATA[One of the problems I have been facing over the last few months was around the Mac OSX mesh agent. It just did not work right and so, over the last two weeks, I really made a big effort to improve it. Today, I released version 1.54 of the agent that seems to work much [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://meshcentral.com"><img class="alignnone size-full wp-image-21651" title="MeshCentral.com" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2010/12/MeshCentral-BlogLogo2.png" alt="" width="670" height="66" /></a></p>
<p>One of the problems I have been facing over the last few months was around the Mac OSX mesh agent. It just did not work right and so, over the last two weeks, I really made a big effort to improve it. Today, I released version 1.54 of the agent that seems to work much better. First, the remote desktop feature is back into the mesh agent. It's been out of over two months. So you get the same, entirely web based remote desktop that is already available on Linux and Windows. The mesh agent is also improved with all the latest features and bug fixes.</p>
<p>One of them problems the MacOSX agent still has it that it can't seem to resolve the DNS name of meshcentral.com correctly. So in this version and for MacOSX only, the IP address is hard coded into the mesh agent.  I will need to work to figure out that is causing this problem.</p>
<p>Anyway, Mac users, please try the latest agent and let me know what you think!</p>
<p>Ylian<br />
<a href="https://meshcentral.com">meshcentral.com</a></p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/Mesh-MacOS.png"><img class="alignnone size-full wp-image-44380" title="Mesh-MacOS" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/Mesh-MacOS.png" alt="" width="680" height="668" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/23/meshcentralcom-improved-macosx-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create AMT Certificates using the AMT SDK and OpenSSL</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/18/how-to-create-amt-certificates-using-the-amt-sdk-and-openssl/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/18/how-to-create-amt-certificates-using-the-amt-sdk-and-openssl/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 00:26:52 +0000</pubDate>
		<dc:creator>Gael Holmes Hofemeier (Intel)</dc:creator>
				<category><![CDATA[Intel SW Partner Program]]></category>
		<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Tools]]></category>
		<category><![CDATA[AMT]]></category>
		<category><![CDATA[Certificate]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[TLS.PS1]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/18/how-to-create-amt-certificates-using-the-amt-sdk-and-openssl/</guid>
		<description><![CDATA[Acknowledgements: Special thanks to Ajith Illendula and Sudeepti Balepur for sending this guide to me in order to share with our vPro Developers Community. Objectives: 1.  Create certificates for Intel AMT TLS encryption using the Intel AMT SDK and OpenSSL 2.  Using the  TLS.ps1 script,  configure non TLS configured Intel AMT systems to use  TLS communication [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Acknowledgements:</strong> Special thanks to Ajith Illendula and Sudeepti Balepur for sending this guide to me in order to share with our vPro Developers Community.</p>
<div><strong><br />
</strong></div>
<div><strong>Objectives:</strong></div>
<p>1.  Create certificates for Intel AMT TLS encryption using the Intel AMT SDK and OpenSSL<br />
2.  Using the  TLS.ps1 script,  configure non TLS configured Intel AMT systems to use  TLS communication</p>
<p>Before you get started with the following steps, you may need to make sure your system is configure to run the Intel vPro Module PowerShell Scripts - see the following blog for instructions:</p>
<ul>
<li><a title="Permanent Link: How to Configure your System to Run the IntelvPro PowerShell Module" rel="bookmark" href="http://software.intel.com/en-us/blogs/2012/01/20/how-to-configure-your-system-to-run-the-intelvpro-powershell-module/">How to Configure your System to Run the IntelvPro PowerShell  Module</a></li>
</ul>
<p><strong>STEP 1: </strong>Modify the configuration server to not delete the private key and public key:</p>
<p>Open the file: &lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\ConfigScripts\provend.bat</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/provend.jpg"><img class="alignleft size-full wp-image-44263" title="provend" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/provend.jpg" alt="" width="292" height="190" /></a></p>
<p style="text-align: center;"><span style="font-size: 11px; line-height: normal;"><br />
</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Comment  out or delete the two lines:</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/provenddel.jpg"><img class="alignleft size-full wp-image-44264" title="provenddel" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/provenddel.jpg" alt="" width="414" height="38" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>STEP 2: </strong></p>
<p>If your AMT Client is not part of the Domain, you will need to do the following:</p>
<ul>
<li>Go to the &lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecConfig folder</li>
</ul>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/SecConfig.png"><img class="alignleft size-full wp-image-44265" title="SecConfig" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/SecConfig.png" alt="" width="727" height="292" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<ul>
<li>Edit the Uss.cfg file and look for the <strong>commonName_value. </strong></li>
</ul>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/commonnamestep2.jpg"><img class="alignleft size-full wp-image-44266" title="commonnamestep2" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/commonnamestep2.jpg" alt="" width="566" height="59" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Following </strong>=$ENV::PROVISIONING_HOSTNAME.$ENV<strong> Delete: </strong> “.$ENV::PROVISIONING_DOMAIN ”,</p>
<ul>
<li>Next look for [alt_names]</li>
</ul>
<p>DNS.1  =$ENV::PROVISIONING_HOSTNAME.$ENV::PROVISIONING_DOMAIN,</p>
<p><strong>Delete: </strong> “.$ENV::PROVISIONING_DOMAIN</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/altnamesstep2.jpg"><img class="alignleft size-full wp-image-44267" title="altnamesstep2" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/altnamesstep2.jpg" alt="" width="335" height="46" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>STEP 3: </strong><strong>If the Certificate details such as  Organization Name, Country Name, etc. need to be modified to suit local needs,  then the following files will have to updated:</strong></p>
<ul>
<li>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecConfig\Auditor.cfg</li>
<li>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecConfig\rootCA.cfg</li>
<li>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecConfig\subCA.cf</li>
</ul>
<p>&nbsp;</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/Step3CERT.png"><img class="alignleft size-full wp-image-44268" title="Step3CERT" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/Step3CERT.png" alt="" width="727" height="269" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<ul>
<li>countryName_default             = IL</li>
<li>countryName_value                = US</li>
<li>organizationName                     = Organization Name (eg, company)</li>
<li>organizationName_value       = Your Company Name</li>
<li>commonName                             = Common Name (eg, YOUR name)</li>
<li>commonName_value                = Intel® Active Management Technology root CA demo</li>
</ul>
<p>&nbsp;</p>
<p><strong>STEP 4:  Your certificate needs to reflect the correct Provisioning Hostname. Edit Certgen.bat.</strong></p>
<p>To create the Certificate for a specific  AMT Client, set the Provisioning Hostname to reflect the AMT Hostname for your AMT System.</p>
<p><strong> </strong>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecScripts\certgen.bat</p>
<p>IF "%PROVISIONING_HOSTNAME%"=="" SET PROVISIONING_HOSTNAME=  &lt;no quotes, the host name given to AMT&gt;</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/Hostname.jpg"><img class="alignleft size-full wp-image-44269" title="Hostname" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/Hostname.jpg" alt="" width="578" height="99" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>STEP 5: Create the certificates by running the following (in  this order) </strong></p>
<p><strong> </strong><em>For all the questions, respond with “Y"; no command window is necessary, just double click</em></p>
<ol>
<li><strong> </strong>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecScripts\checkca.bat</li>
<li>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecScripts\certgen.bat</li>
</ol>
<p>All three certificates will be created.</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/generatecerts.png"><img class="alignleft size-full wp-image-44270" title="generatecerts" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/generatecerts.png" alt="" width="562" height="315" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>STEP 6: Copy the hash from the following files for the Root CA, AMT Private Key and the AMT Certificate into the appropriate sections in the TLS.ps1 script (Create a file on your computer by cutting and pasting from this blog.)</strong></p>
<p>Bring up PowerShell ISE as Administrator  and open the TLS.ps1 script.</p>
<ul>
<li>The hashes are in the following files:
<ul>
<li>Trusted Root CA - cacert.cer</li>
<li>AMT Private Key - newkey.pem</li>
<li>AMT Certificate - newcert.pem</li>
</ul>
</li>
</ul>
<p><strong>Trusted root  CA:</strong></p>
<ul>
<li>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecScripts\rootCA\cacert.cer</li>
</ul>
<p><strong>AMT Private  Key:</strong></p>
<ul>
<li>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecScripts\newkey.pem</li>
</ul>
<p><strong>AMT Certificate:</strong></p>
<ul>
<li>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecScripts\newcert.pem</li>
</ul>
<p>Look for the following sections in the TLS.ps1 script and copy the blobs from the above files into the blob sections of the TLS.ps1 file as follows:</p>
<p><strong>cacert.cer:</strong></p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/trustedroothash.jpg"><img class="alignleft size-full wp-image-44271" title="trustedroothash" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/trustedroothash.jpg" alt="" width="540" height="165" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>newkey.pem</strong></p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/amtprivatekey.jpg"><img class="alignleft size-full wp-image-44272" title="amtprivatekey" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/amtprivatekey.jpg" alt="" width="486" height="370" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong> </strong></p>
<p><strong>newcert.pem:</strong></p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/newcert.jpg"><img class="alignleft size-full wp-image-44273" title="newcert" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/newcert.jpg" alt="" width="497" height="385" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>STEP 7:</strong></p>
<p>Run  the TLS.ps1 script, it should install the RootCA and the AMT Private key, AMT  Certificate on the AMT Client.</p>
<p>Make sure to update the Adress - this is the ip address of the AMT Client.  Also ensure you can connect to the Webui - if there is something wrong with the network connection, the TLS.ps1 script will not run.</p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/TLSPS1Config.jpg"><img class="alignleft size-full wp-image-44274" title="TLSPS1Config" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/TLSPS1Config.jpg" alt="" width="568" height="74" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>If the TLS.ps1 file executes without error, your AMT client will now be operating using TLS communication.</p>
<p>You should now be able to connect to the WebUI using<strong> https</strong> and port <strong>16993</strong>:</p>
<p>&nbsp;</p>
<p><strong>STEP 8: When connecting via TLS, you will now get a certificate warning</strong></p>
<p>In  order for the WebUI to open (without the certificate warning), make sure the  following certificates are installed in the respective machine from which the WebUI is being accessed:</p>
<ul>
<li><strong>RootCA:</strong>
<ul>
<li>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecScripts\rootCA\cacert.cer</li>
</ul>
</li>
<li><strong>and SubCA:</strong>
<ul>
<li>&lt;SDK_Root&gt;\Windows\Intel_Manageability_Configuration\Bin\CertGenerator\SecScripts\subCA\subcacert.der</li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<p><strong>STEP 9:  Creating additional Certificates</strong></p>
<ol>
<li><strong>Modify the host  name as defined in Step 4.</strong></li>
<li>After  the new host name is modified, run the certgen.bat file from step <strong>5</strong>.</li>
<li>Follow  steps <strong>6 and 7</strong> to configure the new AMT client for TLS  encryption.</li>
</ol>
<p>&nbsp;</p>
<p>_________________________________________________________________________________________________</p>
<p>The <strong>TLS.PS1</strong> file is as follows (cut and paste it and put it into a script file that can be run on your system.)</p>
<p>Note:  This file is a conglomeration of some of the ps scripts that exist in the Intel AMT SDK.  The same licensing for this snippet is applicable.  To view the legal notice for the Intel AMT SDK go to the download link (it appears when you go to download the SDK.)</p>
<p><a href="http://software.intel.com/en-us/articles/intel-active-management-technology-software-development-kit/">Download Intel® AMT SDK</a></p>
<p>########################################<br />
#   Create a Wsman Connection Object   #<br />
########################################<br />
$wsmanConnectionObject = new-object 'Intel.Management.Wsman.WsmanConnection'<br />
$wsmanConnectionObject.Username = "admin"<br />
$wsmanConnectionObject.Password = "P@ssw0rd"<br />
$wsmanConnectionObject.Address = "http://10.14.164.24:16992/wsman"</p>
<p># Add the Trusted Root CA<br />
$certificateBlob = "<span style="color: #ff0000;">MIIDBzCCAe+gAwIBAgIJAJehJZlKRi2YMA0GCSqGSIb3DQEBBQUAMDIxFTATBgNV</span><br />
<span style="color: #ff0000;"> BAMTDERlbW8gUm9vdCBDQTELMAkGA1UEBhMCSUwxDDAKBgNVBAsTA0ZUTDAeFw0x</span><br />
<span style="color: #ff0000;"> MDExMjIwODI1MDhaFw0yMDExMTkwODI1MDhaMDIxFTATBgNVBAMTDERlbW8gUm9v</span><br />
<span style="color: #ff0000;"> dCBDQTELMAkGA1UEBhMCSUwxDDAKBgNVBAsTA0ZUTDCCASIwDQYJKoZIhvcNAQEB</span><br />
<span style="color: #ff0000;"> BQADggEPADCCAQoCggEBAL4S0DXjcngUXGlqX0oezRHDpUJV0bsp9uQNMPc+LhQe</span><br />
<span style="color: #ff0000;"> pb0aR7Mgyec4zoI5wMhlHsyjbGEo/AzkoQQiZ5d7YVreh7cqfowXkqvCud/+NnCb</span><br />
<span style="color: #ff0000;"> 0Dy7bPSCfrSygAaMQ2Dgu1GZZIgd9oPYU1o/P/SK+xS1+PTa2G6CrJ++yjywcPWM</span><br />
<span style="color: #ff0000;"> avOCe7hDYXo9TlscbJizsvBfglzweJsHjZLZMW5YK62+PS1CzMUY9uQimz3dVUgz</span><br />
<span style="color: #ff0000;"> tItqfefDkMVwJQcAMsTOwg8nj9xZ10LKBRs9+xW2d0exJcAqkwM5df3FoVO9GUjF</span><br />
<span style="color: #ff0000;"> a4qsqGjt3Yj/17H8G0Qtn/nGyrleQyx82mdzvGSCAPcCAwEAAaMgMB4wDwYDVR0T</span><br />
<span style="color: #ff0000;"> AQH/BAUwAwEB/zALBgNVHQ8EBAMCAbYwDQYJKoZIhvcNAQEFBQADggEBABD/TQ+w</span><br />
<span style="color: #ff0000;"> tcejnCCSLI9HRJq1YdtVqreXD0Q3gmsrltrabi09oJkqtILVZwX0C/I3laOObcgy</span><br />
<span style="color: #ff0000;"> n2nv3AT4HjEoGY+ezoUNNZwWyoCIMz11FqkLinUKqfGWjBJbagk9tw2bpibIydFJ</span><br />
<span style="color: #ff0000;"> M1a0Wnn/51mgbSHkNc5q80kHui/8SUkHh9XZ28FbqgLA5k4hSuFLO+K81ATVgqgO</span><br />
<span style="color: #ff0000;"> 657yZ0e/wl4l3Qs4Ssn3T7rdq7KumLQKFFfKlSdbNULW5dvNVRK0yMNcYpbFRa/x</span><br />
<span style="color: #ff0000;"> ghBmBFpIPze/TCUhir8ysL19MBvX5fjmnjGZHfvl3KPNz0YrBvGCtNNX5J3CJFbH</span><br />
<span style="color: #ff0000;"> CaJLIH3FAIfVFMs=</span>"<br />
$publicKeyManagementServiceRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_PublicKeyManagementService WHERE Name='Intel(r) AMT Public Key Management Service'")<br />
$inputObject = $publicKeyManagementServiceRef.CreateMethodInput("AddTrustedRootCertificate")<br />
$inputObject.AddProperty("CertificateBlob", $certificateBlob)<br />
$outputObject = $publicKeyManagementServiceRef.InvokeMethod($inputObject)<br />
$returnValue = $outputObject.GetProperty("ReturnValue")<br />
if($returnValue -like "0")<br />
{<br />
# The $publicKeyCertificateRef is an EPR to the new AMT_PublicKeyCertificate object.<br />
$publicKeyCertificateRef = $outputObject.GetProperty("CreatedCertificate").Ref<br />
}</p>
<p># Add AMT private Key<br />
$keyBlob = "<span style="color: #ff0000;">MIIEogIBAAKCAQEA9NvDxsVLUAf4N7iZgCpjDdTCehQFgQKTtDKTWl8J000NOVvF</span><br />
<span style="color: #ff0000;"> UiniEJUaQzZkRUIQRQcmr82mBe8NYLZeLR+c6FKE1BH9dFFWX7SSvNdWOyVBMGLK</span><br />
<span style="color: #ff0000;"> z5gSbAWidluuzrbreTOnkaNu8jztdAoqCocL3SIIZgdJR5mmSm4lTlvkINgPPQ9r</span><br />
<span style="color: #ff0000;"> SHGdhG4CI0BGAgdxMZ6lvsOqJBhEowEQXueqGwH4/wPfU0++sMrGhmYnsDMkSETk</span><br />
<span style="color: #ff0000;"> 23nI+vS9hIlCu0iagtAdBTJgeNd0TYi2kRBmBx7qVjbeFhVdBvtCveqTkz7hhu5M</span><br />
<span style="color: #ff0000;"> BXT7f/xplgWCR1x4UKIpvimgs7Qu9qvSIxtVWQIDAQABAoIBAHlYB5eT4pTQvkPu</span><br />
<span style="color: #ff0000;"> 6bNITjpme9I/5dJfUo90mO2qN5ZNkwYf4pOrSerp2VABvoNMEAAFYTiyc1pxc3HA</span><br />
<span style="color: #ff0000;"> Lr+x8PJ5InZuS+q+/E0Fkcqf9I3vEnVGIDfspwR9blu1Z9XtdJhl7t8P3UWSyCI/</span><br />
<span style="color: #ff0000;"> f0IkVs7JtNvLNJeVH4G3QCmrBEz5jbI4+NikQSPFkueoDGhlMpTr1XpICU0Xre/z</span><br />
<span style="color: #ff0000;"> Jc5Q5KVzuZp+J7B2857MKRm19d0zbzOZv9e1jqpXgNOZYRnU/SSSDGrLxbDjdgB3</span><br />
<span style="color: #ff0000;"> hCb4HzQWp+F503SzsE7zYoDh2Xo/0MGB0gmHRhO7PGLwrpjRJR5TLg0rGgCLe31F</span><br />
<span style="color: #ff0000;"> 7gO+sBkCgYEA/wHiLgSe5BPxGoyIQTnFodoomLs1AMmhrjoay6XpozBffEPWQ9gY</span><br />
<span style="color: #ff0000;"> ikZl9zRJVx1lQNmO0F3eK7f8d8iGALPSgaKDZlFgaOG7c+a2FzGThREC20GBmHes</span><br />
<span style="color: #ff0000;"> 6cIYkctnhAU63XH3xVIf/TRy3IJVni2pp+tXNMqGrvC5zSbNBsc+dacCgYEA9c/E</span><br />
<span style="color: #ff0000;"> jfNmUEIidVFc+mPTDnY67kWtb+oR/GzE3YhGQKCyOkgxlB1JHNFusevCzX1/A+5F</span><br />
<span style="color: #ff0000;"> LdAPn1fjU/IBK+boKVqDODeQEVAQvRp+p+XUs5bknYctM3g7q8usr68dqRmx5AGl</span><br />
<span style="color: #ff0000;"> nEmKsL3R2KKFXKvef38QwFO2T0uY8Pq5C0FHPP8CgYBniGw8IsQf9bi9/rCTStFi</span><br />
<span style="color: #ff0000;"> lSBGYjtyxmpOQmj+pa3mA43A9gnYIbRU76AWbbQZGmYxniLNlk7NkTV/rHo7bsbY</span><br />
<span style="color: #ff0000;"> uxJ+SCvMaVmiBNmJMSejrvRp8H6dWHlrrtIq31p3z2fG4K6n/l/efZzkykXYotFu</span><br />
<span style="color: #ff0000;"> y63sUQ29mR7WnBpB1kMVoQKBgD40sxAdPZIn+mJoEbiH1Jx/TRCJb4e3249e0z8g</span><br />
<span style="color: #ff0000;"> wm6OfCwFow5RjvQNCA9ck3K/RIpxHO6oDZwMeMoAn01F5RC6CCUM4pePBH1mnBDP</span><br />
<span style="color: #ff0000;"> N9Gu6PH4iHbTAX7LT0sybLYje4Iw7IEtlzx8/QLutgMqt2baeBnD1YohnnW1bWis</span><br />
<span style="color: #ff0000;"> v2NvAoGACmpT0xDNQMgRz6lUIKkhjvm94apBMkiiRNw0+4FKd8j1IphZLoyrA7W3</span><br />
<span style="color: #ff0000;"> MpIP4UlXRgtOkp33q9L23b/mwLTHHSvhkkSRgSYtM4lHyhpyzkzsSMynVEECdaOD</span><br />
<span style="color: #ff0000;"> 4eQg6GG2x7LKl2j1cFAo/61tUEtaKSstqkQ+vvDVoD6O8LFCC6E=</span>"<br />
$publicKeyManagementServiceRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_PublicKeyManagementService WHERE Name='Intel(r) AMT Public Key Management Service'")<br />
$inputObject = $publicKeyManagementServiceRef.CreateMethodInput("AddKey")<br />
$inputObject.AddProperty("KeyBlob", $keyBlob)<br />
$outputObject = $publicKeyManagementServiceRef.InvokeMethod($inputObject)<br />
$returnValue = $outputObject.GetProperty("ReturnValue")<br />
if($returnValue -like "0")<br />
{<br />
# The $publicPrivateKeyPairRef is an EPR to the new AMT_PublicPrivateKeyPair object.<br />
$publicPrivateKeyPairRef = $outputObject.GetProperty("CreatedKey").Ref<br />
}</p>
<p># Add AMT Certificate<br />
$certificateBlob = "<span style="color: #ff0000;">MIIDcDCCAligAwIBAgIBAjANBgkqhkiG9w0BAQsFADAyMRUwEwYDVQQDEwxEZW1v</span><br />
<span style="color: #ff0000;"> IFJvb3QgQ0ExCzAJBgNVBAYTAklMMQwwCgYDVQQLEwNGVEwwHhcNMTAxMTIyMDgy</span><br />
<span style="color: #ff0000;"> NTMwWhcNMTExMTIyMDgyNTMwWjAYMRYwFAYDVQQDEw1kdXQuaW50ZWwuY29tMIIB</span><br />
<span style="color: #ff0000;"> IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9NvDxsVLUAf4N7iZgCpjDdTC</span><br />
<span style="color: #ff0000;"> ehQFgQKTtDKTWl8J000NOVvFUiniEJUaQzZkRUIQRQcmr82mBe8NYLZeLR+c6FKE</span><br />
<span style="color: #ff0000;"> 1BH9dFFWX7SSvNdWOyVBMGLKz5gSbAWidluuzrbreTOnkaNu8jztdAoqCocL3SII</span><br />
<span style="color: #ff0000;"> ZgdJR5mmSm4lTlvkINgPPQ9rSHGdhG4CI0BGAgdxMZ6lvsOqJBhEowEQXueqGwH4</span><br />
<span style="color: #ff0000;"> /wPfU0++sMrGhmYnsDMkSETk23nI+vS9hIlCu0iagtAdBTJgeNd0TYi2kRBmBx7q</span><br />
<span style="color: #ff0000;"> VjbeFhVdBvtCveqTkz7hhu5MBXT7f/xplgWCR1x4UKIpvimgs7Qu9qvSIxtVWQID</span><br />
<span style="color: #ff0000;"> AQABo4GqMIGnMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgeAMCAGA1UdJQEB/wQWMBQG</span><br />
<span style="color: #ff0000;"> CCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQU4v65z5NAqLepfzhYCzgNpnDt</span><br />
<span style="color: #ff0000;"> JEQwTAYDVR0jBEUwQ6E2pDQwMjEVMBMGA1UEAxMMRGVtbyBSb290IENBMQswCQYD</span><br />
<span style="color: #ff0000;"> VQQGEwJJTDEMMAoGA1UECxMDRlRMggkAl6ElmUpGLZgwDQYJKoZIhvcNAQELBQAD</span><br />
<span style="color: #ff0000;"> ggEBAKF7TxMp3dnTkPRxCaWhdEAmCQbox74OGzZg29SlT2TpZVHMe6i5AgFr/JPs</span><br />
<span style="color: #ff0000;"> uFXokBW338Pvhkk916jxzpTF9HwNmYr4DGc01wLcT0mOe2HqR7XF2SAzkcvAaObi</span><br />
<span style="color: #ff0000;"> sSfrBZ/PHKwgP4T+8Wi0cVYapuM3JwwRQIZxD4vxm0PFJ+ean1G161ks+2S/oIoU</span><br />
<span style="color: #ff0000;"> 1+CEOK4alIRMygTi9uMbv15Gda2Woh4V2E0SN/8kV7f5oO51LtXYl8WX5igN5O8y</span><br />
<span style="color: #ff0000;"> Pv5fNQjnSxNdAjYK2XhG0p4yp3k2GsOb6PqeCfXeohltWswMND9x49Bx3nLg7FaZ</span><br />
<span style="color: #ff0000;"> LJ0fAsQOO/8ZtEaIpYUOdqW76xQ=</span>"<br />
$publicKeyManagementServiceRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_PublicKeyManagementService WHERE Name='Intel(r) AMT Public Key Management Service'")<br />
$inputCertificate = $publicKeyManagementServiceRef.CreateMethodInput("AddCertificate")<br />
$inputCertificate.AddProperty("CertificateBlob", $certificateBlob)<br />
$outputObject = $publicKeyManagementServiceRef.InvokeMethod($inputCertificate)<br />
$returnValue = $outputObject.GetProperty("ReturnValue")<br />
if($returnValue -like "0")<br />
{<br />
# The $publicKeyCertificateRef is an EPR to the new AMT_PublicKeyCertificate object.<br />
$publicKeyCertificateRef = $outputObject.GetProperty("CreatedCertificate").Ref<br />
}</p>
<p># Add TLS certificate<br />
$tlsProtocolEndpointCollectionRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_TLSProtocolEndpointCollection WHERE ElementName='TLSProtocolEndpoint Instances Collection'")<br />
$tlsCredentialContextInstance = $wsmanConnectionObject.NewInstance("AMT_TLSCredentialContext")<br />
# $publicKeyCertificateRef is an EPR to the AMT_PublicKeyCertificate object created by the 'Add a Public Key Certificate' use case.<br />
$tlsCredentialContextInstance.SetProperty("ElementInContext", $publicKeyCertificateRef)<br />
$tlsCredentialContextInstance.SetProperty("ElementProvidingContext", $tlsProtocolEndpointCollectionRef)<br />
$tlsCredentialContextInstance.Create()</p>
<p># Enable TLS on remote interface<br />
$tlsSettingDataRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_TLSSettingData WHERE InstanceID='Intel(r) AMT 802.3 TLS Settings'")<br />
$tlsSettingDataInstance = $tlsSettingDataRef.Get()<br />
$tlsSettingDataInstance.SetProperty("Enabled", "true")<br />
$tlsSettingDataInstance.SetProperty("MutualAuthentication", "false")<br />
$tlsSettingDataRef.Put($tlsSettingDataInstance)</p>
<p># Enable TLS on local interface.<br />
$tlsSettingDataRef = $wsmanConnectionObject.NewReference("SELECT * FROM AMT_TLSSettingData WHERE InstanceID='Intel(r) AMT LMS TLS Settings'")<br />
$tlsSettingDataInstance = $tlsSettingDataRef.Get()<br />
$tlsSettingDataInstance.SetProperty("Enabled", "true")<br />
$tlsSettingDataInstance.SetProperty("MutualAuthentication", "false")<br />
$tlsSettingDataRef.Put($tlsSettingDataInstance)</p>
<p># Commit changes<br />
$setupAndConfigurationServiceRef = $wsmanConnectionObject.NewReference("SELECT * FROM  AMT_SetupAndConfigurationService WHERE Name='Intel(r) AMT Setup and Configuration Service'")<br />
$inputObject = $setupAndConfigurationServiceRef.CreateMethodInput("CommitChanges")<br />
$outputObject = $setupAndConfigurationServiceRef.InvokeMethod($inputObject)<br />
$returnValue = $outputObject.GetProperty("ReturnValue")</p>
<p>Remove-Module 'IntelvPro'</p>
<p>&nbsp;</p>
<p>##### End of file</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/18/how-to-create-amt-certificates-using-the-amt-sdk-and-openssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>01.2012: Intel(r) AMT Developer&#039;s Most Wanted</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/11/012012-intelr-amt-developers-most-wanted/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/11/012012-intelr-amt-developers-most-wanted/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 18:41:03 +0000</pubDate>
		<dc:creator>Gael Holmes Hofemeier (Intel)</dc:creator>
				<category><![CDATA[Intel SW Partner Program]]></category>
		<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[amt disable]]></category>
		<category><![CDATA[HECI DRIVER]]></category>
		<category><![CDATA[Intel AMT]]></category>
		<category><![CDATA[intel management engine]]></category>
		<category><![CDATA[lenovo beep]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/11/012012-intelr-amt-developers-most-wanted/</guid>
		<description><![CDATA[What is the Heci and LMS - this is the rolling question week after week.  Reseting the ME password. Intel VT-d and how is Intel AMT enabled?  Here are the most popular Forum threads and blogs during the last few weeks. Top 15 Forum Threads HP DC7700 (2007) Intel Management Engine Password Reset (2007) AMT Error Message "[UNS] [...]]]></description>
			<content:encoded><![CDATA[<p>What is the Heci and LMS - this is the rolling question week after week.  Reseting the ME password. Intel VT-d and how is Intel AMT enabled?  Here are the most popular Forum threads and blogs during the last few weeks.</p>
<p><strong>Top 15 Forum Threads </strong></p>
<ol>
<li><span style="color: #0860a8;"><a href="http://software.intel.com/en-us/forums/showthread.php?t=54262">HP DC7700</a> <span style="color: #000000;">(2007)</span></span></li>
<li><span style="color: #0860a8;"><a href="http://software.intel.com/en-us/forums/showthread.php?t=55322">Intel Management Engine Password Reset</a> <span style="color: #000000;">(2007)</span></span></li>
<li><span style="color: #0860a8;"><a href="http://software.intel.com/en-us/forums/showthread.php?t=58980">AMT Error Message "[UNS] Failed to subscribe to local Intel(R) AMT"</a> <span style="color: #000000;">(2008)</span></span></li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=57622"><span style="color: #0860a8;">how to install AMT SOL/LMS and HECI drivers silently</span></a> (2008)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=67870">lms service cannot connect to heci driver</a> (2009)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=60245"><span style="color: #0860a8;">"Me is in recovery state"</span></a> (2008)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=55856"><span style="color: #0860a8;">Intel AMT status is disabled</span></a> (2007)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=58326"><span style="color: #0860a8;">Need to Enable or Disable AMT on your system?</span></a> (2008)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=60055">problem with HECI and network connection?</a> (2008)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=83659">intel management engine interface device cannot start code 10 on HP 8200 elite</a> (2011)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=62162">Intel Active Management Technology Status: Disable</a>  (2008)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=65302"><span style="color: #0860a8;">AMT is disabled</span></a> (2009)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=57359">Enabling AMT on system</a> (2008)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=54054">AMT status error message  </a><a href="http://software.intel.com/en-us/forums/showthread.php?t=54054"></a>(2007)</li>
<li><a href="http://software.intel.com/en-us/forums/showthread.php?t=64976">Intel motherboard monitoring (voltage/fan/temperature/CI status) programming documentation </a>(2009)</li>
</ol>
<p><span style="color: #0860a8;"> </span>Forum posts can be great for finding answers to your questions, but it is even better if the question has been blogged. Here are Top Blogs that our developers have been reading:</p>
<p><strong>Top 20 Blogs (pretty much the same list as from last month with a couple of exceptions.)</strong></p>
<ol>
<li><a title="Permanent Link: Let us talk about HECI and LMS" rel="bookmark" href="http://software.intel.com/en-us/blogs/2007/01/24/let-us-talk-about-heci-and-lms/"><span style="color: #0860a8;">Let us talk about HECI and LMS</span></a>   (2007)</li>
<li><a title="Permanent Link: Understanding VT-d: Intel Virtualization Technology for Directed I/O" rel="bookmark" href="http://software.intel.com/en-us/blogs/2009/06/25/understanding-vt-d-intel-virtualization-technology-for-directed-io/">Understanding VT-d: Intel Virtualization Technology for Directed I/O</a> (2009)</li>
<li><a title="Permanent Link: Intel AMT software: LMS, HECI, MEI... why do I need those?  Part 10 in the series" rel="bookmark" href="http://software.intel.com/en-us/blogs/2009/12/18/intel-amt-software-lms-heci-mei-why-do-i-need-those-part-10-in-the-series/"><span style="color: #0860a8;">Intel AMT software: LMS, HECI, MEI... why do I need those? Part 10 in the series</span></a> (2009)</li>
<li><a title="Permanent Link: I forgot my " rel="bookmark" href="http://software.intel.com/en-us/blogs/2008/01/09/i-forgot-my-me-password/">I forgot my "ME" Password!</a> (2008)</li>
<li><a title="Permanent Link: All about System Power States (S0-S5)" rel="bookmark" href="http://software.intel.com/en-us/blogs/2007/01/10/all-about-system-power-states-s0-s5/">All about System Power States (S0-S5)</a> (2007)</li>
<li><a title="Permanent Link: Tips &amp; Tricks for Setting up &amp; Accessing an Intel AMT Client" rel="bookmark" href="http://software.intel.com/en-us/blogs/2008/01/28/tips-tricks-for-setting-up-accessing-an-intel-amt-client/"><span style="color: #0860a8;">Tips &amp; Tricks for Setting up &amp; Accessing an Intel AMT Client</span></a> (2008)</li>
<li><a title="Permanent Link: Step by Step Guide on How to Enable VT-d and Perform Direct Device Assignment" rel="bookmark" href="http://software.intel.com/en-us/blogs/2009/02/24/step-by-step-guide-on-how-to-enable-vt-d-and-perform-direct-device-assignment/">Step by Step Guide on How to Enable VT-d and Perform Direct Device Assignment</a> (2009)</li>
<li><a title="Permanent Link: Intel Management and Security Status (IMSS), advanced configurations. Part 9" rel="bookmark" href="http://software.intel.com/en-us/blogs/2009/07/17/intel-management-and-security-status-imss-advanced-configurations-part-9/">Intel Management and Security Status (IMSS), advanced configurations. Part 9</a> (2009)</li>
<li><a title="Permanent Link: To VT-d or Not to VT-d? A guide on whether to Utilize Direct Device Attach in your Virtualized System?" rel="bookmark" href="http://software.intel.com/en-us/blogs/2010/05/13/to-vt-d-or-not-to-vt-d-a-guide-on-whether-to-utilize-direct-device-attach-in-your-virtualized-system/">To VT-d or Not to VT-d? A guide on whether to Utilize Direct Device Attach in your Virtualized System?</a> (2010)</li>
<li><a title="Permanent Link: UNS " rel="bookmark" href="http://software.intel.com/en-us/blogs/2009/04/13/uns-failed-to-subscribe-to-local-intel-amt-error-messages-and-how-to-fix-them-intel-amt-sw-7th-part/">UNS "Failed to subscribe to local Intel AMT" Error Messages and how to fix them (Intel AMT SW, 7th part)</a> (2009)</li>
<li><a title="Permanent Link: Instructions to disable the Intel AMT privacy notification popup" rel="bookmark" href="http://software.intel.com/en-us/blogs/2007/04/26/instructions-to-disable-the-intel-amt-privacy-notification-popup/">Instructions to disable the Intel AMT privacy notification popup</a> (2007)</li>
<li><a title="Permanent Link: Meshcentral.com - New Mobile Application" rel="bookmark" href="http://software.intel.com/en-us/blogs/2012/01/02/meshcentralcom-new-mobile-application/">Meshcentral.com - New Mobile Application</a><span style="color: #ff0000;"> (New in Jan 2012!)</span></li>
<li><span style="color: #ff0000;"><a title="Permanent Link: How about a Security Layer?" rel="bookmark" href="http://software.intel.com/en-us/blogs/2011/02/10/how-about-a-security-layer/">How about a Security Layer?</a> <span style="color: #000000;">(2011)</span></span></li>
<li><span style="color: #ff0000;"><a title="Permanent Link: Dual Boot Windows Vista and Windows Server 2008" rel="bookmark" href="http://software.intel.com/en-us/blogs/2008/02/26/dual-boot-windows-vista-and-windows-server-2008/">Dual Boot Windows Vista and Windows Server 2008</a> <span style="color: #000000;"> (2008)</span></span></li>
<li><a title="Permanent Link: More configurations (disabling) of the Intel AMT icon. Part 4 in the Intel AMT software series" rel="bookmark" href="http://software.intel.com/en-us/blogs/2008/10/12/more-configurations-disabling-of-the-intel-amt-icon-part-4-in-the-intel-amt-software-series/"><span style="color: #0860a8;">More configurations (disabling) of the Intel AMT icon. Part 4 in the Intel AMT software series</span></a> (2008)</li>
<li><a title="Permanent Link: And the Lenovo T400 said: " rel="bookmark" href="http://software.intel.com/en-us/blogs/2009/02/23/and-the-lenovo-t400-said-beepbeep-beep-beepbeep-beep-beepbeep/">And the Lenovo T400 said: "Beep.Beep-Beep-Beep.Beep-Beep-Beep.Beep!</a> (2009)<a title="永久链接： 了解Intel® AMT User Notification Service" rel="bookmark" href="http://software.intel.com/zh-cn/blogs/2009/05/07/intel-amt-user-notification-service/"></a></li>
<li><a title="Permanent Link: Wake On LAN and the Magic Packet" rel="bookmark" href="http://software.intel.com/en-us/blogs/2007/02/05/wake-on-lan-and-the-magic-packet/">Wake On LAN and the Magic Packet</a> (2007)</li>
<li><a title="Permanent Link: Sharing Virtual Disks Among VMs using VMware* ESX Server" rel="bookmark" href="http://software.intel.com/en-us/blogs/2009/03/27/sharing-virtual-disks-among-vms-using-vmware-esx-server/"><span style="color: #0860a8;">Sharing Virtual Disks Among VMs using VMware* ESX Server</span></a> (2009)</li>
<li><span style="color: #0860a8;"><a title="Permanent Link: The Keys to Intel vPro Technology: HECI-MEI-LMS-SOL-UNS" rel="bookmark" href="http://software.intel.com/en-us/blogs/2011/10/24/the-keys-to-intel-vpro-technology-heci-mei-lms-sol-uns/">The Keys to Intel vPro Technology: HECI-MEI-LMS-SOL-UNS</a> <span style="color: #000000;">(2011)</span></span></li>
<li><span style="color: #0860a8;">Intel® AMT User Notification Service<span style="color: #000000;"> (2009)</span></span></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/11/012012-intelr-amt-developers-most-wanted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meshcentral.com - Waking up computers</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/09/meshcentralcom-waking-up-computers/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/09/meshcentralcom-waking-up-computers/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 05:53:03 +0000</pubDate>
		<dc:creator>Ylian Saint-hilaire (Intel)</dc:creator>
				<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Mobility]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Power Efficiency]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[MeshCentral]]></category>
		<category><![CDATA[MeshCentral.com]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[power management]]></category>
		<category><![CDATA[wake]]></category>
		<category><![CDATA[Wake-on-lan]]></category>
		<category><![CDATA[wol]]></category>
		<category><![CDATA[Ylian]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/09/meshcentralcom-waking-up-computers/</guid>
		<description><![CDATA[With this post, I want to cover how Meshcentral.com powers up sleeping computers. As many of you know, you can go on the web site, see all your computers and select one or many and remotely powered them off, reset them, etc. These operations are fairly simple, just tell the mesh agent to instruct the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://meshcentral.com"><img class="alignnone size-full wp-image-21651" title="MeshCentral.com" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2010/12/MeshCentral-BlogLogo2.png" alt="" width="670" height="66" /></a></p>
<p>With this post, I want to cover how <a href="https://meshcentral.com">Meshcentral.com</a> powers up sleeping computers. As many of you know, you can go on the web site, see all your computers and select one or many and remotely powered them off, reset them, etc. These operations are fairly simple, just tell the mesh agent to instruct the operating system to do the operation. The real magic comes when you want to wake a system back up. I use this operation myself to wake up my Microsoft Home Server which is set to go to sleep after an hour.</p>
<p>To remotely wake a computer, the web site can't just hop in a cab, go to the computer's location and press the power button... but almost all desktop computers sold in the last 10 years support "wake-on-lan", also know as the "magic packet". Your are very likely to have this on your computer if, when you power your computer down, your Ethernet port is still blinking. Meshcentral has two requirements to get wake working. You need another mesh computer on the same network powered on, and you need your computer to have wake-on-lan enabled.</p>
<p>The first requirement is required since, in order to get passed the home router, there needs to be a mesh agent acting as the relay. The relay node can be a full computer, a laptop, a plugpc, router or android device. As long as it runs the mesh agent and belong to your account, you are set. If you have more than one, even better.</p>
<p>The second requirement is also important since, by default Wake-on-LAN is often disabled. You may need to go into the BIOS and enable it, also in Microsoft Windows, go in the device manager, go in the properties of your network card, power management tab and enable it. I suggest also selecting "Only allow a magic packet to wake the computer" because if you don't any packet that hits a listening port with wake the computer (it's called wake on pattern) and it causes the computer of wake up too often.</p>
<p>Well, that is it. If you meet these two requirements, your computer will wake up, even from a full S5 power off using Meshcentral.com or the Meshcentral mobile application.</p>
<p>Have fun!<br />
Ylian<br />
<a href="https://meshcentral.com">meshcentral.com</a></p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/Powered.png"><img class="alignnone size-full wp-image-44080" title="Powered" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/Powered.png" alt="" width="658" height="508" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/09/meshcentralcom-waking-up-computers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meshcentral.com - Tiny computers</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/05/meshcentralcom-tiny-computers/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/05/meshcentralcom-tiny-computers/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 07:10:33 +0000</pubDate>
		<dc:creator>Ylian Saint-hilaire (Intel)</dc:creator>
				<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Mobility]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[MeshCentral]]></category>
		<category><![CDATA[MeshCentral.com]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[pi]]></category>
		<category><![CDATA[plugpc]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[wake]]></category>
		<category><![CDATA[Ylian]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/05/meshcentralcom-tiny-computers/</guid>
		<description><![CDATA[As many of you know, Meshcentral.com works best when you have a few computers on your local network. For example: To wake up a computer within your network, another computer needs to be on. Whatever computer is powered on will serve as the relay to send the wake-on-lan packet to the computer that is off. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://meshcentral.com"><img class="alignnone size-full wp-image-21651" title="MeshCentral.com" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2010/12/MeshCentral-BlogLogo2.png" alt="" width="670" height="66" /></a></p>
<p>As many of you know, <a href="https://meshcentral.com">Meshcentral.com</a> works best when you have a few computers on your local network. For example: To wake up a computer within your network, another computer needs to be on. Whatever computer is powered on will serve as the relay to send the wake-on-lan packet to the computer that is off. Same goes for Intel AMT if you have it, one powered computer needs to be present to monitor the others. In my own home network, it's my mesh enabled router that serves as the always-on computer. It's small, reliable, low-power and serves as a presence in my network for Meshcentral to use to do it's thing.</p>
<p>Well, I have been looking around the Internet for small low-power computers that I could mesh-enable. Something the is network enabled and runs a Linux kernel. In the past, I enabled PlugPC's, in fact <a href="http://software.intel.com/en-us/blogs/2011/01/18/meshcentralcom-running-on-a-plugpc/">I have a blog and video about it</a>. At 99$, these boxes are quite pretty and work very well, I have one in my lab and put a "meshcentral.com" sticker on it. More recently, I have been following the story of <a href="http://www.raspberrypi.org/">Raspberry Pi</a>, a 25$ computer. I am actually more interested in the 35$ version that has a Ethernet jack. It would make for and outstanding mesh network presence and it's powered with a micro-USB cable. So, as soon as I can get my hands on a few, I want to compile the mesh agent for it and have them fully Meshcentral enabled. That would just be great. The Ubuntu/ARM port of the mesh agent may even work on it as-is... I can't wait to give it a try.</p>
<p>In the mean time, I ordered another <a href="http://www.plugcomputer.org">PlugPC</a> and it should be in the mail now. Plenty more toys to play with. If you know of other low-cost Linux computers, please comment!</p>
<p>Ylian<br />
<a href="https://meshcentral.com">meshcentral.com</a></p>
<p><img class="alignnone size-full wp-image-44023" title="marvell-sheeva-plug" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/marvell-sheeva-plug.jpg" alt="" width="550" height="383" /></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/05/meshcentralcom-tiny-computers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meshcentral.com - Golem.de German Article</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/04/meshcentralcom-golemde-german-article/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/04/meshcentralcom-golemde-german-article/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 07:25:48 +0000</pubDate>
		<dc:creator>Ylian Saint-hilaire (Intel)</dc:creator>
				<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Mobility]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[MeshCentral]]></category>
		<category><![CDATA[MeshCentral.com]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[publication]]></category>
		<category><![CDATA[Ylian]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/04/meshcentralcom-golemde-german-article/</guid>
		<description><![CDATA[Just two days after spotting an article about Meshcentral.com on The Verge, I noticed some more traffic on the server and started looking around to see why. Well, I found another article on a German online publication, Golem.de. I am often confused for a German but, sadly, I dont' speak the language and can't ready [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://meshcentral.com"><img class="alignnone size-full wp-image-21651" title="MeshCentral.com" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2010/12/MeshCentral-BlogLogo2.png" alt="" width="670" height="66" /></a></p>
<p>Just two days after spotting an article about <a href="https://meshcentral.com">Meshcentral.com</a> on <a href="http://software.intel.com/en-us/blogs/2012/01/03/meshcentralcom-the-verge/">The Verge</a>, I noticed some more traffic on the server and started looking around to see why. Well, I found another article on <a href="http://www.golem.de/1201/88781.html">a German online publication, Golem.de</a>. I am often confused for a German but, sadly, I dont' speak the language and can't ready it... well, can still pick up a few things here and there.</p>
<p>Also just a quick update to mention that I have been fixing bugs. One of them involved using some special characters in password that would cause the session to fail. I got that fixed today, if Meshcentral did not work for you today, I noticed the problem and fixed... sorry to that unlucky person, but thank you for finding the bug! I am also working on getting remote desktop working again on Mac OS X. I got the new agent working almost perfectly, I still have a glitch to fix. I am hoping to a release early next week. Ever since <a href="http://software.intel.com/en-us/blogs/2012/01/03/meshcentralcom-the-verge/">The Verge</a> published the article with a Mac OS X screen shot, I saw the number of Mac clients go up a lot... making fixing that remote desktop feature a higher priority.</p>
<p>Ylian<br />
<a href="https://meshcentral.com">meshcentral.com</a></p>
<p><a href="http://www.golem.de/1201/88781.html"><img class="alignnone size-full wp-image-44007" title="MeshCentral on Golem.de" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/MeshPub2.png" alt="" width="603" height="539" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/04/meshcentralcom-golemde-german-article/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meshcentral.com - The Verge</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/03/meshcentralcom-the-verge/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/03/meshcentralcom-the-verge/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 04:51:13 +0000</pubDate>
		<dc:creator>Ylian Saint-hilaire (Intel)</dc:creator>
				<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Mobility]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[MeshCentral]]></category>
		<category><![CDATA[MeshCentral.com]]></category>
		<category><![CDATA[publication]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[theverge]]></category>
		<category><![CDATA[Ylian]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/03/meshcentralcom-the-verge/</guid>
		<description><![CDATA[A few people within Intel today mailed me to said they had seen an article about Meshcentral.com on The Verge, an online publication. The full article is here, titled "Meshcentral: multi-platform remote access built on HTML5". It's short and accurate except they misspelled my name! One of the thing that most surprised me about the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://meshcentral.com"><img class="alignnone size-full wp-image-21651" title="MeshCentral.com" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2010/12/MeshCentral-BlogLogo2.png" alt="" width="670" height="66" /></a></p>
<p>A few people within Intel today mailed me to said they had seen an article about <a href="https://mehcentral.com">Meshcentral.com</a> on <a href="http://www.theverge.com/">The Verge</a>, an online publication. <a href="http://www.theverge.com/2012/1/3/2678962/meshcentral-html5-remote-access">The full article is here</a>, titled "<a href="http://www.theverge.com/2012/1/3/2678962/meshcentral-html5-remote-access">Meshcentral: multi-platform remote access built on HTML5</a>". It's short and accurate except they misspelled my name! One of the thing that most surprised me about the write up how they got the security story right. Some users ask why Meshcentral uses two passwords, a web account one and a mesh one. Indeed, it's because the second password is not stored by Meshcentral and so, imposes limits what the web site is capable of doing (Also, that second password can't be recovered). I will probably write much more about security in upcoming blogs since it's such an interesting topic to me.</p>
<p>I had no knowledge of the online publication until today, I am sure to put it in my reading list from now on.</p>
<p>Ylian<br />
<a href="https://meshcentral.com">meshcentral.com</a></p>
<p><a href="http://www.theverge.com/2012/1/3/2678962/meshcentral-html5-remote-access"><img class="alignnone size-full wp-image-44002" title="TheVerge-Overview" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/TheVerge-Overview.png" alt="" width="613" height="572" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/03/meshcentralcom-the-verge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meshcentral.com - New Mobile Application</title>
		<link>http://software.intel.com/en-us/blogs/2012/01/02/meshcentralcom-new-mobile-application/</link>
		<comments>http://software.intel.com/en-us/blogs/2012/01/02/meshcentralcom-new-mobile-application/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 07:43:09 +0000</pubDate>
		<dc:creator>Ylian Saint-hilaire (Intel)</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Mobility]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[MeshCentral]]></category>
		<category><![CDATA[MeshCentral.com]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[Ylian]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2012/01/02/meshcentralcom-new-mobile-application/</guid>
		<description><![CDATA[It's 2012 now and time to get back to work, but not before telling you a little about what I have been doing over the holiday break. Yes, I have been coding! About two months ago, I started working on a new version of the Meshcentral mobile application, this time, I wanted it to work [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://meshcentral.com"><img class="alignnone size-full wp-image-21651" title="MeshCentral.com" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2010/12/MeshCentral-BlogLogo2.png" alt="" width="670" height="66" /></a></p>
<p>It's 2012 now and time to get back to work, but not before telling you a little about what I have been doing over the holiday break. Yes, I have been coding! About two months ago, I started working on a new version of the Meshcentral mobile application, this time, I wanted it to work on Android and iOS, and both phones and tablets, all with a single code base. Well today, I am unveiling the Meshcentral.com mobile application!</p>
<p style="text-align: center;"><img class="size-full wp-image-43994 aligncenter" title="Meshcentral Mobile Application" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2012/01/MeshMobileApp.png" alt="" width="586" height="372" /></p>
<p style="text-align: left;">For Android devices, you can get it on the <a href="https://market.android.com/details?id=com.intel.ssg.spi.mesh.console&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5pbnRlbC5zc2cuc3BpLm1lc2guY29uc29sZSJd">Google Android Market</a>. For iPhones and iPads, just <a href="https://meshcentral.com/m/">add this link as a desktop icon</a>. This application requires having a Meshcentral.com account, once you sign in, you will see all of your computers, current and past power stat. You can then remotely turn computers on/off/sleep/hibernate and, if you are on a tablet device, you get the "Terminal" option allowing you to remotely go to the computer's command prompt. Other features include posting text messages on the remote compute and changing the computer's icon in application. It's just my first version, but so far it's working pretty well.</p>
<p>Now for some technical details. This application is entirely built on HTML5 and wrapped on Android as a native application using PhoneGAP 1.3. PhoneGAP is a framework that allows developers to turn a web application into a native app you can post on the Android Market. For iOS, I added some HTML tags, icons and bitmaps to make this web application look like a native application. Since it's a web application, you can <a href="https://meshcentral.com/m">even try it right now, on your browser</a>.</p>
<p>Already I have been using this application to wake up my Microsoft Home Server 2011 when I need it, otherwise I put it on a 1 hour sleep timer to save some power. I need another mesh node in my network to be always on and my mesh-enabled DD-WRT router serves that role. So Meshcentral uses my router as the source of the wake-on-lan packet.</p>
<p>In any case, please feel free to try the application out and give me feedback. I am already preparing an updated version with some bug fixes.</p>
<p>Ylian<br />
<a href="https://meshcentral.com">meshcentral.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2012/01/02/meshcentralcom-new-mobile-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Maintenance Releases Matter</title>
		<link>http://software.intel.com/en-us/blogs/2011/12/22/why-maintenance-releases-matter/</link>
		<comments>http://software.intel.com/en-us/blogs/2011/12/22/why-maintenance-releases-matter/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 01:44:22 +0000</pubDate>
		<dc:creator>David Stewart (Intel)</dc:creator>
				<category><![CDATA[Embedded Computing]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[maintenance releases]]></category>
		<category><![CDATA[Mentor Graphics]]></category>
		<category><![CDATA[Montavista]]></category>
		<category><![CDATA[open source software]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[The Yocto Project]]></category>
		<category><![CDATA[Timesys]]></category>
		<category><![CDATA[Wind River Systems]]></category>
		<category><![CDATA[Yocto]]></category>
		<category><![CDATA[Yocto Project]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2011/12/22/why-maintenance-releases-matter/</guid>
		<description><![CDATA[I'm cross-posting this from my blog on the Yocto Project web site. Please go there to learn more about embedded Linux and the work we're doing in the Yocto Project to make it easier for you to develop embedded devices. As the calendar year winds down, I find myself tapping away at the keyboard at [...]]]></description>
			<content:encoded><![CDATA[<p><em>I'm cross-posting this from my blog on the <a href="http://yoctoproject.org">Yocto Project web site</a>. Please go there to learn more about embedded Linux and the work we're doing in the Yocto Project to make it easier for you to develop embedded devices.</em></p>
<p>As the calendar year winds down, I find myself tapping away at the keyboard at my sister's house in Denver, Colorado in a snowstorm. I just spent the morning digging out our rental car and shoveling my sister's driveway and her next-door neighbors. It is a time like this to reflect and, yes, to remember that one of the reasons I moved to Portland, Oregon was to escape the snow!</p>
<p>This has been a busy month in the Yocto Project, with all kinds of activity jumping along:</p>
<ul>
<li>We launched a maintenance release 1.0, dubbing it Yocto Project v1.0.2. Our 1.0 release was last April, but we try to provide update support for at least a year after release. This release includes security patches as promised and some fixes to make sure the build works with more recent Linux distributions.</li>
<li>We're also working on a maintenance release for 1.1, which came out last October. Nobody should ever fear that compatability has been broken in a maintenance release. My mental rule of thumb after a few decades in the software game is that you should have no more than 10 - 12 bug fixes in a maintenance release, which also constrains the amount of QA you need to do. 1.1.1 though will have a few more changes in place because we want to address some issues raised by Matthew at FreeScale and to make sure that the release meets their needs. More on this later.</li>
<li>Our development, QA and release engineers also produced the first milestone from our 1.2 release, due this coming April. We produce these milestone releases every 6 weeks or so. Our idea is to constrain the length of time that the development window is open to make sure we can freeze, stabilize and run a full QA sweep. Then we provide these little milestone releases to you so that you can have some demonstratable features to use in a somewhat more stable form. At least, it should be more stable than developing on the Master branch! As I wrote this, we decided to go ahead and release the M1 milestone.</li>
</ul>
<p>It may seem like we're putting an inordinate effort into producing these maintenance releases. In fact, we had hoped to have 1.1.1 out in December, but putting three releases out in one month was just too much for our release engine to handle.</p>
<p>Why make the effort to do maintenance releases? Here's the way I think about it:</p>
<ul>
<li>The Yocto Project is an open source project, not a software product. So we're not supporting our releases for years and years. We're looking for our friends at Mentor Graphics, Montavista, Timesys, Wind River and others to produce software products which use Yocto as the upstream.</li>
<li>On the other hand, by providing these additional stable releases, it shows that we care about the developers who base their products on the Yocto Project. We know not every product development cycle perfectly aligns with the every six month Yocto Project cycle. Having these maintenance releases helps to support them.</li>
<li>As I mentioned, we try to keep these releases as stable as possible, just fixing critical bugs or security patches from upstream.</li>
<li>So we think these maintenance releases matter, to demonstrate that we care about you the developer who uses the Yocto Project to make the magic happen on your devices.</li>
</ul>
<p>By the way, I'd like to offer a shout out to Joshua Lock, who has been spearheading the development side of these maintenance releases, Beth Flanagan for release engineering work, Jiajun and the project-wide QA team. And also to Paul Eggleton for reminding us to get the 1.0.2 maintenance release on the schedule.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2011/12/22/why-maintenance-releases-matter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meshcentral.com - Load balancing</title>
		<link>http://software.intel.com/en-us/blogs/2011/12/22/meshcentralcom-load-balancing/</link>
		<comments>http://software.intel.com/en-us/blogs/2011/12/22/meshcentralcom-load-balancing/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 17:24:23 +0000</pubDate>
		<dc:creator>Ylian Saint-hilaire (Intel)</dc:creator>
				<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Mobility]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[load balancing]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[MeshCentral]]></category>
		<category><![CDATA[MeshCentral.com]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[Scaling]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web sockets]]></category>
		<category><![CDATA[websockets]]></category>
		<category><![CDATA[Ylian]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2011/12/22/meshcentralcom-load-balancing/</guid>
		<description><![CDATA[In the past few weeks I have been working hard to add load-balancing support to the Meshcentral server. Mind you, Meshcentral.com itself is currently still running on a single computer, with double power-supply, mirrored hard drives, but still, it's a single computer and so, easy to code against. As other groups within Intel get interested [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://meshcentral.com"><img class="alignnone size-full wp-image-21651" title="MeshCentral.com" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2010/12/MeshCentral-BlogLogo2.png" alt="" width="670" height="66" /></a></p>
<p>In the past few weeks I have been working hard to add load-balancing support to the Meshcentral server. Mind you, <a href="https://meshcentral.com">Meshcentral.com</a> itself is currently still running on a single computer, with double power-supply, mirrored hard drives, but still, it's a single computer and so, easy to code against. As other groups within Intel get interested in running their own version of Meshcentral, it's been important to upgrade the design and software to be able to run in a truly scalable way.</p>
<p>One of the key features of being hosted in big professorial environments is the presence of load-balancers that stand ahead of the servers and split the incoming connections evenly to the servers in the back. If your connections are completely stateless, this is not a problem at all, you handle the request, close the connection and move on. This is why I have been moving as fast as possible to web sockets lately, it allows for complex sessions while still being state-less across connections.</p>
<p>For older browsers that don't support web sockets, I have to hack the system to allow for some sessions state on one of the servers that would still work in the back of the load-balancers. The hack involved creating state on one server and having the other servers re-route HTTP calls that land on the wrong server to the correct one. Not real load-balancing but it will do until we can move entirely over to web sockets.</p>
<p>In general, I am very excited to be working on this project, it's just a load of fun.</p>
<p>Ylian<br />
<a href="https://meshcentral.com">meshcentral.com</a></p>
<p><a href="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2011/12/LoadBalancing.png"><img class="alignnone size-full wp-image-43925" title="Meshcentral Load Balancing" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2011/12/LoadBalancing.png" alt="" width="621" height="332" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2011/12/22/meshcentralcom-load-balancing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scalable Memory Pools: community preview feature</title>
		<link>http://software.intel.com/en-us/blogs/2011/12/19/scalable-memory-pools-community-preview-feature/</link>
		<comments>http://software.intel.com/en-us/blogs/2011/12/19/scalable-memory-pools-community-preview-feature/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 13:05:33 +0000</pubDate>
		<dc:creator>Anton Malakhov (Intel)</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Parallel Programming]]></category>
		<category><![CDATA[memory pool]]></category>
		<category><![CDATA[scalable allocator]]></category>
		<category><![CDATA[TBB]]></category>
		<category><![CDATA[TBB 4.0]]></category>
		<category><![CDATA[tbbmalloc]]></category>
		<category><![CDATA[Threading Building Blocks]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2011/12/19/scalable-memory-pools-community-preview-feature/</guid>
		<description><![CDATA[In TBB 4.0, we introduced new community preview feature (CPF) – the scalable memory pools. See the TBB Reference Manual (D.4) for formal and detailed description. In this blog, we will present them less formally and discuss what changes can be made. Motivation We had vague requests from customers to implement a memory pool (Wikipedia [...]]]></description>
			<content:encoded><![CDATA[<p>In TBB 4.0, we introduced new community preview feature (<a title="About Community Preview Features" href="http://software.intel.com/en-us/articles/intel-tbb-community-preview-features/">CPF</a>) – the scalable memory pools. See the TBB <a href="http://threadingbuildingblocks.org/documentation.php">Reference Manual</a> (D.4) for formal and detailed description. In this blog, we will present them less formally and discuss what changes can be made.</p>
<h2>Motivation</h2>
<p style="text-align: justify;">We had vague requests from customers to implement a memory pool (Wikipedia calls it <a href="http://en.wikipedia.org/wiki/Region-based_memory_management">region</a>) or some of its properties in the TBB scalable memory allocator. We summarized these requests and general information on memory pools from the Internet and got the following compilation of major properties and abilities:</p>
<ul>
<li>Memory pools basically do the same job as standard memory allocators but additionally group memory objects under umbrella of a specific pool instance which enables:
<ul>
<li>fast deallocation of all the memory at once on pool destruction or for sake of further reuse</li>
<li>less memory fragmentation and related synchronization between independent groups</li>
</ul>
</li>
<li>Memory pools allow more control over acquisition and release of memory resources, and may have user-specific sources of memory:
<ul>
<li>memory chunk/buffer of a fixed size</li>
<li>redirection to a specific memory provider, e.g. standard or custom implementation of malloc, big memory pages, memory tied to specific NUMA node, IPC shmem regions.</li>
</ul>
</li>
</ul>
<p style="text-align: justify;">To squeeze more performance and to fight memory fragmentation, some specific implementations allocate objects of fixed size only (so called object pools, e.g. <a href="http://www.boost.org/doc/libs/1_48_0/libs/pool/doc/html/index.html">boost::pool</a>, Wikipedia calls it <a title="Wiki" href="http://en.wikipedia.org/wiki/Memory_pool">memory pool</a>) or are unable to deallocate individual object ("arena allocator"). In our implementation, we tried to provide more general functionality in thread-safe and scalable way. For that purpose, the implementation of the memory pools is based on TBB scalable memory allocator and so has similar speed and memory consumption properties. Later we may address more specific use cases, based on the feedback.</p>
<h2>Usage</h2>
<p style="text-align: justify;">Our memory pools API consists of two classes for thread-safe memory management: <em>tbb::fixed_pool</em> and <em>tbb::memory_pool</em>. The first one is for the simple case when an already allocated memory block and is used for allocation of smaller objects. And the second one utilizes a user-specified memory provider to obtain big chunks of memory where smaller objects reside. As opposed to fixed_pool, memory_pool is able to grow on demand and relinquish unused chunks back to the provider.</p>
<p>Both classes provide familiar methods for allocation and deallocation:</p>
<pre name="code" class="cpp:nogutter:nocontrols">void *ptr = my_pool.malloc( (size_t) 10 );  // allocate 10 bytes
ptr = my_pool.realloc( ptr, (size_t) 12 );  // extend the allocation to 12 bytes
my_pool.free( ptr );                        // deallocate it</pre>
<p>Additionally, there is a method which deallocates all the memory at once, i.e. it is a faster equivalent to a series of calls to my_pool.free() for each pointer obtained in this pool by previous calls to my_pool.malloc():</p>
<pre name="code" class="cpp:nogutter:nocontrols">my_pool.recycle();  // Frees all the memory in the pool for reuse</pre>
<p>Please note, that it is not thread-safe to call it concurrently to other methods on the same instance (similarly to clear() method in containers).<br />
We also provide an (almost, except absence of default constructor) STL-compliant allocator class to enable pools inside STL containers:</p>
<pre name="code" class="cpp:nogutter:nocontrols">typedef tbb::memory_pool_allocator&lt;int&gt; pool_allocator_t;
std::list&lt;int, pool_allocator_t&gt; my_list( (pool_allocator_t( my_pool )) );</pre>
<p>Now, the only thing that holds us back from the first experiment with this new feature of TBB is the question – how to create the ‘my_pool’.  First, we need to enable this feature and include the header:</p>
<pre name="code" class="plain:nogutter:nocontrols">#define TBB_PREVIEW_MEMORY_POOL 1
#include “tbb/memory_pool.h”</pre>
<p>If you want to create a memory pool on top of your memory block, let’s specify its address and size in bytes to the constructor of tbb::fixed_pool class, as in following excerpt:</p>
<pre name="code" class="cpp:nogutter:nocontrols">char buffer[1024*1024];
// The casts below are just to show the types of arguments.
tbb::fixed_pool my_pool( (void*)buffer, (size_t)1024*1024*sizeof(char) );</pre>
<p style="text-align: justify;">The maximal amount of memory which can be allocated from the pool declared above is limited by size of the buffer minus some space for control structures. And if you want to avoid this limitation, let’s use tbb::memory_pool template class specifying memory provider (which will be discussed later) as its template argument:</p>
<pre name="code" class="cpp:nogutter:nocontrols">tbb::memory_pool&lt; std::allocator&lt;char&gt; &gt; my_pool(/*optionally: allocator instance*/);</pre>
<p style="text-align: justify;">You can specify any STL-compatible allocator as the memory provider (though this is a subject to change). It will provide (big) memory chunks for  my_pool when necessary. The destructor of the memory_pool class implies release of all the memory chunks back to the memory provider.</p>
<p>Let’s consolidate our knowledge in one artificial example:</p>
<pre name="code" class="cpp">// Link this with tbbmalloc library
#define TBB_PREVIEW_MEMORY_POOL 1
#include "tbb/memory_pool.h"
#include &lt;list&gt;
#include &lt;stdio.h&gt;

void main() {
    static char buf[1024*1024*4]; // buffer for interim data
    tbb::fixed_pool interim_pool(buf, sizeof(buf)); // pool for temporary objects
    tbb::memory_pool&lt; std::allocator&lt;char&gt; &gt; result_pool; // pool to store the results

    typedef tbb::memory_pool_allocator&lt;int&gt; result_allocator_t; // interface to STL containers
    std::list&lt;int, result_allocator_t&gt; result_list( (result_allocator_t( result_pool )) );

    for(int result = 0, i = 0; i &lt; 100; i++, result = 0) {
        for(int j = 0; j &lt; 1000000; j++) {
            int *p = (int*)interim_pool.malloc(4);
            if( p ) result++; // really dummy :)
        }
        // in real application, here can be some processing of allocated objects
        result_list.push_back(result); // no memory fragmentation here - separate pool
        interim_pool.recycle(); // free all the interim objects
        printf("%d\n", result); // should be the same number on each iteration
    }
} // all the memory is released back implicitly</pre>
<p style="text-align: justify;">The simple part is done, and I hope that you are interested enough to proceed with more complex questions, and tell us what you think about it.</p>
<p style="text-align: justify;">Someone may want to know whether it is possible to construct a pool in a memory allocated form another pool. It is possible, but one should take care to destroy the inner pool prior to destruction of the outer pool or a call to recycle(). Do you know a good reason to enable such a nesting?</p>
<h2>Memory provider interface</h2>
<p style="text-align: justify;">From an API designer perspective, the memory provider is the most questionable part of the scalable pools API. And since it is yet a community preview feature, you are welcome to influence its design. Curious readers might want to ask questions like the following:</p>
<ul>
<li>what are the requirements for the template argument?</li>
<li>why is std::allocator used as a memory provider?</li>
<li>why the type used with std::allocator in examples above is “char”?</li>
</ul>
<p style="text-align: justify;">The template argument of tbb::memory_pool accepts a memory provider class which satisfies minimal requirements of STL compatible allocator according to the last C++11 standard: <strong>allocate </strong>and<strong> deallocate</strong> methods, and a <strong>value_type</strong> definition.</p>
<p style="text-align: justify;">Using std::allocator and compatible classes is perhaps the most straight-forward way to enable memory_pool anywhere. However from efficiency standpoint, it makes probably not much sense because such allocators are intended for rather small objects by design while memory provider should operate with megabytes. For users who don’t care what the memory provider is, we could better provide a default one instead which would map to system-default way for memory mapping.</p>
<p style="text-align: justify;">And finally, TBB memory pools don’t really need the type of allocation (i.e. <strong><em>char</em></strong> in the declaration of tbb::memory_pool&lt;std::allocator&lt;<strong>char</strong>&gt;&gt;), but rather need to know the granularity of requests to the memory provider. And this is not only specification for type of arguments for allocate and deallocate, this information is used in our implementation to determine size of memory requests to memory provider. For example, consider big pages which can be mapped only by chunks of megabytes:</p>
<pre name="code" class="cpp">// A custom memory provider for memory_pool
class big_pages {
public:
    typedef char[2*1024*1024] value_type;
    void *allocate(size_t pages) {
        return mmap(0x0UL, pages*2*1024*1024, PROT_READ | PROT_WRITE,
                    MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB, 0, 0);
    }
    // the pointer type requirement is also actually relaxed
    void deallocate(void *ptr, size_t pages) {
        munmap(ptr, pages*2*1024*1024);
    }
};
// usage:
tbb::memory_pool&lt;big_pages&gt; my_pool;</pre>
<h2>Some food for thoughts</h2>
<p>The way granularity is specified in the line 4 in the above example is not straight-forward and can be viewed as confusing. This is the price of STL-compliant interface of the memory provider and we are not sure if it has more pros than cons:</p>
<ul>
<li>STL compatibility is supposed to reuse widely implemented memory allocators.
<ul>
<li>On the other hand, these allocators are usually purposed for small sizes of allocations but a pool will need memory chunks of at least hundreds of kilobytes.</li>
</ul>
</li>
<li>In theory, it allows easy nesting of memory pools using our memory_pool_allocator class.
<ul>
<li>But we studied that nesting of the pool in some other implementations does not mean reusing the memory allocated by parent pool but rather a hierarchy of pool objects.</li>
<li>And such a nesting is not yet supported anyway</li>
</ul>
</li>
<li>It is easier to remember the requirements based on well-known standard interface</li>
<li>Granularity is a property of the memory provider and must be passed along with it</li>
</ul>
<p style="text-align: justify;">As an alternative interface, we consider to make the granularity explicitly specified but in a separate trait class which should be specialized only for the memory providers with granularity of allocations &gt; 1. It is even possible to keep STL-compatibility using metaprogramming magic, e.g. define the granularity to sizeof(value_type) if value_type defined.</p>
<p style="text-align: justify;">Another question is how to introduce alignment in the interface of memory pools. Basically, it can be either aligned_malloc() and aligned_realloc(), or an optional argument for malloc() and realloc() methods.</p>
<p>Also, are the suggested class names good, or do we need to find better names (for instance, "fixed_region" and "dynamic_region" to align with terms of Wikipedia)?</p>
<h2>Feedback is very welcome</h2>
<p>We are very eager to hear from you what do you think about above and how can it be used in your projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2011/12/19/scalable-memory-pools-community-preview-feature/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meshcentral.com - Now with websockets!</title>
		<link>http://software.intel.com/en-us/blogs/2011/12/15/meshcentralcom-now-with-websockets/</link>
		<comments>http://software.intel.com/en-us/blogs/2011/12/15/meshcentralcom-now-with-websockets/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 18:11:12 +0000</pubDate>
		<dc:creator>Ylian Saint-hilaire (Intel)</dc:creator>
				<category><![CDATA[Manageability & Security]]></category>
		<category><![CDATA[Mobility]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Mesh]]></category>
		<category><![CDATA[MeshCentral]]></category>
		<category><![CDATA[MeshCentral.com]]></category>
		<category><![CDATA[noVNC]]></category>
		<category><![CDATA[sockets]]></category>
		<category><![CDATA[web sockets]]></category>
		<category><![CDATA[Ylian]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2011/12/15/meshcentralcom-now-with-websockets/</guid>
		<description><![CDATA[A few months back, I had added support for web sockets in Meshcentral.com, up until now it's only been used for noVNC, the all-Javascript VNC client and nothing else. Web sockets allow for full two-way communication between the server and the web browser for almost all browsers except Internet Explorer (this will be fixed in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://meshcentral.com"><img class="alignnone size-full wp-image-21651" title="MeshCentral.com" src="http://software.intel.com/en-us/blogs/wordpress/wp-content/uploads/2010/12/MeshCentral-BlogLogo2.png" alt="" width="670" height="66" /></a></p>
<p>A few months back, I had added support for web sockets in <a href="https://meshcentral.com">Meshcentral.com</a>, up until now it's only been used for noVNC, the all-Javascript VNC client and nothing else. Web sockets allow for full two-way communication between the server and the web browser for almost all browsers except Internet Explorer (this will be fixed in IE10). Using web sockets instead of the emulated technique using a series of HTTP calls allows for better performance and much less overhead. I can also handle many more sessions on the server side.</p>
<p>Well, in the last few days, I have been attempting to make use of web sockets more broadly thru out the site. Yesterday I released a new version of the site that makes use of them, when the browser supports it, for the remote desktop and remote terminal. If you notice any issues, please post a comment below. In general it seems to work ok, I am still working out all the kinks.</p>
<p>Quick update: I had to back-off using web sockets on Safari browsers including iOS because web sockets seems to be crashing the browser. So, it's back to AJAX HTTP for Safari just like IE. Firefox and Chrome seem to be powering thru with web sockets.</p>
<p>Ylian<br />
<a href="https://mshcentral.com">meshcentral.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2011/12/15/meshcentralcom-now-with-websockets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our on-screen eye candy and the Yocto Project</title>
		<link>http://software.intel.com/en-us/blogs/2011/12/06/our-on-screen-eye-candy-and-the-yocto-project/</link>
		<comments>http://software.intel.com/en-us/blogs/2011/12/06/our-on-screen-eye-candy-and-the-yocto-project/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 22:30:52 +0000</pubDate>
		<dc:creator>David Stewart (Intel)</dc:creator>
				<category><![CDATA[Embedded Computing]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[The Yocto Project]]></category>
		<category><![CDATA[Yocto]]></category>
		<category><![CDATA[Yocto Project]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2011/12/06/our-on-screen-eye-candy-and-the-yocto-project/</guid>
		<description><![CDATA[Cross-posted from my blog on the Yocto Project website. Comment on it over there or here. The Linux Foundation did a nice little two-minute video clip of Jefro, our Yocto Project Community Manager, talking about last October's 1.1 release, and the upcoming 1.2 release planning. Check it out! Jefro discusses the Yocto Project 1.1 release [...]]]></description>
			<content:encoded><![CDATA[<p><em>Cross-posted from my blog on the <a href="http://yoctoproject.org">Yocto Project website</a>. Comment on it over there or here.</em></p>
<p>The Linux Foundation did a nice little two-minute video clip of Jefro, our Yocto Project Community Manager, talking about last October's 1.1 release, and the upcoming 1.2 release planning. Check it out!</p>
<p><a href="http://www.youtube.com/watch?v=l7hlaVn8H7w">Jefro discusses the Yocto Project 1.1 release</a></p>
<p>Jefro claims that he looks kind of sleepy, but clearly the camera loves him!</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2011/12/06/our-on-screen-eye-candy-and-the-yocto-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

