The only difference between weighted fair sharing and guaranteed service is that WFS does not perform admission control. As a result, each session gets (w_i / \sum_{j \in Active} w_j) fraction of the server node's service. To do this in HFSC is a little bit tricky. Currently there isn't a way to turn off admission control for arbitrary node in the hierarchy. The trick is to assign WFS sessions a small "rate" (everything in HFSC is in bits per milisecond) relative to the server node's rate. This way, it is then unlikely any admission control will fail and so admission control is essentially turned off. As a result, the WFS sessions will share the server's service according to the relative "rate" that you have given them. There is an interesting related issue on buffer allocation. Clearly, when you have WFS, the actual minimum service rate flucturates as sessions come and go. Therefore, the optimal amount of buffering per sessions is also a time varying quantity. Some form of hierarchical buffer allocation and sharing scheme should be developed to solve this problem.