Subject: [rohc] regarding queries about UDVM and sigcomp

From: "Raghavendra D P" <[email-masked]>
Date: Thu, 10 Aug 2006 19:40:13 +0530

HI 

Thanks a lot for ur cooperation in sloving my question.  i am having some queries again

1)  The State value can be either of the following  Decompressed message, Message to be sent or Dictionary

my question is,     In what scenarios state value contains decompressed message and Message to be sent . please do clarify

2) The state address for this case is the start of the UDVM bytecode    (same as the destination mentioned in the first message).
 
state adresss     = destination address which indicates address of UDVM bytecode to be uploaded in UDVM memory
state insrtuction =  program start address ie destination address 
then both are same, but   u also have mentioned that it conatins next instruction code execution address 
 scenario if possible
 
please do clarify it.

3) once the compressor dispathcer gets application and invokes particular compressor, 
Now we have sigcomp message which is encoded or commpressed data

Next is to create sig comp format message  and there i will uplaod the UDVM bytecode  and feedback return data and also sig comp message 
in correct order specified in the RFC 3320 . 

On recieving  endpoint, decompressor dispatcher recieves Sigcomp message along with  UDVM bytecode and feedback data(Decompressed_memory sz, 
sig_version and cycles per bit) then dispatcher creates one instance of UDVM memory and it initializes memory using feedback data, udvm bytecode is copied to correct dest address. and after decompression of sigcomp message using UDVM bytecode, state is created .
And also compartment identifier is provided by the application layer  to the dispatcher to save the information in state .

On sending endpoint , next sigcomp message is created and it is formatted using other sigcomp message format form , which includes the state identifier , feedback data, sig comp message, 
Again this message is received by the decompressor dispatcher , using state identifier  it access the state using state access instuction 

PLEASE TELL ME THAT WHO HAS INVOKE THIS STATE ACCESS INSTRUCTION , IS IT  ON SENDING  ENDPOINT OR DISPATHCER OR IN FIRST MESSAGE 
WHATEVER WE ARE UPLOADED UDVM BTECODE,  and  ONLY WE HAVE to CHANGE THE  

STATE INSTRUCTION - STATE ACCESS INSTRUCTION ADDRESS
STATE ADDRESS - ?

PLEASE TELL ME , I HAVE TO USE FEEDBACK DATA TO FILL UDVM_MEMORY _SIZE, CYCLES_PER BIT (STARTING VALUES UPTO 4 BYTES OF UDVM 
MEMORY) , SO I HAVE TO SEND FEEDBACK DATA ALONG WITH SIGCOMP MESSAGE   EVERY TIME . 

OR  ELSE I HAVE TO STORE IN STATE HANDLER.

PLEASE CLARIFY IT.

Then state values are  copied to UDVM memory (this is done by normal programming :RIGHT) then decompression takes place by executing UDVM bytecode  and decompression message is given to application layer.

4) IS THERE  GUIDE OR LINK WHICH HELPS IN GENERATING   UDVM BTECODE ?

thanks in advance 
 
PLEASE HELP ME IN THIS REGARD , WAITING FOR UR  REPLY 

regards 
 
raghavendra 
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message.Global Edge Software Ltd has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Global Edge Software Ltd reserves the right to monitor and review the content of all messages sent to or from this e-mail address
_______________________________________________
Rohc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rohc

---

From: "Gangadharan G - NPD, Chennai" <[email-masked]>
Date: Fri, 11 Aug 2006 12:19:27 +0530

Hi Raghu,

A1)  It depends on the type of compression that you want to support. i.e.,
If you want to support Shared and Dynamic compression, You have to create
'Decompressed message' or 'Message to be sent' as a state in the remote end
through ur UDVM bytecode.
 
A2) The State-Instruction parameter is useful when you save the UDVM memory
snapshot as one state.
 
For Example, part of UDVM bytecode

128 : 
           UDVM Bytecodes to initialize UDVM memory
          .....................................
          ......................................
 
220 : 
          UDVM Bytecodes for  decompression
 
          .....................................
          .....................................
 
For the first message, the destination field value is 128
 
After decompressed the first message in the remote end, the Snapshot of UDVM
memory is saved as state through End-Message UDVM bytecode and the
State-Instruction is mentioned as 220(If the Initialization is not required
further). 
 
