<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 10, 2016, at 2:57 PM, Burke, Jeff <<a href="mailto:jburke@remap.ucla.edu" class="">jburke@remap.ucla.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div><div class=""><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">On Sep 8, 2016, at 7:18 AM, Burke, Jeff <<a href="mailto:jburke@remap.ucla.edu" style="color: purple; text-decoration: underline;" class="">jburke@remap.ucla.edu</a>> wrote:<o:p class=""></o:p></div></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">Hi,</span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class=""> </span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">(Sorry for these messages all at once, and let me know if this should go to ndn-interest.)</span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class=""> </span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">Through an earlier conversation with Lixia this week, I realized that the definition / expectations of a ‘repo’ may be more specific than I previously understood.  In particular, she mentioned that repos storing and registering the same namespace should (eventually) have the same data for that namespace, presumably via sync.</span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div></div></blockquote><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div></div><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class="">I'll start by saying that this is all researchy: we are walking into a new territory that we are yet to fully explore.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class="">So what I said, before or here, is just to share ideas with others.<o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><b class="">[jb] Yes, of course. :)<span class="Apple-converted-space"> </span><o:p class=""></o:p></b></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><br class=""><o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class="">It is easy to see why a desire of all repos for the same name prefix being sync'ed up: an interest for that prefix may be forwarded to any of the repos, if all repos have the same data, anyone can answer it; otherwise routers have to handle NACKs and reroute the interest to try other repos.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><o:p class=""> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><b class="">[jb] Right, but this is a forwarding-centric view. If I am an app that has some (sparse) knowledge of a namespace, perhaps I just want to make it available to the network, without having to worry about forwarding?  I thought we are not supposed to have to think about forwarding! (At least this is what I get told when I ask about publisher mobility... What about a mobile repo? :)   </b></div></div></div></div></div></div></blockquote></div></div></blockquote><div><br class=""></div>a publisher mobility is a different story than a partial repo.<br class=""><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><b class=""><o:p class=""></o:p></b></div></div></div></div></div></div></blockquote><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""><div class=""></div></div></div></div></div></blockquote></div></div></blockquote><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><div class=""><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><br class=""></div></div></div></div></div></div></div></div><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">A few related questions:</span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class=""> </span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">1) Is this attempt at eventual consistency of what’s stored for a given namespace a requirement to be called a ‘repo’? </span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div></div></blockquote><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">see the above explanation.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><span style="background-color: white; background-position: initial initial; background-repeat: initial initial;" class="">I wont call it a requirement, but desirable for performance concerns.</span><o:p class=""></o:p></div></div><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-family: Calibri;" class=""><o:p class=""> </o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><b class="">[jb] As I alluded to above, I am having trouble reconciling this with the “share what you know” approach of sync-based communication.  If I am a repo storing the thousand most popular netflix titles for the local geographic region (<i class="">persistently, for a month, let’s say</i>), do I register a thousand prefixes, or do I need a namespace for popular content (hope not), or knowledge of other names to NACK the content I don’t have?  I’m just not sure of the implications of what it means to know about all content for a prefix you are, as a repo, publishing...  So I am wondering still if I’m missing a connotation of exactly what a repo is vs. some other publisher.</b></div></div></div></div></div></div></blockquote></div></div></blockquote><div><br class=""></div>Jeff, how about we look at *each* of different cases, one at a time, to understand its design tradeoffs.</div><div>If we believe this is the beginning of research on repo usage: we are yet to find general solutions.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><b class=""><o:p class=""></o:p></b></div></div></div></div></div></div></blockquote><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""><div class=""></div></div></div></div></div></blockquote></div></div></blockquote><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><div class=""><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-family: Calibri;" class=""><o:p class=""> </o:p></span></div></div></div></div></div></div></div></div><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""></div><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">2) Practically, if such sync is ultimately required behavior for a repo, will/should repo-ng itself incorporate some basic synchronization features?   </span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div></div></blockquote><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">as I mentioned, there was a piece of work done on repo sync 2 years back (but I dont know its implementation status)<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><span style="font-size: 11pt; font-family: Calibri; background-color: white; background-position: initial initial; background-repeat: initial initial;" class=""> </span><br class=""><b class="">[jb] Yes, I remember this somewhat too.  But it seems that 1) persistent storage is fundamental to apps; 2) interaction with storage happens near/right above the network layer in the case of repo; and 3) there are some performance and conceptual concerns with providing consistency between nodes providing storage in the same namespace, so this should be important to support?  (Or, at least to we need to inform users of the existing repo-ng the probably trajectory of development that is expected but not happening yet, in the repo documentation on the wiki? I think this type of getting our implicit plans out there is important to supporting community effort.)</b></div></div></div></div></blockquote></div></div></blockquote><div><br class=""></div>1/ I agree with everything said above.</div><div><br class=""></div><div>2/ One should not read nothing more from repo-ng than a best-effort trial piece of code.</div><div><br class=""></div><div>3/ Yes we all know we need documentation. </div><div>Sadly there is a simple issue of manpower shortage.</div><div><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><br class=""></div></div></div></div></div></div><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">3) Does opportunistic caching behavior (without sync) mean that the storage is not a ‘repo’?</span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div></div></blockquote><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">My own view: no.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">my explanation to others:<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">- caching: opportunistic <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">- (managed) repo: managed storage<br class=""><br class=""><o:p class=""></o:p></div><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class=""> </span><b class="">[jb] Ok. (I will go back to the chilled water example, though... what about a publisher that naturally only has knowledge of part of a tree..?  Is that not really a repo if it’s knowledge isn’t complete for the branch it stores? What about if it doesn’t store depth all the way down)</b></div></div></div></div></div></div></blockquote></div></div></blockquote><div><br class=""></div>When one only has knowledge of a tree, one can/should only announce that specific branch of the tree.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><b class=""><o:p class=""></o:p></b></div></div></div></div></div></div></blockquote><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""><div class=""></div></div></div></div></div></blockquote></div></div></blockquote><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><div class=""><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><br class=""></div></div></div></div></div></div></div></div><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""></div><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">4) Would, for example, network-attached storage that stores everything for a prefix but only up to a given depth in the tree not qualify as a repo?  </span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div></div></blockquote><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">everything is attached to the network :)<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">so I am not sure what "network-attached storage" really means.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><span style="font-size: 11pt; font-family: Calibri;" class=""> </span><b class="">[jb] Sorry, the adjective probably wasn’t that relevant.  :)</b><o:p class=""></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><span style="background-color: white; background-position: initial initial; background-repeat: initial initial;" class="">if your question is "what if a managed repo for a name prefix only contains incomplete data under that prefix" -- that still works, and *may* even work OK if one understands the traffic patterns so that most of the Interests forwarded to that repo can be satisfied, without having to zigzagging to other places seeking for data.</span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><span style="font-size: 11pt; font-family: Calibri;" class=""> </span><b class="">[jb] Not sure I understand who the “one” is and how they control Interest forwarding? </b></div></div></div></div></blockquote></div></blockquote><div><br class=""></div>One in "if one understands the traffic patterns" means the app developer.</div><div>I do not mean that he controls interest forwarding, but just saying if he has a good understanding on app behavior. </div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""> I’m trying to think in terms of scenarios where app developers don’t really have the ability to manage network forwarding any more than they do today. (Yes, of course, some people deploying large apps control their network infrastructure to that level of detail but many don’t.)</b></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><br class=""><o:p class=""></o:p></div><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">5) Or, for example, in the BMS case, if I use a repo to store all of the electrical current samples for the UCLA campus, but not chilled water, it will have only have some of the tree for the campus bms prefix.  Is the storage not a repo?  Should it not be registering the root bms prefix?   Should I have / what do I call storage that is filling in part of the tree but don’t need to or can’t store all of it? </span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div></blockquote><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">1/ if chilled water has its own prefix announcement, maybe one can find a way to attract all interests for chilled water data to the place for chilled water.</div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div><div style="margin: 0in 0in 0.0001pt 12pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><span style="font-size: 11pt; font-family: Calibri;" class=""> </span><b class="">[jb] Yes, I think I understand that approach, but that’s not really the deployment that I’m thinking of... the scenario I have in mind is this.<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt 12pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt 12pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">Two buildings, with data described like this:<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt 12pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt 12pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">/building-1/electrical/power/<time><o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt 12pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">which aggregates<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt 12pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">/building-1/room-7/electrical/power/<time><o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">  /building-1/room-8/electrical/power/<time><o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">  <span class="Apple-converted-space"> </span><b class="">but there is also<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">   /building-1/hvac/chilled_water_in/<time><o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">  etc.<span class="Apple-converted-space"> </span><o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">then, let’s say we want a root level repo that stores electrical data but not HVAC.   It provides some secondary advantage by being “close” to some processes that want to run analytics on all of the electrical data but don’t care about anything else.  It’s also run by the electrical folks and they don’t want to worry about anyone else’s data being in their system.    It also provides persistence or access scalability for that electrical data beyond what can be offered by the panels in the field.<span class="Apple-converted-space"> </span><o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">So, to follow what I understand of your comments:<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">1) we need the repo to register every prefix with electrical data that it wishes to serve (which could be very long list of names at different granularity), or<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">2) we need the data names to start with /electrical (which has other implications for forwarding interests based on building/campus layout), or<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">3) we need NACK support in strategy(?) so that the repo could NACK prefixes it knows it’s not going to store,<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">or?<span class="Apple-converted-space"> </span></b></div></div></div></div></div></blockquote></div></blockquote><div><br class=""></div><div>1) No I did not say that; how many things are feasible to announce is an engineering design issue. For things one does not announce, one needs other means to get the Interests move toward data.</div><div><br class=""></div>3) NFD does handle NACKs.</div><div><span style="font-family: 'Times New Roman'; font-size: 12pt; background-color: rgb(255, 255, 255);" class=""> </span><br class=""><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">3/ again one needs to think not just what one wants to put where, but also how forwarding can work well.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">[jb] Yes,  I understand this.  But I think that we are entering territory where what we are asking of people developing and deploying apps can be very sophisticated consideration of multiple intersecting requirements on namespaces....</b></div></div></div></div></div></blockquote></div></blockquote><div><br class=""></div>Now given NDN made apps and network share the same namespace, app people need to work with network people to figure out what is the best way to achieve apps goals.</div><div>No one dictates one solution or another, we simply need to figure things out, and do trials and errors.  </div><div>There is no ready solution at this time. <br class=""><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""></o:p></b></div></div></div></div></div></blockquote><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""></div></div></div></div></blockquote></div></blockquote><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div></div></div></div></div></div><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">so when picking data names we have to consider:<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">        1. what makes sense for the app internally (and the data itself)<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">        2. how trust schema are embodied in the namespace<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">        3. how access granularity / permissions may be embodied in the namespace<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">        4. global / Internet / enterprise forwarding implications (e.g., forward interests for /building-1 towards building 1)<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">        5. what requests we want to make fast/efficient with simple interests  (e.g., where to put time in the namespace for time series)<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">        6. AND persistency/storage implications should the data at some point be stored persistently<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">You’ve convinced me before to stop worrying about #4 and allow mechanisms to evolve in the network to take care of this, for the most part.</b></div></div></div></div></div></blockquote></div></blockquote><div><br class=""></div>because app people need to first tell what apps need first, then we can see what may be the best way to handle it.</div><div><br class=""></div><div>for things that do not seem feasible to be directly supported by network forwarding, one can always add a layer of indirection.</div><div><br class=""></div><div>Having app people to start with worrying about network layer problems does not seem to me the best starting point.</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">  And that for #5, maybe apps should just publish in multiple namespaces, or use sync.  But #6 seems to be in the same category... should we really have to worry about what node is making what data persistent in designing the namespace?  Can we do that a priori in real networks with lots of interacting nodes under the control of different developers, deployers, and users?<span class="Apple-converted-space"> </span></b></div></div></div></div></div></blockquote></div></blockquote><div><br class=""></div>1/ again, app designs should start with app needs first</div><div>2/ then we can see how well that can be supported, then maybe we need to iterate the design.</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">Here’s another example – Consider the smart home, where each subsystem that people buy from home depot (ala Phillips Hue) could have its own persistent storage that really doesn’t want to be involved in storage and publishing of data that’s not relevant to it..  but might (naively?) be thought to publish in the same prefix as each other...<o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">For example, let’s say that you buy a few bulbs of the Phillips Hue system and you buy a few bulbs from another manufacturer.  Both register /<my-home-prefix>/usage/energy/lights because it’s a well-known convention, and use name discovery/sync techniques to pick non-conflicting names that make sense to users and apps.  <span class="Apple-converted-space"> </span><o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">Let’s say from each manufacturer, you</b><span class="Apple-converted-space"> </span><b class="">also get a wall-wart-sized repo that stores a year’s worth of energy consumption data for any device from Phillips (evaluated through some data signing/verification scheme)... and another from the other manufacturer.    <o:p class=""></o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""> </o:p></b></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">So here, if we want those repos to have efficient forwarding of appropriate interests to them, the data (from the<span class="Apple-converted-space"> </span><i class="">lights</i>) should have the manufacturer-specific subprefixes Phillips/ and Foo/ for the respective repos because we don’t want them to publish persistent data in a prefix they don’t have complete information for?   Even though we might not really want to enforce this manufacturer-centric data model on the energy consumption data of our lights necessarily?    (In fact the names exposed to the user / their apps for other purposes should ideally not have this at all.)</b></div></div></div></div></div></blockquote></div></blockquote><div><br class=""></div>my brain is slow tonight so I didn't figure out exactly what is the ideal solution you wanted from the above.</div><div>Once we know that, then we can see what would be the best way to achieve it.<br class=""><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote type="cite" class=""><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class=""><o:p class=""></o:p></b></div></div></div></div></div></blockquote><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><div class=""></div></div></div></div></blockquote></div></blockquote><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><div class=""><div class=""><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><br class=""></div></div></div></div></div></div><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1; font-family: Courier; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><blockquote id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE" style="border-style: none none none solid; border-left-color: rgb(181, 196, 223); border-left-width: 4.5pt; padding: 0in 0in 0in 4pt; margin-left: 3.75pt; margin-right: 0in;" class="" type="cite"><div class=""><div class=""><div class=""><blockquote style="margin-top: 5pt; margin-bottom: 5pt;" class="" type="cite"><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; background-color: white;" class=""><span style="font-size: 11pt; font-family: Calibri;" class="">6) What are other requirements to be a ‘repo’?  (Alternatively, is there a canonical reference in the literature for the type of storage that constitutes a repo?)</span><span style="font-family: Calibri;" class=""><o:p class=""></o:p></span></div></div></blockquote><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div></div><div class=""><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">it does not really matter what we want to call something.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">there is no arbitrary requirement. <o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class="">as I said already, this is research, we have not done much playing with repo up to now.  It is all about figuring out how to make the system work in the best way it can.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><o:p class=""> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman';" class=""><b class="">[jb] I’d argue that it’s just as important to figure out whether we can keep<u class="">brittleness</u><span class="Apple-converted-space"> </span>and<span class="Apple-converted-space"> </span><u class="">hidden dependencies</u><span class="Apple-converted-space"> </span>out of app design and deployment that emerge from interdependencies between things ostensibly in the control of app developers (names) and those that are not (forwarding configuration, knowing whether ‘my’ repo knows everything in the tree it’s publishing in)....<span class="Apple-converted-space"> </span></b></div></div></div></div></div></blockquote></div></blockquote><br class=""></div><div>I do not believe there is any brittleness or hidden dependencies to worry about at this time, as no design has been done yet.  I do believe the need for better communications to help everyone see the problem clearly and avoid misunderstandings.</div><div><br class=""></div><div>Lixia</div><div><br class=""></div><div><br class=""></div><br class=""></body></html>