However, to spark discussion I have created two proposals. One is
the Virtual Environment Systems Protocol, using an aspect of HTTP-NT
(SCP). The other is VHTML (Virtual HTML). VHTML is simply a slight
modification to whichever version of HTML you wish to choose, in order
to have it work in a stream rather than a document. These proposals
can be found at:
http://www.declab.usu.edu:8080/VES-VRML/
Because it has the most relevance of the two (and it is the shortest),
I am including the proposal for VESP in this message. Note: both of
these proposals are created after hours of analyzing countless different
designs over the past year or more. It is interesting to find that
each sucessing proposal tends to grow smaller in size as it incorporates
existing protocols.
Enjoy!
-Brandon
-----------snip-----------
Virtual Environment Systems Protocol
------------------------------------
Goals
To define a protocol which can be used by existing and or new Virtual
Environment Systems (VES) to handle multiple streams and sockets
through a TCP/IP network, for a single user. This protocol is intended
for use with integrating VRML into these systems, but this is not the
only role it can partake. VESP should be a replacement for the basic
telnet session, where textual clients would only parse information
they could display, and would not query to receive the VRML scenes.
In the development for HTTP-NT the Session Control Protocol (SCP) has
been created. SCP is defined as "a simple protocol which lets a server
and client have multiple conversations over a single TCP connection. The
protocol is designed to be simple to implement, and is modelled after
TCP." SCP is implemented on the packet level. VESP could easilly be built
using SCP as a foundation.
Information on SCP and HTTP-NT can be found at:
http://www.w3.org/hypertext/WWW/Protocols/HTTP-NG/http-ng-status.html
Assuming the use of SCP as a base define a few initial sessions always
assumed upon startup:
Session ID Type
2000 base output from the server (standard out)
2001 base user input from the client (standard in)
2003 base directive input from the client
SID 2000 would be the pipe for basic server to client output, such as
text associated with user to user interaction inside the virtual
environment. It would not be the output for items such as location
descriptions. Extended output such as a room description would use
a session created as it is needed.
For instance, when somebody requested the description of a room, the
server would likely respond by opening two sessions, one for the VRML
scene and another for the prose description. SID 2001 would be the pipe
for user commands. SID 2003 is the session where client directives are
sent, such as HTTP-like requests for VRML scenes and other objects.