A3) The way to specify the Request feedback and Return parameters to the
remote end is 
      purely depends on ur UDVM Bytecode.
      Only ur UDVM bytecode specifies whether you have to mention the
feedback data every time or not.
 
A4) Check the RFC 4464 to get an idea about the UDVM Assembler.
      Also please check the Rohc Mail archive to get a script for UDVM
Assembler.
 
Thanks,
Gangadharan.

-----Original Message-----
From: Raghavendra D P [mailto:[email-masked]]
Sent: Thursday, August 10, 2006 7:40 PM
To: Gangadharan G - NPD, Chennai; [email-masked]
Subject: regarding queries about UDVM and sigcomp

HI 

Thanks a lot for ur cooperation in sloving my question.  i am having some
queries again
 
1)  The State value can be either of the following  Decompressed message,
Message to be sent or Dictionary
 
my question is,     In what scenarios state value contains decompressed
message and Message to be sent . please do clarify

 
2) The state address for this case is the start of the UDVM bytecode
(same as the destination mentioned in the first message).
 
state adresss     = destination address which indicates address of UDVM
bytecode to be uploaded in UDVM memory
state insrtuction =  program start address ie destination address 
then both are same, but   u also have mentioned that it conatins next
instruction code execution address 
 scenario if possible
 
please do clarify it.

3) once the compressor dispathcer gets application and invokes particular
compressor, 
Now we have sigcomp message which is encoded or commpressed data
 
Next is to create sig comp format message  and there i will uplaod the UDVM
bytecode  and feedback return data and also sig comp message 
in correct order specified in the RFC 3320 . 
 
On recieving  endpoint, decompressor dispatcher recieves Sigcomp message
along with  UDVM bytecode and feedback data(Decompressed_memory sz, 
sig_version and cycles per bit) then dispatcher creates one instance of UDVM
memory and it initializes memory using feedback data, udvm bytecode is
copied to correct dest address. and after decompression of sigcomp message
using UDVM bytecode, state is created .
And also compartment identifier is provided by the application layer  to the
dispatcher to save the information in state .
 
On sending endpoint , next sigcomp message is created and it is formatted
using other sigcomp message format form , which includes the state
identifier , feedback data, sig comp message, 
Again this message is received by the decompressor dispatcher , using state
identifier  it access the state using state access instuction 

PLEASE TELL ME THAT WHO HAS INVOKE THIS STATE ACCESS INSTRUCTION , IS IT  ON
SENDING  ENDPOINT OR DISPATHCER OR IN FIRST MESSAGE 
WHATEVER WE ARE UPLOADED UDVM BTECODE,  and  ONLY WE HAVE to CHANGE THE  

PLEASE TELL ME , I HAVE TO USE FEEDBACK DATA TO FILL UDVM_MEMORY _SIZE,
CYCLES_PER BIT (STARTING VALUES UPTO 4 BYTES OF UDVM 
MEMORY) , SO I HAVE TO SEND FEEDBACK DATA ALONG WITH SIGCOMP MESSAGE   EVERY
TIME . 

PLEASE CLARIFY IT.

Then state values are  copied to UDVM memory (this is done by normal
programming :RIGHT) then decompression takes place by executing UDVM
bytecode  and decompression message is given to application layer.

 

thanks in advance 

regards 
 
raghavendra 

Disclaimer:

This message and any attachment(s) contained here are information that is confidential, proprietary to HCL Technologies and its customers, privileged or otherwise protected by law. The information is solely intended for the individual or the entity it is addressed to. If you are not the intended recipient of this message, you are not authorized to read, forward, print, retain, copy or disseminate this message or any part of it. If you have received this e-mail in error, please notify the sender immediately by return e-mail and delete it from your computer.
_______________________________________________
Rohc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rohc

---

From: "Raghavendra D P" <[email-masked]>
Date: Wed, 16 Aug 2006 16:57:44 +0530

hi

please  solve my queries  which are below

Q1)state handler is separate function or  it is nothing but which must be embedded in the UDVM bytecode (state access, state create, state free)

Q2) on Target endpoint, which uses UDVM for decompression , it uses the following steps to decode the message.

