UCLA-IRL / ndn-workspace-solid

NDN workspace in Solid JS
https://ndn-workspace.web.app
ISC License
5 stars 15 forks source link

[Not sure] SVS Sync Interest with multicast forwarding hint #17

Closed zjkmxy closed 9 months ago

zjkmxy commented 10 months ago

Since NDN testbed only has /ndn/multicast set to use the multicast strategy by default, to make our app work we had to make the whole workspace prefix be under /ndn/multicast. But this also multicasts Data Interests. We want to support arbitrary workspace prefix. Maybe we should use forwarding hints to multicast SVS Sync Interests?

yoursunny commented 10 months ago

Since NDN testbed only has /ndn/multicast set to use the multicast strategy by default, to make our app work we had to make the whole workspace prefix be under /ndn/multicast. But this also multicasts Data Interests.

Sync group prefix and application data prefix can be chosen independently. As an example, StateVectorSync C++ library chat example uses a sync group prefix that starts with /ndn/svs and allows each participant to choose a different prefix for published application data.

zjkmxy commented 10 months ago

That leads back to the discussion on application namespace vs forwarding namespace... This app uses application namespace for security and management, so all forwarding related thing should be expressed in ForwardingHints.

yoursunny commented 10 months ago

I'm afraid NFD would not treat ForwardingHint: /ndn/multicast as multicast Interest. StrategyChoice lookup is based on PIT entry name i.e. Interest name, and ForwardingHint is not considered whatsoever. Thus, the effective strategy would be whatever strategy that matches the Interest name.

NDNts side should be okay. If you invoke fw.nodeNames.append(new Name("/ndn/multicast")), NDNts FIB lookup will use Interest name, so that incoming Interest with this ForwardingHint can reach the correct producer handler.

zjkmxy commented 9 months ago

After discussion we think this is not the correct way to do things.