<div dir="ltr">i implemented DIS in freewrl. Here;s a thought from my fuzzy memory:<div>There are 2 kinds of messages<div>A the kind where wait for confirmation and resend if packet dropped, and multiple packet messages</div><div>- great for complex messages sent just once, like creating a new avatar, or removing an avatar</div><div>B the single packet with no confirmation signal </div><div>- great for repeating messages like avatar position updates, can drop a packet and nothing bad happens</div><div>- great for broadcasting </div><div>DIS uses B type. And it's awkward for complex and one-time messages</div><div>Ideally both types would be supported for different uses </div><div>-Doug</div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 5, 2021 at 8:19 PM GL <<a href="mailto:info@3dnetproductions.com">info@3dnetproductions.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">








<div lang="EN-US" style="overflow-wrap: break-word;">

<div class="gmail-m_847556593660806762Section1">

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">A few days ago I suggested we look back to DIS because I do respect
that body of work. <u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">While very war-games centric, I believe that we can take from it
the general ideas and possibly even some of the specific fields and make that
part of a more common network sensor node. By that I mean something that can be
applicable to a wider variety of applications and also have dedicated support
for HAnim.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">There can remain the question whether it should use binary PDUs
or encoded URLs, but why not accept each as valid by integrating them both into
the standard.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">I also do not explicitly object or condone the use of flexible
fields at this point, though it does seem like a sensible consideration to
disallow it from a security point of view, because it can be in fact far too
easy to inject malicious code into a MU data stream without the proper measures
in place. GL<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"> <u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt">

<div>

<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">

<p class="MsoNormal"><b><span style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span style="font-size:10pt;font-family:Tahoma,sans-serif"> x3d-public
[mailto:<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>] <b>On Behalf Of </b>John Carlson<br>
<b>Sent:</b> Tuesday, January 5, 2021 7:07 PM<br>
<b>To:</b> X3D Graphics public mailing list<br>
<b>Subject:</b> Re: [x3d-public] X3D and VRML for multiuser worlds<u></u><u></u></span></p>

</div>

</div>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">I think the last time we brought this up, there was some
issue about fields shouldn’t be flexible in the network protocol, because it
would be too difficult to write virus or intrusion rules for scanning the
packets.  I think we’re back to the DIS standard.  Please state your
objections to DIS, perhaps  we can work on the DIS standard?<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">John<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986" target="_blank">Mail</a> for Windows 10<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">

<p class="MsoNormal"><b>From: </b><a href="mailto:info@3dnetproductions.com" target="_blank">GL</a><br>
<b>Sent: </b>Tuesday, January 5, 2021 11:53 AM<br>
<b>To: </b><a href="mailto:x3d-public@web3d.org" target="_blank">X3D Graphics public mailing
list</a><br>
<b>Subject: </b>Re: [x3d-public] X3D and VRML for multiuser worlds<u></u><u></u></p>

</div>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">Now that's more like it. Thanks for the link John.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">I do not know why people are discussing the use of different
network protocols for client-server connections, when HTTP on TCP works just
fine for our purpose. This is not where the bottleneck is, the kernel is. Plus,
HTTP is already supported with most operating systems, that in addition to the
fact that we are here to discuss X3D, not network protocols. The same can
largely apply to client-client connections.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">When I express a desire for standardizing a NetworkSensor node,
it has in fact little to do with the underlying network protocol. What I wish
to standardize is the node itself. So let's see what we have so far as per <u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><a href="https://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionNodes.html" target="_blank">https://www.web3d.org/x3d/content/examples/Basic/Networking/NetworkSensorConnectionNodes.html</a><u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<h2><span style="color:black">9.4.4 Connection<u></u><u></u></span></h2>

