IP Library › Granted Patent US 11,755,348
Granted Patent B1
US 11,755,348 · App. 17/069,182 · Granted Sep 12, 2023

Direct and proxy remote form content provisioning methods and systems

Inventors: Dmitry Varentsov (Moscow, RU); Ivan Korobov (Moscow, RU); Sergey Ivanov (Moscow, RU); Nikolay Dobrovolskiy (Moscow, RU)
Assignee: Parallels International GmbH
G06F9/452G06F3/0482G06F3/0484
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,755,348
App. No.
17/069,182
Granted
Sep 12, 2023
Kind
B1
Abstract

Text entry is a significant part of human-computer interactions. Software application vendors have sought to minimize time spent on repeated input of defined information. However, such approaches have limitations which the inventors have addressed such that field population is contextually aware either so that specific sets of user entered data are not accessible in all situations, only specific sets of user entered data are accessible in all situations, sensitive data is automatically removed from data being stored and a specific set of data to be employed based upon a context of the user and/or software application. Further, enhancements to address the additional complexities of remote clients are presented allowing a filling or auto-fill process to follow the program rules, follow text attributes etc. whilst supporting input from different sources such as a keyboard (physical or virtual), human interface devices (HIDs), clipboard(s), another remote client or virtual device.

Claims (144)

1. A method of populating fields within a software application comprising:

a) establishing a remote session for the software application upon a remote system with a client device associated with a user via a communications network;

b) establishing a graphical user interface (GUI) upon the client device in dependence upon data provided by the remote session where the GUI comprises a plurality of fields into which text is to be entered; and

c) entering text into a portion of the plurality of fields of the software application upon the remote system via a first process in execution upon a device and a second process in execution upon the remote system; wherein

the device is the client device;

the first process comprises:

d) receiving an indication of user entered text for a field of the plurality of fields;

e) transmitting the indication of user entered text to the remote system;

f) establishing a current transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

g) determining whether a condition is met in dependence upon the current transfer condition value and a threshold data transfer condition value;

h) upon determining the condition has not been met proceeding to step (m);

i) upon determining the condition has been met

executing a sequence comprising the steps of:

j) continuing to receive indications of user entered text for other fields of the plurality of fields;

k) transmitting the indications of user entered text for other fields of the plurality of fields; and

l) executing a loop back to step (d);

m) upon determining that the message has been received from the remote system executing another sequence comprising the steps of:

n) continuing to receive indications of user entered text for remaining fields of the plurality of fields for which indications of user entered text have not yet been received;

o) storing the received indications of user entered text for the remaining fields of the plurality of fields;

p) establishing a current transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

q) determining whether a condition is met in dependence upon the current transfer condition value and a threshold data transfer condition value;

r) upon determining the condition has not been met executing a loop back to step (p); and

s) upon determining the condition has been met transmitting the indications of user entered text for the remaining fields of the plurality of fields when a subsequent determination determines the condition met; and

the second process comprises:

t) receiving the indication of the user entered text for the first field of the plurality of fields;

u) establishing a data transfer condition value with respect to an aspect of data transfer between the remote system and the client device;

v) establishing a transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

w) determining whether a condition is met in dependence upon the transfer condition value and the threshold data transfer condition value;

x) upon determining the condition is met repeating steps (t) to (v)

v) upon determining the condition is not met executing a further sequence comprising the steps of:

z) generating the message; and

aa) receiving at the later point in time the indications of user entered text for the remaining fields of the plurality of fields when a subsequent determination determines the condition met.

2. The method according to claim 1 , wherein

the threshold current data transfer condition value is defined by a geofence or a network latency;

when the threshold current data transfer condition value is defined by the geofence the transfer condition value with respect to the aspect of data transfer between the remote system and the client device is a distance of the client device from a defined location; and

when the threshold current data transfer condition value is defined by the network latency the transfer condition value with respect to the aspect of data transfer between the remote system and the client device is a current latency of communications between the client device and the remote system.

3. The method according to claim 1 , wherein the another sequence comprising steps (n) to (s) is performed using a software application installed on the client device.

4. The method according to claim 1 , wherein the threshold current data transfer condition value is set to a value forcing the text entry onto the local device thereby suppressing communications between the client device and the remote system during the text entry process.

5. A method of populating fields within a software application comprising:

a) establishing a remote session for the software application upon a remote system with a client device associated with a user via a communications network;

b) establishing a graphical user interface (GUI) upon the client device in dependence upon data provided by the remote session where the GUI comprises a plurality of fields into which text is to be entered; and

