US2022353638A1PendingUtilityA1

Location-based application discovery

Assignee: CITRIX SYSTEMS INCPriority: Jan 22, 2020Filed: Jul 15, 2022Published: Nov 3, 2022
Est. expiryJan 22, 2040(~13.5 yrs left)· nominal 20-yr term from priority
H04W 4/029H04W 4/022G06F 8/60
66
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A computer system and method for providing location-based application access is provided. For example, the computer system includes a processor configured to receive a connection request for access to a distributed workspace, the connection request including location information for a client device. The processor can access metadata for each of a plurality of location-based applications, the metadata including location information for each of the applications defining at least one physical location where each of the applications can be accessed. The processor can compare the location information against the metadata for each of the applications and determine one or more applications that match the location information for the client device. The processor then can organize each of the applications that have associated location information that matches the location information into a listing of available applications and transmit the listing of available applications for display to a user of the client device.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of providing location-based application access, the method comprising:
 receiving, by at least one first processor at a first server computer, a connection request from a client agent via a network interface operably coupled to the at least one first processor for access to a distributed workspace, the connection request comprising location information for a client device;   accessing, by the at least one first processor, metadata for each of a plurality of applications from a memory operably coupled to the at least one first processor, wherein the metadata for a particular one of the applications comprises location information that defines at least one physical location from which the particular application can be accessed;   comparing, by the at least one first processor, the location information for the client device against the metadata for at least some of the plurality of applications;   determining, by the at least one first processor at the first server computer, one or more of the plurality of applications having location information that encompasses the location information for the client device;   organizing, by the at least one first processor, each of the determined one or more of the plurality of applications having location information that encompasses the location information for the client device into a listing of available applications;   transmitting, by the at least one first processor, the listing of available applications for display to a user of the client device to the client agent via the network interface;   receiving, by the at least one first processor, a user selection that indicates a selected one of the available applications; and   in response to receiving the user selection, launching, using a virtualization agent, a virtual instance of the selected one of the available applications, wherein the virtual instance is accessible via the client device.   
     
     
         2 . The method of  claim 1 , wherein the virtualization agent is hosted at a second server computer that is distinct from the first server computer. 
     
     
         3 . The method of  claim 1 , further comprising receiving updated location information for the client device from the client agent via the network interface. 
     
     
         4 . The method of  claim 2 , further comprising:
 generating an updated listing of available applications based upon the updated location information; and   transmitting the updated listing of available applications for display to the user of the client device to the client agent via the network interface.   
     
     
         5 . The method of  claim 1 , further comprising:
 comparing updated location information for the client device against the metadata for at least some of the plurality of applications; and   determining one or more of the plurality of applications having location information that encompasses the updated location information for the client device.   
     
     
         6 . The method of  claim 5 , further comprising organizing each of the determined one or more of the plurality of applications having location information that encompasses the updated location information for the client device into an updated listing of available applications. 
     
     
         7 . The method of  claim 1 , wherein the memory comprises an application store configured to store the plurality of applications. 
     
     
         8 . The method of  claim 1 , wherein the memory comprises an application store that is configured to store the plurality of applications, and that is also organized into a plurality of application groups, each of the plurality of application groups comprising group location information for defining at least one physical location from which each of a plurality of applications in a particular group can be accessed. 
     
     
         9 . The method of  claim 1 , wherein the location information for the client device comprises at least one of global positioning system information and network connection information. 
     
     
         10 . A non-transitory computer readable medium storing computer executable instructions to provide location-based application access, the computer executable instructions comprising instructions to:
 receive, by at least one first processor at a first server computer, a connection request from a client agent via a network interface operably coupled to the at least one first processor for access to a distributed workspace, the connection request comprising location information for a client device;   access, by the at least one first processor, metadata for each of a plurality of applications from a memory operably coupled to the at least one first processor, wherein the metadata for a particular one of the applications comprises location information that defines at least one physical location from which the particular application can be accessed;   compare, by the at least one first processor, the location information for the client device against the metadata for at least some of the plurality of applications;   determine, by the at least one first processor, one or more of the plurality of applications having location information that encompasses the location information for the client device;   organize, by the at least one first processor, each of the determined one or more of the plurality of applications having location information that encompasses the location information for the client device into a listing of available applications;   transmit, by the at least one first processor, the listing of available applications for display to a user of the client device to the client agent via the network interface;   receive, by the at least one first processor, a user selection that indicates a selected one of the available applications; and   in response to receiving the user selection, launch, using a virtualization agent, a virtual instance of the selected one of the available applications, wherein the virtual instance is accessible via the client device.   
     
     
         11 . The non-transitory computer readable medium of  claim 10 , wherein the instructions further comprise instructions to receive updated location information for the client device from the client agent via the network interface. 
     
     
         12 . The non-transitory computer readable medium of  claim 11 , wherein the instructions further comprise instructions to:
 generate an updated listing of available applications based upon the updated location information; and   transmit the updated listing of available applications for display to the user of the client device to the client agent via the network interface.   
     
     
         13 . The non-transitory computer readable medium of  claim 10 , wherein the instructions further comprise instructions to:
 compare updated location information for the client device against the metadata for at least some of the plurality of applications; and   determine one or more of the plurality of applications having location information that encompasses the updated location information for the client device.   
     
     
         14 . The non-transitory computer readable medium of  claim 13 , wherein the instructions further comprise instructions to organize each of the determined one or more of the plurality of applications having location information that encompasses the updated location information for the client device into an updated listing of available applications. 
     
     
         15 . The non-transitory computer readable medium of  claim 10 , wherein the memory comprises an application store configured to store the plurality of applications. 
     
     
         16 . The non-transitory computer readable medium of  claim 10 , wherein the memory comprises an application store that is configured to store the plurality of applications, and that is also organized into a plurality of application groups, each of the plurality of application groups comprising group location information for defining at least one physical location from which each of a plurality of applications in a particular group can be accessed. 
     
     
         17 . The non-transitory computer readable medium of  claim 10 , wherein the location information for the client device comprises at least one of global positioning system information and network connection information. 
     
     
         18 . A computer system for providing location-based application access, the computer system comprising:
 a memory;   a network interface; and   at least one processor coupled to the memory and the network interface and configured to:
 receive a connection request from a client agent via the network interface, the connection request comprising location information for a client device; 
 access metadata for each of a plurality of applications from the memory, wherein the metadata for a particular one of the applications comprises location information that defines at least one physical location from which the particular application can be accessed; 
 compare the location information for the client device against the metadata for at least some of the plurality of applications; 
 identify a specific one of the plurality of applications having location information that encompasses the location information for the client device; 
 cause an instance of the specific application to be launched; 
 receive, from the client agent, an access request for the specific application; and 
 grant the client agent access to the previously launched instance of the specific application. 
   
     
     
         19 . The computer system of  claim 18 , wherein the at least one processor is further configured to:
 receive, from the client device, updated client device location information that defines an updated client device location; and   make a determination that the specific application is not accessible at the updated client device location.   
     
     
         20 . The computer system of  claim 19 , wherein the at least one processor is further configured to, in response to making the determination terminate the instance of the specific application. 
     
     
         21 . The computer system of  claim 18 , wherein the access request for the specific application is received after launching the instance of the specific application.

Join the waitlist — get patent alerts

Track US2022353638A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.