CN112202825A - 一种远程移动云桌面传输***及方法 - Google Patents

一种远程移动云桌面传输***及方法 Download PDF

Info

Publication number
CN112202825A
CN112202825A CN202011426352.5A CN202011426352A CN112202825A CN 112202825 A CN112202825 A CN 112202825A CN 202011426352 A CN202011426352 A CN 202011426352A CN 112202825 A CN112202825 A CN 112202825A
Authority
CN
China
Prior art keywords
client
instruction
input event
remote mobile
touch screen
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.)
Pending
Application number
CN202011426352.5A
Other languages
English (en)
Inventor
邹雲鹏
周军
喻鑫
刘铮
张李秋
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.)
Jiangsu Bego Intelligent Technology Co ltd
Original Assignee
Jiangsu Bego Intelligent Technology Co ltd
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 Jiangsu Bego Intelligent Technology Co ltd filed Critical Jiangsu Bego Intelligent Technology Co ltd
Priority to CN202011426352.5A priority Critical patent/CN112202825A/zh
Publication of CN112202825A publication Critical patent/CN112202825A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种远程移动云桌面传输***及方法,包括服务端和客户端;服务端用于采集远程移动桌面端中的音频数据以及图形渲染指令,再将音频数据以及图形渲染指令分发至相应的客户端,并实时接收和响应客户端传输的触屏输入事件;客户端用于接收并执行数据指令,并实时采集自身的触屏输入事件,再将触屏输入事件发送至服务端。采用客户端渲染方案,发送的是图形渲染指令,数据量相比RGB数据要小几十倍,所以需要较低的带宽,可以保证移动云桌面在低带宽情况下以较低延迟显示;触屏输入事件采集和传输的都是客户端多点触控的原始事件,因此可以实现云桌面屏幕的多点触控操作。

Description

