[Ndn-interest] Producing new contents with same name
lixia at CS.UCLA.EDU
Wed Feb 8 16:58:22 PST 2017
> On Feb 8, 2017, at 10:51 AM, Junxiao Shi <shijunxiao at email.arizona.edu> wrote:
> Hi Jongdeog
> 1. Is it allowed to produce different contents with same name?
> No, it violates data immutability as required by NDN protocol design principles <https://named-data.net/project/ndn-design-principles/>.
> 2. If it is allowed, what would be a conventional way to implement it? My thoughts are:
> - the interest of the consumer 'must be fresh'
> - the producer produces the contents with the minimal freshness period (0 or 1).
> 3. If there is any other conventional way of fetching the newest version of contents, please let me know. As we discussed in the NDN seminar, the selector (right most child) does not solve the problem as it can sometimes retrieve old cached data.
> You may use iterative version discovery <https://github.com/named-data/ndn-tools/blob/25625ca1a06d5f6e0a1c8c9b88303a8a2b6d19a7/tools/chunks/catchunks/discover-version-iterative.hpp>: use ChildSelector=rightmost to find a version, then express another Interest that excludes that and all lower versions, repeat until you are unable to retrieval any newer versions. A drawback is that there needs to be a timeout <https://redmine.named-data.net/issues/3793> to complete this version discovery procedure.
> So far, no valid alternative solution has been proposed.
I would like to express a different view from Junxiao’s last statement above.
1/ regarding requesting data with the same "name": I would like to draw people’s attention to the important distinction between an exact name and a name prefix.
One must not put different contents under the same exact name.
one can use the same name prefix to fetch future content under that name prefix.
2/ as Jongdeog’s earlier msg already mentioned, he thought about using a combination of "must be fresh" flag on an Interest packet and "FreshnessPeriod" to achieve the goal of fetching latest content:
a) the producer sets "FreshnessPeriod" in its data packet to a small value.
b) a consumer sets "must be fresh" flag its Interest packet
c) This will prevent intermediate forwarders from replying to the Interest with Data packet whose "FreshnessPeriod" already expired, so that the Interest will be forwarded toward the producer.
d) I would also like to make it clear that the "FreshnessPeriod" is a relative time, it gets restarted at each hop. Therefore it is not an upper bound of "freshness" as measured by how long the data packet has left the original producer. Nevertheless it is an effective measure for the producer to control how frequently it can handle incoming Interests for its latest content.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Ndn-interest