CN103238135B - 对于共享会话的手势支持 - Google Patents
对于共享会话的手势支持 Download PDFInfo
- Publication number
- CN103238135B CN103238135B CN201180058214.9A CN201180058214A CN103238135B CN 103238135 B CN103238135 B CN 103238135B CN 201180058214 A CN201180058214 A CN 201180058214A CN 103238135 B CN103238135 B CN 103238135B
- Authority
- CN
- China
- Prior art keywords
- gesture
- remote computing
- computing device
- shared session
- time
- 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.)
- Active
Links
Classifications
-
- 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
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W4/21—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
示出和描述了用于为共享会话提供手势支持的方法和系统。一种方法包括促成与第一和第二计算装置的第一和第二连接的建立、与第一和第二计算装置协商手势能力、接收来自第一和第二计算装置的手势输入、协调这些手势输入,以及将经修改的共享会话窗口传输到第一和第二计算装置。
Description
相关申请
本申请涉及并要求2010年10月10日提交的美国临时专利申请NO.61/389985的优先权,该美国临时专利申请的名称为“MULTI-TOUCH SUPPORT FOR SHARED SESSIONS”,通过引用将该申请全部包含于此。
技术领域
本公开总的涉及对于共享会话的手势支持。本公开尤其涉及在共享会话中处理远程手势输入。
背景技术
诸如智能手机和平板电脑之类的移动装置可执行支持触摸、多点触摸或触笔的操作系统。这些操作系统通常允许用户以手指或其他工具或触笔作为输入设备,使用触摸屏与菜单和应用相接口。支持触摸的装置可以被用于网络会议应用中,包括例如共享电子白板的共享会话。
发明内容
本文描述的是用于提供共享会话环境的方法、系统和装置。在一个实施例中,用于提供共享会话环境的方法包括下列步骤:促成与第一远程计算装置的第一连接的建立以向该第一装置提供对共享会话窗口的访问;促成与第二远程计算装置的第二连接的建立以向该第二装置提供对该共享会话窗口的访问;与第一装置(并可与第二远程计算装置,如果其支持手势的话)协商手势能力;经由第一连接接收对应于第一手势的数据,第一手势是在该第一装置处显示的共享会话窗口输入的以与该共享会话窗口交互;经由第二连接接收与在该第二装置处显示的共享会话窗口输入以与该共享会话窗口交互的第二手势(或非手势)对应的数据;协调与第一和第二手势对应的(或者如果第二计算装置不兼容手势输入,则与手势或非手势对应的)数据以生成修改指令,该修改指令表示由在第一和第二远程计算装置处与所述共享会话窗口的交互所限定的操作;以及通过第一和第二连接将经修改的共享会话窗口传输到第一和第二计算装置。
在多个实施例中,该方法可包括获取来自第一装置的第一标准化时间戳和来自第二装置的第二标准化时间戳的步骤;其中所述协调步骤还包括基于第一标准化时间戳对准所接收的第一手势的时间戳,以及基于第二标准化时间戳对准所接收的第二手势的时间戳。
在多个实施例中,所述协调步骤包括采用映射表,该映射表将对应于第一手势的数据映射到第一共享会话命令并且将对应于第二手势的数据映射到第二共享会话命令。在其他实施例中,第一连接包括屏幕共享通道和第一输入通道并且第二连接包括所述屏幕共享通道和第二输入通道。
在多个实施例中,所述协调步骤可包括确定第一和第二手势的接收时间差以及响应于确定所述时间差小于阈值时间量,丢弃第一和第二手势的其中一个。
对应于第一手势的数据可以是原始的多点触摸信息。所述协调步骤还可包括将所述原始的多点触摸信息格式化成可与所述共享会话窗口兼容的格式。所述格式化可考虑所协商的第一远程计算装置的手势能力。
所述协商步骤可包括聚集第一和第二远程计算装置的能力。聚集所述能力可包括对第一远程计算装置能接收的触摸输入的数量和第二远程计算装置能接收的触摸输入的数量进行求和。
在多个实施例中,通过在第一远程计算装置处对原始的多点触摸信息的处理来格式化所述对应于第一手势的数据以用于进行解释。在其他实施例中,对应于第一手势的数据是滑动。在其他实施例中,第一手势是来自笔或触摸数字转换器的触笔事件。
在某些实施例中,所述协调步骤还包括在共享会话中的低带宽网络情况下和/或慢处理应用中对第一和/或第二手势进行排队、抛弃和/或合并。
附图说明
下面的附图描述了本文所述的方法和系统的某些示例性实施例,其中相同的参考标记指示相同的元素。这些所描述的实施例应被理解为对所公开的方法和系统的举例说明而非以任何方式对其进行限制:
图1A描述了提供对能执行应用程序的计算装置的远程访问的网络环境的实施例;
图1B和图1C是描述计算装置的实施例的框图;
图2是描述用于在移动装置上显示远程应用的系统的实施例的框图;
图3是描述用于提供多点触摸支持的方法的实施例的流程图;
图4是多个同时触摸输入的屏幕截图;
图5是具有共享会话窗口的远程提供的桌面环境的屏幕截图;以及
图6示出了对应于其滑动动作的八种笔滑动的图。
具体实施方式
图1A示出了共享会话或在线协作环境101的一个实施例,其包括通过一个或多个网络104连接服务器106的一个或多个客户机或参与装置102。服务器106和客户参与装置102可以是任何计算装置,包括但不限于计算机、平板电脑、移动电话或虚拟机。服务器106和客户参与装置102可支持手势。本文所使用的术语“手势”包括触摸(例如,使手指接触I/O显示器)、轻扫(swipe)(例如,在I/O显示器上接触并移动手指)、多点触摸(例如,使两个或更多手指接触到I/O显示器)、多点轻扫(例如,在I/O显示器上接触并移动两个或更多手指)、触笔(例如在I/O显示器上接触或轻扫笔型装置)、动作(在摄像头前面移动手指)、滑动(fl ick)(在下文中更详细描述)等等。
在一个实施例中,环境101可包括在服务器106和装置102之间安装的设备(未示出)。这个设备可管理客户机/服务器连接,并且在一些情况中可以在多个后端服务器(未示出)之间负载平衡客户机连接。
在多个实施例中,该环境101能提供在多个装置102间共享的会话,包括例如共享的电子白板空间。这样的共享会话可以被包含在或被增加到网络会议应用中,例如GOTOMEETING、WEBEX、MICROSOFT LIVE、LOTUS SAMETIME、WEBHHUDDLE、TOKBOX、OPENMEETINGS或任何其他网络会议应用。网络会议应用通常允许多个用户聚集在公共空间,以及可以准许用户共享和显示共享会话或共享空间中的内容并与其交互。如本文所使用的,共享会话或共享空间指的是在服务器106处执行的窗口,参与装置102可以与该窗口交互,所述窗口例如共享电子白板。
图1B示出了计算装置100的一个实施例,其可以被用作客户机器102或服务器106。在这个实施例中,计算装置100可以具有一个或多个显示器124a-n、一个或多个I/O装置130a-n、网络接口118、键盘126、指示装置127、中央处理单元121和/或存储软件的存储装置128。在一个实施例中,例如,对于为平板电脑或移动电话的计算装置100,显示装置124a也可以是I/O装置130a。
图1C示出了计算装置100的另一个实施例,其可以被用作客户机器102或服务器106。在计算装置100中包含系统总线150,其与下列组件通信:桥170和第一I/O装置130A。在又一个实施例中,桥170还与中央处理单元121通信,中央处理单元121又与第二I/O装置130B、主存储器122和高速缓存存储器140通信。中央处理单元121内包含I/O端口、存储器端口103和主处理器。
图2中所示的是参与装置102的实施例的框图。该装置102执行诸如窗口管理服务206之类的应用。窗口管理服务206能与在该装置102上执行的应用204通信,并且在一些实施例中,能与虚拟图形驱动器208通信。窗口管理服务206的主要作用是将装置102的显示器201和I/O装置126、127、130与在装置102上的窗口中本地或远程执行的应用相接口。如所示出的,在装置102的显示器201上并不显示在装置102上执行的所有应用204a-n。图1A、1B、1C和2中的装置可以接收并处理手势输入(例如,移动电话、平板电脑或其他手势敏感装置)。
在一些实施例中,服务器106是执行一个或多个应用505A-N的远程计算装置501。在用于共享协作的网络会议环境101中,一个这样的应用可以是共享会话窗口,例如共享的电子白板空间。在具有共享会话窗口的网络会议应用的一个实施例中,参与者102和服务器106之间的不同通道承载参与者102和服务器106之间不同类型的通信。
例如,在在线会议环境中,第一通道可承载屏幕数据,而第二通道(其可以被共享)可提供参与者之间的实时通信。在又一个示例中,装置102可以通过一个或多个虚通道与服务器106通信。在一些实施例中,通过网络104建立的第一通道可以被称为控制虚通道。在一些实施例中,通过网络104建立的第二通道可以被称为无缝虚通道。控制虚通道可以被用于发送控制命令和其他各种命令,而无缝虚通道可以被用于发送共享空间窗口、应用窗口、任务栏、系统托盘等。在一些实施例中,第一通道可以被用于传输手势命令。因此,每个虚通道可以承载不同的功能和内容。
在一些实施例中,可以通过参与装置102或服务器106的其中一个或两者来建立虚通道。在一个实施例中,在移动装置102上执行的窗口管理服务206或者在远程计算机106上执行的远程客户端510可以被用来建立虚通道。
在一些实施例中,远程计算机501可执行远程客户端510。远程客户端510可与控制虚通道或无缝虚通道通信并且可以传输和接收去往或来自移动装置102的数据。在一些实施例中,远程客户端510可以与窗口管理服务206协作来修改在远程计算机501上执行的远程应用505(例如共享会话窗口)以用于在移动装置102上进行远程显示。在一些实施例中,窗口管理服务206是由CITRIX SYSTEMS公司发布的CITRIX RECEIVER。
在一个实施例中,在客户装置102的存储装置128中存储的参与者软件与参与者102的各种组件(例如,操作系统)通信以向该软件和装置提供这些特征或其他特征。例如,该参与者软件可以创建并维护共享通道的本地副本。该参与者软件也可提供方法来对虚通道读写数据并传输变化到其他参与者102和/或服务器106。该参与者软件也可提供从屏幕数据通道和/或无缝虚通道进行读取的方法。
在一个实施例中,服务器106的存储装置128中的服务器软件与服务器106的各种组件(例如,操作系统)通信以向该软件和服务器106提供这些特征和其他各种特征。例如,该服务器软件可以创建共享通道并维护该共享通道状态的本地副本。服务器软件可提供方法来通过屏幕数据通道或无缝虚通道向参与者传输屏幕数据。
在本文公开的一个实施例中,支持手势的客户机或参与者102可以参与共享会话。这样的手势输入的示例包括触摸、多点触摸、触笔或其他类型的输入。这样的装置102包括平板电脑、PDA和移动电话。可以由位于该装置102的数字转换器来对手势输入进行数字化。
该装置102可以执行被配置为接受手势输入的应用204。该应用204可以自然地接受手势输入或者可以被修改来接受手势输入。例如,应用204可以接收由用户通过该装置102的触摸屏输入的数据,并且可以被修改为适应类似虚拟键盘和虚拟滚动菜单的典型触摸屏输入功能。
图3中所示的是用于远程地提供手势信息给在远程计算机501(例如服务器106)处执行的远程应用505(例如共享会话窗口)的方法600的一个实施例。在移动装置102上执行的窗口管理服务206可以提取手势信息并且将所提取的信息传输到远程计算机501(步骤605)。远程计算机501可以接收手势信息(步骤610)然后按照所选择的格式生成新的手势信息(步骤615)。接着,远程计算机501可以将该手势信息转换成公共格式(步骤620)并且可对在远程计算机501上执行的远程应用505重放该手势信息(步骤625)。
在一个实施例中,窗口管理服务206可以从在移动装置102处的输入提取手势信息并且将该信息传输到远程计算机501(步骤605)。在一些实施例中,当向应用窗口发出一个或多个手势输入时,移动装置102上执行的操作系统将这些事件转发到对应的应用。该应用窗口可以是本地执行的应用的窗口、可以是显示远程执行桌面的窗口或者可以是显示远程执行应用的窗口。在许多情况下,操作系统可以接收向移动装置102上所显示的任一应用窗口发出的手势输入。
在一些实施例中,操作系统确定该手势输入被发给忽略该输入的应用窗口。例如,这个窗口可能显示不能处理手势输入的远程应用或桌面。忽略该输入可导致对默认窗口过程的调用,该默认窗口过程通过尝试将该手势输入转换成鼠标事件来处理该输入。
在一些情况下,可以将窗口管理服务206修改为包含能处理手势事件的子功能或模块。这种修改可使得窗口管理服务206拦截发向与远程执行应用或桌面对应的应用窗口的手势事件,并且将所拦截的手势传输到远程计算机501。在一些实施例中,响应于拦截或检测到手势输入消息,窗口管理服务206可提取关于该手势或触摸输入的信息。
一旦该手势信息被拦截或检索并被传输到远程计算机501,该远程计算机接收到该手势信息(步骤610)并按照所选择的格式生成手势信息(步骤615)。在一些实施例中,在远程计算机501上执行的远程客户端510或数字转换器可直接按照公共手势结构或以另一格式来创建手势信息。当创建手势信息时,远程客户端510可发送该手势事件或手势信息到应用505的目标窗口,例如共享会话窗口。
可以调用一个功能以便通过向操作系统传递定义对特定手势的禁用/启用消息的内存结构的数组来向该操作系统通知所支持的手势类型和配置。例如,可以向该操作系统传递内存结构,例如定义下列手势的形态(aspect)的内存结构:平移、旋转、惯性等。该结构可控制手势的形态,例如允许水平平移而不是垂直平移,或不允许惯性。在向操作系统发送这些内存结构后,操作系统接着可以被配置为对于指定的应用窗口支持在内存结构中定义的特定手势。在一些实施例中,远程计算机501可以对移动装置102远程进行这些调用,并且移动装置102可以将在该功能调用期间所传递的内存结构应用到在该移动装置102上执行的操作系统。可以在移动装置102上的窗口管理服务206在该移动装置102上所显示的应用窗口上调用该功能时完成上述操作。
例如,如果共享会话窗口不支持旋转,那么远程计算机501可以传输一个内存结构,该内存结构识别与该共享会话关联的应用输出窗口不支持旋转。这个功能调用被发送到移动装置102,移动装置102进而将具有声明不支持旋转的参数的本地功能调用发送给显示由在远程计算机501上执行的共享会话的实例生成的应用输出的应用输出窗口。
在一些实施例中,如果窗口管理服务206拦截或接收到来自移动装置102上执行的操作系统且发送给显示远程执行应用或桌面的应用窗口(例如共享会话窗口)的手势消息,该窗口管理服务206可阻塞来自本地消息处理器的返回。然后,窗口管理服务206可将WM_GESTURENOTIFY消息传输到远程计算机501,在远程计算机501上对于与在移动装置102处的共享会话窗口对应的共享会话重放该消息。
在一些实施例中,方法600可包括不同的步骤集合,其包括传输手势输入而不考虑接收该输入的应用窗口是否能够处理手势。在这些实施例中,窗口管理服务206可拦截所有的手势事件并将这些事件发送到远程计算机501,在那里为对应的远程应用505,例如共享会话窗口,重放这些事件。在远程应用不能处理触摸输入的情况下,该输入或消息被传播到默认窗口过程,该默认窗口过程使得在远程计算机501上执行的操作系统尝试并将触摸输入转换成鼠标事件。例如,垂直平移手势可以使操作系统检测到滚动条并执行对应的Ctrl-Scroll Wheel生成。操作系统也可检测应用窗口中的可编辑区域并在接收到触摸输入时能显示触摸键盘选项等。
在一些实施例中,方法600可以与高保真应用或要求对原始触摸事件的定制处理的应用联合使用。就像手势多点触摸输入,应用可以将窗口注册为能接收原始的多点触摸输入。当应用将窗口注册为能接收原始输入时,远程客户端510可将该调用转发到移动装置102,移动装置102进而将对应窗口通告为可触摸的。该功能调用可包括任一数量的配置参数,例如:关闭合并并打开精细触觉使得对原始触摸输入的合并成为该处理应用的责任;禁用手掌抑制,该手掌抑制阻塞来自无意的手掌接触的消息;以及任何其他配置参数。
在其他实施例中,移动装置102可将发送给注册为接受原始触摸输入的窗口的触摸事件发到远程进行处理。当移动装置102发送该触摸输入时,在移动装置102上执行的窗口管理服务206或其他客户端应用提取该原始的触摸信息。在一些实施例中,移动装置102也发送从触摸部件落下的点开始直到该触摸部件回到上方的接触点序列的标识符。这个标识符考虑到多个同时的序列或多点触摸(多个手指或人);X和Y坐标对应于物理屏幕坐标的像素的百分之一。这提供了下列内容:对于需要高分辨率的应用(例如,手写识别)的高精度;接触区域的宽度和高度;时间戳;这是否是主触点,例如所建立的第一触点;该触点/序列的各个方面例如向下、移动、向上或悬浮事件、输入是否曾被合并、它是否来自用户的手掌等等;以及可被用于检索关于输入装置的信息的装置句柄。在一些实施例中,该装置句柄可以被用于检索关于移动装置的信息。在远程计算机501接收该触摸输入之后,该计算机501可将该触摸输入重放到该远程计算机501上对应的应用窗口。
图4中所示的是支持多点触摸输入的共享会话应用窗口(例如白板)的屏幕截图的实施例。书写板(scratch pad)上的多条线对应于不同的触摸输入,例如来自一个参与装置102上的一个或多个用户的和/或来自一个或多个参与装置102的四个手指或四只触笔。而且,所述多条线说明同时输入多个触摸事件。本文所述的方法和系统可支持任何数量的同时多点触摸输入。在一些实施例中,该支持可以仅被移动装置102的硬件、移动装置102的操作系统或移动装置的驱动器限制。
图5所示的是将该系统和方法应用到具有共享电子白板空间的网络会议应用的桌面环境的屏幕截图的实施例。在一个实施例中,该桌面环境可包括全屏窗口和多监控器窗口两种模式。可以在每窗口基础上协商触摸,因此不同级别的触摸可以被分配给该桌面中的不同窗口并且可以修改该桌面内的窗口而其余窗口保持不变。如图5所示,在右边示出的是共享会话应用窗口,例如白板。
在一个实施例中,本文所述的方法和系统可包括用于获取输入数字转换器(例如,移动装置102的输入数字转换器)的触摸屏能力的方法。窗口管理服务206或远程客户端510可以使用API来查询环境101中装置的手势能力,例如,对多点触摸、笔或触摸的支持,装置102是否就绪、该手势能力是集成的还是外部的。在一些实施例中,所接收的信息可以使窗口管理服务206了解关于移动装置102的触摸能力。这些能力可以被传输到远程计算机501,在那里它们可以被远程应用(例如共享会话)用来协商可接受的输入和命令。当查询这些能力时,远程计算机501可接收这些能力并使它们对在远程计算机501上执行的应用可用。
在一些实施例中,上文所述的方法和系统可以支持坐标转换。在一些情况下,在移动装置102上所显示的且显示由远程执行应用生成的应用输出的应用输出窗口,例如共享窗口,采用空初始位置[0,0]。而且,共享窗口可以创建具有大体上与移动装置102的显示器相同分辨率的远程会话。在一些实施例中,该分辨率可以是多监控器环境的组合桌面分辨率。当该应用输出窗口显示部分或整个远程桌面时,该应用输出窗口可以具有相对于本地物理显示器的偏移坐标。在一些情况下,这可适用于窗口和全屏远程桌面(在多监控器环境的情况下)。因此,准确处理手势输入可要求移动装置102或窗口管理服务206将物理屏幕坐标转换成逻辑屏幕坐标,然后将其作为手势或原始触摸事件的部分发送到主机。例如,如果手势输入的物理坐标是[PhysicalX,PhysicalY]并且远程桌面的左上角处于物理偏移[DesktopX,DesktopY],那么该桌面内的逻辑坐标为[PhysicalX–DesktopX,PhysicalY–DesktopY],其被发送给主机。
除了坐标转换之外,移动装置102或窗口管理服务206可执行坐标缩放。例如,对于被发送到位于自左上角[WindowX,WindowY]处的窗口的手势,且以因子[ScaleX,ScaleY]对其进行缩放,所产生的发送给主机的逻辑坐标可以是:[WindowX–DesktopX+(PhysicalX-WindowX)/ScaleX,WindowY–DesktopY+(PhysicalY-WindowY)/ScaleY]。可以执行类似的转换和缩放以用于平移或缩放桌面窗口来适合移动装置102的窗口大小。
在其他实施例中,上述方法和系统可以支持三维图像共享会话,例如使用诸如Aero技术的三维图像的三维图像和桌面。在这些实施例中,可以将三维绘图从远程计算机501传输到移动装置102。
在其他实施例中,该方法和系统可以在具有高延迟连接的环境中基本上实现零延迟。基本上实现零延迟可包括允许在移动装置102上执行的窗口管理服务206或其他客户端应用给显示远程执行应用505的应用窗口204(例如,共享会话窗口)提供本地反馈。可以基于历史或近似信息来确定这个本地反馈,并且在一些情况下,该本地反馈之后紧接着来自远程执行应用的真实反馈。将窗口管理服务206或其他客户端应用配置为能够本地响应可包括向窗口管理服务206或其他客户端应用传送窗口的能力和应用的能力以处理特定的手势。
例如,如果窗口能处理滚动和缩放并且确定网络延迟在预定阈值之上,那么窗口管理服务206或其他客户端应用可以在检测到手势时基本上立即执行该手势。此外,窗口管理服务206或其他客户端应用也可将该手势传输到能处理该手势的远程应用。在这些实施例中,窗口管理服务206或其他客户端应用可以使用来自视频或图像缓冲器的图形并通过在应用窗口上执行StretchBitBit或BitBit操作来对手势进行本地处理。
例如,窗口管理服务206或其他客户端应用能对在应用窗口中显示的图片进行放大,但能允许该窗口的标题和边界保持完整。一旦远程应用505处理该手势,远程应用505可将应用输出传输到移动装置102,移动装置102接收该应用输出并更新应用窗口204以显示应用对该手势输入的真实响应。
在其他实施例中,本文所述的方法和系统可支持排队和抛弃(toss)使得窗口管理服务206或其他客户端应用能合并原始的触摸输入事件以防止传输管道过载以及保护该会话的交互性。合并可以通过如下方式完成:测量网络的带宽、将来自客户机的信息通过该网络以特定速率传输到远程计算机,以及通过丢弃事件来限制本地客户机原始触摸输入队列的大小。在应用505执行例如手势输入事件处理的速度较慢时也可以使用合并。例如,在一些情况下,尽管到服务器106的带宽可能是足够的,但应用505可能在解释手势输入时较慢,例如,如果服务器负载高,在这样的情况下,服务器106上的远程客户端510可合并输入以保护该应用的交互性。在不合并的情况下,应用可能忙于消化旧手势的潜在长队列并延迟对用户反应。
在本公开的多个实施例中,手势输入可以是滑动(flick)。图6展示了滑动手势的示例。滑动是与滚动动作和命令相关联的快速的线性笔(或单指)运动。除了手势输入之外,滑动也可以从参与装置102远程传送到在主机会话505中执行对应远程应用窗口(例如共享会话窗口)的服务器106。滑动可以与诸如左右击、滚动和书写(inking)之类的正常用户动作并存。滑动可以是单向笔手势。滑动可以通过高速度和高笔直度来表征。滑动可以通过其方向来识别。可以在对应于基本的和次级的指南针方向的八个方向来进行滑动。动作或滑动动作是响应于滑动执行的动作或快捷方式。滑动被映射到动作。图6示出了八种笔滑动,其对应各自的滑动动作。这些滑动可以被传输到服务器106以与共享会话窗口交互。
现转到网络会议应用和共享会话窗口,在许多情况下,网络会议应用显示主应用窗口,其可允许至少一个用户显示应用输出。可以给这些网络会议应用提供手势支持。而且,该方法和系统可以给网络会议应用提供高保真度多点触摸支持,使得网络会议应用能允许多个用户在基本上相同的时间与一个共享会话窗口交互。例如,一个会议成员可显示共享会话窗口,而多个其他会议成员可以在基本上相同的时间与该共享会话窗口交互并修改该共享会话窗口。
在一些实施例中,本文所述的方法和系统可以被扩展到投影(shadowing),即显示在服务器106(被投影者)上执行的应用的窗口。虚通道的实例能处理手势输入,由此允许投影者和被投影者能使用触摸输入与在共享会话内生成和显示的共享会话窗口交互。在一些实施例中,虚通道实例可以是同一虚通道的多个实例(无缝虚通道或控制虚通道)。
每个虚通道实例上可以进来输入并且可以通过服务器106的会话中的主虚通道协调或聚集这些输入。完成该工作可包括协调参与者102和服务器106(投影者和被投影者)的能力并聚集各方的能力。在一些实施例中,协调不同客户机装置102能力可包括聚集所有装置102的能力而不是默认为最小公分母规则。例如,如果第一装置102支持两个同时多点触摸输入并且第二装置102支持十个同时多点触摸输入,那么协调第一和第二装置的能力可包括能够支持12个同时多点触摸输入的共享会话。
在一些实施例中,组合由多个投影者和一个被投影者生成的多点触摸输入可包括采用映射表,该映射表可将用户(例如投影者或被投影者)的触摸标识符映射到用户会话标识符(例如,Citrix生成的会话唯一标识符)。在一个实施例中,这个映射表也可用于避免来自不同用户的接触点序列ID之间的冲突。例如,映射表可用于从实际参与者触摸ID映射到服务器生成的会话唯一ID。在又一个实施例中,映射表可用于在多点触摸环境中协调主触点。例如,从参与者102报告为主要的第一触点可以被指定为主触点而所有其他触点保持为次要的。
在其他实施例中,组合由多个投影者和一个被投影者生成的多点触摸输入可包括对准来自不同用户的手势和触摸输入的时间戳。这可以作为能力协商的部分通过从每个用户收集当前时间来完成。可以确定每个用户的时间和对于该被投影者的基准时间之间的差。接着,这些所确定的时间差可以被用于通过减去用户时间与基准时间之间的差来标准化手势和触摸输入的时间戳。
在其他实施例中,组合或聚集由多个投影者和一个被投影者生成的手势输入可包括丢弃输入。服务器106可确定是否处理多个输入中的每一个。在一个示例中,服务器106可确定两个输入之间的时间戳的差异是否小于所指定的阈值。例如,如果互相在1秒或更少时间内收到两个输入,可以仅处理这两个输入的其中一个以避免在修改应用显示或其他输出或执行应用功能时的潜在冲突。可以使用各种阈值并且所采用的阈值可取决于输入的类型、应用的功能或者所产生的对应用的修改。例如,缩放应用窗口可能要两秒来完成,例如对于视觉动画所要求的时间。相应地,在缩放输入的两秒内所接收的其他输入可以被丢弃或以其他方式忽略。
如果一个或多个输入将要被忽略,服务器106可以选择要处理的输入。例如,相对于投影者输入,服务器106可能总是处理被投影者输入。在又一个示例中,服务器可以处理两个或多个冲突的输入中的第一输入(在时间方面)。可选择地或附加地,可实现其他规则来解决输入之间的冲突。服务器106可在应用的上下文中连续处理所接收的输入或所选择的输入,例如以影响该应用的功能或显示,以及可以将输出传输到参与装置102和用户。
尽管已在附图中显示和描述了某些示例性实施例,应理解这样的实施例仅是举例说明而非对本文所述的方法和系统进行限制。此外,可以在硬件、可编程装置、固件、软件或上述的组合中实现本文所述的方法和系统或其特征中的一些特征。本文所述的方法和系统或本文所述的方法和系统的部分也可以在处理器可读介质或机器可读介质中实现,例如在磁性存储介质(例如,硬盘、软盘)、光学存储介质(例如,光盘、数字通用光盘等),或半导体存储介质(易失的和非易失的)中。
Claims (58)
1.一种用于提供共享会话环境的方法,所述方法包括:
促成与第一远程计算装置的第一连接的建立以向该第一远程计算装置提供对共享会话窗口的访问;
促成与第二远程计算装置的第二连接的建立以向该第二远程计算装置提供对所述共享会话窗口的访问;
确定在依据第一远程计算装置的当前时间与基准的当前时间之间的第一时间差;
确定在依据第二远程计算装置的当前时间与基准的当前时间之间的第二时间差;
与第一和第二远程计算装置协商手势能力;
经由第一连接接收对应于第一手势的数据,该第一手势是在该第一远程计算装置处显示的共享会话窗口输入的以与所述共享会话窗口交互,该第一手势与在第一远程计算装置处生成的第一时间戳关联;
经由第二连接接收对应于第二手势的数据,该第二手势是在该第二远程计算装置处显示的共享会话窗口输入的以与所述共享会话窗口交互,该第二手势与在第二远程计算装置处生成的第二时间戳关联;
协调对应于第一和第二手势的数据以生成修改指令,该修改指令表示由在第一和第二远程计算装置处与所述共享会话窗口的交互所限定的操作,协调所述数据包括基于第一时间差标准化第一时间戳和基于第二时间差标准化第二时间戳,其中标准化第一时间戳包括从第一时间戳减去第一时间差,以及其中标准化第二时间戳包括从第二时间戳减去第二时间差;以及
通过第一和第二连接将经修改的共享会话窗口传输到第一和第二远程计算装置。
2.根据权利要求1所述的方法,还包括:
从第一远程计算装置获取所述依据第一远程计算装置的当前时间和从第二远程计算装置获取所述依据第二远程计算装置的当前时间。
3.根据权利要求1所述的方法,其中,所述协调步骤包括采用映射表,该映射表将对应于第一手势的数据映射到第一共享会话命令并且将对应于第二手势的数据映射到第二共享会话命令。
4.根据权利要求1所述的方法,其中,第一连接包括屏幕共享通道和第一输入通道并且第二连接包括所述屏幕共享通道和第二输入通道。
5.根据权利要求1所述的方法,其中,对应于第一手势的数据是原始的多点触摸信息。
6.根据权利要求5所述的方法,其中,所述协调步骤还包括将所述原始的多点触摸信息格式化成能够与所述共享会话窗口兼容的格式。
7.根据权利要求6所述的方法,其中,所述格式化计及了所协商的第一远程计算装置的手势能力。
8.根据权利要求1所述的方法,其中,所述协商步骤包括聚集所述第一和第二远程计算装置的能力。
9.根据权利要求8所述的方法,其中,聚集所述能力包括对第一远程计算装置能接收的触摸输入的数量和第二远程计算装置能接收的触摸输入的数量进行求和。
10.根据权利要求1所述的方法,其中,通过在第一远程计算装置处对原始的多点触摸信息的处理来格式化所述对应于第一手势的数据以用于进行解释。
11.根据权利要求1所述的方法,其中,对应于第一手势的数据是滑动。
12.根据权利要求1所述的方法,其中,对应于第一手势的数据是来自笔或触摸数字转换器的触笔事件。
13.根据权利要求1所述的方法,其中,所述协调步骤还包括在共享会话中的低带宽网络情况下和/或当应用的执行速度慢时对第一和/或第二手势进行排队、抛弃和/或合并。
14.根据权利要求1所述的方法,其中,所述协调步骤还包括:
确定第一和第二手势的接收时间差;以及
响应于确定所述时间差小于阈值时间量,丢弃第一和第二手势的其中一个。
15.一种用于提供共享会话环境的方法,所述方法包括:
促成与第一远程计算装置的第一连接的建立以向该第一远程计算装置提供对共享会话窗口的访问;
促成与第二远程计算装置的第二连接的建立以向该第二远程计算装置提供对该共享会话窗口的访问;
确定在依据第一远程计算装置的当前时间与基准的当前时间之间的第一时间差;
确定在依据第二远程计算装置的当前时间与基准的当前时间之间的第二时间差;
与第一远程计算装置协商手势能力;
经由第一连接接收与在该第一远程计算装置处显示的共享会话窗口输入的以与该共享会话窗口交互的手势对应的数据,所述手势与在第一远程计算装置处生成的第一时间戳关联;
经由第二连接接收与在该第二远程计算装置处显示的共享会话窗口输入的以与该共享会话窗口交互的非手势对应的数据,所述非手势与在第二远程计算装置处生成的第二时间戳关联;
协调与所述手势和非手势对应的数据以生成修改指令,该修改指令表示由在第一和第二远程计算装置处与所述共享会话窗口的交互所限定的操作,协调所述数据包括基于第一时间差标准化第一时间戳和基于第二时间差标准化第二时间戳,其中标准化第一时间戳包括从第一时间戳减去第一时间差,以及其中标准化第二时间戳包括从第二时间戳减去第二时间差;以及
通过第一和第二连接将经修改的共享会话窗口传输到第一和第二远程计算装置。
16.根据权利要求15所述的方法,还包括:
从第一远程计算装置获取所述依据第一远程计算装置的当前时间和从第二远程计算装置获取所述依据第二远程计算装置的当前时间。
17.根据权利要求15所述的方法,其中,所述协调步骤包括采用映射表,该映射表将与所述手势对应的数据映射到第一共享会话命令并且将与所述非手势对应的数据映射到第二共享会话命令。
18.根据权利要求15所述的方法,其中,第一连接包括屏幕共享通道和第一输入通道并且第二连接包括所述屏幕共享通道和第二输入通道。
19.根据权利要求15所述的方法,其中,所述非手势是鼠标点击或键盘输入。
20.根据权利要求15所述的方法,其中,与所述手势对应的数据是原始的多点触摸信息。
21.根据权利要求20所述的方法,其中,所述协调步骤还包括将所述原始的多点触摸信息格式化成能够与所述共享会话窗口兼容的格式。
22.根据权利要求21所述的方法,其中,所述格式化计及了所协商的第一远程计算装置的手势能力。
23.根据权利要求15所述的方法,其中,所述协商步骤包括聚集所述第一和第二远程计算装置的能力。
24.根据权利要求23所述的方法,其中,聚集所述能力包括对第一远程计算装置能接收的触摸输入的数量和第二远程计算装置能接收的触摸输入的数量进行求和。
25.根据权利要求15所述的方法,其中,通过在第一远程计算装置处对原始的多点触摸信息的处理来格式化与所述手势对应的数据以用于进行解释。
26.根据权利要求15所述的方法,其中,与所述手势对应的数据是滑动。
27.根据权利要求15所述的方法,其中,与所述手势对应的数据是来自笔或触摸数字转换器的触笔事件。
28.根据权利要求15所述的方法,其中,所述协调步骤还包括在共享会话中的低带宽网络情况下和/或当应用的执行速度慢时对所述手势和非手势进行排队、抛弃和/或合并。
29.根据权利要求15所述的方法,其中,所述协调步骤还包括:
确定所述手势和非手势的接收时间差;以及
响应于确定所述时间差小于阈值时间量,丢弃所述手势和非手势的其中一个。
30.一种用于提供共享会话环境的装置,所述装置包括:
网络接口,其被配置为:
促成与第一远程计算装置的第一连接的建立以向该第一远程计算装置提供对共享会话窗口的访问;
促成与第二远程计算装置的第二连接的建立以向该第二远程计算装置提供对所述共享会话窗口的访问;
处理器,其被配置为执行软件以便:
确定在依据第一远程计算装置的当前时间与基准的当前时间之间的第一时间差;
确定在依据第二远程计算装置的当前时间与基准的当前时间之间的第二时间差;
与第一和第二远程计算装置协商手势能力;
从第一连接接收对应于第一手势的数据,该第一手势是在该第一远程计算装置处显示的共享会话窗口输入的以与该共享会话窗口交互,该第一手势与在第一远程计算装置处生成的第一时间戳关联;
从第二连接接收对应于第二手势的数据,该第二手势是在该第二远程计算装置处显示的共享会话窗口输入的以与该共享会话窗口交互,该第二手势与在第二远程计算装置处生成的第二时间戳关联;
协调对应于第一和第二手势的数据以生成修改指令,该修改指令表示由在第一和第二远程计算装置处与所述共享会话窗口的交互所限定的操作,协调所述数据包括基于第一时间差标准化第一时间戳和基于第二时间差标准化第二时间戳,其中标准化第一时间戳包括从第一时间戳减去第一时间差,以及其中标准化第二时间戳包括从第二时间戳减去第二时间差;以及
通过第一和第二连接将经修改的共享会话窗口传输到第一和第二远程计算装置。
31.根据权利要求30所述的装置,其中,所述处理器被配置为还执行软件以便:
从第一远程计算装置获取所述依据第一远程计算装置的当前时间和从第二远程计算装置获取所述依据第二远程计算装置的当前时间。
32.根据权利要求30所述的装置,其中,所述协调包括采用映射表,该映射表将对应于第一手势的数据映射到第一共享会话命令并且将对应于第二手势的数据映射到第二共享会话命令。
33.根据权利要求30所述的装置,其中,第一连接包括屏幕共享通道和第一输入通道并且第二连接包括所述屏幕共享通道和第二输入通道。
34.根据权利要求30所述的装置,其中,对应于第一手势的数据是原始的多点触摸信息。
35.根据权利要求34所述的装置,其中,所述协调步骤还包括将所述原始的多点触摸信息格式化成能够与所述共享会话窗口兼容的格式。
36.根据权利要求35所述的装置,其中,所述格式化计及了所协商的第一远程计算装置的手势能力。
37.根据权利要求30所述的装置,其中,所述协商包括聚集所述第一和第二远程计算装置的能力。
38.根据权利要求37所述的装置,其中,聚集所述能力包括对第一远程计算装置能接收的触摸输入的数量和第二远程计算装置能接收的触摸输入的数量进行求和。
39.根据权利要求30所述的装置,其中,通过在第一远程计算装置处对原始的多点触摸信息的处理来格式化所述对应于第一手势的数据以用于进行解释。
40.根据权利要求30所述的装置,其中,对应于第一手势的数据是滑动。
41.根据权利要求30所述的装置,其中,对应于第一手势的数据是来自笔或触摸数字转换器的触笔事件。
42.根据权利要求30所述的装置,其中,执行所述协调的软件还在共享会话中的低带宽网络情况下和/或当应用的执行速度慢时对第一和/或第二手势进行排队、抛弃和/或合并。
43.根据权利要求30所述的装置,其中,所述协调包括:
确定第一和第二手势的接收时间差;以及
响应于确定所述时间差小于阈值时间量,丢弃第一和第二手势的其中一个。
44.一种用于提供共享会话环境的装置,所述装置包括:
网络接口,其被配置为:
促成与第一远程计算装置的第一连接的建立以向该第一远程计算装置提供对共享会话窗口的访问;
促成与第二远程计算装置的第二连接的建立以向该第二远程计算装置提供对所述共享会话窗口的访问;和
处理器,其被配置为执行软件以便:
确定在依据第一远程计算装置的当前时间与基准的当前时间之间的第一时间差;
确定在依据第二远程计算装置的当前时间与基准的当前时间之间的第二时间差;
与所述第一远程计算装置协商手势能力;
从第一连接接收与在该第一远程计算装置处显示的共享会话窗口输入的以与该共享会话窗口交互的手势对应的数据,所述手势与在第一远程计算装置处生成的第一时间戳关联;
从第二连接接收与在该第二远程计算装置处显示的共享会话窗口输入的以与该共享会话窗口交互的非手势对应的数据,所述非手势与在第二远程计算装置处生成的第二时间戳关联;
协调与所述手势和非手势对应的数据以生成修改指令,该修改指令表示由在第一和第二远程计算装置处与所述共享会话窗口的交互所限定的操作,协调所述数据包括基于第一时间差标准化第一时间戳和基于第二时间差标准化第二时间戳,其中标准化第一时间戳包括从第一时间戳减去第一时间差,以及其中标准化第二时间戳包括从第二时间戳减去第二时间差;以及
通过第一和第二连接将经修改的共享会话窗口传输到第一和第二远程计算装置。
45.根据权利要求44所述的装置,其中,所述处理器被配置为还执行软件以便:
从第一远程计算装置获取所述依据第一远程计算装置的当前时间和从第二远程计算装置获取所述依据第二远程计算装置的当前时间。
46.根据权利要求44所述的装置,其中,所述协调包括采用映射表,该映射表将与所述手势对应的数据映射到第一共享会话命令并且将与所述非手势对应的数据映射到第二共享会话命令。
47.根据权利要求44所述的装置,其中,第一连接包括屏幕共享通道和第一输入通道并且第二连接包括所述屏幕共享通道和第二输入通道。
48.根据权利要求44所述的装置,其中,所述非手势是鼠标点击或键盘输入。
49.根据权利要求44所述的装置,其中,与所述手势对应的数据是原始的多点触摸信息。
50.根据权利要求49所述的装置,其中,所述协调步骤还包括将所述原始的多点触摸信息格式化成能够与所述共享会话窗口兼容的格式。
51.根据权利要求50所述的装置,其中,所述格式化计及了所协商的第一远程计算装置的手势能力。
52.根据权利要求44所述的装置,其中,所述协商包括聚集所述第一和第二远程计算装置的能力。
53.根据权利要求52所述的装置,其中,聚集所述能力包括对第一远程计算装置能接收的触摸输入的数量和第二远程计算装置能接收的触摸输入的数量进行求和。
54.根据权利要求44所述的装置,其中,通过在第一远程计算装置处对原始的多点触摸信息的处理来格式化与所述手势对应的数据以用于进行解释。
55.根据权利要求44所述的装置,其中,与所述手势对应的数据是滑动。
56.根据权利要求41所述的装置,其中,与所述手势对应的数据是来自笔或触摸数字转换器的触笔事件。
57.根据权利要求44所述的装置,其中,执行所述协调的软件还在共享会话中的低带宽网络情况下和/或当应用的执行速度慢时对所述手势和非手势进行排队、抛弃和/或合并。
58.根据权利要求44所述的装置,其中,所述协调包括:
确定所述手势和非手势的接收时间差;以及
响应于确定所述时间差小于阈值时间量,丢弃所述手势和非手势的其中一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38998510P | 2010-10-05 | 2010-10-05 | |
US61/389985 | 2010-10-05 | ||
PCT/US2011/054963 WO2012048028A1 (en) | 2010-10-05 | 2011-10-05 | Gesture support for shared sessions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103238135A CN103238135A (zh) | 2013-08-07 |
CN103238135B true CN103238135B (zh) | 2017-05-24 |
Family
ID=44863242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180058214.9A Active CN103238135B (zh) | 2010-10-05 | 2011-10-05 | 对于共享会话的手势支持 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9152436B2 (zh) |
EP (1) | EP2625602B1 (zh) |
CN (1) | CN103238135B (zh) |
WO (1) | WO2012048028A1 (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9198084B2 (en) * | 2006-05-26 | 2015-11-24 | Qualcomm Incorporated | Wireless architecture for a traditional wire-based protocol |
US9398089B2 (en) * | 2008-12-11 | 2016-07-19 | Qualcomm Incorporated | Dynamic resource sharing among multiple wireless devices |
US9264248B2 (en) | 2009-07-02 | 2016-02-16 | Qualcomm Incorporated | System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment |
US9582238B2 (en) * | 2009-12-14 | 2017-02-28 | Qualcomm Incorporated | Decomposed multi-stream (DMS) techniques for video display systems |
US20130013318A1 (en) | 2011-01-21 | 2013-01-10 | Qualcomm Incorporated | User input back channel for wireless displays |
US9065876B2 (en) | 2011-01-21 | 2015-06-23 | Qualcomm Incorporated | User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays |
US9413803B2 (en) | 2011-01-21 | 2016-08-09 | Qualcomm Incorporated | User input back channel for wireless displays |
US9787725B2 (en) | 2011-01-21 | 2017-10-10 | Qualcomm Incorporated | User input back channel for wireless displays |
US10135900B2 (en) | 2011-01-21 | 2018-11-20 | Qualcomm Incorporated | User input back channel for wireless displays |
US8964783B2 (en) | 2011-01-21 | 2015-02-24 | Qualcomm Incorporated | User input back channel for wireless displays |
US9503771B2 (en) | 2011-02-04 | 2016-11-22 | Qualcomm Incorporated | Low latency wireless display for graphics |
US10108386B2 (en) * | 2011-02-04 | 2018-10-23 | Qualcomm Incorporated | Content provisioning for wireless back channel |
US20120221960A1 (en) * | 2011-02-28 | 2012-08-30 | Robinson Ian N | Collaborative workspace viewing for portable electronic devices |
US20130104089A1 (en) * | 2011-10-20 | 2013-04-25 | Fuji Xerox Co., Ltd. | Gesture-based methods for interacting with instant messaging and event-based communication applications |
US9525998B2 (en) | 2012-01-06 | 2016-12-20 | Qualcomm Incorporated | Wireless display with multiscreen service |
US9507512B1 (en) | 2012-04-25 | 2016-11-29 | Amazon Technologies, Inc. | Using gestures to deliver content to predefined destinations |
US9218526B2 (en) | 2012-05-24 | 2015-12-22 | HJ Laboratories, LLC | Apparatus and method to detect a paper document using one or more sensors |
GB2514964B (en) * | 2012-05-29 | 2020-06-10 | Hewlett Packard Development Co | Translation of touch input into local input based on a translation profile for an application |
US10156455B2 (en) | 2012-06-05 | 2018-12-18 | Apple Inc. | Context-aware voice guidance |
US8965696B2 (en) | 2012-06-05 | 2015-02-24 | Apple Inc. | Providing navigation instructions while operating navigation application in background |
US9482296B2 (en) | 2012-06-05 | 2016-11-01 | Apple Inc. | Rendering road signs during navigation |
US9159153B2 (en) | 2012-06-05 | 2015-10-13 | Apple Inc. | Method, system and apparatus for providing visual feedback of a map view change |
US9111380B2 (en) | 2012-06-05 | 2015-08-18 | Apple Inc. | Rendering maps |
US9418672B2 (en) | 2012-06-05 | 2016-08-16 | Apple Inc. | Navigation application with adaptive instruction text |
US9997069B2 (en) | 2012-06-05 | 2018-06-12 | Apple Inc. | Context-aware voice guidance |
US10176633B2 (en) | 2012-06-05 | 2019-01-08 | Apple Inc. | Integrated mapping and navigation application |
US9886794B2 (en) | 2012-06-05 | 2018-02-06 | Apple Inc. | Problem reporting in maps |
US9311750B2 (en) * | 2012-06-05 | 2016-04-12 | Apple Inc. | Rotation operations in a mapping application |
EP3588342B1 (en) | 2012-06-11 | 2022-10-12 | Samsung Electronics Co., Ltd. | Mobile device and control method thereof |
US9113033B2 (en) | 2012-08-28 | 2015-08-18 | Microsoft Technology Licensing, Llc | Mobile video conferencing with digital annotation |
US9535720B2 (en) * | 2012-11-13 | 2017-01-03 | International Business Machines Corporation | System for capturing and replaying screen gestures |
US9772978B2 (en) * | 2013-02-07 | 2017-09-26 | Adobe Systems Incorporated | Touch input visualizations based on user interface context |
US10243786B2 (en) * | 2013-05-20 | 2019-03-26 | Citrix Systems, Inc. | Proximity and context aware mobile workspaces in enterprise systems |
GB2518206B (en) * | 2013-09-13 | 2021-03-31 | Realvnc Ltd | System and method for remote computer control |
US20150138089A1 (en) * | 2013-11-15 | 2015-05-21 | TabiTop, LLC | Input devices and methods |
US9509753B2 (en) * | 2014-01-08 | 2016-11-29 | Samsung Electronics Co., Ltd. | Mobile apparatus and method for controlling thereof, and touch device |
EP2961209A1 (en) * | 2014-06-25 | 2015-12-30 | Thomson Licensing | Method and device for pairing devices |
US10042528B2 (en) | 2015-08-31 | 2018-08-07 | Getgo, Inc. | Systems and methods of dynamically rendering a set of diagram views based on a diagram model stored in memory |
US10466811B2 (en) | 2016-05-20 | 2019-11-05 | Citrix Systems, Inc. | Controlling a local application running on a user device that displays a touchscreen image on a touchscreen via mouse input from external electronic equipment |
US10394346B2 (en) | 2016-05-20 | 2019-08-27 | Citrix Systems, Inc. | Using a hardware mouse to operate a local application running on a mobile device |
US11487559B2 (en) | 2019-10-07 | 2022-11-01 | Citrix Systems, Inc. | Dynamically switching between pointer modes |
US11457483B2 (en) | 2020-03-30 | 2022-09-27 | Citrix Systems, Inc. | Managing connections between a user device and peripheral devices |
US11671657B2 (en) | 2021-06-30 | 2023-06-06 | Rovi Guides, Inc. | Method and apparatus for shared viewing of media content |
CN113961291B (zh) * | 2021-10-21 | 2023-09-01 | 南京工业职业技术大学 | 一种基于触摸手势识别与压缩表示的移动设备远程控制方法与系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1474540A (zh) * | 2003-05-08 | 2004-02-11 | 上海交通大学 | 远程教学多模式实时多媒体交互系统 |
CN101005600A (zh) * | 2006-01-18 | 2007-07-25 | 三星电子株式会社 | 使用白板的视频会议 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5583993A (en) | 1994-01-31 | 1996-12-10 | Apple Computer, Inc. | Method and apparatus for synchronously sharing data among computer |
AU2002226889A1 (en) * | 2000-11-13 | 2002-05-21 | Gtco Cal Comp | Collaborative input system |
US20030071850A1 (en) * | 2001-10-12 | 2003-04-17 | Microsoft Corporation | In-place adaptive handwriting input method and system |
US20050273700A1 (en) | 2004-06-02 | 2005-12-08 | Amx Corporation | Computer system with user interface having annotation capability |
US7774430B2 (en) * | 2005-11-14 | 2010-08-10 | Graphics Properties Holdings, Inc. | Media fusion remote access system |
US7725547B2 (en) * | 2006-09-06 | 2010-05-25 | International Business Machines Corporation | Informing a user of gestures made by others out of the user's line of sight |
US8356254B2 (en) * | 2006-10-25 | 2013-01-15 | International Business Machines Corporation | System and method for interacting with a display |
US8376226B2 (en) * | 2007-04-03 | 2013-02-19 | International Business Machines Corporation | System and method for interactive marketing to consumers |
US8446297B2 (en) * | 2008-04-03 | 2013-05-21 | Livescribe, Inc. | Grouping variable media inputs to reflect a user session |
US8375336B2 (en) * | 2008-05-23 | 2013-02-12 | Microsoft Corporation | Panning content utilizing a drag operation |
US8566717B2 (en) * | 2008-06-24 | 2013-10-22 | Microsoft Corporation | Rendering teaching animations on a user-interface display |
US8539101B2 (en) * | 2008-08-12 | 2013-09-17 | Disney Enterprises, Inc. | Systems, methods, and computer programs for detecting carrier-controlled requests for a web site |
US9250797B2 (en) * | 2008-09-30 | 2016-02-02 | Verizon Patent And Licensing Inc. | Touch gesture interface apparatuses, systems, and methods |
US9417787B2 (en) * | 2010-02-12 | 2016-08-16 | Microsoft Technology Licensing, Llc | Distortion effects to indicate location in a movable data collection |
US8286102B1 (en) * | 2010-05-27 | 2012-10-09 | Adobe Systems Incorporated | System and method for image processing using multi-touch gestures |
US20120026100A1 (en) * | 2010-07-30 | 2012-02-02 | Migos Charles J | Device, Method, and Graphical User Interface for Aligning and Distributing Objects |
US20120166522A1 (en) * | 2010-12-27 | 2012-06-28 | Microsoft Corporation | Supporting intelligent user interface interactions |
-
2011
- 2011-10-05 EP EP11771357.8A patent/EP2625602B1/en active Active
- 2011-10-05 US US13/253,646 patent/US9152436B2/en active Active
- 2011-10-05 CN CN201180058214.9A patent/CN103238135B/zh active Active
- 2011-10-05 WO PCT/US2011/054963 patent/WO2012048028A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1474540A (zh) * | 2003-05-08 | 2004-02-11 | 上海交通大学 | 远程教学多模式实时多媒体交互系统 |
CN101005600A (zh) * | 2006-01-18 | 2007-07-25 | 三星电子株式会社 | 使用白板的视频会议 |
Also Published As
Publication number | Publication date |
---|---|
US9152436B2 (en) | 2015-10-06 |
EP2625602A1 (en) | 2013-08-14 |
US20120084670A1 (en) | 2012-04-05 |
EP2625602B1 (en) | 2019-11-27 |
WO2012048028A1 (en) | 2012-04-12 |
CN103238135A (zh) | 2013-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103238135B (zh) | 对于共享会话的手势支持 | |
US11494010B2 (en) | Touch support for remoted applications | |
CA2425746C (en) | Collaborative input system | |
CN102027464B (zh) | 虚拟桌面视图滚动 | |
JP5857443B2 (ja) | コンテンツ共有システム | |
US7996776B2 (en) | Shared telepointer | |
KR101733115B1 (ko) | 원격 스크린내 콘텐츠 원격 제어 방법 및 장치 | |
US8549093B2 (en) | Updating a user session in a mach-derived system environment | |
US20050204296A1 (en) | Method, a hypermedia browser, a network client, a network server, and a computer software product for providing joint navigation of hypermedia documents | |
CN108885521A (zh) | 跨环境共享 | |
CN105630452A (zh) | 一种传屏方法及电子设备 | |
JP2012238219A (ja) | 情報処理装置、サーバ装置、情報処理方法、コンピュータプログラム及びコンテンツ共有システム | |
CN101026612A (zh) | 在即时通讯工具中管理不同属性分组及其成员的方法 | |
CN106970720A (zh) | 一种虚拟仿真器及单机多鼠标独立并行操控方法 | |
WO2019056902A1 (zh) | 分享信息的处理方法、设备及计算机可读存储介质 | |
CN111078104A (zh) | 一种云桌面上的多点触控设备的重定向方法及计算机设备 | |
CN110506264A (zh) | 针对实时协作的实况墨水呈现 | |
CN103412704B (zh) | 用于通过姿势或触摸控制用户界面的优化方案 | |
WO2019185007A1 (zh) | 一种窗口控制栏的布局方法、装置及设备 | |
Salimian et al. | Imrce: A unity toolkit for virtual co-presence | |
CN103853470B (zh) | 数据处理和显示方法及设备 | |
CN110049088A (zh) | 从独立可寻址消息得到原子通信线程 | |
CN101510141A (zh) | 触摸屏信息显示方法 | |
CN101662358A (zh) | Rap协议的实现方法 | |
Dang et al. | A framework for the development of multi-display environment applications supporting interactive real-time portals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |