| 1: if on a bound node then |
| 2: access the specified object |
| 3: end if |
| 4: if on a leaf node and exist parent node then |
| 5: migrate back to the parent node |
| 6: notify the parent SM |
| 7: return |
| 8: end if |
| 9: for each child on multicast tree do |
| 10: create child Access SM |
| 11: if this SM is the created child Access SM then |
| 12: remember this node as parent |
| 13: migrate to the child node |
| 14: call Access Migration |
| 15: exit |
| 16: end if |
| 17: end for |
| 18: wait for results from all child Access SMs |
| 19: merge the results |
| 20: if exist parent node then |
| 21: migrate back to the parent node |
| 22: notify the parent SM |
| 23: end if |