This paper proposes a novel transport-layer protocol called Sender Initiated Congestion Control (SICC) which provides congestion control for Small Group Multicast (SGM). SGM is an effective solution for carrying a large number of simultaneous small-sized group communications. We provide simulated and experimental results to show that SICC is capable of achieving fast congestion avoidance and significantly increases throughput at receivers while still remaining TCP friendly. In SICC, multiple transmission rates are pre-defined as constant values for a given session, and each rate is associated with a different SICC CLASS. Each CLASS corresponds to an SGM group containing receivers with similar acceptable sending rates. The acceptable sending rate of each receiver is estimated at the sender using TCP-Friendly Rate Control (TFRC) in response to the loss event rate reported by the receiver. Based on receiver's reports, the rate that a sender uses to transmit packets to a receiver can be dynamically changed by assigning the receiver to one of the other SICC CLASS. These are the first reported results for congestion control in SGM.
We propose a Java library BiXJ for bidirectional XML transformation. A bidirectional transformation generates target XML documents from source XML documents in forward transformations, and updates source documents in backward transformations by reflecting back modifications on target documents. The benefit of using BiXJ is that users can get the corresponding backward transformation automatically just by writing one forward transformation. BiXJ has addressed several limitations of the existing bidirectional transformation languages, and can be used for general purpose XML processing. For example, bidirectional XPath expressions written in BiXJ can be used to locate and extract data from XML documents. To validate the usability and expressiveness of BiXJ, we have bidirectionalized some typical examples of XQuery and XSLT with this library. The results of these experiments are promising.