A method performed by a user device in communication with a plurality of servers, the method comprising:
- transmitting a first message associated with requested content data to at least one server of the plurality of servers;
- receiving from at least one server of the plurality of servers, prior to the user device displaying the requested content data:
- (a) a content data uniform resource locator (URL) that is used to access the requested content data stored on an at least one content storage device;
- and (b) a timepoint of the requested content data;
- transmitting, based at least in part on the content data URL, a second message to at least one server of the plurality of servers, wherein the second message requests the requested content data;
- receiving the requested content data from at least one server of the plurality of servers,
- displaying the requested content data;
- transmitting a third message to at least one server of the plurality of servers at a time that is based at least in part on the timepoint;
- receiving, prior to the user device displaying a selected supplemental content data:
- a plurality of supplemental content data uniform resource locators (URLs) that is used to access the selected supplemental content data for display by the user device at the timepoint of the requested content data, wherein:
- the selected supplemental content data is stored on an at least one supplemental content storage device, and
- the selected supplemental content data is selected by at least one server of the plurality of servers based at least in part on the third message;
- transmitting, based at least in part on the plurality of supplemental content data URLs, a fourth message to at least one server of the plurality of servers, wherein the fourth message requests the selected supplemental content data;
- receiving, based at least in part on the fourth message, the selected supplemental content data from at least one server of the plurality of servers;
- and
- displaying the selected supplemental content data at the timepoint.