一种远程移动云桌面传输***及方法
技术领域
本发明涉及一种数据传输***及方法,尤其是一种远程移动云桌面传输***及方法。
背景技术
目前,现有的远程桌面传输协议有RDP协议、VNC协议和SPICE协议。RDP协议有服务端和客户端两部分组成,服务端收集Windows中的渲染数据和音频数据,并将数据通过网络发送给客户端,客户端收到渲染数据后进行渲染和显示,属于客户端渲染的方式。VNC协议也由服务端和客户端两部分组成,服务端负责采集服务器渲染好的RGB原始数据,并通过图像压缩算法将RGB数据传输至客户端,客户端根据对应的解压缩算法对图像进行显示。SPICE协议适用于KVM虚拟机***,由服务端、客户端和相应的QXL设备、QXL驱动三部分组成,QXL设备和驱动为虚拟机提供设备的虚拟化,并采集虚拟机的渲染数据,然后交给服务端,由服务端传输至客户端进行渲染显示。
但是,RDP协议只适用于Windows操作***,并且RDP协议只能在服务端控制云桌面。VNC协议采用服务端渲染的方式,传输的是RGB数据,数据量大,导致在低带宽条件下传输延迟增加;另外VNC协议不支持语音传输。SPICE协议由于QXL设备和驱动的原因,与KVM虚拟机绑定在一起,只适用于KVM虚拟机环境,并且在低带宽条件下也会有较大延迟。
发明内容
发明目的:提供一种远程移动云桌面传输***,能够实现移动桌面在低带宽环境下,以较低延迟在客户端APP中高分辨率显示,同时客户端能流畅的操作移动桌面。
技术方案:本发明所述的远程移动云桌面传输***,包括服务端和客户端;
服务端用于采集远程移动桌面端中的音频数据以及图形渲染指令,再将音频数据以及图形渲染指令分发至相应的客户端,并实时接收和响应客户端传输的触屏输入事件;
客户端用于接收并执行数据指令,并实时采集自身的触屏输入事件,再将触屏输入事件发送至服务端;
图形渲染指令由OpenGL ES渲染指令封装构成;在客户端设置有OpenGL ES库文件;客户端接收到图形渲染指令后解封获得OpenGL ES渲染指令;再根据OpenGL ES渲染指令调用OpenGL ES库文件来对客户端界面进行渲染。
进一步的,在服务端和客户端之间构建有指令通道、数据通道以及输入事件通道,用于分别传输图形渲染指令、音频数据以及触屏输入事件,且指令通道、数据通道以及输入事件通道相互独立。
进一步的,图形渲染指令在指令通道中是通过TCP/IP网络协议进行传输;音频数据在数据通道中以及触屏输入事件在输入事件通道中均是通过UDP网络协议进行传输。
进一步的,在服务端和客户端中均安装有一个指令集表;指令集表用于以数字代号来对应OpenGL ES渲染指令。
进一步的,服务端在采集远程移动桌面端中的图形渲染指令时,由服务端采集远程移动桌面端的OpenGL ES渲染指令,再根据指令集表将OpenGL ES渲染指令转换为数字代号,再在数字代号后追加渲染数据完成图形渲染指令的封装。
进一步的,在对客户端界面进行渲染时,根据客户端界面分辨率设置渲染的分辨率。
进一步的,服务端在采集远程移动桌面端中的音频数据时,由服务端在远程移动桌面端的HAL层中安装一个音频单元,用于采集远程移动桌面端中的所有音频原始PCM数据,并通过硬件编码的方式将PCM数据编码为AAC格式的音频数据。
进一步的,服务端在响应客户端传输的输入事件时,由服务端将触屏输入事件写入远程移动桌面端的触屏输入驱动设备中。
本发明还提供了一种远程移动云桌面传输方法,包括如下步骤:
在服务端和客户端之间构建有指令通道、数据通道以及输入事件通道;
服务端实时采集远程移动桌面端中的音频数据以及图形渲染指令,再将音频数据以及图形渲染指令分发至相应的客户端,并实时接收和响应客户端传输的触屏输入事件;
客户端实时接收并执行数据指令,并实时采集自身的触屏输入事件,再将触屏输入事件发送至服务端;
图形渲染指令、音频数据以及触屏输入事件,分别通过图形渲染指令、音频数据以及触屏输入事件进出传输,且指令通道、数据通道以及输入事件通道相互独立。
本发明与现有技术相比,其有益效果是:采用客户端渲染方案,发送的是图形渲染指令,数据量相比RGB数据要小几十倍,所以需要较低的带宽,可以保证移动云桌面在低带宽情况下以较低延迟显示;触屏输入事件采集和传输的都是客户端多点触控的原始事件,因此可以实现云桌面屏幕的多点触控操作。
附图说明
图1为本发明的***框图。
具体实施方式
下面结合附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例1:
如图1所示,本发明公开的远程移动云桌面传输***包括服务端和客户端;
服务端用于采集远程移动桌面端中的音频数据以及图形渲染指令,再将音频数据以及图形渲染指令分发至相应的客户端,并实时接收和响应客户端传输的触屏输入事件;
客户端用于接收并执行数据指令,并实时采集自身的触屏输入事件,再将触屏输入事件发送至服务端;
图形渲染指令由OpenGL ES渲染指令封装构成;在客户端设置有OpenGL ES库文件;客户端接收到图形渲染指令后解封获得OpenGL ES渲染指令;再根据OpenGL ES渲染指令调用OpenGL ES库文件来对客户端界面进行渲染。
采用客户端渲染方案,发送的是图形渲染指令,数据量相比RGB数据要小几十倍,所以需要较低的带宽,可以保证移动云桌面在低带宽情况下以较低延迟显示;触屏输入事件采集和传输的都是客户端多点触控的原始事件,因此可以实现云桌面屏幕的多点触控操作。
本发明还提供了一种远程移动云桌面传输方法,包括如下步骤:
由客户端根据服务端提供的TCP/IP地址和端口,向服务端发送远程桌面端连接请求;
服务端在接收到客户端发送的连接请求后,向客户端返回同意连接的回复信息;
在服务端和客户端之间构建有指令通道、数据通道以及输入事件通道;
服务端实时采集远程移动桌面端中的音频数据以及图形渲染指令,再将音频数据以及图形渲染指令分发至相应的客户端,并实时接收和响应客户端传输的触屏输入事件;
客户端实时接收并执行数据指令,并实时采集自身的触屏输入事件,再将触屏输入事件发送至服务端;
图形渲染指令、音频数据以及触屏输入事件,分别通过图形渲染指令、音频数据以及触屏输入事件进出传输,且指令通道、数据通道以及输入事件通道相互独立。
进一步的,在服务端和客户端之间构建有指令通道、数据通道以及输入事件通道,用于分别传输图形渲染指令、音频数据以及触屏输入事件,且指令通道、数据通道以及输入事件通道相互独立。利用三个通道相互独立隔离,不会对其他通道造成影响,这就保证了三个通道均能有较高的传输效率。
进一步的,图形渲染指令在指令通道中是通过TCP/IP网络协议进行传输;音频数据在数据通道中以及触屏输入事件在输入事件通道中均是通过UDP网络协议进行传输。
进一步的,在服务端和客户端中均安装有一个指令集表;指令集表用于以数字代号来对应OpenGL ES渲染指令。通过共同设置的指令集表来对应相应的OpenGL ES渲染指令,无需直接传输OpenGL ES渲染指令的指令内容,进一步减少数据传输量,提高数据传输效率,保证移动云桌面在低带宽情况下以较低延迟显示。
进一步的,服务端在采集远程移动桌面端中的图形渲染指令时,由服务端采集远程移动桌面端的OpenGL ES渲染指令,再根据指令集表将OpenGL ES渲染指令转换为数字代号,再在数字代号后追加渲染数据完成图形渲染指令的封装。通过指令封装能够进一步减少数据传输量,提高数据传输效率,保证移动云桌面在低带宽情况下以较低延迟显示。
进一步的,在对客户端界面进行渲染时,先准备好渲染的相关环境,根据客户端界面分辨率设置渲染的分辨率。由于传输的是OpenGL ES渲染指令,因此渲染的分辨率可以直接由客户端APP指定,与服务端无关,便可根据客户端屏幕分辨率自由调整分辨率。
进一步的,服务端在采集远程移动桌面端中的音频数据时,由服务端在远程移动桌面端的HAL层中安装一个音频单元,用于采集远程移动桌面端中的所有音频原始PCM数据,并通过硬件编码的方式将PCM数据编码为AAC格式的音频数据。客户端收到音频流数据后,对AAC格式的编码数据进行解码,得到原始的音频数据,并将原始的音频数据在客户端APP中播放。
进一步的,服务端在响应客户端传输的输入事件时,由服务端将触屏输入事件写入远程移动桌面端的触屏输入驱动设备中。
本发明的发明点在于:
(1)通过传输OpenGL ES渲染指令的方式实现远程移动云桌面的显示,而现有技术方案中远程桌面客户端渲染的方案都与各自平台紧密耦合,无法适用于移动操作***,导致服务端渲染的方案传输的数据量大,在低带宽情况下无法保证低延迟和高分辨率。
(2)输入事件采集和发送的是原始触屏事件,而现有的远程桌面方案中均为传输鼠标键盘的输入,或者将触屏事件转换为鼠标点击事件进行传输,而不是直接传输触屏事件,故无法进行多点触控的操作。
字母缩写说明:
APP指手机应用程序;RDP为远程显示协议;VNC为一种远程桌面传输协议;SPICE为一种用于虚拟化技术中的远程桌面传输协议;RGB为工业界的颜色显示标准;KVM为一种虚拟化技术;QXL为SPICE协议中的虚拟化设备;OpenGL ES为安卓***中的图形程序接口;HAL为安卓***中的硬件接口层;TCP/IP是指能够在多个不同网络间实现信息传输的协议簇;AAC为高级音频编码,是一种音频编码格式;PCM为脉冲编码调制,属于基本的音频格式;UDP为用户数据报协议,是一个简单的面向数据报的传输层协议。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。

