| CPC H04L 65/65 (2022.05) [G06T 7/0012 (2013.01); H04L 65/75 (2022.05); G06T 2207/10081 (2013.01); G06T 2207/10088 (2013.01); G06T 2207/10116 (2013.01)] | 15 Claims |

|
1. A method comprising:
receiving, by one or more processors of a server system and from an image viewing application executing on a computing device different than the server system, a request to open a study;
receiving, by the one or more processors of the server system, a plurality of images associated with the study;
receiving, by the one or more processors of the server system, a viewing history of each image of the plurality of images, wherein each image of the plurality of images is associated with a view of a plurality of views;
determining, by the one or more processors of the server system, a first transmission order for the plurality of images based on the viewing history of each image of the plurality of images;
opening, by the one or more processors of the server system, a communication channel between the server system and the image viewing application;
determining, by the one or more processors of the server system, a size of a storage buffer used by the image viewing application;
calculating, by the one or more processors of the server system, an average transmission rate for one or more images previously transmitted by the server system to the image viewing application;
determining, by the one or more processors of the server system, an optimal transmission rate between the server system and the image viewing application based on the size of the storage buffer, processing power of the image viewing application, and the calculated average transmission rate;
placing, by the one or more processors of the server system, the plurality of images in an image queue according to the first transmission order;
transmitting, by the one or more processors of the server system, a first subset of images of the plurality of images to the image viewing application through the communication channel from the image queue according to the first transmission order and at the optimal transmission rate;
receiving, by the one or more processors of the server system, an indication of an interaction with a first image of the transmitted first subset of images by a user;
in response to receiving the indication of the interaction, determining, by the one or more processors of the server system, a second transmission order for a second subset of images of the plurality of images in the image queue based on the view associated with the first image and views of the plurality of views associated with the second subset of images, wherein the second subset of images is different than the first subset of images; and
reordering, by the one or more processors of the server system, the second subset of images in the image queue that have not yet been transmitted according to the second transmission order.
|