Service Data Objects denote the use of [[language-agnostic]]{{disambiguation needed|date=October 2012}} data structures that facilitate communication between structural tiers and various service-providing entities. They require the use of a [[tree structure]] with a [[root node]] and provide traversal mechanisms (breadth/depth-first) that allow client programs to navigate the elements. Objects can be static (fixed number of fields) or dynamic with a map-like structure allowing for unlimited fields. The specification defines [[meta-data]] for all fields and each object graph can also be provided with change summaries that can allow receiving programs to act more efficiently on them.