1. A method of addressing a node in a tree-like data structure, comprising: receiving a reference to a given node in a tree-like data structure having at least a plurality of nodes in which one or more nodes are assigned as one or more marker nodes, wherein the nodes in the tree-like data structure do not all have assigned unique identifiers, wherein a fraction of the nodes in the tree-like data structure are assigned as marker nodes by a marker assignment algorithm based on usage history, pattern of the tree-like data structure, and parsing of the schema of the tree-like data structure, and wherein one or more of the marker nodes have a unique name encoded with an indication that addresses another assigned marker node's location in the tree-like data structure, wherein the indication contains information on the whereabouts of said another assigned marker node, wherein the marker assignment algorithm of nodes further comprises distribution of marker nodes in said tree-like data structure; identifying a marker node near the given node, the identified marker node being a node other than a root node of the tree-like data structure; determining a relative path expression from the marker node to the given node; creating a path expression using the identified marker node's unique name and the relative path expression, the path expression addressing the given node; using the identified marker node's unique name to find said another assigned marker node in the tree-like data structure and creating another path expression to the given node based on said another assigned marker node; propagating data modifications of nodes in said tree-like data structure to a plurality of user agents.