US10055105B2 - Method and system for enabling interaction with a plurality of applications using a single user interface - Google Patents

Method and system for enabling interaction with a plurality of applications using a single user interface Download PDF

Info

Publication number
US10055105B2
US10055105B2 US14/872,757 US201514872757A US10055105B2 US 10055105 B2 US10055105 B2 US 10055105B2 US 201514872757 A US201514872757 A US 201514872757A US 10055105 B2 US10055105 B2 US 10055105B2
Authority
US
United States
Prior art keywords
application program
application programs
application
data
remote access
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.)
Expired - Fee Related, expires
Application number
US14/872,757
Other versions
US20160054897A1 (en
Inventor
Colin John Holmes
Monroe Milas Thomas
Glen Lehmann
Pierre Joseph Lemire
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.)
Calgary Scientific Inc
Original Assignee
Calgary Scientific Inc
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
Priority claimed from US12/658,080 external-priority patent/US20100223566A1/en
Priority claimed from US13/586,007 external-priority patent/US9992253B2/en
Application filed by Calgary Scientific Inc filed Critical Calgary Scientific Inc
Priority to US14/872,757 priority Critical patent/US10055105B2/en
Publication of US20160054897A1 publication Critical patent/US20160054897A1/en
Assigned to CALGARY SCIENTIFIC INC. reassignment CALGARY SCIENTIFIC INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEHMANN, GLEN, LEMIRE, PIERRE JOSEPH, THOMAS, MONROE MILAS, HOLMES, COLIN JOHN
Application granted granted Critical
Publication of US10055105B2 publication Critical patent/US10055105B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • G06F9/4445
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Definitions

  • Techniques exist for the virtualization of single applications to allow users to interact with application programs while using a client computer remote to the computer on which the application is executed. Other techniques enable modeling and virtualizing of single applications such that an internal user interface and application state are available to a remote client computer.
  • a first application When a user has to interact simultaneously with two or more applications using a display monitor the applications typically employ display images that share the display area of the monitor. For example, a first application generates a first user interface using a first image window to enable user interaction with the first application. When launching a second application a second user interface using a second image window is generated to enable user interaction with the second application. The second image window is placed in the foreground overlaying the first image window when in response to user interaction with the second application. Thus the first image window is at least partially obscured. When the user then interacts with the first application the situation is vice versa. This is a non-user friendly process substantially impeding demanding user interaction such as viewing and diagnosing medical images.
  • a method simultaneously interacting with a plurality of application programs Using a processor an application interaction program is executed.
  • the application interaction program has a plurality of application programs associated therewith.
  • interactive functionalities of the plurality of application programs are associated with respective interaction zones, wherein an interactive functionality being a same for at least two application programs is associated with a single interaction zone.
  • display data indicative of a single user interface comprising the interaction zones are generated.
  • the interaction zones enable user interaction with the plurality of application programs.
  • a graphical display connected to the processor the display data are displayed in a human comprehensible fashion.
  • a storage medium having stored therein executable commands for execution on a processor of a computer system, the processor when executing the commands executes an application interaction program.
  • the application interaction program has a plurality of application programs associated therewith.
  • the processor associates interactive functionalities of the plurality of application programs with respective interaction zones, wherein an interactive functionality being a same for at least two application programs is associated with a single interaction zone.
  • the processor generates display data indicative of a single user interface comprising the interaction zones.
  • the interaction zones enable user interaction with the plurality of application programs and provides the display data to a graphical display connected to the processor for displaying the display data in a human comprehensible fashion.
  • the method can include providing a remote access framework for enabling a client to remotely access the plurality of application programs over a network, receiving a communication (e.g., requesting access to the plurality of application programs) from the client through the remote access framework, and maintaining a state model within the remote access framework.
  • the plurality of application programs can run on at least one server.
  • the state model can include respective application states of the plurality of application programs.
  • the method can also include, using the state model, linking interactive functionalities of the plurality of application programs, and generating display data indicative of a single user interface including the plurality of application programs.
  • the method can further include communicating the display data to the client through the remote access framework.
  • the method can include receiving user input data from the client through the remote access framework, determining an association of the user input data to a respective interaction zone using the state model, and providing the user input data to at least one of the plurality of application programs associated with the respective interaction zone through the remote access framework.
  • the user input data can optionally be simultaneously provided to the at least two of the plurality of application programs associated with the single interaction zone.
  • the method can include receiving application program data from the at least one of the plurality of application programs through the remote access framework.
  • the application program data can be dependent upon the user input data.
  • the display data can be generated in dependence upon the application program data for displaying the application program data using the single user interface.
  • the method can include receiving first application program data and second application program data from a first application program and a second application program, respectively, through the remote access framework.
  • the display data can be generated in dependence upon the first application program data and the second application program data for displaying the first application program data and the second application program data using the single user interface.
  • the display data can be generated for simultaneously displaying the first application program data and the second application program data using the single user interface.
  • the method can include receiving user input data from the client through the remote access framework, determining an association of the user input data to first application program data associated with a first application program and to second application program data associated with a second application program using the state model, and providing the user input data to the first and second application programs. Additionally, the first and second application program data can be modified according to the user input data.
  • the association of the user input data to the respective interaction zone can be determined based on a location of the respective interaction zone on a graphical display image of the client.
  • the association of the user input data to the respective interaction zone can be determined in a pixel-wise fashion.
  • the interactive functionalities can be a subset of a plurality of functionalities of at least one of the plurality of application programs.
  • FIG. 1 is a simplified block diagram of a system for implementing a method for simultaneously interacting with a plurality of application programs according to implementations described herein;
  • FIG. 2A is a simplified flow diagram of the method for simultaneously interacting with a plurality of application programs according to implementations described herein;
  • FIG. 2B is another simplified flow diagram of the method for recombination of a plurality of application programs according to implementations described herein;
  • FIG. 3 is a simplified block diagram illustrating a single navigable window for use with the method for simultaneously interacting with a plurality of application programs according to implementations described herein;
  • FIG. 4 is a simplified block diagram illustrating operation of server and client remote access program(s) according to implementations described herein;
  • FIG. 5 illustrates a state model according to implementations described herein.
  • FIG. 6A is a block diagram illustrating recombination of a plurality of application programs according to implementations described herein.
  • FIG. 6B is another block diagram illustrating recombination of a plurality of application programs according to implementations described herein.
  • the system 100 comprises a client computer 102 such as, for example, a personal computer, workstation, laptop computer, tablet computer, or smart phone.
  • the client computer 102 can be used for accessing one or more application programs (e.g., remote application programs) such as applications for viewing medical images of a patient and for entering a diagnostic report into a respective patient application file.
  • the client computer 102 can be used for accessing application programs for viewing three-dimensional (3D) and two-dimensional (2D) computer-aided designs (CAD) images.
  • 3D three-dimensional
  • 2D two-dimensional
  • CAD computer-aided designs
  • the client computer 102 is connected via a communication network 112 to server computers 120 A and 120 B.
  • the server computers 120 A and 120 B are, for example, running different application programs 124 A and 124 B.
  • the application programs 124 A and 124 B can be stored in memory, for example.
  • the server computers 120 A and 120 B can be running different application programs for performing, for example, different image rendering processes of image data captured by different imaging systems such as MRI and CT scanners, and application programs for managing patient files such as, for example, application programs implemented in a PACS system.
  • the server computers 120 A and 120 B can be running different application programs for performing, for example, different image rendering processes of 2D CAD images and 3D CAD images, respectively. It should be understood that these application programs are provided only as examples and that the server computers 120 A and 120 be can be used for running other types of application programs. Alternatively, in some implementations, one of the server computers (i.e., server computer 120 A or server computer 120 B) can run different application programs.
  • the communication network 112 comprises, for example, a Local Area Network (LAN) connecting the client computer 102 with the server computers 120 A and 120 B within an organization such as, for example, a hospital.
  • LAN Local Area Network
  • the communication network 112 comprises a Wide Area Network (WAN) or the Internet connecting client computers and server computers of various organizations such as, for example, hospitals, diagnostic clinics, and family physician's offices.
  • WAN Wide Area Network
  • the networks connecting client computers with server computers of medical organizations are provided only as examples and that the networks for connecting client computers with server computers of other organizations including, but not limited to, public and/or private companies, governments, educational institutions, or combinations thereof, can be implemented.
  • the implementations of the method for recombination of and/or simultaneously interacting with a plurality of application programs described herein are performed, for example, by executing executable commands stored in memory 106 of the client computer 102 using processor 104 .
  • An application interaction program is then executed in dependence upon user requests.
  • the application interaction program provides commands to processors 122 A and 122 B of the server computers 120 A and 120 B to execute a first application program and a second application program, respectively.
  • the application interaction program enables simultaneous user interaction with both application programs while providing a single user interface which is displayed on graphical display 108 of the client computer 102 .
  • one or more application programs are executed using the processor 104 of the client computer 102 .
  • client and server remote access program(s) of FIG. 4 and a state model of FIG. 5 can be used to facilitate recombination of and/or simultaneous interaction with the plurality of application programs.
  • the processor 104 for executing the application interaction program is, for example, a Central Processing Unit (CPU) of the client computer 102 .
  • a Graphics Processing Unit (GPU) is employed executing at least a portion of the application interaction program, for example, for generating display data.
  • the client computer 102 can also include input device(s) such as a keyboard 110 . It should be understood that the client computer 102 can include other types of input devices including, but not limited to, a mouse, touch screen, or other device for receiving user input data.
  • an example implementation of a method for simultaneously interacting with a plurality of application programs is provided.
  • the application interaction program having a plurality of application programs associated therewith is executed.
  • the plurality of application programs is, for example, user selected with a user being presented with a selection menu comprising a plurality of buttons—each button associated with an application program.
  • the plurality of application programs is already associated with the application interaction program, for example, application programs needed for performing a specific task by the user.
  • each of the plurality of application programs can be remotely accessed application programs (e.g., application programs 124 A and 124 B running on server computers 120 A and 120 B).
  • interactive functionalities of the plurality of application programs are associated with respective interaction zones.
  • An interactive functionality that is the same for at least two application programs is associated with a single interaction zone.
  • the interactive functionalities of the plurality of application programs are, for example, simultaneously associated with respective interaction zones after the plurality of application programs has been selected.
  • the interactive functionalities of the plurality of application programs are associated with respective interaction zones separately for each of the plurality of application programs. For example, after the user has selected a first application program the interactive functionalities of the first application program are associated with respective interaction zones and after the user has selected a second application program the interactive functionalities of the second application program are associated with respective interaction zones. If a functionality is in common with the first application program it is associated with the respective interaction zone of the first application program.
  • interactive functionalities of the plurality of application programs can be associated with respective interaction zones using the client and server remote access application(s) and/or state model, for example, as described below with respect to FIGS. 4 and 5 .
  • the associated interactive functionalities are, for example, a subset of the functionalities of an application program.
  • the user is presented with a menu for selecting the subset of the functionalities enabling the user to select functions, for example, related to viewing but to omit functions related to editing, thus avoiding clutter on the screen.
  • the user is enabled to select additional functionalities during execution of the application program if a need arises.
  • the subset of functionalities is predetermined, for example, depending on the task the user is going to use the plurality of application programs for or access limitations of the user.
  • display data indicative of a single user interface comprising the interaction zones are generated.
  • the interaction zones enable the user to interact with the plurality of application programs.
  • the display data are then displayed— 16 —in a human comprehensible fashion using the graphical display 108 connected to the processor 104 .
  • display data e.g., a single user interface including respective display areas for different application programs
  • the single user interface 200 is presented as a single navigable window which comprises a command field 202 with a plurality of interaction zones 204 —for example, in the form of buttons—and display areas 206 and 208 .
  • the interaction zones 204 are, for example, clicked on by a mouse click, using keyboard 110 commands, or touched using a touch screen.
  • the display areas are for displaying, for example, imaging data provided by a first application program— 206 —and a second application program— 208 .
  • the interaction zones 204 are grouped, for example, according to the functionality they are associated with—for example, one group related to commands used for viewing and another group related to commands used for editing—and/or the respective application program.
  • the interaction zones 204 when clicked on open a scroll down menu for selection of specific functions or open a field for receiving user information, for example, a patient's name typed by the user.
  • user input data are received, i.e. user has clicked on an interaction zone 204 .
  • An association of the received user input data to the respective interaction zone is then determined— 20 —and provided to the application program associated with the respective interaction zone— 22 .
  • user input data can be associated with the respective interaction zone and provided to the application program(s) using the client and server remote access application(s) and/or state model, for example, as described below with respect to FIGS. 4 and 5 . If an interaction zone is associated with a functionality shared by at least two application programs the user input data are simultaneously provided to the at least two application programs associated with the single interaction zone.
  • the user is then enabled while viewing two sets of image data provided by two application programs—for example, a first application program for viewing CT scans and a second application program for viewing MRI data—which are simultaneously displayed in the display areas 206 and 208 to simultaneously move up and down in both images.
  • two application programs for example, a first application program for viewing CT scans and a second application program for viewing MRI data—which are simultaneously displayed in the display areas 206 and 208 to simultaneously move up and down in both images.
  • the user is enabled and to select one application program for provision of the user input data thereto.
  • first application program data and second application program data are received from a first application program and a second application program, respectively, and display data are generated— 26 —in dependence upon the first application program data and the second application program data which are then simultaneously displayed in the display areas 206 and 208 of the single user interface 200 .
  • the display data in dependence upon the first and second application program data can be generated using the client and server remote access application(s) and/or state model, for example, as described below with respect to FIGS. 4 and 5 .
  • the implementations described herein enable simultaneous interaction with a plurality of application programs—including programs utilizing Graphic Processing Units (GPU)—in the overall workflow to accomplish a set of tasks using a single user interface.
  • the simultaneous interaction is realized by monitoring events such as, for example, key strokes or mouse clicks with respect to the location of the event—the respective interaction zone—on the graphical display image.
  • the received user input data are associated to a respective interaction zone—which is associated to a functionality of an application program—based on the location of the interaction zone in the graphical display image.
  • the location is determined, for example, in a pixel-wise fashion, i.e. is based on a pixel by pixel understanding of the user interface.
  • the application interaction program is implemented using standard programming languages, for example, programming languages based on PUREWEB technology of CALGARY SCIENTIFIC of Calgary, AB, Canada.
  • the user is enabled to request linking of application programs using the single user interface in order to directly link the operation of the first application program to the operation of the second application program.
  • the operation of the second application program depends on a result produced by the first application program or during operation of the second application program data produced by the first application program are used.
  • FIG. 4 a simplified block diagram illustrating operation of server and client remote access program(s) are described, which can be used to facilitate remote access to application programs.
  • client computer 102 can remotely access and simultaneously interact with application programs 124 A and 124 B, which are different application programs running on server computers 120 A and 120 B, respectively.
  • client computer 102 can remotely access different application programs running on one of server computer 120 A or server computer 120 B.
  • communication is established between, e.g., the client computer 102 and the server computers 120 A and 120 B at respective enumerated URLs associated with each of application programs 120 A and 120 B.
  • the communication is enabled by a server remote access program 107 A of server computer 120 A, a server remote access program 107 B of server computer 120 B, and a client remote access program 111 of client computer 102 , as shown in FIG. 4 .
  • the server remote access programs 107 A and 107 B can be stored in respective memories of server computers 120 A and 120 B and executed by processors 122 A and 122 B, respectively.
  • the client remote access program 111 can be stored in memory 106 and executed by processor 104 .
  • the communication may be over any type of network, as noted above.
  • the server remote application programs 107 A and 107 B receive application data from application programs 124 A and 124 B, respectively.
  • the server remote application programs 107 A and 107 B generate presentation data 109 A and 109 B (e.g., in accordance with a state model described with regard to FIG. 5 ), respectively, and transmits the same to the client remote access program 111 .
  • the display of the application programs 124 A and 124 B can be presented through a process called recombination, which can be based on information contained in the state model of FIG. 5 , described below.
  • the state model includes an association of logical elements of the application programs with corresponding states of the application programs.
  • the logical elements in the state model associated with each of the application programs 124 A and 124 B are seamlessly integrated into the same user interface (e.g., a single user interface) of client computer 102 such that views of both application programs 124 A and 124 B can be presented simultaneously.
  • a single user interface including respective display areas for different application programs can be provided.
  • functionalities and controls associated with the application programs 124 A and 124 B can be combined within the same user interface (e.g., a single user interface).
  • a plurality of interaction zones which correspond to functionalities of a plurality of application programs, can be provided.
  • a single interaction zone is associated with the same functionality of a plurality of application programs.
  • a plurality of image viewing application programs e.g., application programs for viewing MRI and CT images or application programs for viewing 2D CAD and 3D CAD images
  • a common interaction zone e.g., an arrow button
  • this common interaction zone e.g., the arrow button
  • the respective images of the application programs are manipulated (e.g., pan, scroll, zoom, etc.) simultaneously.
  • This disclosure contemplates that recombination also optionally provides the ability to identify and coordinate common data shared by a plurality of application programs.
  • a plurality of application programs such as an application program for viewing a patient's medical images and a billing application program, respectively, can share common data (e.g., biographic data such as the patient's name).
  • Each application can maintain the common data independently of the other application.
  • the image viewing application displays biographic data (e.g., the patient's name) as recorded in the image data file
  • the billing application program displays the same biographic data (e.g., the patient's name) as recorded in a billing database.
  • Recombination can be used to ensure that when a change is made to an instance of the common data in one application program, an event can be automatically generated (e.g., using the state model described herein) to cause the same change to be made to instance(s) of the common data in the other application program(s).
  • the image viewing application and billing application both including the biographic data
  • recombination can be used to display the biographic data for the image viewing application and the billing application in a single user interface.
  • This can be used for quality assurance (QA) applications, e.g., to ensure that the biographic data is correctly stored in both the image viewing application and the billing application.
  • QA quality assurance
  • an event can be automatically generated that causes the same change to occur in the other application (e.g., on noting the change in the patient's name in the billing application, and using the state model, an “update patient name” event is generated with “John P. Smith” as the new information in the image viewing application). It should be understood that this saves effort and ensures data synchronization between the application programs.
  • a user can be prompted to confirm the change in the other application.
  • the operation of the remote access program is performed in cooperation with a state model 300 , as illustrated in FIG. 5 .
  • the client remote access program updates the state model 300 in accordance with user input data received from a user interface program.
  • the user input data can include a user's selection of an interaction zone, which can be associated with an interactive functionality of one or more application programs.
  • the user input can include a user's entry of, or modification to, application data.
  • the remote access program may generate control data in accordance with the updated state model, and provide the same to the application programs 124 A and 124 B running on the server computers 120 A and 120 B.
  • the application programs 124 A and 124 B may be any application running on the server computers 120 A and 120 B with which an end user interacts using the client computer 102 .
  • the server remote access programs update the state model 300 in accordance with the screen or application data, generate presentation data in accordance with the updated state model, and provide the same to the user interface program on the client computer 102 .
  • the state model 300 comprises an association of logical elements of the application programs with corresponding states of the application programs, with the logical elements being in a hierarchical order.
  • the state model 300 may represent the logical elements within an eXtensible Markup Language (XML) document.
  • the logical elements may be a screen, a menu, a submenu, a button, etc. that make up the application programs user interfaces.
  • the client computer 102 This enables the client computer 102 , for example, to natively display the logical elements.
  • a menu of the application program 124 A and/or 124 B that is presented on a mobile phone will look like a native menu of the mobile phone.
  • the menu of the application program 124 A and/or 124 B that is presented on desktop computer will look like a native menu of the desktop computer operating system.
  • the screen image may be communicated as a single logical element in a separate channel to the client.
  • the screen image may be referenced in the state model to enable the client remote access program to retrieve the screen image from the separate channel and display it on the client.
  • the screen will have a substantially similar appearance on different client computers, although it may be scaled according to the characteristics of each device.
  • the state model 300 is determined such that each of the logical elements is associated with a corresponding state of the application program.
  • the state model 300 may be determined such that the logical elements are associated with user interactions.
  • the logical elements of the application program are determined such that the logical elements comprise transition elements with each transition element relating a change of the state model 300 to one of control data and application representation data associated therewith.
  • the state information may include a reference or references to one or more rectangular regions that comprise the screen image generated by the application program.
  • a control may be provided by the client remote access program to enable a user to select among the one or more rectangular regions for display at the client device.
  • the control may provide a selection among one or more rectangular regions of screen image data created by plural application programs (e.g., application programs 124 A and 124 B) for selection by a user.
  • the state information may include information about a state of a display of the client computer 102 .
  • display resolution may be maintained in the state model 300 , which may be used as part of the refactoring of the presentation data in accordance with the client computing device's capabilities.
  • the state model may also include information that may be used for recombination purposes.
  • a remote access framework can allow a client (e.g., client computer 102 ) to remotely access the plurality of application programs (e.g., application programs 124 A and 124 B running on at least one server such as server computer 120 A and/or server computer 120 B) over a network (e.g., network 112 ).
  • client e.g., client computer 102
  • the remote access framework can be implemented as described with respect to FIG. 4 (e.g., using client and server remote access application(s)) and FIG. 5 (e.g., using a state model).
  • a communication from the client is received through the remote access framework.
  • the communication can be a request to access the plurality of application programs.
  • the client and the server(s) can establish connections at respective URLs associated with each of the plurality of application programs.
  • a state model can be maintained within the remote access framework.
  • the state model can include respective application states of the plurality of application programs, for example, as described above with regard to FIG. 5 .
  • the respective interaction zones enable user interaction with the plurality of application programs.
  • the interactive functionalities can include a subset of functionalities enabling a user to view images (e.g., pan, scroll, zoom, etc.).
  • the interactive functionalities can optionally be associated with buttons, for example, which can be selected by a user's keystroke, mouse, touch, etc. at the client.
  • a same interactive functionality for at least two application programs can be associated with a single interaction zone. For example, as described above, two (or more) application programs can share the same functionality.
  • user input data can be simultaneously provided to at least two application programs.
  • interactive functionalities for at least two application programs can be linked by linking views and/or application state information of the respective application programs.
  • display data indicative of a single user interface e.g., user interface 200
  • the display data can be communicated to the client through the remote access framework. The display data can then be displayed, for example, using a display device of the client (e.g., graphical display 108 ).
  • a user can input data (e.g., user input data) at the client, for example, using a user interface program.
  • This can optionally include selection of an interaction zone, for example by keystroke, mouse, touch, etc. at the client.
  • the client e.g., using the client remote access program 111
  • the state model e.g., state model 300
  • the interaction zone can be associated with an interactive functionality of at least one application program.
  • the server e.g., using the server remote access program 107 A or 107 B
  • the server can generate control data in accordance with the updated state model and provide the same to the at least one application program.
  • the control data can be simultaneously provided to the two or more application programs.
  • views and/or application state are linked, control data can be automatically generated and provided in one application program based on a user input in the other application program.
  • the user input data can modify first application program data associated with a first application program and second application program data associated with a second application program.
  • the client e.g., using the client remote access program 111
  • the state model e.g., state model 300
  • the user input data can be associated with the first application program data and the second application program data.
  • the first and second application program data can optionally be data common to two application programs (e.g., patient biographical data).
  • the server e.g., using the server remote access program 107 A or 107 B
  • the server can generate control data in accordance with the updated state model and provide the same to the first and second application programs, which causes the first and second application program data to be modified. Accordingly, common data can be synchronized by two (or more) application programs.
  • the user input data can cause the at least one application program to change application states.
  • the server e.g., using the server remote access program 107 A or 107 B
  • the server can receive application program data from the at least one application program.
  • the application program data depends on the user input data (e.g., the change of application state caused by the user input data).
  • the server e.g., using the server remote access program 107 A or 107 B
  • can update the state model e.g., state model 300 in accordance with the application data.
  • the server (e.g., using the server remote access program 107 A or 107 B) can generate display data (e.g., presentation data 109 A and/or 109 B) in dependence upon the application program data for displaying the application program data using the single user interface (e.g., user interface 200 ).
  • the display data can be communicated to the client through the remote access framework.
  • the display data can then be displayed, for example, using a display device of the client (e.g., graphical display 108 ).
  • the server e.g., using the server remote access program 107 A or 107 B
  • the server can receive first and second application program data from first and second application programs, respectively.
  • the display data can be generated for simultaneously displaying the first application program data and the second application program data using the single user interface (e.g., in display areas 206 and 208 , respectively, of user interface 200 ).
  • the systems and methods described herein enable a plurality of application programs to interoperate together on the server-side such that the application programs can be recombined into a single workflow on the client side.
  • the systems and methods described herein seamlessly integrate logical elements in a state model associated with a plurality of applications programs into a single user interface.
  • the systems and methods described herein enable simultaneous interaction with a plurality of application programs using a single user interface.
  • the systems and methods described herein enable display of a plurality of applications programs in a single user interface.
  • the systems and methods described herein provide the ability to identify and coordinate common data shared by a plurality of application programs.
  • recombination allows a plurality of application programs (e.g., applications of a company or enterprise that has grown through merger and acquisition) to interact and be presented with a common user interface client-side.
  • application programs e.g., applications of a company or enterprise that has grown through merger and acquisition
  • a logic layer can be created that recombines application logic of the application programs into a new workflow.
  • recombination can be implemented using PUREWEB technology of CALGARY SCIENTIFIC of Calgary, AB, Canada.
  • FIGS. 6A and 6B block diagrams illustrating recombination of a plurality of application programs according to implementations described herein are shown.
  • a client e.g., client computer 102
  • remotely accesses a plurality of applications programs A and B e.g., application programs 124 A and 124 B running on at least one server such as server computer 120 A and/or server computer 120 B
  • the client can remotely access the application programs A and B using a remote access framework such as described with respect to FIG. 4 (e.g., using client and server remote access application(s)) and FIG. 5 (e.g., using a state model).
  • the client can remotely access the application programs via respective URLs associated with the application programs.
  • a plurality of clients e.g., two mobile devices and a desktop client
  • each of the clients in FIG. 6B is capable of natively displaying application programs A and B.
  • PUREWEB technology of CALGARY SCIENTIFIC of Calgary, AB, Canada can provide the remote access framework.
  • remote access framework A and remote access framework B are provided for application programs A and B, respectively.
  • the remote access framework can be used to pass commands, views, and/or state information between the client and the application programs A and B.
  • the remote access framework can be used to recombine application programs A and B into a single user interface as described herein.
  • Recombination of application programs A and B can include linking views (e.g., display data including but not limited to interactive zones) and/or application state. This is shown by the dotted line in FIG. 6A .
  • Recombination can also include implementing commands in each of application programs A and B. For example, recombination enables an understanding of the application functionality of application programs A and B when views and/or application state are linked, and therefore, commands entered in application program A or B can be executed in the other application program B or A, for example, by automatically generating the same command in the other program.
  • Example pseudocode for linking views of application programs A and B is provided below:
  • application program views e.g., View1 and View2 above
  • application programs A and B are linked.
  • the remote access framework e.g., remote access framework A
  • application programs A and B are linked, a corresponding command can be automatically generated and passed, for example by the remote access framework (e.g., remote access framework B), to perform the same operation (e.g., a scroll operation) in application program B.
  • respective application data and/or presentation data for each of application programs A and B can be generated by the remote application frameworks and then integrated into the single user interface.
  • application functionality provided by recombination that allows the linking of interactive functionalities of application programs A and B.
  • scroll operation is described as the interactive functionality as an example only and that other interactive functionalities of the application programs can be linked using the systems and methods described herein.
  • this disclosure contemplates linking application state information of the application programs.
  • application programs A and B are linked.
  • this includes linking logical elements (e.g., a menu, submenu, button, etc.) of application programs A and B that correspond to the same interactive functionality (e.g., linking the same interaction zone of application programs A and B).
  • this includes linking logical elements that are similar, but different, in application programs A and B.
  • this includes linking logical elements that are related but not necessarily the same such as the red ScribbleColor and the blue lineColor in the pseudocode above.
  • the red ScribbleColor and the blue lineColor may optionally correspond to mark-ups in respective images stored and displayed by application programs A and B.
  • Changes to the linked application state information can be passed to through the remote access framework (e.g., remote access framework A and/or remote access framework B) to the application programs A and/or B.
  • the remote access framework e.g., remote access framework A and/or remote access framework B
  • respective application data and/or presentation data for each of application programs A and B can be generated by the remote application frameworks and then integrated into the single user interface.
  • the application programs can be applications for viewing medical images of a patient and for entering a diagnostic report into a respective patient application file.
  • the application programs can be applications for viewing three-dimensional (3D) and two-dimensional (2D) computer-aided designs (CAD) images. It should be understood that these application programs are provided only as examples.
  • Other non-limiting examples for the use of application program recombination as described herein include:
  • Recombination can be used for enterprise application integration (i.e., integrating application programs across an enterprise).
  • Commonality can be purely user interaction, e.g., two viewer application programs that both use the same input command (e.g., the arrow keys) to scroll through documents and/or images.
  • a user launches a recombined viewer application to access two different servers at two different hospitals, where the same patient's images are displayed in two views within a single client browser window.
  • the recombined viewer application sends appropriate commands to each independent application at the independent servers.
  • a quality assurance (QA) application that displays and affects multiple silo/databases simultaneously without requiring health level seven (HL7) messaging to perform updates. This may be useful for QA of data maintained in separate applications of the same enterprise.
  • QA quality assurance
  • a PACS workstation that can also pop-up windows from the same vendor's nuclear medicine viewer.
  • a universal worklist e.g., a worklist coming from different vendors for a common worklist display for a single radiologist reading from multiples hospitals.
  • RIS radiology information system
  • the worklist can be displayed in a window, tile, area, etc. of the user interface or display. It should be understood that there would be no delay or opportunity for database mistakes during worklist collection into a third party environment using the systems and methods described herein.
  • the worklists are not merged (as in example (h) above) and instead are just displayed.

Abstract

An example method for providing simultaneous interaction with a plurality of application programs is described herein. The method includes providing a remote access framework for enabling a client to remotely access the application programs over a network, receiving a communication from the client through the remote access framework, and maintaining a state model within the remote access framework. The state model includes respective application states of the application programs. The method also includes, using the state model, linking interactive functionalities of the application programs, and generating display data indicative of a single user interface including the plurality of application programs. The method further includes communicating the display data to the client through the remote access framework.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation-in-part of U.S. patent application Ser. No. 12/658,080, filed on Feb. 2, 2010, and entitled “METHOD AND SYSTEM FOR ENABLING INTERACTION WITH A PLURALITY OF APPLICATIONS USING A SINGLE USER INTERFACE,” which claims the benefit of U.S. provisional patent application No. 61/202,168, filed on Feb. 3, 2009, and entitled “METHOD AND SYSTEM FOR ENABLING INTERACTION WITH A PLURALITY OF APPLICATIONS USING A SINGLE USER INTERFACE,” the disclosures of which are expressly incorporated herein by reference in their entireties. This application is also a continuation-in-part of U.S. patent application Ser. No. 13/586,007, filed on Aug. 15, 2012, and entitled “NON-INVASIVE REMOTE ACCESS TO AN APPLICATION PROGRAM,” which claims the benefit of U.S. provisional patent application Nos. 61/523,632 and 61/523,644, each filed on Aug. 15, 2011, and each entitled “NON-INVASIVE REMOTE ACCESS TO AN APPLICATION PROGRAM,” the disclosures of which are expressly incorporated herein by reference in their entireties.
BACKGROUND
Techniques exist for the virtualization of single applications to allow users to interact with application programs while using a client computer remote to the computer on which the application is executed. Other techniques enable modeling and virtualizing of single applications such that an internal user interface and application state are available to a remote client computer.
Often multiple associated applications are used simultaneously in an overall workflow to accomplish a set of tasks. Currently these applications are launched individually with individual tools for their virtualization.
When a user has to interact simultaneously with two or more applications using a display monitor the applications typically employ display images that share the display area of the monitor. For example, a first application generates a first user interface using a first image window to enable user interaction with the first application. When launching a second application a second user interface using a second image window is generated to enable user interaction with the second application. The second image window is placed in the foreground overlaying the first image window when in response to user interaction with the second application. Thus the first image window is at least partially obscured. When the user then interacts with the first application the situation is vice versa. This is a non-user friendly process substantially impeding demanding user interaction such as viewing and diagnosing medical images.
It would be desirable to enable simultaneous user interaction with a plurality of application programs using a single user interface.
SUMMARY
In accordance with embodiments of the present invention there is provided a method simultaneously interacting with a plurality of application programs. Using a processor an application interaction program is executed. The application interaction program has a plurality of application programs associated therewith. Using the processor interactive functionalities of the plurality of application programs are associated with respective interaction zones, wherein an interactive functionality being a same for at least two application programs is associated with a single interaction zone. Using the processor display data indicative of a single user interface comprising the interaction zones are generated. The interaction zones enable user interaction with the plurality of application programs. Using a graphical display connected to the processor the display data are displayed in a human comprehensible fashion.
In accordance with embodiments of the present invention there is provided a storage medium having stored therein executable commands for execution on a processor of a computer system, the processor when executing the commands executes an application interaction program. The application interaction program has a plurality of application programs associated therewith. The processor associates interactive functionalities of the plurality of application programs with respective interaction zones, wherein an interactive functionality being a same for at least two application programs is associated with a single interaction zone. The processor generates display data indicative of a single user interface comprising the interaction zones. The interaction zones enable user interaction with the plurality of application programs and provides the display data to a graphical display connected to the processor for displaying the display data in a human comprehensible fashion.
An example method for recombination of a plurality of application programs is described herein. The method can include providing a remote access framework for enabling a client to remotely access the plurality of application programs over a network, receiving a communication (e.g., requesting access to the plurality of application programs) from the client through the remote access framework, and maintaining a state model within the remote access framework. The plurality of application programs can run on at least one server. Additionally, the state model can include respective application states of the plurality of application programs. The method can also include, using the state model, linking interactive functionalities of the plurality of application programs, and generating display data indicative of a single user interface including the plurality of application programs. The method can further include communicating the display data to the client through the remote access framework.
Optionally and additionally, the method can include receiving user input data from the client through the remote access framework, determining an association of the user input data to a respective interaction zone using the state model, and providing the user input data to at least one of the plurality of application programs associated with the respective interaction zone through the remote access framework. The user input data can optionally be simultaneously provided to the at least two of the plurality of application programs associated with the single interaction zone.
Optionally and additionally, the method can include receiving application program data from the at least one of the plurality of application programs through the remote access framework. The application program data can be dependent upon the user input data. Additionally, the display data can be generated in dependence upon the application program data for displaying the application program data using the single user interface.
Optionally and additionally, the method can include receiving first application program data and second application program data from a first application program and a second application program, respectively, through the remote access framework. Additionally, the display data can be generated in dependence upon the first application program data and the second application program data for displaying the first application program data and the second application program data using the single user interface. Optionally, the display data can be generated for simultaneously displaying the first application program data and the second application program data using the single user interface.
Optionally and additionally, the method can include receiving user input data from the client through the remote access framework, determining an association of the user input data to first application program data associated with a first application program and to second application program data associated with a second application program using the state model, and providing the user input data to the first and second application programs. Additionally, the first and second application program data can be modified according to the user input data.
Optionally and additionally, the association of the user input data to the respective interaction zone can be determined based on a location of the respective interaction zone on a graphical display image of the client. For example, the association of the user input data to the respective interaction zone can be determined in a pixel-wise fashion.
Optionally and additionally, the interactive functionalities can be a subset of a plurality of functionalities of at least one of the plurality of application programs.
It should be understood that the above-described subject matter may also be implemented as a computer-controlled apparatus, a computing system, or an article of manufacture, such as a computer-readable storage medium.
Other systems, methods, features and/or advantages will be or may become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features and/or advantages be included within this description and be protected by the accompanying claims.
BRIEF DESCRIPTION OF THE DRAWINGS
The components in the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding parts throughout the several views.
FIG. 1 is a simplified block diagram of a system for implementing a method for simultaneously interacting with a plurality of application programs according to implementations described herein;
FIG. 2A is a simplified flow diagram of the method for simultaneously interacting with a plurality of application programs according to implementations described herein;
FIG. 2B is another simplified flow diagram of the method for recombination of a plurality of application programs according to implementations described herein;
FIG. 3 is a simplified block diagram illustrating a single navigable window for use with the method for simultaneously interacting with a plurality of application programs according to implementations described herein;
FIG. 4 is a simplified block diagram illustrating operation of server and client remote access program(s) according to implementations described herein; and
FIG. 5 illustrates a state model according to implementations described herein.
FIG. 6A is a block diagram illustrating recombination of a plurality of application programs according to implementations described herein.
FIG. 6B is another block diagram illustrating recombination of a plurality of application programs according to implementations described herein.
DETAILED DESCRIPTION
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art. Methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present disclosure. As used in the specification, and in the appended claims, the singular forms “a,” “an,” “the” include plural referents unless the context clearly dictates otherwise. The term “comprising” and variations thereof as used herein is used synonymously with the term “including” and variations thereof and are open, non-limiting terms. The terms “optional” or “optionally” used herein mean that the subsequently described feature, event or circumstance may or may not occur, and that the description includes instances where said feature, event or circumstance occurs and instances where it does not. While implementations will be described for simultaneously interacting with a plurality of application programs using a single user interface (sometimes referred to herein as “recombination”), it will become evident to those skilled in the art that the implementations are not limited thereto.
Referring to FIG. 1, an example 100 of a system for implementing a method for simultaneously interacting with a plurality of application programs according to implementations described herein below is shown. The system 100 comprises a client computer 102 such as, for example, a personal computer, workstation, laptop computer, tablet computer, or smart phone. Optionally, the client computer 102 can be used for accessing one or more application programs (e.g., remote application programs) such as applications for viewing medical images of a patient and for entering a diagnostic report into a respective patient application file. Optionally, the client computer 102 can be used for accessing application programs for viewing three-dimensional (3D) and two-dimensional (2D) computer-aided designs (CAD) images. It should be understood that these application programs are provided only as examples and that the client computer 102 can be used for accessing other types of application programs. The client computer 102 is connected via a communication network 112 to server computers 120A and 120B. The server computers 120A and 120B are, for example, running different application programs 124A and 124B. The application programs 124A and 124B can be stored in memory, for example. Optionally, the server computers 120A and 120B can be running different application programs for performing, for example, different image rendering processes of image data captured by different imaging systems such as MRI and CT scanners, and application programs for managing patient files such as, for example, application programs implemented in a PACS system. Optionally, the server computers 120A and 120B can be running different application programs for performing, for example, different image rendering processes of 2D CAD images and 3D CAD images, respectively. It should be understood that these application programs are provided only as examples and that the server computers 120A and 120 be can be used for running other types of application programs. Alternatively, in some implementations, one of the server computers (i.e., server computer 120A or server computer 120B) can run different application programs. The communication network 112 comprises, for example, a Local Area Network (LAN) connecting the client computer 102 with the server computers 120A and 120B within an organization such as, for example, a hospital. Alternatively, the communication network 112 comprises a Wide Area Network (WAN) or the Internet connecting client computers and server computers of various organizations such as, for example, hospitals, diagnostic clinics, and family physician's offices. It should be understood that the networks connecting client computers with server computers of medical organizations are provided only as examples and that the networks for connecting client computers with server computers of other organizations including, but not limited to, public and/or private companies, governments, educational institutions, or combinations thereof, can be implemented.
The implementations of the method for recombination of and/or simultaneously interacting with a plurality of application programs described herein are performed, for example, by executing executable commands stored in memory 106 of the client computer 102 using processor 104. An application interaction program is then executed in dependence upon user requests. For example, the application interaction program provides commands to processors 122A and 122B of the server computers 120A and 120B to execute a first application program and a second application program, respectively. During execution the application interaction program enables simultaneous user interaction with both application programs while providing a single user interface which is displayed on graphical display 108 of the client computer 102. Alternatively, one or more application programs are executed using the processor 104 of the client computer 102. As described below, client and server remote access program(s) of FIG. 4 and a state model of FIG. 5 can be used to facilitate recombination of and/or simultaneous interaction with the plurality of application programs. The processor 104 for executing the application interaction program is, for example, a Central Processing Unit (CPU) of the client computer 102. Optionally, a Graphics Processing Unit (GPU) is employed executing at least a portion of the application interaction program, for example, for generating display data. The client computer 102 can also include input device(s) such as a keyboard 110. It should be understood that the client computer 102 can include other types of input devices including, but not limited to, a mouse, touch screen, or other device for receiving user input data.
While implementations will be described for recombination of and/or simultaneously interacting with a plurality of application programs using a single user interface in a medical application for the sake of simplicity, it will become evident to those skilled in the art that the implementations are not limited thereto, but are applicable in numerous other fields where simultaneous interaction with a plurality of application programs using a single user interface is desired.
Referring to FIG. 2A, an example implementation of a method for simultaneously interacting with a plurality of application programs is provided. At 10, the application interaction program having a plurality of application programs associated therewith is executed. The plurality of application programs is, for example, user selected with a user being presented with a selection menu comprising a plurality of buttons—each button associated with an application program. Alternatively, the plurality of application programs is already associated with the application interaction program, for example, application programs needed for performing a specific task by the user. Optionally and additionally, each of the plurality of application programs can be remotely accessed application programs (e.g., application programs 124A and 124B running on server computers 120A and 120B). At 12, interactive functionalities of the plurality of application programs are associated with respective interaction zones. An interactive functionality that is the same for at least two application programs is associated with a single interaction zone. The interactive functionalities of the plurality of application programs are, for example, simultaneously associated with respective interaction zones after the plurality of application programs has been selected. Alternatively, the interactive functionalities of the plurality of application programs are associated with respective interaction zones separately for each of the plurality of application programs. For example, after the user has selected a first application program the interactive functionalities of the first application program are associated with respective interaction zones and after the user has selected a second application program the interactive functionalities of the second application program are associated with respective interaction zones. If a functionality is in common with the first application program it is associated with the respective interaction zone of the first application program. Here a user is enabled to select an additional application program at a later time. Optionally, interactive functionalities of the plurality of application programs can be associated with respective interaction zones using the client and server remote access application(s) and/or state model, for example, as described below with respect to FIGS. 4 and 5.
The associated interactive functionalities are, for example, a subset of the functionalities of an application program. For example, the user is presented with a menu for selecting the subset of the functionalities enabling the user to select functions, for example, related to viewing but to omit functions related to editing, thus avoiding clutter on the screen. Further optionally, the user is enabled to select additional functionalities during execution of the application program if a need arises. Alternatively, the subset of functionalities is predetermined, for example, depending on the task the user is going to use the plurality of application programs for or access limitations of the user.
At 14, display data indicative of a single user interface comprising the interaction zones are generated. The interaction zones enable the user to interact with the plurality of application programs. The display data are then displayed—16—in a human comprehensible fashion using the graphical display 108 connected to the processor 104. Optionally, display data (e.g., a single user interface including respective display areas for different application programs) can be generated using the client and server remote access application(s) and/or state model, for example, as described below with respect to FIGS. 4 and 5.
Referring to FIG. 3, an example outlay of a single user interface 200 is illustrated, but the implementations are not limited thereto. The single user interface 200 is presented as a single navigable window which comprises a command field 202 with a plurality of interaction zones 204—for example, in the form of buttons—and display areas 206 and 208. The interaction zones 204 are, for example, clicked on by a mouse click, using keyboard 110 commands, or touched using a touch screen. The display areas are for displaying, for example, imaging data provided by a first application program—206—and a second application program—208. The interaction zones 204 are grouped, for example, according to the functionality they are associated with—for example, one group related to commands used for viewing and another group related to commands used for editing—and/or the respective application program. Optionally, the interaction zones 204 when clicked on open a scroll down menu for selection of specific functions or open a field for receiving user information, for example, a patient's name typed by the user.
At 18, user input data are received, i.e. user has clicked on an interaction zone 204. An association of the received user input data to the respective interaction zone is then determined—20—and provided to the application program associated with the respective interaction zone—22. Optionally, user input data can be associated with the respective interaction zone and provided to the application program(s) using the client and server remote access application(s) and/or state model, for example, as described below with respect to FIGS. 4 and 5. If an interaction zone is associated with a functionality shared by at least two application programs the user input data are simultaneously provided to the at least two application programs associated with the single interaction zone. For example, the user is then enabled while viewing two sets of image data provided by two application programs—for example, a first application program for viewing CT scans and a second application program for viewing MRI data—which are simultaneously displayed in the display areas 206 and 208 to simultaneously move up and down in both images. Optionally, the user is enabled and to select one application program for provision of the user input data thereto.
At 24, first application program data and second application program data are received from a first application program and a second application program, respectively, and display data are generated—26—in dependence upon the first application program data and the second application program data which are then simultaneously displayed in the display areas 206 and 208 of the single user interface 200. Optionally, the display data in dependence upon the first and second application program data can be generated using the client and server remote access application(s) and/or state model, for example, as described below with respect to FIGS. 4 and 5.
The implementations described herein enable simultaneous interaction with a plurality of application programs—including programs utilizing Graphic Processing Units (GPU)—in the overall workflow to accomplish a set of tasks using a single user interface. The simultaneous interaction is realized by monitoring events such as, for example, key strokes or mouse clicks with respect to the location of the event—the respective interaction zone—on the graphical display image. The received user input data are associated to a respective interaction zone—which is associated to a functionality of an application program—based on the location of the interaction zone in the graphical display image. The location is determined, for example, in a pixel-wise fashion, i.e. is based on a pixel by pixel understanding of the user interface. The application interaction program is implemented using standard programming languages, for example, programming languages based on PUREWEB technology of CALGARY SCIENTIFIC of Calgary, AB, Canada.
Further optionally, the user is enabled to request linking of application programs using the single user interface in order to directly link the operation of the first application program to the operation of the second application program. For example, the operation of the second application program depends on a result produced by the first application program or during operation of the second application program data produced by the first application program are used.
Referring now to FIG. 4, a simplified block diagram illustrating operation of server and client remote access program(s) are described, which can be used to facilitate remote access to application programs. For example, as described above, client computer 102 can remotely access and simultaneously interact with application programs 124A and 124B, which are different application programs running on server computers 120A and 120B, respectively. Alternatively, client computer 102 can remotely access different application programs running on one of server computer 120A or server computer 120B.
To provide remote access to the application programs 124A and 124B, communication is established between, e.g., the client computer 102 and the server computers 120A and 120B at respective enumerated URLs associated with each of application programs 120A and 120B. In particular, the communication is enabled by a server remote access program 107A of server computer 120A, a server remote access program 107B of server computer 120B, and a client remote access program 111 of client computer 102, as shown in FIG. 4. The server remote access programs 107A and 107B can be stored in respective memories of server computers 120A and 120B and executed by processors 122A and 122B, respectively. Additionally, the client remote access program 111 can be stored in memory 106 and executed by processor 104. The communication may be over any type of network, as noted above.
During remote communication sessions with the client computer 102, the server remote application programs 107A and 107B receive application data from application programs 124A and 124B, respectively. Upon receipt, the server remote application programs 107A and 107B generate presentation data 109A and 109B (e.g., in accordance with a state model described with regard to FIG. 5), respectively, and transmits the same to the client remote access program 111.
Optionally or additionally, the display of the application programs 124A and 124B can be presented through a process called recombination, which can be based on information contained in the state model of FIG. 5, described below. As will be described in greater detail, the state model includes an association of logical elements of the application programs with corresponding states of the application programs. With recombination, the logical elements in the state model associated with each of the application programs 124A and 124B are seamlessly integrated into the same user interface (e.g., a single user interface) of client computer 102 such that views of both application programs 124A and 124B can be presented simultaneously. For example, as described above, a single user interface including respective display areas for different application programs can be provided. Optionally or additionally, functionalities and controls associated with the application programs 124A and 124B can be combined within the same user interface (e.g., a single user interface). For example, as described above, a plurality of interaction zones, which correspond to functionalities of a plurality of application programs, can be provided. In some implementations, a single interaction zone is associated with the same functionality of a plurality of application programs. For example, a plurality of image viewing application programs (e.g., application programs for viewing MRI and CT images or application programs for viewing 2D CAD and 3D CAD images) can share a common interaction zone (e.g., an arrow button). When a user selects this common interaction zone (e.g., the arrow button), the respective images of the application programs are manipulated (e.g., pan, scroll, zoom, etc.) simultaneously. This disclosure contemplates that recombination also optionally provides the ability to identify and coordinate common data shared by a plurality of application programs. In other words, by understanding the functionality of the application programs, it is possible to identify and synchronize underlying common data used by the application programs. For example, a plurality of application programs such as an application program for viewing a patient's medical images and a billing application program, respectively, can share common data (e.g., biographic data such as the patient's name). Each application can maintain the common data independently of the other application. For example, the image viewing application displays biographic data (e.g., the patient's name) as recorded in the image data file, while the billing application program displays the same biographic data (e.g., the patient's name) as recorded in a billing database. Recombination can be used to ensure that when a change is made to an instance of the common data in one application program, an event can be automatically generated (e.g., using the state model described herein) to cause the same change to be made to instance(s) of the common data in the other application program(s). For example, using recombination, the image viewing application and billing application (both including the biographic data) can be simultaneously displayed in a single user interface. In other words, recombination can be used to display the biographic data for the image viewing application and the billing application in a single user interface. This can be used for quality assurance (QA) applications, e.g., to ensure that the biographic data is correctly stored in both the image viewing application and the billing application. Additionally, in the event the patient's name is changed in one of the applications (e.g., in the billing application, “J Smith” is changed to “John P. Smith”), an event can be automatically generated that causes the same change to occur in the other application (e.g., on noting the change in the patient's name in the billing application, and using the state model, an “update patient name” event is generated with “John P. Smith” as the new information in the image viewing application). It should be understood that this saves effort and ensures data synchronization between the application programs. Optionally, a user can be prompted to confirm the change in the other application.
In some implementations, the operation of the remote access program (server and client) is performed in cooperation with a state model 300, as illustrated in FIG. 5. When executed, the client remote access program updates the state model 300 in accordance with user input data received from a user interface program. As described above, the user input data can include a user's selection of an interaction zone, which can be associated with an interactive functionality of one or more application programs. Alternatively or additionally, the user input can include a user's entry of, or modification to, application data. The remote access program may generate control data in accordance with the updated state model, and provide the same to the application programs 124A and 124B running on the server computers 120A and 120B. The application programs 124A and 124B may be any application running on the server computers 120A and 120B with which an end user interacts using the client computer 102.
As described above, upon receipt of application data from the respective application programs, the server remote access programs update the state model 300 in accordance with the screen or application data, generate presentation data in accordance with the updated state model, and provide the same to the user interface program on the client computer 102. The state model 300 comprises an association of logical elements of the application programs with corresponding states of the application programs, with the logical elements being in a hierarchical order. In some implementations, the state model 300 may represent the logical elements within an eXtensible Markup Language (XML) document. For example, the logical elements may be a screen, a menu, a submenu, a button, etc. that make up the application programs user interfaces. This enables the client computer 102, for example, to natively display the logical elements. As such, a menu of the application program 124A and/or 124B that is presented on a mobile phone will look like a native menu of the mobile phone. Similarly, the menu of the application program 124A and/or 124B that is presented on desktop computer will look like a native menu of the desktop computer operating system. In accordance with aspects of the present disclosure, the screen image may be communicated as a single logical element in a separate channel to the client. The screen image may be referenced in the state model to enable the client remote access program to retrieve the screen image from the separate channel and display it on the client. As such, the screen will have a substantially similar appearance on different client computers, although it may be scaled according to the characteristics of each device.
The state model 300 is determined such that each of the logical elements is associated with a corresponding state of the application program. The state model 300 may be determined such that the logical elements are associated with user interactions. For example, the logical elements of the application program are determined such that the logical elements comprise transition elements with each transition element relating a change of the state model 300 to one of control data and application representation data associated therewith.
In some implementations, the state information may include a reference or references to one or more rectangular regions that comprise the screen image generated by the application program. A control may be provided by the client remote access program to enable a user to select among the one or more rectangular regions for display at the client device. In some implementations, the control may provide a selection among one or more rectangular regions of screen image data created by plural application programs (e.g., application programs 124A and 124B) for selection by a user.
In some implementations, the state information may include information about a state of a display of the client computer 102. For example, display resolution may be maintained in the state model 300, which may be used as part of the refactoring of the presentation data in accordance with the client computing device's capabilities. The state model may also include information that may be used for recombination purposes.
Referring to FIG. 2B, an example implementation of a method for recombination of a plurality of application programs is provided. At 30, a remote access framework is provided. The remote access framework can allow a client (e.g., client computer 102) to remotely access the plurality of application programs (e.g., application programs 124A and 124B running on at least one server such as server computer 120A and/or server computer 120B) over a network (e.g., network 112). For example, the remote access framework can be implemented as described with respect to FIG. 4 (e.g., using client and server remote access application(s)) and FIG. 5 (e.g., using a state model). At 32, a communication from the client is received through the remote access framework. The communication can be a request to access the plurality of application programs. For example, as described above, the client and the server(s) can establish connections at respective URLs associated with each of the plurality of application programs. At 34, a state model can be maintained within the remote access framework. The state model can include respective application states of the plurality of application programs, for example, as described above with regard to FIG. 5.
At 36, using the state model, interactive functionalities of the plurality of application programs can be linked. As described above, the respective interaction zones enable user interaction with the plurality of application programs. For example, for image viewing application programs (e.g., applications for viewing medical images, CAD images, etc.), the interactive functionalities can include a subset of functionalities enabling a user to view images (e.g., pan, scroll, zoom, etc.). The interactive functionalities can optionally be associated with buttons, for example, which can be selected by a user's keystroke, mouse, touch, etc. at the client. In some implementations, a same interactive functionality for at least two application programs can be associated with a single interaction zone. For example, as described above, two (or more) application programs can share the same functionality. By providing a single interaction zone for the shared functionality, user input data can be simultaneously provided to at least two application programs. In some implementations, interactive functionalities for at least two application programs can be linked by linking views and/or application state information of the respective application programs. At 38, display data indicative of a single user interface (e.g., user interface 200) including the plurality of applications can be generated. At 40, the display data can be communicated to the client through the remote access framework. The display data can then be displayed, for example, using a display device of the client (e.g., graphical display 108).
Optionally and additionally, as described above, a user can input data (e.g., user input data) at the client, for example, using a user interface program. This can optionally include selection of an interaction zone, for example by keystroke, mouse, touch, etc. at the client. Using the remote access framework, the client (e.g., using the client remote access program 111) can update the state model (e.g., state model 300) in accordance with the user input data. Using the state model, the interaction zone can be associated with an interactive functionality of at least one application program. Then, using the remote access framework, the server (e.g., using the server remote access program 107A or 107B) can generate control data in accordance with the updated state model and provide the same to the at least one application program. When a single interaction zone is associated with a functionality shared by two or more applications programs, the control data can be simultaneously provided to the two or more application programs. Alternatively or additionally, when views and/or application state are linked, control data can be automatically generated and provided in one application program based on a user input in the other application program.
Optionally and additionally, as described above, the user input data can modify first application program data associated with a first application program and second application program data associated with a second application program. Using the remote access framework, the client (e.g., using the client remote access program 111) can update the state model (e.g., state model 300) in accordance with the user input data. Then, using the state model, the user input data can be associated with the first application program data and the second application program data. For example, the first and second application program data can optionally be data common to two application programs (e.g., patient biographical data). Then, using the remote access framework, the server (e.g., using the server remote access program 107A or 107B) can generate control data in accordance with the updated state model and provide the same to the first and second application programs, which causes the first and second application program data to be modified. Accordingly, common data can be synchronized by two (or more) application programs.
Optionally and additionally, as described above, the user input data can cause the at least one application program to change application states. Using the remote access framework, the server (e.g., using the server remote access program 107A or 107B) can receive application program data from the at least one application program. In other words, the application program data depends on the user input data (e.g., the change of application state caused by the user input data). The server (e.g., using the server remote access program 107A or 107B) can update the state model (e.g., state model 300) in accordance with the application data. Then, the server (e.g., using the server remote access program 107A or 107B) can generate display data (e.g., presentation data 109A and/or 109B) in dependence upon the application program data for displaying the application program data using the single user interface (e.g., user interface 200). As described above, the display data can be communicated to the client through the remote access framework. The display data can then be displayed, for example, using a display device of the client (e.g., graphical display 108). Optionally, as described above, the server (e.g., using the server remote access program 107A or 107B) can receive first and second application program data from first and second application programs, respectively. Optionally, the display data can be generated for simultaneously displaying the first application program data and the second application program data using the single user interface (e.g., in display areas 206 and 208, respectively, of user interface 200).
Examples
The systems and methods described herein enable a plurality of application programs to interoperate together on the server-side such that the application programs can be recombined into a single workflow on the client side. The systems and methods described herein seamlessly integrate logical elements in a state model associated with a plurality of applications programs into a single user interface. The systems and methods described herein enable simultaneous interaction with a plurality of application programs using a single user interface. The systems and methods described herein enable display of a plurality of applications programs in a single user interface. The systems and methods described herein provide the ability to identify and coordinate common data shared by a plurality of application programs. Each of these aspects, alone or in combination with other aspects, of the systems and methods is referred to herein as “application recombination” or “recombination.” Recombination allows a plurality of application programs (e.g., applications of a company or enterprise that has grown through merger and acquisition) to interact and be presented with a common user interface client-side. In particular, a logic layer can be created that recombines application logic of the application programs into a new workflow. In some implementations, recombination can be implemented using PUREWEB technology of CALGARY SCIENTIFIC of Calgary, AB, Canada.
Referring now to FIGS. 6A and 6B, block diagrams illustrating recombination of a plurality of application programs according to implementations described herein are shown. As shown in FIG. 6A, a client (e.g., client computer 102) remotely accesses a plurality of applications programs A and B (e.g., application programs 124A and 124B running on at least one server such as server computer 120A and/or server computer 120B) over a network (e.g., network 112). The client can remotely access the application programs A and B using a remote access framework such as described with respect to FIG. 4 (e.g., using client and server remote access application(s)) and FIG. 5 (e.g., using a state model). As described above, the client can remotely access the application programs via respective URLs associated with the application programs. As shown in FIG. 6B, a plurality of clients (e.g., two mobile devices and a desktop client) remotely accesses a plurality of applications programs A and B over a network. In addition, each of the clients in FIG. 6B is capable of natively displaying application programs A and B. Optionally, in FIGS. 6A and 6B, PUREWEB technology of CALGARY SCIENTIFIC of Calgary, AB, Canada can provide the remote access framework. For example, in FIGS. 6A and 6B, remote access framework A and remote access framework B are provided for application programs A and B, respectively. As shown in FIG. 6B, the remote access framework can be used to pass commands, views, and/or state information between the client and the application programs A and B. The remote access framework can be used to recombine application programs A and B into a single user interface as described herein.
Recombination of application programs A and B can include linking views (e.g., display data including but not limited to interactive zones) and/or application state. This is shown by the dotted line in FIG. 6A. Recombination can also include implementing commands in each of application programs A and B. For example, recombination enables an understanding of the application functionality of application programs A and B when views and/or application state are linked, and therefore, commands entered in application program A or B can be executed in the other application program B or A, for example, by automatically generating the same command in the other program. Example pseudocode for linking views of application programs A and B is provided below:
// create first view...
var view1 = new rasframework.client.View({id: ‘myView1’, viewName:
‘myView1’});
// create second view...
var view2 = new rasframework.client.View({id: ‘myView2’, viewName:
‘myView2’});
// now link the two views.
rasframework.client.linkViews(view1, view2);
//...now all input operations (e.g., mouse/keyboard operations) in one view
will be
//automatically reflected in the other view
// now unlink the two views...
rasframework.client.unlinkViews(view1, view2);
This disclosure contemplates that when application program views (e.g., View1 and View2 above) are linked, it is possible to generate operations received in one linked application program in the other linked application program. For example, with reference to FIGS. 6A and 6B, application programs A and B are linked. When a user performs an operation in the view of application program A on the single user interface (e.g., a scroll operation), the user input is passed through the remote access framework (e.g., remote access framework A) to application program A. Since application programs A and B are linked, a corresponding command can be automatically generated and passed, for example by the remote access framework (e.g., remote access framework B), to perform the same operation (e.g., a scroll operation) in application program B. Thereafter, respective application data and/or presentation data for each of application programs A and B can be generated by the remote application frameworks and then integrated into the single user interface. Thus, it is the understanding of application functionality provided by recombination that allows the linking of interactive functionalities of application programs A and B. It should be understood that the scroll operation is described as the interactive functionality as an example only and that other interactive functionalities of the application programs can be linked using the systems and methods described herein.
Example pseudocode for linking application state of application programs A and B is provided below:
// specify application state variable in first framework
var framework1 = rasframework.getFramework(0);
framework1.getState().setValue(‘ScribbleColor’, ‘red’);
// specify application state variable in second framework
var framework2 = rasframework.getFramework(1);
framework2.getState().setValue(‘lineColor’, ‘blue’);
// now specify link the application state
rasframework.frameworks.linkState(framework1, ‘ScribbleColor’,
framework2, ‘lineColor’);
Alternatively or additionally, this disclosure contemplates linking application state information of the application programs. For example, with reference to FIGS. 6A and 6B, application programs A and B are linked. In some implementations, this includes linking logical elements (e.g., a menu, submenu, button, etc.) of application programs A and B that correspond to the same interactive functionality (e.g., linking the same interaction zone of application programs A and B). In other implementations, this includes linking logical elements that are similar, but different, in application programs A and B. In other words, this includes linking logical elements that are related but not necessarily the same such as the red ScribbleColor and the blue lineColor in the pseudocode above. For example, the red ScribbleColor and the blue lineColor may optionally correspond to mark-ups in respective images stored and displayed by application programs A and B. Changes to the linked application state information (e.g., the red ScribbleColor and the blue lineColor) can be passed to through the remote access framework (e.g., remote access framework A and/or remote access framework B) to the application programs A and/or B. Thereafter, respective application data and/or presentation data for each of application programs A and B can be generated by the remote application frameworks and then integrated into the single user interface. Thus, it is the understanding of application functionality provided by recombination that allows the linking of application state information of application programs A and B.
Example Use Cases
As described above, using the systems and methods described herein, it is possible to recombine a plurality of application programs. In some implementations, the application programs can be applications for viewing medical images of a patient and for entering a diagnostic report into a respective patient application file. In other implementations, the application programs can be applications for viewing three-dimensional (3D) and two-dimensional (2D) computer-aided designs (CAD) images. It should be understood that these application programs are provided only as examples. Other non-limiting examples for the use of application program recombination as described herein include:
a. Recombination can be used for enterprise application integration (i.e., integrating application programs across an enterprise).
b. Two (or more) application programs running simultaneously for displaying a prior study and a current study using simultaneously two displays.
c. When data common to two (or more) application programs (e.g., patient name data) is changed in one application, an event is automatically generated in the other application(s) that causes the common data (e.g., patient name data) to also be changed in the other application(s).
d. Commonality can be purely user interaction, e.g., two viewer application programs that both use the same input command (e.g., the arrow keys) to scroll through documents and/or images.
e. A user (e.g., physician) launches a recombined viewer application to access two different servers at two different hospitals, where the same patient's images are displayed in two views within a single client browser window. In response to pan or scroll operation, the recombined viewer application sends appropriate commands to each independent application at the independent servers.
f. A quality assurance (QA) application that displays and affects multiple silo/databases simultaneously without requiring health level seven (HL7) messaging to perform updates. This may be useful for QA of data maintained in separate applications of the same enterprise.
g. A PACS workstation that can also pop-up windows from the same vendor's nuclear medicine viewer.
h. A universal worklist, e.g., a worklist coming from different vendors for a common worklist display for a single radiologist reading from multiples hospitals. For example, a viewer that displays the worklist from a modality in the same browser as the worklist from the radiology information system (RIS), both coming from different vendors, each required to be correct as it was generated by the modality or RIS directly. The worklist can be displayed in a window, tile, area, etc. of the user interface or display. It should be understood that there would be no delay or opportunity for database mistakes during worklist collection into a third party environment using the systems and methods described herein.
i. A universal worklist display for a single radiologist reading from multiple hospitals, where the radiologist's credentials are stored and passed to each of the relevant hospital's RIS viewers. Each of the RIS viewers are stripped down and then displayed in a respective window, tile, box, area, etc. of the user interface or display. In this example, the worklists are not merged (as in example (h) above) and instead are just displayed.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (20)

What is claimed:
1. A method for providing recombination of a plurality of application programs, comprising:
providing a remote access framework for enabling a client to remotely access the plurality of application programs over a network, the plurality of application programs running on at least one server;
receiving a communication from the client through the remote access framework, the communication requesting access to the plurality of application programs;
maintaining a state model within the remote access framework, the state model comprising respective application states of the plurality of application programs;
using the state model, linking interactive functionalities of the plurality of application programs;
using the state model, generating display data indicative of a single user interface including the plurality of application programs; and
communicating the display data to the client through the remote access framework.
2. The method of claim 1, further comprising:
receiving user input data from the client through the remote access framework;
using the state model, determining an association of the user input data to a respective interaction zone; and
providing the user input data to at least one of the plurality of application programs associated with the respective interaction zone through the remote access framework.
3. The method of claim 2, further comprising:
receiving application program data from the at least one of the plurality of application programs through the remote access framework, the application program data being in dependence upon the user input data, wherein the display data is generated in dependence upon the application program data for displaying the application program data using the single user interface.
4. The method of claim 2, wherein the user input data are simultaneously provided to the at least two of the plurality of application programs associated with the single interaction zone.
5. The method of claim 2, further comprising:
receiving first application program data and second application program data from a first application program and a second application program, respectively, through the remote access framework, wherein the display data is generated in dependence upon the first application program data and the second application program data for displaying the first application program data and the second application program data using the single user interface.
6. The method of claim 5, wherein the display data are generated for simultaneously displaying the first application program data and the second application program data using the single user interface.
7. The method of claim 1, further comprising:
receiving user input data from the client through the remote access framework;
using the state model, determining an association of the user input data to first application program data associated with a first application program and to second application program data associated with a second application program; and
providing the user input data to the first and second application programs, wherein the first and second application program data are modified according to the user input data.
8. The method of claim 2, wherein the association of the user input data to the respective interaction zone is determined based on a location of the respective interaction zone on a graphical display image of the client.
9. The method of claim 8, wherein the association of the user input data to the respective interaction zone is determined in a pixel-wise fashion.
10. The method of claim 1, wherein the interactive functionalities are a subset of a plurality of functionalities of at least one of the plurality of application programs.
11. A non-transitory computer-readable medium having computer-executable instructions stored thereon for recombination of a plurality of application programs that, when executed by a processor, cause the processor to:
provide a remote access framework for enabling a client to remotely access the plurality of application programs over a network, the plurality of application programs running on at least one server;
receive a communication from the client through the remote access framework, the communication requesting access to the plurality of application programs;
maintain a state model within the remote access framework, the state model comprising respective application states of the plurality of application programs;
using the state model, link interactive functionalities of the plurality of application programs;
using the state model, generate display data indicative of a single user interface including the plurality of application programs; and
communicate the display data to the client through the remote access framework.
12. The non-transitory computer-readable medium of claim 11, having further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:
receive user input data from the client through the remote access framework;
using the state model, determine an association of the user input data to a respective interaction zone; and
provide the user input data to at least one of the plurality of application programs associated with the respective interaction zone through the remote access framework.
13. The non-transitory computer-readable medium of claim 12, having further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:
receive application program data from the at least one of the plurality of application programs through the remote access framework, the application program data being in dependence upon the user input data, wherein the display data is generated in dependence upon the application program data for displaying the application program data using the single user interface.
14. The non-transitory computer-readable medium of claim 12, wherein the user input data are simultaneously provided to the at least two of the plurality of application programs associated with the single interaction zone.
15. The non-transitory computer-readable medium of claim 12, having further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:
receive first application program data and second application program data from a first application program and a second application program, respectively, through the remote access framework, wherein the display data is generated in dependence upon the first application program data and the second application program data for displaying the first application program data and the second application program data using the single user interface.
16. The non-transitory computer-readable medium of claim 15, wherein the display data are generated for simultaneously displaying the first application program data and the second application program data using the single user interface.
17. The non-transitory computer-readable medium of claim 11, having further computer-executable instructions stored thereon that, when executed by the processor, cause the processor to:
receive user input data from the client through the remote access framework;
using the state model, determine an association of the user input data to first application program data associated with a first application program and to second application program data associated with a second application program; and
provide the user input data to the first and second application programs, wherein the first and second application program data are modified according to the user input data.
18. The non-transitory computer-readable medium of claim 12, wherein the association of the user input data to the respective interaction zone is determined based on a location of the respective interaction zone on a graphical display image of the client.
19. The non-transitory computer-readable medium of claim 18, wherein the association of the user input data to the respective interaction zone is determined in a pixel-wise fashion.
20. The non-transitory computer-readable medium of claim 11, wherein the interactive functionalities are a subset of a plurality of functionalities of at least one of the plurality of application programs.
US14/872,757 2009-02-03 2015-10-01 Method and system for enabling interaction with a plurality of applications using a single user interface Expired - Fee Related US10055105B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/872,757 US10055105B2 (en) 2009-02-03 2015-10-01 Method and system for enabling interaction with a plurality of applications using a single user interface

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US20216809P 2009-02-03 2009-02-03
US12/658,080 US20100223566A1 (en) 2009-02-03 2010-02-02 Method and system for enabling interaction with a plurality of applications using a single user interface
US201161523632P 2011-08-15 2011-08-15
US201161523644P 2011-08-15 2011-08-15
US13/586,007 US9992253B2 (en) 2011-08-15 2012-08-15 Non-invasive remote access to an application program
US14/872,757 US10055105B2 (en) 2009-02-03 2015-10-01 Method and system for enabling interaction with a plurality of applications using a single user interface

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/658,080 Continuation-In-Part US20100223566A1 (en) 2009-02-03 2010-02-02 Method and system for enabling interaction with a plurality of applications using a single user interface

Publications (2)

Publication Number Publication Date
US20160054897A1 US20160054897A1 (en) 2016-02-25
US10055105B2 true US10055105B2 (en) 2018-08-21

Family

ID=55348331

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/872,757 Expired - Fee Related US10055105B2 (en) 2009-02-03 2015-10-01 Method and system for enabling interaction with a plurality of applications using a single user interface

Country Status (1)

Country Link
US (1) US10055105B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11693850B1 (en) * 2020-10-19 2023-07-04 Splunk Inc. Rendering a service graph to illustrate page provider dependencies at an aggregate level
US11693761B1 (en) 2020-10-19 2023-07-04 Splunk Inc. Rendering a service graph to illustrate page provider dependencies

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012510118A (en) 2008-11-26 2012-04-26 カルガリー・サイエンティフィック・インコーポレイテッド Method and system for providing remote access to the state of an application program
US20120215560A1 (en) 2010-07-21 2012-08-23 dbMotion Ltd. System and methods for facilitating computerized interactions with emrs
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
US10726088B1 (en) 2011-08-12 2020-07-28 Allscripts Software, Llc Computing system for presenting supplemental content in context
SG10201606764XA (en) 2011-08-15 2016-10-28 Calgary Scient Inc Non-invasive remote access to an application program
US9064448B1 (en) * 2011-08-31 2015-06-23 Google Inc. Digital image comparison
CN103959708B (en) 2011-09-30 2017-10-17 卡尔加里科学公司 Including the non-coupled application extension for shared and annotation the interactive digital top layer of the remote application that cooperates
KR20140106551A (en) 2011-11-23 2014-09-03 캘거리 싸이언티픽 인코포레이티드 Methods and systems for collaborative remote application sharing and conferencing
WO2013128284A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
JP2017505473A (en) 2013-11-29 2017-02-16 カルガリー サイエンティフィック インコーポレイテッド Method of providing connection to unmanaged service of client in client server remote access system
JP2016139273A (en) * 2015-01-27 2016-08-04 富士通株式会社 Cooperation system, cooperation program, and cooperation method
US11310348B2 (en) 2015-01-30 2022-04-19 Calgary Scientific Inc. Highly scalable, fault tolerant remote access architecture and method of connecting thereto
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
US10437416B2 (en) 2015-09-28 2019-10-08 Samsung Electronics Co., Ltd. Personalized launch states for software applications
US10692593B1 (en) * 2016-02-26 2020-06-23 Allscripts Software, Llc Identifying events in a badge of a graphical user interface
CN109992333A (en) * 2017-12-29 2019-07-09 西门子(中国)有限公司 Interface processing method, device and the computer readable storage medium of more softwares

Citations (235)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0349463A2 (en) 1988-06-30 1990-01-03 International Business Machines Corporation Method of simultaneously entering data into overlapped windows
US4975690A (en) 1988-11-07 1990-12-04 Ibm Corporation Method for concurrent data entry and manipulation in multiple applications
US5345550A (en) 1992-12-23 1994-09-06 International Business Machines Corporation User-modifiable popup menus for object oriented behavior
US5491800A (en) 1993-12-20 1996-02-13 Taligent, Inc. Object-oriented remote procedure call networking system
US5555003A (en) 1993-04-12 1996-09-10 Hewlett-Packard Company Method for selecting an item on a graphics screen
US5742778A (en) 1993-08-30 1998-04-21 Hewlett-Packard Company Method and apparatus to sense and multicast window events to a plurality of existing applications for concurrent execution
US5844553A (en) 1993-08-30 1998-12-01 Hewlett-Packard Company Mechanism to control and use window events among applications in concurrent computing
WO1998058478A2 (en) 1997-06-13 1998-12-23 Ironside Technologies Inc. Method of manipulating software components through a network with enhanced performance and reduced network traffic
US5870759A (en) 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US5903725A (en) 1995-09-15 1999-05-11 International Business Machines Corporation Recoverable proxy object in an object oriented environment
US5909545A (en) 1996-01-19 1999-06-01 Tridia Corporation Method and system for on demand downloading of module to enable remote control of an application program over a network
US5920311A (en) 1992-12-22 1999-07-06 International Business Machines Corporation Distributed client/server window presentation system
US5978842A (en) 1997-01-14 1999-11-02 Netmind Technologies, Inc. Distributed-client change-detection tool with change-detection augmented by multiple clients
US6045048A (en) 1993-11-24 2000-04-04 Metrologi Instruments, Inc. System and method for composing menus of URL-encoded bar code symbols while surfing the internet using an internet browser program
US6061689A (en) 1997-05-06 2000-05-09 International Business Machines Corporation Object aggregation representation of relational database rows having nontraditional datatypes
US6075531A (en) 1997-12-15 2000-06-13 International Business Machines Corporation Computer system and method of manipulating multiple graphical user interface components on a computer display with a proximity pointer
US6141698A (en) 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6175869B1 (en) 1998-04-08 2001-01-16 Lucent Technologies Inc. Client-side techniques for web server allocation
WO2001016724A2 (en) 1999-08-31 2001-03-08 Accenture Llp A system, method and article of manufacture for a legacy wrapper in a communication services patterns environment
US6253228B1 (en) 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
US20010033299A1 (en) 2000-01-20 2001-10-25 Callaway W. Scott Method and system for extensible data processing
US20010047393A1 (en) 2000-03-08 2001-11-29 Marbles, Inc. System and method for efficient remote operation of real-time graphical applications
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
WO2002009106A1 (en) 2000-07-21 2002-01-31 Samsung Electronics Co., Ltd. Architecture for home network on world wide web
JP2002055870A (en) 2000-08-15 2002-02-20 Fuji Xerox Co Ltd Data providing apparatus, data acquiring apparatus and data processing system
US20020032804A1 (en) 1998-10-02 2002-03-14 Hunt Galen C. Heavyweight and lightweight instrumentation
US20020032751A1 (en) 2000-05-23 2002-03-14 Srinivas Bharadwaj Remote displays in mobile communication networks
US20020032783A1 (en) 1999-12-30 2002-03-14 Tuatini Jeffrey T. Shared service funtionality invocation
US20020092029A1 (en) 2000-10-19 2002-07-11 Smith Edwin Derek Dynamic image provisioning
US6453356B1 (en) 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US20030014735A1 (en) 2001-06-28 2003-01-16 Dimitris Achlioptas Methods and systems of testing software, and methods and systems of modeling user behavior
US20030023670A1 (en) 2001-07-24 2003-01-30 Steve Walrath System and method for client-server networked applications
US20030055893A1 (en) 2001-09-14 2003-03-20 Yuichi Sato Collaboration method, system, program and record medium
US20030065738A1 (en) 2001-10-01 2003-04-03 Thumb Logic, Inc. Wireless information systems and methods
WO2003032569A1 (en) 2001-10-09 2003-04-17 Nokia Corporation A method of server initiated synchronization in a synchronization system where the request message from the server has a maximum size
US6570563B1 (en) 1995-07-12 2003-05-27 Sony Corporation Method and system for three-dimensional virtual reality space sharing and for information transmission
US20030120324A1 (en) 2001-12-26 2003-06-26 Osborn Brett A. System and method for remote programming of a medical device
US20030120762A1 (en) 2001-08-28 2003-06-26 Clickmarks, Inc. System, method and computer program product for pattern replay using state recognition
US6601233B1 (en) 1999-07-30 2003-07-29 Accenture Llp Business components framework
US20030149941A1 (en) 2001-11-09 2003-08-07 Tsao Sheng A. Integrated data processing system with links
US20030163514A1 (en) 2002-02-22 2003-08-28 Brandfact, Inc. Methods and systems for integrating dynamic polling mechanisms into software applications
US20030184584A1 (en) 2002-03-29 2003-10-02 Thomas Vachuska User interface framework for integrating user interface elements of independent software components
WO2003083684A1 (en) 2002-04-02 2003-10-09 Nokia Corporation Method and apparatus for synchronizing how data is stored in different data stores
US20030208472A1 (en) 2000-04-11 2003-11-06 Pham Peter Manh Method and apparatus for transparent keyword-based hyperlink
US20040015842A1 (en) 2001-05-17 2004-01-22 Hemant Nanivadekar Symbiotic computer application and system and method for generation and presentation of same
US20040029638A1 (en) 2000-11-22 2004-02-12 Doug Hytcheson Method and system for improving the efficiency of state information transfer over a wireless communications network
US20040039742A1 (en) 2002-08-22 2004-02-26 International Business Machines Corporation Database enabled messaging facility
US20040068516A1 (en) 2002-10-04 2004-04-08 Chung-I Lee System and method for synchronizing files in multiple nodes
EP1422901A1 (en) 2002-11-22 2004-05-26 Sun Microsystems, Inc. Client driven synchronization of file and folder content in web publishing
US20040106916A1 (en) 2002-03-06 2004-06-03 Z-Kat, Inc. Guidance system and method for surgical procedures with improved feedback
US20040117804A1 (en) 2001-03-30 2004-06-17 Scahill Francis J Multi modal interface
US20040153525A1 (en) 2003-01-31 2004-08-05 3Com Corporation System and method for control of packet data serving node selection in a mobile internet protocol network
US20040162876A1 (en) 2003-02-14 2004-08-19 Whale Communications Ltd. System and method for providing conditional access to server-based applications from remote access devices
US6792607B1 (en) 2000-05-18 2004-09-14 Microsoft Corporation Databinding using server-side control objects
US20040183827A1 (en) 2003-03-17 2004-09-23 Daniel Putterman Methods and apparatus for implementing a remote application over a network
JP2004287758A (en) 2003-03-20 2004-10-14 Nec Corp Web application integration method/program/storage medium, and portal server
US20040236633A1 (en) 2003-05-05 2004-11-25 Knauerhase Robert C. Management and arbitration of mobile service discovery
US20040243919A1 (en) 2003-04-04 2004-12-02 David Darian Muresan Synchronized processing of views and drawing tools in a multiple document interface application
US20040249885A1 (en) 2001-07-13 2004-12-09 Lykourgos Petropoulakis Generic object-based resource-sharing interface for distance co-operation
US20050005024A1 (en) 2002-10-30 2005-01-06 Allen Samuels Method of determining path maximum transmission unit
US20050010871A1 (en) 2000-06-21 2005-01-13 Microsoft Corporation Single window navigation methods and systems
US20050021687A1 (en) 2003-07-03 2005-01-27 Microsoft Corporation Remote computer graphics performance testing
JP2005031807A (en) 2003-07-08 2005-02-03 Toshiba Corp Data updating method in data processing system and data processing system
US20050050229A1 (en) 2003-08-26 2005-03-03 International Business Machines Corporation Method and system for synchronizing a client user interface with a server backend
US20050138631A1 (en) 2003-12-17 2005-06-23 Victoria Bellotti System and method for providing metadata interaction and visualization with task-related objects
US6918113B2 (en) 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US20050188313A1 (en) 2004-02-20 2005-08-25 Microsoft Corporation User interface transition
US20050188046A1 (en) 1995-12-20 2005-08-25 Hickman Paul L. Method and apparatus for monitoring multiple electronic mail systems
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US20050190203A1 (en) 2004-02-27 2005-09-01 Gery Ron O. Method and apparatus for enabling application program compatibility with display devices having improved pixel density
US20050198578A1 (en) 2004-01-15 2005-09-08 Maneesh Agrawala System and process for controlling a shared display given inputs from multiple users using multiple input modalities
US20050216421A1 (en) 1997-09-26 2005-09-29 Mci. Inc. Integrated business systems for web based telecommunications management
US20050240906A1 (en) 2004-04-22 2005-10-27 Permeo Technologies, Inc. System and method for remote application process control
US6970459B1 (en) 1999-05-13 2005-11-29 Intermec Ip Corp. Mobile virtual network system and method
US6976077B1 (en) 1999-07-06 2005-12-13 Microsoft Corporation Automatic and transparent synchronization of server-side state information with a client application
US20060004874A1 (en) 2000-11-22 2006-01-05 Doug Hutcheson Method and system for improving the efficiency of state information transfer over a wireless communications network
US20060026006A1 (en) 2002-12-04 2006-02-02 Hindle Guy P Synchronization method
US20060031377A1 (en) 2002-10-04 2006-02-09 International Business Machines Corporation Method and apparatus for enabling associated portlets of a web portlet to collaborate for synchronized content display
US20060031481A1 (en) 2004-05-21 2006-02-09 Bea Systems, Inc. Service oriented architecture with monitoring
US20060036770A1 (en) 2004-07-30 2006-02-16 International Business Machines Corporation System for factoring synchronization strategies from multimodal programming model runtimes
US20060085835A1 (en) 2004-04-30 2006-04-20 Vulcan Inc. Network-accessible control of one or more media devices
US20060101397A1 (en) 2004-10-29 2006-05-11 Microsoft Corporation Pseudo-random test case generator for XML APIs
US20060130069A1 (en) 2004-12-10 2006-06-15 Microsoft Corporation Reliably transferring queued application messages
US7065568B2 (en) 2000-11-30 2006-06-20 Microsoft Corporation System and method for managing states and user context over stateless protocols
US7069227B1 (en) 1999-02-05 2006-06-27 Zansor Systems, Llc Healthcare information network
US7073059B2 (en) 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US20060236328A1 (en) 2004-12-10 2006-10-19 Siemens Medical Solutions Usa, Inc. Integrated graphical user interface server for use with multiple client applications
US20060231175A1 (en) 2003-04-04 2006-10-19 Hans Vondracek Method for thermomechanical treatment of steel
US20060258462A1 (en) 2005-04-12 2006-11-16 Long Cheng System and method of seamless game world based on server/client
US20060265689A1 (en) 2002-12-24 2006-11-23 Eugene Kuznetsov Methods and apparatus for processing markup language messages in a network
US20060271563A1 (en) 2001-05-15 2006-11-30 Metatomix, Inc. Appliance for enterprise information integration and enterprise resource interoperability platform and methods
US7149761B2 (en) 2001-11-13 2006-12-12 Tadpole Technology Plc System and method for managing the synchronization of replicated version-managed databases
US20060288171A1 (en) 2005-06-20 2006-12-21 Benjamin Tsien Buffer allocation for split data messages
US20060294418A1 (en) 2005-06-22 2006-12-28 Tele Atlas North America, Inc. System and method for automatically executing corresponding operations on multiple maps, windows, documents, and/or databases
US7167893B1 (en) 2001-10-03 2007-01-23 Bellsouth Intellectual Property Corp. Methods and systems for processing a plurality of errors
US20070024645A1 (en) 2005-07-12 2007-02-01 Siemens Medical Solutions Health Services Corporation Multiple Application and Multiple Monitor User Interface Image Format Selection System for Medical and Other Applications
US7181686B1 (en) 1999-10-29 2007-02-20 International Business Machines Corporation Selecting screens in a GUI using events generated by a set of view controllers
US20070047535A1 (en) 2005-08-31 2007-03-01 Intel Corporation Switching device utilizing flow-control management
RU2295752C1 (en) 2006-03-20 2007-03-20 Закрытое акционерное общество "1С Акционерное общество" Method for controlling synchronization of software updates
US7193985B1 (en) 2001-06-14 2007-03-20 Utstarcom, Inc. System and method for managing foreign agent selections in a mobile internet protocol network
US20070067754A1 (en) 2005-09-20 2007-03-22 Microsoft Corporation Server application state
JP2007084744A (en) 2005-09-26 2007-04-05 Sekisui Plastics Co Ltd Styrene-based resin expandable beads and method for producing the same, and styrene-based resin expansion molded form
US20070079244A1 (en) 2005-09-12 2007-04-05 Microsoft Corporation Remoting redirection layer for graphics device interface
US20070112880A1 (en) 2005-11-14 2007-05-17 Lie Yang Data synchronization and device handling
US20070120763A1 (en) 2005-11-23 2007-05-31 Lode De Paepe Display system for viewing multiple video signals
US20070130292A1 (en) 2005-12-01 2007-06-07 Yoav Tzruya System, method and computer program product for dynamically enhancing an application executing on a computing device
US20070136677A1 (en) 2005-12-08 2007-06-14 Amit Agarwal Methods and apparatus for displaying information
US7240162B2 (en) 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
US7246063B2 (en) 2002-02-15 2007-07-17 Sap Aktiengesellschaft Adapting a user interface for voice control
US20070203999A1 (en) 2006-02-24 2007-08-30 Townsley William M Techniques for replacing point to point protocol with dynamic host configuration protocol
US20070203944A1 (en) 2006-02-28 2007-08-30 International Business Machines Corporation Web services database cluster architecture
US20070208718A1 (en) 2006-03-03 2007-09-06 Sasha Javid Method for providing web-based program guide for multimedia content
RU2305860C2 (en) 2003-05-09 2007-09-10 Майкрософт Корпорейшн System for providing hosting to objects of graphical composition or representation
US20070226636A1 (en) 2006-03-21 2007-09-27 Microsoft Corporation Simultaneous input across multiple applications
US20070233706A1 (en) 1998-02-10 2007-10-04 Level 3 Communications, Llc Shared content delivery infrastructure with rendezvous based on load balancing and network conditions
US20070244990A1 (en) 2006-04-03 2007-10-18 National Instruments Corporation Web browser graph user interface element with rich interactive capabilities
US20070256073A1 (en) 2006-03-14 2007-11-01 University Of Utah Research Foundation Extendable framework for distributed applications and data
US20070282951A1 (en) 2006-02-10 2007-12-06 Selimis Nikolas A Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
US7320131B1 (en) 2001-06-06 2008-01-15 Cisco Technology, Inc. Methods and apparatus for selecting a server to process a request
US20080016155A1 (en) 2006-07-11 2008-01-17 Igor Khalatian One-Click Universal Screen Sharing
US7343310B1 (en) 2000-04-28 2008-03-11 Travelers Property Casualty Corp. System and method for providing web-based user interface to legacy, personal-lines insurance applications
US7350151B1 (en) 2000-09-14 2008-03-25 Ui Evolution, Inc. Display state and/or cell based user interface provision method and apparatus
JP2008099055A (en) 2006-10-13 2008-04-24 Advanced Telecommunication Research Institute International Communication apparatus controlling load and communication network comprising the same
US20080134211A1 (en) 2006-12-04 2008-06-05 Sap Ag Method and apparatus for application state synchronization
US20080146194A1 (en) 2006-12-15 2008-06-19 Yahoo! Inc. Automatic data back up and account creation
US20080159175A1 (en) 2006-12-29 2008-07-03 Aol Llc Intelligent management of application connectivity
US20080183190A1 (en) 2007-01-25 2008-07-31 Warsaw Orthopedic, Inc. Integrated surgical navigational and neuromonitoring system having automated surgical assistance and control
US7418711B1 (en) 2003-04-28 2008-08-26 Sprint Communications Company L.P. Messaging bridge that facilitates communication with a mainframe environment
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US20090044171A1 (en) 2007-07-12 2009-02-12 The Mathworks, Inc. Continuous time mode-driven simulations in a graphical modeling environment
US20090080523A1 (en) 2007-09-24 2009-03-26 Microsoft Corporation Remote user interface updates using difference and motion encoding
US20090089742A1 (en) 2007-09-28 2009-04-02 Verizon Data Services Inc. Generic xml screen scraping
US20090119644A1 (en) 2007-11-07 2009-05-07 Endeavors Technologies, Inc. Deriving component statistics for a stream enabled application
US20090209239A1 (en) 2008-02-18 2009-08-20 Movidilo S.L. Self-service application platform for wireless devices
US20090217177A1 (en) 2008-02-27 2009-08-27 Cisco Technology, Inc. Multi-party virtual desktop
CN101539932A (en) 2009-01-21 2009-09-23 北京跳网无限科技发展有限公司 Synchronization access technology of transforming web page
US20090328032A1 (en) 2008-06-27 2009-12-31 Microsoft Corporation Projecting software and data onto client
US7647370B1 (en) 2003-10-24 2010-01-12 Verizon Data Services Llc Screen scraping interface
US7650444B2 (en) 2006-09-28 2010-01-19 Digi International, Inc. Systems and methods for remotely managing an application-specific display device
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US20100061238A1 (en) 2008-09-11 2010-03-11 Avanindra Godbole Methods and apparatus for flow control associated with multi-staged queues
US20100077058A1 (en) 2008-09-19 2010-03-25 Samsung Electronics Co., Ltd. Sending a remote user interface
US7703024B2 (en) 2004-08-31 2010-04-20 Sap Ag Obtaining a graphical user interface to access a remote computing system
US7706399B2 (en) 2003-12-19 2010-04-27 Intel Corporation Polling in wireless networks
US7725331B2 (en) 1999-12-01 2010-05-25 Webmd Corporation System and method for implementing a global master patient index
US20100131591A1 (en) 2008-11-26 2010-05-27 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US20100150031A1 (en) 2008-12-16 2010-06-17 Microsoft Corporation Multiplexed communication for duplex applications
US20100174773A1 (en) 2009-01-08 2010-07-08 Microsoft Corporation Synchronizing presentation states between multiple applications
US20100205147A1 (en) 2007-07-02 2010-08-12 British Telecommunications Public Limited Company Data communications system
WO2010088768A1 (en) 2009-02-03 2010-08-12 Calgary Scientific Inc. Simultaneously interacting with plurality of application programs.
US20100223661A1 (en) 2007-11-16 2010-09-02 Huawei Technologies Co., Ltd. Method, system, and apparatus for processing access prompt information
US7802183B1 (en) 2001-05-17 2010-09-21 Essin Daniel J Electronic record management system
US20100268762A1 (en) 2009-04-15 2010-10-21 Wyse Technology Inc. System and method for scrolling a remote application
US20100268813A1 (en) 2009-04-15 2010-10-21 Wyse Technology Inc. System and method for handling remote drawing commands
JP2010238126A (en) 2009-03-31 2010-10-21 Nec Personal Products Co Ltd Server client system, server, terminal, control method, and program
WO2010127327A1 (en) 2009-05-01 2010-11-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US7831919B1 (en) 2006-12-18 2010-11-09 Symantec Corporation Generic web service frontend
CN101883097A (en) 2010-06-03 2010-11-10 青岛海信宽带多媒体技术有限公司 Method and device for realizing that server equipment shares screen of client equipment
JP2010256972A (en) 2009-04-21 2010-11-11 Digital Electronics Corp Server device, server-client system, server program and recording medium recording the server program
US7921078B2 (en) 2005-04-20 2011-04-05 Sony Online Entertainment Llc System for negotiated differential compression
US7941488B2 (en) 2002-07-26 2011-05-10 International Business Machines Corporation Authorizing message publication to a group of subscribing clients via a publish/subscribe service
US20110138283A1 (en) 2009-12-07 2011-06-09 International Business Machines Corporation Composite copy and paste for composite user interfaces
US20110145863A1 (en) 2008-05-13 2011-06-16 Apple Inc. Pushing a graphical user interface to a remote device with display rules provided by the remote device
US20110157196A1 (en) 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
US20110162062A1 (en) 2009-12-28 2011-06-30 Arkesh Kumar Systems and methods for a vpn ica proxy on a multi-core system
CN102129632A (en) 2010-01-13 2011-07-20 阿里巴巴集团控股有限公司 Method, device and system for capturing webpage information
US20110184993A1 (en) 2010-01-27 2011-07-28 Vmware, Inc. Independent Access to Virtual Machine Desktop Content
US20110213830A1 (en) 2010-02-26 2011-09-01 Lopez Kermit D Cloud-based intellectual property and legal docketing system and method with data management modules
US20110222442A1 (en) 2010-03-10 2011-09-15 Microsoft Corporation Routing requests for duplex applications
US20110223882A1 (en) 2008-11-19 2011-09-15 Nokia Siemens Networks Oy Methods, apparatuses, system and related computer program product for charging of always-on connections
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US20110246891A1 (en) 2008-05-13 2011-10-06 Apple Inc. Pushing a Graphical User Interface to a Remote Device with Display Rules Provided by the Remote Device
US20110252152A1 (en) 2010-04-09 2011-10-13 Marcus Sherry Reliable messaging system and method
US20110314093A1 (en) 2010-06-22 2011-12-22 Philip Sheu Remote Server Environment
US20120030275A1 (en) 2010-07-29 2012-02-02 Sap Ag Providing status information for components in a distributed landscape
US20120084713A1 (en) 2010-10-05 2012-04-05 Citrix Systems, Inc. Providing User Interfaces and Window Previews for Hosted Applications
US20120090004A1 (en) 2010-10-08 2012-04-12 Jeong Young Ho Display apparatus and method for controlling the display apparatus
US20120151373A1 (en) 2010-12-10 2012-06-14 Wyse Technology Inc. Methods and systems for a remote desktop session utilizing a http handler and a remote desktop client common interface
US20120154633A1 (en) 2009-12-04 2012-06-21 Rodriguez Tony F Linked Data Methods and Systems
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
US20120226742A1 (en) 2011-03-03 2012-09-06 Citrix Systems Inc. Transparent User Interface Integration Between Local and Remote Computing Environments
US20120245918A1 (en) 2011-03-21 2012-09-27 Amazon Technologies, Inc. Remotely emulating computing devices
US20120246225A1 (en) 2011-03-21 2012-09-27 Calgary Scientific Inc. Method and system for providing a state model of an application program
US20120296959A1 (en) 2011-05-20 2012-11-22 Citrix Systems, Inc. Shell Integration for an Application Executing Remotely on a Server
CN102821413A (en) 2012-07-31 2012-12-12 华为技术有限公司 Data transmission method and network side equipment
US20120324032A1 (en) 2010-10-13 2012-12-20 Google Inc. Continuous application execution between multiple devices
US20120324358A1 (en) 2011-06-16 2012-12-20 Vmware, Inc. Delivery of a user interface using hypertext transfer protocol
US20130007227A1 (en) 2011-06-28 2013-01-03 Hitomi Arthur S Local streaming proxy server
US20130013671A1 (en) 2011-07-08 2013-01-10 Rohan Relan System and method for providing interactive content to non-native application environments
US8356252B2 (en) 2009-09-02 2013-01-15 Synchronoss Technologies, Inc. System and method for providing a computer display form layout
US8359591B2 (en) 2004-11-13 2013-01-22 Streamtheory, Inc. Streaming from a media device
US20130031618A1 (en) 2011-03-03 2013-01-31 Citrix Systems Inc. Reverse Seamless Integration Between Local and Remote Computing Environments
US20130046816A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Method for Flow Control and Reliable Communication In A Collaborative Environment
WO2013024343A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Non-invasive remote access to an application program
US20130054679A1 (en) 2011-08-29 2013-02-28 Vmware, Inc. Sharing remote sessions of a user interface and/or graphics of a computer
US20130070740A1 (en) 2011-09-19 2013-03-21 Microsoft Corporation Remote access to a mobile communication device over a wireless local area network (wlan)
US20130086652A1 (en) 2011-09-30 2013-04-04 Oracle International Corporation Session sharing in secure web service conversations
US20130086156A1 (en) * 2011-09-30 2013-04-04 Calgary Scientific Inc. Coupled application extensions for collaborative remote application sharing
US20130113833A1 (en) 2011-11-08 2013-05-09 Alexander Larsson Method and system for rendering images in a remote web browser
US20130117474A1 (en) 2001-08-24 2013-05-09 Jasmin Ajanovic General input/output architecture, protocol and related methods to implement flow control
US20130132485A1 (en) * 2011-11-23 2013-05-23 Calgary Scientific Inc. Methods and systems for collaborative remote application sharing and conferencing
US20130138791A1 (en) 2011-11-11 2013-05-30 Calgary Scientific Inc. Session transfer and suspension in a remote access application framework
US20130147845A1 (en) 2011-12-13 2013-06-13 Tao Xie Photo Selection for Mobile Devices
US20130159062A1 (en) 2011-12-14 2013-06-20 Sap Ag Process-driven composite application architecture
US20130179962A1 (en) 2001-02-14 2013-07-11 Endeavors Technologies, Inc. Intelligent Network Streaming and Execution System for Conventionally Coded Applications
WO2013109984A1 (en) 2012-01-18 2013-07-25 Numecent Holdings, Inc. Application streaming and execution for localized clients
US20130212483A1 (en) 2012-02-10 2013-08-15 Nokia Corporation Apparatus and method for providing for remote user interaction
WO2013128284A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US8533103B1 (en) 2010-09-14 2013-09-10 Amazon Technologies, Inc. Maintaining latency guarantees for shared resources
WO2013153439A1 (en) 2012-04-11 2013-10-17 Calgary Scientific Inc. Remoting graphical components through a tiered remote access architecture
US8572178B1 (en) 2011-07-01 2013-10-29 Amazon Technologies, Inc. Executing applications in remotely emulated computing devices
US20130290856A1 (en) 2011-08-25 2013-10-31 Vmware, Inc. User Interface Virtualization for Remote Devices
US8607158B2 (en) 2010-12-09 2013-12-10 International Business Machines Corporation Content presentation in remote monitoring sessions for information technology systems
US8606952B2 (en) 2008-01-15 2013-12-10 International Business Machines Corporation Method and system for optimizing bandwidth usage in remote visualization
US20130346482A1 (en) 2012-06-21 2013-12-26 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
US8627081B2 (en) 2005-07-14 2014-01-07 Conax As Multimedia data protection
US8667054B2 (en) 2010-07-12 2014-03-04 Opus Medicus, Inc. Systems and methods for networked, in-context, composed, high resolution image viewing
US20140136667A1 (en) 2012-11-13 2014-05-15 Aetherpal Inc. Virtual mobile management for device simulation
US20140241229A1 (en) 2013-02-25 2014-08-28 Expway eMBMS Over LAN
US20140240524A1 (en) 2005-01-03 2014-08-28 Qualcomm Incorporated System and method for remotely monitoring and/or viewing images from a camera or video device
US8832260B2 (en) 2007-10-05 2014-09-09 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
US20140298420A1 (en) 2013-03-29 2014-10-02 Citrix Systems, Inc. Validating the Identity of a Mobile Application for Mobile Application Management
US8910112B2 (en) 2008-07-30 2014-12-09 Sap Ag Extended enterprise connector framework using direct web remoting (DWR)
US8924512B2 (en) 2007-06-15 2014-12-30 Microsoft Corporation Extensible remote display infrastructure with dynamic virtual channels
US20150026338A1 (en) 2011-01-04 2015-01-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
US20150067035A1 (en) 2009-04-15 2015-03-05 Roshan Sullad Method and apparatus for extending capabilities of a virtualization domain to support features available in a normal desktop application
US20150067769A1 (en) 2012-10-15 2015-03-05 Citrix Systems, Inc. Providing Virtualized Private Network Tunnels
US20150081764A1 (en) 2013-09-13 2015-03-19 Curious Olive, Inc. Remote Virtualization of Mobile Apps
US20150156133A1 (en) 2013-11-29 2015-06-04 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US20150319252A1 (en) 2014-05-05 2015-11-05 Citrix Systems, Inc. Application customization
US9239812B1 (en) 2012-08-08 2016-01-19 hopTo Inc. System for and method of providing a universal I/O command translation framework in an application publishing environment
US20160226979A1 (en) 2015-01-30 2016-08-04 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework

Patent Citations (258)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0349463A2 (en) 1988-06-30 1990-01-03 International Business Machines Corporation Method of simultaneously entering data into overlapped windows
US4975690A (en) 1988-11-07 1990-12-04 Ibm Corporation Method for concurrent data entry and manipulation in multiple applications
US5920311A (en) 1992-12-22 1999-07-06 International Business Machines Corporation Distributed client/server window presentation system
US5345550A (en) 1992-12-23 1994-09-06 International Business Machines Corporation User-modifiable popup menus for object oriented behavior
US5555003A (en) 1993-04-12 1996-09-10 Hewlett-Packard Company Method for selecting an item on a graphics screen
US5742778A (en) 1993-08-30 1998-04-21 Hewlett-Packard Company Method and apparatus to sense and multicast window events to a plurality of existing applications for concurrent execution
US5844553A (en) 1993-08-30 1998-12-01 Hewlett-Packard Company Mechanism to control and use window events among applications in concurrent computing
US6045048A (en) 1993-11-24 2000-04-04 Metrologi Instruments, Inc. System and method for composing menus of URL-encoded bar code symbols while surfing the internet using an internet browser program
US5491800A (en) 1993-12-20 1996-02-13 Taligent, Inc. Object-oriented remote procedure call networking system
US6570563B1 (en) 1995-07-12 2003-05-27 Sony Corporation Method and system for three-dimensional virtual reality space sharing and for information transmission
US5903725A (en) 1995-09-15 1999-05-11 International Business Machines Corporation Recoverable proxy object in an object oriented environment
US20050188046A1 (en) 1995-12-20 2005-08-25 Hickman Paul L. Method and apparatus for monitoring multiple electronic mail systems
US5909545A (en) 1996-01-19 1999-06-01 Tridia Corporation Method and system for on demand downloading of module to enable remote control of an application program over a network
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US5870759A (en) 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US5978842A (en) 1997-01-14 1999-11-02 Netmind Technologies, Inc. Distributed-client change-detection tool with change-detection augmented by multiple clients
US6141698A (en) 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US6253228B1 (en) 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
US6061689A (en) 1997-05-06 2000-05-09 International Business Machines Corporation Object aggregation representation of relational database rows having nontraditional datatypes
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
WO1998058478A2 (en) 1997-06-13 1998-12-23 Ironside Technologies Inc. Method of manipulating software components through a network with enhanced performance and reduced network traffic
US7577751B2 (en) 1997-06-16 2009-08-18 Stream Theory, Inc./Endeavors Technologies, Inc. Software streaming system and method
US8509230B2 (en) 1997-06-16 2013-08-13 Numecent Holdings, Inc. Software streaming system and method
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US20050216421A1 (en) 1997-09-26 2005-09-29 Mci. Inc. Integrated business systems for web based telecommunications management
US6075531A (en) 1997-12-15 2000-06-13 International Business Machines Corporation Computer system and method of manipulating multiple graphical user interface components on a computer display with a proximity pointer
US20070233706A1 (en) 1998-02-10 2007-10-04 Level 3 Communications, Llc Shared content delivery infrastructure with rendezvous based on load balancing and network conditions
US6175869B1 (en) 1998-04-08 2001-01-16 Lucent Technologies Inc. Client-side techniques for web server allocation
US6453356B1 (en) 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
US20020032804A1 (en) 1998-10-02 2002-03-14 Hunt Galen C. Heavyweight and lightweight instrumentation
US7069227B1 (en) 1999-02-05 2006-06-27 Zansor Systems, Llc Healthcare information network
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US6970459B1 (en) 1999-05-13 2005-11-29 Intermec Ip Corp. Mobile virtual network system and method
US6976077B1 (en) 1999-07-06 2005-12-13 Microsoft Corporation Automatic and transparent synchronization of server-side state information with a client application
US6601233B1 (en) 1999-07-30 2003-07-29 Accenture Llp Business components framework
WO2001016724A2 (en) 1999-08-31 2001-03-08 Accenture Llp A system, method and article of manufacture for a legacy wrapper in a communication services patterns environment
US7181686B1 (en) 1999-10-29 2007-02-20 International Business Machines Corporation Selecting screens in a GUI using events generated by a set of view controllers
US7725331B2 (en) 1999-12-01 2010-05-25 Webmd Corporation System and method for implementing a global master patient index
US20020032783A1 (en) 1999-12-30 2002-03-14 Tuatini Jeffrey T. Shared service funtionality invocation
US20010033299A1 (en) 2000-01-20 2001-10-25 Callaway W. Scott Method and system for extensible data processing
US20010047393A1 (en) 2000-03-08 2001-11-29 Marbles, Inc. System and method for efficient remote operation of real-time graphical applications
US20030208472A1 (en) 2000-04-11 2003-11-06 Pham Peter Manh Method and apparatus for transparent keyword-based hyperlink
US7343310B1 (en) 2000-04-28 2008-03-11 Travelers Property Casualty Corp. System and method for providing web-based user interface to legacy, personal-lines insurance applications
US6792607B1 (en) 2000-05-18 2004-09-14 Microsoft Corporation Databinding using server-side control objects
US20020032751A1 (en) 2000-05-23 2002-03-14 Srinivas Bharadwaj Remote displays in mobile communication networks
US20050010871A1 (en) 2000-06-21 2005-01-13 Microsoft Corporation Single window navigation methods and systems
WO2002009106A1 (en) 2000-07-21 2002-01-31 Samsung Electronics Co., Ltd. Architecture for home network on world wide web
JP2002055870A (en) 2000-08-15 2002-02-20 Fuji Xerox Co Ltd Data providing apparatus, data acquiring apparatus and data processing system
US7350151B1 (en) 2000-09-14 2008-03-25 Ui Evolution, Inc. Display state and/or cell based user interface provision method and apparatus
US20020092029A1 (en) 2000-10-19 2002-07-11 Smith Edwin Derek Dynamic image provisioning
US6918113B2 (en) 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
US20040029638A1 (en) 2000-11-22 2004-02-12 Doug Hytcheson Method and system for improving the efficiency of state information transfer over a wireless communications network
US20060004874A1 (en) 2000-11-22 2006-01-05 Doug Hutcheson Method and system for improving the efficiency of state information transfer over a wireless communications network
US7065568B2 (en) 2000-11-30 2006-06-20 Microsoft Corporation System and method for managing states and user context over stateless protocols
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
US20130179962A1 (en) 2001-02-14 2013-07-11 Endeavors Technologies, Inc. Intelligent Network Streaming and Execution System for Conventionally Coded Applications
US20040117804A1 (en) 2001-03-30 2004-06-17 Scahill Francis J Multi modal interface
US20060271563A1 (en) 2001-05-15 2006-11-30 Metatomix, Inc. Appliance for enterprise information integration and enterprise resource interoperability platform and methods
US20040015842A1 (en) 2001-05-17 2004-01-22 Hemant Nanivadekar Symbiotic computer application and system and method for generation and presentation of same
US7802183B1 (en) 2001-05-17 2010-09-21 Essin Daniel J Electronic record management system
US7320131B1 (en) 2001-06-06 2008-01-15 Cisco Technology, Inc. Methods and apparatus for selecting a server to process a request
US7073059B2 (en) 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US7193985B1 (en) 2001-06-14 2007-03-20 Utstarcom, Inc. System and method for managing foreign agent selections in a mobile internet protocol network
US20030014735A1 (en) 2001-06-28 2003-01-16 Dimitris Achlioptas Methods and systems of testing software, and methods and systems of modeling user behavior
US20040249885A1 (en) 2001-07-13 2004-12-09 Lykourgos Petropoulakis Generic object-based resource-sharing interface for distance co-operation
US20030023670A1 (en) 2001-07-24 2003-01-30 Steve Walrath System and method for client-server networked applications
US20130117474A1 (en) 2001-08-24 2013-05-09 Jasmin Ajanovic General input/output architecture, protocol and related methods to implement flow control
US20030120762A1 (en) 2001-08-28 2003-06-26 Clickmarks, Inc. System, method and computer program product for pattern replay using state recognition
US20030055893A1 (en) 2001-09-14 2003-03-20 Yuichi Sato Collaboration method, system, program and record medium
US20030065738A1 (en) 2001-10-01 2003-04-03 Thumb Logic, Inc. Wireless information systems and methods
US7167893B1 (en) 2001-10-03 2007-01-23 Bellsouth Intellectual Property Corp. Methods and systems for processing a plurality of errors
WO2003032569A1 (en) 2001-10-09 2003-04-17 Nokia Corporation A method of server initiated synchronization in a synchronization system where the request message from the server has a maximum size
RU2298287C2 (en) 2001-10-09 2007-04-27 Нокиа Корпорейшн Method for performing server-initiated synchronization in synchronization system, where request message from server has maximal size
US20030149941A1 (en) 2001-11-09 2003-08-07 Tsao Sheng A. Integrated data processing system with links
US7174504B2 (en) 2001-11-09 2007-02-06 Wuxi Evermore Software, Inc. Integrated data processing system with links
US7149761B2 (en) 2001-11-13 2006-12-12 Tadpole Technology Plc System and method for managing the synchronization of replicated version-managed databases
US20030120324A1 (en) 2001-12-26 2003-06-26 Osborn Brett A. System and method for remote programming of a medical device
US7246063B2 (en) 2002-02-15 2007-07-17 Sap Aktiengesellschaft Adapting a user interface for voice control
US20030163514A1 (en) 2002-02-22 2003-08-28 Brandfact, Inc. Methods and systems for integrating dynamic polling mechanisms into software applications
US20040106916A1 (en) 2002-03-06 2004-06-03 Z-Kat, Inc. Guidance system and method for surgical procedures with improved feedback
US20030184584A1 (en) 2002-03-29 2003-10-02 Thomas Vachuska User interface framework for integrating user interface elements of independent software components
JP2005521946A (en) 2002-04-02 2005-07-21 ノキア コーポレイション Method and apparatus for synchronizing with respect to techniques for storing data in different data storage units
JP4405812B2 (en) 2002-04-02 2010-01-27 ノキア コーポレイション Method and apparatus for synchronizing between a first data storage unit and a second data storage unit
WO2003083684A1 (en) 2002-04-02 2003-10-09 Nokia Corporation Method and apparatus for synchronizing how data is stored in different data stores
US7941488B2 (en) 2002-07-26 2011-05-10 International Business Machines Corporation Authorizing message publication to a group of subscribing clients via a publish/subscribe service
US20040039742A1 (en) 2002-08-22 2004-02-26 International Business Machines Corporation Database enabled messaging facility
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US20060031377A1 (en) 2002-10-04 2006-02-09 International Business Machines Corporation Method and apparatus for enabling associated portlets of a web portlet to collaborate for synchronized content display
US20040068516A1 (en) 2002-10-04 2004-04-08 Chung-I Lee System and method for synchronizing files in multiple nodes
US20050005024A1 (en) 2002-10-30 2005-01-06 Allen Samuels Method of determining path maximum transmission unit
EP1422901A1 (en) 2002-11-22 2004-05-26 Sun Microsystems, Inc. Client driven synchronization of file and folder content in web publishing
US20060026006A1 (en) 2002-12-04 2006-02-02 Hindle Guy P Synchronization method
US20060265689A1 (en) 2002-12-24 2006-11-23 Eugene Kuznetsov Methods and apparatus for processing markup language messages in a network
US20040153525A1 (en) 2003-01-31 2004-08-05 3Com Corporation System and method for control of packet data serving node selection in a mobile internet protocol network
US20040162876A1 (en) 2003-02-14 2004-08-19 Whale Communications Ltd. System and method for providing conditional access to server-based applications from remote access devices
US20040183827A1 (en) 2003-03-17 2004-09-23 Daniel Putterman Methods and apparatus for implementing a remote application over a network
JP2004287758A (en) 2003-03-20 2004-10-14 Nec Corp Web application integration method/program/storage medium, and portal server
US20060231175A1 (en) 2003-04-04 2006-10-19 Hans Vondracek Method for thermomechanical treatment of steel
US20040243919A1 (en) 2003-04-04 2004-12-02 David Darian Muresan Synchronized processing of views and drawing tools in a multiple document interface application
US7418711B1 (en) 2003-04-28 2008-08-26 Sprint Communications Company L.P. Messaging bridge that facilitates communication with a mainframe environment
US20040236633A1 (en) 2003-05-05 2004-11-25 Knauerhase Robert C. Management and arbitration of mobile service discovery
RU2305860C2 (en) 2003-05-09 2007-09-10 Майкрософт Корпорейшн System for providing hosting to objects of graphical composition or representation
US20050021687A1 (en) 2003-07-03 2005-01-27 Microsoft Corporation Remote computer graphics performance testing
JP2005031807A (en) 2003-07-08 2005-02-03 Toshiba Corp Data updating method in data processing system and data processing system
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US20050050229A1 (en) 2003-08-26 2005-03-03 International Business Machines Corporation Method and system for synchronizing a client user interface with a server backend
US7647370B1 (en) 2003-10-24 2010-01-12 Verizon Data Services Llc Screen scraping interface
US20050138631A1 (en) 2003-12-17 2005-06-23 Victoria Bellotti System and method for providing metadata interaction and visualization with task-related objects
US7706399B2 (en) 2003-12-19 2010-04-27 Intel Corporation Polling in wireless networks
US20050198578A1 (en) 2004-01-15 2005-09-08 Maneesh Agrawala System and process for controlling a shared display given inputs from multiple users using multiple input modalities
US20050188313A1 (en) 2004-02-20 2005-08-25 Microsoft Corporation User interface transition
US7966572B2 (en) 2004-02-20 2011-06-21 Microsoft Corporation User interface transition
US20050190203A1 (en) 2004-02-27 2005-09-01 Gery Ron O. Method and apparatus for enabling application program compatibility with display devices having improved pixel density
US20050240906A1 (en) 2004-04-22 2005-10-27 Permeo Technologies, Inc. System and method for remote application process control
US20060085835A1 (en) 2004-04-30 2006-04-20 Vulcan Inc. Network-accessible control of one or more media devices
US20060031481A1 (en) 2004-05-21 2006-02-09 Bea Systems, Inc. Service oriented architecture with monitoring
US20060036770A1 (en) 2004-07-30 2006-02-16 International Business Machines Corporation System for factoring synchronization strategies from multimodal programming model runtimes
US7703024B2 (en) 2004-08-31 2010-04-20 Sap Ag Obtaining a graphical user interface to access a remote computing system
US7240162B2 (en) 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
US20060101397A1 (en) 2004-10-29 2006-05-11 Microsoft Corporation Pseudo-random test case generator for XML APIs
US8359591B2 (en) 2004-11-13 2013-01-22 Streamtheory, Inc. Streaming from a media device
US20060130069A1 (en) 2004-12-10 2006-06-15 Microsoft Corporation Reliably transferring queued application messages
US20060236328A1 (en) 2004-12-10 2006-10-19 Siemens Medical Solutions Usa, Inc. Integrated graphical user interface server for use with multiple client applications
US20140240524A1 (en) 2005-01-03 2014-08-28 Qualcomm Incorporated System and method for remotely monitoring and/or viewing images from a camera or video device
US8527706B2 (en) 2005-03-23 2013-09-03 Numecent Holdings, Inc. Opportunistic block transmission with time constraints
US20060258462A1 (en) 2005-04-12 2006-11-16 Long Cheng System and method of seamless game world based on server/client
US7921078B2 (en) 2005-04-20 2011-04-05 Sony Online Entertainment Llc System for negotiated differential compression
US20060288171A1 (en) 2005-06-20 2006-12-21 Benjamin Tsien Buffer allocation for split data messages
US20060294418A1 (en) 2005-06-22 2006-12-28 Tele Atlas North America, Inc. System and method for automatically executing corresponding operations on multiple maps, windows, documents, and/or databases
US20070024645A1 (en) 2005-07-12 2007-02-01 Siemens Medical Solutions Health Services Corporation Multiple Application and Multiple Monitor User Interface Image Format Selection System for Medical and Other Applications
US8627081B2 (en) 2005-07-14 2014-01-07 Conax As Multimedia data protection
US20110157196A1 (en) 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
US20070047535A1 (en) 2005-08-31 2007-03-01 Intel Corporation Switching device utilizing flow-control management
US20070079244A1 (en) 2005-09-12 2007-04-05 Microsoft Corporation Remoting redirection layer for graphics device interface
US20070067754A1 (en) 2005-09-20 2007-03-22 Microsoft Corporation Server application state
JP2007084744A (en) 2005-09-26 2007-04-05 Sekisui Plastics Co Ltd Styrene-based resin expandable beads and method for producing the same, and styrene-based resin expansion molded form
US20070112880A1 (en) 2005-11-14 2007-05-17 Lie Yang Data synchronization and device handling
US20070120763A1 (en) 2005-11-23 2007-05-31 Lode De Paepe Display system for viewing multiple video signals
US20070130292A1 (en) 2005-12-01 2007-06-07 Yoav Tzruya System, method and computer program product for dynamically enhancing an application executing on a computing device
US20070136677A1 (en) 2005-12-08 2007-06-14 Amit Agarwal Methods and apparatus for displaying information
US20070282951A1 (en) 2006-02-10 2007-12-06 Selimis Nikolas A Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
US20070203999A1 (en) 2006-02-24 2007-08-30 Townsley William M Techniques for replacing point to point protocol with dynamic host configuration protocol
US20070203944A1 (en) 2006-02-28 2007-08-30 International Business Machines Corporation Web services database cluster architecture
US20070208718A1 (en) 2006-03-03 2007-09-06 Sasha Javid Method for providing web-based program guide for multimedia content
US20070256073A1 (en) 2006-03-14 2007-11-01 University Of Utah Research Foundation Extendable framework for distributed applications and data
RU2295752C1 (en) 2006-03-20 2007-03-20 Закрытое акционерное общество "1С Акционерное общество" Method for controlling synchronization of software updates
US7620901B2 (en) 2006-03-21 2009-11-17 Microsoft Corporation Simultaneous input across multiple applications
US20070226636A1 (en) 2006-03-21 2007-09-27 Microsoft Corporation Simultaneous input across multiple applications
US20070244990A1 (en) 2006-04-03 2007-10-18 National Instruments Corporation Web browser graph user interface element with rich interactive capabilities
US20080016155A1 (en) 2006-07-11 2008-01-17 Igor Khalatian One-Click Universal Screen Sharing
US7650444B2 (en) 2006-09-28 2010-01-19 Digi International, Inc. Systems and methods for remotely managing an application-specific display device
JP2008099055A (en) 2006-10-13 2008-04-24 Advanced Telecommunication Research Institute International Communication apparatus controlling load and communication network comprising the same
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
US20080134211A1 (en) 2006-12-04 2008-06-05 Sap Ag Method and apparatus for application state synchronization
US20080146194A1 (en) 2006-12-15 2008-06-19 Yahoo! Inc. Automatic data back up and account creation
US7831919B1 (en) 2006-12-18 2010-11-09 Symantec Corporation Generic web service frontend
US20080159175A1 (en) 2006-12-29 2008-07-03 Aol Llc Intelligent management of application connectivity
US20080183190A1 (en) 2007-01-25 2008-07-31 Warsaw Orthopedic, Inc. Integrated surgical navigational and neuromonitoring system having automated surgical assistance and control
US8924512B2 (en) 2007-06-15 2014-12-30 Microsoft Corporation Extensible remote display infrastructure with dynamic virtual channels
US20100205147A1 (en) 2007-07-02 2010-08-12 British Telecommunications Public Limited Company Data communications system
US20090044171A1 (en) 2007-07-12 2009-02-12 The Mathworks, Inc. Continuous time mode-driven simulations in a graphical modeling environment
US20120133675A1 (en) 2007-09-24 2012-05-31 Microsoft Corporation Remote user interface updates using difference and motion encoding
US20090080523A1 (en) 2007-09-24 2009-03-26 Microsoft Corporation Remote user interface updates using difference and motion encoding
US20090089742A1 (en) 2007-09-28 2009-04-02 Verizon Data Services Inc. Generic xml screen scraping
US8832260B2 (en) 2007-10-05 2014-09-09 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
US20090119644A1 (en) 2007-11-07 2009-05-07 Endeavors Technologies, Inc. Deriving component statistics for a stream enabled application
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US20120221792A1 (en) 2007-11-07 2012-08-30 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
US20100223661A1 (en) 2007-11-16 2010-09-02 Huawei Technologies Co., Ltd. Method, system, and apparatus for processing access prompt information
US8606952B2 (en) 2008-01-15 2013-12-10 International Business Machines Corporation Method and system for optimizing bandwidth usage in remote visualization
US20090209239A1 (en) 2008-02-18 2009-08-20 Movidilo S.L. Self-service application platform for wireless devices
US20090217177A1 (en) 2008-02-27 2009-08-27 Cisco Technology, Inc. Multi-party virtual desktop
US20110246891A1 (en) 2008-05-13 2011-10-06 Apple Inc. Pushing a Graphical User Interface to a Remote Device with Display Rules Provided by the Remote Device
US20110145863A1 (en) 2008-05-13 2011-06-16 Apple Inc. Pushing a graphical user interface to a remote device with display rules provided by the remote device
US20090328032A1 (en) 2008-06-27 2009-12-31 Microsoft Corporation Projecting software and data onto client
US8910112B2 (en) 2008-07-30 2014-12-09 Sap Ag Extended enterprise connector framework using direct web remoting (DWR)
US20100061238A1 (en) 2008-09-11 2010-03-11 Avanindra Godbole Methods and apparatus for flow control associated with multi-staged queues
US20100077058A1 (en) 2008-09-19 2010-03-25 Samsung Electronics Co., Ltd. Sending a remote user interface
US20110223882A1 (en) 2008-11-19 2011-09-15 Nokia Siemens Networks Oy Methods, apparatuses, system and related computer program product for charging of always-on connections
US20100131591A1 (en) 2008-11-26 2010-05-27 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
WO2010060206A1 (en) 2008-11-26 2010-06-03 Calgary Scientific Inc. Method and system for providing remote access to a state of an application program
US20100150031A1 (en) 2008-12-16 2010-06-17 Microsoft Corporation Multiplexed communication for duplex applications
US20100174773A1 (en) 2009-01-08 2010-07-08 Microsoft Corporation Synchronizing presentation states between multiple applications
CN101539932A (en) 2009-01-21 2009-09-23 北京跳网无限科技发展有限公司 Synchronization access technology of transforming web page
US20100223566A1 (en) 2009-02-03 2010-09-02 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
WO2010088768A1 (en) 2009-02-03 2010-08-12 Calgary Scientific Inc. Simultaneously interacting with plurality of application programs.
JP2010238126A (en) 2009-03-31 2010-10-21 Nec Personal Products Co Ltd Server client system, server, terminal, control method, and program
US20150067035A1 (en) 2009-04-15 2015-03-05 Roshan Sullad Method and apparatus for extending capabilities of a virtualization domain to support features available in a normal desktop application
US20100268813A1 (en) 2009-04-15 2010-10-21 Wyse Technology Inc. System and method for handling remote drawing commands
US20100268762A1 (en) 2009-04-15 2010-10-21 Wyse Technology Inc. System and method for scrolling a remote application
JP2010256972A (en) 2009-04-21 2010-11-11 Digital Electronics Corp Server device, server-client system, server program and recording medium recording the server program
WO2010127327A1 (en) 2009-05-01 2010-11-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US8356252B2 (en) 2009-09-02 2013-01-15 Synchronoss Technologies, Inc. System and method for providing a computer display form layout
US20120154633A1 (en) 2009-12-04 2012-06-21 Rodriguez Tony F Linked Data Methods and Systems
US20110138283A1 (en) 2009-12-07 2011-06-09 International Business Machines Corporation Composite copy and paste for composite user interfaces
US20110162062A1 (en) 2009-12-28 2011-06-30 Arkesh Kumar Systems and methods for a vpn ica proxy on a multi-core system
WO2011087545A1 (en) 2010-01-13 2011-07-21 Alibaba Group Holding Limited Method, apparatus and system for gathering e-commerce website information
CN102129632A (en) 2010-01-13 2011-07-20 阿里巴巴集团控股有限公司 Method, device and system for capturing webpage information
US20110184993A1 (en) 2010-01-27 2011-07-28 Vmware, Inc. Independent Access to Virtual Machine Desktop Content
US20110213830A1 (en) 2010-02-26 2011-09-01 Lopez Kermit D Cloud-based intellectual property and legal docketing system and method with data management modules
US20110222442A1 (en) 2010-03-10 2011-09-15 Microsoft Corporation Routing requests for duplex applications
US20110252152A1 (en) 2010-04-09 2011-10-13 Marcus Sherry Reliable messaging system and method
CN101883097A (en) 2010-06-03 2010-11-10 青岛海信宽带多媒体技术有限公司 Method and device for realizing that server equipment shares screen of client equipment
US20110314093A1 (en) 2010-06-22 2011-12-22 Philip Sheu Remote Server Environment
US8667054B2 (en) 2010-07-12 2014-03-04 Opus Medicus, Inc. Systems and methods for networked, in-context, composed, high resolution image viewing
US20120030275A1 (en) 2010-07-29 2012-02-02 Sap Ag Providing status information for components in a distributed landscape
US8533103B1 (en) 2010-09-14 2013-09-10 Amazon Technologies, Inc. Maintaining latency guarantees for shared resources
US20120084713A1 (en) 2010-10-05 2012-04-05 Citrix Systems, Inc. Providing User Interfaces and Window Previews for Hosted Applications
US20120090004A1 (en) 2010-10-08 2012-04-12 Jeong Young Ho Display apparatus and method for controlling the display apparatus
US20120324032A1 (en) 2010-10-13 2012-12-20 Google Inc. Continuous application execution between multiple devices
US8607158B2 (en) 2010-12-09 2013-12-10 International Business Machines Corporation Content presentation in remote monitoring sessions for information technology systems
US20120151373A1 (en) 2010-12-10 2012-06-14 Wyse Technology Inc. Methods and systems for a remote desktop session utilizing a http handler and a remote desktop client common interface
US20150026338A1 (en) 2011-01-04 2015-01-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
US20120226742A1 (en) 2011-03-03 2012-09-06 Citrix Systems Inc. Transparent User Interface Integration Between Local and Remote Computing Environments
US20130031618A1 (en) 2011-03-03 2013-01-31 Citrix Systems Inc. Reverse Seamless Integration Between Local and Remote Computing Environments
WO2012127308A1 (en) 2011-03-21 2012-09-27 Calgary Scientific Inc. Method and system for providing a state model of an application program
US20120245918A1 (en) 2011-03-21 2012-09-27 Amazon Technologies, Inc. Remotely emulating computing devices
US20150163292A1 (en) 2011-03-21 2015-06-11 Calgary Scientific Inc. Method and system for providing a state model of an application program
US20120246225A1 (en) 2011-03-21 2012-09-27 Calgary Scientific Inc. Method and system for providing a state model of an application program
US20120296959A1 (en) 2011-05-20 2012-11-22 Citrix Systems, Inc. Shell Integration for an Application Executing Remotely on a Server
US20120324358A1 (en) 2011-06-16 2012-12-20 Vmware, Inc. Delivery of a user interface using hypertext transfer protocol
US20130007227A1 (en) 2011-06-28 2013-01-03 Hitomi Arthur S Local streaming proxy server
US8572178B1 (en) 2011-07-01 2013-10-29 Amazon Technologies, Inc. Executing applications in remotely emulated computing devices
US20130013671A1 (en) 2011-07-08 2013-01-10 Rohan Relan System and method for providing interactive content to non-native application environments
WO2013024343A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Non-invasive remote access to an application program
US20130046815A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Non-invasive remote access to an application program
US20130046816A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Method for Flow Control and Reliable Communication In A Collaborative Environment
WO2013024342A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Method for flow control and for reliable communication in a collaborative environment
US20140214925A1 (en) 2011-08-15 2014-07-31 Calgary Scientific, Inc. Remote access to an application program
US20130290856A1 (en) 2011-08-25 2013-10-31 Vmware, Inc. User Interface Virtualization for Remote Devices
US20130054679A1 (en) 2011-08-29 2013-02-28 Vmware, Inc. Sharing remote sessions of a user interface and/or graphics of a computer
US20130070740A1 (en) 2011-09-19 2013-03-21 Microsoft Corporation Remote access to a mobile communication device over a wireless local area network (wlan)
US20130086652A1 (en) 2011-09-30 2013-04-04 Oracle International Corporation Session sharing in secure web service conversations
US20130086156A1 (en) * 2011-09-30 2013-04-04 Calgary Scientific Inc. Coupled application extensions for collaborative remote application sharing
US20130113833A1 (en) 2011-11-08 2013-05-09 Alexander Larsson Method and system for rendering images in a remote web browser
US20130138791A1 (en) 2011-11-11 2013-05-30 Calgary Scientific Inc. Session transfer and suspension in a remote access application framework
US20130132485A1 (en) * 2011-11-23 2013-05-23 Calgary Scientific Inc. Methods and systems for collaborative remote application sharing and conferencing
US20130147845A1 (en) 2011-12-13 2013-06-13 Tao Xie Photo Selection for Mobile Devices
US20130159062A1 (en) 2011-12-14 2013-06-20 Sap Ag Process-driven composite application architecture
WO2013109984A1 (en) 2012-01-18 2013-07-25 Numecent Holdings, Inc. Application streaming and execution for localized clients
US20130212483A1 (en) 2012-02-10 2013-08-15 Nokia Corporation Apparatus and method for providing for remote user interaction
WO2013128284A1 (en) 2012-03-02 2013-09-06 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US20130262566A1 (en) 2012-03-02 2013-10-03 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (dll) injection
US20130290408A1 (en) 2012-04-11 2013-10-31 Calgary Scientific Inc. Remoting graphical components through a tiered remote access architecture
WO2013153439A1 (en) 2012-04-11 2013-10-17 Calgary Scientific Inc. Remoting graphical components through a tiered remote access architecture
US20130346482A1 (en) 2012-06-21 2013-12-26 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
CN102821413A (en) 2012-07-31 2012-12-12 华为技术有限公司 Data transmission method and network side equipment
US9239812B1 (en) 2012-08-08 2016-01-19 hopTo Inc. System for and method of providing a universal I/O command translation framework in an application publishing environment
US20150067769A1 (en) 2012-10-15 2015-03-05 Citrix Systems, Inc. Providing Virtualized Private Network Tunnels
US20140136667A1 (en) 2012-11-13 2014-05-15 Aetherpal Inc. Virtual mobile management for device simulation
US20140241229A1 (en) 2013-02-25 2014-08-28 Expway eMBMS Over LAN
US20140298420A1 (en) 2013-03-29 2014-10-02 Citrix Systems, Inc. Validating the Identity of a Mobile Application for Mobile Application Management
US20150081764A1 (en) 2013-09-13 2015-03-19 Curious Olive, Inc. Remote Virtualization of Mobile Apps
US20150156133A1 (en) 2013-11-29 2015-06-04 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
WO2015080845A1 (en) 2013-11-29 2015-06-04 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US9686205B2 (en) 2013-11-29 2017-06-20 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US20150319252A1 (en) 2014-05-05 2015-11-05 Citrix Systems, Inc. Application customization
US20160226979A1 (en) 2015-01-30 2016-08-04 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework

Non-Patent Citations (32)

* Cited by examiner, † Cited by third party
Title
"GTK 3, Broadway and an HTML5 websocket gui, for free," retrieved on Sep. 26, 2017 at http://compsci.ca/v3/viewtopic.php?t=36823, Apr. 12, 2014, pp. 1-3.
Coffman, Daniel, et al., "A Client-Server Architecture for State-Dependent Dynamic Visualizations on the Web," IBM T.J. Watson Research Center, 2010, 10 pages.
European Search Report, dated Jul. 5, 2012, received in connection with European Patent Application No. 10738183.2.
European Search Report, dated Jun. 2, 2014, received in connection with European Patent Application No. 12760310.8.
European Search Report, dated Mar. 3, 2015, received in connection with European Patent Application No. 09828497.9.
European Search Report, dated Sep. 1, 2015, received in connection with European Patent Application No. 12824077.7.
European Search Report, dated Sep. 1, 2015, received in connection with European Patent Application No. 12824363.1.
Fraser, N., "Differential Synchronization," Google, Mountain View, CA, Jan. 2009, 8 pages.
International Preliminary Report on Patentability and Written Opinion, dated Aug. 9, 2011, received in connection with International Patent Application No. PCT/CA2010/000154.
International Preliminary Report on Patentability and Written Opinion, dated Feb. 18, 2014, received in connection with International Patent Application No. PCT/IB2012/001589.
International Preliminary Report on Patentability and Written Opinion, dated Feb. 18, 2014, received in connection with International Patent Application No. PCT/IB2012/001590.
International Preliminary Report on Patentability and Written Opinion, dated May 31, 2011, received in connection with International Patent Application No. PCT/CA2009/001704.
International Preliminary Report on Patentability and Written Opinion, dated Oct. 14, 2014, received in connection with International Patent Application No. PCT/IB2013/000676.
International Preliminary Report on Patentability and Written Opinion, dated Sep. 2, 2014, received in connection with International Patent Application No. PCT/IB2013/000720.
International Preliminary Report on Patentability and Written Opinion, dated Sep. 24, 2013, received in connection with International Patent Application No. PCT/IB2012/000562.
International Search Report and Written Opinion, dated Aug. 21, 2013, received in connection with International Patent Application No. PCT/IB2013/000676.
International Search Report and Written Opinion, dated Jul. 31, 2012, received in connection with International Patent Application No. PCT/IB2012/000562.
International Search Report and Written Opinion, dated Jul. 31, 2013, received in connection with International Patent Application No. PCT/IB2013/000720.
International Search Report and Written Opinion, dated Jun. 30, 2016, received in connection with International Patent Application No. PCT/IB2016/000277.
International Search Report and Written Opinion, dated Mar. 19, 2015, received in connection with International Patent Application No. PCT/US2014/064243.
International Search Report, dated Dec. 20, 2012, received in connection with International Patent Application No. PCT/IB2012/001589.
International Search Report, dated Dec. 28, 2012, received in connection with International Patent Application No. PCT/IB2012/001590.
International Search Report, dated Feb. 19, 2010, received in connection with International Patent Application No. PCT/CA2009/001704.
International Search Report, dated May 12, 2010, received in connection with International Patent Application No. PCT/CA2010/000154.
Jourdain, Sebastien, et al., "ParaViewWeb: A Web Framework for 3D Visualization and Data Processing," International Journal of Computer Information Systems and Industrial Management Applications, vol. 3, 2011, pp. 870-877.
Microsoft Computer Dictionary, Microsoft Press, 5th Edition, Mar. 15, 2002, p. 624.
Mitchell, J. Ross, et al., A Smartphone Client-Server Teleradiology System for Primary Diagnosis of Acute Stroke, Journal of Medical Internet Research, vol. 13, Issue 2, 2011, 12 pages.
ParaViewWeb, KitwarePublic, retrieved on Jan. 27, 2014 from http://www.paraview.org/Wiki/ParaViewWeb, 1 page.
Remote Desktop Protocol (RDP), retrieved on May 4, 2014 from http://en.wikipedia.org/wiki/Remote_Desktop_Protocol, 7 pages.
Remote Desktop Services (RDS), Remote App, retrieved on May 4, 2014 from http://en.wikipedia.org/wiki/Remote_Desktop_Services, 9 pages.
Remote Desktop Services (RDS), Windows Desktop Sharing, retrieved on May 4, 2014 from http://en.wikipedia.org/wiki/Remote_Desktop_Services, 9 pages.
Search Report and Written Opinion, dated Nov. 16, 2015, received in connection with SG Application No. 2013087150.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11693850B1 (en) * 2020-10-19 2023-07-04 Splunk Inc. Rendering a service graph to illustrate page provider dependencies at an aggregate level
US11693761B1 (en) 2020-10-19 2023-07-04 Splunk Inc. Rendering a service graph to illustrate page provider dependencies

Also Published As

Publication number Publication date
US20160054897A1 (en) 2016-02-25

Similar Documents

Publication Publication Date Title
US10055105B2 (en) Method and system for enabling interaction with a plurality of applications using a single user interface
US20210210179A1 (en) Evolving contextual clinical data engine for medical information
US10764289B2 (en) Cross-enterprise workflow
US20100223566A1 (en) Method and system for enabling interaction with a plurality of applications using a single user interface
JP6275876B2 (en) An evolutionary contextual clinical data engine for medical data processing
US20150091778A1 (en) Medical image display system and method
US20120166174A1 (en) Context sensitive language assistant
US11404160B2 (en) Method and system for managing and editing data of a medical device
US20100131890A1 (en) Zero pixel travel systems and methods of use
US20150178447A1 (en) Method and system for integrating medical imaging systems and e-clinical systems
US20180004897A1 (en) Ris/pacs integration systems and methods
Qiao et al. Medical high-resolution image sharing and electronic whiteboard system: A pure-web-based system for accessing and discussing lossless original images in telemedicine
JP6931174B2 (en) Display control device, its control method, and program
Gutman et al. Web based tools for visualizing imaging data and development of XNATView, a zero footprint image viewer
JP6938232B2 (en) Information processing equipment, information processing methods and programs
JP2017118913A (en) Information processing device, control method and program thereof, server, control method and program thereof, information processing system, and control method and program thereof
Yepes-Calderon et al. Improving the picture archiving and communication system: towards one-click clinical quantifying applications
Balkman et al. A cloud-based multimodality case file for mobile devices
Li et al. Large scale medical image online three-dimensional reconstruction based on WebGL using four tier client server architecture
JP2018089009A (en) Image display device, control method thereof, and program
US20210158938A1 (en) Enhanced Enterprise Image Reading with Search and Direct Streaming
US20240021318A1 (en) System and method for medical imaging using virtual reality
US20210125704A1 (en) Techniques for displaying medical image data
US10163181B2 (en) Method and system for joint evaluation of a medical image dataset
Cathy Menkiena et al. EHRs: What’s Next?

Legal Events

Date Code Title Description
AS Assignment

Owner name: CALGARY SCIENTIFIC INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOLMES, COLIN JOHN;THOMAS, MONROE MILAS;LEHMANN, GLEN;AND OTHERS;SIGNING DATES FROM 20151123 TO 20160720;REEL/FRAME:040500/0717

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20220821