attachment-0002
<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:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" 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;
        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;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Impact;
        panose-1:2 11 8 6 3 9 2 5 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:.25in;
        text-indent:-.25in;
        page-break-after:avoid;
        mso-list:l1 level1 lfo2;
        font-size:14.0pt;
        font-family:"Cambria","serif";}
h2
        {mso-style-priority:9;
        mso-style-link:"Heading 2 Char";
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:.55in;
        text-indent:-.3in;
        page-break-after:avoid;
        mso-list:l0 level2 lfo4;
        font-size:14.0pt;
        font-family:"Cambria","serif";}
p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
        {mso-style-priority:99;
        mso-style-link:"Body Text Char";
        margin-top:0in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","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;}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Cambria","serif";
        color:#365F91;
        font-weight:bold;}
span.Heading2Char
        {mso-style-name:"Heading 2 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 2";
        font-family:"Cambria","serif";
        color:#4F81BD;
        font-weight:bold;}
span.BodyTextChar
        {mso-style-name:"Body Text Char";
        mso-style-priority:99;
        mso-style-link:"Body Text";
        font-family:"Calibri","sans-serif";}
p.styleheading1notboldblack, li.styleheading1notboldblack, div.styleheading1notboldblack
        {mso-style-name:styleheading1notboldblack;
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:.55in;
        text-indent:-.3in;
        page-break-after:avoid;
        mso-list:l1 level2 lfo5;
        font-size:14.0pt;
        font-family:"Cambria","serif";
        color:black;
        font-weight:bold;}
p.styleheading1notboldblack0, li.styleheading1notboldblack0, div.styleheading1notboldblack0
        {mso-style-name:styleheading1notboldblack0;
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:.55in;
        text-indent:-.3in;
        page-break-after:avoid;
        mso-list:l1 level2 lfo2;
        font-size:14.0pt;
        font-family:"Cambria","serif";
        color:black;
        font-weight:bold;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Cambria","serif";
        color:blue;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Cambria","serif";
        color:blue;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
span.EmailStyle26
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle27
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@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:232006760;
        mso-list-template-ids:9729752;}