c) entering text into a portion of the plurality of fields of the software application upon the remote system via a first process in execution upon a device and a second process in execution upon the remote system; wherein

the device is the client device;

the first process comprises:

d) receiving indications of user entered text for a field of the plurality of fields and transmitting the indications of user entered text to the remote system until it is determined that a message has been received from the remote system;

e) upon determining that the message has been received from the remote system executing another sequence comprising the steps of:

f) rendering the message upon the client device;

g) continuing to receive indications of user entered text for remaining fields of the plurality of fields for which indications of user entered text have not yet been received and storing the received indications of user entered text for the remaining fields of the plurality of fields;

h) determining whether a condition is met in dependence upon a current transfer condition value with respect to the aspect of data transfer between the remote system and the client device and a threshold data transfer condition value;

i) upon determining the condition is not met executing a loop by going to step (i); and

j) upon determining the condition has been met transmitting the indications of user entered text for the remaining fields of the plurality of fields when a subsequent determination determines the condition met; and

the second process comprises:

k) receiving the indications of the user entered text for the field of the plurality of fields;

l) establishing upon receipt of each indication of user entered text a data transfer condition value with respect to an aspect of data transfer between the remote system and the client device;

m) establishing a transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

n) determining whether a condition is met in dependence upon the transfer condition value and the threshold data transfer condition value;

o) upon determining the condition is met repeating steps (k) to (m); and

p) upon determining the condition is not met generating and transmitting the message to be rendered upon the client device.

6. The method according to claim 5 , wherein

the threshold current data transfer condition value is defined by a geofence or a network latency;

when the threshold current data transfer condition value is defined by the geofence the transfer condition value with respect to the aspect of data transfer between the remote system and the client device is a distance of the client device from a defined location; and

when the threshold current data transfer condition value is defined by the network latency the transfer condition value with respect to the aspect of data transfer between the remote system and the client device is a current latency of communications between the client device and the remote system.

7. The method according to claim 5 , wherein

the another sequence comprising steps (k) to (p) is performed using a software application installed on the client device.

8. The method according to claim 5 , wherein

the threshold current data transfer condition value is set to a value forcing the text entry onto the local device thereby suppressing communications between the client device and the remote system during the text entry process.

9. A method of populating fields within a software application comprising:

a) establishing a remote session for the software application upon a remote system with a client device associated with a user via a communications network;

b) establishing a graphical user interface (GUI) upon the client device in dependence upon data provided by the remote session where the GUI comprises a plurality of fields into which text is to be entered; and

c) entering text into a portion of the plurality of fields of the software application upon the remote system via a first process in execution upon a device and a second process in execution upon the remote system; wherein

the first process comprises:

d) receiving an indication of user entered text for a field of the plurality of fields;

e) transmitting the indication of user entered text to the remote system;

f) establishing a current transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

g) determining whether a condition is met in dependence upon the current transfer condition value and a threshold data transfer condition value;

h) upon determining the condition has not been met proceeding to step (m);

i) upon determining the condition has been met executing a sequence comprising the steps of:

j) continuing to receive indications of user entered text for other fields of the plurality of fields;

k) transmitting the indications of user entered text for other fields of the plurality of fields; and

l) executing a loop back to step (d);

m) upon determining that the message has been received from the remote system executing another sequence comprising the steps of:

n) continuing to receive indications of user entered text for remaining fields of the plurality of fields for which indications of user entered text have not yet been received;

o) storing the received indications of user entered text for the remaining fields of the plurality of fields;

p) establishing a current transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

q) determining whether a condition is met in dependence upon the current transfer condition value and a threshold data transfer condition value;

r) upon determining the condition has not been met executing a loop back to step (p); and

s) upon determining the condition has been met transmitting the indications of user entered text for the remaining fields of the plurality of fields when a subsequent determination determines the condition met; and

the second process comprises:

t) establishing a data transfer condition value with respect to an aspect of data transfer between the remote system and the client device;

u) establishing a transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

v) determining whether a condition is met in dependence upon the transfer condition value and the threshold data transfer condition value;

w) upon determining the condition is met executing establishing the client device as the device such that the first process is performed upon the client device and executing steps (aa) to (ag);

x) upon determining the condition is not met determining whether another device is associated with at least one of the client device and the user;

y) upon determining that there is not another device associated with at least one of the client device and the user stopping the second process;

z) upon determining that there is another device associated with at least one of the client device and the user establishing the another device as the device such that the first process is performed upon the another device and executing steps (aa) to (ag);

aa) receiving the indication of the user entered text for the first field of the plurality of fields;

ab) establishing a transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

