<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Sehmi-Conscious Thoughts : CCR/DSS</title><link>http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx</link><description>Tags: CCR/DSS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>ARCast.TV - Nice Example of CCR Adoption in the Enterprise</title><link>http://blogs.msdn.com/asehmi/archive/2008/09/18/arcast-tv-nice-example-of-ccr-adoption-in-the-enterprise.aspx</link><pubDate>Thu, 18 Sep 2008 15:52:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8957243</guid><dc:creator>asehmi</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8957243.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8957243</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8957243</wfw:comment><description>&lt;table cellspacing="0" cellpadding="2" width="100%" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="340"&gt;&lt;iframe src="http://channel9.msdn.com/shows/ARCast.TV/413356/player/" frameborder="0" width="320" scrolling="no" height="325"&gt;&lt;/iframe&gt;&lt;/td&gt; &lt;td valign="top" width="*"&gt;Over on ARCast.TV, &lt;a href="http://blogs.msdn.com/bobfamiliar"&gt;Bob Familiar&lt;/a&gt; interviews &lt;a href="http://www.informationweek.com/news/software/systems_management/showArticle.jhtml?articleID=208402125&amp;amp;cid=RSSfeed_IWK_All"&gt;Stephen Tarmey &lt;/a&gt;of &lt;a href="http://www.swhouse.com/home/default.aspx"&gt;Tyco Software House&lt;/a&gt; on how he discovered the Concurrency and Coordination Runtime (CCR) in the &lt;a href="http://msdn.microsoft.com/en-us/robotics/default.aspx"&gt;Robotics Studio &lt;/a&gt;SDK and used it to implement a high-throughput asynchronous messaging I/O pattern. This is a very common problem scenario that a number of enterprises are discovering can be solved rather elegantly with CCR.&lt;br&gt;&lt;br&gt;&lt;a href="http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Stephen-Tarmey-of-Tyco-on-adopting-Robotics-Studio-CCR-for-High-Performance-Async-IO/"&gt;ARCast.TV - Stephen Tarmey of Tyco on adopting Robotics Studio CCR for High Performance Async IO&lt;/a&gt;&lt;br&gt;&lt;br&gt;Also, see my earlier post on &lt;a href="http://blogs.msdn.com/asehmi/archive/2008/06/12/ccr-dss-use-cases-in-the-enterprise.aspx"&gt;CCR/DSS Use Cases in the Enterprise&lt;/a&gt; for some ideas. Watch this space as we'll be publishing some public case studies soon.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8957243" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Microsoft+Robotics+Studio/default.aspx">Microsoft Robotics Studio</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>Gorgeous Fractals with VPL and Distributed DSS Services</title><link>http://blogs.msdn.com/asehmi/archive/2008/06/23/gorgeous-fractals-with-vpl-and-distributed-dss-services.aspx</link><pubDate>Mon, 23 Jun 2008 08:43:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8641352</guid><dc:creator>asehmi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8641352.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8641352</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8641352</wfw:comment><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/GorgeousFractalswithVPLandDistributedDSS_5E85/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="230" alt="image" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/GorgeousFractalswithVPLandDistributedDSS_5E85/image_thumb.png" width="244" align="left" border="0"&gt;&lt;/a&gt;I think Angel is fast becoming one of VPL's biggest fans. After discussing some ideas with him about simple Map-Reduce scenarios for his agent toolkit and a grid system that I'm building, he went ahead and did it. Check out his distributed Mandelbrot fractal generator. Gorgeous results. A bit over-engineered as a fractal calculator, but that wasn't the point really!&lt;/p&gt; &lt;p&gt;You can get Angel's blog, agent toolkit and sample applications &lt;a title="distributed-agents-and-fractals-using-dssvpl" href="http://ajlopez.wordpress.com/2008/06/22/distributed-agents-and-fractals-using-dssvpl/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8641352" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/Distributed+Computing/default.aspx">Distributed Computing</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>Using the Visual Programming Language (VPL) as a Deployment Tool</title><link>http://blogs.msdn.com/asehmi/archive/2008/06/16/using-the-visual-programming-language-vpl-as-a-deployment-tool.aspx</link><pubDate>Mon, 16 Jun 2008 11:43:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8603852</guid><dc:creator>asehmi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8603852.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8603852</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8603852</wfw:comment><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/UsingtheVisualProgrammingLanguageVPLasaD_8897/image_6.png" target="_blank"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 15px 100px 0px; border-left: 0px; border-bottom: 0px" height="441" alt="image" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/UsingtheVisualProgrammingLanguageVPLasaD_8897/image_thumb_2.png" width="434" align="left" border="0"&gt;&lt;/a&gt; When building applications using CCR, DSS and VPL one doesn't need to know a priori the precise order of data and message flows between services. Many of the VPL examples provided with the MRDS show services already 'wired' up which can give the impression that one needs to know this information and design one's set of services to be orchestrated as such up front. What if you don't know this information up front but still want to use the VPL? Well, there's the pub/sub pattern supported by DSS out of the box which is very handy and well-understood. Or one can define a 'host' service that acts as a message forwarding system based on its own service directory (perhaps using the one built into DSS). Or one can use an external configuration file that defines the orchestration itself (like a BPML specification, say). Additionally, one could use UPnP device (service) discovery. &lt;/p&gt; &lt;p&gt;But orchestration is not the only thing, what about deployment? Well, the VPL also supports service deployment and this works across multiple physical nodes too!&lt;/p&gt; &lt;p&gt;&lt;a href="http://ajlopez.wordpress.com/" target="_blank"&gt;Angel Lopez&lt;/a&gt; has extended his Web Crawler sample and without knowing the orchestration a priori uses VPL simply to create multiple instances of his several service 'agents'. The actual 'orchestration' is emergent as a result of collaboration between his agents and the 'agent host' - in fact he can have several agent hosts in the same Web Crawler application. The agent hosts forward messages to service agents based on their capabilities inferred from a logical 'URI' which gets physically bound when the agents themselves register with their (machine) local hosts. Should more than one agent service offer the same capability, such as web crawling or page downloading, the agent host will automatically load balance across them.&lt;/p&gt; &lt;p&gt;An interesting benefit of using the new VPL (in the April 2008 CTP of MRDS) is its ability to deploy services on multiple DSS nodes which themselves can be hosted on physically different machines. Angel does this with his Web Crawler application and together with the application-level load balancing facility his sample offers a neat and simple outline of potentially powerful solutions that you can build using this approach. I particularly liked the lack of a priori orchestration and the use of VPL as a multi-node deployment tool.&lt;/p&gt; &lt;p&gt;Check out Angel's application &lt;a title="Distributed Agents Using DSS/VPL" href="http://ajlopez.wordpress.com/2008/06/15/distributed-agents-using-dssvpl/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8603852" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/Distributed+Computing/default.aspx">Distributed Computing</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>CCR/DSS Use Cases in the Enterprise</title><link>http://blogs.msdn.com/asehmi/archive/2008/06/12/ccr-dss-use-cases-in-the-enterprise.aspx</link><pubDate>Fri, 13 Jun 2008 00:40:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8593690</guid><dc:creator>asehmi</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8593690.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8593690</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8593690</wfw:comment><description>&lt;a href="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/CCRDSSUseCasesintheEnterprise_13EB4/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 0px 100px 10px; border-left: 0px; border-bottom: 0px" height="198" alt="image" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/CCRDSSUseCasesintheEnterprise_13EB4/image_thumb.png" width="324" align="right" border="0"&gt;&lt;/a&gt; I'm often asked what Enterprise customers are using CCR/DSS in serious, i.e. pretty significant, production deployments. I'm not at liberty to disclose the names of our customers without their permission - a few will be made public soon - but I can say there are quite a lot of application domains where this technology is being applied seriously. Here's a list of scenarios I mined from our internal list of CCR/DSS adoption customers in the Enterprise: &lt;ul&gt; &lt;li&gt;Very large scale web request load balancing &amp;amp; IO handling (online social networks) &lt;li&gt;Security systems (distributed sensor networks) &lt;li&gt;Package sorting system (real-time logistics monitoring and control) &lt;li&gt;Real time processing of seismic data in drilling control (industrial automation &amp;amp; control) &lt;li&gt;Supply Chain Modeling (simulation and control) &lt;li&gt;Law enforcement information intercept/inspection (large scale complex event processing) &lt;li&gt;Automated inventory inspection system in FMCG/retail scenarios (vision processing) &lt;li&gt;Financial trading systems (transaction flow routing and processing) &lt;li&gt;Business processes - there is an academic BPEL implementation on CCR &lt;li&gt;Scientific computing – MPI primitives concisely written as CCR patterns (exchange, shift, double shift)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Hopefully that's useful and piques your interest to look at this &lt;a title="Microsoft Robotics (CCR/DSS)" href="http://www.microsoft.com/robotics" target="_blank"&gt;Microsoft Robotics (CCR/DSS)&lt;/a&gt; stuff deeper.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8593690" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/Distributed+Computing/default.aspx">Distributed Computing</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Microsoft+Robotics+Studio/default.aspx">Microsoft Robotics Studio</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>Web Crawler in VPL/DSS</title><link>http://blogs.msdn.com/asehmi/archive/2008/05/26/web-crawler-in-vpl-dss.aspx</link><pubDate>Mon, 26 May 2008 19:33:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8552936</guid><dc:creator>asehmi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8552936.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8552936</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8552936</wfw:comment><description>&lt;table cellspacing="0" cellpadding="2" width="*" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="210"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="208" alt="VPL Diagram of Web Crawler" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/WebCrawlerinVPLDSS_F6C8/image_5.png" width="204" border="0"&gt; &lt;/td&gt; &lt;td valign="top" width="*"&gt; &lt;p&gt;In another weekend project down in sunny Buenos Aires the prolific &lt;a href="http://ajlopez.wordpress.com/"&gt;Angel "Java" Lopez&lt;/a&gt; has (re)written a web crawler sample app we had from another project so it can be used in the VPL in MRDS. Check it out &lt;a href="http://ajlopez.wordpress.com/2008/05/25/web-crawler-example-using-dss-decentralized-software-services/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I had some minor Visual Studio version issues and in my case contract versioning issues getting it to work as is with &lt;a title="MRDS April CTP" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=EB00C558-2163-45A5-BEFE-531AD48BC525&amp;amp;displaylang=en" target="_blank"&gt;MRDS April CTP&lt;/a&gt; and VS2008. The fixes are in Angel's &lt;a href="http://ajlopez.wordpress.com/2008/05/25/web-crawler-example-using-dss-decentralized-software-services/#comments" target="_blank"&gt;blog comments&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8552936" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Microsoft+Robotics+Studio/default.aspx">Microsoft Robotics Studio</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>Mexico Regional Architect Forum 2008</title><link>http://blogs.msdn.com/asehmi/archive/2008/05/03/mexico-regional-architect-forum-2008.aspx</link><pubDate>Sat, 03 May 2008 18:27:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8455362</guid><dc:creator>asehmi</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8455362.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8455362</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8455362</wfw:comment><description>&lt;p&gt;&lt;font face="Arial" size="2"&gt;Last week I had loads of fun delivering a CCR-DSS-Robotics presentation at the Mexico Regional Architects Forum (RAF) in Mexico City. There’s something wonderful about this technology that set many people abuzz and I had some great conversations and brainstorming with some customers over drinks at the evening cocktail party. I find there's a very strong connection to enterprise scenarios and I gave a number of examples of how CCR-DSS could be used in common enterprise situations. I only hope we can get permission to publish some of our internal case studies on how some big enterprise customers are using this stuff in pretty impressive ways.&lt;/font&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;Many thanks to Vlad Vinogradsky; Marc Mercuri; George Chrysanthakopoulos; Henrik Frystyk Nielsen and Charles Liptaak for their material which I mashed together! Vlad did a great job putting together a compendium of samples that illustrate the basics of programming against the CCR which was extremely useful. To gain the most out of it, you must read Jeffrey Richter's &lt;/font&gt;&lt;a title="MSDN Mag - Concurrent Affairs - Concurrency and Coordination Runtime" href="http://msdn.microsoft.com/en-gb/magazine/cc163556.aspx" target="_blank"&gt;&lt;font face="Arial" size="2"&gt;MSDN magazine article on the CCR&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;.&lt;/font&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/MexicoRegionalArchitectForum2008_E4B2/image_4.png"&gt;&lt;font face="Arial" size="2"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/MexicoRegionalArchitectForum2008_E4B2/image_6.png" width="324" border="0"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt; &lt;/font&gt;&lt;a href="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/MexicoRegionalArchitectForum2008_E4B2/image_2.png"&gt;&lt;font face="Arial" size="2"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/MexicoRegionalArchitectForum2008_E4B2/image_5.png" width="221" border="0"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;&amp;nbsp; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-a5f7ad2e511a1926.skydrive.live.com/embedrowdetail.aspx/Public/A%20Data-Driven%20Approach%20to%20Distributed,%20Concurrent%20Software%20-%20ASEHMI%20-%20April%202008.pptx" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-a5f7ad2e511a1926.skydrive.live.com/embedrowdetail.aspx/Public/CCRBasics.rar" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;I also did a keynote presentation on Business Architecture and explained some of the recent fine-tuning being made to the MSBA methodology and I was able to demo a prototype of the new SQL-backed MSBA Entity Modeling Tool and Repository which replaces the unwieldy Excel-based heat maps and repository. My thanks here go to &lt;a title="Mike Lloyd of Carbonflame" href="http://www.carbonflame.co.uk/" target="_blank"&gt;Mike Lloyd of Carbonflame&lt;/a&gt; who came up with a pretty neat &lt;em&gt;Flex Index&lt;/em&gt; which helps contrast Capability models to Organizational Hierarchies, Process Optimisation and IT Infrastructure models. (Mike has been a long time proponent of MSBA since the days it was referred to a Microsoft Motion.)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-a5f7ad2e511a1926.skydrive.live.com/embedrowdetail.aspx/Public/MSBA%20to%20SOA%20-%20ASEHMI%20-%20April%202008%20v2.pptx" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;I want to say what a pleasure it was for me to be in Mexico City which I thought was fabulous even though I saw very little of it. The food was superb and quite different to the commercialised Mexican food I have experienced in Europe and USA. The people I met are so easy going and friendly. &lt;/font&gt;&lt;a title="Juan Lozada Villas Bio" href="http://www.remixmexico.com/ponentes.html" target="_blank"&gt;&lt;font face="Arial" size="2"&gt;Juan Lozada Villas&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;, the D&amp;amp;PE Director, treated the RAF speakers to an evening at an authentic and apparently famous Mariachi restaurant (I think it was called Tarana?) which was awesome! I had an excellent education in Tequila from Jesus Hernandez Sanchez and tasted a number wonderful varieties. My favourite was Jose Cuervo 1800 Anejo and the Reposados generally... I bought three bottles at the airport Duty Free! &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;One last thing... Feliz Cumpleaños to &lt;/font&gt;&lt;a title="Eduardo Nava Malagon Bio" href="http://www.remixmexico.com/ponentes.html" target="_blank"&gt;&lt;font face="Arial" size="2"&gt;Eduardo Nava Malagon&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;! Sorry we didn't manage to sing to you during the keynote!&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8455362" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/Capability+Modeling/default.aspx">Capability Modeling</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Business+Architecture/default.aspx">Business Architecture</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Microsoft+Robotics+Studio/default.aspx">Microsoft Robotics Studio</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>RoboChamps</title><link>http://blogs.msdn.com/asehmi/archive/2008/05/02/robochamps.aspx</link><pubDate>Fri, 02 May 2008 16:37:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8450527</guid><dc:creator>asehmi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8450527.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8450527</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8450527</wfw:comment><description>&lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;a title="RoboChamps" href="http://www.robochamps.com/" target="_blank"&gt;RoboChamps&lt;/a&gt; has &lt;/font&gt;&lt;font face="Arial" size="2"&gt;launched!&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Ari"&gt;&lt;font face="Arial" size="2"&gt;I've been on the road in Latin America so am late to make this announcement as I was really busy. But better late than never as they say.&lt;/font&gt;&lt;font face="Arial" size="2"&gt; &lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Arial"&gt;&lt;strong&gt;Robotics = Services + Orchestration&lt;/strong&gt; so it could prove really interesting - intellectually at the very least - to those of you who have not considered this area as useful as traditional application development in terms of learning about software design and architecture. It's time to prove yourself wrong.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/RoboChamps_8A73/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="185" alt="image" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/RoboChamps_8A73/image_thumb.png" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;Very briefly RoboChamps is:&lt;/font&gt;  &lt;ul&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;A new simulation-based robotics league&lt;/font&gt;  &lt;li&gt;&lt;font face="Arial" size="2"&gt;New 3-D environments will be r&lt;/font&gt;&lt;font face="Arial" size="2"&gt;eleased every 1-2 months&lt;/font&gt;  &lt;li&gt;&lt;font face="Arial" size="2"&gt;Based on MRDS 2008&lt;/font&gt;  &lt;li&gt;&lt;font face="Arial" size="2"&gt;Targeted at ALL software developers - professionals, students, academics and hobbyists alike&lt;/font&gt;  &lt;li&gt;&lt;font face="Arial" size="2"&gt;A community site providing links, videos, samples, training and forums&lt;/font&gt;  &lt;li&gt;&lt;font face="Arial" size="2"&gt;Participants can win REAL robots&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;The Web site is chock full of great learning material and I especially like the tutorial videos, starter kits and the most excellent Chapter 3 on the CCR of Kyle John's upcoming book. I must admit I love all the bling too. :-)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;Marc Mercuri has done a really outstanding job with this project - Thanks Marc!&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8450527" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Microsoft+Robotics+Studio/default.aspx">Microsoft Robotics Studio</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>Fun with Microsoft Robotics Studio</title><link>http://blogs.msdn.com/asehmi/archive/2008/04/20/fun-with-microsoft-robotics-studio.aspx</link><pubDate>Sun, 20 Apr 2008 22:50:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8412765</guid><dc:creator>asehmi</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8412765.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8412765</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8412765</wfw:comment><description>&lt;p&gt;&lt;font face="Arial" size="2"&gt;Not bad for a Saturday project down in sunny Buenos Aires! My friend and professional geek &lt;a href="http://ajlopez.wordpress.com/"&gt;Angel "Java" Lopez&lt;/a&gt; has recently rekindled his love of distributed computing (and Agents) through &lt;a title="Microsoft Robotics Developer Studio" href="http://www.microsoft.com/robotics" target="_blank"&gt;MRDS&lt;/a&gt; and specifically &lt;a title="CCR, DSS, VPL, Simulation Webcast with George Cxxxx" href="http://channel9.msdn.com/ShowPost.aspx?PostID=303072" target="_blank"&gt;CCR/DSS&lt;/a&gt;. We're going to have a lot more fun with this stuff in the coming weeks. In the mean time check out his great little experiment and download the source code &lt;a href="http://ajlopez.wordpress.com/2008/04/20/distributed-scribble-with-microsoft-robotics-developer-studio-and-dss"&gt;here&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/FunwithMicrosoftRoboticsStudio_12504/clip_image002_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="123" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/FunwithMicrosoftRoboticsStudio_12504/clip_image002_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;Angel concludes:&lt;/font&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;All these tools opened my brain. Writing DSS service component is a new way of thinking and programming, something I want to explore for years: how to write objects with one-way message processing, in a&lt;/em&gt; &lt;em&gt;distributed and parallel way. I envision some system that model Minsky ideas about the human mind.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;Well, it’s a new brave world. Dorothy: we are not in Kansas anymore…&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;I couldn't agree more!&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8412765" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/Distributed+Computing/default.aspx">Distributed Computing</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Microsoft+Robotics+Studio/default.aspx">Microsoft Robotics Studio</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>Microsoft Robotics Developer Studio 2008 CTP April Available</title><link>http://blogs.msdn.com/asehmi/archive/2008/04/10/microsoft-robotics-developer-studio-2008-ctp-april-available.aspx</link><pubDate>Thu, 10 Apr 2008 10:33:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8374240</guid><dc:creator>asehmi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8374240.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8374240</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8374240</wfw:comment><description>&lt;p&gt;&lt;font face="Arial" size="2"&gt;The high level set of changes is listed below. For me #2 and #3 are golden, but be sure to drill down to find out the details... like async streaming support!&lt;/font&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;Improved security model with support for Message Level Authorization using Role-based access control allowing to fine-grained control of who can access services and how.&lt;/font&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;strong&gt;Support for LINQ queries in DSSP subscriptions enabling applications to create complex queries that can be executed close to the data source instead of requiring moving data across the network &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;strong&gt;Support for creating applications that run on multiple DSS nodes using Visual Programming Language and DSS Manifest Editor. This makes it much simpler to create applications that run across nodes, either on the same machine or across the network. When an application containing multiple nodes is to be started, VPL creates individual deploy packages for each node and fires them up across the network.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;Support for record and playback functionality in Visual Simulation Environment enabling it to record the position and orientation of each entity and save that information to a file which later can be replayed.&lt;/font&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;Support for storing simulation media resources such as texture maps, bitmaps, and mesh files directly as part of the CLR assemblies in the form of embedded resources rather than as external files.&lt;/font&gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;New Simulation floor plan editor which allows the user to put together walls, doors, windows, etc. to represent the interior of a room, house, or other building.&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/MicrosoftRoboticsDeveloperStudio2008CTPA_7CF/image_4.png" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 10px 0px; border-right-width: 0px" height="366" alt="image" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/MicrosoftRoboticsDeveloperStudio2008CTPA_7CF/image_thumb_1.png" width="484" align="left" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;font face="Arial" size="2"&gt;Quoting from &lt;/font&gt;&lt;a href="http://www.marcmercuri.com/default.aspx" target="_blank"&gt;&lt;font face="Arial" size="2"&gt;Marc Mercuri&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;'s blog:&lt;/font&gt;&lt;/font&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;At RoboBusiness today, Microsoft announced the release of Microsoft Robotics Developer Studio 2008 CTP1. &lt;/em&gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;Get the free download here - &lt;/em&gt;&lt;/font&gt; &lt;p&gt;&lt;a href="http://www.marcmercuri.com/ct.ashx?id=6a3dcca7-daff-440c-8edc-bd910836798e&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fdownloads%2fdetails.aspx%3fFamilyId%3dEB00C558-2163-45A5-BEFE-531AD48BC525%26displaylang%3den"&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=EB00C558-2163-45A5-BEFE-531AD48BC525&amp;amp;displaylang=en&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt; &lt;/em&gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;Mary-Jo Foley has an article on why you should care ('Why business users should grab a copy of Microsoft's new robotics' toolkit') &lt;/em&gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;See that here - &lt;/em&gt;&lt;/font&gt;&lt;a href="http://www.marcmercuri.com/ct.ashx?id=6a3dcca7-daff-440c-8edc-bd910836798e&amp;amp;url=http%3a%2f%2fblogs.zdnet.com%2fmicrosoft%2f%3fp%3d1325"&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;http://blogs.zdnet.com/microsoft/?p=1325&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt; &lt;/em&gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;The folks who attended the conference also saw some videos from my new project. CNET references it in the article - "Microsoft's new gig: Virtual host to robot competitions". &lt;/em&gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;See that here - &lt;/em&gt;&lt;/font&gt;&lt;a href="http://www.marcmercuri.com/ct.ashx?id=6a3dcca7-daff-440c-8edc-bd910836798e&amp;amp;url=http%3a%2f%2fwww.news.com%2f8301-10784_3-9914959-7.html"&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;http://www.news.com/8301-10784_3-9914959-7.html&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;. &lt;/em&gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;Outside of this, mum's the word until the clock at &lt;/em&gt;&lt;/font&gt;&lt;a href="http://www.marcmercuri.com/ct.ashx?id=6a3dcca7-daff-440c-8edc-bd910836798e&amp;amp;url=http%3a%2f%2fwww.robochamps.com"&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt;www.robochamps.com&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;&lt;em&gt; hit's 0's across the board.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;By the way, in addition to RoboChamps, Marc also planned and built &lt;/font&gt;&lt;a href="http://www.codeplex.com/WLQuickApps/Wiki/View.aspx?title=Tafiti%20Overview&amp;amp;referringTitle=Home"&gt;&lt;font face="Arial" size="2"&gt;Tafiti&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt; – the guy is smart!&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;For further information, you can also check out: &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;1. &lt;/font&gt;&lt;a href="http://microsoft.com/robotics"&gt;&lt;font face="Arial" size="2"&gt;MSDN Developer Centre&lt;/font&gt;&lt;/a&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;2. &lt;/font&gt;&lt;a href="http://blogs.msdn.com/msroboticsstudio"&gt;&lt;font face="Arial" size="2"&gt;MRDS Team Blog&lt;/font&gt;&lt;/a&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;3. &lt;/font&gt;&lt;a href="http://www.microsoft.com/feeds/msdn/en-us/robotics/rss.xml"&gt;&lt;font face="Arial" size="2"&gt;MRDS News Feed&lt;/font&gt;&lt;/a&gt;  &lt;p&gt;&lt;font face="Arial" size="2"&gt;4. &lt;/font&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3147761&amp;amp;SiteID=1"&gt;&lt;font face="Arial" size="2"&gt;MRDS Community Forum&lt;/font&gt;&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8374240" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/Distributed+Computing/default.aspx">Distributed Computing</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Microsoft+Robotics+Studio/default.aspx">Microsoft Robotics Studio</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>Multi-Agent AI - I've Got the Bug Again...</title><link>http://blogs.msdn.com/asehmi/archive/2008/03/24/multi-agent-ai-i-got-the-bug-again.aspx</link><pubDate>Tue, 25 Mar 2008 00:11:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8334280</guid><dc:creator>asehmi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/8334280.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=8334280</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=8334280</wfw:comment><description>&lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/MultiAgentAIIGottheBugAgain_129EC/image_4.png" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="261" alt="image" src="http://blogs.msdn.com/blogfiles/asehmi/WindowsLiveWriter/MultiAgentAIIGottheBugAgain_129EC/image_thumb_1.png" width="364" align="left" border="0"&gt;&lt;/a&gt;It's Easter holiday and it's raining, snowing, sleeting, windy and generally undecided. So the family stayed in just hanging about, doing some reading, eating well and enjoying the odd bottle or two of vino. In a &lt;a href="http://blogs.msdn.com/asehmi/archive/2008/02/27/distributed-computing-gets-spruced-up-with-ccr-dss.aspx" target="_blank"&gt;recent post&lt;/a&gt; I talked about &lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/robotics/default.aspx"&gt;&lt;font face="Arial" size="2"&gt;The Microsoft Robotics Studio&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&lt;font face="Arial"&gt; and it's sub components, CCR and DSS. I have to confess one of the reasons I'm excited about this technology is because I cut my programming teeth many years ago in the (then largely academic) field of &lt;a href="http://www.csc.liv.ac.uk/~mjw/pubs/imas/" target="_blank"&gt;Multi-Agent Systems&lt;/a&gt; (and Decentralized Computing) which involved very similar thinking and discussed many of the issues and patterns that I see in the Robotics space. Recently, I also started working in the Embedded Systems area and I hope to post some articles on how Embedded Systems and CCR/DSS come together in interesting distributed computing scenarios that are highly relevant in the enterprise!&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font face="Arial"&gt;Anyway, before I get ahead of myself, I just wanted to mention that through my reading in this holiday came across &lt;a href="http://www.ai-junkie.com/ai-junkie.html" target="_blank"&gt;Mat Buckland&lt;/a&gt;'s excellent book, &lt;a href="http://www.amazon.com/Programming-Game-Example-Mat-Buckland/dp/1556220782/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1206390926&amp;amp;sr=1-1" target="_blank"&gt;Programming Game AI by Example&lt;/a&gt;, which very briefly mentioned the use of AI in Halo. Mat's site eventually led me to the Halo section on Bungie.org where I found a really &lt;a href="http://halo.bungie.org/misc/gdc.2002.haloai/talk.html" target="_blank"&gt;eye-opening presentation&lt;/a&gt; by Jaime Griesemer (Halo level designer) and Chris Butcher (Halo AI programmer), which brought me back full circle to my Multi-Agent Systems programming days. In some ways I'm also reminded of the 'Agile Machine' we built in &lt;a href="http://blogs.msdn.com/asehmi/archive/tags/FABRIQ/default.aspx" target="_blank"&gt;FABRIQ&lt;/a&gt;. Wow, what a fun trip down memory lane I'm having this holiday!&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font face="Arial"&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8334280" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/FABRIQ/default.aspx">FABRIQ</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Miscellaneous/default.aspx">Miscellaneous</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Microsoft+Robotics+Studio/default.aspx">Microsoft Robotics Studio</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item><item><title>Distributed Computing Gets Spruced-Up with CCR/DSS!</title><link>http://blogs.msdn.com/asehmi/archive/2008/02/27/distributed-computing-gets-spruced-up-with-ccr-dss.aspx</link><pubDate>Wed, 27 Feb 2008 03:00:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7911590</guid><dc:creator>asehmi</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/asehmi/comments/7911590.aspx</comments><wfw:commentRss>http://blogs.msdn.com/asehmi/commentrss.aspx?PostID=7911590</wfw:commentRss><wfw:comment>http://blogs.msdn.com/asehmi/rsscomments.aspx?PostID=7911590</wfw:comment><description>&lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td align="middle" width="200"&gt;&lt;img alt="" src="http://msdn2.microsoft.com/aa731517.HomePage-VPL.jpg"&gt;&lt;/td&gt; &lt;td align="middle" width="200"&gt;&lt;img alt="" src="http://msdn2.microsoft.com/aa731517.HomePage-LEGO.jpg"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;The reality of distributed systems development today is the complexity that eventually if not immediately bogs it down. Instead of being fun, exciting and easy to develop, distributed systems are often hard and unwieldy to design and work with. We continue to face the same old issues time and again yet never appear to come up with game-changing simplifying solutions to our common issues of complexity which, amongst others, are:&lt;/font&gt; &lt;ul&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;The large variety of participants: consumers, providers, intermediaries, administrators, etc.&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Highly heterogeneous systems and architecture, implementation and deployment practices&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Highly autonomous and independent systems &amp;amp; services&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Highly distributed information sources and services&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;The challenges developers, architects, testers, etc. face are many. In general we need to be able to: &lt;/font&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Apply (re)configuration in a live running system&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Coordinate many simultaneous asynchronous interactions&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Support high throughputs (and afford low latencies)&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Provide simple lifecycle services like starting and stopping components dynamically&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Monitor, interact with, and debug a running (distributed) system&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Ideally be able to develop the system in simulated conditions or a test environment&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Span multiple physically or logically distributed compute units&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Re-use components across multiple hardware platforms &amp;amp; devices&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;A typical solution to these challenges might be to centralise &amp;amp; standardise, but that's a kind of anti-pattern for many types of distributed systems scenarios today and simply serves to:&lt;/font&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Reduce the variety of systems, i.e. seeking economies of scale&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Remove the positive benefits of heterogeneity in a distributed system&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Eliminate the autonomy&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Put demands on 'perfect information' which is really hard to do consistently and reliably&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Hardwire the connections between components of the system&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;A better solution is to simply accept diversity and decentralize!&lt;/font&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Accept variety, i.e. seeking economies of innovation&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Encourage autonomy&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Accept heterogeneity&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Understand that that custom, personalized, networked information is normal&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;Imagine an adaptable, open, distributed information system&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;Recently I've been energized by the power of the Concurrency and Coordination Runtime (CCR) + Decentralized Software Services (DSS) combined features, and dare I say, paradigm shifting concepts to fix a lot of the problems we have today in building distributed systems.&lt;/font&gt; &lt;ul&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;CCR provides concurrent (multi-core) programming support by way of some key pattern implementations and developer conveniences&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;DSS provides higher level support to create, host, and discover lightweight services&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;DSS services are oriented to have a state and react to incoming request and updates, and sends update and request to other services&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;DSS services state can be serialized and a service can migrate to another host&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;DSS services are naturally RESTful&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;The Visual Programming Language designer can be used to define, compose, monitor and manage DSS services&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Arial" size="2"&gt;CCR/DSS can be hosted in a device and is capable of running under .NET Compact Framework (and .NET Micro Framework coming soon)&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;em&gt;&lt;font face="Arial" size="2"&gt;Side Note - How does CCR/DSS relate to WCF?&lt;/font&gt;&lt;/em&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;WCF is more about communications infrastructure – standards-based ‘plumbing’ – whereas CCR/DSS is a high level programming model for distributed service-based and resource-oriented systems (however initially targeted to Robotics applications). Some key CCR features such as ports, memory queues, dispatchers, arbiters, etc. are hard to implement and beyond the scope of WCF. A better comparison would be the combo of WCF+WF, but still there would be many features and patterns missing from both sides. Apples to Oranges - just avoid trying to force a comparison and understand the core use cases for each technology set. In my opinion the patterns supported in CCR are also of immense value to WCF+WF developers. I wonder if anyone has implemented CCR patterns in WCF and furthermore provided a DSSP transport protocol binding for WCF? That would be really cool!&lt;/font&gt; &lt;p&gt;&lt;strong&gt;&lt;font face="Arial" size="2"&gt;Resources&lt;/font&gt;&lt;/strong&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://msdn2.microsoft.com/en-us/robotics/default.aspx" target="_blank"&gt;The Microsoft Robotics Studio&lt;/a&gt; includes the Concurrency and Coordination Runtime (CCR), Decentralized Software Services (DSS), Visual Programming Language (VPL), and a virtual worlds (robotics) simulation environment! If you want to dive straight into CCR/DSS check out the &lt;/font&gt;&lt;a href="http://channel9.msdn.com/wiki/default.aspx/Channel9.MSRoboticsStudio"&gt;&lt;font face="Arial" size="2"&gt;Wiki&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;, watch a &lt;/font&gt;&lt;a href="http://channel9.msdn.com/Showpost.aspx?postid=219308"&gt;&lt;font face="Arial" size="2"&gt;video&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt; or &lt;/font&gt;&lt;a href="http://channel9.msdn.com/Showpost.aspx?postid=143582"&gt;&lt;font face="Arial" size="2"&gt;two&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt; and install &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/robotics/downloads/default.aspx"&gt;&lt;font face="Arial" size="2"&gt;Microsoft Robotics Studio&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;.&lt;/font&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;As part of the &lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/robotics/bb625969.aspx"&gt;&lt;font face="Arial" size="2"&gt;Microsoft Robotics Studio (1.5) release&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;, Microsoft has placed the &lt;/font&gt;&lt;a href="http://purl.org/msrs/dssp.pdf"&gt;&lt;font face="Arial" size="2"&gt;Decentralized Software Services Protocol (DSSP)&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt; under its &lt;/font&gt;&lt;a href="http://www.microsoft.com/interop/osp/default.mspx"&gt;&lt;font face="Arial" size="2"&gt;Open Specification Promise&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt;. This means that the Microsoft patents for the services-oriented protocol specification may be used by anyone in the world, at no cost, and for any type of development including free software, open source, academic, or commercial, enabling interoperability among a wide variety of devices and applications. The &lt;/font&gt;&lt;a href="http://download.microsoft.com/download/5/6/B/56B49917-65E8-494A-BB8C-3D49850DAAC1/DSSP.xsd"&gt;&lt;font face="Arial" size="2"&gt;XSD schema for DSSP&lt;/font&gt;&lt;/a&gt;&lt;font face="Arial" size="2"&gt; is also available.&lt;/font&gt;&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" width="669" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="101"&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://blogs.msdn.com/msroboticsstudio/default.aspx" target="_blank"&gt;MSRS Blog&lt;/a&gt;&lt;/font&gt;&lt;/td&gt; &lt;td valign="top" width="196"&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=383&amp;amp;SiteID=1" target="_blank"&gt;Main forum page&lt;/a&gt;&lt;/font&gt;&lt;/td&gt; &lt;td valign="top" width="149"&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1425&amp;amp;SiteID=1" target="_blank"&gt;DSS forum&lt;/a&gt;&lt;/font&gt;&lt;/td&gt; &lt;td valign="top" width="219"&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1424&amp;amp;SiteID=1" target="_blank"&gt;CCR forum&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="102"&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1427&amp;amp;SiteID=1" target="_blank"&gt;VPL forum&lt;/a&gt;&lt;/font&gt;&lt;/td&gt; &lt;td valign="top" width="196"&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1428&amp;amp;SiteID=1" target="_blank"&gt;Hardware configuration and troubleshooting forum&lt;/a&gt;&lt;/font&gt;&lt;/td&gt; &lt;td valign="top" width="149"&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1426&amp;amp;SiteID=1" target="_blank"&gt;Simulation forum&lt;/a&gt;&lt;/font&gt;&lt;/td&gt; &lt;td valign="top" width="219"&gt;&lt;font face="Arial" size="2"&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1423&amp;amp;SiteID=1" target="_blank"&gt;Community examples forum&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;The creators of CCR/DSS are &lt;a href="http://search.live.com/images/results.aspx?q=George%20Chrysanthakopoulos%20imagesize%3Asmall&amp;amp;FORM=SZIR" target="_blank"&gt;George Chrysanthakopoulos&lt;/a&gt; and &lt;a href="http://search.live.com/images/results.aspx?q=Henrik%20Frystyk%20Nielsen%20imagesize%3Asmall&amp;amp;FORM=SZIR" target="_blank"&gt;Henrik Frystyk Nielsen&lt;/a&gt;. Search on their names and you'll be very &lt;a href="http://www.answers.com/topic/henrik-frystyk-nielsen?cat=technology" target="_blank"&gt;impressed&lt;/a&gt;.&lt;/font&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font face="Arial" size="2"&gt;CCR/DSS is not just for Robotics - it'll help you spruce-up your enterprise distributed systems architectures too! Like I said earlier, I'm pretty jazzed by this technology and hope to be writing about it again very soon.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7911590" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/asehmi/archive/tags/Service-Orientation/default.aspx">Service-Orientation</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Distributed+Computing/default.aspx">Distributed Computing</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/CCR_2F00_DSS/default.aspx">CCR/DSS</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/Microsoft+Robotics+Studio/default.aspx">Microsoft Robotics Studio</category><category domain="http://blogs.msdn.com/asehmi/archive/tags/MSArchitectPortal/default.aspx">MSArchitectPortal</category></item></channel></rss>