计算机间传输的数据的动态代码转换系统的制作方法

文档序号:6415682阅读:250来源:国知局
专利名称:计算机间传输的数据的动态代码转换系统的制作方法
技术领域
本发明要求1997年3月25日提交的美国临时专利申请60/041,366号的权益。
本发明总体涉及个人计算机(PC)的数据通信的领域,特别是涉及一种用于在通信链路上的两个计算机之间传输的数据的进行动态代码转换的系统。
因特网正在迅速地变成从个人到大型跨国公司的各类计算机用户首选的数据通信媒体。这类用户现在例行地利用因特网来访问信息,传播信息,电子通讯,甚至进行个人开会。越来越多的个人、组织和商家通过万维网(WWW)上的“web页”在因特网上建立了存在。
由于各种各样的原因,要求对在本地客户计算机和网络服务器计算机之间传输的数据进行操作。例如在某些情况下把从因特网服务器计算机检索的内容进行动态增加、修改或删除之后再提供给客户计算机可能是有益的。反过来,对来自客户计算机的内容请求进行修改之后再将请求传送给因特网服务器计算机是有益的。尽管需要这类对请求和响应的动态操作,期待广泛的因特网基础结构迅速改变以适应这种新功能却是不实际的。出于这个原因,需要以某种不要求改变现有客户计算机或因特网服务器计算机的方式来实现这类新功能。
已知部署一个代理服务器或网络代理,作为一个或多个客户计算机与诸如因特网的外部网络之间的中介。在Ian S.Graham的《HTMLSource BookAComplete Guide to HTML 3.0》(第二版,1996)中有对网络代理的一般性描述。代理服务器的一个通常应用是所谓的“防火墙”,其中代理服务器负责与外部世界的所有通信。换言之,本地设备不允许直接与诸如因特网服务器的外部网络计算机进行通信。相反,每个本地设备向代理服务器发送对网络驻留数据的请求。当代理服务器接到这种请求时,它将请求传递给适当的外部计算机,接收外部计算机的应答,然后将应答传递给本地设备。外部计算机不知道本地设备。这样,本地设备就受到保护,免于诸如非授权访问的潜在危险。
现有代理服务器不对通过它们传送的数据进行操作。实质上,代理服务器仅仅是请求和应答的盲目通道。现有代理服务器的这些局限限制了这些设备在方便本地设备与网络设备之间通信方面的充分利用。因此需要一种所谓的“智能”代理,这种代理能检查通过它的数据是要发往外部网络设备的请求还是返回给本地设备的网络内容,并动态地对数据操作。这种设备可用于透明地提供各种迄今为止如果不改变现有因特网基础结构就不可能的服务。
本发明的实施例涉及用于对在计算机间—诸如网络服务器计算机与网络客户计算机间传输的信息进行代码转换的设备、系统和方法。
按照一个实施例,一种用于对在通信链路上的网络服务器与网络客户机之间传输的数据进行代码转换的装置包括有一个与代码转换服务提供器连接的分析器。分析器被配置成根据预定的选择标准选择性地调用代码转换服务提供器。