for the fist message
1) decompressor  dispatcher receives sigcomp message,
2) execute UDVM bytecode to initialize UDVM memory 
3) execute UDVM bytecode for decompressor which decodes the message
4) decoded message is returned to application layer
5) Storing state information  ? how  separate function is written   or
 executing the end instruction itself  creates the state and store UDVM decompressor bytecode  

for the rest of the message
1) if input instuction contains zero byte/bits continous , it will come to know that end of the message, and call state free instuction
 else
2) Access the state information ? how using UDVM instruction (state access instruction which is embedded in UDVM bytecode , it is correct)
3) execute UDVM bytecode for decompressor which decodes the message
4) decoded message is returned to application layer

Q3)please example code , it is correct or not
INT32 (* CB_SigDeCompDispatcher) (IN CHAR *fmt_cmp_msg, OUT CHAR *app_msg ) 

{

         receive(sigcomp_message) 

         if ( !(flag_byte.len) ) {   /* len which is in sigcomp message format if len !=0, UDVM bytecode is available*/

                  udvm_memory_init(); /* UDVM Bytecodes to initialize UDVM Memory*/

                  /* Input fails due to insufficient bits/bytes */

                  if (input() < 0 )

                              instruction() /* execute the instruction whose address is specified in the input instruction */

                 else {

                              decompression() /* UDVM Bytecodes for decompression*/ 

                               if( instruction == End-Message)

                                                  call state_create () /* To create state */

                        }

        }

        else {

                   /* change state_instruction to address of state access instruction*/

                  /* state address will be the address same as dest field

                   state_acess (); /* to acess state to acess UDVM bytecode which is stored as state value*/

                  if (input() <= 0 )

                /* instruction specifed in the input instruction is executed  (say instuction is instruction()) when input () is failed

                              instruction() /* execute the instruction whose address is specified in the input instruction */

                  decompress(); /* UDVM Bytecodes for decompression*/

        }

}

