IP Library Granted Patent US 12,341,843
Granted Patent B1
US 12,341,843 · App. 18/531,210 · Granted Jun 24, 2025

Method to determine use of local and remote applications in a distributed multiuser environment for shared file resources

Inventors: Ivan Korobov (Moscow, RU); Silvan Chetcuti (Sliema, MT); Ruslan Sadovnikov (Moscow, RU); Nikolay Dobrovolskiy (Moscow, RU); Serguei M. Beloussov (Singapore, SG)
Assignee: Parallels International GmbH
H04L67/025G06F16/1787H04L67/12
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 12,341,843
App. No.
18/531,210
Granted
Jun 24, 2025
Kind
B1
Abstract

The subject matter of this specification can be implemented in, among other things, a method that includes determining, by a first computing device, a set of remote applications hosted by a second computing device including file type associations for each remote application. The first computing device determines a set of local applications and their file type associations. The each file type associated with a remote application, the first computing device determines whether the file type is also associated with a local application. Responsive to determining that the file type is associated with both a remote and local application, the first computing device configures a proxy component with parameters specifying the remote application and the local application. The proxy component is configured to determine whether to open a requested file of the file type with the remote application or the local application based upon the current client/server environment.

Claims (55)

1. A method comprising:

establishing upon a first client device a request to open a file associated with a particular file type stored upon a storage device accessible to a second client device in dependence upon a user selection with respect to a virtual view of shared files stored upon the second client device provided to the first client device by a remote application server (RAS) client in execution upon a RAS which is communication with both the first client device and second client device where the file is one of the shared files;

dynamically determining whether to open the file of the particular file type with a local application associated with the particular file type upon the first client device or a remote application associated with the particular file type upon the remote host;

opening the file with the determined one of the local application and the remote application;

upon determining to open the file with the local application determining, with the RAS, whether the first client device and the second client device are on the same network;

upon a positive determination that the first client device and the second client device are on the same network notifying, by the RAS, the second client device of the request to open the file and requesting, by the RAS, a peer-to-peer session between the first client device and second client device in order to transfer the contents of the file;

determining whether the second client device denies or accepts the request for the peer-to-peer session;

upon determining that the second client device has denied the request for the peer-to-peer session transferring the file from the storage device accessible to the second client device to the first client device via the RAS;

upon determining that the client device has accepted the request for the peer-to-peer session establishing via the RAS the peer-to-peer session between the first client device and the second client device so that the file can be directly transferred from the storage device accessible to the second client device to the first client device.

2. The method according to claim 1 , wherein

the dynamic determination is established by an environment analyzer coupled to a network to which at least the first client device and the RAS are connected;

the environment analyzer collects data relating to network bandwidth, network noise, and network quality and establishes the determination in dependence upon the collected data.

3. The method according to claim 1 , wherein

the dynamic determination is established by an environment analyzer coupled to a network to which the first client device, the RAS and the second client device are connected;

the environment analyzer collects data relating to network bandwidth, network noise, and network quality and establishes the determination in dependence upon the collected data.

4. The method according to claim 1 , further comprising

keeping the peer-to-peer session open whilst a user edits the file within the local application;

saving the edited file upon the first client device; and

synchronizing, with the RAS client, the saved edited file on the first client device with the original file on the second client device using the existing peer-to-peer session.

5. The method according to claim 1 , further comprising

terminating the peer-to-peer session after transfer of the file from the second client device to the first client device;

saving the edited file upon the first client device; and

synchronizing the saved edited file on the first client device with the original file on the second client device using another peer-to-peer session established between the first client device and the second client device by the RAS client.

6. The method according to claim 1 , wherein

the dynamic determination is established by an environment analyzer coupled to a network to which at least the first client device and the RAS are connected;

the environment analyzer collects data relating to network bandwidth, network noise, and network quality and establishes the determination in dependence upon the collected data.

7. The method according to claim 1 , wherein

the dynamic determination is established by an environment analyzer coupled to a network to which the first client device, the RAS and the second client device are connected;

the environment analyzer collects data relating to network bandwidth, network noise, and network quality and establishes the determination in dependence upon the collected data.