Claims (9)

1.一种远程移动云桌面传输***,其特征在于:包括服务端和客户端;
服务端用于采集远程移动桌面端中的音频数据以及图形渲染指令,再将音频数据以及图形渲染指令分发至相应的客户端,并实时接收和响应客户端传输的触屏输入事件;
客户端用于接收并执行数据指令,并实时采集自身的触屏输入事件,再将触屏输入事件发送至服务端;
图形渲染指令由OpenGL ES渲染指令封装构成;在客户端设置有OpenGL ES库文件;客户端接收到图形渲染指令后解封获得OpenGL ES渲染指令;再根据OpenGL ES渲染指令调用OpenGL ES库文件来对客户端界面进行渲染。
2.根据权利要求1所述的远程移动云桌面传输***,其特征在于:在服务端和客户端之间构建有指令通道、数据通道以及输入事件通道,用于分别传输图形渲染指令、音频数据以及触屏输入事件,且指令通道、数据通道以及输入事件通道相互独立。
3.根据权利要求1所述的远程移动云桌面传输***,其特征在于:图形渲染指令在指令通道中是通过TCP/IP网络协议进行传输;音频数据在数据通道中以及触屏输入事件在输入事件通道中均是通过UDP网络协议进行传输。
4.根据权利要求1所述的远程移动云桌面传输***,其特征在于:在服务端和客户端中均安装有一个指令集表;指令集表用于以数字代号来对应OpenGL ES渲染指令。
5.根据权利要求4所述的远程移动云桌面传输***,其特征在于:服务端在采集远程移动桌面端中的图形渲染指令时,由服务端采集远程移动桌面端的OpenGL ES渲染指令,再根据指令集表将OpenGL ES渲染指令转换为数字代号,再在数字代号后追加渲染数据完成图形渲染指令的封装。
6.根据权利要求1所述的远程移动云桌面传输***,其特征在于:在对客户端界面进行渲染时,根据客户端界面分辨率设置渲染的分辨率。
7.根据权利要求1所述的远程移动云桌面传输***,其特征在于:服务端在采集远程移动桌面端中的音频数据时,由服务端在远程移动桌面端的HAL层中安装一个音频单元,用于采集远程移动桌面端中的所有音频原始PCM数据,并通过硬件编码的方式将PCM数据编码为AAC格式的音频数据。
8.根据权利要求1所述的远程移动云桌面传输***,其特征在于:服务端在响应客户端传输的输入事件时,由服务端将触屏输入事件写入远程移动桌面端的触屏输入驱动设备中。
9.一种远程移动云桌面传输方法,其特征在于,包括如下步骤:
在服务端和客户端之间构建有指令通道、数据通道以及输入事件通道;
服务端实时采集远程移动桌面端中的音频数据以及图形渲染指令,再将音频数据以及图形渲染指令分发至相应的客户端,并实时接收和响应客户端传输的触屏输入事件;
客户端实时接收并执行数据指令,并实时采集自身的触屏输入事件,再将触屏输入事件发送至服务端;
图形渲染指令、音频数据以及触屏输入事件,分别通过图形渲染指令、音频数据以及触屏输入事件进出传输,且指令通道、数据通道以及输入事件通道相互独立。
CN202011426352.5A 2020-12-09 2020-12-09 一种远程移动云桌面传输***及方法 Pending CN112202825A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011426352.5A CN112202825A (zh) 2020-12-09 2020-12-09 一种远程移动云桌面传输***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011426352.5A CN112202825A (zh) 2020-12-09 2020-12-09 一种远程移动云桌面传输***及方法

