<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="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 14">
<meta name="Originator" content="Microsoft Word 14">
<link rel="File-List" href="cid:filelist.xml@01CE60E2.C3AEC7D0"><link rel="Edit-Time-Data" href="cid:editdata.mso"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:EnvelopeVis/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:DoNotExpandShiftReturn/>
<w:BreakWrappedTables/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;
        mso-font-alt:Haettenschweiler;
        mso-font-charset:2;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;
        mso-font-alt:Haettenschweiler;
        mso-font-charset:2;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;
        mso-font-alt:"Times New Roman";
        mso-font-charset:0;
        mso-generic-font-family:swiss;
        mso-font-pitch:variable;
        mso-font-signature:-536870145 1073786111 1 0 415 0;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;
        mso-font-alt:Verdana;
        mso-font-charset:0;
        mso-generic-font-family:swiss;
        mso-font-pitch:variable;
        mso-font-signature:-520081665 -1073717157 41 0 66047 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-unhide:no;
        mso-style-qformat:yes;
        mso-style-parent:"";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        mso-fareast-font-family:Calibri;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-noshow:yes;
        mso-style-priority:99;
        color:purple;
        text-decoration:underline;
        text-underline:single;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        mso-fareast-font-family:Calibri;}
tt
        {mso-style-noshow:yes;
        mso-style-priority:99;
        font-family:"Courier New";
        mso-ascii-font-family:"Courier New";
        mso-fareast-font-family:Calibri;
        mso-hansi-font-family:"Courier New";
        mso-bidi-font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        mso-fareast-font-family:Calibri;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-unhide:no;
        mso-style-locked:yes;
        mso-style-link:"Balloon Text";
        mso-ansi-font-size:8.0pt;
        mso-bidi-font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        mso-ascii-font-family:Tahoma;
        mso-fareast-font-family:Calibri;
        mso-hansi-font-family:Tahoma;
        mso-bidi-font-family:Tahoma;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        mso-style-noshow:yes;
        mso-style-unhide:no;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;
        font-family:"Calibri","sans-serif";
        mso-ascii-font-family:Calibri;
        mso-hansi-font-family:Calibri;
        color:#1F497D;
        font-weight:normal;
        font-style:normal;
        text-decoration:none;
        text-underline:none;
        text-decoration:none;
        text-line-through:none;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-default-props:yes;
        font-size:10.0pt;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;
        mso-header-margin:.5in;
        mso-footer-margin:.5in;
        mso-paper-source:0;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:628709194;
        mso-list-template-ids:91286658;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1
        {mso-list-id:1417288813;
        mso-list-template-ids:1279398786;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2
        {mso-list-id:1693147823;
        mso-list-template-ids:889774168;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l2:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l2:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l3
        {mso-list-id:2115443692;
        mso-list-template-ids:-1254193718;}
@list l3:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l3:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l3:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l3:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l3:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l3:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l3:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l3:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 10]><style>/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-parent:"";
        mso-padding-alt:0in 5.4pt 0in 5.4pt;
        mso-para-margin:0in;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman","serif";}
</style><![endif]--><!--[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" style="tab-interval:.5in">
<div class="WordSection1">
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Great, thanks Edward.<span style="mso-spacerun:yes"> 
</span>I was discussing that with a colleague here and that’s pretty much what we were thinking it was.<span style="mso-spacerun:yes"> 
</span>Out of curiosity, where are you at one this?<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Paul<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" color="#1f497d" face="Calibri"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></font></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-font-family:"Times New Roman";font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-font-family:"Times New Roman"">
 Hua ZZ Zhang [mailto:zhuadl@cn.ibm.com] <br>
<b><span style="font-weight:bold">Sent:</span></b> Monday, June 03, 2013 10:51 PM<br>
<b><span style="font-weight:bold">To:</span></b> Luse, Paul E<br>
<b><span style="font-weight:bold">Cc:</span></b> openstack@lists.launchpad.net; Openstack; Peter Portante<br>
<b><span style="font-weight:bold">Subject:</span></b> Re: [Openstack] [Swift] Storage Server Redirection<o:p></o:p></span></font></p>
</div>
</div>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><o:p> </o:p></span></font></p>
<p style="margin-bottom:12.0pt"><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">Paul,</span></font><br>
<br>
<font size="2" color="#333333"><span style="font-size:10.0pt;color:#333333">The blueprint of
</span></font><a href="https://blueprints.launchpad.net/swift/+spec/object-variation"><font size="2"><span style="font-size:10.0pt">object-variation</span></font></a><font size="2"><span style="font-size:10.0pt"> <font color="#2f2f2f"><span style="color:#2F2F2F">is
 able to </span></font><font color="#333333"><span style="color:#333333">allow an object to have variant versions which are derived from the original master object. The access to the master object can be smartly adapted or redirected to matched version for
 different clients (web browser, mobile app,  video player)</span></font>. One possible solution is that you can add system metadata for master object to refer to those variant versions. When proxy server get client information from HTTP headers, it will relay
 it to object server so that it can determine which version is a better choice based on system metadata. If current version is not good choice, reply a redirect response to tell proxy server the right one. Another solution can be based on object versioning
 feature to pick up the right version for client based on its request information.</span></font><br>
<br>
<font size="2"><span style="font-size:10.0pt">Thanks!</span></font><br>
<br>
<font size="2"><span style="font-size:10.0pt">-Edward Zhang</span></font><br>
<br>
<br>
<img border="0" width="16" height="16" id="_x0000_i1025" src="cid:image001.gif@01CE60E2.C182E720" alt="Inactive hide details for "Luse, Paul E" ---06/03/2013 08:42:04 PM---"Luse, Paul E" <paul.e.luse@intel.com>"><font size="2" color="#424282" face="Arial"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#424282">"Luse,
 Paul E" ---06/03/2013 08:42:04 PM---"Luse, Paul E" <<a href="mailto:paul.e.luse@intel.com">paul.e.luse@intel.com</a>></span></font><o:p></o:p></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in">
<tbody>
<tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes">
<td width="40%" valign="top" style="width:40.0%;padding:0in 0in 0in 0in">
<p class="MsoNormal" style="margin-left:.5in"><b><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman";font-weight:bold">"Luse, Paul E" <<a href="mailto:paul.e.luse@intel.com">paul.e.luse@intel.com</a>></span></font></b><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman""> </span></font><span style="mso-fareast-font-family:"Times New Roman""><br>
</span><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman"">Sent by: "Openstack" <<a href="mailto:openstack-bounces+zhuadl=cn.ibm.com@lists.launchpad.net">openstack-bounces+zhuadl=cn.ibm.com@lists.launchpad.net</a>></span></font><span style="mso-fareast-font-family:"Times New Roman"">
<o:p></o:p></span></p>
<p style="margin-left:.5in"><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif"">06/03/2013 08:41 PM</span></font><o:p></o:p></p>
</td>
<td width="60%" valign="top" style="width:60.0%;padding:0in 0in 0in 0in">
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in">
<tbody>
<tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes">
<td width="1%" valign="top" style="width:1.0%;padding:0in 0in 0in 0in">
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman""><img border="0" width="58" height="1" id="_x0000_i1026" src="cid:image003.png@01CE60E2.C182E720"><o:p></o:p></span></font></p>
<p class="MsoNormal" align="right" style="text-align:right"><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman"">To</span></font><span style="mso-fareast-font-family:"Times New Roman""><o:p></o:p></span></p>
</td>
<td width="100%" valign="top" style="width:100.0%;padding:0in 0in 0in 0in">
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman""><img border="0" width="1" height="1" id="_x0000_i1027" src="cid:image004.png@01CE60E2.C182E720"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin-left:.5in"><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman"">Peter Portante <<a href="mailto:peter.a.portante@gmail.com">peter.a.portante@gmail.com</a>>,
</span></font><span style="mso-fareast-font-family:"Times New Roman""><o:p></o:p></span></p>
</td>
</tr>
<tr style="mso-yfti-irow:1">
<td width="1%" valign="top" style="width:1.0%;padding:0in 0in 0in 0in">
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman""><img border="0" width="58" height="1" id="_x0000_i1028" src="cid:image003.png@01CE60E2.C182E720"><o:p></o:p></span></font></p>
<p class="MsoNormal" align="right" style="text-align:right"><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman"">cc</span></font><span style="mso-fareast-font-family:"Times New Roman""><o:p></o:p></span></p>
</td>
<td width="100%" valign="top" style="width:100.0%;padding:0in 0in 0in 0in">
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman""><img border="0" width="1" height="1" id="_x0000_i1029" src="cid:image004.png@01CE60E2.C182E720"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin-left:.5in"><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman"">"<a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a>"
 <<a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a>></span></font><span style="mso-fareast-font-family:"Times New Roman""><o:p></o:p></span></p>
</td>
</tr>
<tr style="mso-yfti-irow:2;mso-yfti-lastrow:yes">
<td width="1%" valign="top" style="width:1.0%;padding:0in 0in 0in 0in">
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman""><img border="0" width="58" height="1" id="_x0000_i1030" src="cid:image003.png@01CE60E2.C182E720"><o:p></o:p></span></font></p>
<p class="MsoNormal" align="right" style="text-align:right"><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman"">Subject</span></font><span style="mso-fareast-font-family:"Times New Roman""><o:p></o:p></span></p>
</td>
<td width="100%" valign="top" style="width:100.0%;padding:0in 0in 0in 0in">
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman""><img border="0" width="1" height="1" id="_x0000_i1031" src="cid:image004.png@01CE60E2.C182E720"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin-left:.5in"><font size="1" face="Arial"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman"">Re: [Openstack] [Swift] Storage Server Redirection</span></font><span style="mso-fareast-font-family:"Times New Roman""><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman";display:none;mso-hide:all"><o:p> </o:p></span></font></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" style="mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in">
<tbody>
<tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes">
<td width="58" valign="top" style="width:34.8pt;padding:0in 0in 0in 0in">
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman""><img border="0" width="1" height="1" id="_x0000_i1032" src="cid:image004.png@01CE60E2.C182E720"><o:p></o:p></span></font></p>
</td>
<td width="336" valign="top" style="width:2.8in;padding:0in 0in 0in 0in">
<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt;mso-fareast-font-family:"Times New Roman""><img border="0" width="1" height="1" id="_x0000_i1033" src="cid:image004.png@01CE60E2.C182E720"><o:p></o:p></span></font></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p style="margin-bottom:12.0pt;mso-outline-level:1"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><br>
</span></font><tt><font size="2" face="Courier New"><span style="font-size:10.0pt">Hi Peter,</span></font></tt><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:"Courier New""><br>
<br>
<tt><font face="Courier New">I'd ask that Edward may want to chime in on object variation as I may not understand that one correctly - again I'm proposing to just implement the redirect response blueprint and reference object variation as a potential user simply
 because John mentioned it in his original write-up of the redirect response blueprint.  Edward?</font></tt><br>
<br>
<tt><font face="Courier New">Wrt your second question, there are copies of the rings on object servers as well and they are used for lookup in various scenarios, replication for one.  As an example take a small 6 node cluster where all servers are running all
 services, if an admin adds/deletes a device from the ring they do so on one of the nodes and then copes the .gz file to all the others.  During the window when the first node detects the new ring file and .gz files are copied to all the other nodes and detected/brought
 into memory, any responses fielded by the proxy service on the other nodes will have older ring info than the first node updated.  Another case could be a larger cluster where there's a proxy tier and a capacity tier (not all services running everywhere).
  The admin could update the ring on any node and copy the ring files on the nodes in any order - if any capacity node gets an update before any proxy node you can run into the same scenario.  The ring versions blueprint was John's s!</font></tt><br>
<tt><font face="Courier New">o he may have additions/corrections....</font></tt><br>
<br>
<tt><font face="Courier New">Thanks</font></tt><br>
<tt><font face="Courier New">Paul   </font></tt><br>
<br>
<br>
<tt><font face="Courier New">-----Original Message-----</font></tt><br>
<tt><font face="Courier New">From: Peter Portante [<a href="mailto:peter.a.portante@gmail.com">mailto:peter.a.portante@gmail.com</a>]
</font></tt><br>
<tt><font face="Courier New">Sent: Monday, June 03, 2013 3:50 AM</font></tt><br>
<tt><font face="Courier New">To: Luse, Paul E</font></tt><br>
<tt><font face="Courier New">Cc: <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a></font></tt><br>
<tt><font face="Courier New">Subject: Re: [Openstack] [Swift] Storage Server Redirection</font></tt><br>
<br>
<tt><font face="Courier New">Hi Paul,</font></tt><br>
<br>
<tt><font face="Courier New">Can you explain more about the two use cases referenced?</font></tt><br>
<br>
<tt><font face="Courier New">Object Variation seems like a nice idea, but can you clarify how the mechanism would work to get at the variations? Any examples? From the current descriptions, it seems like the LFS Patch could help here without adding anything
 to the object server.</font></tt><br>
<br>
<tt><font face="Courier New">Regarding the ring updates, given that rings are used by the proxy servers, and as far as I can tell, the object servers don't know about the rings, how would object servers have more up-to-date knowledge to perform the redirect?</font></tt><br>
<br>
<tt><font face="Courier New">Thanks,</font></tt><br>
<br>
<tt><font face="Courier New">-peter</font></tt><br>
<br>
<br>
<tt><font face="Courier New">On Fri, May 31, 2013 at 7:53 PM, Luse, Paul E <<a href="mailto:paul.e.luse@intel.com">paul.e.luse@intel.com</a>> wrote:</font></tt><br>
<tt><font face="Courier New">> I'm looking at tacking this item:</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> <a href="https://blueprints.launchpad.net/swift/+spec/support-storage-server-re">
https://blueprints.launchpad.net/swift/+spec/support-storage-server-re</a></font></tt><br>
<tt><font face="Courier New">> directs</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> and wanted to get some feedback on the following observations/thoughts:</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> 1) This is a capability that would be checked in independent of other
</font></tt><br>
<tt><font face="Courier New">> blueprints that might use it (2 are mentioned in the link above) and
</font></tt><br>
<tt><font face="Courier New">> unit test code would be the only way to initially exercise it; it
</font></tt><br>
<tt><font face="Courier New">> essentially enables other activities at this point</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> 2) The basic idea is that an object server (via middleware or
</font></tt><br>
<tt><font face="Courier New">> otherwise) will be given the ability to respond to a request to
</font></tt><br>
<tt><font face="Courier New">> indicate 'not me but I know who should handle this'.  I'm thinking
</font></tt><br>
<tt><font face="Courier New">> this makes more sense as a 5xx response with additional information
</font></tt><br>
<tt><font face="Courier New">> (partition, nodes) about the route included in the response body (as
</font></tt><br>
<tt><font face="Courier New">> opposed to a 3xx code)</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> 3) The proxy server will be modified to process the response
</font></tt><br>
<tt><font face="Courier New">> accordingly but using the partition, nodes info from the response as
</font></tt><br>
<tt><font face="Courier New">> opposed to</font></tt><br>
<tt><font face="Courier New">> object_ring.get_nodes() to determine which nodes to use</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> 4) Protection will be required to avoid endless redirection loops</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> 5) This applies only to GET operations</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> Appreciate any thoughts/feedback.,  In addition to the two usages of
</font></tt><br>
<tt><font face="Courier New">> this capability referenced in the blueprint I think there's applicable
</font></tt><br>
<tt><font face="Courier New">> to another Tiering blueprint which interests me as well.</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> Thanks</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> Paul</font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<tt><font face="Courier New">> _______________________________________________</font></tt><br>
<tt><font face="Courier New">> Mailing list: <a href="https://launchpad.net/~openstack">
https://launchpad.net/~openstack</a></font></tt><br>
<tt><font face="Courier New">> Post to     : <a href="mailto:openstack@lists.launchpad.net">
openstack@lists.launchpad.net</a></font></tt><br>
<tt><font face="Courier New">> Unsubscribe : <a href="https://launchpad.net/~openstack">
https://launchpad.net/~openstack</a></font></tt><br>
<tt><font face="Courier New">> More help   : <a href="https://help.launchpad.net/ListHelp">
https://help.launchpad.net/ListHelp</a></font></tt><br>
<tt><font face="Courier New">></font></tt><br>
<br>
<tt><font face="Courier New">_______________________________________________</font></tt><br>
<tt><font face="Courier New">Mailing list: <a href="https://launchpad.net/~openstack">
https://launchpad.net/~openstack</a></font></tt><br>
<tt><font face="Courier New">Post to     : <a href="mailto:openstack@lists.launchpad.net">
openstack@lists.launchpad.net</a></font></tt><br>
<tt><font face="Courier New">Unsubscribe : <a href="https://launchpad.net/~openstack">
https://launchpad.net/~openstack</a></font></tt><br>
<tt><font face="Courier New">More help   : <a href="https://help.launchpad.net/ListHelp">
https://help.launchpad.net/ListHelp</a></font></tt><br style="mso-special-character:line-break">
<![if !supportLineBreakNewLine]><br style="mso-special-character:line-break">
<![endif]></span></font><o:p></o:p></p>
</div>
</body>
</html>