8. A method comprising:

establishing upon a first computing device a request to open a file associated with a particular file type stored upon a storage device accessible to the first computing device;

determining whether to open the file of the particular file type with a local application associated with the particular file type upon the first computing device or a remote application associated with the particular file type upon a second computing device; and

opening the file with the determined one of the local application and the remote application; wherein

the determination is established by an environment analyzer coupled to a network to which the first computing device and the second computing device are connected which:

collects data relating to performance of the network;

calculates performance values for each scenario of a set of scenarios in dependence upon a local application performance value associated with opening the requested file of the particular file type with the local application and a remote application performance value associated with opening the requested file of the particular file type; and

establishes the determination in dependence upon the calculated different performance values for the set of scenarios and selects a scenario of the set of scenarios with the highest performance value.

9. The method according to claim 8 , wherein

a first scenario of the set of scenarios comprises synchronizing the requested file of the particular file type by copying the entire requested file of the particular file type; and

a second scenario of the set of scenarios comprises synchronizing the requested file of the particular file type based upon only synchronizing those portions of the requested file of the particular file type that need synchronization.

10. The method according to claim 8 , wherein

the determination is dynamically determined upon the request to open the file being established.

11. A method comprising:

establishing upon a first client device a request to open a file associated with a particular file type stored upon a storage device accessible to a second client device in dependence upon a user selection with respect to a virtual view of shared files stored upon the second client device provided to the first client device by a remote application server (RAS) client in execution upon a RAS which is communication with both the first client device and second client device where the file is one of the shared files;

dynamically determining whether to open the file of the particular file type with a local application associated with the particular file type upon the first client device or a remote application associated with the particular file type upon the remote host; and

opening the file with the determined one of the local application and the remote application; wherein

the determination is established by an environment analyzer coupled to a network to which the first computing device and the second computing device are connected which:

collects data relating to performance of the network;

calculates performance values for each scenario of a set of scenarios in dependence upon a local application performance value associated with opening the requested file of the particular file type with the local application and a remote application performance value associated with opening the requested file of the particular file type; and

establishes the determination in dependence upon the calculated different performance values for the set of scenarios and selects a scenario of the set of scenarios with the highest performance value.

12. The method according to claim 11 , wherein

a first scenario of the set of scenarios comprises synchronizing the requested file of the particular file type by copying the entire requested file of the particular file type; and

a second scenario of the set of scenarios comprises synchronizing the requested file of the particular file type based upon only synchronizing those portions of the requested file of the particular file type that need synchronization.

13. The method according to claim 11 , wherein

the determination is dynamically determined upon the request to open the file being established.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2023
From: KOROBOV, IVAN; CHETCUTI, SILVAN; SADOVNIKOV, RUSLAN; DOBROVOLSKIY, NIKOLAY; BELOUSSOV, SERGUEI M.
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 065854/0789 →
Continuity (3)
Continuation 17855256 · Jun 30, 2022
Continuation 17149100 · Jan 14, 2021
Continuation 16024110 · Jun 29, 2018
References Cited (10)
US 20090044146A1 · Patel et al. · 2009 [cited by applicant]
US 20120297311A1 · Duggal · 2012 [cited by applicant]
US 20130111336A1 · Dorman · 2013 [cited by examiner]
US 20150169616A1 · Benraz · 2015 [cited by applicant]
US 20150365469A1 · Procopio · 2015 [cited by examiner]
US 20160127447A1 · Jiang et al. · 2016 [cited by applicant]
US 20170026452A1 · Duggal · 2017 [cited by examiner]
US 20180165447A1 · Soman · 2018 [cited by examiner]
Parallels, “Parallels Remote Application Server Administrator's guide 17.1”, https://download.parallels.com/ras/v17/docs/en_US/Parallels-RAS-v17-Administrators-Guide.pdf, 1999-2020, 416 pages. [cited by applicant]
Parallels, “Parallels Remote Application Server Solutions guide 17.1”, https://download.parallels.com/ras/v17/docs/en_US/Parallels-RAS-v17-Solutions-Guide.pdf, 1999-2020, 66 pages. [cited by applicant]
Cited By (1)
US 12,684,039