US20130346482A1 - Method and system for providing synchronized views of multiple applications for display on a remote computing device - Google Patents
Method and system for providing synchronized views of multiple applications for display on a remote computing device Download PDFInfo
- Publication number
- US20130346482A1 US20130346482A1 US13/922,744 US201313922744A US2013346482A1 US 20130346482 A1 US20130346482 A1 US 20130346482A1 US 201313922744 A US201313922744 A US 201313922744A US 2013346482 A1 US2013346482 A1 US 2013346482A1
- Authority
- US
- United States
- Prior art keywords
- plural
- remote access
- server
- client
- presentation data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000001360 synchronised effect Effects 0.000 title description 7
- 230000006854 communication Effects 0.000 claims abstract description 58
- 238000004891 communication Methods 0.000 claims abstract description 58
- 230000003993 interaction Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims 4
- 241001522296 Erithacus rubecula Species 0.000 claims 1
- 239000000872 buffer Substances 0.000 claims 1
- 238000004513 sizing Methods 0.000 claims 1
- 238000003384 imaging method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000002059 diagnostic imaging Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 210000003484 anatomy Anatomy 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
Images
Classifications
-
- H04L67/42—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
Definitions
- computer networks may provide remote access to data for display on a computing device, and in particular to remote synchronized views of multiple datasets provided by applications on different server instances.
- a medical practitioner such as a surgeon working at a first hospital, may want to compare medical imaging data, such as, for example, MRI data or CT Scan data of a patient captured at the first hospital with imaging data of the patient that have been previously captured at a second hospital or medical imaging facility.
- medical imaging data such as, for example, MRI data or CT Scan data of a patient captured at the first hospital
- imaging data of the patient that have been previously captured at a second hospital or medical imaging facility may be used in a medical repository.
- wireless handheld devices such as, for example, IPHONE, ANDROID, and IPAD has rapidly increased over the last couple of years to the extent that now nearly every professional owns at least one wireless handheld device.
- wireless mobile technology enables use of small wireless handheld devices to access the Internet and download various forms of image data files for display thereon.
- synchronization of the views between multiple remotely accessed application programs involves bidirectional client-server communications and multiple synchronization steps.
- each synchronization step requires a round trip through the client, thus placing constraints on the uplink communication bandwidth available at the wireless client device and requiring additional time for the round trip to complete.
- a method and system for providing remote access to data for display on a computing device such as a mobile device via a computer network is provided.
- the method and system provide substantially simultaneous remote access to data stored in different locations for synchronized display on a wireless handheld device via a wireless computer network.
- An out-of-band communication mechanism is provided to enable application programs associated with the data to communicate with each other without the need to communicate via a round trip through the client.
- the method may include providing at least one server remote access program on each the plural server computers, each of the plural server remote access programs being in communication with a respective one of plural application programs; providing at least one remote connection to a client remote access program executing on a client computer, the client remote access program communicating with the at least one server remote access program over the at least one remote connection to enable access to the plural application programs; providing a communication connection between the plural server computers to synchronize the state among the plural server computers; communicating presentation data representing a change in a state of at least one of the plural application programs to the client remote access program; and displaying the presentation data at the client computer.
- an apparatus for providing remote access to a plurality of application programs executing on plural server computers may include a first server having a first memory and a first processor, the first server executing a first server remote access program on the first processor that is in communication with a first application program; and a second server having a second memory and a second processor, the second server executing a second server remote access program on the second processor that is in communication with a second application program.
- a communication connection may be provided between the first server and the second server to synchronize a state between the first server and the second server, wherein presentation data representing a change in the state of at least one of the first application program and the second application program is communicated to a client remote access program associated with a client computer in remote communication with the first server remote access program and the second sever remote access program, and wherein the client computer displays the presentation data on a display associated with at the client computer.
- a method of providing remote access to a plurality of application programs executing on plural server computers may include providing a server remote access program on each of the plural server computers, each server remote access program being in communication with a respective one of plural application programs; synchronizing, among the plural server computers, presentation data associated with each the plurality of application programs; communicating the presentation data associated with the plurality of application programs to a client remote access program executing on a client computing device; determining display data to be displayed at the computing device in accordance with the presentation data; and simultaneously displaying the presentation data to display a view of the plural application programs.
- FIG. 1 illustrates an example of a display for displaying a first and the second presentation data in a single user interface
- FIG. 2 is a simplified block diagram of a system for providing remote access to data for display on a mobile device via a computer network;
- FIG. 3 is a simplified block diagram illustrating communication of a client computer with a first server computer and a second server computer of the system shown in FIG. 2 ;
- FIG. 4 illustrates an operational flow diagram of the processes that are performed in accordance with the present disclosure
- FIG. 5 illustrates additional aspects of the system of FIGS. 2 and 3 ;
- FIG. 6 shows an exemplary computing environment in which example aspects of the present disclosure may be implemented.
- FIG. 1 illustrates an example single user interface 100 for displaying first and second presentation data 110 A, 110 B associated with a first and second server, respectively.
- the single user interface 100 may be displayed by a client computer and comprises two image display fields 106 and 108 for simultaneously displaying the first and the second presentation data 110 A, 110 B, for example, in a side by side fashion.
- the multiple-server/single-client remote access model may be used in scenarios where a client device interfaces with two or more applications provided by two or more remote servers.
- the servers may each communicate presentation data to the client that is displayed, for example, in the single user interface 100 .
- Interaction zones 104 may be displayed in an interaction field 102 placed, for example, to the left hand side of the image display field 106 .
- Other display options include placing: the image display fields 106 and 108 on top of each other; the interaction field in different locations on the screen; the interaction zones in a plurality of different locations on the screen.
- the user of the client computer may be enabled to place the various fields and/or interaction zones using, for example, drag and drop technology.
- a system 200 for providing remote access to data for display on a mobile device via a computer network wherein synchronization of presentation data 110 A, 110 B between server computers is performed using an out-of-band communication path.
- the system 200 comprises a client computer 212 , such as wireless handheld device such as, for example, an IPHONE 212 (or other any other mobile device) connected via a communication network 210 such as, for example, the Internet, to a first server computer 202 A and a second server computer 202 B.
- client computers may be connected to the communication network 210 , such as desktop computers, laptop/notebook computers, thin client devices, tablet computers, virtual computers, etc., that are either wired or wirelessly connected to the communication network 210 .
- the connections to the communication network 210 may be any type of connection, for example, Wi-Fi (IEEE 802.11x), WiMax (IEEE 802.16), Ethernet, 3G, 4G, etc.
- the server computers 202 A, 202 B and the client computer 212 may be implemented using hardware such as that shown in the general purpose computing device of FIG. 6 .
- the first server computer 202 A may be connected to a Local Area Network (LAN) 209 at, e.g., a first hospital while the second server computer 202 B may be connected to the LAN 209 or a second LAN (not shown) of, e.g., a second hospital.
- Imaging data such as, for example, MRI imaging data, CT Scan imaging data and X-ray imaging data captured at the first hospital may be stored in a database 208 connected to the LAN 209 .
- information may be stored in a database connected to the LAN 209 or a separate LAN of the second hospital.
- the LANs may be omitted and the first and the second server computer 202 A, 202 B may be directly connected to the computer network 210 with the databases being directly connected to the respective first and second server computers 202 A, 202 B.
- communication paths 222 , 224 and 226 may be provided between the first and second server computer 202 A and 202 B to synchronize presentation data 110 A and 110 B.
- the paths may be used by applications executing on the server computers 202 A and 202 B to present synchronized views when their only link is the common client application (e.g., the client application presenting user interface 100 ).
- the client may be displaying entire views from each application (e.g. comparison viewing of medical imagery) or only small components thereof (e.g. text fields from disparate database viewers united using recombination).
- the server computers 202 A and 202 B may execute an electronic Picture Archiving and Communication System (PACS) using the Digital Imaging and Communications in Medicine (DICOM) format for storage and transfer.
- PACS Picture Archiving and Communication System
- DICOM Digital Imaging and Communications in Medicine
- the PACS is illustrated as application programs 207 A and 207 B, respectively.
- the DICOM format is substantially unsuitable for providing remote access thereto and for displaying the same on a wireless handheld device.
- the PACS or other image retrieval or image processing applications are performed, for example, by executing on the processors 204 A and 204 B executable commands of the respective application programs 207 A and 207 B stored in memory 206 A and 206 B of the server computers 202 A and 202 B.
- the application programs 207 A and 207 B may be type of application program and are not limited to image retrieval or image processing application programs.
- access to data using, for example, the handheld wireless device 212 is enabled by executing: a first server remote access program 211 A on the processor 204 A of the first server computer 202 A; a second server remote access program 211 B on the processor 204 B of the second server computer 202 B; and a respective client remote access program 221 executed on a processor 218 of the client computer 212 .
- the first and the second server remote access programs 211 A and 211 B may be performed by executing executable commands stored in the memory 206 A and 206 B of the first and the second server computer 202 A and 202 B while the client remote access program 221 is performed by executing executable commands stored in memory 220 of the client computer 212 .
- server remote access program is PUREWEB, available from Calgary Scientific, Inc. of Calgary, Alberta, Canada. While first and the second server remote access programs 211 A and 211 B are illustrated as executing on the same server as their respective application programs 207 A and 207 B, the first and the second server remote access programs 211 A and 211 B and application programs 207 A and 207 B may execute on different servers.
- Communications between the client computer 212 and the first and second server computer 202 A and 202 B is provided as communication between the first and the second server remote access program 211 A and 211 B and the client remote access program 221 via, for example, a wireless computer network.
- the first and the second server remote access program 211 A and 211 B communicate with a respective first and second application program such as, for example, a medical imaging program, such as RESOLUTIONMD, available from Calgary Scientific, Inc. of Calgary, Alberta, Canada.
- the first and the second application programs 207 A and 207 B communicate with the respective databases for retrieving respective first and second image data therefrom.
- the client remote access program 221 communicates with a user interaction program 219 ( FIG.
- a web browser or a native mobile application for displaying data such as, for example, image data and image processing control data; for receiving user input data for interacting with the first and the second application program using, for example, a graphical display with a touch-screen 214 .
- the first and the second server remote access programs and the client remote access program may be implemented using standard programming languages and communication is enabled using standard communication technologies such as, for example, Hyper Text Transfer Protocol (HTTP), virtual private networks (VPN), and secure socket layers (SSL), which are well known to those skilled in the art.
- HTTP Hyper Text Transfer Protocol
- VPN virtual private networks
- SSL secure socket layers
- the first and the second server remote access program 211 A, 211 B receive first and second image data from the first and the second application program 207 A, 207 B, respectively.
- the first and the second server remote access program 211 A, 211 B Upon receipt, the first and the second server remote access program 211 A, 211 B generate first and second presentation data 110 A, 110 B, respectively, of the first and second image data and transmit the same to the client remote access program 221 A, 221 B.
- the presentation data 110 A, 110 B may be provided as part of a state model that describes an application state of the first and second application programs 207 A and 207 B.
- the first and second presentation data 110 A, 110 B may be generated in a fashion according to hardware capabilities of the client computer 212 , for example, in accordance with processing capacity, memory size, type of graphical display, and type of user interface.
- the presentation data 110 A, 110 B may be communicated in a document, such as an XML document that describes an association of logical elements of the application program 207 A, 207 B with corresponding states of the application program, with the logical elements being in a hierarchical order.
- the logical elements may be a screen, a menu, a submenu, a button, etc. that make up the application program user interface.
- This enables the client device, for example, to natively display the logical elements.
- a menu of the application program that is presented on a mobile phone will look like a native menu of the mobile phone.
- the menu of the application program that is presented on desktop computer will look like a native menu of the desktop computer operating system.
- presentation data generated 110 A, 110 B and transmitted for a laptop computer or desktop computer are different from presentation data generated and transmitted for a handheld device such as, for example, an IPHONE.
- Generation of presentation data 110 A, 110 B enables a substantial reduction in the amount of data transmitted for display on the small display of a handheld wireless device, i.e., results in a reduction in bandwidth utilization.
- the generation of presentation data 110 A, 110 B addresses safety or privacy issues related to sensitive data such as medical imaging data by obviating the transmission of the sensitive data from the server computer to the client computer.
- the client computing device 212 may collaboratively interact with the application programs 207 A, 207 B.
- each of the participating devices may present a synchronized view of the application programs 207 A, 207 B.
- users of different computing devices that may be in different places may each actively participate in the same session.
- the users in the collaborative session jointly operate the application programs 207 A, 207 B in real time over the LAN 209 or the communication network 210 .
- the paths may be provided between the first and second server computer 202 A and 202 B to synchronize presentation data 110 A, 110 B associated with application programs 207 A, 207 B running on the first and second server computers 202 A, 202 B.
- presentation data 110 A, 110 B involves bi-directional client-server communications and multiple synchronization steps. For example, information about presentation data is first passed to, and integrated for view, within a user interface 100 on the client computer.
- the presentation data is communicated back to the application programs 207 A, 207 B through the client remote access program 221 and the server remote access program 211 A.
- the communication paths 222 , 224 and 226 remove the need to share application state by passing the presentation data 110 A, 110 B through the client computer 212 , eliminating the need for bi-directional communication.
- interprocess communication (IPC) facilities may be used to enable the communication between and among the server computers 202 A and 202 B over communication paths 222 , 224 and 226 .
- IPC provides high-level support for connecting processes using TCP/IP sockets and for sending data between the processes.
- IPC facilities handle the opening sockets, registering messages, and sending and receiving messages, including both anonymous publish/subscribe and client/server type messages.
- IPC libraries contain functions to marshall (i.e., serialize) and unmarshall (i.e., de-serialize) data, and handle data transfer between machines, invoke user-defined handlers when a message is received, and invoke user-defined callbacks at set intervals.
- IPC may use, e.g., UNIX sockets or a shared memory space, rather than TCP/IP sockets.
- Examples of interprocess communications facilities include COM, ActiveX, etc.
- the communications paths may be a direct path 222 between the server computers 202 A and 202 B; a local LAN path 224 that traverses the LAN 209 ; or a WAN path 226 that traverses the network 210 .
- IPC can be implemented, as noted above.
- the communication paths 222 , 224 and 226 provide out-of-band communication paths between the application programs 207 A and 207 B that are being provided to a common remote user interface, e.g. 100 , or between the server remote access programs 211 A and 211 B, which can enhance efficiency and speed of interaction while reducing networking delays.
- the above enables the server computers 202 A and 202 B to communicate among themselves to accomplish the synchronization without requiring instruction from the user interaction program 219 , thereby reducing the traffic on the client's uplink and improving performance overall as a result. Further, the communication paths 222 , 224 and 226 are significantly faster connections, than the uplink from the client computer 212 .
- FIG. 4 illustrates an operational flow diagram of the processes 400 that are performed in accordance with the present disclosure.
- the processes 400 may be implemented to present image data from two different PACS in a coordinated viewer in e.g., a side-by-side fashion where the PACS directly send current slice coordinates to each other without requiring this information to be communicated through the client computer.
- the first and second application programs and first and second server remote access programs are executed.
- the processor 204 A of the first server computer 202 A the first server remote access program 221 A and the first application program 207 A is executed.
- the second server remote access program 211 B and the second application program 207 B is executed.
- the server computers may communicate to synchronize a display state.
- the application programs 207 A and 207 B and/or the server remote access programs 211 A and 211 B may communicate using, e.g., IPC, to synchronize the presentation data.
- the server remote access programs 211 A and 211 B may exchange relevant portions of the presentation data 110 A, 110 B (e.g., XML data) to enable all views to be synchronized.
- the information exchanged between server remote access programs 211 A and 211 B may be a viewpoint (e.g., virtual eye position), a specific image selected from a stack of images, or a patient anatomy normalized coordinates of a displayed slice. This information may be contained in the presentation data 110 B.
- the application programs 107 A and 107 B are each aerodynamic viewers, then the image display field 106 may be the airflow over a wing from above, the image display 108 may be the airflow mirrored from below.
- the server remote access programs 211 A and 211 B may synchronize the views using the display data 110 A and 110 B.
- presentation data associated with the first and/or second application programs is communicated with the client remote access program.
- the first presentation data 110 A may be indicative of an application state of the first application program 207 A and/or the second presentation data 110 B may be indicative of an application state of the first application program 207 B, where the states may be imagery associated with the application programs.
- the client remote access program receives the first and/or the second presentation data and determines display data in dependence thereupon for substantially simultaneously displaying the first and the second presentation data.
- the display data may be indicative of the user interface 100 .
- the display data is displayed in a human comprehensible fashion.
- changes due to the synchronization may be presented in the user interface.
- updated presentation data 110 A and/or 110 B may be provided to the client remote access program 221 , which in turn may be used to update the user interface 100 .
- FIG. 5 illustrates additional aspects of the system 200 of FIGS. 2 and 3 .
- system 200 may be provided as having a tiered software stack.
- the client remote access application 221 may sit on top of a client software development kit (SDK) 704 in a client tier 720 .
- SDK software development kit
- the client tier 720 communicates to the server remote access application 211 A, 211 B in a server tier 730 .
- the server tier 730 communicates to a state manager 708 sitting on top of the applications 207 A/ 107 B and a server SDK 712 in an application tier 740 .
- Application extensions may be implemented in any of the tiers, i.e., within the server tier as a plug-in 706 , the client tier as client application extension 702 , the application tier as application extension 710 , or combinations thereof.
- the client remote access application 221 A updates the presentation data 110 A, 110 B in accordance with user input data received from a user interface program.
- the client remote access application 221 may generate control data in accordance with the updated presentation data 110 A, 110 B, and provide the same to the server remote access application 211 B running on the server 202 B.
- the server remote access application 211 A, 211 B Upon receipt of application data from an application program 207 A, 207 B, the server remote access application 211 A, 211 B updates the presentation data 110 A, 110 B in accordance with the screen or application data, generates presentation data in accordance with the updated presentation data 110 A, 110 B, and provides the same to the client remote access application 221 on the client computing device 212 .
- the application programs 207 A and 207 B and/or the server remote access applications 211 A and 211 B may communicate with each other using the communication links 222 , 224 and/or 226 , as described above to synchronize information between each other.
- FIG. 6 shows an exemplary computing environment in which example aspects of the present disclosure may be implemented.
- the computing system environment is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality.
- Numerous other general purpose or special purpose computing system environments or configurations may be used. Examples of well known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network personal computers (PCs), minicomputers, mainframe computers, embedded systems, distributed computing environments that include any of the above systems or devices, and the like.
- Computer-executable instructions such as program modules, being executed by a computer may be used.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- Distributed computing environments may be used where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium.
- program modules and other data may be located in both local and remote computer storage media including memory storage devices.
- an exemplary system for implementing aspects described herein includes a computing device, such as computing device 600 .
- computing device 600 typically includes at least one processing unit 602 and memory 604 .
- memory 604 may be volatile (such as random access memory (RAM)), non-volatile (such as read-only memory (ROM), flash memory, etc.), or some combination of the two.
- RAM random access memory
- ROM read-only memory
- flash memory etc.
- This most basic configuration is illustrated in FIG. 6 by dashed line 606 .
- Computing device 600 may have additional features/functionality.
- computing device 600 may include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape.
- additional storage is illustrated in FIG. 6 by removable storage 608 and non-removable storage 610 .
- Computing device 600 typically includes a variety of computer readable media.
- Computer readable media can be any available media that can be accessed by device 600 and includes both volatile and non-volatile media, removable and non-removable media.
- Computer storage media include volatile and non-volatile, and removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Memory 604 , removable storage 608 , and non-removable storage 610 are all examples of computer storage media.
- Computer storage media include, but are not limited to, RAM, ROM, electrically erasable program read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 600 . Any such computer storage media may be part of computing device 600 .
- Computing device 600 may contain communications connection(s) 612 that allow the device to communicate with other devices.
- Computing device 600 may also have input device(s) 614 such as a keyboard, mouse, pen, voice input device, touch input device, etc.
- Output device(s) 616 such as a display, speakers, printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here.
- the computing device In the case of program code execution on programmable computers, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device.
- One or more programs may implement or utilize the processes described in connection with the presently disclosed subject matter, e.g., through the use of an application programming interface (API), reusable controls, or the like.
- API application programming interface
- Such programs may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system.
- the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language and it may be combined with hardware implementations.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- The present disclosure claims priority to U.S. Provisional Patent Application No. 61/662, 561, filed Jun. 21, 2012, entitled “Method and System for Providing Synchronized Views of Multiple Applications for Display on a Remote Computing Device,” the disclosure of which is incorporated by reference in its entirety.
- In numerous present day scenarios, computer networks may provide remote access to data for display on a computing device, and in particular to remote synchronized views of multiple datasets provided by applications on different server instances. For example, in the healthcare sector a medical practitioner, such as a surgeon working at a first hospital, may want to compare medical imaging data, such as, for example, MRI data or CT Scan data of a patient captured at the first hospital with imaging data of the patient that have been previously captured at a second hospital or medical imaging facility. In another example, a medical practitioner may want to compare imaging data captured of a patient with reference imaging data stored in a medical repository.
- Use of wireless handheld devices such as, for example, IPHONE, ANDROID, and IPAD has rapidly increased over the last couple of years to the extent that now nearly every professional owns at least one wireless handheld device. State of the art wireless mobile technology enables use of small wireless handheld devices to access the Internet and download various forms of image data files for display thereon.
- In a traditional multiple-server/single-client remote access model, synchronization of the views between multiple remotely accessed application programs involves bidirectional client-server communications and multiple synchronization steps. In particular, each synchronization step requires a round trip through the client, thus placing constraints on the uplink communication bandwidth available at the wireless client device and requiring additional time for the round trip to complete.
- A method and system for providing remote access to data for display on a computing device such as a mobile device via a computer network is provided. According to some implementations, the method and system provide substantially simultaneous remote access to data stored in different locations for synchronized display on a wireless handheld device via a wireless computer network. An out-of-band communication mechanism is provided to enable application programs associated with the data to communicate with each other without the need to communicate via a round trip through the client.
- In accordance with the present disclosure, there is disclosed a method of providing remote access to a plurality of application programs executing on plural server computers. The method may include providing at least one server remote access program on each the plural server computers, each of the plural server remote access programs being in communication with a respective one of plural application programs; providing at least one remote connection to a client remote access program executing on a client computer, the client remote access program communicating with the at least one server remote access program over the at least one remote connection to enable access to the plural application programs; providing a communication connection between the plural server computers to synchronize the state among the plural server computers; communicating presentation data representing a change in a state of at least one of the plural application programs to the client remote access program; and displaying the presentation data at the client computer.
- In accordance with aspects of the present disclosure, there is disclosed an apparatus for providing remote access to a plurality of application programs executing on plural server computers. The apparatus may include a first server having a first memory and a first processor, the first server executing a first server remote access program on the first processor that is in communication with a first application program; and a second server having a second memory and a second processor, the second server executing a second server remote access program on the second processor that is in communication with a second application program. A communication connection may be provided between the first server and the second server to synchronize a state between the first server and the second server, wherein presentation data representing a change in the state of at least one of the first application program and the second application program is communicated to a client remote access program associated with a client computer in remote communication with the first server remote access program and the second sever remote access program, and wherein the client computer displays the presentation data on a display associated with at the client computer.
- In accordance with aspects of the present disclosure, there is disclosed a method of providing remote access to a plurality of application programs executing on plural server computers. The method may include providing a server remote access program on each of the plural server computers, each server remote access program being in communication with a respective one of plural application programs; synchronizing, among the plural server computers, presentation data associated with each the plurality of application programs; communicating the presentation data associated with the plurality of application programs to a client remote access program executing on a client computing device; determining display data to be displayed at the computing device in accordance with the presentation data; and simultaneously displaying the presentation data to display a view of the plural application programs.
- These and other objects and advantages may be provided by the embodiments of the disclosure, including some implementations exemplified in the description and figures.
- The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various implementations. Like reference numerals are used to reference like elements throughout. In the drawings:
-
FIG. 1 illustrates an example of a display for displaying a first and the second presentation data in a single user interface; -
FIG. 2 is a simplified block diagram of a system for providing remote access to data for display on a mobile device via a computer network; -
FIG. 3 is a simplified block diagram illustrating communication of a client computer with a first server computer and a second server computer of the system shown inFIG. 2 ; -
FIG. 4 illustrates an operational flow diagram of the processes that are performed in accordance with the present disclosure; -
FIG. 5 illustrates additional aspects of the system ofFIGS. 2 and 3 ; and -
FIG. 6 shows an exemplary computing environment in which example aspects of the present disclosure may be implemented. - 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. While implementations of the disclosure will be described for providing substantially simultaneous remote access to imaging data stored in two different locations in a clinical environment for display on a wireless handheld device only for the sake of simplicity, it will become evident to those skilled in the art that the implementations of the disclosure are not limited thereto, but are applicable for providing remotes access to any number of locations, various other forms of data, in numerous other present day applications, and for display on other devices such as laptop computers or personal computers.
-
FIG. 1 illustrates an examplesingle user interface 100 for displaying first andsecond presentation data single user interface 100 may be displayed by a client computer and comprises twoimage display fields second presentation data FIGS. 2 and 3 , the multiple-server/single-client remote access model may be used in scenarios where a client device interfaces with two or more applications provided by two or more remote servers. The servers may each communicate presentation data to the client that is displayed, for example, in thesingle user interface 100. -
Interaction zones 104 may be displayed in aninteraction field 102 placed, for example, to the left hand side of theimage display field 106. Other display options include placing: theimage display fields - Thus, with reference to
FIGS. 2 and 3 , there is illustrated asystem 200 for providing remote access to data for display on a mobile device via a computer network according to the present disclosure wherein synchronization ofpresentation data system 200 comprises aclient computer 212, such as wireless handheld device such as, for example, an IPHONE 212 (or other any other mobile device) connected via acommunication network 210 such as, for example, the Internet, to afirst server computer 202A and asecond server computer 202B. Other client computers may be connected to thecommunication network 210, such as desktop computers, laptop/notebook computers, thin client devices, tablet computers, virtual computers, etc., that are either wired or wirelessly connected to thecommunication network 210. It is noted that the connections to thecommunication network 210 may be any type of connection, for example, Wi-Fi (IEEE 802.11x), WiMax (IEEE 802.16), Ethernet, 3G, 4G, etc. Theserver computers client computer 212 may be implemented using hardware such as that shown in the general purpose computing device ofFIG. 6 . - The
first server computer 202A may be connected to a Local Area Network (LAN) 209 at, e.g., a first hospital while thesecond server computer 202B may be connected to theLAN 209 or a second LAN (not shown) of, e.g., a second hospital. Imaging data such as, for example, MRI imaging data, CT Scan imaging data and X-ray imaging data captured at the first hospital may be stored in adatabase 208 connected to theLAN 209. Although not shown for purposes of clarity, information may be stored in a database connected to theLAN 209 or a separate LAN of the second hospital. The LANs may be omitted and the first and thesecond server computer computer network 210 with the databases being directly connected to the respective first andsecond server computers - As will be discussed in detail below,
communication paths second server computer presentation data server computers FIG. 1 , in theimage display fields - The
server computers application programs processors respective application programs memory server computers application programs - According to some implementations, access to data using, for example, the handheld
wireless device 212 is enabled by executing: a first serverremote access program 211A on theprocessor 204A of thefirst server computer 202A; a second serverremote access program 211B on theprocessor 204B of thesecond server computer 202B; and a respective clientremote access program 221 executed on aprocessor 218 of theclient computer 212. The first and the second serverremote access programs memory second server computer remote access program 221 is performed by executing executable commands stored inmemory 220 of theclient computer 212. An example of the server remote access program is PUREWEB, available from Calgary Scientific, Inc. of Calgary, Alberta, Canada. While first and the second serverremote access programs respective application programs remote access programs application programs - Communications between the
client computer 212 and the first andsecond server computer remote access program remote access program 221 via, for example, a wireless computer network. The first and the second serverremote access program second application programs remote access program 221 communicates with a user interaction program 219 (FIG. 3 ) such as, for example, a web browser or a native mobile application for displaying data such as, for example, image data and image processing control data; for receiving user input data for interacting with the first and the second application program using, for example, a graphical display with a touch-screen 214. - The first and the second server remote access programs and the client remote access program may be implemented using standard programming languages and communication is enabled using standard communication technologies such as, for example, Hyper Text Transfer Protocol (HTTP), virtual private networks (VPN), and secure socket layers (SSL), which are well known to those skilled in the art. Provision of the first and the second server remote access program and the client remote access program enable implementations of aspects of the disclosure as a retrofit to existing technologies on the server side as well as on the client side.
- As shown in
FIG. 3 , the first and the second serverremote access program second application program remote access program second presentation data presentation data second application programs second presentation data client computer 212, for example, in accordance with processing capacity, memory size, type of graphical display, and type of user interface. - The
presentation data application program - For example, presentation data generated 110A, 110B and transmitted for a laptop computer or desktop computer are different from presentation data generated and transmitted for a handheld device such as, for example, an IPHONE. Generation of
presentation data presentation data - In some implementations, the
client computing device 212, and/or theserver computers application programs presentation data application programs application programs LAN 209 or thecommunication network 210. - Thus, referring again to
communications paths FIG. 2 , the paths may be provided between the first andsecond server computer presentation data application programs second server computers single user interface 100, synchronization of thepresentation data user interface 100 on the client computer. Then the presentation data is communicated back to theapplication programs remote access program 221 and the serverremote access program 211A. Thecommunication paths presentation data client computer 212, eliminating the need for bi-directional communication. - In accordance with some implementations, interprocess communication (IPC) facilities may be used to enable the communication between and among the
server computers communication paths - As shown, the communications paths may be a
direct path 222 between theserver computers local LAN path 224 that traverses theLAN 209; or aWAN path 226 that traverses thenetwork 210. Also, if multiple application programs are executing on a single server computer, IPC can be implemented, as noted above. Thus, as shown inFIG. 2 , thecommunication paths application programs remote access programs - Thus, the above enables the
server computers user interaction program 219, thereby reducing the traffic on the client's uplink and improving performance overall as a result. Further, thecommunication paths client computer 212. -
FIG. 4 illustrates an operational flow diagram of theprocesses 400 that are performed in accordance with the present disclosure. Theprocesses 400 may be implemented to present image data from two different PACS in a coordinated viewer in e.g., a side-by-side fashion where the PACS directly send current slice coordinates to each other without requiring this information to be communicated through the client computer. At 402, the first and second application programs and first and second server remote access programs are executed. Using theprocessor 204A of thefirst server computer 202A, the first server remote access program 221A and thefirst application program 207A is executed. Likewise, using theprocessor 204B of thesecond server computer 202B, the second serverremote access program 211B and thesecond application program 207B is executed. - At 404, the server computers may communicate to synchronize a display state. Using one or more of the
communications paths application programs remote access programs remote access programs presentation data remote access programs presentation data 110B. As another example, if the application programs 107A and 107B are each aerodynamic viewers, then theimage display field 106 may be the airflow over a wing from above, theimage display 108 may be the airflow mirrored from below. The serverremote access programs display data - At 406, presentation data associated with the first and/or second application programs is communicated with the client remote access program. For example, the
first presentation data 110A may be indicative of an application state of thefirst application program 207A and/or thesecond presentation data 110B may be indicative of an application state of thefirst application program 207B, where the states may be imagery associated with the application programs. - At 408, the client remote access program receives the first and/or the second presentation data and determines display data in dependence thereupon for substantially simultaneously displaying the first and the second presentation data. The display data may be indicative of the
user interface 100. Using thegraphical display 214 of theclient computer 212 the display data is displayed in a human comprehensible fashion. - At 410, changes due to the synchronization may be presented in the user interface. For example, updated
presentation data 110A and/or 110B may be provided to the clientremote access program 221, which in turn may be used to update theuser interface 100. -
FIG. 5 illustrates additional aspects of thesystem 200 ofFIGS. 2 and 3 . As illustrated,system 200 may be provided as having a tiered software stack. The clientremote access application 221 may sit on top of a client software development kit (SDK) 704 in a client tier 720. The client tier 720 communicates to the serverremote access application server tier 730. Theserver tier 730 communicates to astate manager 708 sitting on top of theapplications 207A/107B and aserver SDK 712 in anapplication tier 740. Application extensions may be implemented in any of the tiers, i.e., within the server tier as a plug-in 706, the client tier asclient application extension 702, the application tier asapplication extension 710, or combinations thereof. - When executed, the client remote access application 221A updates the
presentation data remote access application 221 may generate control data in accordance with the updatedpresentation data remote access application 211B running on theserver 202B. - Upon receipt of application data from an
application program remote access application presentation data presentation data remote access application 221 on theclient computing device 212. Theapplication programs remote access applications -
FIG. 6 shows an exemplary computing environment in which example aspects of the present disclosure may be implemented. The computing system environment is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality. - Numerous other general purpose or special purpose computing system environments or configurations may be used. Examples of well known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network personal computers (PCs), minicomputers, mainframe computers, embedded systems, distributed computing environments that include any of the above systems or devices, and the like.
- Computer-executable instructions, such as program modules, being executed by a computer may be used. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Distributed computing environments may be used where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program modules and other data may be located in both local and remote computer storage media including memory storage devices.
- With reference to
FIG. 6 , an exemplary system for implementing aspects described herein includes a computing device, such ascomputing device 600. In its most basic configuration,computing device 600 typically includes at least oneprocessing unit 602 andmemory 604. Depending on the exact configuration and type of computing device,memory 604 may be volatile (such as random access memory (RAM)), non-volatile (such as read-only memory (ROM), flash memory, etc.), or some combination of the two. This most basic configuration is illustrated inFIG. 6 by dashedline 606. -
Computing device 600 may have additional features/functionality. For example,computing device 600 may include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated inFIG. 6 byremovable storage 608 and non-removable storage 610. -
Computing device 600 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed bydevice 600 and includes both volatile and non-volatile media, removable and non-removable media. - Computer storage media include volatile and non-volatile, and removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
Memory 604,removable storage 608, and non-removable storage 610 are all examples of computer storage media. Computer storage media include, but are not limited to, RAM, ROM, electrically erasable program read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computingdevice 600. Any such computer storage media may be part ofcomputing device 600. -
Computing device 600 may contain communications connection(s) 612 that allow the device to communicate with other devices.Computing device 600 may also have input device(s) 614 such as a keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 616 such as a display, speakers, printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here. - It should be understood that the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the presently disclosed subject matter, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the presently disclosed subject matter. In the case of program code execution on programmable computers, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. One or more programs may implement or utilize the processes described in connection with the presently disclosed subject matter, e.g., through the use of an application programming interface (API), reusable controls, or the like. Such programs may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language and it may be combined with hardware implementations.
- 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 (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/922,744 US9729673B2 (en) | 2012-06-21 | 2013-06-20 | Method and system for providing synchronized views of multiple applications for display on a remote computing device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261662561P | 2012-06-21 | 2012-06-21 | |
US13/922,744 US9729673B2 (en) | 2012-06-21 | 2013-06-20 | Method and system for providing synchronized views of multiple applications for display on a remote computing device |
Publications (2)
Publication Number | Publication Date |
---|---|
US20130346482A1 true US20130346482A1 (en) | 2013-12-26 |
US9729673B2 US9729673B2 (en) | 2017-08-08 |
Family
ID=49775337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/922,744 Active 2035-01-15 US9729673B2 (en) | 2012-06-21 | 2013-06-20 | Method and system for providing synchronized views of multiple applications for display on a remote computing device |
Country Status (1)
Country | Link |
---|---|
US (1) | US9729673B2 (en) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130283170A1 (en) * | 2009-01-08 | 2013-10-24 | Microsoft Corporation | Synchronizing presentation states between multiple applications |
US9602581B2 (en) | 2012-03-02 | 2017-03-21 | Calgary Scientific Inc. | Remote control of an application using dynamic-linked library (DLL) injection |
DE102015223001A1 (en) * | 2015-11-20 | 2017-05-24 | Siemens Aktiengesellschaft | Method for operating a computer system, computer program with an implementation of the method and computer system for executing the method |
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 |
US9871860B2 (en) | 2008-11-26 | 2018-01-16 | Calgary Scientific Inc. | Method and system for providing remote access to a state of an application program |
US9986012B2 (en) | 2011-08-15 | 2018-05-29 | Calgary Scientific Inc. | Remote access to an application program |
US10015264B2 (en) | 2015-01-30 | 2018-07-03 | Calgary Scientific Inc. | Generalized proxy architecture to provide remote access to an application framework |
US10055105B2 (en) | 2009-02-03 | 2018-08-21 | Calgary Scientific Inc. | Method and system for enabling interaction with a plurality of applications using a single user interface |
US20180302302A1 (en) * | 2017-04-12 | 2018-10-18 | Microsoft Technology Licensing, Llc | Activity feed service |
US10158701B2 (en) | 2011-03-21 | 2018-12-18 | Calgary Scientific Inc.. | Method and system for providing a state model of an application program |
US10284688B2 (en) | 2011-09-30 | 2019-05-07 | Calgary Scientific Inc. | Tiered framework for proving remote access to an application accessible at a uniform resource locator (URL) |
US10410306B1 (en) | 2011-01-04 | 2019-09-10 | Calgary Scientific Inc. | Method and system for providing remote access to data for display on a mobile device |
US10454979B2 (en) | 2011-11-23 | 2019-10-22 | Calgary Scientific Inc. | Methods and systems for collaborative remote application sharing and conferencing |
US20200069500A1 (en) * | 2016-11-08 | 2020-03-05 | Optimus Licensing Ag | Integrated operating room lighting and patient warming system - design and components |
US10671245B2 (en) | 2017-03-29 | 2020-06-02 | Microsoft Technology Licensing, Llc | Collection and control of user activity set data and activity set user interface |
US10732796B2 (en) | 2017-03-29 | 2020-08-04 | Microsoft Technology Licensing, Llc | Control of displayed activity information using navigational mnemonics |
US10856123B2 (en) | 2014-08-25 | 2020-12-01 | The Sscg Group, Llc | Content management and presentation systems and methods |
US10853220B2 (en) | 2017-04-12 | 2020-12-01 | Microsoft Technology Licensing, Llc | Determining user engagement with software applications |
US11310348B2 (en) | 2015-01-30 | 2022-04-19 | Calgary Scientific Inc. | Highly scalable, fault tolerant remote access architecture and method of connecting thereto |
US11580088B2 (en) | 2017-08-11 | 2023-02-14 | Microsoft Technology Licensing, Llc | Creation, management, and transfer of interaction representation sets |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5844553A (en) * | 1993-08-30 | 1998-12-01 | Hewlett-Packard Company | Mechanism to control and use window events among applications in concurrent computing |
US5920311A (en) * | 1992-12-22 | 1999-07-06 | International Business Machines Corporation | Distributed client/server window presentation system |
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 |
US20070079244A1 (en) * | 2005-09-12 | 2007-04-05 | Microsoft Corporation | Remoting redirection layer for graphics device interface |
US20070203944A1 (en) * | 2006-02-28 | 2007-08-30 | International Business Machines Corporation | Web services database cluster architecture |
US20070256073A1 (en) * | 2006-03-14 | 2007-11-01 | University Of Utah Research Foundation | Extendable framework for distributed applications and data |
US20090217177A1 (en) * | 2008-02-27 | 2009-08-27 | Cisco Technology, Inc. | Multi-party virtual desktop |
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 |
US20110138283A1 (en) * | 2009-12-07 | 2011-06-09 | International Business Machines Corporation | Composite copy and paste for composite user interfaces |
US20110184993A1 (en) * | 2010-01-27 | 2011-07-28 | Vmware, Inc. | Independent Access to Virtual Machine Desktop Content |
US20120084713A1 (en) * | 2010-10-05 | 2012-04-05 | Citrix Systems, Inc. | Providing User Interfaces and Window Previews for Hosted Applications |
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 |
US20130054679A1 (en) * | 2011-08-29 | 2013-02-28 | Vmware, Inc. | Sharing remote sessions of a user interface and/or graphics of a computer |
US20130159062A1 (en) * | 2011-12-14 | 2013-06-20 | Sap Ag | Process-driven composite application architecture |
Family Cites Families (181)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1310133C (en) | 1988-06-30 | 1992-11-10 | Thomas R. Edel | 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 |
US6076733A (en) | 1993-11-24 | 2000-06-20 | Metrologic Instruments, Inc. | Web-based system and method for enabling a viewer to access and display HTML-encoded documents located on the world wide web (WWW) by reading URL-encoded bar code symbols printed on a web-based information resource guide |
US5345550A (en) | 1992-12-23 | 1994-09-06 | International Business Machines Corporation | User-modifiable popup menus for object oriented behavior |
JP3481296B2 (en) | 1993-04-12 | 2003-12-22 | ヒューレット・パッカード・カンパニー | How to select items on the graphic screen |
DE4417588A1 (en) | 1993-08-30 | 1995-03-02 | Hewlett Packard Co | Method and apparatus for capturing and forwarding window events to a plurality of existing applications for simultaneous execution |
CA2180899A1 (en) | 1995-07-12 | 1997-01-13 | Yasuaki Honda | Synchronous updating of sub objects in a three dimensional virtual reality space sharing system and method therefore |
US5956486A (en) | 1995-12-20 | 1999-09-21 | Hickman; Paul Lawrence | Method and apparatus for monitoring multiple electronic mail systems |
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 |
CA2207746A1 (en) | 1997-06-13 | 1998-12-13 | Ironside Technologies Inc | Method of manipulating software components through a network with enhanced performance and reduced network traffic |
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 |
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 |
US6453356B1 (en) | 1998-04-15 | 2002-09-17 | Adc Telecommunications, Inc. | Data exchange system and method |
US6988271B2 (en) | 1998-10-02 | 2006-01-17 | Microsoft Corporation | 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 |
AU7342500A (en) | 1999-08-31 | 2001-03-26 | 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 |
US20020007284A1 (en) | 1999-12-01 | 2002-01-17 | Schurenberg Kurt B. | System and method for implementing a global master patient index |
WO2001067245A2 (en) | 2000-03-08 | 2001-09-13 | Marbles, Inc. | 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 |
US8463912B2 (en) | 2000-05-23 | 2013-06-11 | Media Farm, Inc. | Remote displays in mobile communication networks |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US7349967B2 (en) | 2000-07-21 | 2008-03-25 | Samsung Electronics Co., Ltd. | Architecture for home network on world wide web with private-public IP address/URL mapping |
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 |
US6931661B2 (en) | 2000-10-19 | 2005-08-16 | Motorola, Inc. | Dynamic image provisioning |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US6918113B2 (en) | 2000-11-06 | 2005-07-12 | Endeavors Technology, Inc. | Client installation and execution system for streamed applications |
US6947761B2 (en) | 2000-11-22 | 2005-09-20 | Leap Wireless International Inc. | Method and system for improving the efficiency of state information transfer over a wireless communications network |
US7574493B2 (en) | 2000-11-22 | 2009-08-11 | Cricket Communications, Inc. | 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 |
US20040117804A1 (en) | 2001-03-30 | 2004-06-17 | Scahill Francis J | Multi modal interface |
US7890517B2 (en) | 2001-05-15 | 2011-02-15 | Metatomix, Inc. | Appliance for enterprise information integration and enterprise resource interoperability platform and methods |
US7802183B1 (en) | 2001-05-17 | 2010-09-21 | Essin Daniel J | Electronic record management system |
US7882497B2 (en) | 2001-05-17 | 2011-02-01 | Attachmate Corporation | Symbiotic computer application and system and method for generation and presentation of same |
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 |
US6996805B2 (en) | 2001-06-28 | 2006-02-07 | Microsoft Corporation | Methods and systems of testing software, and methods and systems of modeling user behavior |
GB0117077D0 (en) | 2001-07-13 | 2001-09-05 | Univ Strathclyde | A generic object-based resource-sharing interface for distance co-working |
US7379977B2 (en) | 2001-07-24 | 2008-05-27 | Steve Walrath | System and method for display of multiple electronic pages |
EP1421501B1 (en) | 2001-08-24 | 2006-08-02 | Intel Corporation | A general intput/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 |
JP4446368B2 (en) | 2001-09-14 | 2010-04-07 | 富士通株式会社 | Collaboration method, system, program, and recording 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 |
US7155521B2 (en) | 2001-10-09 | 2006-12-26 | Nokia Corporation | Starting a session in a synchronization system |
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 |
US7831292B2 (en) | 2002-03-06 | 2010-11-09 | Mako Surgical Corp. | 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 |
US6721871B2 (en) | 2002-04-02 | 2004-04-13 | Nokia Corporation | Method and apparatus for synchronizing data stores with respect to changes in folders |
US7720910B2 (en) | 2002-07-26 | 2010-05-18 | International Business Machines Corporation | Interactive filtering electronic messages received from a publication/subscription service |
US7085758B2 (en) | 2002-08-22 | 2006-08-01 | 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 |
TWI220713B (en) | 2002-10-04 | 2004-09-01 | Hon Hai Prec Ind Co Ltd | System and method for synchronizing documents between multi-nodes |
US7542471B2 (en) | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | 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 |
GB0228279D0 (en) | 2002-12-04 | 2003-01-08 | Ibm | A synchronization method |
US7774831B2 (en) | 2002-12-24 | 2010-08-10 | International Business Machines Corporation | Methods and apparatus for processing markup language messages in a network |
US7346684B2 (en) | 2003-01-31 | 2008-03-18 | Utstarcom, Inc. | System and method for control of packet data serving node selection in a mobile internet protocol network |
EP1593026A1 (en) | 2003-02-14 | 2005-11-09 | Whale Communications Ltd. | System and method for providing conditional access to server-based applications from remote access devices |
US7213228B2 (en) | 2003-03-17 | 2007-05-01 | Macrovision Corporation | 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 |
DE10315418B3 (en) | 2003-04-04 | 2004-07-22 | Thyssenkrupp Automotive Ag | Thermomechanical treatment of round steel bars heated above the recrystallization temperature useful in the thermomechanical and heat 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 |
US7930214B2 (en) | 2003-05-05 | 2011-04-19 | Intel Corporation | Management and arbitration of mobile service discovery |
US20040225960A1 (en) | 2003-05-09 | 2004-11-11 | Microsoft Corporation | System for hosting graphical layout/presentation objects |
US7526410B2 (en) | 2003-07-03 | 2009-04-28 | 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 |
CA2438362C (en) | 2003-08-26 | 2011-05-31 | John William Comeau | A method and system for synchronizing a client user interface with server backend |
US7647370B1 (en) | 2003-10-24 | 2010-01-12 | Verizon Data Services Llc | Screen scraping interface |
US7975239B2 (en) | 2003-12-17 | 2011-07-05 | Palo Alto Research Center Incorporated | 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 |
US7458029B2 (en) | 2004-01-15 | 2008-11-25 | Microsoft Corporation | System and process for controlling a shared display given inputs from multiple users using multiple input modalities |
US7966572B2 (en) | 2004-02-20 | 2011-06-21 | Microsoft Corporation | User interface transition |
US7653900B2 (en) | 2004-04-22 | 2010-01-26 | Blue Coat Systems, Inc. | System and method for remote application process control |
WO2005109908A2 (en) | 2004-04-30 | 2005-11-17 | Vulcan Inc. | Maintaining a graphical user interface state that is based on a selected piece of content |
US20060036770A1 (en) | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | System for factoring synchronization strategies from multimodal programming model runtimes |
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 |
EP1825390A2 (en) | 2004-11-13 | 2007-08-29 | Stream Theory, Inc. | Hybrid local/remote streaming |
US20060236328A1 (en) | 2004-12-10 | 2006-10-19 | Siemens Medical Solutions Usa, Inc. | Integrated graphical user interface server for use with multiple client applications |
US7613830B2 (en) | 2004-12-10 | 2009-11-03 | Microsoft Corporation | Reliably transferring queued application messages |
US7627138B2 (en) | 2005-01-03 | 2009-12-01 | Orb Networks, Inc. | System and method for remotely monitoring and/or viewing images from a camera or video device |
US8024523B2 (en) | 2007-11-07 | 2011-09-20 | Endeavors Technologies, Inc. | Opportunistic block transmission with time constraints |
CN100492382C (en) | 2005-04-12 | 2009-05-27 | 国际商业机器公司 | Slitless game world system based on server/customer's machine and method thereof |
US7921078B2 (en) | 2005-04-20 | 2011-04-05 | Sony Online Entertainment Llc | System for negotiated differential compression |
US7406568B2 (en) | 2005-06-20 | 2008-07-29 | Intel Corporation | Buffer allocation for split data messages |
US7552187B2 (en) | 2005-06-22 | 2009-06-23 | Tele Atlas North America, Inc. | System and method for automatically executing corresponding operations on multiple maps, windows, documents, and/or databases |
US7636899B2 (en) | 2005-07-12 | 2009-12-22 | Siemens Medical Solutions Health Services Corporation | Multiple application and multiple monitor user interface image format selection system for medical and other applications |
GB0514492D0 (en) | 2005-07-14 | 2005-08-17 | Ntnu Technology Transfer As | Secure media streaming |
US20110157196A1 (en) | 2005-08-16 | 2011-06-30 | Exent Technologies, Ltd. | Remote gaming features |
US7719982B2 (en) | 2005-08-31 | 2010-05-18 | Intel Corporation | Switching device utilizing flow-control management |
US7698691B2 (en) | 2005-09-20 | 2010-04-13 | 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 |
US8024290B2 (en) | 2005-11-14 | 2011-09-20 | Yahoo! Inc. | Data synchronization and device handling |
US20070120763A1 (en) | 2005-11-23 | 2007-05-31 | Lode De Paepe | Display system for viewing multiple video signals |
US7596540B2 (en) | 2005-12-01 | 2009-09-29 | Exent Technologies, Ltd. | System, method and computer program product for dynamically enhancing an application executing on a computing device |
US7703039B2 (en) | 2005-12-08 | 2010-04-20 | Adobe Systems Incorporated | Methods and apparatus for displaying information |
US8769127B2 (en) | 2006-02-10 | 2014-07-01 | Northrop Grumman Systems Corporation | Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT) |
US20070208718A1 (en) | 2006-03-03 | 2007-09-06 | Sasha Javid | Method for providing web-based program guide for multimedia content |
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 |
US20070244990A1 (en) | 2006-04-03 | 2007-10-18 | National Instruments Corporation | Web browser graph user interface element with rich interactive capabilities |
US7933955B2 (en) | 2006-07-11 | 2011-04-26 | 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 |
JP4822343B2 (en) | 2006-10-13 | 2011-11-24 | 株式会社国際電気通信基礎技術研究所 | COMMUNICATION DEVICE CONTROLLING LOAD AND COMMUNICATION NETWORK HAVING THE SAME |
US8261345B2 (en) | 2006-10-23 | 2012-09-04 | Endeavors Technologies, Inc. | Rule-based application access management |
US7774356B2 (en) | 2006-12-04 | 2010-08-10 | 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 |
US8374673B2 (en) | 2007-01-25 | 2013-02-12 | 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 |
EP2028813A1 (en) | 2007-07-02 | 2009-02-25 | British Telecmmunications public limited campany | Method of synchronizing intermittently connected mobile terminals |
US8387000B2 (en) | 2007-07-12 | 2013-02-26 | The Mathworks, Inc. | Continuous time mode-driven simulations in a graphical modeling environment |
US8127233B2 (en) | 2007-09-24 | 2012-02-28 | Microsoft Corporation | Remote user interface updates using difference and motion encoding |
US8484626B2 (en) | 2007-09-28 | 2013-07-09 | Verizon Patent And Licensing Inc. | Generic XML screen scraping |
US7886050B2 (en) | 2007-10-05 | 2011-02-08 | Citrix Systems, Inc. | Systems and methods for monitoring components of a remote access server farm |
US8892738B2 (en) | 2007-11-07 | 2014-11-18 | Numecent Holdings, Inc. | Deriving component statistics for a stream enabled application |
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 |
US8154996B2 (en) | 2008-09-11 | 2012-04-10 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with multi-staged queues |
US8595371B2 (en) | 2008-09-19 | 2013-11-26 | Samsung Electronics Co., Ltd. | Sending a remote user interface |
KR101666831B1 (en) | 2008-11-26 | 2016-10-17 | 캘거리 싸이언티픽 인코포레이티드 | Method and system for providing remote access to a state of an application program |
US7835309B2 (en) | 2008-12-16 | 2010-11-16 | Microsoft Corporation | Multiplexed communication for duplex applications |
US8473571B2 (en) | 2009-01-08 | 2013-06-25 | Microsoft Corporation | Synchronizing presentation states between multiple applications |
CN101539932A (en) | 2009-01-21 | 2009-09-23 | 北京跳网无限科技发展有限公司 | Synchronization access technology of transforming web page |
US8676926B2 (en) | 2009-04-15 | 2014-03-18 | Wyse Technology L.L.C. | System and method for handling remote drawing commands |
JP4723010B2 (en) | 2009-04-21 | 2011-07-13 | 株式会社デジタル | Server device, server / client system, server program, and recording medium recording the same |
US9459936B2 (en) | 2009-05-01 | 2016-10-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 |
US9055064B2 (en) | 2009-12-28 | 2015-06-09 | Citrix Systems, Inc. | 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 |
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 |
US8514749B2 (en) | 2010-03-10 | 2013-08-20 | 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 |
US8667054B2 (en) | 2010-07-12 | 2014-03-04 | Opus Medicus, Inc. | Systems and methods for networked, in-context, composed, high resolution image viewing |
US8577960B2 (en) | 2010-07-29 | 2013-11-05 | Sap Ag | Providing status information for components in a distributed landscape |
KR101763595B1 (en) | 2010-11-16 | 2017-08-01 | 엘지전자 주식회사 | Method for processing data for monitoring service in network tv and the network tv |
US8473577B2 (en) | 2010-10-13 | 2013-06-25 | 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 |
CA2734860A1 (en) | 2011-03-21 | 2012-09-21 | Calgary Scientific Inc. | Method and system for providing a state model of an application program |
US9424052B2 (en) | 2011-03-21 | 2016-08-23 | Amazon Technologies, Inc. | Remotely emulating computing devices |
US9600350B2 (en) | 2011-06-16 | 2017-03-21 | Vmware, Inc. | Delivery of a user interface using hypertext transfer protocol |
US8676938B2 (en) | 2011-06-28 | 2014-03-18 | Numecent Holdings, Inc. | Local streaming proxy server |
US8572178B1 (en) | 2011-07-01 | 2013-10-29 | Amazon Technologies, Inc. | Executing applications in remotely emulated computing devices |
SG10201606764XA (en) | 2011-08-15 | 2016-10-28 | Calgary Scient Inc | Non-invasive remote access to an application program |
JP6164747B2 (en) | 2011-08-15 | 2017-07-19 | カルガリー サイエンティフィック インコーポレイテッド | Method for flow control in a collaborative environment and for reliable communication |
US9565156B2 (en) | 2011-09-19 | 2017-02-07 | Microsoft Technology Licensing, Llc | Remote access to a mobile communication device over a wireless local area network (WLAN) |
CA2855209A1 (en) | 2011-11-11 | 2013-05-23 | Calgary Scientific Inc. | Session transfer and suspension in a remote access application framework |
US8854397B2 (en) | 2011-12-13 | 2014-10-07 | Facebook, Inc. | Photo selection for mobile devices |
WO2013109984A1 (en) | 2012-01-18 | 2013-07-25 | Numecent Holdings, Inc. | Application streaming and execution for localized clients |
US9602581B2 (en) | 2012-03-02 | 2017-03-21 | Calgary Scientific Inc. | Remote control of an application using dynamic-linked library (DLL) injection |
CA2870298A1 (en) | 2012-04-11 | 2013-10-17 | Calgary Scientific Inc. | Remoting graphical components through a tiered remote access architecture |
CN102821413A (en) | 2012-07-31 | 2012-12-12 | 华为技术有限公司 | Data transmission method and network side equipment |
US8910239B2 (en) | 2012-10-15 | 2014-12-09 | Citrix Systems, Inc. | Providing virtualized private network tunnels |
EP2770760A1 (en) | 2013-02-25 | 2014-08-27 | Sequans Communications S.A. | eMBMS over LAN |
US9270674B2 (en) | 2013-03-29 | 2016-02-23 | Citrix Systems, Inc. | Validating the identity of a mobile application for mobile application management |
CA2931762C (en) | 2013-11-29 | 2020-09-22 | Calgary Scientific Inc. | Method for providing a connection of a client to an unmanaged service in a client-server remote access system |
US10924554B2 (en) | 2014-05-05 | 2021-02-16 | Citrix Systems, Inc. | Application customization |
-
2013
- 2013-06-20 US US13/922,744 patent/US9729673B2/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920311A (en) * | 1992-12-22 | 1999-07-06 | International Business Machines Corporation | Distributed client/server window presentation system |
US5844553A (en) * | 1993-08-30 | 1998-12-01 | Hewlett-Packard Company | Mechanism to control and use window events among applications in concurrent computing |
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 |
US20070079244A1 (en) * | 2005-09-12 | 2007-04-05 | Microsoft Corporation | Remoting redirection layer for graphics device interface |
US20070203944A1 (en) * | 2006-02-28 | 2007-08-30 | International Business Machines Corporation | Web services database cluster architecture |
US20070256073A1 (en) * | 2006-03-14 | 2007-11-01 | University Of Utah Research Foundation | Extendable framework for distributed applications and data |
US20090217177A1 (en) * | 2008-02-27 | 2009-08-27 | Cisco Technology, Inc. | Multi-party virtual desktop |
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 |
US20110138283A1 (en) * | 2009-12-07 | 2011-06-09 | International Business Machines Corporation | Composite copy and paste for composite user interfaces |
US20110184993A1 (en) * | 2010-01-27 | 2011-07-28 | Vmware, Inc. | Independent Access to Virtual Machine Desktop Content |
US20120084713A1 (en) * | 2010-10-05 | 2012-04-05 | Citrix Systems, Inc. | Providing User Interfaces and Window Previews for Hosted Applications |
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 |
US20130054679A1 (en) * | 2011-08-29 | 2013-02-28 | Vmware, Inc. | Sharing remote sessions of a user interface and/or graphics of a computer |
US20130159062A1 (en) * | 2011-12-14 | 2013-06-20 | Sap Ag | Process-driven composite application architecture |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10334042B2 (en) | 2008-11-26 | 2019-06-25 | Calgary Scientific Inc. | Method and system for providing remote access to a state of an application program |
US9871860B2 (en) | 2008-11-26 | 2018-01-16 | Calgary Scientific Inc. | Method and system for providing remote access to a state of an application program |
US9426214B2 (en) * | 2009-01-08 | 2016-08-23 | Microsoft Technology Licensing, Llc | Synchronizing presentation states between multiple applications |
US20130283170A1 (en) * | 2009-01-08 | 2013-10-24 | Microsoft Corporation | Synchronizing presentation states between multiple applications |
US10055105B2 (en) | 2009-02-03 | 2018-08-21 | Calgary Scientific Inc. | Method and system for enabling interaction with a plurality of applications using a single user interface |
US10410306B1 (en) | 2011-01-04 | 2019-09-10 | Calgary Scientific Inc. | Method and system for providing remote access to data for display on a mobile device |
US10158701B2 (en) | 2011-03-21 | 2018-12-18 | Calgary Scientific Inc.. | Method and system for providing a state model of an application program |
US10693940B2 (en) | 2011-08-15 | 2020-06-23 | Calgary Scientific Inc. | Remote access to an application program |
US9986012B2 (en) | 2011-08-15 | 2018-05-29 | Calgary Scientific Inc. | Remote access to an application program |
US9992253B2 (en) | 2011-08-15 | 2018-06-05 | Calgary Scientific Inc. | Non-invasive remote access to an application program |
US10284688B2 (en) | 2011-09-30 | 2019-05-07 | Calgary Scientific Inc. | Tiered framework for proving remote access to an application accessible at a uniform resource locator (URL) |
US10904363B2 (en) | 2011-09-30 | 2021-01-26 | Calgary Scientific Inc. | Tiered framework for proving remote access to an application accessible at a uniform resource locator (URL) |
US10454979B2 (en) | 2011-11-23 | 2019-10-22 | Calgary Scientific Inc. | Methods and systems for collaborative remote application sharing and conferencing |
US9602581B2 (en) | 2012-03-02 | 2017-03-21 | Calgary Scientific Inc. | Remote control of an application using dynamic-linked library (DLL) injection |
US9979670B2 (en) | 2013-11-29 | 2018-05-22 | 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 |
US10728168B2 (en) | 2013-11-29 | 2020-07-28 | Calgary Scientific Inc. | Method for providing a connection of a client to an unmanaged service in a client-server remote access system |
US10856123B2 (en) | 2014-08-25 | 2020-12-01 | The Sscg Group, Llc | Content management and presentation systems and methods |
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 |
US20180373577A1 (en) * | 2015-11-20 | 2018-12-27 | Siemens Aktiengesellschaft | Method for Operating a Computer System, Computer Program With an Implementation of the Method, and Computer System Configured to Implement the Method |
DE102015223001A1 (en) * | 2015-11-20 | 2017-05-24 | Siemens Aktiengesellschaft | Method for operating a computer system, computer program with an implementation of the method and computer system for executing the method |
CN108292246A (en) * | 2015-11-20 | 2018-07-17 | 西门子股份公司 | Run the method for computer system, the computer program for realizing this method and the specific computer system for executing this method |
US20200069500A1 (en) * | 2016-11-08 | 2020-03-05 | Optimus Licensing Ag | Integrated operating room lighting and patient warming system - design and components |
US10732796B2 (en) | 2017-03-29 | 2020-08-04 | Microsoft Technology Licensing, Llc | Control of displayed activity information using navigational mnemonics |
US10671245B2 (en) | 2017-03-29 | 2020-06-02 | Microsoft Technology Licensing, Llc | Collection and control of user activity set data and activity set user interface |
US10693748B2 (en) * | 2017-04-12 | 2020-06-23 | Microsoft Technology Licensing, Llc | Activity feed service |
US10853220B2 (en) | 2017-04-12 | 2020-12-01 | Microsoft Technology Licensing, Llc | Determining user engagement with software applications |
US20180302302A1 (en) * | 2017-04-12 | 2018-10-18 | Microsoft Technology Licensing, Llc | Activity feed service |
US11580088B2 (en) | 2017-08-11 | 2023-02-14 | Microsoft Technology Licensing, Llc | Creation, management, and transfer of interaction representation sets |
Also Published As
Publication number | Publication date |
---|---|
US9729673B2 (en) | 2017-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9729673B2 (en) | Method and system for providing synchronized views of multiple applications for display on a remote computing device | |
US10410306B1 (en) | Method and system for providing remote access to data for display on a mobile device | |
US10904363B2 (en) | Tiered framework for proving remote access to an application accessible at a uniform resource locator (URL) | |
US10454979B2 (en) | Methods and systems for collaborative remote application sharing and conferencing | |
US11216152B2 (en) | Shared three-dimensional user interface with personal space | |
JP6576957B2 (en) | Safe portable genome browsing device and method thereof | |
CN104126186B (en) | Develop the system and method for calculating the multi-platform application of equipment | |
EP2359527B1 (en) | Method and system for providing remote access to a state of an application program | |
US20140074913A1 (en) | Client-side image rendering in a client-server image viewing architecture | |
US20150074181A1 (en) | Architecture for distributed server-side and client-side image data rendering | |
US11848099B1 (en) | Unified ecosystem experience for managing multiple healthcare applications from a common interface with context passing between applications | |
US20130086156A1 (en) | Coupled application extensions for collaborative remote application sharing | |
US9153208B2 (en) | Systems and methods for image data management | |
US20180095633A1 (en) | Three-dimensional user interface | |
US20150154749A1 (en) | Information processing apparatus, information processing system, information processing method, and program | |
Andrikos et al. | Real-time medical collaboration services over the web | |
Kohlmann et al. | Remote visualization techniques for medical imaging research and image-guided procedures | |
US20240168696A1 (en) | Systems and methods for rendering images on a device | |
US20240170131A1 (en) | Systems and methods for rendering images on a device | |
WO2024112675A1 (en) | Systems and methods for rendering images on a device | |
Constantinescu et al. | Rich internet application system for patient-centric healthcare data management using handheld devices | |
US10163181B2 (en) | Method and system for joint evaluation of a medical image dataset | |
Nobuyuki et al. | Tiled display system for improved communication efficiency | |
EP3185155A1 (en) | Method and system for reviewing medical study data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CALGARY SCIENTIFIC INC., CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HOLMES, COLIN J.;REEL/FRAME:031444/0019 Effective date: 20130717 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |
|
AS | Assignment |
Owner name: RESOLUTIONMD, INC., CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CALGARY SCIENTIFIC INC.;REEL/FRAME:067914/0636 Effective date: 20240125 |