Movatterモバイル変換


[0]ホーム

URL:


US20160261671A1 - Local Operation of Remotely Executed Applications - Google Patents

Local Operation of Remotely Executed Applications
Download PDF

Info

Publication number
US20160261671A1
US20160261671A1US14/641,100US201514641100AUS2016261671A1US 20160261671 A1US20160261671 A1US 20160261671A1US 201514641100 AUS201514641100 AUS 201514641100AUS 2016261671 A1US2016261671 A1US 2016261671A1
Authority
US
United States
Prior art keywords
user
application
user device
remote
remote application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US14/641,100
Other versions
US10581950B2 (en
Inventor
Salim Abiezzi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omnissa LLC
Original Assignee
VMware LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by VMware LLCfiledCriticalVMware LLC
Priority to US14/641,100priorityCriticalpatent/US10581950B2/en
Assigned to VMWARE, INC.reassignmentVMWARE, INC.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: ABIEZZI, Salim
Publication of US20160261671A1publicationCriticalpatent/US20160261671A1/en
Application grantedgrantedCritical
Publication of US10581950B2publicationCriticalpatent/US10581950B2/en
Assigned to VMware LLCreassignmentVMware LLCCHANGE OF NAME (SEE DOCUMENT FOR DETAILS).Assignors: VMWARE, INC.
Assigned to UBS AG, STAMFORD BRANCHreassignmentUBS AG, STAMFORD BRANCHSECURITY INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: OMNISSA, LLC
Assigned to OMNISSA, LLCreassignmentOMNISSA, LLCPATENT ASSIGNMENTAssignors: VMware LLC
Activelegal-statusCriticalCurrent
Adjusted expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Abstract

Systems and techniques are described for executing an application locally. A described technique includes providing, by a user device and to a remote application system, data identifying user events associated with the application while data communication is available between a user device and a remote application system executing an application. The user device receives from the remote application system user interfaces for the application and presents the user interfaces on a display of the user device. The user events are provided as inputs to a local version of the application executing on the user device. A determination is made that data communication between the user device and the remote application system has become unavailable. In response, a user interface generated by the local version of the application is presented on the display of the user device.

Description

Claims (20)

What is claimed is:
1. A method comprising:
while data communication is available between a user device and a remote application system executing an application:
providing, by the user device and to the remote application system, data identifying user events associated with the application;
receiving, by the user device and from the remote application system, user interfaces for the application and presenting the user interfaces on a display of the user device; and
providing the user events as inputs to a local version of the application executing on the user device; and
determining that data communication between the user device and the remote application system has become unavailable and, in response:
presenting, on the display of the user device, a user interface generated by the local version of the application;
detecting, by the user device, one or more subsequent user events associated with the user interface generated by the local version of the application;
providing the subsequent user events as input to the local version of the application; and
storing data identifying the one or more subsequent user events.
2. The method ofclaim 1, further comprising:
determining that data communication between the user device and the remote application system has been reestablished; and
in response, providing the stored data to the remote application system.
3. The method ofclaim 2, further comprising:
determining that the application has synchronized with the local version of the application based, at least in part, on the application processing the one or more subsequent user events;
detecting, by the user device, a new user event associated with the application after the application has synchronized with the local application;
providing, to the remote application system, data identifying the new user event;
receiving, from the remote application system, a new user interface; and
presenting the new user interface on the display.
4. The method ofclaim 1, further comprising, while data communication is available between the user device and the remote application system, providing user interfaces generated by the local version of the application to an off-screen buffer.
5. The method ofclaim 1, wherein the application comprises a respective user interface code path corresponding to each of a plurality of user device classes, and wherein each user interface code path, when executed, generates a user interface that is specific to user devices of the corresponding user device class.
6. A method comprising:
receiving, at a remote application system and from a user device, data identifying a user event associated with an application managed by the remote application system;
providing the user event as input to the application;
providing, to the user device, a user interface generated by the application for presentation on the user device;
determining that data communication with the user device has become unavailable;
in response to determining that data communication with the user device has become unavailable, preventing other devices from writing to the application;
determining that data communication with the user device has been reestablished;
receiving, from the user device, data identifying user events associated with the application and that were detected by the user device while data communication was not available;
causing the application to process the user events identified by the data;
receiving a new user interface from the application; and
providing the new user interface to the user device.
7. The method ofclaim 6, further comprising:
determining that the application is synchronized with a local version of the application executing on the user device;
receiving, from the user device, data identifying a new user event; and
providing the new user event as input to the application.
8. The method ofclaim 6, wherein the application comprises a respective user interface code path corresponding to each of a plurality of user device classes, and wherein each user interface code path, when executed, generates a user interface that is specific to user devices of the corresponding user device class.
9. The method ofclaim 8, further comprising:
receiving information characterizing the user device;
classifying, using the information characterizing the user device, the user device into a particular user device class of the plurality of user device classes; and
causing the application to generate user interfaces by executing a particular user interface code path corresponding to the particular user device class.
10. A method comprising:
during a remote mode of operation for a remote application:
providing, by a user device and to the remote application system, data identifying user events associated with a remote application managed by the remote application system;
receiving, by the user device and from the remote application system, user interfaces for the remote application and presenting the user interfaces on a display of the user device;
receiving a request to switch from the remote mode of operation to a local mode of operation for the remote application; and
in response to receiving the request, switching to the local mode of operation and synchronizing a local version of the application with the remote application, the local version of the application being executed by the user device; and
during the local mode of operation:
presenting, on the display of the user device, a user interface generated by the local version of the application.
11. The method ofclaim 10, further comprising:
during the local mode of operation:
detecting, by the user device, one or more subsequent user events associated with the user interface generated by the local version of the application;
providing the one or more subsequent user events as input to the local version of the application; and
storing data identifying the one or more subsequent user events.
12. The method ofclaim 11, further comprising presenting, on the display of the user device, a user interface generated by the local version of the application for each of the one or more subsequent user events.
13. The method ofclaim 11, further comprising:
receiving a request to switch from the local mode of operation to the remote mode of operation for the remote application; and
in response to receiving the request, switching to the remote mode of operation and synchronizing the remote application with the local version of the application.
14. The method ofclaim 12, wherein synchronizing the remote application with the local version of the application comprises providing, by the user device and to the remote application system, the data identifying the one or more subsequent user events, wherein the remote application system causes the remote application to process the one or more subsequent user events.
15. The method ofclaim 10, further comprising, during the remote mode of operation,
causing the local version of the application to process user events detected by the user device; and
providing user interfaces generated by the local version of the application in response to the user events to an off screen buffer of the user device.
16. A system, comprising:
a display
a data processing apparatus; and
a memory apparatus in data communication with the data processing apparatus and storing instructions executable by the data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:
while data communication is available between the data processing apparatus and a remote application system executing an application:
providing, to the remote application system, data identifying user events associated with the application;
receiving, from the remote application system, user interfaces for the application and presenting the user interfaces on the display; and
providing the user events as inputs to a local version of the application executed by the data processing apparatus; and
determining that data communication between the data processing apparatus and the remote application system has become unavailable and, in response:
presenting, on the display, a user interface generated by the local version of the application;
detecting one or more subsequent user events associated with the user interface generated by the local version of the application;
providing the subsequent user events as input to the local version of the application; and
storing data identifying the one or more subsequent user events.
17. The system ofclaim 16, wherein the operations further comprise:
determining that data communication between the data processing apparatus and the remote application system has been reestablished; and
in response, providing the stored data to the remote application system.
18. The system ofclaim 17, wherein the operations further comprise:
determining that the application has synchronized with the local version of the application based, at least in part, on the application processing the one or more subsequent user events;
detecting a new user event associated with the application after the application has synchronized with the local application;
providing, to the remote application system, data identifying the new user event;
receiving, from the remote application system, a new user interface; and
presenting the new user interface on the display.
19. The system ofclaim 16, wherein the operations further comprise, while data communication is available between the data processing apparatus and the remote application system, providing user interfaces generated by the local version of the application to an off-screen buffer.
20. The system ofclaim 16, wherein the application comprises a respective user interface code path corresponding to each of a plurality of user device classes, and wherein each user interface code path, when executed, generates a user interface that is specific to user devices of the corresponding user device class.
US14/641,1002015-03-062015-03-06Local operation of remotely executed applicationsActive2036-12-03US10581950B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US14/641,100US10581950B2 (en)2015-03-062015-03-06Local operation of remotely executed applications

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
US14/641,100US10581950B2 (en)2015-03-062015-03-06Local operation of remotely executed applications

Publications (2)

Publication NumberPublication Date
US20160261671A1true US20160261671A1 (en)2016-09-08
US10581950B2 US10581950B2 (en)2020-03-03

Family

ID=56850055

Family Applications (1)

Application NumberTitlePriority DateFiling Date
US14/641,100Active2036-12-03US10581950B2 (en)2015-03-062015-03-06Local operation of remotely executed applications

Country Status (1)

CountryLink
US (1)US10581950B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20160349967A1 (en)*2015-05-282016-12-01Rockwell Automation Technologies, Inc.Offline investigation in an industrial automation environment
US20170132197A1 (en)*2015-11-092017-05-11Microsoft Technology Licensing, LlcCreating and modifying applications from a mobile device
US20180107368A1 (en)*2016-10-142018-04-19Fujitsu LimitedDevelopment support system, development support apparatus, response control method, and response control apparatus
US20180260199A1 (en)*2015-06-052018-09-13Apple Inc.Method and apparatus for intermediate representation of applications
CN108762821A (en)*2017-04-182018-11-06海马云(天津)信息技术有限公司Device and method, the electronic equipment of electronic equipment operation application
US20190068685A1 (en)*2017-08-292019-02-28International Business Machines CorporationProviding instructions during remote viewing of a user interface
US10375064B2 (en)*2015-04-072019-08-06Alibaba Group Holding LimitedMethod, apparatus, and system for remotely accessing cloud applications
US20220038453A1 (en)*2018-11-082022-02-03Citrix Systems, Inc.Systems and methods for secure saas redirection from native applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20090037523A1 (en)*2007-07-312009-02-05Kolke Daniel JSystem and Method for Synchronizing an Offline Web-Based Application with an Online Web-Based Application
US20150188983A1 (en)*2013-12-312015-07-02Interneer, Inc.Dynamically launching a server-based application on a mobile device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20090037523A1 (en)*2007-07-312009-02-05Kolke Daniel JSystem and Method for Synchronizing an Offline Web-Based Application with an Online Web-Based Application
US20150188983A1 (en)*2013-12-312015-07-02Interneer, Inc.Dynamically launching a server-based application on a mobile device

Cited By (14)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US10375064B2 (en)*2015-04-072019-08-06Alibaba Group Holding LimitedMethod, apparatus, and system for remotely accessing cloud applications
US20160349967A1 (en)*2015-05-282016-12-01Rockwell Automation Technologies, Inc.Offline investigation in an industrial automation environment
US20180260199A1 (en)*2015-06-052018-09-13Apple Inc.Method and apparatus for intermediate representation of applications
US20170132197A1 (en)*2015-11-092017-05-11Microsoft Technology Licensing, LlcCreating and modifying applications from a mobile device
US10546058B2 (en)*2015-11-092020-01-28Microsoft Technology Licensing, LlcCreating and modifying applications from a mobile device
US10860193B2 (en)*2016-10-142020-12-08Fujitsu LimitedDistributed computing transition screen display based on application type
US20180107368A1 (en)*2016-10-142018-04-19Fujitsu LimitedDevelopment support system, development support apparatus, response control method, and response control apparatus
CN108762821A (en)*2017-04-182018-11-06海马云(天津)信息技术有限公司Device and method, the electronic equipment of electronic equipment operation application
US20190068682A1 (en)*2017-08-292019-02-28International Business Machines CorporationProviding instructions during remote viewing of a user interface
US20190068685A1 (en)*2017-08-292019-02-28International Business Machines CorporationProviding instructions during remote viewing of a user interface
US11201906B2 (en)*2017-08-292021-12-14International Business Machines CorporationProviding instructions during remote viewing of a user interface
US11206300B2 (en)*2017-08-292021-12-21International Business Machines CorporationProviding instructions during remote viewing of a user interface
US20220038453A1 (en)*2018-11-082022-02-03Citrix Systems, Inc.Systems and methods for secure saas redirection from native applications
US12028338B2 (en)*2018-11-082024-07-02Citrix Systems, Inc.Systems and methods for secure SAAS redirection from native applications

Also Published As

Publication numberPublication date
US10581950B2 (en)2020-03-03

Similar Documents

PublicationPublication DateTitle
US10581950B2 (en)Local operation of remotely executed applications
US20200045097A1 (en)Virtual machine pixel remoting
US10970101B2 (en)System and method for dynamically configuring virtual displays and virtual inputs for different remote sessions that each present content for a virtual machine
US10983747B2 (en)Remote desktop mirroring
US11075976B2 (en)Remoting application user interfaces
JP6155254B2 (en) Sharing application context between zero-click devices
US10277649B2 (en)Presentation of computing environment on multiple devices
US9323562B2 (en)Providing seamless copy-paste operations in a virtual machine environment
KR102393739B1 (en)Partitioned application presentation across devices
US10547711B2 (en)Using off-screen user interface data during remote sessions
US20160248838A1 (en)Remoting An Application User Interface From A User Device to Another Display
WO2015047659A1 (en)Application context migration framework and protocol
KR20160140932A (en)Expandable application representation and sending content
US11659042B1 (en)System and method for controlling remote sessions executing on other devices
WO2022028124A1 (en)Screen projection state determination method, apparatus and device, and computer readable storage medium
US10089139B2 (en)Systems, methods and media for managing embedded content
US20160283070A1 (en)Using reactive behaviors during remote sessions
US20160092037A1 (en)Computer-Implemented Methods, Computer Readable Media, And Systems For Distributed Processing
US20160301736A1 (en)Systems and methods for providing remote access to an application
US20160014168A1 (en)Methods for sharing applications between apparatuses and systems using the same
KR102438124B1 (en) Systems and methods for adding digital content while opening an application
JP5982436B2 (en) Screen transfer server device and screen transfer method
US10168982B2 (en)Display control of a portion of a document by primary and secondary display devices

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:VMWARE, INC., CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ABIEZZI, SALIM;REEL/FRAME:035108/0015

Effective date:20150305

STPPInformation on status: patent application and granting procedure in general

Free format text:RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPPInformation on status: patent application and granting procedure in general

Free format text:FINAL REJECTION MAILED

STPPInformation on status: patent application and granting procedure in general

Free format text:RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPPInformation on status: patent application and granting procedure in general

Free format text:DOCKETED NEW CASE - READY FOR EXAMINATION

STPPInformation on status: patent application and granting procedure in general

Free format text:NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPPInformation on status: patent application and granting procedure in general

Free format text:PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCFInformation on status: patent grant

Free format text:PATENTED CASE

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:4

ASAssignment

Owner name:VMWARE LLC, CALIFORNIA

Free format text:CHANGE OF NAME;ASSIGNOR:VMWARE, INC.;REEL/FRAME:067102/0395

Effective date:20231121

ASAssignment

Owner name:UBS AG, STAMFORD BRANCH, CONNECTICUT

Free format text:SECURITY INTEREST;ASSIGNOR:OMNISSA, LLC;REEL/FRAME:068118/0004

Effective date:20240701

ASAssignment

Owner name:OMNISSA, LLC, CALIFORNIA

Free format text:PATENT ASSIGNMENT;ASSIGNOR:VMWARE LLC;REEL/FRAME:068327/0365

Effective date:20240630


[8]ページ先頭

©2009-2025 Movatter.jp