Here is what I would do ....
1) give all nodes access to their neighbours on the same tessellation level
2) for the quad node you want to render, find the neighbours, then if the node is an internal node (next door to the parent nodes neighbour) then go into the
parent nodes neighbours until your node is not an internal node and if they are of the same level of subdivision then you should be fine (if they are rendering patches at the same level for example) however if they are of a lower level of subdivision like in your diagram then find the tessellation level of the neighbouring nodes.
Now ... I would next change the patches to include a hem around the edge, this is 1 row of polygons making a border at each edge.
The hem around the edge needs to be capable of having more points at the outer edge or more points at the inner edge (for a higher patch subdivision)
This is basically the same idea as in the tessellation shader stage for OpenGL and Direct3D.
Now for example, for 2 patches next to each other Patch A and Patch B, you could have 64 vertices squared on Patch A and 32 vertices squared on Patch B, then Patch A has twice the tessellation level of Patch B. So the hem of Patch A would have to have 64 vertices at the interior, and the hem of Patch B would have 32 vertices on the interior. Now to set the outer level of tessellation for both patches you should try to make them meet in the middle, so try 48 for both at the outer level of tessellation.
Just like in the shader - the outer level of tessellation for each patch would be different for each outer edge ....
and to look for the type of Vertex Buffer and Index Buffer for the hem, I think you should read about tessellation shaders in OpenGL 4 and Direct3D 11.
The good part about this scheme is that you can use the Tessellation shaders on the latest hardware.