CN104145258A - 基于服务器的远程桌面记录和回放方法和装置 - Google Patents
基于服务器的远程桌面记录和回放方法和装置 Download PDFInfo
- Publication number
- CN104145258A CN104145258A CN201280055124.9A CN201280055124A CN104145258A CN 104145258 A CN104145258 A CN 104145258A CN 201280055124 A CN201280055124 A CN 201280055124A CN 104145258 A CN104145258 A CN 104145258A
- Authority
- CN
- China
- Prior art keywords
- data
- desktop client
- rdp
- activity
- remote desktop
- 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
Classifications
-
- 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/50—Network services
- H04L67/535—Tracking the activity of the user
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/14—Session management
-
- 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/14—Session management
- H04L67/148—Migration or transfer of sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了基于服务器的远程桌面会话的记录和回放方法。记录和回放方法的一个实施例包括接收与远程桌面协议会话相关的数据。记录和回放方法的一个实施例进一步包括在与远程桌面协议会话的远程桌面协议客户端关联的装置以外的其他位置存储数据。记录和回放方法的一个实施例还包括接收复制远程桌面会话的请求。记录和回放方法的一个实施例还包括从存储器获取数据。记录和回放方法的一个实施例包括根据至少部分获取的数据协助复制至少部分远程桌面协议会话。此外,本发明还提供了相关的方法、装置、系统和计算机程序产品。
Description
技术领域
本发明的实施例涉及远程桌面技术,更具体地说,本发明的实施例涉及一种远程桌面会话的基于服务器的记录和回放方法、装置和计算机程序产品。
背景技术
长期以来,计算机产业经历了快速发展和革新。技术进步不仅引发了新型计算设备,而且促进了计算设备在其中操作和交互的系统和网络的发展。从大型计算机和超级计算机到个人电脑和移动设备,每个计算设备的新模型都带来了伴随着挑战和优势的共享。
在过去的数十年里,计算从分布式系统(如大型计算机)过渡到分散式系统(如个人电脑)。新的分散的客户导向模型尽管为用户提供了理想的灵活性和便利性,但是也导致了资源使用的效率低下和不必要的额外费用。例如,每台个人电脑要求比典型负载更大的处理能力和存储容量。因此,当前计算的趋势回归到集中模型,其中,应用程序和数据进行集中管理、存储,并可以减少费用、提升安全和效率。
作为一种新兴模式,“云”依赖通过计算机网络的计算资源的传送。“云”提供的服务涵盖操作系统的单独应用程序到全部功能。为了促进云服务的传送,一些系统至少部分依赖远程访问技术,例如远程桌面协议(RDP)。RDP允许用户通过网络连接查看和控制远程运行的桌面或应用程序。但是,允许远程桌面、应用程序甚至文件系统的远程控制,可能会使服务器面临额外的安全风险和未授权访问。此外,RDP服务的用户的操作会产生错误或低效,需要根据服务器的分析更正或改善。
因此,确有必要提供一种允许服务器监测RDP会话的计算系统,以防止或减轻RDP客户端产生的安全威胁、错误或低效引起的问题。
发明内容
本发明提供的实施例由服务器监视、记录和/或回放RDP会话,因此可满足上述要求。本发明实施例的系统、方法、装置和计算机程序产品,为计算设备、计算设备用户和网络供应商提供了许多优点。本发明的实施例允许在服务器侧自动记录和监测RDP会话。本发明一些实施例的其他优点包括:允许RDP会话记录,无需会话正在被记录或监视的RDP客户端的用户知道,RDP客户端机器无需额外的存储或网络容量,RDP客户端机器无需进一步的处理能力,和/或无需在RDP客户端机器安装特殊的软件。如此,管理员可监测一个或多个正在进行的RDP会话,以监测错误使用或未授权访问的信息,或在将来回放所有或部分RDP会话以确定错误或安全漏洞的原因。
一些实施例允许RDP会话被位于RDP服务器和RDP客户端之间的网络实体记录。如此,门户环境的管理员可在门户环境未控制RDP服务器的会话中监测RDP会话。在其他优选实施例中,只有一些识别的RDP会话部分可被记录,例如,已知需要特定级别授权或可能导致错误或其他问题的活动。在其他的实施例中,如前所述,记录的会话可被索引,以使得管理员可检索特别重要事件的记录。
本发明的一个实施例提供了一种方法,其包括:接收有关远程桌面协议会话的数据。本发明的实施例的方法进一步包括:在一个除与远程桌面协议会话的远程桌面协议客户端有关的设备位置之外存储数据。本发明的实施例的方法进一步包括:接收复制远程桌面协议会话的请求。此外,本发明的实施例的方法可以包括从存储器获取数据。本发明的实施例的方法可以进一步包括:根据至少部分获取的数据促进复制至少部分远程桌面协议会话。
本发明的另一个实施例提供了一个系统,其包括用于操作远程桌面协议客户端的第一设备。此外,系统可以包括用于操作远程桌面协议服务器的第二设备。本发明实施例的系统可以进一步包括第三设备,第三设备位于第一设备和第二设备之间的网络路径上,第三设备可用于在远程桌面协议会话期间接收和存储第一设备和第二设备传输的数据。
附图说明
已经大概描述了本发明的实施例,以下将结合附图详细描述本发明的具体实施例,附图并非严格按尺寸绘制,其中:
图1所示为本发明一些实施例的通过门户界面提供数据中心的网络交换的系统,可受益于基于服务器的远程桌面会话的记录和回放。
图2所示为本发明一些实施例的终端装置的框图。
图3所示为本发明一些实施例的服务网络装置的框图。
图4所示为本发明一些实施例的基于服务器的远程桌面会话的记录和回放方法的流程图。
具体实施方式
以下将结合附图详细描述本发明的一些实施例,其中,附图仅仅示出了本发明的部分实施例,并非所有实施例。事实上,本发明还可以体现为其他不同形式的实施例,并不局限于说明书中给出的实施例,说明书中给出的实施例仅仅是为了使揭示满足法律要求。在附图中,相同的附图标记表示相同的元件。根据本发明的一些实施例,术语“数据”、“内容”、“信息”和相似的术语可以交替使用,表示可以被传送、接收、操作和/或存储的数据。
定义
本说明书中的术语“计算机可读介质”指的是任意用于参与提供包括执行指令在内的信息给处理器的介质。介质可以有多种形式,包括但不限于永久的计算机可读储存介质(如非易失性媒体和易失性媒体)和传输媒体。例如,传输媒体包括同轴电缆、铜丝、光纤电缆和不需要电线或电缆通过空间传送的载波,如音波和电磁波,包括无线电、光学和红外波。信号包括人造的振幅、频率、位相、极化或其他通过传播媒体传播的物理特性的瞬变。计算机可读媒体的例子包括软盘、柔性磁盘、硬盘、磁带、任意其他的磁性介质、只读存储光盘(CD-ROM)、可重写光盘(CD-ROM)、数字化视频光盘(DVD)、蓝光光盘、任意其他的光学介质、打孔卡片、纸带、光学标记表、任意其他具有孔或其他视觉可识别标记的物理介质、随机存取存储器(RAM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、闪存-可擦可编程只读存储器(FLASH-EPROM),任意其它存储器片或胶卷、载波、或任意其他计算机可读介质。此处使用的计算机可读介质指的是除传播媒体外的任意计算机可读介质。但是,可以理解的是,在所描述的使用计算机可读存储介质的实施例中,其他类型的计算机可读介质可被替换或与计算机可读存储介质同时使用在替代实施例中。
说明书中使用的术语“电路”指的是以下所有:(a)纯硬件电路的实施(如仅在模拟和/或数字电路中的实施);(b)电路和软件(和/或固件)的组合,例如可适用:(i)处理器的组合或(ii)部分处理器/软件(包括数字信号处理器)、软件和存储器协同工作使得一个装置(如终端装置、中继装置或服务器)执行各种功能;和(c)电路,如微处理器或部分微处理器,需要软件或固件操作,即使软件或固件物理上并不存在。
在本申请中,“电路”的定义适用于所有使用术语之处,包括任意权利要求。进一步地,本申请中使用的术语“电路”涵盖仅一个处理器(或多处理器)或部分处理器和它的(或它们的)附带的软件和/或固件的实施。术语“电路”也涵盖,如可适用于特定的权利要求元件,终端装置、中继装置、服务器或其他网络设备中的一个集成电路。
系统
请参考图1,图1所示为通过门户界面提供数据中心的网络交换的系统100的框图,如装在终端装置102的浏览器上的桌面,其可受益于基于服务器的远程桌面会话的记录和回放。可以理解的是,系统100和其他图示分别示出了本发明的一些实施例,任何情况下不应被解释为限制本发明的范围或精神。除了本说明书示出和描述的实施例,本发明还有许多潜在的实施例。因此,尽管图1示出了通过门户界面提供数据中心的网络功能的交付系统的一种结构,本发明的其他实施例还可提供多种不同的结构。
在图示实施例中,系统100包含一个数据中心120。数据中心120可用于操作一个私有云、公共云,或一个私有云和公共云的组合。例如,一个公共云可为任意用户提供服务,而一个私有云只为所有用户中的部分用户提供服务(如为特定的商务公司的雇员提供私有云服务)。在某些情况下,数据中心120通过防火墙防护。在一些实施例中,数据中心120位于一个内部网络(如一个私人的局域网(LAN))中,或者,数据中心120位于远程和/或被第三方托管。在某些情况下,数据中心120包括位于本地和远程的实体和服务的组合。
根据一些实施例,数据中心120可包括一个或多个服务器122。服务器122可以是任意计算设备,在某些情况下也可以是一个虚拟服务器。服务器122也可以是若干个计算设备的组合。例如,服务器122可以是一个服务器群集和/或一个分布式的计算系统,其分布在若干个计算设备。在其他实施例中,一个或多个服务器122可以是相同的计算设备。
根据本发明的实施例,系统100可包括一个位于数据中心120外的隔离区(DMZ)140,DMZ140可位于保护数据中心120的防火墙外。在本发明的实施例中,DMZ140可包括一个或多个中继装置150。中继装置150可以为任意计算设备,例如,服务器(如网络Web服务器)、台式电脑、手提电脑等。在其他实施例中,中继装置150可以是虚拟继电器。根据本发明的一些实施例,DMZ140中的中继装置150和数据中心120可设置在同一个计算设备上。
根据图示实施例,系统100可以包括一个或多个终端装置102。在各个实施例中,一个或多个终端装置102可位于DMZ140和数据中心120的外部。如此,一个或多个终端装置102可位于保护数据中心120的防火墙外部。终端装置102可以为任意计算设备,例如,台式电脑、手提电脑、笔记本、平板电脑、掌上电脑(PDA)、移动终端、移动电脑、移动电话、移动通信设备、智能电话、游戏设备、电视设备、数字视频录像机、定位装置、或其任意组合。
在一些实施例中,终端装置102可用于与DMZ140中的一个或多个中继装置150中的至少一个建立连接。在一些实施例中,在相同的会话中,连接第一中继装置150的终端装置102可被转移到第二中继装置150。例如,连接可以通过在互联网上通过传输协议,如传输控制协议(TCP)或用户数据报协议(UDP)等,建立。在这些实施例中,可以通过特定的协议,如超文本转移协议(HTTP)、超文本传输安全协议(HTTPS),建立连接。在一些实施例中,建立的连接是一个安全连接。例如,可使用安全传输层协议(TLS)、安全套接层(SSL)安全连接终端装置102和中继装置150之间的通信。连接上数据传输和接收可被加密使用,例如,使用128位SSL加密。
根据本发明的实施例,DMZ140中的中继装置150可用于与数据中心120中的一个或多个服务器122的至少一个建立连接。例如,中继装置150可设置成与服务器122建立管线连接。在图示实施方式中,管线连接可用于在中继装置150和服务器122之间提供双向通信。例如,管线连接可以是串行连接、以太网连接、插口连接等。在一些实施例中,管线连接可以通过一个或多个端口建立,例如通过保护数据中心120的防火墙中的一个单独端口建立。
在图示实施例中,中继装置150可以作为一个或多个终端装置102和一个或多个服务器122之间的中介。如此,中继装置150设置为从终端装置102到数据中心120所有通信和请求的一个端点。中继装置150可中继从终端装置102到服务器122的通信和请求,类似地,中继装置150可以通过连接服务器122的管线接收来自数据中心120的所有到终端装置102的通信,并且通过安全连接将通信中继到终端装置102。此时,服务器122可设置成与数据中心120内部的应用程序、文件系统和数据库通信。
根据本发明的实施例,中继装置150和服务器122的组合可提供从外部用户保护数据中心120的双重结构,例如在终端装置102的用户。此时,中继装置150可以为数据中心120提供第一层的安全,服务器122可以为数据中心120提供第二层的安全。在其他实施例中,终端装置可设置成直接连接服务器122,以形成一个单层结构。
根据本发明的实施例,通过上面描述的结构,数据中心120可设置成提供信息和服务到一个或多个终端装置102。根据本发明的一些实施例,由数据中心120提供的信息和服务的示例将在下面进一步详细描述。
在一些实施例中,数据中心120设置成可提供操作系统的特定服务124。例如,数据中心120可提供WindowsTM应用程序,例如WordTM、ExcelTM、PowerPointTM等。在一些实施例中,操作系统的特定服务124可以通过公开的方法交付。此时,操作系统的特定服务124可从数据中心120内部运行的一个终端服务器(如终端服务器)远程交付。在其他实施例中,操作系统的特定服务124可通过应用虚拟化方法交付。此时,操作系统的特定服务124置于可执行的文件并动态配置于终端装置102以本地处理。在其他实施例中,操作系统的特定服务124指的是在终端装置本地安装且由数据中心120执行的服务或应用程序。
在一些实施例中,数据中心120可设置为可提供内部托管网络应用程序126。此时,内部网络应用程序126可本机集成到数据中心120。例如,内部网络应用程序126可包含用于运行HTTP、HTTPS或其他类似协议的网络应用程序,如网络服务器(如Apache,IIS)、门户网站(如 )、内容管理系统、网络控制台等。在一些实施例中,内部网络应用程序126可以内部研发,也可由第三方供应商研发。
根据本发明的实施例,数据中心120可设置为可提供外部托管网络应用程序128。外部网络应用程序128可包括软件服务(SaaS)应用。在一些实施例式中,外部网络应用程序128可由第三方托管,例如由远程数据中心托管。例如,外部网络应用程序128可包括由Salesforce.comTM、Google AppsTM、Microsoft LiveTM、ZohoTM、MoodleTM等提供的应用程序。外部网络应用程序128可通过一个信任的连接交付到数据中心120,例如通过使用安全性断言标记语言(SAML)、委托认证等。在一些实施例中,外部网络应用程序128可集成到数据中心120上,以通过服务器122和中继装置150交付到终端装置102。
在一些实施例中,数据中心120可设置成可以提供私有服务130,比如云服务。此时,私有服务130可以包括文件服务、数据服务等。在一些实施例中,文件服务可提供访问一个或多个网络文件系统,例如共享目录、主目录、公共目录等。在一些实施例中,数据服务可提供访问一个或多个数据库。在一些情况下,数据库可以是任意开放数据库连接(ODBC)或Java数据库连接(JDBC)数据库,例如,Microsoft SQL(结构化查询语言)MySQLTM、 等。数据库可以访问,例如,可以通过网络报告、电子web表单等访问。
根据本发明的实施例,数据中心120的信息和服务可以通过在浏览器上建立的桌面呈现给终端装置102的用户。此时,终端装置102可设置成为用户提供访问网络浏览器的途径,例如 等。在一些实施例中,用户可以使用终端装置102的浏览器访问桌面。在一些实施例中,桌面可基于网络技术(如Ajax、Comet等)建立,并且本地生成在终端装置102的浏览器上。此时,在浏览器上建立的桌面可以具有与传统的桌面相似的功能,如菜单、任务栏、桌面图标和背景、自定义设置、快捷方式、系统托盘等。浏览器提供的桌面也可以与运行在终端装置102上的操作系统提供的传统桌面明显不同。此外,浏览器建立的桌面与外部位置(如在数据中心120的内部)运行的虚拟的传统桌面明显不同。在一些实施例中,数据中心120的信息和服务可通过其他的门户界面呈现给终端装置102的用户,例如,仪表盘、手机界面、平板界面,或任意其他设计成可访问一个或多个数据中心120和/或云服务的门户界面。在一些实施例中,服务和信息可直接被交付到用户,无需使用门户界面。
终端装置
请参考图2,图2所示为本发明一个实施例终端装置102的框图。在图示实施例中,终端装置102包括用于执行此处描述的各种功能的各个组件,包括主持远程桌面客户端会话。这些组件包括一个或多个处理器210、存储器212、通信接口214、用户界面216、或RDP服务请求电路218。此处描述的终端装置102的组件可以是,例如,电路、硬件单元(如适当的程序处理器、组合逻辑电路等)、包括通过适当配置的处理设备(如处理器210)可执行的储存在计算机可读介质(如存储器212)上的计算机可读程序指令(如软件或固件)的计算机程序产品,或其组合。
在一些实施例中,图2所示的一个或多个组件可以设置为一个芯片或芯片组。换句话说,终端装置102可以包括一个或多个包含原料、组件和/或结构组件(如基线板)上的电线的物理包(如芯片)。结构组件可提供物理强度、保持尺寸和/或限制其上的电路元件的电子相互作用。此时,处理器210、存储器212、通信接口214、用户界面216和/或RDP服务请求电路218可设置为一个芯片或芯片组。在一些实施例中,终端装置102可设置成在一个独立芯片上或作为一个独立“芯片上的系统”实现本发明的实施例。在一些实施例中,终端装置102可包括在一个独立芯片上或作为一个独立“芯片上的系统”实现本发明实施例的组件。因此,某些情况下,一个芯片或芯片组可组成组件用于执行一个或多个操作,以提供此处描述的功能和/或授权用户界面浏览相关功能和/或此处描述的服务。
例如,处理器210可以体现为各种组件,包括一个或多个微处理器、一个或多个处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理线路、一个或多个计算机、包括集成电路的各种其他处理单元、或其组合。因此,尽管图2所示为独立的处理器,在一些实施例中,处理器210可以包括若干个处理器。若干个处理器相互连接且共同用于执行此处描述的终端装置102的一个或多个功能。若干个处理器可置于单个计算设备上,或者分布在共同用作终端装置102的若干个计算设备上。在一些实施例中,处理器210用于执行存储在存储器212中或处理器210可访问的指令。处理器210执行这些指令时,可使得终端装置102实现此处描述的终端装置102的一个或多个功能。因此,无论是硬件方法、软件方法还是其组合,根据本发明的实施例,处理器210可以包括可执行操作的实体。因此,当处理器210作为指令(如存储在存储器212中的指令)执行者时,指令可特别配置处理器210执行一个或多个此处描述的算法和操作。
例如,存储器212可包括易失性存储器、非易失性存储器或其组合。此时,存储器212可包括一个或多个有形的和/或永久的计算机可读存储媒体,计算机可读存储媒体包括易失性和/或非易失性存储器。尽管图2所示为一个独立的存储器,存储器212可包括若干个存储器。若干个存储器可置于独立的计算设备,或分配在协同用作终端装置102的若干个计算设备上。在一些实施例中,存储器212可包括硬盘、随机存取存储器、高速缓冲存储器、闪速存储器、只读存储光盘(CD-ROM)、数字多功能光盘(DVD-ROM)、光盘、存储信息的电路或其组合。存储器212可用于存储信息、数据、应用程序、指令等,以使得终端装置102可执行各个实施例中的各个功能。例如,在一些实施例中,存储器212用于缓存处理器210处理的输入数据。其他地或可替换地,存储器212用于存储处理器210执行的程序指令。存储器212可以存储静态和/或动态信息。在执行其功能时,存储的信息可被RDP服务请求电路218存储和/或使用。
通信接口214可以是电路、硬件、包括存储在计算机可读介质(如存储器212)且可由处理设备(如处理器210)执行的计算机可读程序指令的计算机程序产品中的任意设备、组件或其组合,其可从/到其他计算设备接收和/或传送数据。在一些实施例中,通信接口214至少部分表现为处理器210或由处理器210控制。此时,通信接口214可通过总线与处理器210通信。例如,通信接口214可以包括网卡(有线或无线)、天线、传输器、接收器,和/或用于与一个或多个远程计算设备通信的支持硬件或软件。通信接口214可使用计算设备之间用于通信的任何协议来接收和/或传送数据。此时,通讯接口214设置成使用通过无线网络、有线网络或其组合传输数据的任意协议接收和/或发送数据,通过协议,终端装置102和一个或多个计算设备或计算资源可进行通信。例如,通信接口214用于使终端装置102和其他设备(如中继装置150或服务器122)通信。此外,通信接口214还可以通过总线与存储器212、用户界面216和/或RDP服务请求电路218通信。
用户界面216可与处理器210通信,以接收用户输入的指令和/或提供可听的、可视的、机械的或其他输出给用户。例如,用户界面216可以包括键盘、鼠标、操纵杆、显示器、触摸屏显示器、麦克风、扬声器和/或其他输入/输出装置。在一些用户界面216包括触摸屏的实施例中,用户界面216还用于侦测和/或接收点屏或输入到触摸屏上的其他指令。用户界面216可通过总线与存储器212、通信接口214和/或RDP服务请求电路218通信。
RDP服务请求电路218可以为各种组件,如电路、硬件、包括存储在计算机可读介质(如存储器212)且由处理设备(如处理器210)执行的计算机可读程序指令的计算机程序产品或其组合。在一些实施例中,RDP服务请求电路218设置为处理器210或由处理器210控制。在RDP服务请求电路218与处理器210分离的实施例中,RDP服务请求电路218可以与处理器210通信。RDP服务请求电路218还可以通过总线与一个或多个存储器212、通信接口214或用户界面216通信。
根据本发明的实施例,RDP客户端电路218用于接收用户登录基于门户网络的门户环境系统的请求,以访问数据中心并建立一个远程桌面客户端会话。例如,门户界面可以是嵌在浏览器中的桌面(又称网页桌面或网络桌面)、控制面板、手机界面、平板界面或任意其他被提供访问一个或多个数据中心和/或云服务的门户界面。在一些实施例中,门户界面可以通过终端服务器的远程桌面协议(RDP)服务器提供一个或多个数据中心和/或云服务。在某些情况下,RDP会话可以提供单个服务(如应用程序)的交付,或在某些情况下,提供多个服务(如远程桌面访问)的交付。
在其他实施例中,RDP客户端电路218接收用户直接连接到RDP服务器的请求。此时,用户请求通过根据RDP(如终端服务器)操作的服务器,交付特定的服务或应用到关联RDP客户端电路218的终端装置102。在其他实施例中,用户可能未意识到请求的服务是通过一个RDP服务器提供,而不是通过由RDP客户端电路218本地提供。
在一些实施例中,RDP会话可以是一个安全会话。例如,可以根据公钥密码系统操作RDP会话。此时,发送到与RDP客户端电路218相关的终端装置102和/或来自与RDP客户端电路218相关的终端装置102的数据可以安全传输。
根据本发明的实施例,RDP客户端电路218可用于协助记录RDP会话。如此,RDP客户端电路218可以协助记录与单个应用程序或远程桌面会话相关的RDP会话。在一些实施例中,记录RDP会话可以包括记录终端装置102上的RDP客户端电路218执行的RDP客户端和服务网络装置104上的RDP会话记录电路316执行的RDP服务器之间单向或双向传输的至少部分数据。但是,RDP会话的记录也可以包括在未记录的会话期间通过RDP客户端非典型传输或接收记录数据,例如通过与终端装置102相关的视频和音频设备接收的数据。RDP客户端电路218用于协助记录,无需在与RDP客户端电路218关联的终端装置102上安装额外的记录软件。
在一些实施例中,记录的数据可以包括足以重建会话的信息。例如,数据可以包括视频帧、音频帧、用户输入(如按键输入、鼠标输入和声音命令),事件(如登录、注销、文件创建和存储、打印和其他RDP事件)等。在一些实施例中,只有传输数据的子集可以被记录。在这些实施例中,冗余或不必要的信息可以从数据中删除,数据可以被压缩,或记录可以被限制为特定的数据类型。数据可以使用RDP事件记录、视频记录(如动态图像专家组(MPEG)格式或任意其他视频格式),和/或使用任意其他已知的技术记录RDP会话。
在一些实施例中,RDP客户端电路218可用于提供被记录到独立的网络实体的数据的传输,如服务网络装置104(如中继装置150或服务器122)。在其他实施例中,RDP客户端电路218可以在本地记录数据,无需将数据传输到独立的网络实体。根据一些实施例,在传输数据之前,RDP客户端电路218可以提供需记录数据的临时存储。在其他实施例中,RDP客户端电路218可以在数据有效后立即提供数据传输。例如,RDP客户端电路218可以缓存数据,并当缓存已满后提供数据传输。在其他实施例中,RDP客户端电路218可以将第一数量的数据传输至服务器122,在等待来自服务器数据响应的同时缓存第二数量的数据(如通过TCP/IP响应),当接收到响应时,提供缓存中第二数量的数据传输。在另一个实施例中,RDP客户端电路218可以用于在给定的时间间隔(如每五秒中传输记录数据)。应当注意的是,使用用于提供记录数据传输的其他方法也没有脱离权利要求的保护范围。
根据本发明的实施例,RDP客户端电路218用于关联第一时间戳与每个数据项。一些情况下,RDP客户端电路218可根据数据出现显示的活动的时间关联时间戳与数据。例如,如果与RDP客户端电路218关联的终端装置102的用户在特定的时间提供输入,在传输记录数据之前,RDP客户端电路218可以关联表示特定时间的时间戳与用户输入数据。在其他实施例中,RDP客户端电路218可以根据传输记录数据的时间关联时间戳与数据。例如,在RDP客户端电路218用于在给定的时间间隔传输记录数据的实施例中,可以根据表示传输数据的时间间隔关联数据和时间戳。
在一些实施例中,RDP客户端电路218可用于传输被记录的数据以外的信息。在一些实施例中,RDP客户端电路218可以关联与RDP客户端电路218关联的终端装置102表示的记录数据。根据一些实施例,RDP客户端电路218可以传输关联RDP客户端电路218的终端装置102的当前操作环境的信息。例如,信息可以提供当前执行的应用程序、硬件配置、当前性能信息(如网络吞吐量、CPU利用率)等。
根据本发明的实施例,RDP客户端电路218可以自动协助记录RDP会话。此时,RDP客户端电路218可以自动开始记录数据或在RDP会话开始时提供记录的数据传输。在其他实施例中,RDP客户端电路218可以用于监测可能触发自动记录的某些条件。例如,监测到特定的事件、活动、接收来自RDP服务器或与RDP客户端电路218关联的终端装置102的用户的输入时,RDP客户端电路218触发记录。类似地,RDP客户端电路218可以自动中止记录RDP会话。例如,在RDP会话终止时、或在监测到一个用于触发记录自动终止的事件、活动、休眠期、输入时,RDP客户端电路218会自动停止记录。
在一些实施例中,RDP客户端电路218可用于根据接收来自网络实体的命令,启动或终止RDP会话的记录。例如,RDP客户端电路218可接收来自RDP服务器或中间网络设备的指令,以采取与RDP会话记录有关的特定行动。
服务网络装置
请参考图3,图3所示为服务网络装置104的一个实施例的框图。在图示实施例中,服务网络装置104包括多个用于执行各种功能的组件。这些组件可以包括一个或多个处理器310、存储器312、通信接口314、或RDP会话记录电路316。此处描述的服务网络装置104的组件可以是电路、硬件单元(如合适的程序处理器、组合逻辑电路等)、包括存储于计算机可读媒介(如存储器312)且可由适当的处理设备(如处理器310)执行的计算机可读程序指令(如软件或固件)的计算机程序产品,或其组合。
在一些实施例中,图3所示的一个或多个组件可以是芯片或芯片集。换句话说,服务网络装置104可以包括一个或多个包括原料、组件和/或结构组件(如基线板)上的电线的物理包。结构组件可提供物理强度、保持尺寸和/或限制电路元件的电子相互作用。此时,处理器310、存储器312、通信接口314、和/或RDP会话记录电路316可以为芯片或芯片组。在一些实施例中,服务网络装置104可用于在一个单独的芯片上或单独的“芯片上的系统”上执行本发明的实施例。在另一个实施例中,服务网络装置104包括用于在一个单独的芯片上或单独的“芯片上的系统”上执行本发明的实施例的组件。因此,在某些情况下,一个芯片或芯片组可以由执行一个或多个操作以提供前述功能的组件构成。
例如,处理器310可以是包括一个或多个微处理器、一个或多个处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、处理电路、一个或多个计算机、多个包括集成电路的其他处理元件或其组合的各个组件。因此,尽管图3所示为一个单独的处理器,在一些实施例中,处理器310包括若干个处理器。若干个处理器互相通信,且可协同执行一个或多个此处描述的服务网络装置104的一个或多个功能。若干个处理器可以位于单一计算设备上,或分布在用于协同用作服务网络装置104的若干个计算设备上。在一些实施例中,处理器310用于执行存储在存储器312或其他处理器310可访问的指令。处理器310执行指令时,这些指令使得服务网络装置104执行此处描述的服务网络装置104的一个或多个功能。无论是硬件方法、软件方法或其组合,在本发明的实施例中,处理器310可以包括可以执行操作的实体。因此,在处理器310执行指令时,其可被存储在存储器312中,指令使得处理器310执行一个或多个算法和操作。
例如,存储器312可包括易失性存储器、非易失性存储器或其组合。此时,存储器312可包括一个或多个有形的和/或永久的计算机可读存储媒体,计算机可读存储媒体包括易失性和/或非易失性存储器。尽管图3所示为一个独立的存储器,存储器312可包括若干个存储器。若干个存储器可置于单一的计算设备上,或分布在协同作为服务网络装置104的若干个计算设备上。在一些实施例中,存储器312可以包括硬盘、随机存取存储器、高速缓冲存储器、闪速存储器、只读存储光盘(CD-ROM)、数字多功能光盘(DVD-ROM)、光盘、存储信息的电路,或其组合。存储器312可用于存储信息、数据、应用程序、指令等,以使得服务网络装置104执行本发明实施例的各个功能。例如,在一些实施例中,存储器312用于缓存处理器310处理的输入数据。其他地或可替换地,存储器312用于存储处理器310执行的程序指令。存储器312可存储静态和/或动态信息,在执行功能期间,存储的信息可被RDP会话记录电路316存储和/或使用。
通信接口314可以为电路、硬件、包括存储在计算机可读介质(如存储器312)且由处理设备(如处理器310)执行的计算机可读程序指令的计算机程序产品、或其组合,以从/到其他计算设备接收和/或传送数据。在一些实施例中,通信接口314至少部分表现为处理器310或由处理器310控制。此时,通信接口314可通过总线与处理器310通信。例如,通信接口314可包括网卡(有线或无线)、天线、传输器、接收器,和/或用于与一个或多个远程计算设备通信的支持硬件或软件。通信接口314可使用用于在计算设备之间通信的任何协议来接收和/或传送数据。此时,通讯接口314设置成使用通过无线网络、有线网络或其组合传输数据的协议来接收和/或传输数据,通过协议,服务网络装置104和一个或多个计算设备或计算资源进行通讯。例如,通信接口314用于使服务网络装置104和其他设备(如中继装置150或终端装置102)通信。此外,通信接口314还能通过总线与存储器312和/或RDP会话记录电路316通信。
RDP会话记录电路316可以为各种组件,如电路、硬件、包括存储在计算机可读介质(如存储器312)和由处理设备(如处理器310)执行的计算机可读程序指令的计算机程序产品,或其组合。在一些实施例中,RDP会话记录电路316表现为处理器310或由处理器310控制。在RDP会话记录电路316与处理器310分离的实施例中,RDP会话记录电路316可以与处理器310通信。RDP会话记录电路316可通过总线与一个或多个存储器312和/或通信接口314通信。
根据本发明的实施例,RDP会话记录电路316可以与表示为中继装置150的服务网络装置104、服务器122、或其他网络实体(如路由器或交换机)关联。RDP会话记录电路316可以用于接收访问来自终端装置102的RDP会话的请求。在一些实施例中,RDP会话记录电路316可用于提供RDP服务器的功能。此时,RDP会话记录电路316可以提供用于与终端装置102建立请求的RDP会话。在一些实施例中,RDP会话可以是安全的会话。例如,可以根据公钥密码系统操作RDP会话。因此,发送到关联RDP会话记录电路316的服务网络装置104的和/或来自关联RDP会话记录电路316的服务网络装置104的数据可以安全传输。
在一些实施例中,RDP会话记录电路316可以用于接收RDP会话记录相关的数据,例如,来自建立RDP会话的终端装置102。例如,RDP会话记录电路316接收的数据(如上面结合终端装置102描述的实施例)可以包括事件、活动、来源于终端装置102RDP会话相关的输入。根据一些实施例,接收的数据可以包括之前由RDP会话记录电路316传输到终端装置102作为RDP会话一部分的数据。在其他实施例中,RDP会话记录电路316可以用于记录来源于RDP会话记录电路316的数据,其作为RDP会话的一部分,无需请求终端装置102将数据传输回RDP会话记录电路316作为记录过程的一部分。
根据一些实施例,RDP会话记录电路316可以用于记录RDP会话相关的数据。此时,RDP会话记录电路316可以将来自终端装置102和/或被RDP会话记录电路316记录的数据存储在存储器312中。在一些实施例中,在存储之前,RDP会话记录电路316可以压缩数据和/或删除冗余或不必要的数据。在其他实施例中,接收的数据可以在传输之前通过终端装置102压缩或调整。
存储器312可用于永久记录所有与RDP会话相关的数据。如果需要额外的、冗余的或替代的内存,RDP会话记录电路316可以存储在服务网络装置104之外的内存上。RDP会话记录电路316也可用于在存储器312达到一定限制时,只记录最新的有关RDP会话的数据,记录的最旧的数据被覆盖。
根据一些实施例,RDP会话记录电路316接收的数据包括终端装置102来源的指示。在其他实施例中,数据包括RDP会话相关的指示。
在一些实施例中,RDP会话记录电路316可以与服务网络装置104关联,服务网络装置104用作参与RDP会话的RDP服务器和RDP客户端之间的中介网络实体(如路由器或交换机)。在这些实施例中,RDP会话记录电路316可以用于记录RDP会话期间RDP服务器和RDP客户端之间的所有传输的数据。根据一些实施例,RDP会话记录电路316可用于提供记录会话的存储,或提供RDP会话数据到另外的网络实体存储。在一些实施例中,一个或多个RDP服务器和RDP客户端可能未意识到RDP会话记录电路316正在记录RDP会话。在RDP服务器和RDP客户端之间的通讯是安全的实施例中,RDP会话记录电路316从作为RDP服务器的服务网络装置104和作为RDP客户端的终端装置102中的一个或两个获取密钥,以解密并记录通信。在一些实施例中,RDP会话记录电路316可防止RDP客户端与RDP服务器建立RDP会话,除非提供密钥。此时,RDP会话记录电路316可确保用户建立的与RDP服务器的RDP会话可以记录。
在一些实施例中,RDP会话记录电路316可用于关联时间戳和记录的数据。在将数据传输至RDP会话记录电路316之前,终端装置102关联时间戳和数据的实施例中,通过RDP会话记录电路316与数据关联的时间戳可以是第二时间戳。第二时间戳表示通过RDP会话记录电路316记录数据的时间。在一些实施例中,第一时间戳和第二时间戳的时间源不同且可以不同步。例如,一个时间源相对于一个绝对的时间源可以快或慢,或每个时间源可以在不同的时区中操作。
根据一些实施例,RDP会话记录电路316可以用于索引已记录的数据。例如,根据第一和/或第二时间戳、发起的终端装置102、与发起的终端装置102相关的其他信息(如当前执行的应用程序、硬件配置、和/或当前的性能信息)、事件的类型、数据的内容(如特别的HTML标签)、RDP会话期间使用的端口等,RDP会话记录电路316可以索引已记录的数据。通过RDP会话记录电路316执行的索引,可以提供更好地获取和回放记录的数据。
在一些实施例中,RDP会话记录电路316可用于提供记录的RDP会话的回放。此时,RDP会话记录电路316可用于从存储器或用于存储数据的其他网络实体中获取记录数据。RDP会话记录电路316可以提供控件,允许用户播放、暂停、前进、后退。在一些实施例中,RDP会话记录电路316可以提供RDP会话的特定部分的回放。例如,RDP会话记录电路316可根据至少部分会话的时间和/或前述用于索引记录数据的其他信息,确定回放RDP会话的相关部分。
根据一些实施例,RDP会话记录电路316可用于通过RDP客户端提供记录的RDP会话的回放。在这些实施例中,RDP客户端可从记录的RDP会话数据中接收输入。例如,记录的数据可以包括事件和在会话期间RDP服务器提供给RDP客户端的其他数据。在一些实施例中,提供给RDP客户端的输入可能在回放时被压缩,以避免改变初始记录的RDP会话。在一些实施例中,在回放记录的数据时,RDP会话记录电路316忽略RDP会话期间提供给RDP客户端的初始用户输入。在这些实施例中,初始的用户输入无需回放以重建RDP会话,因为结果事件和响应于初始用户输入的RDP服务器给RDP客户端提供了足够的信息。
在一些实施例中,RDP会话记录电路316可使用第一和/或第二时间戳协助回放。在使用第一时间戳的实施例中,回放以与RDP客户端发生的事件、活动、输入成比例进行。在使用第二时间戳的实施例中,回放以与记录RDP会话的服务器接收数据成比例进行。在这些实施例中,由于在数据传输到记录RDP会话的服务器期间发生网络延迟和阻塞,回放可能与实时发生的事件、活动、和输入的速度不同。
示例
下面提供了一个本发明实施例的非限制示例,其在任意情况下不应被解释限制本发明的范围或精神。在此示例中,用户试图在用户的笔记本电脑上通过嵌在浏览器门户环境系统中的桌面打开一个微软文件。在此示例子中,门户环境可以通过根据RDP操作的终端服务器确定提供微软应用程序操作。RDP会话建立后,在门户环境系统的数据中心上操作RDP服务器开始记录所有传输的数据和自在用户的笔记本上操作的RDP客户端接收的数据。例如,RDP服务器保存RDP服务器传输的所有事件,用户在RDP客户端输入的所有按键,和在RDP会话期间用户保存的文档副本。RDP服务器也压缩和索引记录的数据,一旦用户关闭微软应用程序,记录将终止。
根据此示例,管理员可能希望以后可以浏览RDP会话的记录。管理员可以在记录设备或从另一个远程设备访问记录的会话。在回放期间,管理员可以浏览全部的RDP客户端所能见的会话,或者管理员可以根据时间戳或索引事件跳至特定部分的会话。如果需要,管理员也可以在回放期间快进、快退或暂停会话。
在此示例中,最初的用户可能不知道会话被记录或被管理员查看。事实上,用户可能未意识到微软应用程序是通过RDP提供服务而不是本地提供服务。通过远程记录会话,用户无需在笔记本电脑上安装任何额外的记录软件。此外,用户无需注意他的微软会话或笔记本电脑操作较慢,因为RDP会话数据没有在笔记本电脑上本地存储或处理,RDP会话数据也不会增加超过标准操作所需的网络流量。
图4所示为根据本发明一个实施例的基于服务器的远程桌面会话的记录和回放方法的流程图。图4所示的操作可以在服务网络装置104执行。例如,图4所示的的操作可以由一个或多个处理器310、存储器312、通讯接口314或RDP会话记录电路316协助和/或控制下执行。操作400包括接收与远程桌面协议会话相关的数据。例如,处理器310、存储器312、通讯接口314或RDP会话记录电路316提供执行操作400的架构。操作401包括将数据存储在与远程桌面协议会话的远程桌面协议客户端关联的装置以外的位置。例如,处理器310、存储器312、通讯接口314或RDP会话记录电路316可以提供执行操作410的架构。操作420可以包括接收复制远程桌面协议会话的请求。例如,处理器310、存储器312、通讯接口314或RDP会话记录电路316提供执行操作420的架构。操作430包括从存储器中获取数据。例如,处理器310、存储器312、通讯接口314或RDP会话记录电路316可以提供执行操作430的架构。操作440包括根据至少部分获取的数据协助复制至少部分远程桌面协议会话。例如,处理器310、存储器312、通讯接口314或RDP会话记录电路316可以提供执行操作440的架构。
图4所示为本发明实施例提供的系统、方法和计算机程序产品的流程图。可以理解的是,流程图的每个框和流程图的框的组合可以通过多种方式实施,例如,硬件和/或包括一个或多个计算机可读介质(相对描述传播信号的计算机可读传送介质)的计算机程序产品,计算机可读介质包括一个或多个计算机程序代码指令、程序指令,或存储的可执行的计算机可读程序代码指令。例如,此处描述的一个或多个进程由计算机程序产品的计算机程序指令实施。此时,实施此处描述的进程的计算机程序产品可由终端装置、服务器、中继装置,或其他计算设备(如终端装置102)中的一个或多个存储设备(如存储器212或存储器312)存储,并由计算设备的处理器(如处理器210或处理器310)执行。在一些实施例中,包括实施前述流程的计算机程序产品的计算机程序指令可由若干个计算设备中的存储设备存储。可以理解的是,任意这些计算机程序产品可被加载到计算机或其他可编程设备以生产机器,以使得包括执行计算机或其他可编程设备的上述计算机程序产品创建执行流程图中特定的功能的装置。
进一步地,计算机程序产品可包括一个或多个可存储计算机程序指令的计算机可读存储器,以使得一个或多个计算机可读存储器可指示计算机或其他可编程设备以特定的方式执行功能,计算机程序产品包括实施流程图中特定功能的产品。一个或多个计算机程序产品的计算机程序指令可被加载到计算机或其他可编程设备,以在计算机或其他可编程设备上执行一系列操作,以使得在计算机或其他可编程设备上执行的指令为执行流程图中指定的功能提供操作。程序代码指令的获取、加载和执行可依次执行,以使得指令被依次获取、加载和/或执行。在一些实施例中,获取、加载和/或执行可以平行执行,以使得多个指令被同时获取、加载和/或执行。
因此,处理器与流程图操作相关的指令的执行,或在计算机可读存储介质中与流程图操作相关的指令的存储,支持用于执行特定功能的操作的组合。可以理解的是,流程图中的一个或多个操作,以及流程图中方框或操作的组合,可以由基于特定硬件的计算机系统和/或执行特定功能的处理器实施,或者由特定硬件和程序代码指令的组合实施。
上述功能可以多种方式实施。例如,执行上述每个功能的任意适当方式可用于执行本发明的实施方式。在一个实施例中,一个适当配制的处理器(如处理器210和/或处理器310)可提供本发明的所有或部分元件。在另一个实施例中,所有或部分本发明元件由计算机程序产品配制,并在计算机程序产品的控制下操作。执行本发明实施例方法的计算机程序产品包括计算机可读存储介质,如非易失存储介质(如存储器212和/或存储器312)和计算机可读程序代码部,如计算机可读存储介质中的一系列计算机指令。
本发明的一个实施例提供了一种方法,其包括接收与远程桌面协议会话相关的数据。本实施例的方法可以进一步包括:在与远程桌面协议会话的远程桌面协议客户端关联的装置以外的其他位置存储数据。本实施例的方法可以进一步包括:接收复制远程桌面协议会话的请求。此外,本实施例的方法可以包括:从存储器获取数据。本实施例的方法可以进一步包括:根据至少部分获取的数据协助复制远程桌面协议会话。
本实施例的方法中的数据包括与远程桌面协议会话相关的事件、活动或输入中的至少一个。根据本实施例的方法,接收与远程桌面协议会话相关的数据可以进一步包括:接收来自与远程桌面协议会话的远程桌面协议客户端相关的第一设备的数据;和接收来自与远程桌面协议会话的远程桌面协议服务器相关的第二设备的数据。在本发明的另一个实施例中,数据可以被加密以安全传输。本实施例的方法可以进一步包括:接收用于解密从第一设备获取的数据的第一密钥;和接收用于解密从第二设备获取的数据的第二密钥。本实施例的方法可以进一步包括:在提供数据存储之前修改数据,其中,修改数据包括压缩和索引数据中的至少一个。根据本实施例的方法,协助复制远程桌面协议会话可进一步包括:提供获取的数据作为输入至远程桌面协议客户端;且在复制期间禁止用户输入至远程桌面协议客户端。
本发明的另一个实施例提供了一种装置,其包括至少一个处理器和至少一个存储计算机程序代码的存储器。至少一个存储器和存储的计算机程序代码,与至少一个处理器一同,用于使的本实施例的装置至少接收有关远程桌面协议会话的数据。至少一个存储器和存储计算机程序代码,与至少一个处理器一同,用于进一步使本实施例的装置,在与远程桌面协议会话的远程桌面协议客户端相关的设备以外的位置存储数据。至少一个存储器和存储计算机程序代码,与至少一个处理器一同,用于进一步使本实施例的装置接收复制远程桌面协议会话的请求。至少一个存储器和存储计算机程序代码,与至少一个处理器一同,用于进一步使本实施例的装置获取来自存储器的数据。至少一个存储器和存储计算机程序代码,与至少一个处理器一同,用于进一步使本实施例的装置根据至少部分获取的数据协助复制至少部分远程桌面协议会话。
本实施例中的数据包括与远程桌面协议会话相关的事件、活动或输入中的至少一个。根据本实施例,接收有关远程桌面协议会话的数据可以进一步包括:接收来自与远程桌面协议会话的远程桌面协议客户端相关的第一设备的数据;和接收来自与远程桌面协议会话的远程桌面协议服务器相关的第二设备的数据。根据本发明的一个实施例,实施例中的数据可以被加密以安全传输。在本实施例中,至少一个存储器和存储计算机程序代码,与至少一个处理器一同,用于使本实施例的装置接收用于解密从第一设备获取的数据的第一密钥;和接收用于解密从第二设备获取的数据的第二密钥。至少一个存储器和存储计算机程序代码,与至少一个处理器一同,还用于使本实施例的装置在提供数据存储之前修改数据,其中,修改数据包括压缩数据和索引数据中的至少一个。根据本实施例,协助复制远程桌面协议会话可进一步包括:提供获取的数据作为输入至远程桌面协议客户端;以及在复制期间禁止用户输入至远程桌面协议客户端。
本发明的另一个实施例提供了一种计算机程序产品,计算机程序产品包括至少一个包括存储有计算机可读程序指令的计算机可读存储介质。本实施例的程序指令包括:用于接收有关远程桌面协议会话的数据的程序指令。本实施例的程序指令可以进一步包括:用于在与远程桌面协议会话的远程桌面协议客户端关联的设备以外的位置存储数据的程序指令。本实施例的程序指令还可以包括用于接收复制远程桌面协议会话请求的程序指令。本实施例的程序指令还可以进一步包括用于获取来自存储器的数据的程序指令。本实施例的程序指令还可以包括根据至少部分获取的数据协助复制至少部分远程桌面协议会话的程序指令。
本施例中的数据包括与远程桌面协议会话相关的事件、活动或输入中的至少一个。根据本实施例,接收有关远程桌面协议会话的数据可以进一步包括:接收来自与远程桌面协议会话的远程桌面协议客户端相关的第一设备的数据;和接收来自与远程桌面协议会话的远程桌面协议服务器相关的第二设备的数据。根据本发明的一个实施例,实施例中的数据可以被加密以安全传输。在本实施例中,程序指令包括接收用于解密从第一设备获取的数据的第一密钥;和接收用于解密从第二设备获取的数据的第二密钥。本实施例的程序指令还可以包括在提供数据存储之前修改数据,其中,修改数据包括压缩数据和索引数据中的至少一个。根据本实施例,协助复制远程桌面协议会话可进一步包括:提供获取的数据作为输入至远程桌面协议客户端;以及在复制期间禁止用户输入至远程桌面协议客户端。
本发明的另一个实施例提供了一种装置,其包括用于接收有关远程桌面协议会话数据的装置。本实施例的装置可以进一步包括:用于在与远程桌面协议会话的远程桌面协议客户端关联的设备以外的位置存储数据的装置。本实施例的装置还可以包括用于接收复制远程桌面协议会话请求的装置。本实施例的装置还可以进一步包括获取来自存储器的数据的装置。本实施例的装置还可以包括根据至少部分获取的数据协助复制至少部分远程桌面协议会话的装置。
本实施例中的数据包括与远程桌面协议会话相关的事件、活动或输入中的至少一个。根据本实施例,用于接收有关远程桌面协议会话的数据的装置可以进一步包括:接收来自与远程桌面协议会话的远程桌面协议客户端相关的第一设备的数据;和接收来自与远程桌面协议会话的远程桌面协议服务器相关的第二设备的数据。根据本发明的一个实施例,实施例中的数据可以被加密以安全传输。在本实施例中,本实施例的装置还包括:用于接收用于解密从第一设备获取的数据的第一密钥和接收用于解密从第二设备获取的数据的第二密钥的装置。本实施例的装置还包括用于在提供数据存储之前修改数据的装置,其中,修改数据包括压缩数据和索引数据中的至少一个。根据本实施例,协助复制远程桌面协议会话的装置可进一步包括:提供获取的数据作为输入至远程桌面协议客户端的装置;以及在复制期间禁止用户输入至远程桌面协议客户端的装置。
本发明的另一个实施例提供了一个系统,其包括用于操作远程桌面协议客户端的第一设备。此外,系统可包括用于操作远程桌面协议服务器的第二设备。根据本发明的实施例,系统进一步包括位于第一和第二设备之间的网络路径中的第三设备,第三设备用于在远程桌面协议会话期间接收和存储第一和第二设备传输的数据。
根据上述说明书和附图的揭示和教导,本发明所属领域的技术人员还可以想到本发明的其他实施方式或对本发明进行适当的变更和修改。因此,可以理解的是,本发明并不局限于说明书中揭示和描述的具体实施方式,其他实施方式和对本发明的修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管说明书和附图结合元件和/或功能的组合描述了本发明的示例性实施方式,但是,可以理解的是,在不偏离本发明权利要求的保护范围的前提下,其他实施方式也可以提供不同的元件和/或功能的组合。例如,不同于前面明确描述的元件和/或功能的组合,也可也可以实现本发明。尽管说明书中使用了一些特定的术语,这些术语只是为了方便说明,并不对本发明构成任何限制。
Claims (21)
1.一种记录远端桌面客户端活动的方法,其包括:
接收在终端装置执行的与远程桌面客户端会话的活动相关的数据;
将所述数据存储在所述远程桌面客户端会话的终端装置以外的位置;
接收复制至少部分远程桌面客户端会话的请求;
从存储器获取至少部分与远程桌面客户端会话相关的数据;
根据至少部分所述获取的数据展示复制的请求的远程桌面客户端会话的数据。
2.根据权利要求1所述的记录远端桌面客户端活动的方法,其特征在于,所述接收数据的步骤包括:接收表示与远程桌面客户端会话相关的事件、活动或输入中的至少一个。
3.根据权利要求1所述的记录远端桌面客户端活动的方法,其特征在于,所述存储数据的步骤由与所述远程桌面客户端会话相关的事件、活动或输入中的至少一个触发。
4.根据权利要求1所述的记录远端桌面客户端活动的方法,其特征在于,所述接收数据的步骤进一步包括:接收来自关联所述远程桌面客户端会话的终端装置的数据和接收来自所述远程桌面客户端会话的服务器的数据。
5.根据权利要求4所述的记录远端桌面客户端活动的方法,其特征在于,进一步包括加密所述数据以安全传输。
6.根据权利要求5所述的记录远端桌面客户端活动的方法,其特征在于,进一步包括:接收解密从所述终端装置接收的数据的第一密钥和接收解密从所述服务器接收的数据的第二密钥。
7.根据权利要求1所述的记录远端桌面客户端活动的方法,其特征在于,进一步包括:在所述存储步骤之前修改所述数据,其中,所述修改数据包括压缩和索引所述数据中的至少一种。
8.根据权利要求1所述的记录远端桌面客户端活动的方法,其特征在于,所述展示复制的请求的远程桌面客户端会话的数据进一步包括:
提供获取的数据输入到另一个远程桌面客户端的终端装置;以及
在复制期间禁止用户输入到所述另一个远程桌面客户端的终端装置。
9.一种记录远端桌面客户端活动的装置,其包括:
至少一个处理器;以及
至少一个存储计算机程序代码的存储器,其中,所述至少一个存储器和存储的计算机程序代码,同所述至少一个处理器一起,被设置为使所述装置:
接收在终端装置执行的与远程桌面客户端会话的活动相关的数据;
将所述数据存储在所述远程桌面客户端会话的终端装置以外的位置;
接收复制至少部分远程桌面客户端会话的请求;
从存储器获取至少部分与远程桌面客户端会话相关的数据;
根据至少部分所述获取的数据展示复制的请求的远程桌面客户端会话的数据。
10.根据权利要求9所述的记录远端桌面客户端活动的装置,其特征在于,所述数据包括关联远程桌面客户端会话的事件、活动或输入中的至少一个。
11.根据权利要求9所述的记录远端桌面客户端活动的装置,其特征在于,所述装置由关联所述远程桌面客户端会话的事件、活动或输入中的至少一个触发以存储所述数据。
12.根据权利要求9所述的记录远端桌面客户端活动的装置,其特征在于,所述装置接收来自关联所述远程桌面客户端会话的终端装置的数据和来自所述远程桌面客户端会话的服务器的数据。
13.根据权利要求12所述的记录远端桌面客户端活动的装置,其特征在于,所述数据被加密以安全传输。
14.根据权利要求13所述的记录远端桌面客户端活动的装置,其特征在于,进一步包括:解密从所述终端装置接收的数据的第一密钥和解密从所述服务器接收的数据的第二密钥。
15.根据权利要求9所述的记录远端桌面客户端活动的装置,其特征在于,在存储前,所述数据被压缩和/或被索引。
16.一种记录远端桌面客户端活动的计算机程序产品,其包括:
至少一个存储计算机可读程序指令的计算机可读存储介质,所述程序指令用于:
接收在终端装置执行的与远程桌面客户端会话的活动相关的数据;
将所述数据存储在所述远程桌面客户端会话的终端装置以外的位置;
接收复制至少部分远程桌面客户端会话的请求;
从存储器获取至少部分与远程桌面客户端会话相关的数据;以及
根据至少部分所述获取的数据展示复制的请求的远程桌面客户端会话的数据。
17.根据权利要求16所述的记录远端桌面客户端活动的计算机程序产品,其特征在于,所述数据包括关联远程桌面客户端会话的事件、活动或输入中的至少一个。
18.根据权利要求16所述的记录远端桌面客户端活动的计算机程序产品,其特征在于,所述计算机程序产品由关联所述远程桌面客户端会话的事件、活动或输入中的至少一个触发以存储所述数据。
19.根据权利要求16所述的记录远端桌面客户端活动的计算机程序产品,其特征在于,所述计算机程序产品接收来自关联所述远程桌面客户端会话的终端装置的数据和来自所述远程桌面客户端会话的服务器的数据。
20.根据权利要求16所述的记录远端桌面客户端活动的计算机程序产品,其特征在于,所述数据被加密以安全传输。
21.根据权利要求20所述的记录远端桌面客户端活动的计算机程序产品,其特征在于,进一步包括:解密从所述终端装置接收的数据的第一密钥和解密从所述服务器接收的数据的第二密钥。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161533027P | 2011-09-09 | 2011-09-09 | |
US61/533,027 | 2011-09-09 | ||
PCT/US2012/054498 WO2013036951A1 (en) | 2011-09-09 | 2012-09-10 | Method and apparatus for server side remote desktop recordation and playback |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104145258A true CN104145258A (zh) | 2014-11-12 |
CN104145258B CN104145258B (zh) | 2017-07-07 |
Family
ID=47830820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280055124.9A Active CN104145258B (zh) | 2011-09-09 | 2012-09-10 | 基于服务器的远程桌面记录和回放方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9172763B2 (zh) |
JP (1) | JP5923171B2 (zh) |
CN (1) | CN104145258B (zh) |
BR (1) | BR112014005266B1 (zh) |
DE (1) | DE112012003741T5 (zh) |
GB (1) | GB2510726B (zh) |
WO (1) | WO2013036951A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109191327A (zh) * | 2018-09-03 | 2019-01-11 | 贵州电网有限责任公司六盘水供电局 | 一种智能变电站二次安全措施实施过程记录及回放方法 |
CN109508159A (zh) * | 2017-09-12 | 2019-03-22 | 亿阳安全技术有限公司 | 录像文件以及录像生成的方法、相关设备以及存储介质 |
CN112988530A (zh) * | 2019-12-17 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 一种用户数据处理方法、装置、存储介质及用户终端 |
CN114390355A (zh) * | 2021-12-10 | 2022-04-22 | 阿里巴巴(中国)有限公司 | 协议数据的回放方法及电子设备 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140343997A1 (en) * | 2013-05-14 | 2014-11-20 | International Business Machines Corporation | Information technology optimization via real-time analytics |
EP3026566A4 (en) * | 2013-07-22 | 2016-08-10 | Fujitsu Ltd | INFORMATION PROCESSING DEVICE, METHOD AND PROGRAM |
US9635091B1 (en) * | 2013-09-09 | 2017-04-25 | Chad Dustin TILLMAN | User interaction with desktop environment |
US20150229699A1 (en) | 2014-02-10 | 2015-08-13 | Comcast Cable Communications, Llc | Methods And Systems For Linking Content |
JP6169990B2 (ja) * | 2014-02-25 | 2017-07-26 | Kddi株式会社 | 遠隔自動操作システムにおけるコントローラ代理プログラム及び方法 |
US9467721B2 (en) * | 2014-04-18 | 2016-10-11 | Verizon Patent And Licensing Inc. | Enhanced fast-forward and rewind visual feedback for HLS content |
US11388203B2 (en) | 2016-08-16 | 2022-07-12 | Avaya Inc. | Systems and methods for media tunneling through edge server |
US11327775B2 (en) * | 2017-01-11 | 2022-05-10 | Graphcall, Inc. | Method for recording and playing back a media-synchronized user browsing session |
US11070630B2 (en) * | 2018-05-04 | 2021-07-20 | Citrix Systems, Inc. | Computer system providing SAAS application session state migration features and related methods |
KR102177971B1 (ko) * | 2018-07-09 | 2020-11-12 | 에스케이플래닛 주식회사 | 클라우드 스트리밍 환경에서의 사용자 활동 재생 방법 및 이를 위한 장치 |
US10880120B2 (en) * | 2018-07-19 | 2020-12-29 | Avaya Inc. | System and methods for tunneling media through secure channel |
US10924545B2 (en) | 2018-10-10 | 2021-02-16 | Citrix Systems, Inc. | Computer system providing mirrored SAAS application sessions and related methods |
US12008126B2 (en) | 2021-09-24 | 2024-06-11 | Microsoft Technology Licensing, Llc | Asynchronous supervision for sovereign cloud platforms |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244081A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Automated testing of audio and multimedia over remote desktop protocol |
US20100030853A1 (en) * | 2008-07-09 | 2010-02-04 | Aten International Co., Ltd. | Remote desktop control system using usb interface and method thereof |
US20100064215A1 (en) * | 2008-09-10 | 2010-03-11 | Leon Portman | System and method for screen recording |
CN101827082A (zh) * | 2010-02-09 | 2010-09-08 | 蓝盾信息安全技术股份有限公司 | 记录及回放用户的桌面操作信息的方法、系统及设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160702A (ja) * | 1995-12-13 | 1997-06-20 | Yamatake Honeywell Co Ltd | 監視制御プログラムの動作再現方法および動作再現装置 |
US20030142122A1 (en) * | 2002-01-31 | 2003-07-31 | Christopher Straut | Method, apparatus, and system for replaying data selected from among data captured during exchanges between a server and a user |
US8220042B2 (en) * | 2005-09-12 | 2012-07-10 | Microsoft Corporation | Creating secure interactive connections with remote resources |
US20070106692A1 (en) * | 2005-11-10 | 2007-05-10 | International Business Machines Corporation | System and method for recording and replaying a session with a web server without recreating the actual session |
TW200822623A (en) * | 2006-05-03 | 2008-05-16 | Avocent Corp | Remote session recording apparatus and method |
US20090183225A1 (en) * | 2008-01-10 | 2009-07-16 | Microsoft Corporation | Pluggable modules for terminal services |
US8935312B2 (en) * | 2009-09-24 | 2015-01-13 | Avaya Inc. | Aggregation of multiple information flows with index processing |
US8380994B2 (en) * | 2009-12-23 | 2013-02-19 | Citrix Systems, Inc. | Systems and methods for generating and managing cookie signatures for prevention of HTTP denial of service in multi-core system |
-
2012
- 2012-09-10 BR BR112014005266-2A patent/BR112014005266B1/pt active IP Right Grant
- 2012-09-10 GB GB1403984.6A patent/GB2510726B/en active Active
- 2012-09-10 CN CN201280055124.9A patent/CN104145258B/zh active Active
- 2012-09-10 WO PCT/US2012/054498 patent/WO2013036951A1/en active Application Filing
- 2012-09-10 US US13/608,892 patent/US9172763B2/en active Active
- 2012-09-10 JP JP2014529954A patent/JP5923171B2/ja active Active
- 2012-09-10 DE DE112012003741.3T patent/DE112012003741T5/de active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244081A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Automated testing of audio and multimedia over remote desktop protocol |
US20100030853A1 (en) * | 2008-07-09 | 2010-02-04 | Aten International Co., Ltd. | Remote desktop control system using usb interface and method thereof |
US20100064215A1 (en) * | 2008-09-10 | 2010-03-11 | Leon Portman | System and method for screen recording |
CN101827082A (zh) * | 2010-02-09 | 2010-09-08 | 蓝盾信息安全技术股份有限公司 | 记录及回放用户的桌面操作信息的方法、系统及设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109508159A (zh) * | 2017-09-12 | 2019-03-22 | 亿阳安全技术有限公司 | 录像文件以及录像生成的方法、相关设备以及存储介质 |
CN109191327A (zh) * | 2018-09-03 | 2019-01-11 | 贵州电网有限责任公司六盘水供电局 | 一种智能变电站二次安全措施实施过程记录及回放方法 |
CN109191327B (zh) * | 2018-09-03 | 2021-07-09 | 贵州电网有限责任公司 | 一种智能变电站二次安全措施实施过程记录及回放方法 |
CN112988530A (zh) * | 2019-12-17 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 一种用户数据处理方法、装置、存储介质及用户终端 |
CN112988530B (zh) * | 2019-12-17 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 一种用户数据处理方法、装置、存储介质及用户终端 |
CN114390355A (zh) * | 2021-12-10 | 2022-04-22 | 阿里巴巴(中国)有限公司 | 协议数据的回放方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP5923171B2 (ja) | 2016-05-24 |
GB2510726A (en) | 2014-08-13 |
GB201403984D0 (en) | 2014-04-23 |
BR112014005266B1 (pt) | 2022-05-17 |
JP2014531653A (ja) | 2014-11-27 |
BR112014005266A2 (pt) | 2017-03-28 |
CN104145258B (zh) | 2017-07-07 |
US20130067020A1 (en) | 2013-03-14 |
DE112012003741T5 (de) | 2014-08-07 |
GB2510726B (en) | 2020-01-15 |
WO2013036951A1 (en) | 2013-03-14 |
US9172763B2 (en) | 2015-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104145258A (zh) | 基于服务器的远程桌面记录和回放方法和装置 | |
US11991158B2 (en) | System and method for implementing secure communications for internet of things (IoT) devices | |
US11792199B2 (en) | Application-assisted login for a web browser | |
CA2936358C (en) | Mobile cloud service architecture | |
JP2022529967A (ja) | ブロックチェーン・ネットワークからのデータの抽出 | |
JP6608453B2 (ja) | 記憶されたデータに対するリモートアクセス制御 | |
EP3069464B1 (en) | Identity pool bridging for managed directory services | |
US20130007895A1 (en) | Managing access control for a screen sharing session | |
US10333962B1 (en) | Correlating threat information across sources of distributed computing systems | |
CN104185844A (zh) | 基于远程桌面协议的密钥共享方法和装置 | |
US9178698B1 (en) | Dynamic key management | |
US10705690B1 (en) | Sending virtual desktop information to multiple devices | |
US10178119B1 (en) | Correlating threat information across multiple levels of distributed computing systems | |
US20140025695A1 (en) | Methods and apparatus for providing unified access to various data resources using virtualized services | |
AU2015321610B2 (en) | Computing environment selection techniques | |
CN109565518A (zh) | 可互换的内容取回 | |
CN104081374A (zh) | 分级显示器服务器系统和方法 | |
CN111416837A (zh) | 政务系统api接口访问网关、方法、电子设备及存储介质 | |
US10055245B1 (en) | Immutable configuration of virtual computer systems | |
CN107577777A (zh) | 一种文件查阅方法、装置及电子设备 | |
CN111953801A (zh) | 机器人的远程控制方法、装置、电子设备及存储介质 | |
TW201346785A (zh) | 行動化的網路即時客戶服務方法 | |
US20160142516A1 (en) | Method and system for transferring data over a local area network to a smart device | |
Hu | Emergent trends in personal, mobile, and handheld computing Technologies | |
CN104363260A (zh) | 一种通过插件实现网站或网店视频沟通与音频沟通的技术 |
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 |