A database management system for storing and retrieving data of networked office equipment, comprising: a first data storage structure for receiving and storing one or more datasets for each of a plurality of devices, each dataset comprising unordered timestamped data elements that indicate statuses of a particular device related condition at different points in time, wherein in the first data storage structure, determining whether or not a status change has occurred requires a search for a data element indicative of a first status, and a search for another data element indicative of a second status; a second data storage structure for storing and mapping between: device identifiers that identify the devices, condition identifiers that identify the device related conditions, and timestamps that identify when two temporally consecutive data elements of a given dataset indicate different statuses, wherein the data storage management system is operable to update the second data storage structure whenever a new data element of one of the datasets indicating a status different from the status indicated by a temporally preceding data element of said one of the datasets is stored in the first data storage structure; and data access means for, in response to receiving a request for data in respect of a specified time period and at least one device related condition of at least one device, using the second data storage structure to identify when one or more status changes occurred within the specified time period for said at least one device related condition. a first data storage structure for receiving and storing one or more datasets for each of a plurality of devices, each dataset comprising unordered timestamped data elements that indicate statuses of a particular device related condition at different points in time, wherein in the first data storage structure, determining whether or not a status change has occurred requires a search for a data element indicative of a first status, and a search for another data element indicative of a second status; a second data storage structure for storing and mapping between: device identifiers that identify the devices, condition identifiers that identify the device related conditions, and timestamps that identify when two temporally consecutive data elements of a given dataset indicate different statuses, wherein the data storage management system is operable to update the second data storage structure whenever a new data element of one of the datasets indicating a status different from the status indicated by a temporally preceding data element of said one of the datasets is stored in the first data storage structure; and device identifiers that identify the devices, condition identifiers that identify the device related conditions, and timestamps that identify when two temporally consecutive data elements of a given dataset indicate different statuses, wherein the data storage management system is operable to update the second data storage structure whenever a new data element of one of the datasets indicating a status different from the status indicated by a temporally preceding data element of said one of the datasets is stored in the first data storage structure; and data access means for, in response to receiving a request for data in respect of a specified time period and at least one device related condition of at least one device, using the second data storage structure to identify when one or more status changes occurred within the specified time period for said at least one device related condition.