@list l0:level1
        {mso-level-suffix:space;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.25in;
        text-indent:-.25in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l0:level2
        {mso-level-style-link:"Heading 2";
        mso-level-suffix:space;
        mso-level-text:"%1\.%2\.";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.55in;
        text-indent:-.3in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l0:level3
        {mso-level-reset-level:level1;
        mso-level-suffix:space;
        mso-level-text:"%1\.%2\.%3\.";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.85in;
        text-indent:-.35in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l0:level4
        {mso-level-text:"%1\.%2\.%3\.%4\.";
        mso-level-tab-stop:1.25in;
        mso-level-number-position:left;
        margin-left:1.2in;
        text-indent:-.45in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l0:level5
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
        mso-level-tab-stop:1.75in;
        mso-level-number-position:left;
        margin-left:1.55in;
        text-indent:-.55in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l0:level6
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        margin-left:1.9in;
        text-indent:-.65in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l0:level7
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.75in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l0:level8
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
        mso-level-tab-stop:2.75in;
        mso-level-number-position:left;
        margin-left:2.6in;
        text-indent:-.85in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l0:level9
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
        mso-level-tab-stop:3.25in;
        mso-level-number-position:left;
        margin-left:3.0in;
        text-indent:-1.0in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l1
        {mso-list-id:675117133;
        mso-list-template-ids:-319017128;}
@list l1:level1
        {mso-level-style-link:"Heading 1";
        mso-level-suffix:space;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.25in;
        text-indent:-.25in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l1:level2
        {mso-level-suffix:space;
        mso-level-text:"%1\.%2\.";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.55in;
        text-indent:-.3in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l1:level3
        {mso-level-suffix:space;
        mso-level-text:"%1\.%2\.%3\.";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.85in;
        text-indent:-.35in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l1:level4
        {mso-level-suffix:space;
        mso-level-text:"%1\.%2\.%3\.%4\.";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.2in;
        text-indent:-.45in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l1:level5
        {mso-level-suffix:space;
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.55in;
        text-indent:-.55in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l1:level6
        {mso-level-suffix:space;
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.9in;
        text-indent:-.65in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l1:level7
        {mso-level-suffix:space;
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.75in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l1:level8
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
        mso-level-tab-stop:2.75in;
        mso-level-number-position:left;
        margin-left:2.6in;
        text-indent:-.85in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
@list l1:level9
        {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
        mso-level-tab-stop:3.25in;
        mso-level-number-position:left;
        margin-left:3.0in;
        text-indent:-1.0in;
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        font-variant:normal !important;
        color:black;
        text-transform:none;
        letter-spacing:0pt;
        mso-ansi-font-weight:normal;
        mso-bidi-font-weight:normal;
        mso-ansi-font-style:normal;}
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><span style='color:#1F497D'>Hi,<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> With
regard to the firewall traversal, I was wondering if something similar to the
same CWMP (TR-069) protocol could be used (i.e, the printer/imaging device within
a NAT’ed environment reaches out to a server in the cloud and seeks jobs
that might be assigned to it and pulls the jobs and reports status back post
completion). In the case of the virtual private cloud/local deployment, the
cloud print manager can reach out to the printers over VPNs..<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'> Another
area which I am not sure if it is covered in the discussion earlier, is related
to the current print approach by Apple and Google. Apple’s airprint
allows for a “print” button to be included by app developers within
an app that invokes Airprint. Similarly Google Print enabled apps “print”
button invokes Google print. This approach again leads to silos. App vendors would
ideally like to be agnostic to cloud/local service print service across Mobile
Operating Systems, and this could probably be another area where PWG influences
a standard. App developers (as opposed to print app developers) to introduce a “print”
button in their app that allows for PWG cloud print/and or other print services
in a similar manner that is available for “open with” allows for
that flexibility. <o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Regards,<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Ranga Raj<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Director & CTO<o:p></o:p></span></p>
<p class=MsoNormal><b><span style='font-size:14.0pt;color:#1F497D'>Thinxtream
Technologies<o:p></o:p></span></b></p>
<p class=MsoNormal><span style='color:#1F497D'><a
href="http://www.thinxtream.com">www.thinxtream.com</a> <o:p></o:p></span></p>
<p class=MsoNormal><a
href="http://www.thinxtream.com/mobileprinting/printjinni/index.html">http://www.thinxtream.com/mobileprinting/printjinni/index.html</a>
<span style='color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal style='margin-left:.5in'><b><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> cloud-bounces@pwg.org
[mailto:cloud-bounces@pwg.org] <b>On Behalf Of </b>Zehler, Peter<br>
<b>Sent:</b> Friday, December 16, 2011 8:58 PM<br>
<b>To:</b> Petrie, Glen<br>
<b>Cc:</b> cloud@pwg.org<br>
<b>Subject:</b> RE: [Cloud] Cloud Print binding to IPP<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Glen,<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Please
continue to comment. I value your input. It helps me to clarify my
thoughts. Another viewpoint helps a lot more than the silent monitoring
of discussions of the PWG. <o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>We
always seem to talk past each other a bit. I am discussing Cloud Print
from a protocol specific view. Note that I strayed from the functional model we
drew up at the February meeting. <<a
href="ftp://ftp.pwg.org/pub/pwg/cloud/slides/cloud-printing-bof-february-11.pdf">ftp://ftp.pwg.org/pub/pwg/cloud/slides/cloud-printing-bof-february-11.pdf</a>>
In my original post I addressed only the job processing aspects of the
“Cloud Print Provider” I did not address discovery, or
selection and only touched on registration since it involves
capabilities. I’m not forgetting them it’s just that I never
pursued them in a form I believe is useful to the PWG. I did not
mention the IPP Clients but I expect that is what would be sending the jobs to
the Queue. <o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>As I
mentioned both the Queue and the Printer are IPP Printers. From a
protocol point of view it does not matter if they can actually produce output
themselves. It also does not matter how they forward jobs onto a physical
printer. It could be IPP or it could be a simple protocol such as port
9100. The most important thing is that it doesn’t matter if the
Queue is “THE” implementation of the Cloud Print Provider or simply
a protocol gateway to it. From a protocol point of view you can’t
tell the difference. The most flexible implementation is that the Queue
is a protocol Gateway to the Cloud Print Provider. Other Gateways can be
implemented to allow an implementation to service multiple Cloud Print services
(i.e., Cloud Print from vendors with their own protocol binding).<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>The
reason I have worked on the Semantic Model and the Print Job Ticket I want to
get agreement across the industry on the semantics of Services, Jobs and
Documents. With a common model for state transitions and the semantics of
the elements that comprise a Job Ticket it simplifies the Gateways necessary to
integrate with a Cloud Print Provider implementation. It allows a
protocol binding to be IPP, WS-Print, Google Cloud Print, or some
vendor’s REST binding. My preference would be a Web Service binding
of IPP but since there is no existing standard or deployed base I’ll go
with IPP. IPP has the common model for state transitions and Job Ticket
that has a demonstrated scalability from a dongle that hangs off a parallel
port up to full production class printers. While IPP semantics is used in
many environments I still see a bit of a gap between protocol centric and
driver centric views in printing.<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>IPP has
most everything we need for a Cloud Print protocol. One thing that is
missing is a mechanism to traverse a firewall. My model is not a
pull-model. My initial implementation was pull-model only to get around
the limitations of printing to a printer behind a firewall. I viewed
moving to a push model as an optimization to be done in a later iteration.
I do not advocate a pull model in a real world implementation. I
don’t disallow it either. It seemed to me upon Printer
initialization the Printer would not wait for a signal from the Queue to begin
processing jobs. Getting the available work would be part of the startup
synchronization. To solve the firewall issue I believe we will need a
partial IPP binding to a protocol such as XMPP. I would think XMPP can be
used to deliver events in through a firewall. Some IPP operations might
be needed (e.g. GetJobs, GetPrinterAttributes) to allow a Queue to synchronize
with the Printer on startup.<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>You
were concerned that low end physical printers may have no concept of a
job. The low end physical printer that have no concept of a job and no
support for IPP, or a cloud print protocol, are not within the domain of this
discussion. In order for those types of printers to participate they need
to have a front end (Cloud Print Manager in the functional model) that
interacts with the Queue (Cloud Print Provider in the functional model).
If low end printers wish to embed the Cloud Print Manager it need only support
a list of jobs 1 deep (i.e. the current job) and only allow a single document
jobs. I agree that one of the advantages of Cloud Print is that all of
the “printing smarts” (jobs, driver, transform, rendering, etc.)
can actually be in the cloud based Print Service Provider (aka Queue).
That intelligence may also reside in the Cloud Print Manager (aka
Printer). Note that this need not be collocated with the physical
printer. The Cloud Print Manager could be communicating with the physical
printer via port 9100 and maybe SNMP. The IPP model accommodates this
variation in architecture quite nicely.<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>I did
not quite follow your fan-in/fan-out being “behind the
scenes”. My reason for mentioning it is the flexibility it allows
for implementations and deployments. It is easily supported within the
IPP protocol model. I think we are in agreement when you discuss the
Print Manager creating instances of Print Protocol front-ends. This Port
Mapper like functionality is certainly possible. However, as previously
stated, from a protocol point of view you cannot tell the difference between
that and a monolithic implementation. The network behavior is the same.<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>You did
not understand my concept of “locking the job”. I am assuming
the possibility of cluster printing. If it is one Printer per Queue than
this is almost a noop. The Job could move from the ‘Pending’
to ‘Processing’ state on this call. It also is the
point at which the job mapping is known to both sides. The operation is
needed to allow for flexibility of system wide job scheduling.
While it is true that a Cloud Print Provider may have the intelligence
necessary to schedule jobs to the appropriate Printer based on current
configuration. It is also possible a group of jobs could be given to a
number of printers allowing a long job or printer fault not to block the Queue.<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Finally,
I agree that is registration is not just about the printer; but about the User
and the printer. I would go a little farther and include the printer
identity as a “user” and access control that specifies what Users
may put jobs into a Queue and what Printers may process jobs in a Queue. <o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Pete<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-family:"Impact","sans-serif";
color:navy'>Peter Zehler</span><span style='color:#1F497D'><br>
<br>
</span><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:navy'>Xerox Research Center Webster<br>
</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>Email: <a href="mailto:Peter.Zehler@Xerox.com">Peter.Zehler@Xerox.com</a></span><span
style='color:#1F497D'><br>
</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>Voice: (585) 265-8755</span><span style='color:#1F497D'><br>
</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>FAX: (585) 265-7441</span><span style='color:#1F497D'><br>
</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>US Mail: Peter Zehler</span><span style='color:#1F497D'><br>
</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>Xerox Corp.</span><span style='color:#1F497D'><br>
</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>800 Phillips Rd.</span><span style='color:#1F497D'><br>
</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>M/S 128-25E</span><span style='color:#1F497D'><br>
</span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>Webster NY, 14580-9701</span><span style='color:#1F497D'> </span><span
style='font-size:12.0pt;font-family:"Times New Roman","serif";color:#1F497D'><o:p></o:p></span></p>
</div>
<p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal style='margin-left:.5in'><b><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> Petrie, Glen [mailto:glen.petrie@eitc.epson.com]
<br>
<b>Sent:</b> Thursday, December 15, 2011 8:56 AM<br>
<b>To:</b> Zehler, Peter<br>
<b>Cc:</b> cloud@pwg.org<br>
<b>Subject:</b> RE: [Cloud] Cloud Print binding to IPP<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt;
font-family:"Cambria","serif";color:blue'>Peter<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt;
font-family:"Cambria","serif";color:blue'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt;
font-family:"Cambria","serif";color:blue'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt;
font-family:"Cambria","serif";color:blue'>While I understand your model and I
failed to understand, as was pointed out to me, that it represented the more
generic case. Therefore, I must revoke my comments and will refrain from
others.<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt;
font-family:"Cambria","serif";color:blue'><o:p> </o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt;
font-family:"Cambria","serif";color:blue'>Glen <o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:12.0pt;
font-family:"Times New Roman","serif"'><br>
-- <br>
This message has been scanned for viruses and <br>
dangerous content by <a href="http://www.mailscanner.info/"><b>MailScanner</b></a>,
and is <br>
believed to be clean. <o:p></o:p></span></p>
</div>
<br />--
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href="http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.
</body>
</html>
<table><tr><td bgcolor=#ffffff><font color=#000000><pre>______________________________________________________________________________
DISCLAIMER: This electronic message and any attachments to this electronic
message is intended for the exclusive use of the addressee(s) named herein
and may contain legally privileged and confidential information. It is the
property of Celstream Technologies Pvt Limited. If you are not the intended
recipient, you are hereby strictly notified not to copy, forward, distribute
or use this message or any attachments thereto. If you have received this
message in error, please delete it and all copies thereof, from your system
and notify the sender at Celstream Technologies or
administrator@celstream.com immediately.
______________________________________________________________________________</pre></font></td></tr></table>