ac) determining whether a condition is met in dependence upon the transfer condition value and the threshold data transfer condition value;

ad) upon determining the condition is met repeating steps (aa) and (ab)

ae) upon determining the condition is not met executing a further sequence comprising the steps of:

af) generating the message; and

ag) receiving at the later point in time the indications of user entered text for the remaining fields of the plurality of fields when a subsequent determination determines the condition met.

10. The method according to claim 9 , wherein

the threshold current data transfer condition value is defined by a geofence or a network latency;

when the threshold current data transfer condition value is defined by the geofence the transfer condition value with respect to the aspect of data transfer between the remote system and the client device is a distance of the client device from a defined location; and

when the threshold current data transfer condition value is defined by the network latency the transfer condition value with respect to the aspect of data transfer between the remote system and the client device is a current latency of communications between the client device and the remote system.

11. The method according to claim 9 , wherein

the another sequence comprising steps (k) to (p) is performed using a software application installed on the client device.

12. The method according to claim 9 , wherein

the threshold current data transfer condition value is set to a value forcing the text entry onto the local device thereby suppressing communications between the client device and the remote system during the text entry process.

13. A method of populating fields within a software application comprising:

a) establishing a remote session for the software application upon a remote system with a client device associated with a user via a communications network;

b) establishing a graphical user interface (GUI) upon the client device in dependence upon data provided by the remote session where the GUI comprises a plurality of fields into which text is to be entered; and

c) entering text into a portion of the plurality of fields of the software application upon the remote system via a first process in execution upon a device and a second process in execution upon the remote system; wherein

the first process comprises:

d) receiving indications of user entered text for a field of the plurality of fields and transmitting the indications of user entered text to the remote system until it is determined that a message has been received from the remote system;

e) upon determining that the message not been received from the remote system executing another sequence comprising the steps of:

f) rendering the message upon the client device;

g) continuing to receive indications of user entered text for remaining fields of the plurality of fields for which indications of user entered text have not yet been received and storing the received indications of user entered text for the remaining fields of the plurality of fields;

h) determining whether a condition is met in dependence upon a current transfer condition value with respect to the aspect of data transfer between the remote system and the client device and a threshold data transfer condition value;

i) upon determining the condition is not met executing a loop by going to step (i)

j) upon determining the condition has been met transmitting the indications of user entered text for the remaining fields of the plurality of fields when a subsequent determination determines the condition met;

the second process comprises:

k) establishing a data transfer condition value with respect to an aspect of data transfer between the remote system and the client device;

l) establishing a transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

m) determining whether a condition is met in dependence upon the transfer condition value and the threshold data transfer condition value;

n) upon determining the condition is met executing establishing the client device as the device such that the first process is performed upon the client device and executing steps (r) to (w);

o) upon determining the condition is not met determining whether another device is associated with at least one of the client device and the user;

p) upon determining that there is not another device associated with at least one of the client device and the user stopping the second process;

q) upon determining that there is another device is associated with at least one of the client device and the user establishing the another device as the device such that the first process is performed upon the another device and executing steps (r) to (w);

r) receiving the indications of the user entered text for the field of the plurality of fields;

s) establishing upon receipt of each indication of user entered text a data transfer condition value with respect to an aspect of data transfer between the remote system and the client device;

t) establishing a transfer condition value with respect to the aspect of data transfer between the remote system and the client device for the user entered text based upon the current communications between the client device and the remote system;

u) determining whether a condition is met in dependence upon the transfer condition value and the threshold data transfer condition value;

v) upon determining the condition is met repeating steps (r) to (t)

w) upon determining the condition is not met generating and transmitting the message to be rendered upon the client device.

14. The method according to claim 13 , wherein

the threshold current data transfer condition value is defined by a geofence or a network latency;

when the threshold current data transfer condition value is defined by the geofence the transfer condition value with respect to the aspect of data transfer between the remote system and the client device is a distance of the client device from a defined location; and

when the threshold current data transfer condition value is defined by the network latency the transfer condition value with respect to the aspect of data transfer between the remote system and the client device is a current latency of communications between the client device and the remote system.

15. The method according to claim 13 , wherein

the another sequence comprising steps (k) to (p) is performed using a software application installed on the client device.

16. The method according to claim 13 , wherein

the threshold current data transfer condition value is set to a value forcing the text entry onto the local device thereby suppressing communications between the client device and the remote system during the text entry process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2020
From: VARENTSOV, DMITRY; KOROBOV, IVAN; IVANOV, SERGEY; DOBROVOLSKIY, NIKOLAY
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 054039/0300 →
Cited By (1)
US 12,321,575