图1是表示本发明实施例可以应用的环境的示意图。
图2是表示按照本发明的实施例的代码转换器模块的示意图。
图3是表示用于非使能的网络客户机的本发明实施例的示意图。
图4是表示一例向非使能的网络客户机提供控制代码转换的功能的用户界面的示意图。
图5是表示用于使能的网络客户机的本发明实施例的示意图。
图6是表示按照本发明实施例在浏览器中集成了代码转换功能的网络客户机的示意图。
图7-9是表示按照本发明实施例向网络客户机提供所请求的URL对象的流图。
本发明的实施例提供对在例如网络服务器计算机与网络客户计算机之间传输的信息进行动态代码转换的功能。本文中所用“代码转换”一词适用于对数据的几乎任何操作,包括但不限于增加、修改或删除数据。
现在参看图1,该图表示可有利地应用本发明实施例环境。网络服务器计算机10管理着从因特网18向网络客户机12的数据传输。网络客户机12可以是任何有适当的数据通信功能的计算机。
网络客户机12在客户机/服务器通信链路14上向网络服务器10发送信息请求或从网络服务器计算机10接收信息。客户机/服务器通信链路14可包含例如一个使用例如POTS(简易老式电话系统)拨号技术或者无线连接的所谓“慢网络”。或者,客户机/服务器通信链路14也可包含一个所谓的“快网络”,诸如LAN或WAN(宽域网),后者能以比慢网络更可能快的速度操作。这些存取方法的组合也是可能的。例如,网络客户机12可以用POTS或无线拨号连接,其中无线拨号连接与ISP(因特网服务提供商)维护的调制解调器组连接,后者又连接到LAN上的网络服务器10。网络服务器10通过服务器/网络通信链路16与因特网18上驻留的计算机通信,其中服务器/网络通信链路16可包含该领域已知的任何适合的通信介质。
如图2中所示,按照本发明的第一个一般实施例,代码转换器20包括一个分析器22和多个代码转换服务提供器24。分析器22被配置成对由代码转换器20所接收的数据进行操作,这种数据诸如是由客户设备生成的对网络对象的请求,或者是由内容服务器设备提供的对这种请求的回答。在这个特定实施例中,分析器22负责根据预定的选择标准选择性地调用一个或多个代码转换服务提供器24。
代码转换器20可以以例如在网络代理中、客户设备中、网络服务设备中或内容服务器设备中安装的软件模块来实现。在图3中所表示的一个特定实施例中,代码转换器20安装在位于网络客户机12和因特网18之间的远程代码转换服务器34中。代码转换服务器34可以包含网络服务器、与网络服务器通信的独立计算机或分布式计算机系统,或者是网络服务器、与网络服务器通信的独立计算机或分布式计算机系统的一部分。远程代码转换服务器34可以连接到例如ISP的网络、企业网或者因特网18上的任何位置,可以向多个用户(即客户机)提供获取因特网18上内容的工具。
在图3中所表示的特定实施例中,代码转换服务器34包括一个HTTP(超文本传输协议)远程代理36,它能在服务器/网络通信链路16上访问因特网18。HTTP远程代理36与已知的网络代理不同,后者一般只不过是向外部因特网资源发送的请求和来自外部因特网资源的回答的一种通道,前者不仅能检查这类请求和回答,也能针对请求中的命令进行操作—例如确定是否对内容代码转换。此外,使用了代码转换器20,远程代理36就能先改变从因特网18所接收的内容,再将其返回给发出请求的网络客户机12,这在下文有进一步的介绍。
更仔细地考察图3中的实施例,代码转换器20是与HTTP远程代理36相连的。分析器22管理着对要从代码转换服务器34向网络客户机12传输的数据的代码转换。为此,分析器22控制代码转换服务提供器24根据预定的选择标准选择性地对内容进行代码转换。例如,一个或多个代码转换服务提供器24可以提供对不同类型的数据内容—诸如图象、视频或HTML(超文本标记语言)—进行压缩和/或缩放的功能。这类用法在下面两个待定美国专利申请中有进一步的说明系列号08/772,164,标题“System for Enhancing Data Access Overa Communications Link”,申请日1996年12月20日;系列号08/799,654,标题“Method and Apparatus for Scaling ImageData”,申请日1997年2月11日。这两个申请的受让人均为英特尔公司。出于解释本发明的某些特点的目的,下文的许多实施例都是就内容缩放/压缩来描述的。然而前文说过,代码转换服务提供器24可以提供各种各样的代码转换功能。
如图3所示,代码转换服务器34也可以包括有一个由服务器侧高速缓存接口28管理的服务器侧高速缓冲存储器30。服务器侧高速缓冲存储器30可用于存储原始的和代码转换后的内容,以便以后无需从因特网18再检索该内容或再代码转换该内容就能传输给网络客户机12。
代码转换服务器34是通过客户机/服务器通信链路14与网络客户机12相连的。网络客户机12包括一个浏览器,诸如NetscapeNavigator 3.0版的浏览器(不过本发明在这方面没有限定),浏览器管理着向用户的数据提交。在这个实施例中,网络客户机12是“非使能的”,即网络客户机12上没有预先装载专业代码转换软件。
分析器22可以包含相对简单的、连接HTTP远程代理36的统一接口,并可以提供API(应用程序设计接口),用于对由HTTP远程代理36所接收数据进行代码转换。分析器22管理一个或多个被通过公用SPI(服务提供器接口)访问的代码转换服务提供器24。在这个特定实施例中,分析器22是依照视窗开放式系统体系结构(WOSA)设计的,可以以Win32 DLL(动态链接库)来实现。在《Readings onMicrosoft Windows and WOSA》(微软公司,1995)中描述的WOSA体系结构,使得能将更多的代码转换服务提供器24动态添加到系统,以提供新的特征和/或更好的代码转换算法,同时还不要求改变或重新测试系统中的其它软件部件。这个特点在代码转换服务器34也与配备了专业代码转换软件的“使能的”网络客户机交互作用时特别有益。应当注意的是,下面说明的分析器22的有些特点并不适用于图3的非使能的客户机实施例。不过,将代码转换服务器34配置得足够灵活,能处理来自非使能的和使能的网络客户机的请求,是有好处的。
与分析器22一样,服务器侧高速缓存接口28可以按照标准的Get/Set接口的模型来构造。服务器侧高速缓冲存储器30几乎“拥有”所有高速缓存对象,因为它管理着对象的特性和存储,并且随时可以使任何非锁定的对象无效。然而,任何给定高速缓存对象的实际格式只为分析器22及其关联的代码转换服务提供器24所知。所以,出于数据完整性和代码转换效率的目的,在这个实施例中对服务器侧高速缓冲存储器30的所有访问都要通过分析器22。
服务器侧高速缓存接口28可以包括下列调用CreateEntry(URL,&Entry,…);GetEntry(URL,&Entry);CreateStream(Entry,&StreamEntry,…);GetStream(Entry,&StreamEntry,…);CloseEntry(Entry);CloseStreamEntry(StreamEntry);GerProperties(Entry,&Properties…);SetProperties(Entry,&Properties,…);Read(StreamEntry,&OutStream,…);Write(StreamEntry,&Instream,…)。
与大多数高速缓存不同的是,服务器侧高速缓存接口28和服务器侧高速缓冲存储器30使得能维护某给定高速缓存对象的多个表示,其中关于每个表示的描述信息被包括在服务器侧高速缓冲存储器30中。此外,服务器侧高速缓存接口28和服务器侧高速缓冲存储器30还起着对高速缓存对象的多线程访问的同步点的作用。应当注意的是,所示实施例不要求为服务器侧高速缓存接口28和/或服务器侧高速缓冲存储器30作任何特定的配置。实际上,起因于本文所述各种实施例的这些部件的功能完全可以在其它系统部件中实现。
CreateEntry()调用为特定超文本对象创建并返回一个高速缓存项。这个调用也为超文本对象的原始版本创建一个项流(entrystream)。类似地,GetEntry()调用也为在高速缓冲存储器30中已经存在的超文本对象获得一个高速缓存项。Createentry()和GetEntry()调用二者在关联的高速缓存对象上设锁,直到调用了CloseEntry()调用。一旦设锁,高速缓存对象将不能由高速缓存接口28置换或使之无效,使一个或多个代码转换服务提供器24能安全地进行任何要求的高速缓存操作,诸如对象检索和/或存储。
高速缓存项被CreateEntry()或GetEntry()调用创建或打开后,CreateStream()或GetStream()调用就可以分别为该高速缓存对象创建或打开一个另外的流项。每个另外流项都与超文本对象的不同代码转换版本关联,后者可以由其中一个代码转换服务提供器24检索或附接。对高速缓存对象的基于流的处理使得代码转换服务器34有可能开始将超文本对象的代码转换版本传输给发出请求的网络客户机12—即使代码转换服务提供器24正在向该同一版本附加另外的代码转换内容。这种基于流的处理的优点包括通过对象的递增描绘而减少用户等待时间以及避免客户机/服务器通信链路14上不必要的空闲时间,由此给用户以更加灵敏的“感觉”。
GetProperties()和SetProperties()调用检索并存储关于高速缓存对象的信息,包括由代码转换服务提供器24保持的、用于确定高速缓存对象的代码转换特性和代码转换状态的信息。代码转换服务提供器24可以用这类信息来例如为缩放数据访问和分级精细化确定当前的压缩进度。
Read()调用从指定的高速缓存对象数据流读取数据。例如,代码转换服务提供器24可调用这个调用,使流数据穿过HTTP远程代理36直接到达网络客户机12。Write()调用将来自新的HTTP数据流的数据存入高速缓存。这个调用将把例如从Web服务器或代码转换服务提供器24接收的某个输入数据流,附加到一个可能是用Read()调用并发读取的打开的高速缓存流。
在本实施例中,分析器22包括下列调用GetObject(URL,InParams,&OutParams,&OutStreams,…);
GetScaledObject(URL,InParams,&OutParams,&OutStreams,Stage,…);PutObject(URL,InParamStruct,&InStream,&OutParams,&OutStreams,…);如下所述,分析器22用这些调用管理将所请求内容向网络客户机12的提供。
GetObject()调用用于服务非使能的客户机请求,返回指定超文本对象的非代码转换(即原始)版本。在这个实施例中,代码转换服务器34假设每个HTTP请求都有一个独有的线程,这种线程可以被阻塞,直到请求得到满足。相应地,GetObject()调用将要阻塞,直到要么它返回所请求的数据流,要么指出故障原因(例如对象不存在)。这个返回所谓标准超文本对象的能力由于兼容性原因是有利的,使本发明的实施例能用于现有的不支持某些代码转换功能(例如高级数据压缩)的浏览器,使用户能有选择地检索非代码转换的版本。
GetScaledObject()调用与GetObject()类似,也用于向服务器侧高速缓冲存储器30请求对象;然而,它增加了对请求该对象的特定版本—诸如高质量再生—的支持。与传统的高速缓存代理不同的是,代码转换服务提供器24能用服务器侧高速缓冲存储器30来存储某对象的若干不同版本,以支持具有不同通信和/或表示功能的客户机。所以,可以用附加的“级”参数来指示要将高速缓存对象的哪个版本返回给网络客户机12。如果代码转换服务提供器24被配置成缩放网络内容,它可以用这个参数来请求高速缓存对象的某个版本,该版本例如具有缺省的缩放质量、达到较好质量版本的精度或者原始的非缩放的版本。
在这个实施例中,当网络客户机12请求超文本对象时,HTTP远程代理36要么用GetObject()要么用GetScaledObject()调用(视网络客户机12是否能接受缩放的/代码转换的数据类型而定)去从分析器22检索超文本对象。如果没有找到该超文本对象,分析器22就用CreatEntry()调用为该新对象在服务器侧高速缓冲存储器30创建一个项(实际上是一个占位符)。该新项被返回给HTTP远程代理36,后者向因特网18请求超文本对象。当超文本对象的数据流返回时,HTTP远程代理36就用PutObject()调用来调用分析器22,将新项和要放入该项的数据流的句柄(handle)传入这个调用。分析器22根据例如数据流的内容类型来选择一个适当的代码转换服务器提供器24。在这个上下文中,术语内容类型包含数据类型、HTTP MIME(多用途因特网邮件扩展)类型、内容格式等等。所选择的代码转换服务提供器24用单独的线程来读取输入数据流、将其代码转换并将其置于服务器侧高速缓冲存储器30中。当前线程立即返回到HTTP远程代理36,后者再次调用GetScaledObject()(或者GetObject())。这个情况将永远导致高速缓存命中。这个线程然后与PutObject()中的单独线程同时工作,将(原始的或代码转换的)数据从代码转换服务器34传送到网络客户机12。
多线程处理由于不要在开始向网络客户机12发送对象之前,等待超文本对象完整地由HTTP远程代理36接收,或者完整地添加到服务器侧高速缓冲存储器30中,而提高了本实施例的效率。多线程处理的另一个好处是分析器22可以高效地处理来自多个网络客户机对同一个超文本对象的请求。只要一次性地从因特网18检索超文本对象,然后就可以并发地将适当的版本传输给这多个网络客户机12。然而应当注意,本发明的实施例没有多线程处理也可以实现。
如上所述,分析器22可以根据对预定选择标准的满足来有选择地调用多个代码转换服务提供器24之一。这种选择标准例如可包含代码转换服务器34所接收数据分组的数据部分中含有的信息,诸如MIME类型、URL(统一资源定位器)、上次修改时间标志等等。或者,这种预定选择标准可包含这种数据分组的数据部分中含有的信息,诸如特定内容、关键字、结构(例如标题级别)等等。此外,这种预定选择标准还可包含安装有代码转换服务器34的设备的条件(例如当前处理加载)、与代码转换服务器34相连的设备的条件或者通信链路的条件。代码转换服务器34可以提供动态更新这种预定标准的能力。
以下讨论提供更多的各类型信息的例子,这些类型的信息可用于决定要调用哪些代码转换服务提供器24。然而应当注意,这些例子的提供仅仅是解释性的,不应认为是对本文要求的发明范围的任何限制。预定选择标准可包含(1)网络客户机12,诸如显示维数、分辨率、色彩数目、处理器类型、存储器/磁盘配置、调制解调器或网络接口类型、所安装的内装板(例如硬件压缩/解压)、软件配置(例如预装软件解压模块的可用性)、物理位置/距离(例如如电话地区码所确定的)、用户标识;(2)代码转换服务器34或某其它网络服务器的特征,包括系统负载和标识信息(例如服务器的所有者);(3)内容特征,诸如其数据类型、代码转换/压缩的类型、大小和维数;(4)网络特征,包括最佳情形、最差情形和平均等待时间,网络客户机12与代理之间的、和/或代理与服务器之间的(例如无线通信的)带宽和/或出错率(对于像ATM(异步传输模式)的有保障链路,这是可以预先确定的,对于像许多IP(因特网协议)链路的所谓“最好努力”链路,这是可以动态测量/预测的);(5)代理特征,包括系统负载、可用存储器、物理位置/距离和标识(所有者);(6)用户首选项,包括首选的内容质量/速度折衷方案、语言、内容等级、排除列表、包含列表、数据类型特定的首选项(例如“永不下载”图象)、包括/排斥广告、期望广告量、冒犯性语言去除、是否可以披露(及向谁披露)用户的定义的或学得的首选项、过滤/代码转换/处理数据的惯例规则和程序以及与另一个用户或一组用户的共享首选(任何上述用户首选项都可以是明确定义的或是—诸如依据随时间编辑的适用统计—系统预测的);(7)分组首选项,包括合作等级系统的结果、人工的(例如,某先前用户阅览某Web页之后人工分配该页一个等级)还是自动的(例如,对于访问给定页上某链接的给定大量用户来说,任何给定用户随后跟随该链接的概率);(8)内容提供器首选项,包括期望对其内容改变的程度、对不同内容类型的下载和显示的优先化、高速缓存限制或优先化参数诸如更新频率或置换首选、目标用户的类型、基于用户或客户特点定制内容(例如新闻或广告、习惯语言翻译软件)要运行的规则或程序、接受某些类型的用户或组所收集的数据(例如人口统计学或访问方式)的愿望、为交换这种信息所提供的付款/报酬的类型;以及(9)其它首选项,包括动态检查用非授权软件创建或传播的内容的软件销售商规则或程序以及强制正确使用某些类型的内容(例如商标和图标)的公司要求。
应用以上列举的选择标准或其组合,本发明实施例就可以用于提供几乎范围无限的动态代码转换服务。例如,客户机和/或代理的物理距离,与人口统计数据结合起来可以用于极有针对性的广告。这种广告可以添加到任何途经例如某代理或是某个其它机构的内容上。根据用户对容忍广告或共享人口统计信息的愿意情况以及广告商补贴或以其它方式报答参与用户的能力/意愿情况,可以更进一步地定制广告。
本发明的实施例可以便利地用来减少向网络客户机12传输的数据的量,由此促使内容的下载和再现更加快捷。适合的代码转换技术包括损耗性压缩和代码转换到(并不受广泛支持的)传输专用的更高效格式。类似地,HTTP远程代理36可以配置成“预先消化”Web站点或站点组,以产生对大量内容极其浓缩的概述(例如树结构、只有一级标题或一级加二级标题的页面、页面缩略图、或只是用户上次访问以来改变过的部分页面或站点)。这种应用对于不良连接的或诸如PDA(个人数字助手)的计算能力有限的设备来说可能特别有益,因为这种预先消化可在连接良好、具有充裕计算能力的代理服务器上进行,简洁的结果可以容易地在更受限制的设备上下载或再现。
本发明的实施例或者可以用于将诸如Web页的数据动态翻译成用户的母语(由用户首选项或者自动地由网络客户机12或代码转换服务器34所处物理位置来确定)。这种功能大大地简化了使内容真正全球化的任务,大大地减少了在内容提供器处要求的存储容量和维护(就是说,仅需要维护内容的一个副本,而不是多个不同语言的各自不同的副本)。
本发明的实施例可用来阻塞某些类型的内容或自动审查冒犯性语言(类似于电视广播所用的“嘟嘟”声)。只有特定的冒犯性部分内容(例如下流词语)可以被去除,或者可以阻塞整个Web站点。类似地,代码转换服务器34可以配置成扫描内容检查某些词语来保证商标和图标得到正确使用(例如是用作源标识符而不是未注册的产品名称)。这个特征可以作为一项服务提供给公司或组织,它们要提供一个要标记的字或短语的列表。类似的功能可以用来在检测到某些词或短语时自动向内容插入链接。例如,Intel公司可能想要在每当Web页中使用名称“Intel”时自动添加一个到其公司Web站点的链接。使用本发明的实施例,就可以将这类链路自动添加到内容中再显示给用户。类似地,本发明的实施例可用来扫描检查用非许可软件创建或传播的内容。这个特征可以用由内容创建或分发软件放置的、内置在内容或标题中的特殊键(二进制位模式)来实现。扫描逻辑和采取预定响应行动—诸如拒绝服务或投寄警告—的逻辑,可以任选地有当事的软件销售商提供或者配置在代码转换服务器34中。
本发明的实施例也可以用来在向网络客户机12发送内容之前扫描内容检查计算机病毒。例如,可以在代码转换服务器34上安装一个现有的病毒扫描例程—可能是以插件模块的形式。代码转换服务器34然后可以配置成调用该病毒扫描例程去保证向网络客户机12传输的内容没有病毒。这个实施例提供的显著优点是,病毒扫描软件只需要保持在代码转换服务器34上,而不是在多个网络客户机12上。这样,就能将对病毒检查软件升级的好处有效而及时地提供给大量的用户,从而避免出现有任何特定用户依赖过时的病毒扫描软件的问题。
本发明的实施例也可以用来按照用户特定的喜好和/或与合作分级系统的关联而生产按需定制内容。在这种实施例的变例中,代码转换服务器34能收集首选项并将它们附加为向内容供应商传输的客户机请求的一部分,这样就能在内容服务器完成动态内容生成。同样,代理提供者(例如因特网服务供应商即ISP)能收集并向内容供应商发放诸如用户爱好和数据访问统计的信息,以及内容供应商特定的统计(例如,上个月有多少来自给定地区或群体的用户访问过特定Web站点以及什么时间)。这种信息可用于诸如定向广告等应用。
本发明的实施例可进一步用来自动检查对象中链接的有效性,纠正或去除无效的链接,然后将对象传输给网络客户机12。这个功能可以例如作为一种服务,提供给可能没有关于它们所链接的、已经移走或删除了的Web站点的最新信息的内容供应商们。
为了进一步阐明图3中所示实施例的一般操作,假设网络客户机12的用户希望访问因特网18上的特定Web页或URL(统一资源定位器)。进一步假设所期望的URL驻留在代码转换服务器34或可通过代码转换服务器34到达。网络客户机12通过浏览器32在客户机/服务器通信链路14上向代码转换服务器34传输一个对超文本对象的HTTP请求。如果浏览器32一般通过代理来访问因特网18,浏览器32被配置成用浏览器32的标准代理配置过程来通过代码转换服务器34传送用户请求。如本领域中众所周知的那样,浏览器32实际上可以传输多个另外的HTTP请求,其中这些请求与可以内嵌在Web页中的各种不同超文本对象的每一个对应。在这种情况下,代码转换服务器34可按下文说明的方式来处理这种请求。
按照这个实施例,HTTP远程代理36能够区分非使能的网络客户机12和使能的网络客户机12。区分的方法可以例如是,从使能的网络客户机向代码转换服务器34传输内容请求,要用一种专用协议,所以使用某个其它通信协议时就表明网络客户机12是非使能的。这个在每个请求中向HTTP远程代理36发送一个专用协议的方法是对注册类型过程的一个改进。按每个请求进行的使能/非使能的确定所需的开销相对较小,同时具有显著优点,因为它为HTTP远程代理36解决了这样的情况,即第一个网络客户机断接,而第二个可能具有不同通信和/或表示功能的网络客户机用同一个IP地址重新连接。
当确定网络客户机12是非使能的时,HTTP远程代理36就可以在本地数据存储器中的客户机首选表中记录网络客户机12的IP地址(客户机首选表26可以改进这个或其它实施例的性能,但并不是必需的)。HTTP远程代理36然后将超文本对象传送给分析器22。HTTP远程代理36也可以向分析器22通知(例如来自客户机首选表26的)任何可应用的用户首选项。当被调用时,分析器22首先调用具有所请求超文本对象的高速缓存接口28,以确定在服务器侧高速缓冲存储器30中是否已经驻留了所请求版本的副本。为说明起见,假设服务器侧高速缓冲存储器30中不存在所请求超文本对象的项。HTTP远程代理36然后调用一个调用去在服务器/网络通信链路16上从因特网18检索该超文本对象。假设找到了所请求的超文本对象,HTTP远程代理36就开始接收代表该超文本对象的HTTP数据流。HTTP远程代理36将这个输入数据流的句柄(handle)交给分析器22。
分析器22动态地确定该数据流是否满足任何可应用的预定选择标准。例如,如果代码转换服务提供器24被配置成缩放不同类型的数据,分析器22就可以通过查询在输入HTTP数据流的开始处出现的内容类型标题记录中的一个MIME类型来确定数据流的内容类型(例如image/jpeg、image/gif、video/mpeg)。如果分析器22检查到一个与预定选择标准的匹配,就将HTTP流的句柄赋予适当的代码转换服务提供器24。代码转换服务提供器24然后适当地对数据流进行代码转换,HTTP远程代理26将代码转换后的数据流传输到网络客户机12。
非使能的网络客户机12可任选地配备主动控制代码转换过程的各方面或者是否实际对所请求全部内容进行代码转换的能力。为提供这个能力,HTTP远程代理36可以在所请求URL的HTML首部的开始处内置附加的指令,然后在将关联的数据流传输给网络客户机12。这些内置指令例如可以以JavaScript代码、VB Script代码或JavaApplet代码来实现。当网络客户机12的浏览器32接收到数据流时,内置指令将自动执行—只要配备的浏览器32支持这些指令。例如,如果内置指令是以JavaScript代码实现的,浏览器32可以是JavaScript使能的浏览器,诸如Netscape Navigator2.0版或以上的浏览器,或者是Internet Explorer3.0版或以上的浏览器。如果浏览器32不是为这种HTML脚本配备的,内置指令就将影响浏览器32的正常处理,因为这种浏览器32通常被配置成不理睬任何它们不能解释的数据。
传输到网络客户机12的内置指令可以使用户能操纵代码转换服务器34的一些代码转换功能。如图4中所示,内置指令可以驱动一个用户界面,其形式是一个弹出式窗口40,在浏览器窗口38的顶部显示。弹出式窗口40包括一个具有“开”、“关”和“自动”设置的三态开关42,也可以包括一个超文本链接44,用户可以跟随这个超文本链接,以下载支持例如更复杂的代码转换功能(即变得“使能”)的专业客户机软件。三态开关42的初始设置的根据,可以是由HTTP远程代理36事先对网络客户机12是否有对接受代码转换的内容确立的首选项的确定。如果是,可将三态开关设置为“开”,如果不是,可将三态开关设置为“关”。这个特征目的在于向用户提供某些向HTTP远程代理36通知首选项的方法,其中首选项是关于特定代码转换特征的诸方面的,诸如代码转换包含数据压缩/缩放情况下的内容质量/等待时间折衷方案。本领域的熟练人员将认识到,可能有许多其它的提供这种功能的方法,这类其它方法可能使用户能通知首选项,范围可以超过简单的是/否代码转换标志。
如图4中所示,弹出式窗口40使用户能改变其对需要的是代码转换的还是原始的内容的首选,将这种改变通知HTTP远程代理36。弹出式窗口40可以、也可以不与浏览器32交互作用,这意味着用户的首选,只有在设置了三态开关42并点击浏览器32的“重新加载”按钮46使浏览器32请求(代码转换的或非代码转换的)内容向用户提交之后才起作用。然后就可以按照三态开关42的新设置来再现当前会话中的后继页面,无需用户的进一步干预。接收后,HTTP远程代理36可以相应地更新用户首选表26。替代方案是,弹出式窗口40可以被配置成在用户指出变化时(诸如通过三态开关42的翻转)自动调用“重新加载”操作。如果浏览器32是JavaScript使能的浏览器时,由HTTP远程代理36插入HTML文档的JavaScript指令可以将三态开关42的状态“投寄”到HTTP远程代理36,也导致浏览器32“重新加载”当前的URL。
有可能让非使能的网络客户机12用本领域公知的所谓“cookie”(“小面包”)来在多个浏览器会话中保存网络客户机12上的三态开关42的状态。换言之,cookie可用来持久存储三态开关42的状态。当用户启动浏览器32的新会话时,这个状态信息可以从网络客户机12读出,由(插在HTML文档的开始处)JavaScript代码“投递”给HTTP远程代理36,然后,所请求超文本对象的任何内容才实际被发送给网络客户机12。这将允许HTTP远程代理36用三态开关42的正确状态来更新用户首选表26,并因此发送正确代码转换的内容给网络客户机12。在这个实施例中,每当给定URL被浏览器32请求时,就可以将状态信息“投递”给HTTP远程代理36。这将允许网络客户机12即使在与其相连的HTTP远程代理36由于例如网络客户机12的地理位置或网络负载平衡过程的改变而变化时也能接收正确代码转换的内容。
图3中所示的实施例也可以用于已经通过标准代理访问了因特网18的网络客户机12。JavaScript使能的浏览器32可以查询网络客户机12的本地IP地址,将这个信息“投递”给HTTP远程代理36。这个“投递”消息的HTTP标题将含有标准代理的IP地址,它现在将有别于网络客户机12的IP地址(包括在消息的内容中)。比较这两个IP地址将确定网络客户机12是否驻留在标准代理的后面。HTTP远程代理然后就可以用这个信息在用户首选表26中更新关于网络客户机12的代码转换信息。
按照图5所示的本发明的另一个实施例,网络客户机12可以是“使能的”,含有专业软件来支持例如比上述实施例所提供的更复杂的代码转换特征,或者在客户机侧上执行部分或全部代码转换功能。如图所示,网络客户机12包括HTTP本地代理48,它与客户机侧分析器50相连,后者类似于代码转换服务器34的分析器22,控制一个或多个客户机侧代码转换服务提供器52。每个代码转换服务提供器52可配置成例如在将内容交付给用户之前对其进行代码转换,或者针对由代码转换服务器34的对应代码转换服务提供器24执行的功能执行一个对等的代码转换功能(例如解码、解压)。如代码转换服务器34中的那样,网络客户机12可以包括一个由客户机侧高速缓存接口54管理的客户机侧高速缓冲存储器56。客户机侧高速缓存接口54可以是业已存在的由操作系统支持的设备,诸如WININET。使用现有的高速缓存设备减少了为实施本实施例而要下载到网络客户机12的软件量,并且也使其它应用诸如断开的浏览器能共享客户机侧高速缓冲存储器56。
HTTP本地代理48,客户机侧分析器50和客户机侧代码转换服务提供器52(合起来称为客户机软件)可以按需—诸如点击由图4中弹出式窗口38表示的超文本链接44—下载到网络客户机12。或者,客户机软件可以在便携式存储介质—诸如软磁盘或CD-ROM上分配给用户,或将其预装在成品个人计算机上。在图5的实施例中,客户机软件是与浏览器32分开的。然而在另一个实施例中,客户机软件可以集成在浏览器32中(见图6)。
使能的客户机实施例向网络客户机12提供交付超文本对象的扩展的灵活性。如上述的非使能的客户机实施例中的那样,使能的网络客户机12可以从HTTP远程代理36接收已经受标准内部提交软件或浏览器支持的格式(例如JPG、GIF)的代码转换的数据流。例如如果代码转换过程涉及对超文本对象添加或删除文本时,情况就是这样。此外,HTTP远程代理36可以将超文本对象代码转换成具有新的MIME类型的数据流—诸如代码转换过程包含缩放或数据压缩那样,在这种情况下,可以提供客户机侧代码转换服务提供器52来将数据流转换回由浏览器32支持的MIME类型。例如,HTTP远程代理36可向网络客户机12传输一个用非标准、不很受支持但却是前沿的压缩算法压缩的文件,客户机侧代码转换服务提供器52可将文件解压回其原始格式。这个方法具有减去了HTTP本地代理48不得不提供一个用户界面的负担的好处,除去了由对浏览器32所支持的数据类型的限制而施加的限制。这样,代码转换过程就能在即使其涉及将内容改变到不同数据类型时也对用户、浏览器和Web服务器保持透明。
还有另一个可能是,使能的网络客户机12包括一个或多个特别为代码转换、交付和回放网络客户机12所接收内容而配置的添加与嵌入46。添加与嵌入46例如可用NetScape插入或ActiveX控制来实现。此外,添加与嵌入46可以按图5中所示那样作为客户机软件的一部分安装,或者与浏览器32集成。这种添加与嵌入46之益处在于它们一般可配置成允许用户点击特定对象来获得不同版本的(例如质量更高的)表示。添加与嵌入46的另一个益处在于它们在用户看来是与浏览器32很好集成的,容易得到升级。上述表示设施的组合也是可能的。
在添加与嵌入46的一种有益的可选应用中,网络客户机12可以配置成在网络客户机12确定其不能对特定的接收数据流代码转换时请求从HTTP远程代理36下载适当的添加与嵌入46。HTTP远程代理36然后就会下载必需的添加与嵌入46,或者以不同的格式重新发送数据流。这个设施提供系统的自动扩展,保证客户机软件尽可能地时新。
在图5的实施例中,浏览器32被配置成通过HTTP本地代理48发送所有HTTP请求,于是允许HTTP本地代理48改进对所请求超文本对象的检索和提交。例如,当HTTP本地代理48收到来自浏览器32对与某Web页关联的超文本对象的HTTP请求时,它把URL传送到客户机侧高速缓存接口54,去检查在客户机侧高速缓冲存储器56中是否已经存在该超文本对象的副本。如果超文本对象在高速缓存中,HTTP本地代理48就将高速缓存的对象传送到浏览器32供提交。如果超文本对象不在高速缓存中,HTTP本地代理48就向代码转换服务器34传输一个HTTP请求供处理。HTTP本地代理48为此可以用定制的Get()请求来使代码转换服务器34能识别网络客户机12是使能的。参考其它实施例来执行上述的处理,代码转换服务器34将向HTTP本地代理48返回一个该超文本对象的数据流。
为了进一步阐明本发明实施例的特点和好处,图7-9中的流程图解释了一个方法的实施例的逻辑,通过该方法,使能的网络客户机可以再现因特网上驻留的超文本对象。该流图并非要包含所执行的全部处理,而是要说明该方法的总体流程。上文已经参考所披露的各种实施例对各种处理作了详细说明。如果可行的话,下面的说明中包括有代表前文说明过的结构元素的参照号码,尽管本方法并不局限那些结构。
现在参看图7。处理在网络客户机12上的用户从浏览器32请求一个超文本对象时开始(步骤100)。请求的方式这可能是对特定Web页的请求—在这种情况下,将可能有多个超文本对象被显示给用户,请求的方式也可以是点击已经显示给用户的一个图象。浏览器32可配置成通过HTTP本机代理48传送所有HTTP请求,所以HTTP本地代理48可截获来自浏览器32的HTTP(URL)请求(步骤110)。
在这个特定实施例中,HTTP本地代理48首先检查所请求超文本对象是否已经在客户机侧高速缓冲存储器56中存在(步骤120)。为此,HTTP本地代理48可以用一个GetScaleObject(URL)调用来调用客户机侧分析器50,后者有向客户机侧高速缓存接口54发出一个GetEntry调用去打开高速缓存对象的流。这实际上是从客户机侧高速缓冲存储器56中“检索”如果存在的高速缓存对象(步骤140)。HTTP本地代理48然后将该流传送到浏览器32,后者将高速缓存对象显示给用户(步骤150)。
现在参看图8,如果所请求的URL对象在客户机侧高速缓冲存储器56中找不到,HTTP本地代理48就向代码转换服务器34传输一个对该对象的请求,方法是使用一个GetStage(URL,Stage=0)调用的邮件(步骤160)。收到这个调用后,HTTP远程代理36就调用分析器22,后者又向服务器侧高速缓存接口28发出一个GetScaled Object()调用来确定是否在服务器侧高速缓冲存储器30中已经存在所请求超文本对象的非代码转换版本(步骤170)。如果超文本对象存储在高速缓存中,服务器侧高速缓存接口28就发出GetEntry调用来打开该高速缓存对象的流(步骤200)。此外,分析器22可以向服务器侧高速缓存接口28发出GetProperties(URL,…)调用去检索关于高速缓存对象的代码转换特性和代码转换状态(诸如精度水平)的信息。
如果分析器22确定所请求超文本对象不在服务器侧高速缓冲存储器30中,HTTP远程代理36就发出一个从因特网18检索超文本对象的HTTP请求(步骤190)。如果找不到该对象,HTTP远程代理36就向网络客户机12返回一个错误,浏览器32将该错误通知到用户(步骤220)。如果找到该对象,HTTP远程代理36就将该输入数据流的句柄传送给分析器22,后者就启动对所检索超文本对象的原始版本的高速缓存(步骤230)。
现在参看图9,一旦所请求超文本对象已经开始被得到,分析器22就判断是否(以及如何)将该对象在向网络客户机12传输之前进行代码转换(步骤240)。上文详细说明了这个决策过程和示例性代码转换过程。对于当前示例,假设分析器22判定代码转换是适当的,于是生成所请求超文本对象的一个代码转换的版本(步骤250)。HTTP远程代理36将该代码转换的超文本对象的一个数据流传输到网络客户机12(步骤260)。接收后,HTTP本地代理48就启动对代码转换的超文本对象的高速缓存(步骤270)。此外,客户机侧分析器50还判断在提交该超文本对象之前是否需要进一步的处理(例如已经由代码转换服务器34建立了一个新的MIME类型)(步骤280)。
如果不要求额外的代码转换,HTTP本地代理48就将所接收数据流的句柄传送给浏览器32,以便向用户显示(步骤290)。如果要求更多的代码转换,客户机侧服务器50就将句柄传送给适当的代码转换服务提供器52(步骤300)。这后一个处理的结果可能是一个浏览器能马上向用户显示的超文本对象(步骤320),该结果也可能是一个具有非标准MIME类型的超文本对象,在这种情况下,浏览器32可调用添加与嵌入46来显示该对象(步骤330)。
按照本发明的另一个实施例,不必插入其它数据或程序作为对客户机的响应的一部分。而是,没有用户或浏览器32软件的察觉或干预,也可以将数据和程序透明地“推送”到网络客户机12。这种方法的一个优点是,代码转换服务器34能够检测到客户机/服务器通信链路14何时使用率不饱和,于是能将数据推送到客户机12,而为此干涉其它事务的风险有限。一个特别有益的实施使用至少一个本地代理,它可以向内容供应商或连网的代理服务器发出自己的(而不是用户驱动的)请求,或者接收从网络推送给它的非请求的数据。本地代理可以将该数据存储在客户机侧高速缓存中,将其安装成程序,或提示用户采取某种进一步的行动。这种实施例的许多潜在用途都是可能的。例如,软件产品或音乐的广告商可以在用广告向用户促销之前用产品的试用版本预装网络客户机12,这样就具有迅速播放功能,不会让用户被迫等待演示程序的下载(以及在此期间可能失去兴趣)。
用许多不同的配置来实现本发明的实施例都是可能的。在第一个配置中,所要求的唯一的额外装置是远程代理。就是说,无需在网络客户机12上安装新软件。远程代理可以驻留在诸如因特网的某个适当网络上的任何地方,包括位于特定的内容供应商站点。或者,例如如果要用位置特定的特征作为预定选择标准,远程代理可以位于ISP本地POP(存在点)。当然,这种信息也能用其它方法来收集,诸如用户首选项设置或向代理分配位置特定的域名。在第二个配置中,可以将一个起本地代理作用的新的客户机软件安装在例如客户机设备上。用户于是要把客户机应用的代理指向本地宿主。这些示例性配置的组合也是可能的,同时有多个模式活动也是可能的(例如,某本地代理起着有些请求的传递通路(pass-through)的作用,同时又是要求使用远程代理的其它请求的非传递通路)。
如果网络客户机12在相对较慢的通信链路上连接到远程代理,则在远程代理上实现代码转换和链接有效性检查是特别有益的。远程和本地代理的组合有时能使某些应用—诸如自动数据/程序下载和交互式显示预先消化的内容—的实施效率更高。其它应用,诸如翻译和商标强制使用,单独在本地代理上就能有效地完成,但是在远程代理上完成会更加有益,因为可以将结果存储到高速缓存,供他人使用,由此为将来的请求节省资源。另一些其它应用—诸如敲击流(clickstream)分析,在本地代理上实现一般效果更好,因为对于个别用户来说本地可用的资源更多,而且也有更好的隐私性。
鉴于以上说明,显然在客户机设备与内容服务器设备之间安置一个以上的所谓“智能”代理是可能的。如果不加检查,这种情况会导致内容被过分改变(例如,插入许多广告,多重损耗性压缩导致图象无法解读)。为解决这个问题,本发明的实施例可用一种能扩展现有请求/应答结构的特殊的代理到代理协议来指示是否对内容进行过代码转换以及是什么种类的代码转换。这种专业协议,加上其它可以按需要实现的代理到代理消息,能使多个代理协同工作,同时仍然对用户、客户机软件、现有“标准”代理和内容服务器保持透明。
按照本发明的另一个实施例,可以用代理服务器来为因特网代理或服务器用户提供所谓的“VIP”待遇,确认有资格的用户(或者通过付费,或者根据某种其它标准—诸如使用程度)在与其它用户竞争代理资源时享有更高优先权。与此对照,对于现有的因特网代理和服务器来说,用户得到服务的次序要么是随机性的,要么是按先来先服务的原则。
在这种实施例的一个特定实现中,代码转换服务器34可以被配置成从它处理的请求中提取用户的IP地址并保存关于诸如用户浏览特定Web站点的频率或时间长度的信息。可以用这种信息来确定在特定Web站点的“浏览者常客的里程”。用户然后就能得到在以后访问该站点时响应时间更快的奖励,或者站点所有者可选择提高通过同一个代理到达的所有站点上的性能来奖励用户。另一种可能是用户可以付费享受这种优先服务,这时用户被分配一个口令,用户可以向代码转换服务器34提供这个口令。还有另一种可能是,Web站点所有者可以向代理供应商付费,来提高所有用户访问该所有者的站点时的性能。
在另一个特定的实现中,可以将标识要给予“VIP”待遇的用户的信息以Web页的形式传送给代码转换服务器34。当接收这种Web页时,代理随后就可以让服务线程首先为VIP用户所生成的请求进行工作。为此,代码转换服务器34可以提高(操作系统内部)对VIP服务的线程调度优先级,同时保证没有任何线程被阻塞(即,不应当有用户完全因为VIP用户而被拒绝访问)。此外,代码转换服务器34还可以允许针对VIP用户而优先高速缓存特定Web站点和更加进取性地预先提取。此外,代码转换服务器34还可以用更多的资源密集型压缩算法,例如以降低非VIP用户的存取速度来换取相同等待时间下提供更高质量的内容。
某些内容供应商或用户可能并不希望他们的内容受到任何方式的动态改变。所以,本发明的实施例可以这样来实现,即既不给予内容供应商也不给予用户以超越任何可能改变内容的服务的功能。这可以例如用一种由内容中嵌置的一个特殊标志触发的通路技术来实现。
如上述说明所展现的那样,本发明的实施例可用来提供一种用于改善计算机访问诸如因特网的网络的通信功能的系统。本发明的实施例可以有益地应用到具有有限的可用通信带宽的计算机,诸如通过调制解调器连接访问网络的移动计算机或个人计算机。这种实施例的独特特点增强了这些计算机以降低了用户可见等待时间的及时性在网络上访问数据的能力,由此使内容作者能放心去创作丰富的内容,无需顾虑只有具备高度完善的数据通信和显示功能的用户才能欣赏其内容。本发明的实施例也有益于除降低等待时间以外或与其并举的目的。这种目的例如包括为没有彩色显示器的用户将彩色图象转换成灰度级的图象,过滤和/或删除不喜欢的内容诸如色情内容,增加内容如广告,以及语言翻译。
尽管对本发明的说明结合的是用于从因特网访问数据的实施例,本领域的熟练人员会认识到,它同样适用于其它网络环境。例如,本发明的实施例可用来加强网络客户计算机与“内部网”之间的数据通信。内部网通常是采用因特网结构的安全的团体网络,一般包括与诸如因特网的外部网络进行通信的机制。
以上是对本发明的特定实施例的详细说明。本发明涵盖权利要求范围和精神内的所有替代、修改和变异例,以及有权利要求的主题的等价例。例如上述的远程代理具有的部分或所有特点可以在内容服务器中实现。同样,上述的本地代理具有的部分或所有特点可以在浏览器应用中实现。本领域的熟练人员知道,根据以上说明,就可能实现许多其它的替代、修改和变异例。
权利要求
1.一种用于在通信链路上的网络服务器与网络客户机之间传输数据的装置,所述装置包含与代码转换服务提供器相连的分析器,所述分析器被配置成根据预定选择标准有选择地调用所述代码转换服务提供器。
2.权利要求1的装置,其中,所述预定选择标准包含正在传输的数据的特征。
3.权利要求1的装置,其中,所述预定选择标准包含通信链路的特征。
4.权利要求1的装置,其中,所述预定选择标准包含网络服务器的特征。
5.权利要求1的装置,其中,所述预定选择标准包含网络客户机的特征。
6.权利要求1的装置,其中,所述预定选择标准包含用户首选项。
7.权利要求1的装置,其中,数据是应网络客户机的请求从网络服务器向网络客户机传输的,所述预定选择标准包含在所述请求中。
8.一种用于向网络客户机提供网络服务器上驻留的数据对象的方法,其中网络客户机和网络服务器由一个通信链路相连,所述方法包含的步骤为从网络服务器接收一个数据对象;按照预定选择标准选择性地对该数据对象进行代码转换;以及将所述数据对象提供给网络客户机。
9.权利要求8的方法,其中,所述代码转换步骤进一步包含将所接收数据对象的特征与预定选择标准进行比较。
10.权利要求8的方法,其中,所述选择性地对数据对象代码转换的步骤进一步包含确定数据对象是否包括用某个未注册软件产品创建的内容。
11.权利要求10的方法,其中,所述选择性地对数据对象代码转换的步骤进一步包含将消息加到对应于用某未注册软件产品创建的内容的所述检测的数据对象上。
12.权利要求8的方法,其中,所述选择性地对数据对象代码转换的步骤包括压缩该数据对象的一部分。
13.权利要求8的方法,其中,所述选择性地对数据对象代码转换的步骤包含将该数据对象的一部分从第一种语言翻译成第二种语言。
14.权利要求8的方法,其中,所述选择性地对数据对象代码转换的步骤还包含确定该数据对象是否包括有冒犯性内容。
15.权利要求14的方法,其中,所述选择性地对数据对象代码转换的步骤进一步包含修改该数据对象,以防止将冒犯性内容被网络客户机再现。
16.权利要求8的方法,其中,所述选择性地对数据对象代码转换的步骤进一步包含在该数据对象中添加广告信息。
17.权利要求16的方法,其中,所述广告信息是按照用户轮廓信息来选择的。
18.权利要求8的方法,其中,所述选择性地对数据对象代码转换的步骤进一步包含确定该数据对象中是否包括一个到第二个数据对象的链接。
19.权利要求18的方法,进一步包含确认到第二个数据对象的链接的步骤。
20.权利要求19的方法,其中,所述选择性地对数据对象代码转换的步骤进一步包含纠正无效的链接。
21.权利要求8的方法,其中,所述选择性地对数据对象代码转换的步骤进一步包含将与所述代码转换相关的信息通知给网络服务器。
22.权利要求8的方法,其中,所述选择性地对数据对象代码转换的步骤进一步包含确定网络客户机是否被预先配置成接受请求的优先处理。
23.在存储介质上驻留的供计算机执行的指令集,所述计算机与向用户再现数据对象的设备相连,所述指令集包含下列功能的指令分析要被再现的数据对象以对照预定选择标准检查内容;在再现数据对象之前根据所述检查有选择地对数据对象代码转换。
24.权利要求23的指令集,其中的存储介质包含磁存储设备。
25.权利要求23的指令集,其中的存储介质包含安装在计算机中的存储器。
全文摘要
一个用于对计算机间传输的数据动态代码转换的系统在用于在通信链路(14)上在网络服务器(10)与网络客户机(12)之间传输数据的装置中实现。该装置包括与代码转换服务提供器(24)相连的分析器(22)。分析器(22)极配置成按预定选择标准选择性地调用代码转换服务提供器(24)。
文档编号G06F17/30GK1294712SQ98805402
公开日2001年5月9日 申请日期1998年3月19日 优先权日1997年3月25日
发明者M·M-H·特萦, T·G·威利斯, J·W·理查森, R·C·克瑙埃尔哈泽, D·马西伊利恩斯基 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1