regards
Raghavendra
  ----- Original Message ----- 
  From: Gangadharan G - NPD, Chennai 
  To: Raghavendra D P 
  Sent: Monday, August 14, 2006 6:54 PM
  Subject: RE: regarding queries about UDVM and sigcomp

  Hi Raghu,
   
     Please see my inline comments.
   
  P.S: CC ur queries to ROHC mailing list. Because Other also should know about ur question(if interested).
   
  Thanks,
  Gangadharan.
    -----Original Message-----
    From: Raghavendra D P [mailto:[email-masked]]
    Sent: Monday, August 14, 2006 6:14 PM
    To: Gangadharan G - NPD, Chennai
    Subject: Re: regarding queries about UDVM and sigcomp

    hi

    i have some more queries 

    how u come to know that end of compressed data has reached on another endpoint , so that i can free the state.
    [GG] IF the udvm instruction like INPUT fails due to insufficient bits/bytes (i.e., on reaching end of compressed data), 
    it goes to the instruction specified in the INPUT ins.
    After each sig comp message  decompressed, state free is necessary, then state value containing UDVM bytecode will also get free. 
    [GG]  It is not must to free the state at the end . It is up to ur requirement.

    so on another end , how to know that end of compressed data is arrived .

    my question how to differentiate end of first message( state free is not required ) and  last message (state free is required). 
     
    [GG] study all the UDVM Instruction clearly. 
    I beleive, tha above can be done as :
     
    set a 0 (in the Initialisation part)
    ................
    ................
    COMPARE(a, 0 , ins2, ins1, ins2)
     
    ins1:
     
    set a 3 (value not equal to 0)
    ............................
     
    ins2:
    ........................
     
    Also this can be applicable only if you save UDVM Snapshot of first message and use it in the subsequent messages.

    please help me in this regard

    thanking u in advance
    regards
    raghavendra .DP

      ----- Original Message ----- 
      From: Gangadharan G - NPD, Chennai 
      To: Raghavendra D P 
      Sent: Friday, August 11, 2006 5:41 PM
      Subject: RE: regarding queries about UDVM and sigcomp

      Hi Raghu,
       
      Please my inline comments.
       
      Thanks,
      Gangadharan.
        -----Original Message-----
        From: Raghavendra D P [mailto:[email-masked]]
        Sent: Friday, August 11, 2006 2:46 PM
        To: Gangadharan G - NPD, Chennai
        Subject: Re: regarding queries about UDVM and sigcomp

        hi

         The State-Instruction parameter is useful when you save the UDVM memory snapshot as one state.

        128 : 
         
        220 : 

         
        After decompressed the first message in the remote end, the Snapshot of UDVM memory is saved 
        as state through End-Message UDVM bytecode and the State-Instruction is mentioned as 220
        (If the Initialization is not required further). 

        1) MY question is ,then what state address contain = Dest addr or next instruction address 

        u have told that  state address contain next instruction execution address,  please give this scenario. 
         
        [GG] State Address specifies the UDVM memory address to which State value has to be loaded.
                State Instruction (if mentioned )specifies the next instruction to be executed.
                Its up to you to use it.
         
               For the above example, in the second message the state address may be 128 and State Instruction is 220

        2) i have downloaded Zlib 1.2.3. library , i know that it contains , deflate algorithm and inflate algorithm which is not universal decompressor
         
        but i want to know whether this support the state handler and state maintained for saving information. 
         
        [GG] State Handler is a concept in a Sigcomp. Deflate is a general compression algorithm. Deflate does not know anything about State Handler.

        thanks in advance
        regards
        Raghavendra 

          ----- Original Message ----- 
          From: Gangadharan G - NPD, Chennai 
          To: Raghavendra D P ; [email-masked] 
          Sent: Friday, August 11, 2006 12:19 PM
          Subject: RE: regarding queries about UDVM and sigcomp

          Hi Raghu,

          A1)  It depends on the type of compression that you want to support. i.e., If you want to support Shared and Dynamic compression, You have to create 'Decompressed message' or 'Message to be sent' as a state in the remote end through ur UDVM bytecode.
           
          A2) The State-Instruction parameter is useful when you save the UDVM memory snapshot as one state.

          128 : 
           
          220 : 

           
          After decompressed the first message in the remote end, the Snapshot of UDVM memory is saved as state through End-Message UDVM bytecode and the State-Instruction is mentioned as 220(If the Initialization is not required further). 
           
          A3) The way to specify the Request feedback and Return parameters to the remote end is 
                purely depends on ur UDVM Bytecode.
                Only ur UDVM bytecode specifies whether you have to mention the feedback data every time or not.
           
          A4) Check the RFC 4464 to get an idea about the UDVM Assembler.
                Also please check the Rohc Mail archive to get a script for UDVM Assembler.
           
          Thanks,
          Gangadharan.
           
            -----Original Message-----

            HI 

             

             
            please do clarify it.

            PLEASE CLARIFY IT.

            thanks in advance 

            regards 
             
            raghavendra 
          Disclaimer: This message and any attachment(s) contained here are information that is confidential, proprietary to HCL Technologies and its customers, privileged or otherwise protected by law. The information is solely intended for the individual or the entity it is addressed to. If you are not the intended recipient of this message, you are not authorized to read, forward, print, retain, copy or disseminate this message or any part of it. If you have received this e-mail in error, please notify the sender immediately by return e-mail and delete it from your computer.

---

From: "Vishal Sudan" <[email-masked]>
Date: Tue, 22 Aug 2006 14:55:39 +0530

Hi,
 
Many of your questions are regarding the form that the implementation would take - that is up to you to 
decide. You may find it helpful to look at the open-source "open Sigcomp" implementation (search for "open Sigcomp" on google).
 
> 4) decoded message is returned to application layer
 
Step 2 and 3 can be part of a single step that is - run the relevant bytecode to generate the message ( if any is generated ). 
"Initialization of memory" does not warrant execution of UDVM bytecode as you mention in step 2.
 
Thanks and Regards,
Vishal Sudan

-----Original Message-----
From: Raghavendra D P [mailto:[email-masked]]
Sent: Wednesday, August 16, 2006 4:58 PM
To: Gangadharan G - NPD, Chennai
Cc: [email-masked]
Subject: [rohc] Re: regarding queries about UDVM and sigcomp

hi

for the fist message

{

         receive(sigcomp_message) 

                  if (input() < 0 )

                 else {

                        }

        }

        else {

                  if (input() <= 0 )

        }

}

regards
Raghavendra