Perhaps the easiest to implement would be this:
- 3 sliders, one for each owner.
- Each owner gets assigned their_slider_value / total_of_all_slider_values.
Some examples:
If A is set to 0, B is set to 1/2 and C is set to full, A gets 0%, B gets 33.3% and C gets 66.6%
   A = A_slider / (A_slider + B_slider + C_slider) 
     = 0        / (0        + 1/2      + 1)        = 0   =  0.0%
   B = B_slider / (A_slider + B_slider + C_slider) 
     = (1/2)    / (0        + 1/2      + 1)        = 1/3 = 33.3% 
   C = C_slider / (A_slider + B_slider + C_slider) = 
       (1)      / (0        + 1/2      + 1)        = 2/3 = 66.6%
If A, B, and C are all set at max value (or to the min value), they each get 1/3
Advantages:
- It should be intuitive (the relative values are the same; if A_slideris twice as full asB_slider, it gets twice an many resources)
- You can use existing controls (i.e. it doesn't invent new controls)
- It's easy to represent 0% (you don't have to worry about sliders overlapping)
- It is easy to extend to 4 or 5 or an many owners as you need.
Disadvantages:
- There are many ways to represent the same allocation
If you wanted to put in a little more effort, you could accompany the sliders with text (percentages) or a graphical representation (not something the user could manipulate) of the actual allocations that the sliders represented (either a bar filled in with the allocations, or a pie chart, etc)