<pre><span style="color:black">Connection: X3DNetworkSensorNode {<u></u><u></u></span></pre><pre><span style="color:black">    SFBool [in,out] enabled  TRUE<u></u><u></u></span></pre><pre><span style="color:black">    SFNode [in,out] metadata NULL [X3DMetadataObject]<u></u><u></u></span></pre><pre><span style="color:black">    SFBool        [out]      isActive FALSE<u></u><u></u></span></pre><pre><span style="color:black">    MFString      [in,out]   url ["x3dp://localhost:80/"]<u></u><u></u></span></pre><pre><span style="color:black">    SFInt32       [in]       protocol 0 [0,65535]<u></u><u></u></span></pre><pre><span style="color:black">    SFTime        [in,out]   timeOut  0<u></u><u></u></span></pre><pre><span style="color:black">    SFBool        [in]       secure   TRUE<u></u><u></u></span></pre><pre style="margin-bottom:12pt"><span style="color:black">}<u></u><u></u></span></pre>

<p class="MsoNormal"><b><span style="font-size:18pt;font-family:"Times New Roman",serif;color:black">9.4.5
NetworkSensor<u></u><u></u></span></b></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">NetworkSensor : X3DNetworkSensorNode {<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    SFBool    [in,out]
enabled         TRUE<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    SFNode    [in,out]
metadata        NULL 
[X3DMetadataObject]<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    SFBool   
[out]    isActive<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    SFNode    [in out]
connection      NULL [Connection node only]<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    SFString  [in]    
httpRequest     ""<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    MFString  [out]   
httpResponse    NULL<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    SFString 
[]      
channelId       ""<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    # And any number of:<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    fieldType [in]    
fieldName<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    fieldType [in,out] fieldName<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    fieldType [out]    fieldName<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">    fieldType
[]       fieldName<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New";color:black">}<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">As you can see, this is rather incomplete, more like just the
skeleton of a node. Can we not build from here where it matters as far as X3D
standards? And forget about lower protocol layers for a moment, especially that
ideally X3D should be able to run on top of different internet/network
protocols?<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">If you really want to understand how MU works, this is where it
begins, and defining the field names would be a very good start.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">The above page states that "</span><span style="font-size:13.5pt;color:black">a proper implementation requires native X3D-player support
and a full Prototype-based implementation is not possible."</span><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">, which is only
partially correct, since X3Daemon is such an implementation, at least when it
comes to section 9.4.5. X3Daemon relies on the X3D player for 9.4.4 because it
is readily available, but there are no reason why anyone couldn't make their
own implementation. The section 9.4.4 is also probably where the line should be
drawn as far as X3D's jurisdiction concerning network protocols.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">There are currently two main implementations of the above that
comes to mind: BS Collaborate and X3Daemon (do I forget something??).<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">We should probably need to reconcile, add or change the field
names and the types in order to finalize this standard.<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">I do not see much more that we need. After being stuck here for
over a decade, I am still not sure why. <u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)">The above is required if we want to standardize connections
across both clients and servers, regardless of protocols. That is what will
allow world objects and avatars to work as intended for using the same type
definitions, field names and parameters. This would facilitate connections
between worlds, and potentially let avatars travel around them. An avatar made
for one world would work in a different one, a world made for one server would
work with a different server, clients could talk to any others (providing
listeners and response capabilities are built-in), and so on… GL  <u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-family:"Simplified Arabic Fixed";color:rgb(31,73,125)">________________________________________________________<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-family:"Simplified Arabic Fixed";color:rgb(31,73,125)">* * * Interactive Multimedia - Internet Management * * *<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-family:"Simplified Arabic Fixed";color:rgb(31,73,125)">  * *  Virtual Reality -- Application
Programming  * *<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-family:"Simplified Arabic Fixed";color:rgb(31,73,125)">    *   3D Net Productions 
<a href="http://3dnetproductions.com" target="_blank">3dnetproductions.com</a>   *<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<p class="MsoNormal"><span style="font-size:12pt;font-family:Consolas;color:rgb(31,73,125)"><u></u> <u></u></span></p>

<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt">

<div>

<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">

