A device comprising: a cache storing data; a processor; a memory having instructions stored thereon that, when executed by the processor, cause the device to: determine that a broadcast server is capable of broadcasting in response to receiving a message from the broadcast server prior to a broadcast time period elapsing, the message informing the device that the broadcast server is capable of broadcasting; operate the device in a broadcast mode based on the received message during which a portion of the data stored in the cache is updated in response to receiving a data update or a notification of the data update from the broadcast server, the data update or the notification of the data update identifying the portion of the data; in response to determining that the broadcast server is incapable of broadcasting, switch operation of the device from the broadcast mode to a timer mode during which another portion of the data stored in the cache is updated in response to a cache time period elapsing, wherein the device communicates directly with one or more storage devices, while operating in the timer mode, to fetch new cache data in response to invalidating current cache data. a cache storing data; a processor; a memory having instructions stored thereon that, when executed by the processor, cause the device to: determine that a broadcast server is capable of broadcasting in response to receiving a message from the broadcast server prior to a broadcast time period elapsing, the message informing the device that the broadcast server is capable of broadcasting; operate the device in a broadcast mode based on the received message during which a portion of the data stored in the cache is updated in response to receiving a data update or a notification of the data update from the broadcast server, the data update or the notification of the data update identifying the portion of the data; in response to determining that the broadcast server is incapable of broadcasting, switch operation of the device from the broadcast mode to a timer mode during which another portion of the data stored in the cache is updated in response to a cache time period elapsing, wherein the device communicates directly with one or more storage devices, while operating in the timer mode, to fetch new cache data in response to invalidating current cache data. determine that a broadcast server is capable of broadcasting in response to receiving a message from the broadcast server prior to a broadcast time period elapsing, the message informing the device that the broadcast server is capable of broadcasting; operate the device in a broadcast mode based on the received message during which a portion of the data stored in the cache is updated in response to receiving a data update or a notification of the data update from the broadcast server, the data update or the notification of the data update identifying the portion of the data; in response to determining that the broadcast server is incapable of broadcasting, switch operation of the device from the broadcast mode to a timer mode during which another portion of the data stored in the cache is updated in response to a cache time period elapsing, wherein the device communicates directly with one or more storage devices, while operating in the timer mode, to fetch new cache data in response to invalidating current cache data.