CN1346564A - 提供虚拟桌面系统体系结构的方法和装置 - Google Patents

提供虚拟桌面系统体系结构的方法和装置 Download PDF

Info

Publication number
CN1346564A
CN1346564A CN99806886A CN99806886A CN1346564A CN 1346564 A CN1346564 A CN 1346564A CN 99806886 A CN99806886 A CN 99806886A CN 99806886 A CN99806886 A CN 99806886A CN 1346564 A CN1346564 A CN 1346564A
Authority
CN
China
Prior art keywords
data
user
network
session
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN99806886A
Other languages
English (en)
Other versions
CN1310487C (zh
Inventor
J·D·诺思克特
J·G·汉克
A·T·鲁贝格
G·A·沃尔
L·L·布彻
N·C·威廉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1346564A publication Critical patent/CN1346564A/zh
Application granted granted Critical
Publication of CN1310487C publication Critical patent/CN1310487C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明为计算提供中央站元工具(metaphor),其特征和功能由一个或多个服务提供并且经网络与设备终端通信。数据提供者被定义为“服务”并且由一个或多个处理资源提供。服务经诸如以太网之类的网络与显示终端通信。终端配置为显示数据并经网络向处理服务器发送键盘、光标、音频和视频数据。功能性经过划分使得数据库、服务器和图形用户接口功能由服务提供,而人机接口功能性由终端提供。通过将不同的输出转换为共同的协议实现终端与各种服务的通信。对于每项服务,提供合适的驱动器完成协议转换。多个终端与网络耦合。用户通过将“智能卡”插入读卡机,可以在任一台终端上进行唯一的对话。将卡取出终止对话。将卡重新插入同一或其他任何终端可重新开始对话。

Description

提供虚拟桌面系统体系结构的方法和装置
发明领域
本发明涉及计算机系统领域。
本专利文档揭示内容包含了受版权保护的材料。版权拥有人不禁止任何人影印复制出现在专利和商标局文件或记录之中的专利文档或专利公开内容,但是保留所有版权。Sun、Sun Microsystems、Sun的标识、Java、JavaBeans、HotJava和所有以Java为基础的商标与标识都是Sun微系统股份公司在美国和其他国家的商标或注册商标。
背景技术
计算机用户需要成本不断降低下的高性能计算能力。当前为满足这种需求而作出的努力导致边际成本降低但是性能明显变差的计算机系统。计算机用户面临的选择是稍微减少支出而换取计算机性能的大幅度变差。要解决的问题是如何在明显降低成本的情况下提供更高或同等的计算能力。通过考察计算机系统的发展可以更好地理解问题。
借以配置计算机系统的模式随时间而变化。在早期,计算机是象屋子那样大小的设备,它由计算机近旁的用户访问。这种计算机被称为“大型”计算机。最终需要由大量的用户访问大型机的计算能力。这导致多个经网络与大型机通信的所谓“哑终端”的使用。大型机是提供计算能力和数据存储的中央站。哑终端是大型机提供数据的显示设备,并且还提供了向大型机传送有些数据的装置。由于这些终端不具有本地处理或数据存储的功能,所以被称为哑终端。如果从大型机网络上断开终端,则它无法提供任何计算能力。大型机/终端体系结构的缺点是与大型机本身相伴的高成本。只有非常注重大量用户应用的情况下才存在购买和使用大型机/终端系统的理由。
个人计算机(又称为桌面计算机)的引入提供了一种解决大型机系统缺点的方案。桌面计算机系统是一种自包含的计算系统,所有的应用、数据和计算能力都驻留在桌面计算机系统本身内。这种个人计算机刺激了计算机在家庭和办公室的使用。桌面系统的成本与大型机环境相比相对较低。但是不久在桌面计算机的使用中就显露出几个缺点。一个缺点是桌面计算机是孤立的。它不再是集中化和相容网络的一部分,用户发现其难以与其他用户共享数据。由于每台桌面计算机都有自己的软件,所以在不同计算机上存在软件应用版本不兼容的问题。而且在多种操作系统下,有些数据根本无法共享,或者需要专门转换为一些兼容格式才能共享。
随着客户机/服务器系统的兴起,这些问题有了一些解决方案。桌面计算机在公司网络内链接在一起。公共数据(在有些情况下是应用程序)被存储在称为服务器的中央计算系统上。服务器维护公共数据并且在客户机(桌面计算机)请求时向其提供副本。客户机/服务器也存在缺点。一个缺点是硬件的落伍。桌面计算机是以微处理器为核心的,并且随着速度更快并且能力更强的微处理器可供使用,需要升级现有的桌面系统或者购买新的桌面系统。个人桌面计算机遍布在许多办公室内,有时候数量以成千上万计。有些硬件单元(例如系统的RAM)无需更换整个桌面系统就可以升级。但是根据桌面系统的使用年限和类型,其系统RAM的升级能力受到限制。即使在可以升级时,升级上万台桌面计算机的费用也可能令人犹豫不决。对于本地硬盘存储升级也存在同样的问题。当系统不再升级时,它必须被替换。新版本的软件应用程序和操作系统的引进有时需要使用硬件规格,而现有桌面系统却不再满足要求。这需要替换上万台桌面计算机,有时每3年就需更换一次。
这种系统的另一个缺点是在单个系统上应用和数据缺乏兼容性。有些用户可能拥有较新版本的软件应用程序,它并不向后兼容较早版本的软件。这个问题的解决的方案是在所有系统上保持一致的软件。但是升级每个系统和提供软件许可拷贝以及软件升级的费用可能是笔庞大的支出。此外,软件的安装和维护也需要在管理上花费大力气。即使具备远程系统管理能力,对软件资源进行跟踪和分类也是一种负担。除了公司指定的软件以外,用户一般还在其系统上加载未许可的软件,包括娱乐软件、软件优化器,甚至是对整个网络运行可能产生不利影响的生产性工具。更为危险的是由用户未经许可安装应用程序将计算机病毒引入公司网络。
最近,因特网的兴起导致人们提出了所谓“网络计算机”的使用。网络计算机是个人计算机的简化版本,其存储空间较小,存储器较少,并计算能力也常常更弱。其思想是网络计算机将通过因特网访问数据,并且只有特定人物所需的应用程序才提供给网络计算机。当应用程序不再使用时,它们就不再存储在网络计算机上。由于这种系统缺少完整的桌面系统所具有的能力,而且价格的低廉还不足以成为性能降低的理由,所以受到了一些批评。并且即使网络计算机是桌面计算机的子集,但是其可能仍然需要升级硬件和软件以保持适当的性能水平。
需要一种系统,它提供了所需的性能并且比桌面系统具有更高的性能价格比,具有大型机系统的管理方便性并且延缓硬件的过时。
发明内容
本发明为计算提供中央站元工具(metaphor),其特征和功能由一个或多个服务提供并且经网络与设备终端通信。数据提供者被定义为“服务”并且由一个或多个处理资源提供。服务经诸如以太网之类的网络与显示终端通信。终端配置为显示数据并经网络向处理服务器发送键盘、光标、音频和视频数据。功能性被划分成使得数据库、服务器和图形用户接口功能由服务提供,而人机接口功能性由终端提供。通过将不同的输出转换为共同的协议实现终端与各种服务的通信。对于每项服务,提供合适的驱动器完成协议转换。多个终端与网络耦合。用户通过将“智能卡”插入读卡机,可以在任一台终端上进行唯一的对话。将卡取出终止对话。将卡重新插入同一或其他任何终端可重新开始对话。
附图简述
图1为与本发明一起使用的示例性计算机系统的框图。
图2示出了本发明中对话管理和授权的实例。
图3示出了本发明的虚拟桌面环境。
图4为本发明HID的一个实施例的框图。
图5示出了本发明的单片HID实施例。
实施发明的较佳方式
本发明是一种提供虚拟桌面结构体系的方法和装置。在下列描述中,通过众多具体的细节更为全面地描述了本发明的实施例。但是显而易见的是,对于本领域内的技术人员而言,无需这些具体的细节即可实现本发明。在其他实例中,为了突出本发明,对于众所周知的特征并未作详细描述。
本发明提供了称为虚拟桌面体系结构的新型计算机系统的体系结构。该系统以低于现有技术系统的成本提供了高出许多的功能性水平。本发明在中央服务器安装与用户硬件之间对功能性重新进行了划分。数据和计算功能性由数据源借助集中化的处理布局提供。在用户端,省略了除生成向用户的输出(例如显示器和扬声器)、从用户接收输入(例如鼠标和键盘)或其他用户可交互的外设(例如扫描仪、摄像机、可移动存储器)以外的所有功能性。
所有的计算由中央数据源完成并且计算独立于所生成数据的目的地。数据源的输出被提供给这里称为“人机接口设备”(HID)的终端。HID能够接收数据并显示数据。
本发明的虚拟桌面系统的体系结构可以类似于其他高度分工的系统。例如公共电话公司维护性能强大而复杂的处理能力和中央局上的大型数据库。但是人机接口设备电话机相对简单并且无需在电话公司增加新特征或服务时升级。电话机本身成为低成本的电气设备并且淘汰非常慢。同样,大多数计算机系统的显示监视器也淘汰得很慢,并且一般在大多数桌面系统升级时是不会更换的。
虚拟桌面系统体系结构
在该系统中,系统的功能性在显示和输入设备与数据源或服务之间划分。显示和输入设备是人机接口设备(HID)。该系统划分时把状态和计算功能从HID卸除并且驻留在数据源或服务中。在本发明的一个实施例中,一个或多个服务通过一些互联光纤与一个或多个HID通信。图3示出了这种系统的一个实例。参见图3,系统由计算服务提供者300组成,它们经互联光纤301向HID302传送数据。
计算服务提供者
在HID系统中,计算能力和状态维护在服务提供者或服务中寻找。服务并不局限在特定的计算机上,而是可以分布在图1所示的一台或多台传统的桌面系统上或者分布在传统的服务器上。一台计算机可以包含一项或多项服务,或者一项服务可以由一台或多台计算机实现。服务向HID提供了计算机、状态和数据并且置于公共授权或管理器之下。在图3中,服务在计算机310、311、312、313和314上寻找。重要的是,中央数据源也可以提供来自其外部的数据,例如因特网或万维网的数据。数据源也可以是广播实体,例如广播电视或无线信号之类数据的实体。
服务的例子包括X11/Unix服务、存档或实况的音频或视频服务、Windows NT服务、JavaTM程序执行服务等。这里的服务是向用户请求和输入提供输出数据和响应的进程。
服务负责处理与当前用来访问给定服务的HID的通信。这牵涉到从计算服务提取输出并且转换为HID的标准协议。在本发明的一个实施例中,该数据协议转换由服务制造者机器内的中间件层处理,例如X11服务器、微软视窗界面、视频格式传送变码器、OpenGL接口或java.awt.graphics.class的变体。服务机处理与虚拟桌面体系结构有线协议的变换。
在本发明的实施例中,每项服务由性能经过优化的计算设备提供。例如,企业类机可以用来提供X11/Unix服务,Sun MediaCenter可以用来提供视频服务,基于NT机的Hydra可以提供小应用程序执行服务。
服务制造计算机系统经互联光纤与HID直接连接。服务制造商也可以是另一提供计算服务的设备的代理者,例如三级体系结构中的数据库计算机,其中代理计算机可能仅仅生成问询和执行用户接口代码。
互联光纤
在本发明中,互联光纤是多种合适的通信路径中的任何一种,它用于在服务与HID之间载带数据。在一个实施例中,互联光纤是作为以太网实现的局域网。也可以采用任何其他的局域网。本发明还考虑采用广域网、因特网、万维网等。互联光纤可以诸如线缆或光纤线缆之类的物理介质实现,也可以在无线环境下实现。
在本发明的一个实施例中,互联光纤在HID与被访问服务之间提供了主动管理、等待时间短的宽带通信。实施例考虑了协同(与竞争相反)的网络通信量下的单层交换网络。在本发明中可以采用专用或共享的通信互联。
人机接口设备
HID是用户用来访问服务提供的计算服务的装置。图3示出了HID321、322和323。HID由显示器326、键盘324、鼠标325和音频扬声器327组成。HID包括使这些设备与互联光纤接口并发送和接收往来于服务的数据所需的电子装置。
图4示出了HID的框图。HID的单元在内部与PCI总线412耦合。网络控制方框402通过线路414与诸如以太网之类的互联光纤通信。音频声码器403接收接口416上的音频数据并且与方框402耦合。在线路413上提供了与USB控制器401的USB数据通信。
嵌入式处理器404例如可以是耦合快闪存储器405和DRAM406的Sparc2ep。USB控制器401、网络控制器402和嵌入式处理器404全都与PCI总线412耦合。与PCI412耦合的还有视频控制器409。视频控制器409例如可以是在线路415上提供SVGA输出的ATI RagePro+帧缓冲控制器。NTSC数据分别经视频译码器410和视频变码器411提供于视频控制器内外。智能卡接口408也可以与视频控制器409耦合。
另一种方式是HID可以利用图5所示的单片解决方案实现。单片解决方案包括借助CPU501和图形重现器505实现的所需处理能力。芯片存储器507连同视频控制器/接口506一起提供。提供通用串行总线(USB)控制器502以能够与鼠标、键盘和其他附属在HID上的本地设备通信。还可以提供声音控制器503和互联接口504。视频接口与CPU501和图形重现器505共享存储器507。该实施例中所用的软件可以本地化地驻留在非易失存储器内或者可以在设备通电时通过互联接口加载。
虚拟桌面系统体系结构的运行
会话处理
虚拟桌面系统体系结构中服务的提供以这里称为会话的抽象概念为中心。会话是任一时刻代表用户执行的这些服务的长期、持续和可靠的表现形式。当系统上允许新的用户时,创建新的会话,并且当用户从系统撤离时销毁用户会话的所有内容。会话抽象由称为会话管理器的设施维护,其职责是保持用户与会话之间映射的数据库,并且管理构成每个会话的服务。对于系统觉察到的每个用户,存在一个或多个会话。会话管理器向用户提供服务,允许配置会话和创建新的会话。
在本发明的系统中,用户并不局限于任何特定的HID。用户与用户会话相关联,并且会话可以在用户访问的任何HID上显示。称为鉴权管理器的抽象实体负责确保用户的合法性并使用户与其所需的会话相关联。HID一般处于睡眠、待机或不用时的关机模式。当用户要使用特定的HID时,发生鉴权交换,它可以由一个或多个智能卡、密钥、密码和/或生物统计学机制组成。
当鉴权管理器证实用户身份之后,它通知用户当前的会话管理器,而该会话管理器又通知选定会话内的所有服务,并且在用户桌面上组成会话显示。用户可以从会话内部与现存服务交互,启动新的服务或者杀灭执行的服务。当用户离开HID(例如取下智能卡)时,鉴权管理器注意到该情况并通知会话管理器,而会话管理器又通知所有相关的服务,停止显示功能,并且HID返回其睡眠状态。HID激活和释放的效果与关闭桌面系统的显示监视器类似。用户桌面仍然可以使用并且也许还在执行,但是不生成显示。本发明的一个优点是用户桌面可以为任何连接的HID访问。
图2提供了本发明中会话管理和鉴权的实例。这些材料在1998年4月20日提交的题为“会话管理和用户鉴权的方法和装置”的共同待批美国专利申请09/063,339中有所描述,该申请已经转让给了本发明的受让人并且作为参考文献包含在本文中。网络终端202是一种人机接口设备(HID),其任务是向用户显示服务输出并且从用户获得向服务的输入。网络终端202能够响应从例如在计算服务提供者上执行的软件程序(例如服务230-238、鉴权204和会话管理器206)接收的命令(例如显示命令)。从用户接收的输入例如提供给完成用户请求的服务。
服务是完成用户一些功能的程序。一个或更多的服务器可以执行包含一个会话的服务。例如在会话208中,服务230在服务器210上执行,服务232和234在服务器212上执行,而服务236和238在服务器214上执行。
用户通过启动登录来访问系统(例如服务器、会话、服务和网络终端)。在登录期间,鉴权管理器204验证用户的身份。可以采用各种技术使用户能够启动登录。例如用户可以通过按下网络终端202上的按键启动登录。
在本发明的一个实施例中,用户通过将智能卡插入附属在网络终端202上的读卡机(例如读卡机216)访问系统。智能卡能够在诸如其磁条或存储器内存储信息。智能卡可以存储向网络终端202发送的用户信息,例如用户身份(即诸如64比特数字的用户ID)和密码(例如128比特的随机数)。密码在鉴权期间使用。
网络终端意识到(或者可以获得)其互联网络的地址和鉴权管理器204的地址。当用户启动登录时,网络终端202启动与鉴权管理器204的通信以开始鉴权。鉴权管理器204是在经互联网络(例如局域网(LAN))连接到网络终端202的计算服务提供者上激活(例如执行)的程序。但是显而易见的是,网络终端202可以利用其他互联网络技术(例如光纤信道环路或点一点线缆)与鉴权管理器204连接。网络终端202向鉴权管理器204发送包含了用户身份(用户ID)的启动请求。
在本发明的实施例中,鉴权管理器204响应启动请求,初始化鉴权过程来对用户身份进行验证。鉴权过程可以包含任何验证用户相对系统身份的机制。仅仅为用户知晓的密钥或密码或者生物统计学信息可以用来鉴别用户身份。
在本发明的实施例中,鉴权是通过验证用户在网络终端202上输入的个人身份号码(PIN)完成的。鉴权管理器204发送命令(即质问命令)以启动用户在网络终端202输入PIN。用户输入随后由网络终端202打包并发送至鉴权管理器204(即质问响应)。
鉴权管理器204以鉴权数据库218内的用户信息、用户提供的信息和鉴权期间生成的信息验证质问响应。当用户被授权限之后,用户被允许访问会话(例如会话208)。会话是代表用户执行的一个或多个服务相关组的持续表现形式。
如果从用户接收到预期的结果,则鉴权管理器204(经连接消息)通知会话管理器206用户已经在网络终端202上登录系统。鉴权数据库218内包含的会话信息被用来识别会话管理器206的服务器、端口和会话识别符(ID)。会话管理器206是在计算服务提供者上激活的程序并且经例如互联网络204与鉴权管理器204和网络终端202相连。鉴权管理器204利用会话管理器206的服务器和鉴权数据库218内包含的端口信息向会话管理器206发送消息。
会话管理器206响应来自鉴权管理器204的连接消息,通知用户当前会话内的服务(即会话208内的服务)用户连接在网络终端202上。即,会话管理器206向服务230-238发送连接消息以将输出导向网络终端202。会话管理器206确保被考虑为所需的会话服务的服务正在执行。如果不是,则会话管理器206对它们进行初始化。用户与会话(例如会话208)内的服务230-238交互。网络终端202经互联网络(例如局域网或其他互联技术)与服务器210、212和214(和服务230-238)连接。用户也可以启动新的服务或终止现存的服务。
用户可以通过将卡从读卡机216上取下而离开系统。其他表示断开的机制也可用于本发明(例如网络终端202上的“结束”按钮)。即使在用户从读卡机216撤离卡之后,服务230-238仍然可以继续运行。即,在用户脱离系统(例如退出)期间用户相关的会话和包含会话的服务仍然可以继续存在。当用户将卡从读卡机216上取下时,网络终端202(例如借助断开消息)通知鉴权管理器204,它又(例如借助断开消息)通知会话管理器206。会话管理器206(例如借助断开消息)通知服务230-238终止向网络终端202发送显示命令。但是在用户未在网络终端上登录期间服务230-238继续执行。用户可以利用诸如网络终端202之类的网络终端登录返回,连接至会话208并且与服务230-238交互。
有线协议
本发明通过将服务输出转换为标准的协议或者这里所称的“有线协议”能够将计算功能性部分地按服务划分。附录A为有线协议的一个实施例例子。有线协议提供了处理视频和音频数据的命令。该系统还提供了管理带宽使用的机制。
视频数据
有线协议包括重现命令,它们设计为支持代表用户完成的所有服务的显示操作。为此将所有显示操作归一化为多个2D/矩形操作(例如填充、复制、glyph、点描)。对于图像或视频数据的转送,提供了像素阵传送操作,从而允许包括压缩格式在内的一小组不同格式存在。此外,有线协议包括对输入设备(例如键盘、鼠标)处理、音频输入/输出和用户连接、断开以及鉴权的支持。
本发明的系统体系结构要求提供系统服务重现的所有API输出本发明的有线协议。为此,在一个实施例中使重现API采用软件“虚拟帧缓冲器”并且将所有来自给定高级API的重现命令转换为有线协议的命令。例如,X服务器可以修改为将命令从Spans接口取下,微软视窗的GDI接口可以用来访问底层重现命令,而MPEG视频译码器可以在颜色空间转换和标度视频数据之前分离。同样,java.awt.graphics类可以分为子类以使应用程序和小应用程序能够发射有线协议(从而旁路X或视窗以完成自己的重现)。
除了提供2D重现和设备输入支持以外,虚拟桌面协议也提供对多媒体数据类型的支持。为了处理现今存在的大量不同音频/视频格式,采用与2D显示命令集类似的途径--即在服务制造者上完成所有的重现并且将输出归一化为低级格式。通过将不同的介质格式转换为所有HID都能理解的标准格式,减少了支持多种不同格式的成本(不管是一系列专用硬件的升级还是软件的即插即用)。视频和图像数据以最小通分母作归一化--即未标度、未经过颜色空间转换的色度子采样的像素(例如YUV422)。该格式对于大部分编码方案都是相同的并且通过代理机(它缩短译码流水线并且发送原始的像素数据)对其自身进行代码转换。此外,选择采用适中压缩的简单形式(对于软件编码和译码而言都是容易的)提供了6倍附加的压缩,其对图像质量的影响非常小。当以RGB格式传送时,原始的NTSC视频代表240Mbps连续数据。色度子采样YUV数据为160Mbps,并且适中压缩技术使全屏和速率为NTSC的窗口(或4幅SIF大小的窗口等)以30Mbps左右传送。同样的视频转送格式也可以用来从桌面设备传送视频数据。在1998年4月20日提交的题为“在网络环境下支持视频协议的方法和装置”的共同待批的美国专利申请09/063,492中描述了视频协议,该申请已经转让给了本发明的受让人并且作为参考文献包含在本文中。
音频数据
音频数据通过一组定义为虚拟桌面协议一部分的音频命令而往返传送于桌面。桌面设备上的音频接收通过一种被想象为“通用接收机”的方式而得到支持一任意数量的流、任意采样速率数据可以被送至MID并且经过混合和适当地输出流。例如,DAT音质的立体声音频流可以在48kHz下以16比特/样本的格式传送,这样的数据率为1.5Mbps左右。若干这样的流以及多个其他的音频流可以其他数据速率发送至HID,由HID高效地重新定时和混合所有的流并生成系统音频输出流。
有线协议的音频协议部分为服务使用提供了标准的协议。在本发明的实施例中,通过为网络上的发射机与接收机之间的音频传输指定单个音频协议,最大程度地降低了接收机在音频处理和硬件方面的要求。协议规定了采样速率、比特分辨率和量化方案,这些使接收机的音质较好并且进一步降低了它的复杂性。发射机配备了驱动器以将音频数据转换为所需的指定协议。
指定的协议解决了经网络发送音频流时的难题。指定协议规定了数据包内部使音频样本交错的格式以最大程度地减少包丢失引起连续丢失音频数据样本从而产生的错误。接收机可以通过内插进一步解决音频数据样本的丢失。根据指定的协议,规定了序列大小以控制音频数据的处理方式。发射机以自适应方式控制序列大小以将音频延迟保持在每个音频应用规定的时限内。指定的协议还确定了混合模式和声道数量以规定多声道音频数据如何混合和在多个音频输出设备之间如何传送。在1998年4月20日提交的题为“在网络环境下支持音频协议的方法和装置”的共同待批的美国专利申请09/063,341中描述了音频协议,该申请已经转让给了本发明的受让人并且作为参考文献包含在本文中。
带宽管理
虚拟桌面协议业务量可能在本质上是猝发式的。服务制造者部分经过长时间的非活跃之后是极高的带宽猝发一例如当用户读取数据时未产生业务量,随后一旦请求新增数据则进行全屏更新。已经观察的峰值数据率猝发超过40Mbps,而长期平均数据率可忽略不计。由于猝发具有明确定义的上限(即改变每个像素、每帧时间为~2Gbps),一般情况下低于上限(即通常情况下,屏幕像素的一些子集发生变化,随后在下一次变化之前的一段时间保持不变)并且猝发是随机分布的(即用户总是独立地进行操作),所以能够利用统计多路复用获益。但是这还需要提供一些处理瞬时过载的手段来处理系统资源求大于供时的情况。为此,在互联光纤管理中采用速率控制机制。这是为了确保制造者不生成多于链路的数据或者确保人机接口设备能够处理。由于有多个资源在给定互联链路上传送以及送至给定的HID,所以完成该任务有困难。这意味着必须提供一定形式的分布式协调(或协作)来确保系统工作。解决该问题的一个有效途径是采用避免阻塞和速率控制技术来管理互联资源以及桌面资源。与当前FTP实现方案技术兼容的这些技术使得虚拟桌面协议业务能够与标准因特网业务很好地共存。
当经过介质发送数据的多个数据源的累计数据速率超过介质带宽时,介质无法以所需的数据率发送全部数据。为了在介质带宽限制内保证数据传输,必须延迟发送或者停止发送一些数据。但是当多个数据源以变化的时间发送可变数量的数据时,选择延迟或停止发送的数据变得相当复杂。不适当地选择延迟或停止发送的数据可能导致系统性能的严重下降。因此需要一种技术来管理多个数据源在有限带宽介质上的数据通信,在这里多个数据源的累计带宽需求可能超过介质的带宽。
在本发明的一个实施例中,多个数据源经通信介质与数据接收机耦合。数据源可以是任何信息源,并且信息可以是任何类型或多种类型。例如信息可以是计算机程序代码、文本、音频数据、视频数据、图形数据、条件或事件的数据表示、数字信息、模拟信息或其他任何形式的信息。数据源的实例包括计算机设备、音频设备、视频设备、用户输入设备、信息存储设备、网络设备、传感器、身份识别设备或其他任何形式的信息源。
当信息从数据源向数据接收机发送时,数据源预测在可接收的数据率下传送信息所需的带宽量。数据源向数据接收机发送带宽需求的估计。在多个数据源的环境下,数据接收机从多个数据源接收带宽需求估计。数据接收机将多个数据源的带宽需求估计相加得到多个数据源请求的累计数据率。数据接收机将请求的累计数据率与传送信息的通信介质带宽进行比较。如果请求的累计数据率小于介质带宽,则数据接收机对多个数据源任何一个的数据率不加限制。数据接收机为每个数据源全额分配其请求的带宽。
但是,如果请求的累计数据率大于介质带宽,则数据接收机比较每个数据源请求的带宽大小。对于请求带宽较小的数据源,数据接收机全额分配其请求的带宽。对于请求带宽较大的数据源,数据接收机只分配其请求带宽的一部分。数据接收机在仅仅略微减少请求带宽与丝毫不减少请求带宽之间进行平衡以确定带宽减少所影响的数据源数量和每个受影响数据源带宽减少的程度。
在本发明的实施例中,通过监视送往数据接收机的命令,数据源产生其可能需要的带宽估计。例如,包含X窗口服务器的数据源监视送往X客户机程序的命令。通过监视这类命令,X窗口服务器可以确定发送的比特数和像素数以及出现这种发送的理想时间间隔。通过将比特数除以理想时间间隔,X窗口服务器可以得到一个用比特/秒表示的对于命令生成数据的理想数据率。同样,X窗口服务器可以得到一个用像素/秒表示的对于命令生成数据的理想数据率。这些数据流可以用作带宽需求的初始估计。
当这种监视和估计过程继续时,有关数据率的历史信息可以用来生成描述数据率的统计参数。例如,平均数据率或数据率(等于平均数据率加上标准偏差)可以精确地逼近并用来确定将来的带宽分配。
数据源可以在它们不发送数据时或者发送数据时(如果数据源有足够的计算资源)对数据率参数进行这样的监视、分析和估计。例如,如果分配带宽的减少降低了数据源发送数据的速率,则数据源可以利用其等待发送数据的时间来完成数据率参数的监视、分析和估计。在1998年4月20日提交的题为“有限带宽介质上通信管理的方法和装置”的共同待批的美国专利申请09/063,491中描述了本发明的带宽管理和冲突避免,该申请已经转让给了本发明的受让人并且作为参考文献包含在本文中。
计算机执行环境实施例(硬件)
本发明的实施例的实现方式可以是在通用计算机(例如图1所示计算机100)上执行的计算机可读代码形式或者在这类计算机上运行的JavaTM运行时环境内可执行的字节代码类文件形式的计算机软件。键盘110和鼠标111与双向系统总线118耦合。键盘和鼠标将用户输入引入计算机系统并且使用户输入与处理器113通信。其他还可以采用其他合适的输入设备或者代替鼠标111和键盘110。与双向系统总线118耦合的I/O(输入/输出)单元119代表了这类I/O单元,例如打印机、A/V(音频/视频)I/O等。
计算机100包括视频存储器114、主存储器115和海量存储器112,它们都与双向系统总线118连同键盘110、鼠标111和处理器113耦合。海量存储器112可以包括固定和可移动介质,例如磁性、光学或磁光存储系统或者其他任何可用的海量存储技术。总线118例如可以包含32位地址线来寻址视频存储器114或主存储器115。系统总线118还例如包括32位数据总线用于在单元(例如处理器113、主存储器115、视频存储器114和海量存储器112)之间传送数据。作为替换方式,可以采用多路复用数据/地址线代替分立的数据和地址线。
在本发明的实施例中,处理器113是Motorola制造的微处理器(例如680X0处理器)或者Intel制造的微处理器(例如80X86或奔腾处理器)或SunMicrosystemsTM Inc制造的SPARCTM微处理器。但是也可以采用其他任何合适的微处理器或微计算机。主存储器115由动态随机访问存储器(DRAM)构成。视频存储器114为双端口视频随机访问存储器。视频存储器114的其中一个端口与视频放大器116耦合。视频放大器116被用来驱动阴极射线管(CRT)光栅监视器117。作为一种替换方式,视频存储器可以用来驱动平板或液晶显示器(LCD)或其他任何合适的数据显示装置。视频放大器116在本领域内是众所周知的并且可以用任何合适的装置实现。该电路将存储在视频存储器114内的像素数据转换为适于监视器117使用的光栅信号。监视器117为适于显示图形图像的任何一种监视器。
计算机100也可以包含与总线118耦合的通信接口120。通信接口120提供了经网络链路121与本地网络122耦合的双向数据通信。例如如果通信接口120是综合业务数字网(ISDN)卡或调制解调器,则通信接口120向包含网络链路121部分的电话线路的对应类型提供数据通信连接。如果通信接口120是局域网(LAN)卡,则通信接口120经网络链路121向兼容的LAN提供数据通信连接。无线链路、调制解调器或线缆调制解调器链路也是可以的。在任何一种实现方案中,通信接口120发送和接收载带代表各类信息的数字数据流的电、电磁或光学信号。
网络链路121一般经一个或多个网络向其他数据设备提供数据通信。例如网络链路121可以经本地网络122向本地服务器计算机123或者因特网服务提供商(ISP)124运营的数据设备提供连接。ISP124通过遍布世界的分组数据通信网络(现在通称为“因特网”125)提供数据通信服务。本地网络122和因特网125都采用电、电磁或光学信号载带数字数据流。经各种网络的信号、网络链路121上并经通信接口120的信号载带往来于计算机100的数字信号,它们的示意性形式为传输信息的载波形式。
计算机100可以经网络、网络链路121和通信接口120发送包含程序代码的消息并接收数据。在因特网实例中,远程服务器计算机可能经因特网125、ISP125、本地网络122和通信接口120发送对应用程序的请求代码。
接收的代码在接收时可以由处理器113执行和/或存储在海量存储器112或其他非易失存储器内供以后执行。这样,计算机100可以得到载波形式的应用程序代码。
应用程序代码可以计算机程序产品的形式实现。计算机程序产品包含配置为存储或传送计算机可读代码或嵌入计算机可读代码的介质。计算机程序产品的实例可以是CD-ROM光盘、ROM卡、软盘、磁带、计算机硬盘驱动器、网络上的服务器和载波。
上述计算机系统仅仅用于示例。本发明的实施例可以计算机系统或编程或处理环境中任何类型实现。
通过将桌面单元的功能精简至明确定义的固定不变的行为组,可以确定一个不同实现方案的范围。例如HID可以单纯地以硬件(例如电路板或芯片)实现,也可以控制小型桌面系统(例如网络计算机、个人计算机、传统的桌面系统)的软件实现,或者可以现有技术工作站计算机系统上运行的应用程序实现。
以上描述了提供虚拟桌面系统体系结构的方法和装置。
重现命令
有线协议命令格式
所有数据在网络上以网络字节顺序(big-endian)传送并且比特域从MSB至LSB分组。基本的描绘命令格式为:<命令:S><序列:24><X:16><Y:16><宽度:16><高度:16><Info>命令                代码         <Info>描述Set                 0xA1         32比特值<X,B,G,R>的宽度×高度(宽度×高度<=512像素)Fill                0xA2         一个32比特值<X,B,G,R>Glyph               0xA3         一个32比特值<X,B,G,R>,(高度×上限(宽度/8))位图字节(即,每行填充8至个比特)(宽度×高度<=2048像素);整个命令填充至下一32位边界Copy                0xA4         <From_X:16><FROM_Y:16>Bilevel             0xA5         两个32比特值c0和c1,<X,B,G,R>,随后是(高度×上限(宽度/8))位图字节(即,每行填充至8个比特)(宽度×
                             高度<=2048像素);整个命令填充至下
                             一32位边界Set24               0xA6         经打包的24比特值<B,G,R>的宽度×高
                             度填充至下一32位边界(宽度×高度
                             <=512像素)SetYUV图像          0xA7         <SOURCE_W:16><SOURCE_H:16>
                             <RFU:8><LUMA_ENCODING:2>
                             <CHROMA_SUB_X:3><CHROMA_SUB_Y:3>
                             随后是(SOURCE_W×SOURCE_H)像素
                             Y(luma),每行填充至字节边界,并且
                             (上限(SOURCE_W/X_Subsample)×上限
                             (SOURCE_H/Y_Subsample))个字节,每
                             个8比特带符号的U和V(色度)以
                             CCIR-501值编码;整个命令填充至下一
                             32比特边界;(SOURCE_W×
                             SOURCE_H<=1024像素);
                           (SOURCE_W<=WIDTH);
                           (SOURCE_H<=HEIGHT)Set Cursor      0xA9           两个32比特值c0和c1、<X,B,G,R>,
                           随后是两组(HEIGHT×上限(WIDTH/8))
                           位图字节(即,每行填充至8比
                           特)(WIDTH×HEIGHT<=64像素)。第一位
                           图为像素值,第二位图为每个像素屏
                           蔽。整个命令被填充至下一32比特的
                           边界。Set Pointer     0xAA           <INDEX:8><DIM:2><PAD:6>
                           {<Z:16>{<P:16><R:16><E:16><PAD:16
                           >}}|<PAD:16>
                           注意所有的值是带符号的2的补码。角
                           度值从-180~+180-(1
                           lsb)=+179.9945(整个范围的角度)
                           WIDTH、HEIGHT被忽略。Set Key Locks   0xAB           X、Y、WIDTH、HEIGHT被忽略。
                           <INDEX:8><LOCKS:8><PAD:16>Damage Repair   0xAC           <EPOCH:32><PAD:8><SEQ:24>Play Audio      0xB1           X、Y、WIDTH、HEIGHT编码如下:
                           X:4    音频序列数
                           X:12   交错偏移
                           Y       总序列长度-1
                           WIDTH:4混合器模式
                                   定义了信道#以包含在标准
                                   混合中。如果终端具有足够
                                   的信道满足请求则信道数被
                                   以原始方式发送并且不与其
                                   他信道组合。
                           WIDTH:12样本中的分组长度,最大为
                                   2000字节
                                HEIGHT:4信道数-1
                                HEIGHT:12交错大小-1
                                首部之后是定义的样本数×信道数×
                                16比特。
                                整个命令被填充至32比特。
序列号对于每个命令递增。除了下述改变刷新命令的重大事件,序列号不可以全部为零。矩形可以不覆盖。即x+width<0x10000和y+height<0x10000。
附加信息命令以不同格式定义:
<命令:8><序列:24><EPOCH:32><FILL:16*8>
命令     代码
Flush    0xAF
flsuh命令的序列号与先前命令的序列号相同,除了重大事件改变以外(参见下述)。即,序列号仅仅在像素改变或重大事件改变时递增。
命令描述
命令           描述
Set            将<x,y>、<width,height>定义的矩形设定为下
               列像素值。对于区域内的每个像素有一个像素
               值。格式为按行的,即从<x,y>到<x+width-1,y>
               的“width”个像素值,然后是从<x,y+1>到
               <x+width-1,y+1>的像素,等等。<0,0>表示左上
               角。
Fill           将<x,y><width,height>定义的矩形内的所有像
               素设定为单个32比特值。
Glyph          32比特的值被放置在对应位图内每个比特的像
               素位置上,与零比特相关的位置不变化。利用每
               个字节中的MSB到LSB,按行(y,y+1,…)展开位
               图。
Copy           将<from_x,from_y><width,height>定义的矩形
               复制到<x,y><width,height>定义的矩形。客户
               必须确保交叠区域被正确复制(例如参见
            Solaris bstring(3))。Bilevel         两个32比特值c0和c1被放置在分别对应位图内
            每个为零和一的像素位置内。利用每个字节中的
            MSB到LSB,按行(y,y+1,…)展开位图。Set24           将<x,y><width,height>定义的矩形设定为如下
            的像素值。像素值分组为3个32位值
            <bgrb,grbg,rbgr>定义4个像素。如果宽度不是
            4的倍数,则尾端与剩余值被打包并且填充至最
            接近的32比特值。对于区域内的每个像素有一
            个像素。布局是按行展开的,即对于
            ((3*width+3)/4)-32比特字内的<x,y>-
            <x+width-1,y>有“width”像素值,随后是
            <x,y+1>-<x+width-1,y+1>等。<0,0>描述左上
            角。Set YUV Image   将<x,y><width,height>定义的矩形设定为下列
            像素值。以source_w×source_h像素的
            CCIR/ITU.BT-601 Y’CbCr(或YUV)格式的图像译
            码为RGB。色度单元可以沿规定的水平和/或垂直
            方向子采样并且必须在变换前上采样。
            CHROMA_SUB_X和CHROMA_SUB_Y的值(分别为
            x_subsample和y_subsample)编码如下:
               0-没有色度值;但是图像。
               1-以1作子采样(即没有子样本)
               2-以2作子采样
               3-以4作子采样
               4-7-未定义/保留
            LUMA_ENCODING值如下:
               0-Y(luma)由8比特的无符号数据提定
               1-Y(luma)由4比特的量化DPCM组成(参见
            以下)
               2、3-未定义/保留
                 RFU保留在将来使用并且必须为零。在译码之
                 后,RGB图像根据需要标度为宽度×长度像素。
                 最终的图像放置在显示器的<x,y>上。
                 注意:如果CHROMA_SUB_X和CHROMA_SUB_Y为
                 零,则图像为但是(仅仅是luma)并且没有U和V
                 数据。一组为零而另一组为非零是无效的。
                 分量顺序为Y(或者CCIR-601 Y’)、U(CCIR-601 Cb)
                 和V(CCUR-601 Cr)。Set Cursor             该命令设定本地显示光标的外表(由指针
                 pointer[0]移动和报告)。光标最大为64×64的
                 块,但是可以是任何小于该尺寸的块。如果特定
                 像素的屏蔽值为‘1’,相应的光标像素被显示,
                 如果特定像素的屏蔽值为‘0’,则光标在该位置
                 是透明的,当屏蔽为‘1’时,‘0’的像素值为
                 ‘c0’,而当值为’1’时为’c1’。如果屏蔽为零,
                 则像素值也应为零。零屏蔽和1像素值保留在未
                 来扩展时使用。
                 WIDTH和HEIGHT可以为零,表示未画出光标(等
                 价于所有零的屏蔽)。指针跟踪继续正常工作。
                 X和Y表示光标的‘热点’;例如报告光标图像事
                 件的那个像素。这主要用于停止显示器边缘上的
                 光标。X(0,WIDTH),Y(0,HEIGHT)。Set Pointer          设定指针的位置。指针[0]通常可以设定(识别或
                 触摸屏)并且是二维屏幕光标。该命令向应用程
                 序提供了持续设定指针,或者为应用程序提供了
                 需要相对指针(例如将光标重新设定至先前位
                 置)。这样存在几个限制:
                   根据不能设定指针(例如游戏杆)。
                   指针值能够任意夹持以匹配指针设备或屏
                 幕。
                   一旦设定,用户可以继续移动指针,但是利用
                 ‘Pointer State’的状态消息报告。
                 重新设定伪相对模式的指针的行为可以使不
                 同的设备具有不同的行为;例如触摸屏仅仅在
                 用户未“拖放”时是可以设定的。
                 指针最多允许有6维。命令的维数和大小利用
                 DIM比特设定。所有的指针值是带符号的2的补
                 码。Set Key Locks        该命令为<INDEX>的键盘设定锁定值。锁定通常对
                 应键盘上的光学显示,它可以由软件控制。如果
                 锁定条件被指示,则应该将比特设定为屏蔽,否
                 则应该清除该比特。由于一些键盘可以实现本地
                 锁定(例如机械方式),所以设定锁定可能没有
                 用。键盘的按键应该一直从键盘报告的状态中被
                 解释。另一方面,如果是接口专用的,则由于正
                 常的键盘和终端并不试图本地处理锁定,所以要
                 求主机在接收到锁定按键代码时发布设定按键
                 锁定命令。这是因为终端并不理解键盘或所需用
                 户接口的语法。
                 按键锁定位图来自启动键盘的USB类定义:
                   0x01  Num Lock
                   0x02  Caps Lock
                   0x04  Scroll Lock
                   0x08  Compose
                   0x10  Kana
                 所有其他比特都被保留--读取时忽略,设定时为
                 零。Damage Repair        它通知客户重大事件EPOCH内的序列号SEQ的所
                 有毁坏消息和更早的消息已经被处理并修复了
                 发送的数据。(参见Damage back-channel命
                 令)。PAD必须为0。X、Y、WIDTH和HEIGHT必须
                 为0;Play Audio           它播放48KHz的音频样本,并且可以嵌入图形命
                 令流中。
                 未定义的流数量被先到先服务的终端接收。流根
                 据需要分配并且在缓冲器空时(当时间来临时没
                 有数据播放--特别是接收的缓冲器发生错误和
                 播放时)分解。终端校正时基漂移。
                 数据按照交错方式发送以隐藏网络错误。样本序
                 列被分解为交错尺寸并且最多1+(序列尺
                 寸)/(交错尺寸)样本被以分组发送。样本选定如
                 下:
                 Sample sequence(sample_size);

                     int seq_number=0;

                     while(1){

                       get_samples(sequence,sample_size);

                     for(i=0;i<interleave_size;i++){

                       interleave_offset

                           =random_select(0..interleave_size);

                       packet=new_packet(seq_number,sample_siz
                                        e,num_chan,num_chan,i
                                        nterleave_size.

                                        interleave_offset);

                       for(j=interleave_offset;j<sample_size;

                           j+=interleave_size)

                        emit(packet,sequence[j]);

                      send_packet(packet);

                     }

                     seq_number=(seq_number+1)%16;

                    }
               注意分组的发送顺序可以(并且可能应该)是随
               机的。例如对于交错为3和序列尺寸为8的情况,可以发送下列三个分组:(样本)            (0 1 2 3 4 5 6 7)pkt 1,off 1:       1     4     7pkt 2,off 0:       0     3    6pkt 3,off 2:         2     5序列被编号为终端知道何时掩蔽错误并且发送样本序列。样本是48KHz、16比特和线性的,并且可以包含最多16条信道。例如5信道样本将占用10个连续的字节。对于终端支持的音频信道数量并无定义也没有办法能找出,但是最多16条信道可以立即发送。由于不同的信道数量可能超过终端支持的数量,所以对于第一批8条信道引入标准混合的概念。通过设定“MIX”域可以使其失效,该域确保某些索引信道不被混合在一起。后8条信道按照与前8条信道相同的方式混合,从而可以听到声音。如果没有足够的信道,则结果依赖于终端设置。标准的分配信道如下:
             信道->1#chan    0   1    2    3    4    5    6    71       mono2       1    r3       1    r    sw4       1    r    r1   rr5       1    r    r1   rr   sw6       1    r    r1   rr   sw   cf7       1    r    r1   rr   sw   cf   top
               8       1   r   r1  rr sw cf c1 cr
               (1=左,r=右,r[1r]=后方{左,右},
               sw=subwoofer,cf=中央填充,c(1r)=中央(左,
               右),top=中央-中央)
               例如,如果有两个扬声器和一条信道是标准混合
               有效的,则一条信道将向左右扬声器发送。相
               反,如果同一终端发送6条信道,则将混合信道
               0、2、4、5并送至左扬声器而信道1、3、4、5
               将被混合并送至右扬声器。
               终端扬声器按照同样方式设置。
               在完整的说明书中可使用完整的混合矩阵。Flush              在该命令后一段时间内显示流内可能没有命
               令;因此对于客户来说是清除未完成重建的良好
               时机。重大事件域对于顺序号提供了32个附加
               的高位比特。FILL由16个全部设定为0xFF的字
               节组成。该命令提供了在丢失之后重新使数据流
               同步的机会。
               清除命令的序列号通常与最后非清除命令相
               同。但是当重大事件穷尽时,(即最后命令的序
               列号为0xFFFFFF),发送序列号为零的清除命令
               和新的重大事件号(递增1)。返回信道命令有线协议状态消息格式基本状态命令格式为:<命令:8><时间:24><Info>命令         代码          <Info>描述键盘状态     0xc1          <INDEX:8><COUNTRY CODE:8>
                       <LOCKS:8><MODIFIERS:8>
                       <KEYCODE:8>[8]指针状态     0xc2          <INDEX:8><DIM:2><BUTTONS:6>
                              <X:16>{<Y:16>
                              {<Z:16>{<P:16><R:16><E:16>}}}
                              注意所有的数值是带符号的2的补
                              码。角度值从-180到+180(1-
                              lsb)=+179.9945(整个范围的角
                              度)。
                              DIM      维数
                              0        X
                              1        X,Y
                              2        X,Y,Z
                              3        X,Y,Z,P,R,H(yaw)激活区域    0xc3                <X:16><Y:16><WIDTH:16><HEIGHT:16>损坏        0xc4                <EPOCH:32><PAD0:8><SEQ_L:24>
                            <PAD1:8><SEQ H:24>注意:TIME的单位为毫秒;它在2**24之后回卷(大约16秒)。状态消息描述命令             描述键盘状态         报告<INDEX>的键盘的状态。国家代码来自HID部
             分6.2的USB设备类定义。锁来自启动键盘的USB
             类定义:
                    0x01  Num Lock
                    0x02  Caps Lock
                    0x04  Scroll Lock
                    0x08  Compose
                    0x10  Kana
             ‘Set Key Lock’的命令可以用来复位这些锁定,
             并且如果在主机上检测到锁定键,则由于键盘通
             常不会本地处理锁定状态并且终端同样也不会,
             因此应该采用该命令。除定义以外的比特都是保
             留的并且应该忽略。它们应该被设定为零。
        修改符比特同样来自启动键盘的USB类定义:
              0x01  左Control
              0x02  左Shift
              0x04  左Alt
              0x08  左GUI
              0x01  右Control
              0x02  右Shift
              0x04  右Alt
              0x08  右GUI
        总是有用于6个按键扫描码的空间。所有被按下
        的按键(非修改符)都被报告,最多6个按键。这
        提供了简单的翻转和和音能力。扫描码来自启动
        键盘的USB类定义。
        特别注意的是,代码0x00表示时隙内没有事件,
        而时隙内的0x01表示超过8个按键被按下。修改
        符仍然在这种状态下被报告。一旦按下不超过9
        个的按键,重新启动正常报告。‘报告顺序是任
        意的并且不反应事件的顺序’。指针状态    报告<INDEX>的指针的状态。DIM表示报告的维
        数:1、2、3或6。按钮来自启动键盘的USB类定
        义,比特零为‘基本’按钮(在左边),而数量从左
        到右递增。报告的数值都是绝对值并且是带符号
        的2的补码。激活区域    指示保存在newt上的逻辑帧缓冲器的区域。具体
        而言,这是可以成功定义复制重建命令的“from”
        区域的区域。
        在规定时间以外该区域在给定的客户机上可以改
        变,例如由于手持设备中pan-scan接口笔。而且
        不同的客户设备可以报告不同的激活区域。损坏        指示来自序列号SEQ_L并且在重大事件EPOCH中
        包含序列号SEQ_H的下行流(提供者)命令未被来
                自服务器的客户接收。PAD0和PAD1必须为0。
                客户将继续报告损坏直到受影响的序列号的损坏
                修复消息被接收。
                如果SEQ_L为0,则必须发送完整的当前屏幕图
                像。
                一旦对于给定的序列号发送损坏消息,则对于更
                早的序列号,没有新的后续损坏发送。但是为了
                在后面状态分组中节省空间,允许将两个或更多
                的范围合并为一个范围。DPCM YUV描述:借助1的LUMA_ENCODING可以进一步压缩YUV数据。Luma数据编码如下:
for each line

    last_value=0x80

    for each luma_value 1 in line

        diff=1-last_value
        q_value=quant(diff)

        last_value=clap(last_value+dquant(q_value))

        emit q_value

    end
end
Luma数据译码如下:
for each line

    last_value=0x80

    for each quantization-value q_value in line

        last_value=clamp(last_value+dquant(q_value))

        emit q_value

    end
end
Clamp为夹持表;clamp(i)为:0      if i<0;255    if i>255i      otherwise.所用的量化器为:差值            代码    rquant-255~-91        0       -100-90~-71         1       -80-70~-51         2       -60-50~-31         3       -40-30~-16         4       -20-15~-8          5       -10-7~-3           6       -4-2~0            7       -11~2             8       13~7             9       48~15            10      1016~30           11      2031~50           12      4051~70           13      6071~90           14      8091~255          15      100
按照条约第19条的修改
1.一种计算系统体系结构,其特征在于包含:
通过互联光纤提供数据的数据源;
与所述互联光纤耦合以接收和重现所述数据的无状态人机接口设备。
2.如权利要求1所述的体系结构,其特征在于所述无状态人机接口设备由用户利用鉴别器访问。
3.如权利要求2所述的体系结构,其特征在于所述鉴别器包含智能卡。
4.如权利要求2所述的体系结构,其特征在于所述鉴别器包含生物统计学鉴别器。
5.如权利要求2所述的体系结构,其特征在于所述用户在访问所述所述无状态人机接口设备时访问所述用户的计算对话。
6.如权利要求5所述的体系结构,其特征在于进一步包括多个经所述互联光纤与所述数据源耦合的所述无状态人机接口设备。
7.如权利要求6所述的体系结构,其特征在于用户可以利用所述标识符在任意所述无状态人机接口设备上访问所述会话。
8.如权利要求1所述的体系结构,其特征在于所述数据源包含多个数据服务。
9.如权利要求8所述的体系结构,其特征在于所述多个数据服务的输出被转换为经所述互联光纤向所述无状态人机接口设备发送的公共协议。
10.一种计算系统,其特征在于包括:
向多个用户会话提供计算和数据生成的集中化处理源;
经互联光纤与所述集中化处理源耦合的多个无状态人机接口设备,其中每个所述无状态人机接口设备从所述集中化处理源接收数据并且向用户显示输出以启动其中多个所述用户会话中的其中一个,并且每个所述无状态人机接口设备经所述互联光纤向所述集中化处理源提供用户输入;以及
用户在其中一个所述无状态人机接口设备上使用的标识符,它对所述用户进行识别从而使与所述用户相关的对话经所述互联光纤导导向其中一个所述无状态人机接口设备。
11.如权利要求10所述的系统,其特征在于用户对话状态维持在所述集中化计算资源上。
12.如权利要求11所述的系统,其特征在于所述用户输入包含键盘击键。
13.如权利要求11所述的系统,其特征在于所述用户输入包含光标移动。
14.如权利要求11所述的系统,其特征在于所述用户输入包含音频信号。
15.如权利要求11所述的系统,其特征在于所述用户输入包含视频信号。
16.如权利要求11所述的系统,其特征在于所述用户可以利用所述物理标识符在任意所述无状态人机接口设备上访问所述会话。
17.一种计算系统,其特征在于包含:
多个计算服务提供者;
与所述计算服务提供者耦合的互联光纤;以及
与所述互联光纤耦合的多个无状态人机接口设备。
18.如权利要求17所述的计算系统,其特征在于所述多个计算服务提供者经所述互联光纤向无状态人机接口设备提供数据,并且所述无状态人机接口设备显示所述数据。
19.如权利要求18所述的计算系统,其特征在于所述计算服务提供者提供与用户对话相关的数据。
20.如权利要求19所述的计算系统,其特征在于所述用户在任何所述多个无状态人机接口设备上访问所述用户对话。
21.如权利要求20所述的计算系统,其特征在于所述用户通过向所述无状态人机接口设备提供识别符以在所述无状态人机接口设备上访问所述用户对话。
22.如权利要求21所述的计算系统,其特征在于所述多个计算服务提供者包括第一成员和第二成员并且所述第一成员专门计算第一类型数据而所述第二成员专门计算第二类型数据。
23.如权利要求22所述的计算系统,其特征在于所述第一成员向所述无状态接口设备提供所述第一类型数据并且所述第二成员向所述无状态人机接口设备提供所述第二类型数据。
24.如权利要求23所述的计算系统,其特征在于所述标识符包含口命。
25.如权利要求23所述的计算系统,其特征在于所述标识符包含智能卡。
26.如权利要求23所述的计算系统,其特征在于所述标识符包含生物统计学标识符。
27.如权利要求23所述的计算系统,其特征在于所述用户可以在其中一个所述人机接口设备上中断所述用户会话并且在另一所述人机接口设备上重新开始所述用户会话。
28.一种计算方法,其特征在于包含以下步骤:
提供多个计算服务提供者;
使所述计算服务提供者与互联光纤耦合;
使所述互联光纤与多个无状态人机接口设备耦合;以及
从所述计算服务提供者经所述互联光纤向所述无状态人机接口设备提供数据。
29.如权利要求28所述的方法,其特征在于进一步包括生成与所述计算服务提供者的用户会话的步骤。
30.如权利要求29所述的方法,其特征在于进一步包括通过在所述无状态人机接口设备上提供标识符而访问用户会话的步骤。
31.如权利要求30所述的方法,其特征在于当提供所述标识符时向所述无状态人机接口设备发送所述会话。
32.如权利要求31所述的方法,其特征在于所述标识符包含智能卡。
33.如权利要求31所述的方法,其特征在于所述标识符包含口命。
34.如权利要求31所述的方法,其特征在于所述标识符包含生物统计学标识符。
35.如权利要求31所述的方法,其特征在于进一步包括与所述互联光纤耦合的多个无状态人机接口设备。
36.如权利要求31所述的方法,其特征在于进一步包括在其中一个所述接口设备上中断所述用户会话而在另一所述接口设备上重新开始所述用户会话的步骤。
37.如权利要求28所述的方法,其特征在于所述计算服务提供者从外部源接收所述数据。
38.如权利要求37所述的方法,其特征在于所述外部源是因特网。
39.如权利要求37所述的方法,其特征在于所述外部源是广播实体。
40.如权利要求39所述的方法,其特征在于所述广播实体发送电视信号。
41.如权利要求39所述的方法,其特征在于所述广播实体发送无线电信号。
42.如权利要求28所述的方法,其特征在于所述向所述无状态人机接口设备提供数据的步骤包括:
所述多个计算服务提供者将不同的输出变换为共同的协议以经所述互联光纤向所述无状态人机接口设备发送。
43.一种计算方法,其特征在于包含以下步骤:
提供多个计算服务提供者;
使所述计算服务提供者与互联光纤耦合;
使无状态接口设备与所述互联光纤耦合;
由用户在所述无状态接口设备上启动会话;
向所述无状态接口设备提供输入;
经所述互联光纤向所述多个计算服务提供者中的一个或多个发送所述输入;
由所述多个计算服务提供者中的一个或多个对所述数据进行操作以产生修改的数据,其中所述操作步骤包括改变状态和完成计算;
从所述计算服务提供者经所述互联光纤向所述无状态接口设备提供所述修改数据;以及
在所述无状态接口设备上显示所述数据。
44.一种计算方法,其特征在于包含以下步骤:
提供互联光纤;
提供与所述互联光纤耦合的多个计算服务提供者;
提供与所述互联光纤耦合的代理服务,其中数据从所述多个计算服务提供者经所述互联光纤向所述代理服务发送;以及
提供与所述互联光纤耦合的无状态接口设备,其中数据从所述代理服务经所述互联光纤向所述无状态接口设备发送。
45.如权利要求44所述的方法,其特征在于所述多个计算服务提供者访问一个或多个数据库。
46.如权利要求45所述的方法,其特征在于所述代理服务配置为产生对所述一个或多个数据库的问询。
47.一种计算方法,其特征在于包含:
多个状态机;
无状态机;
使所述多个状态机与所述无状态机耦合的互联光纤;
向所述无状态机提供输入;
向所述多个状态机中的一个或多个发送所述输入;
由所述多个状态机中的一个或多个对所述输入进行操作以产生输出;
向所述无状态机发送所述输出;以及
在所述无状态机上显示所述输出。
48.如权利要求47所述的方法,其特征在于在发送所述输入和输出之前,所述输入和输出被转换为所述无状态机可读的协议。

Claims (1)

1.一种计算系统体系结构,其特征在于包含:通过互联光纤向终端提供数据的数据源;与所述互联光纤耦合以接收和提交所述数据的人机接口设备。
CNB998068861A 1998-04-20 1999-04-20 提供虚拟桌面系统体系结构的方法和装置 Expired - Fee Related CN1310487C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/063,335 US7346689B1 (en) 1998-04-20 1998-04-20 Computer architecture having a stateless human interface device and methods of use
US09/063,335 1998-04-20

Publications (2)

Publication Number Publication Date
CN1346564A true CN1346564A (zh) 2002-04-24
CN1310487C CN1310487C (zh) 2007-04-11

Family

ID=22048506

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB998068861A Expired - Fee Related CN1310487C (zh) 1998-04-20 1999-04-20 提供虚拟桌面系统体系结构的方法和装置

Country Status (8)

Country Link
US (1) US7346689B1 (zh)
EP (1) EP1074137A2 (zh)
JP (1) JP2002512395A (zh)
KR (1) KR100742436B1 (zh)
CN (1) CN1310487C (zh)
AU (1) AU763158B2 (zh)
CA (1) CA2329199A1 (zh)
WO (1) WO1999054804A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1304984C (zh) * 2003-11-28 2007-03-14 中国科学院软件研究所 自动创建和管理远程终端图形用户接口会话的方法和系统
CN100407180C (zh) * 2006-08-15 2008-07-30 北京飞天诚信科技有限公司 一种使hid设备能提供智能卡接口的装置及方法
CN100440888C (zh) * 2004-01-17 2008-12-03 中国科学院计算技术研究所 基于网络存储和资源虚拟化的大型服务系统的管理系统及其方法
CN102007482B (zh) * 2008-04-17 2013-12-11 三星电子株式会社 生成用户接口的方法及装置
CN112883412A (zh) * 2016-12-30 2021-06-01 谷歌有限责任公司 基于分组的数据通信的设备标识符相关操作处理

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2784474A1 (fr) * 1998-10-08 2000-04-14 Thomson Multimedia Sa Gestionnaire d'applications avec jeu d'instructions de gestion variable
JP2003085084A (ja) * 2001-09-12 2003-03-20 Sony Corp コンテンツ配信システム及びコンテンツ配信方法、携帯端末、配信サーバ、並びに記憶媒体
US7363363B2 (en) 2002-05-17 2008-04-22 Xds, Inc. System and method for provisioning universal stateless digital and computing services
JP2004145392A (ja) * 2002-10-21 2004-05-20 Kddi Corp 動画像ファイル配信装置
US7512881B2 (en) * 2002-11-14 2009-03-31 International Business Machines Corporation Tool-tip for multimedia files
US7533408B1 (en) * 2003-06-13 2009-05-12 Michael Arnouse Portable computing system, apparatus and method
US7516484B1 (en) * 2008-02-13 2009-04-07 Michael Arnouse Reader adapted for a portable computer
US9010645B2 (en) * 2003-06-13 2015-04-21 Michael Arnouse Portable computing system and portable computer for use with same
US8042094B2 (en) * 2004-07-08 2011-10-18 Ellis Amalgamated LLC Architecture for rendering graphics on output devices
US7911446B2 (en) * 2004-07-13 2011-03-22 Hewlett-Packard Development Company, L.P. Networked keyboard and mouse drivers
US20070130261A1 (en) * 2005-11-26 2007-06-07 Shaub Frances J Control/satellite electronic work station configurations in which stations interact among themselves on a real-time basis
EP2450822B1 (en) * 2006-07-19 2014-03-12 BlackBerry Limited Method, system and smart card reader for management of access to a smart card
US7766243B2 (en) 2006-07-19 2010-08-03 Research In Motion Limited Method, system and smart card reader for management of access to a smart card
US7917149B2 (en) * 2006-08-18 2011-03-29 Fujitsu Limited System and method for reusing wireless resources in a wireless network
US7756198B2 (en) * 2006-08-18 2010-07-13 Fujitsu Limited System and method for assigning channels in a wireless network
JP4819644B2 (ja) * 2006-10-12 2011-11-24 株式会社日立製作所 情報処理システム、情報処理方法、情報処理装置
US8234490B2 (en) * 2007-06-27 2012-07-31 Globalsign K.K. Server certificate issuing system
EP2081361B1 (en) * 2008-01-21 2014-03-26 Alcatel Lucent Converged information systems
USRE49124E1 (en) 2008-02-13 2022-07-05 Arnouse Digital Devices Corp. Mobile data center
US11113228B2 (en) 2008-02-13 2021-09-07 Arnouse Digital Devices Corporation Portable computing system and portable computer for use with same
US10235323B2 (en) 2008-02-13 2019-03-19 Michael Arnouse Portable computing system and portable computer for use with same
KR101531165B1 (ko) * 2008-04-17 2015-06-25 삼성전자주식회사 클라이언트의 특성을 고려한 사용자 인터페이스를 제공, 수신하는 방법 및 장치
KR20090110202A (ko) * 2008-04-17 2009-10-21 삼성전자주식회사 개인화된 사용자 인터페이스를 디스플레이하는 방법 및 장치
KR101560183B1 (ko) * 2008-04-17 2015-10-15 삼성전자주식회사 사용자 인터페이스를 제공/수신하는 방법 및 장치
US9959897B2 (en) * 2008-06-06 2018-05-01 Disney Enterprises, Inc. User input handling for digital video playback device
US20100088397A1 (en) * 2008-10-03 2010-04-08 Joe Jaudon Systems for dynamically updating virtual desktops or virtual applications
US20100088360A1 (en) * 2008-10-03 2010-04-08 Joe Jaudon Methods for dynamically updating virtual desktops or virtual applications
US8234332B2 (en) * 2009-04-22 2012-07-31 Aventura Hq, Inc. Systems and methods for updating computer memory and file locations within virtual computing environments
US9367512B2 (en) * 2009-04-22 2016-06-14 Aventura Hq, Inc. Systems and methods for dynamically updating virtual desktops or virtual applications in a standard computing environment
US20110082938A1 (en) * 2009-10-07 2011-04-07 Joe Jaudon Systems and methods for dynamically updating a user interface within a virtual computing environment
US8732290B2 (en) * 2010-10-05 2014-05-20 Citrix Systems, Inc. Virtual workplace software based on organization characteristics
CN102508695A (zh) * 2011-10-14 2012-06-20 深圳市京华科讯科技有限公司 一种屏幕虚拟化的方法及系统
US10101769B2 (en) 2012-04-10 2018-10-16 Michael Arnouse Mobile data center
CN104053019A (zh) * 2013-03-12 2014-09-17 中兴通讯股份有限公司 基于虚拟桌面的视频播放、处理方法及装置
US9483176B2 (en) * 2013-07-08 2016-11-01 Samsung Display Co., Ltd. Method and apparatus to reduce display lag of soft keyboard presses
FR3011704A1 (fr) * 2013-10-07 2015-04-10 Orange Procede de mise en œuvre d'une session de communication entre une pluralite de terminaux
CN103607452B (zh) * 2013-11-19 2017-09-12 浙江云巢科技有限公司 虚拟机终端数据的获取方法、装置及系统
CN105337955A (zh) * 2015-09-22 2016-02-17 电子科技大学 一种虚拟桌面的管理控制系统和方法
KR20180114667A (ko) 2017-04-11 2018-10-19 한국전자통신연구원 고품질 그래픽의 처리를 지원하는 가상 데스크탑 서버 및 그것을 이용한 고품질 그래픽의 처리 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server
US5623656A (en) * 1994-12-15 1997-04-22 Lucent Technologies Inc. Script-based data communication system and method utilizing state memory
EP0718784B1 (en) * 1994-12-20 2003-08-27 Sun Microsystems, Inc. Method and system for the retrieval of personalized information
US5602905A (en) * 1995-01-23 1997-02-11 Mettke; Richard P. On-line communication terminal/apparatus
US5881239A (en) * 1995-01-23 1999-03-09 Tandem Computers Incorporated Network system with resilient virtual fault tolerant sessions
US5654886A (en) * 1995-03-14 1997-08-05 Wsi Corporation Multimedia outdoor information system
US5784562A (en) * 1995-10-10 1998-07-21 U S West Advanced Technologies, Inc. System for using a dialog session context to process electronic forms data on the world wide web
US5793365A (en) * 1996-01-02 1998-08-11 Sun Microsystems, Inc. System and method providing a computer user interface enabling access to distributed workgroup members
US5864868A (en) * 1996-02-13 1999-01-26 Contois; David C. Computer control system and user interface for media playing devices
US5812765A (en) * 1996-03-22 1998-09-22 Axxs Technologies Corporation Multi-media remote data access terminals and system
GB2313524A (en) * 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US6006266A (en) * 1996-06-03 1999-12-21 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol
US5828840A (en) 1996-08-06 1998-10-27 Verifone, Inc. Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal
US5790792A (en) 1996-09-04 1998-08-04 Radiant Systems, Inc. Method and apparatus for transmitting multimedia data from and application logic server to interactive multimedia workstations
IL119364A (en) * 1996-10-06 2000-11-21 Icq Inc Communications system
US5864870A (en) * 1996-12-18 1999-01-26 Unisys Corp. Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system
US6041357A (en) * 1997-02-06 2000-03-21 Electric Classified, Inc. Common session token system and protocol
US5960085A (en) * 1997-04-14 1999-09-28 De La Huerga; Carlos Security badge for automated access control and secure data gathering
US6193153B1 (en) * 1997-04-16 2001-02-27 Francis Lambert Method and apparatus for non-intrusive biometric capture
US6938257B1 (en) * 1997-07-17 2005-08-30 International Business Machines Corporation Apparatus and method to provide persistence for application interfaces
US5935212A (en) * 1997-08-07 1999-08-10 I-Planet, Inc. Connection-oriented session emulation
US5928363A (en) * 1997-08-27 1999-07-27 International Business Machines Corporation Method and means for preventing unauthorized resumption of suspended authenticated internet sessions using locking and trapping measures
US6035404A (en) * 1997-09-09 2000-03-07 International Business Machines Corporation Concurrent user access control in stateless network computing service system
US5983273A (en) * 1997-09-16 1999-11-09 Webtv Networks, Inc. Method and apparatus for providing physical security for a user account and providing access to the user's environment and preferences
EP1032886B1 (en) 1997-11-14 2009-03-18 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions
US6076108A (en) * 1998-03-06 2000-06-13 I2 Technologies, Inc. System and method for maintaining a state for a user session using a web system having a global session server
KR20000057127A (ko) * 1999-02-03 2000-09-15 송동호 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의프로그램 수행시스템 및 그 방법
KR100362532B1 (ko) * 2000-06-27 2002-11-23 주식회사 사이먼 인터넷 피씨방 환경에서의 분산 메모리 직/병렬 처리컴퓨터 구조를 활용한 데이터 프로세스 처리 시스템
KR100621787B1 (ko) * 2003-12-31 2006-09-13 학교법인 한국정보통신학원 그리드에서 사용자의 QoS와 응용특성에 근거한동적자원 할당방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1304984C (zh) * 2003-11-28 2007-03-14 中国科学院软件研究所 自动创建和管理远程终端图形用户接口会话的方法和系统
CN100440888C (zh) * 2004-01-17 2008-12-03 中国科学院计算技术研究所 基于网络存储和资源虚拟化的大型服务系统的管理系统及其方法
CN100407180C (zh) * 2006-08-15 2008-07-30 北京飞天诚信科技有限公司 一种使hid设备能提供智能卡接口的装置及方法
US7945710B2 (en) 2006-08-15 2011-05-17 Feitian Technologies Co., Ltd. Apparatus enabling the human interface device to provide a smart card interface and operating method therein
CN102007482B (zh) * 2008-04-17 2013-12-11 三星电子株式会社 生成用户接口的方法及装置
CN112883412A (zh) * 2016-12-30 2021-06-01 谷歌有限责任公司 基于分组的数据通信的设备标识符相关操作处理

Also Published As

Publication number Publication date
WO1999054804A3 (en) 2000-04-27
CA2329199A1 (en) 1999-10-28
AU3863899A (en) 1999-11-08
WO1999054804A9 (en) 2001-07-05
KR100742436B1 (ko) 2007-07-25
AU763158B2 (en) 2003-07-17
EP1074137A2 (en) 2001-02-07
WO1999054804A2 (en) 1999-10-28
US7346689B1 (en) 2008-03-18
JP2002512395A (ja) 2002-04-23
CN1310487C (zh) 2007-04-11
KR20010042901A (ko) 2001-05-25
WO1999054804B1 (en) 2000-07-13

Similar Documents

Publication Publication Date Title
CN1310487C (zh) 提供虚拟桌面系统体系结构的方法和装置
CN1255977C (zh) 用于会话管理的方法和设备
CN1166143C (zh) 用于媒体数据传输的方法和装置
CN1247010C (zh) 显示设备、显示方法和显示系统
CN1314212C (zh) 信号处理设备和方法、信号处理系统、程序和媒体
CN1166142C (zh) 用于媒体数据传输的方法和装置
CN1268122C (zh) 显示方法及投影机
CN1149492C (zh) 遥控方法和服务器
CN1242606C (zh) 电视广播接收装置
CN1361975A (zh) 用于电视顶设核心系统软件的编程接口
CN1653819A (zh) 提供媒体内容的系统和方法
CN1266512A (zh) 适用于面向对象编程语言的硬件加速器
CN1326638A (zh) 具有可配置功能的电视机顶盒
CN1788259A (zh) 内容提供服务器、信息处理设备和方法以及计算机程序
CN1207912C (zh) 图像记录系统
CN1311589A (zh) 数字内容分配系统、漫游服务器、信息处理器及其方法
CN1703701A (zh) 用于管理门户服务器中的门户构件集合的方法和装置
CN1296585A (zh) 用于通用数据交换网关的方法和装置
CN1579070A (zh) 一种多媒体通信的方法、系统和数据结构
CN1729672A (zh) 用于分布式多媒体应用的能力和服务质量协商和会话建立的软件体系结构
CN1767036A (zh) 信息管理方法、信息播放装置和信息管理装置
CN1378405A (zh) 通过直接接触或邻近连接在通信设备间进行无线局域网参数设置的方法
CN1677920A (zh) 保护媒体内容的方法和系统
CN1842782A (zh) 网络资源信息路由的服务器结构
CN1545322A (zh) 发送和接收动态图像数据的方法及其设备

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee