In our environment, we zone each fcs only to 1 node of the iogroup and therefore we end up with 4 paths per LUN (2 active and 2 standby) :
SANA fcs1(VIO1) node1 port1
SANA fcs3(VIO2) node2 port1
SANB fcs0(VIO1) node2 port2
SANB fcs2(VIO2) node1 port2
This gives you all the required redundancy and failure of fabric, VIOS or node always results in a situation that all other resources are still used.
So drawing is ok, except the split at the right end where each path goes to both nodes.
Also need to add here that we then use port 1 and 2 on each node for 1 LPAR, another LPAR will then use 3 and 4.
That way we distribute the load on the ports across multiple LPAR's.