Responsive Scroller Controls in Server-Hosted Applications
First Claim
Patent Images
1. An apparatus, comprising:
- at least one processor configured to execute computer-executable instructions and a hosted application; and
at least one memory storing computer-executable instructions, which when executed by the processor, cause the apparatus to;
create, in the memory, a session of the hosted application corresponding to a remote computing device;
transmit, to the remote computing device, a graphical content of the hosted application;
determine that the graphical content includes a scrollable UI control;
retrieve metadata about the scrollable UI control;
transmit, to the remote computing device, metadata about the scrollable UI control;
transmit, to cache memory at the remote computing device, tile content associated with the scrollable UI control, wherein the tile content corresponds to scrollable content outside of a viewport of the scrollable UI control; and
receive, from the remote computing device, information about scrolling input action.
8 Assignments
0 Petitions
Accused Products
Abstract
Environments are disclosed in which a server executes an application on behalf of a client device and, in particular, to providing responsive scrolling in server-hosted applications. In one example, a remote computing device may be a mobile (or stationary) computing device with (or without) a touch screen input surface. Some or all of the client-server communication between a client-side scrollable UI control module of the remote computing device and a server-side scrollable UI control module of the server device may occur in an asynchronous manner.
-
Citations
56 Claims
-
1. An apparatus, comprising:
-
at least one processor configured to execute computer-executable instructions and a hosted application; and at least one memory storing computer-executable instructions, which when executed by the processor, cause the apparatus to; create, in the memory, a session of the hosted application corresponding to a remote computing device; transmit, to the remote computing device, a graphical content of the hosted application; determine that the graphical content includes a scrollable UI control; retrieve metadata about the scrollable UI control; transmit, to the remote computing device, metadata about the scrollable UI control; transmit, to cache memory at the remote computing device, tile content associated with the scrollable UI control, wherein the tile content corresponds to scrollable content outside of a viewport of the scrollable UI control; and receive, from the remote computing device, information about scrolling input action. - View Dependent Claims (2, 3, 5, 6, 7, 8, 10, 13)
-
-
4. (canceled)
-
9. (canceled)
-
11. (canceled)
-
12. (canceled)
-
14. (canceled)
-
15. (canceled)
-
16. (canceled)
-
17. (canceled)
-
18. (canceled)
-
19. (canceled)
-
20. (canceled)
-
21. A computer-assisted method, comprising:
-
creating, in computer memory by a computer processor, a session of a hosted application, wherein the session is associated with a remote computing device with a touch screen input surface configured to receive scrolling input actions; determining, by a mobile application runtime component, that a graphical content of the hosted application includes a scrollable UI control; retrieving, by the mobile application runtime component, metadata about the scrollable UI control, wherein the metadata comprises at least one of;
position and size;
extent of scrollable content;
viewport position onto this extent;
whether the control is visible;
relative z-order to other scroller controls in the same application and session;
background color; and
scrollbar visibility;identifying, by the processor, based on direction of scrolling, velocity of scrolling, and measured latency of a network, scrollable content outside of a viewport of the scrollable UI control; pre-fetching, by the processor, the identified scrollable content as tile content configured for storage in a memory at the remote computing device, wherein the tile content has dimensions based on predetermined factors; transmitting, by the processor to the remote computing device, the graphical content of the hosted application; transmitting, by the processor to the remote computing device, the metadata about the scrollable UI control; and transmitting, by the processor to the remote computing device, the pre-fetched tile content. - View Dependent Claims (22, 23, 24)
-
-
25. (canceled)
-
26. (canceled)
-
27. (canceled)
-
28. (canceled)
-
29. (canceled)
-
30. (canceled)
-
31. (canceled)
-
32. (canceled)
-
33. (canceled)
-
34. (canceled)
-
35. (canceled)
-
36. (canceled)
-
37. (canceled)
-
38. (canceled)
-
39. (canceled)
-
40. (canceled)
-
41. (canceled)
-
42. (canceled)
-
43. (canceled)
-
44. (canceled)
-
45. (canceled)
-
46. (canceled)
-
47. (canceled)
-
48. (canceled)
-
49. A computer-assisted method, comprising:
-
receiving, from a remote server device, a graphical content of a hosted application executing on the remote server device; receiving, from the remote server device by a client-side scrollable UI control module, metadata about a scrollable user interface (UI) control in the graphical content; storing, in a local video buffer by a processor, the graphical content; displaying, on a display device by the processor, the graphical content; rendering, on the display device by the client-side scrollable UI control module, a viewport of the scrollable UI control based on the received metadata; detecting, by the client-side scrollable UI control module, a scrolling input action from a touch screen input surface; receiving, from the remote server device by the client-side scrollable UI control module, tile content corresponding to scrollable content outside of the viewport of the scrollable UI control; and storing, in the cache memory by the client-side scrollable UI control module, the tile content; - View Dependent Claims (50, 51, 52, 54, 55, 56)
-
-
53. (canceled)
Specification