So you use a scheme similar to mOPE? How do you handle tree rebalancing? Is your variant of mOPE deterministic?
I find some ideas in MIT mOPE paper similar though
EDIT: Also, you say the server does not know the tree structure. Do you mean it doesn't know the structure until you query, or the structure is always obfuscated (including access patterns and search patterns)?
EDIT2: What is the round complexity of a single query in your protocol?