1. A method implemented by an apparatus including a storage device and a controller for processing user history data stored in the storage device, the method comprising: storing, in the storage device, a hierarchical data structure for describing user history, the hierarchical data structure including (a) a user information element to identify a user, (b) a first user action history of the user as a first structural element of the hierarchical data structure, the first user action history including (b-1) a first data protection attribute to specify whether all information in the first user action history is protected or not, and (b-2) a first list of user action items for describing the user's multimedia consumption including skipping or slow playing a piece of content, and (c) a second user action history of the user as a second structural element at the same level of the hierarchical data structure as the first structural element, the second user action history including (c-1) a second data protection attribute to specify whether all information in the second user action history is protected or not, and (c-2) a second list of user action items for describing the user's media consumption including playing or recording a content stream, wherein each user action item in both the first and second lists records a corresponding action of the user's consumption of content from a respective multimedia program and has (i) an action time indicating when the corresponding action of the user took place and (ii) a unique content reference identifier that identifies the consumed multimedia program independent of the multimedia program's location and enables access to content related metadata that is not provided in the user history; and wherein at least one user action item in the first list of user action items includes timing information for identifying the skipped or slow played piece of content.