Publications (1)

Publication Number Publication Date
CN112202825A true CN112202825A (zh) 2021-01-08

Family

ID=74033892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011426352.5A Pending CN112202825A (zh) 2020-12-09 2020-12-09 一种远程移动云桌面传输***及方法

Country Status (1)

Country Link
CN (1) CN112202825A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778593A (zh) * 2021-08-24 2021-12-10 北京百度网讯科技有限公司 云桌面控制方法、装置、电子设备、存储介质及程序产品
CN117095100A (zh) * 2023-06-05 2023-11-21 北京虹宇科技有限公司 多任务***中渲染三维内容的方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150256593A1 (en) * 2014-03-05 2015-09-10 ShowKit, Inc. Systems and methods for controlling a device via gestures received by a remote device
CN107229409A (zh) * 2017-05-24 2017-10-03 中兴通讯股份有限公司 远程虚拟桌面***的操作方法及装置
CN109885236A (zh) * 2019-02-25 2019-06-14 合肥谐桐科技有限公司 基于移动设备实现与远程***桌面进行交互式操作的方法
CN111078104A (zh) * 2019-10-21 2020-04-28 福建升腾资讯有限公司 一种云桌面上的多点触控设备的重定向方法及计算机设备
CN111258693A (zh) * 2020-01-13 2020-06-09 奇安信科技集团股份有限公司 远程显示方法及装置
CN111273850A (zh) * 2020-01-21 2020-06-12 维达力实业(深圳)有限公司 终端控制方法、装置、计算机设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150256593A1 (en) * 2014-03-05 2015-09-10 ShowKit, Inc. Systems and methods for controlling a device via gestures received by a remote device
CN107229409A (zh) * 2017-05-24 2017-10-03 中兴通讯股份有限公司 远程虚拟桌面***的操作方法及装置
CN109885236A (zh) * 2019-02-25 2019-06-14 合肥谐桐科技有限公司 基于移动设备实现与远程***桌面进行交互式操作的方法
CN111078104A (zh) * 2019-10-21 2020-04-28 福建升腾资讯有限公司 一种云桌面上的多点触控设备的重定向方法及计算机设备
CN111258693A (zh) * 2020-01-13 2020-06-09 奇安信科技集团股份有限公司 远程显示方法及装置
CN111273850A (zh) * 2020-01-21 2020-06-12 维达力实业(深圳)有限公司 终端控制方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张建伟: "基于OpenGL ES指令重定向的安卓虚拟桌面", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778593A (zh) * 2021-08-24 2021-12-10 北京百度网讯科技有限公司 云桌面控制方法、装置、电子设备、存储介质及程序产品
CN113778593B (zh) * 2021-08-24 2023-11-10 北京百度网讯科技有限公司 云桌面控制方法、装置、电子设备、存储介质及程序产品
CN117095100A (zh) * 2023-06-05 2023-11-21 北京虹宇科技有限公司 多任务***中渲染三维内容的方法、装置及设备

