Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [hyades-dev] The proposed layer 0 of the new Hyades infrastructure



Andy,

Thanks for taking the time to write this up.  This is good bases for
communication.

When I think of level 0, the envelope is specifically what I have in mind.
What does the envelope look like?  Specifically, how do we determine this
is a Hyades message and how to handle it.  Here is what I had in mind:

byte0-byte3 :  Magic Number ? a magic number to identify this is a Hyades
message.  Strictly used to ensure we do not try and process garbage.  For
example, if a message is corrupt we spin until we find the next instance of
the magic number and we tray and continue processing from this point

byte4- byte7:  Protocol Major Version ? this is a migration mechanism that
allows us to change the protocol as we move forward.  If sizes of various
fields change, etc.  The version can be used to manage the change.

byte8-byte11:  Protocol Minor Version  - continuation of byte4-byte7.  The
idea here is we can make our code more granular this way to handle minor
changes separate from huge overhauls.

byte12- byte15:  Flags ? miscellaneous  flags that allow us to specify
behaviour of the reader of the message.  A concrete example of a flag is to
specify whether this message requires an acknowledgement that it has been
received in full.

byte 16-byte19:  Payload size.  This is the size of the payload that starts
at byte 20.

I have left out the ticket and key.  The ticket is useful when you are
using an acknowledgment system as it identifies the message.  The key is a
bigger question.  Looking for some feedback of what the expectation is
there.

Once you get closure on the envelope (level 0), you can start looking at
the routing information and behavioural sequencing.   I tend to qualify
this additional capability as level 1, and you have provided a good base of
behaviour in the document.  Finally, I think all the services which have
customized protocol specifications plug-in at level 2. The benefit of
handling these separately is that you get to handle the portions of the
protocol in a very fined grained manor.  A negative impact is that you
start having a bit less efficiency on the wire as you will start having
multiple length and possibly version identifies for each layer of the
protocol.


Other issues:

1.  I assume the returnPipeName in CID_PIPE_CONNECT is the name of the pipe
that the endpoint initiating the conversation will use to reading the
protocol  from.

2.  Is there a command when a CID_CONNECT fails.  For example, if a client
is not allowed to connect for some reason such as security.  Currently
there are use cases for the green threads through the connection phases but
none for when things go wrong.



Richard K. Duggan
Problem Determination Enablement
IBM Toronto Laboratory
External: 905-413-2396
Internal: 969-2396



                                                                       
             "Nguyen, Hoang M"                                         
             <hoang.m.nguyen@i                                         
             ntel.com>                                                  To
             Sent by:                  <hyades-dev@xxxxxxxxxxx>        
             hyades-dev-admin@                                          cc
             eclipse.org                                               
                                                                   Subject
                                       [hyades-dev] The proposed layer 0
             04/27/2004 12:22          of the new Hyades infrastructure
             PM                                                        
                                                                       
                                                                       
             Please respond to                                         
                hyades-dev                                             
                                                                       
                                                                       





I sent this document on Andy Kaylor?s behalf.
Any early comment or feedback is always welcome and appreciated.

Regards,

 [attachment "Hyades Protocol Layer Zero.doc" deleted by Richard
Duggan/Toronto/IBM]



Back to the top