<p class="MsoNormal"><b><span style="font-size:10pt;font-family:Tahoma,sans-serif">From:</span></b><span style="font-size:10pt;font-family:Tahoma,sans-serif"> x3d-public
[mailto:<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>] <b>On Behalf Of </b>John Carlson<br>
<b>Sent:</b> Tuesday, January 5, 2021 12:38 AM<br>
<b>To:</b> Christoph Valentin; Cecile Muller<br>
<b>Cc:</b> X3D Graphics public mailing list<br>
<b>Subject:</b> Re: [x3d-public] X3D and VRML for multiuser worlds<u></u><u></u></span></p>

</div>

</div>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">I discovered this recently.  It may assist you in your
efforts for highly scalable systems:<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal"><a href="http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html" target="_blank">http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html</a><u></u><u></u></p>

<p class="MsoNormal"><br>
In other words, you’re not limited to 16-bits worth of TCP ports on one server.<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">My guess is they use multiple IP addresses (IPv6?) on a
single server, but I’m not sure.<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">If anyone does this, let us know how it goes.<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">John<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986" target="_blank">Mail</a> for Windows 10<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">

<p class="MsoNormal"><b>From: </b><a href="mailto:christoph.valentin@gmx.at" target="_blank">Christoph
Valentin</a><br>
<b>Sent: </b>Monday, January 4, 2021 10:55 PM<br>
<b>To: </b><a href="mailto:contact@wildpeaks.fr" target="_blank">Cecile Muller</a><br>
<b>Cc: </b><a href="mailto:x3d-public@web3d.org" target="_blank">X3D Graphics public mailing
list</a><br>
<b>Subject: </b>Re: [x3d-public] X3D and VRML for multiuser worlds<u></u><u></u></p>

</div>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Hi,<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Isn't MQTT the protocol of the IoT?<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">It needs a broker, doesn't it?<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Just being curious.<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">KR,<u></u><u></u></p>

<p class="MsoNormal">Christoph <u></u><u></u></p>

<p class="MsoNormal"> <u></u><u></u></p>

<p class="MsoNormal"> <u></u><u></u></p>

<p class="MsoNormal"> <u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Gesendet: Dienstag, 05. Januar 2021 um 05:25 Uhr<u></u><u></u></p>

<p class="MsoNormal">Von: "Cecile Muller"
<<a href="mailto:contact@wildpeaks.fr" target="_blank">contact@wildpeaks.fr</a>><u></u><u></u></p>

<p class="MsoNormal">An: "X3D Graphics public mailing list"
<<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><u></u><u></u></p>

<p class="MsoNormal">Betreff: Re: [x3d-public] X3D and VRML for multiuser
worlds<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Good morning (and happy new year !),<u></u><u></u></p>

<p class="MsoNormal"> <u></u><u></u></p>

<p class="MsoNormal"> <u></u><u></u></p>

<p class="MsoNormal">If you want to build something multi-users, nowadays I'd
recommend MQTT: it's not specific to 3D,<u></u><u></u></p>

<p class="MsoNormal">so you'd still need to create the application on top of it,
but you could reach both applications and webapps<u></u><u></u></p>

<p class="MsoNormal">with it (it can even run on low-end devices), and it's a
proper documented standard.<u></u><u></u></p>

<p class="MsoNormal">Mosquitto on a small linux server is enough to get started,<u></u><u></u></p>

<p class="MsoNormal">or you could use something like PubNub to not worry about
scaling the backend.<u></u><u></u></p>

<p class="MsoNormal"> <u></u><u></u></p>

<p class="MsoNormal"> <u></u><u></u></p>

<p class="MsoNormal">See you,<u></u><u></u></p>

<p class="MsoNormal">Cecile_______________________________________________
x3d-public mailing list <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">_______________________________________________<u></u><u></u></p>

<p class="MsoNormal">x3d-public mailing list<u></u><u></u></p>

<p class="MsoNormal"><a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><u></u><u></u></p>

<p class="MsoNormal"><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><u></u><u></u></p>

</div>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

</div>

</div>

</div>


_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div>