Similar Documents

Publication Publication Date Title
CN102883135B (zh) 屏幕共享及控制方法
CN111818120B (zh) 端云用户交互方法、***及相应设备、存储介质
CN101447998B (zh) 桌面共享方法及***
CN101238457B (zh) 支持任意格式大对象通信的远程协议
US8766993B1 (en) Methods and apparatus for enabling multiple remote displays
US20060184614A1 (en) Thin-client network computing method and system
CN112202825A (zh) 一种远程移动云桌面传输***及方法
TWI470442B (zh) 利用複數個精簡型用戶端平台獲得交互相容性之系統及方法
US20080250424A1 (en) Seamless Window Implementation for Windows Presentation Foundation based Applications
CN102362477A (zh) 用于计算机桌面远程共享的方法
US9497492B2 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
US9628866B2 (en) Distribution control system and distribution system
CN110784525A (zh) 一种基于h5网页技术的云手机控制方法、***及存储介质
US9723337B2 (en) Distribution control system and distribution system
CN110891084A (zh) 一种基于自主hvdp协议的瘦客户端远程桌面控制***
US20140280777A1 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
US20140282039A1 (en) Distribution control system, distribution system, distribution control method, and computer-readable storage medium
CN102917246A (zh) 一种基于虚拟机的应用数据提供方法、装置及***
CN109587118B (zh) Android网游的分布式支持多终端和多网络的***
CN103399722A (zh) 一种大屏幕显示方法及***
CN103428297A (zh) 基于桌面虚拟化的远程交互***架构
CN115052043B (zh) 一种云桌面的视频传输方法、电子设备、装置及介质
EP1821490A1 (en) Method for transmitting graphical data to a thin client
CN112565818B (zh) 二三维一体化的操作站平台构建方法和电子设备
CN116192923A (zh) 一种远程桌面控制方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210108

WD01 Invention patent application deemed withdrawn after publication