US 11,853,781 B2
Inter-application relevance management for application virtualization platform
Fuping Zhou, Nanjing (CN); and Nicky Shi, Nanjing (CN)
Assigned to Citrix Systems, Inc., Fort Lauderdale, FL (US)
Filed by CITRIX SYSTEMS, INC., Fort Lauderdale, FL (US)
Filed on Apr. 29, 2022, as Appl. No. 17/732,783.
Application 17/732,783 is a continuation of application No. 16/842,042, filed on Apr. 7, 2020, granted, now 11,347,528.
Application 16/842,042 is a continuation of application No. PCT/CN2020/080803, filed on Mar. 24, 2020.
Prior Publication US 2022/0253326 A1, Aug. 11, 2022
Int. Cl. G06F 9/455 (2018.01); G06F 9/50 (2006.01); G06F 9/54 (2006.01); G06Q 10/0631 (2023.01); G06F 8/60 (2018.01)
CPC G06F 9/45516 (2013.01) [G06F 8/60 (2013.01); G06F 9/45558 (2013.01); G06F 9/5005 (2013.01); G06F 9/5077 (2013.01); G06F 9/54 (2013.01); G06Q 10/06315 (2013.01)] 18 Claims
OG exemplary drawing
 
1. An application virtualization platform, comprising:
a memory configured to store a set of relevance rules for applications hosted by the application virtualization platform, wherein each relevance rule identifies at least two distinct applications and specifies a relevance setting between the at least two applications, wherein the at least two applications include a first application and a second application, and wherein the relevance setting defines whether the first application and the second application are compatible to run on at least one of a same session, or a same session server; and
a processor coupled to the memory and configured to apply the set of relevance rules for applications hosted by the application virtualization platform to avoid conflict between the at least two applications, according to a method comprising:
receiving a request from a client to launch a target application hosted by the application virtualization platform; retrieving a subset of applicable relevance rules that specify the target application from the set of relevance rules; and selecting a resource for the target application based on the subset of applicable relevance rules, wherein the resource includes at least one of a session or a session server, wherein the subset of applicable relevance rules define whether the target application and a currently running application are compatible to run on the same session, and if the sessions are not compatible then the relevance rules define whether the target application and a currently running application are compatible to run on the same session server, wherein selecting the resource includes:
i) defining a first candidate set of sessions for the target application to join that have a currently running application for which the subset of relevance rules define as eligible for the target application to join on the same session,
ii) searching for all currently running applications that are not compatible to run on the same session as the target application and defining a second candidate set of sessions that include the currently running applications that are not compatible to run on the same session as the target application, and
iii) returning only sessions from the first candidate set of sessions that do not include the second candidate set of sessions for the target application to join,
if step (iii) does not return any eligible sessions for the target application to join, then:
iv) defining a first candidate set of session servers for the target application to join that have a currently running application for which the subset of relevance rules define as eligible for the target application to join on the same session server,
v) searching for all currently running applications that are not compatible to run on the same session server as the target application and defining a second candidate set of session servers that include the currently running applications that are not compatible to run on the same session server as the target application, and
vi) returning only session servers from the first candidate set of session servers that do not include the second candidate set of session servers for the target application to join.