<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:386884179;
        mso-list-type:hybrid;
        mso-list-template-ids:424712660 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>I noticed OGC finalized the WPS spec: <a
href="http://www.opengeospatial.org/pressroom/pressreleases/843">http://www.opengeospatial.org/pressroom/pressreleases/843</a><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Does anyone know of projects working on WPS implementations?<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>The goal of WPS is apparently to provide a consistent
framework for interchangeable service process algorithms that can potentially
be chained together into answers to higher level questions than the typical ‘what’,
‘when’, and ‘where.’ Dealing with ‘why’, ‘how
much’, and ‘what if’ modeling usually requires a process
pipeline for convolutions, boolean band operations, and summary pixel
calculations, all of which are cpu cycle intense, especially for large imagery
sets. In fact cpu usage issues would make the usual service approach prohibitive.
 Even the little I have worked on JAI pipelines shows me the futility of a
one cpu to many service requests approach for WPS.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>However, looking at the AWS Simple Queue Service, SQS <a
href="http://www.amazon.com/Simple-Queue-Service-home-page/b/ref=sc_fe_l_2?ie=UTF8&node=13584001&no=3435361&me=A36L942TSJ2AJA">http://www.amazon.com/Simple-Queue-Service-home-page/b/ref=sc_fe_l_2?ie=UTF8&node=13584001&no=3435361&me=A36L942TSJ2AJA</a>,
some interesting possibilities come to mind.<o:p></o:p></p>

<p class=MsoNormal>Locking message queues with AMI instance pools is
essentially a poor man’s supercomputer. It would be interesting to look
at harnessing the utility computing concept with instance pools available for
each stage in a process pipeline connected using the asynchronous SQS service.
This is a more or less controlled ‘distributed computing model’
applied to WPS. <o:p></o:p></p>

<p class=MsoNormal>Ref here for some examples of existing distributed computing
projects: <a href="http://distributedcomputing.info/projects.html">http://distributedcomputing.info/projects.html</a>
<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Here are a couple possible approaches to a WPS service model
that might overcome the cpu bottle neck:<o:p></o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>     
</span></span><![endif]>Sequential SQS pipeline with dedicated instance for
each process node - this would work best for operations amenable to a streaming
pipeline – Boolean band operations or pixel summary operations for
instance <o:p></o:p></p>

<p class=MsoListParagraph><o:p> </o:p></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>     
</span></span><![endif]>Distributed computing model with a chunk server feeding
a pipeline and an array pool of instances processing the chunks coming down the
SQS queue – this would be better suited to tiled operations <o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>WPS is great when someone else provides the service. I
imagine it would be very interesting to the academic scientific world and
government groups tasked with providing access to all the myriad imagery coming
off space sensor platforms. <o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Just thinking out loud.   More thoughts here:  <a
href="http://www.cadmaps.com/gisblog/?p=28">http://www.cadmaps.com/gisblog/?p=28</a><o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>randy<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</body>

</html>