CN1226852C - 允许一般的web浏览器访问多个不同协议类型的服务器的信息处理系统和方法 - Google Patents

允许一般的web浏览器访问多个不同协议类型的服务器的信息处理系统和方法 Download PDF

Info

Publication number
CN1226852C
CN1226852C CNB961983248A CN96198324A CN1226852C CN 1226852 C CN1226852 C CN 1226852C CN B961983248 A CNB961983248 A CN B961983248A CN 96198324 A CN96198324 A CN 96198324A CN 1226852 C CN1226852 C CN 1226852C
Authority
CN
China
Prior art keywords
html
http
network
data
server computer
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.)
Expired - Fee Related
Application number
CNB961983248A
Other languages
English (en)
Other versions
CN1202291A (zh
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1202291A publication Critical patent/CN1202291A/zh
Application granted granted Critical
Publication of CN1226852C publication Critical patent/CN1226852C/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一个信息处理系统,它能够使一个客户机计算机设备访问位于客户机和服务器计算机设备之间的网络上的一个服务器计算机设备上的信息。客户机计算机设备使用超文本传输协议(HTTP)访问服务器计算机设备,并且使用超文本标记语言软件将接收到的来自服务器计算机设备的信息呈现给客户机计算机设备的一个用户。该信息处理系统包括客户机和服务器计算机设备之间的网络,该网络使用除HTTP之外的网络传输协议和除HTML之外的网络数据格式,并且该信息处理系统还包括一个传输协议转换器,该转换器将客户机计算机设备和服务器计算机设备中的至少一个所发出的或接收到的HTML/HTTP信息,通过网络转换为网络传输协议和网络数据格式。

Description

允许一般的WEB浏览器访问多个不同 协议类型的服务器的信息处理系统和方法
本发明涉及具有多个联网的信息处理系统的一个信息处理系统,尤其涉及面向对象的技术,该技术使用类库为大家所知道的全球通信网开发服务器。接下来的描述部分将进一步广泛描述本发明的背景。
在过去的几年中,全球计算机互连网络,即大家所知道的因特网,的使用有着爆炸性的增长,尤其是全球通信网(WWW)的使用更是如此,WWW是在因特网上所提供的一个设施。WWW包括许多信息的网页和文件,它们分布在许多不同的服务器计算机系统之上。存储在这样的网页上的信息可能是,例如,一个公司的组织,通信数据,产品数据和公司新闻的详细情况。可以使用文本,图形,音频数据和视频数据的组合将这些信息呈现给用户的计算机系统(客户机计算机系统)。通过一个统一资源定位器(URL)可以识别每一个网页。URL指定服务器机器和该台机器之上的特定的文件或网页。在一台服务器上能够驻留多个网页或URL。
为了使用WWW,客户机计算机系统运行一个软件,即图形Web浏览器,例如WebExplorer(作为IBM公司的OS/2操作系统的一部分提供的),或Netscape通信公司提供的Navigator程序。“WebExplorer”,“OS/2”和“IBM”都是国际商用机器公司的商标,而“Navigator”和“Netscape”是Netscape通信公司的商标。客户机计算机系统与浏览器交互以选择一个特定的URL,它使浏览器向在URL中识别出的服务器发送一个对该URL或网页的请求。典型的情况是,服务器通过检索请求的网页,并且将该网页的数据发送回请求端的客户机计算机系统(依据超文本传输协议(“HTTP”)来执行客户机/服务器之间的交互)来响应请求。该网页然后在客户机屏幕上显示给用户。客户机也可以使服务器发送一个申请,例如搜索与特定主题相关的WWW网页。
大多数WWW网页是依据利用HTML(超文本标记语言)编写的计算机程序来进行格式化的。该程序包括通过客户机图形浏览器显示的数据,以及用来指示浏览器如何显示数据的格式指令。因此一个典型的Web网页包括文本,和嵌入的格式指令,格式指令被称为标记,可以使用标记来控制字体大小,字体类型(例如,是否是斜体或加粗),如何排列文本,等等。Web浏览器对HTML脚本进行“语法分析”,目的是依据指定的格式显示文本。HTML标记还被用来指示如何通过客户机的浏览器将图形,声音和图象显示给用户。
大多数Web页还包括一个或多个关于其它Web页的参数,这些Web页并不需要与起始网页在同一个服务器上。这类参数通常由用户在屏幕上选择特定的位置来激活,比较典型的是(双)击一个鼠标控制按钮。这些参数或位置被称为超级链路,并且较为典型的是被浏览器以一个以特定方式加以标识(例如,任何与一个超级链路相关的文本可以用一种不同的颜色来表示)。如果一个用户选择该超级链路,那么将重新得到相关网页并替换当前显示页。
有关HTML和WWW的进一步的信息可以在1994年12月的DrDobbs Journal杂志中Douglas McArthur发表的“全球通信网和HTML”一文的18-26页,以及Ian Graham发表的“HTML资源书”(JohnWiley,纽约,1995)中找到。
显示并接收HTML的一般Web浏览器为应用程序开发人员提供了另人吃惊的能力。使用一个浏览器来实现一个用户界面有两个很大的优点:
通信协议(HTTP)为内置,以及
用户界面环境为内置。
通信和用户界面是应用开发的两个十分昴贵的方面,主要是因为它们特别依赖于平台。许多应用由于这两个问题根本就没有满足能够使用它们的所有的用户。
当前还没有使用除HTTP TCP/IP通信协议之外通信协议进行发送的Web浏览器/服务器系统。然而,许多计算机安装使用多种通信协议,例如NetBIOS,IPX,以及串行链路。这些安装的用户希望不要求使用TCP/IP协议来使用Web浏览器/服务器技术。这种技术受那种局限的限制。
这种技术特别重要的一个环境是系统管理。有效的系统管理无论对大规模还是小规模的计算机安装操作都非常重要。为改进系统管理工作,开发了许多应用。这些应用都力图抽象并核对计算机系统的复杂的依赖于硬件和操作系统的观察和控制,以便为用户或系统管理员在管理它们时提供更大的权限。
在今天的系统管理软件中,观察和控制通过图形用户界面(GUIS)来显示和控制的。如与本发明相关的一样,这种系统管理应用有如下两个问题:(1)GUIs只限于在特定系统中运行,并且通过有限的协议与基站系统管理对象通信,(2)系统管理应用向其它系统或协议的移动要求为新的平台记录该GUI。当前技术只为它所支持的系统提供系统管理数据。因此,在当前技术中,实现强大的灵活的系统管理界面存在障碍。
本发明提供一个信息处理系统,用来使一个客户机计算机设备能够访问位于一个服务器计算机设备中的信息,所述客户机计算机设备包括使用超文本传输协议(HTTP)与所述服务器计算机设备进行通信的装置,以及使用超文本标记语言(HTML)将从所述服务器计算机设备接收到的信息呈现给客户机计算机设备中一个用户的装置,所述信息处理系统包括:一个位于所述客户机和服务器计算机设备之间的网络,该所述网络使用除HTTP以外的网络传输协议和除HTML以外的网络数据格式;以及一个传输协议转换装置,用来把所述客户机计算机设备和所述服务器计算机设备发出的或接收的HTML/HTTP信息,经由所述网络,转换为所述网络传输协议和所述网络数据格式。
比较理想的是,本发明还包括上述系统,其中所述的用于呈现信息的客户机计算机设备使用一个特定类型的图形用户界面,其中所述客户机计算机设备被连接到因特网并且所述网络位于因特网和服务器计算机设备之间,并且其中所述传输协议转换装置运行面向对象的计算机软件,该软件包括:一个HTML对象,用来接受来自所述客户机计算机设备的HTML请求数据并把接受的HTML请求数据转换为网络数据格式;以及一个HTTP对象,用来打开并保持所述客户机和服务器计算机设备之间因特网通信,对从用户计算装置接收的HTML请求数据,进行语法分析,检测所述客户机算机装置所用的特定图形用户界面的识别符,向HTML对象发送请求数据和所检测的图形用户界面的识别符,经由所述网络和因特网在所述HTML对象和所述客户机计算机设备之间传输HTML数据。
从第二个方面来看,本发明为一个信息处理系统提供一个程序单元,该单元包括:一个映射块,当该映射块在所述信息处理装置上运行时,它在(a)HTML和HTTP以及(b)除HTML和HTTP之外的指令和协议之间映射数据,所述映射块有一个HTML对象和一个HTTP对象;所述HTML对象接受URL和其它请求数据;把所接受的请求格式化为除HTML和HTTP之外的内部指令和协议;接受除HTML和HTTP之外的内部指令和协议中的应答;把所接受的应答转换为HTML;并且把这种HTML发送给所述HTTP对象;所述HTTP对象打开并保持因特网通信;接受在因特网上的HTTP请求;对统一资源定位器(URL)和形成一个被接受请求的相关的数据进行语法分析;向所述HTML对象发送URL和相关数据和浏览器程序识别符;从所述HTML对象接受HTML资源;并将HTML资源作为HTTP应答返回给因特网。
本发明还允许连接到因特网任何地方的任何Web网络浏览器做为一个图形用户界面,来浏览和控制一个系统管理协议的事件。
本发明的一部分目的已经说明,参考附图,其它的目的将随叙述的进行逐步说明,其中:
图1A为一个典型的个人计算机系统的透视图;
图1B为根据本发明实现装置和方法的一个信息处理网络的附图;
图2为图1A计算机系统的一体化的平面板的概要框图;
图3为图1A计算机系统的一个可选平面板的概要框图;
图4为与图3可选平面板一起使用的处理器卡的概要框图;
图5为根据本发明在图1B信息处理网络上进行传输系统配置信息所采用步骤的流程图;
图6为图5流程图中所用的一些步骤的更为详细的流程图;
图7为一个示例框架机制的分类附图;
图8到12为图7示例框架机制的类图;
图13为图7到12示例框架机制的一个对象图;
图14A和14B为通过图1B的网络实施本发明的系统管理的一种实施方式的附图;以及
图15为图14A和14B所示的映射块单元的附图;
下面是与本发明背景相关的技术的一个扩展描述。非常有经验并且知识丰富的读者可以选择是简单阅读还是不读这些背景信息,但这些信息对于理解本发明十分重要,因此建议读者加以学习。
虽然本发明将在下面参照附图更加详细的加以描述,并且附图表示了本发明的一个优选实施方式,但是在下面描述之前应该明白,此类技术方面的人员可以对这里描述的发明进行修改并仍取得本发明的理想结果。因此,下面的描述可以做为一个较宽范围的,对此类技术方面的人员做指导的教育说明,并且不只限于本发明。
个人计算机系统总的来讲,尤其是IBM个人计算机,已经在为今天的社会诸多部门提供计算机功能方面取得了广泛的应用。一个个人计算机系统通常被定义为一个台式,落地式,或便携式计算机,它包括具有一个系统处理器的系统单元,一个显示器,一个键盘,一个或多个磁盘驱动器,一个固定磁盘存储器,一个可选的点式装置,例如一个“鼠标”,以及一个可选的打印机。这些系统主要设计用来为单个或小组用户提供独立的计算能力,以及以个人和商业购买都比较便宜。这种个人计算机系统的例子以如下商标进行出售:IBM个人计算机,个人计算机XT,个人计算机AT和IBM个人系统/2(在下面分别被称做IBM PC,XT,AT,和PS/2)型号25,30,50,55,57,60,65,70,80,90和95。
这些系统可被分为两个通用的系列。第一个系列,通常被称做系列1型,使用一个总线体系结构,如AT计算机和其它“IBM兼容”机。第二个系列,被称做系列2型,使用IBM“微通道”总线体系结构,如IBM PS/2型50到95计算机。用于系列1和系列2型的总线体系结构在此类技术中广为人知。
IBM PC和XT为IBM个人计算机生产线的第一种型号并且使用了Intel8088处理器。IBM个人计算机系统的下一个重要变化是使用Intel80286处理器的AT。PS/2生产线跨过了几个Intel处理器。与IBM PC和XT相似的系统是使用一个Intel8086处理器的PS/2型30的一个版本。PS/2型50到60都使用Intel80286处理器。Intel80386处理器用在IBMPS/2型80和IBM PS/2型70的一些版本。IBM PS/2型70的其它版本,以及IBM PS/2型90 XP486和95 XP486,使用Intel80486处理器。所有这些系统中的相同点之一是使用一个Intel X86系列处理器。大量普通并且广为人知的软件操作系统,例如DOS或OS/2操作系统,可以在处理器IntelX86系列不同的机型上运行。
随着系列1型的最早个人计算机系统,例如IBM PC,在一开始,人们就认识到实现软件-硬件兼容性的目标十分重要。为实现这一目标,在硬件和软件之间建立了一个系统驻留代码的隔离层,该隔离层也被称做“微代码”。这种代码在用户应用程序/操作系统和硬件装置之间提供了一个可操作界面,从而使得用户不用再去关心硬件装置的特性。最终,该代码演变为基本输入/输出系统(BIOS),允许将新的硬件装置添加到系统中,而把应用程序/操作系统与硬件装置的特性隔离开来。BIOS的重要性立即显现出来,因为它使得装置驱动器从依靠特定硬件装置特性中解放出来,同时为装置驱动器提供了对硬件装置的中介界面。由于BIOS是计算机系统的一个整体部分,并且控制数据进出系统处理器的活动,因此它驻留在系统处理单元的一个系统平面板上并且通过只读存储器(ROM)或一个可擦写编程式只读存储器(EPROM)提供给用户。例如,在最初的具有8K字节(一千字节或“K字节”指1024字节)的IBM PC中BIOS占驻留在平面板上。除ROM外,该平面板包括系统处理器,一个主随机访部存储器(RAM),以及其它基本共面地固定在该板上的其它元件。ROM还包括一个加电自检(POST)程序,该程序用来检测并初始化计算机系统。驻留在计算机系统ROM中的代码不断增加,变为“系统固件”,或简称“固件”。因此,固件包括POST部分和BIOS部分。有时,BIOS被定义为包括POST程序。
随着个人计算机系列新型号的引入,固件不得不加以更新和扩展以支持新的硬件装置,例如输入/输出(I/O)装置。可以想到,固件存储空间开始增加。例如,随着引进IBM个人计算机AT,固件开始需要32K字节ROM空间。随着具有微通道体系结构的IBM个人系统/2计算机系统的引入,一个著名的新BIOS,名为高级BIOS或ABIOS被开发出来。然而,为保持软件的兼容性,来自系列1型的BIOS不得不被包括在系列2型之中。系列1型BIOS成为了兼容性BIOS或CBIOS。因此,BIOS演变为包括多于一种类型BIOS,例如兼容性基本输入输出系统(CBIOS)和高级基本输入输出系统(ABIOS)。当前个人计算机系统的体系定义允许为固件提供多达128K字节的系统地址空间(系统固件地址空间)。
今天,随着新技术的发展,个人计算机系统变得越来越高级并且被改进得速度越来越快。由于技术变化非常快并且新的I/O装置被添加到个人计算机系统中,对固件进行有效的修改和扩展已经成为个人计算机系统发展周期中的重要问题。
随着引入微通道体系结构,IBM提供了一种新的配置过程,名为可编程式选项选择(POS)。POS的设计通过不再需要使用DIP开关,跨接线和集管配置系统,使得系统升级的安装和扩展变得更加容易和不再另人迷惑。使用低功率,电池封装式CMOS存储器PS/2系统可以记住其硬件配置。该配置包括扩展装置的识别以及该扩展装置是如何与系统其它部分相关共同工作的。每一个为微通道设计的扩展卡都有一个独有的识别编号。当系统进行引导时,PS/2系统将所安装的选项与在非易失性存储器中的信息加以比较,以检测变化,从而确保其设置的完整性。在配置步骤中使用参考磁盘,设置文件自动置入文件系统。在一些IBM PS/2型号中,例如型号70和80,参考盘包括一张随机带的存储系统配置信息的软盘。尽管PS/2系统的配置步骤较为简单,而且比较容易执行,但参考盘必须就在旁边或存储在附近。然而,在上一次系统配置一段时间之后,有可能丢失或放错参考盘。因此,最好是在DASD上存储一个参考盘的拷贝。
在Arnold等人的转让给本发明受让人的美国专利5,128,995中,发布了一个装置,用来从DASD的系统部分装入一个系统参考盘映象,其中DASD有一个保护区用来存储一个引导记录,一个BIOS映象和一个系统参考盘。保护DASD一部分的原因是出于防止BIOS的污染和被破坏的需要。在一些系统操作过程中,例如当处理器在操作系统的控制下时或当它运行一个应用程序时,DASD控制器被配置以忽略该保护区。
越来越多地,个人计算机系统被连接到一起来提供一个信息处理网络(即一个局域网或LAN),这样许多信息处理系统可以交换信息,共享I/O装置,并且作用一个特定直接访问装置(DASD),例如一个特定的硬文件或磁盘。典型的是,信息网络包括许多被称做“客户机”的信息处理系统,以及至少被称做“服务器”的一个管理员处理系统,所有这些经由通信媒体,例如铜线和/或光纤电缆。被连接或被联网在一起。较为典型的是,通过子系统元件的网络通信(即客户机系统或服务器系统)是经由通信适配器装置来处理的,该通信适配器装置服从一个或多个网络通信协议,例如Token Ring或Ethernet。此外,已经开发出了使用不同无线频率或红外射频协议连接到服务器的无线移动客户机。所提到的有线LAN的问题也存在于无线LAN中。
很明显,网络化的信息处理系统的主要优点是其在许多信息处理系统中提供不同信息类型通信的能力。在网络内可以进行通信的信息之中包括与系统自身状态和/或配置相关的信息。该配置信息可以用不同的方式进行处理,例如,进行确定或向其它网络信息处理系统通知其它每个系统的配置和能力。
系统配置信息用来在大网络系统内检测错误条件。例如,IBM系统390被设计成实时地监视网络化的系统内的执行情况。一旦检测到错误条件,执行一个诊断例程来把错误条件隔离至一个发生错误的系统元件。此后,与所检测的错误条件和诊断结果相关的信息经由一个调制解调器通过电话线传到一个中央站。
当前技术系统的实时错误监视和错误通信能力通常被纳入系统硬件体系结构和/或操作系统或应用软件之中。但不幸的是,在大型计算机系统网络中实现的实时错误检测并不适合较小的信息处理系统,例如那些包括个人计算机的处理系统。这部分是由于现存的标准操作系统,例如DOS和WINDOWS,不支持在大系统中可以得到的错误分析和报告能力。更为重要的是,个人计算机系统的当前中央处理功能对执行实时配置监视,错误检测和报告来说是不切合实际的。
然而,在一个包括小信息处理系统,例如个人计算机,其操作系统和CPU功能不支持网络上实时地进行系统配置信息通信,这样的信息处理网络上仍然有必要传输系统相关信息。
那种需要在具有许多信息处理系统的信息处理网络中已经被提及,其中每个信息处理系统具有一个预定的系统配置,在相应数量操作系统的控制之下运行,处理系统包括检测器,其在装入操作系统之前的初始微代码装入(IML)期间,基于预定系统配置检测系统配置中的变化。处理系统还包括通信元件,用来在网络上,在装入操作系统之前一旦检测到系统配置中的变化,就传输系统配置信息。
信息处理网络还可以包括一个管理员信息处理系统,该系统具有一个监视网络上通信的监视器和一个在网络上通信时接收系统配置信息的接收器。
系统配置信息可以包括一个信息处理系统的识别符,在这里系统配置中的变化是由用户激活的。管理员信息处理系统提供一个允许或不允许用户初始化系统配置变化的权限信号。
现在参照附图,特别是图1A,所示为一个个人计算机系统100,它能运行在本发明的信息处理网络150中。个人计算机系统100包括一个系统单元102,该单元具有一个合适的外壳或盒103,输出装置或监视器104(例如一个传统的图象显示器),输入装置,例如一个键盘110,一个可选鼠标112,以及一个可选输出装置,例如一个打印机114。最后,系统单元102可以包括一个或多个大容量存储装置,例如一个磁盘驱动器108(可以对磁盘进行操作-图中没有显示)以及一个直接存储装置(DASD)106,也被称做硬文件。
参照图1B,所示为一个信息处理网络150。该信息处理网络150包括许多信息处理系统102和102B,其中的一个或多个可以与图1A中个人计算机系统1OO相同。处理系统102是一个服务器,它做为信息处理网络150内的一个管理员处理系统。处理系统102B包括客户机系统。较为典型的是,除了可以不包括DASD 106以外,此时这种系统(102B)被称做“无媒介客户机”,客户机系统(102B)与单元102相同。信息处理系统(102和102B)以一种广为人知的方式互相连接成网络并且经由电缆160在信息处理网络150上传输信息信号。
操作中,信息处理系统102和102B在操作系统,例如在初始微装入(IML)期间正确地被装入的IBM OS/2操作系统或DOS操作系统的控制下进行工作。操作系统很典型地使用在IML期间被装入系统存储器的BIOS。BIOS在硬件装置和操作系统软件之间提供了一个界面,从而使得程序员或用户可以对其机器进行编程而无需深入了解一种特定硬件装置的操作知识。例如,一个BIOS磁盘模块可以允许程序员对磁盘装置进行编程而无需深入了解磁盘驱驱动硬件的知识。这样,不同公司设计和制造的许多磁盘驱动器都可以用在系统1OO内。同样,进行系统硬件开机自检的POST程序也在IML期间被装入,以确定系统配置。POST在一个存储装置,例如一个NVRAM中存储系统配置。这样,POST通过将预定系统配置和当前系统配置相比较,可以检测一个系统配置变化。在IBM个人系统/2和个人计算机BIOS界面技术参考1991中更为详细的定义了BIOS和POST,在这里作为参考也将其列出来。
统一平面
参照图2,所示为信息处理系统102或102B的统一平面2OO的一个框图。该平面2OO包括一个印刷电路板(PCB)201,该板上安有或联有许多具有I/O槽的输入/输出总线连接器232,一个处理器202,它在一个总线控制单元214的控制下被一个高速CPU本地总线210连接到一个存储器控制单元256。单元256还被连接到一个主存储器,例如易失性随机访问存储器(RAM)264。任何合适的处理器202都可以使用,例如Intel80386,Intel80486或相类似的。一个系统电源连接器205被安到PCB201上,用来连接一个为系统1OO提供必要电源的电源单元(没有显示)。
CPU本地总线210(包括地址,数据和控制元件)为处理器202的连接提供一个可选的数学协处理器204,一个可选的缓冲控制器206,以及一个可选的缓冲存储器208。同样耦合到CPU本地总线210的还有一个系统缓冲区212。系统缓冲区212自身被连接到一个系统总线216,系统总线包括地址,数据和控制元件。系统总线216在系统缓冲区212和一个I/O缓冲区228之间延伸。系统总线216还被连接到总线控制单元214和直接存储器存储(DMA)控制单元220。DMA控制单元220包括一个中央仲裁器224和一个DMA控制器222。I/O缓冲区228在系统总线216和一个I/O总线230之间提供一个界面。振荡器207如图所示被连接用来为计算机系统1OO提供合适的时钟信号。熟悉此类技术的人员将会意识到当在IBM PS/2计算机系统的微通道总线上实现优选实施方式时,这在此类技术中广为人知,可选的总线体系结构也可以采用本发明。
连接到I/O总线230的是许多具有用于接收适配器卡所用槽的I/O总线连接器,这些总线连接器可以进一步被连接到I/O装置或存储器。为方便起见只显示了两个I/O连接器232,但可以很容易地增加附加的I/O连接器来满足特定系统的需要。如所示,I/O连接器中的一个被连接到一个广为人知的为信息处理系统(102或102B)提供网络通信能力的TokenRing通信适配器卡231。一旦开始网络通信,CPU202以一种广为人知的方式激活Token Ring适配器卡231,允许在信息处理网络150上传输输入或输出信息。这样,通信适配器卡231就包括在网络150上传输信息的发送器装置和接收器装置。一个仲裁总线226把DMA控制器222和中央仲裁器224耦合到I/O连接器232和一个磁盘适配器246。同样连接到系统总线216上的是存储器控制单元256,它包括一个存储器控制器258,一个地址多路复用器260,以及一个数据缓冲器262。存储器控制单元256还被连接到主存储器,例如RAM模块264所代表的随机访问存储器。存储器控制单元256包括处理器202和RAM264特定区域之间的地址映射。当系统1OO如所示有一个基本的1兆RAM模块264时,可以理解附加存储器可以通过可选的存储器模块266,268,270互相连接起来,如图2所示。
一个缓冲区218被耦合在系统总线216和一个平面I/O总线234之间。平面I/O总线234包括地址,数据,以及控制元件。沿平面板I/P总线234耦合的是许多I/O适配器和其它外部元件,例如一个显示器适配器236(用来驱动可选显示器104),一个时钟/CMOS RAM250,一个非易失性RAM248(这里在下面被称做NVRAM),一个串行适配器240(其它用于“串行”的通用术语是“同步”和“RS232”),一个并行适配器238,多个定时器252,一个磁盘适配器246,一个键盘/鼠标控制器244,一个中断控制器254,以及一个固件子系统242,固件子系统242典型地包括一个非易失性程序存储器(即ROM),该存储器包括POST和BIOS程序的一部分,被称为状态I POST。如下面将要详细说明的,状态I POST用于一个初始的限定的系统检测,并且包括用于装入一个状态II POST的例程,状态II POST也被认为是一个外部存储装置,例如一个软驱108或硬文件106的初始微装入(IML)映象。
时钟/CMOS RAM250用来进行日期时间计算。NVRAM248用来存储系统配置。即,NVRAM248将包括描述系统1OO当前配置的值。NVRAM248包括描述,例如,适配卡初始数据,硬盘或磁盘容量,主存储器数目等的信息。而且,不论配置程序在何时执行,这些数据都存储在NVRAM248中。这一配置程序可以是一个包括在IBM PS/2计算机系统中的系统参考盘上提供的传统集合配置程序。参考盘有时被称做诊断盘,维护盘或服务盘。配置程序的目的是预定并向NVRAM248预存此系统1OO配置的特征值,此值在系统断电时被加以保存。NVRAM可以是具有后备电池的一个低功率CMOS存储器。
连接到键盘/鼠标控制器244的是一个端口A278和一个端口B280。这些端口A,B用来把键盘110和鼠标112连接到个人计算机系统1OO。耦合到串行适配器240的是一个串行连接器276。一个可选装置例如一个调制解调器(没有显示)可以经由此连接器276被耦合到系统。耦合到并行适配器238的是一个并行连接器274,,该连接器上连有例如打印机114的装置。连接到磁盘适配器246的是一个磁盘连接器282,用来连接一个或多个磁盘驱动器108。
替换平面板
根据个人计算机系统1OO的一个可选实施方式,用一个平面板3OO和处理器卡4OO(图3和4)来替换一体化的板200。处理器卡4OO以可拆装方式安装并且通过电路连接到平面板3OO。图2中相同的元件编号与图3和图4中相同的元件相对应。现在参照图3,平面板3OO包括一个印刷电路板(PCB)301,该板上安装有(即在表面安装)不同元件,不同的元件之间是通过PCB中电线或电路互相连接的。这种元件包括一个合适的可以买到的电子连接器302,处理器卡4OO的一个边界416被插入到连接器302,用来把处理器卡4OO可拆装地安装并且电气连接到平面板3OO。许多存储器模块(SIAM)连接器306也被安装到PCB301上,以连接构成系统主存储器或RAM的存储器边缘308A,308B。一个或多个I/O总线或扩展连接器232也被安装到PCB301上,用来连接可能被加入或置入个人计算机系统1OO的不同扩展适配器和选项。例如,硬盘驱动器106连接到一个具有小计算机系统界面(SCSI)磁盘控制器的适配器卡231。该适配器卡231连接到一个I/O总线或扩展连接器232。理想的是,每一个连接器232都是可以买到的针对上述微通道体系的类型的连接器。
安装到平面板3OO的还有一个中断控制器254和一个键盘/鼠标控制器244,它们被连接到键盘和鼠标连接器278,280,一个连接到磁盘连接器282的磁盘控制器或适配器246,以及串行和并行适配器240,238,它们与到允许不同I/O装置被连接到系统中的串行和并行连接器276,274相连接。系统电源连接器205被安装到PCB301上。用来连接一个为系统提供必要电源的电源单元(没有显示)。一个非易失性存储器(NVRAM)248和一个时间日期时钟/CMOS RAM250也被安装到PCB301上,PCB301上还被安装有不同的振荡器(没有显示),它以一种广为人知的方式为电路的隔离部分提供定时信号,以及缓冲区342,344(没有显示)。
PCB301的连线如附图所示把不同的元件相互连接起来,它们被分为三组,一个存储器总线310(包括线324-338),一个通道总线312(包括一个地址总线322,一个数据总线320和一个控制总线318),以及混合信号线,包括中断线314,316,所有这些线都经由连接器302,416被连接到PCB401上相应的线。中间抽头总线312的是一个平面功能总线319。
处理器卡
参照图4,显示了可拆装地安装在平面板3OO上的处理器卡4OO。处理器卡4OO包括一个安装有(即在表面安装)印刷电路板(PCB)401,在PCB401上安有许多可以买到的元件,包括一个处理器202,一个可选的数学协处理器204,一个可选缓冲控制器206,一个可选缓冲存储器208,一个直接存储器访问(DMA)控制单元220,一个总线控制单元214,一个存储器控制单元256,一个固件子系统242,以及奇偶校检单元402,404。处理器202最好是高性能类型,例如Intel80486,具有32位数据通路并且提供32位寻址能力。当然,Intel80386和相类似的处理器也可以使用。根据与处理器的兼容性,在传统类型中选择其它部件。许多缓冲区406,408,410,412,414如所图示被连接起来。缓冲区提供电路之间的可选择的/隔离或连接,使得不同部分可以相互配合工作,例如,在处理器202和缓冲存储器208之间转移数据,同时在I/O单元和主存储器308A,308B之间传输其它数据。所有上述元件之间通过PCB401中的印刷电线电路正确地电气相互连接,该线路在连接器416边界终止。连接器416的边缘是可以插到如图3所示的平面板3OO上连接器302边缘中的,这样平面板3OO和处理器卡4OO就在电气上和机械上都相互连接起来。因此,具有与之相关的处理器类型的处理器卡4OO的不同版本都可以插到平面板3OO中。
PCB401的布线电路包括一个本地总线418,该总线418分别包括数据,地址和控制线420,422,424,用来把处理器202和可选的数学协处理器204,可选的缓冲控制器206和可选的缓冲存储器208连接起来,如图4所示。其它电路线通常包括中断线316,通道总线312和存储器总线线310。通道总线312分别包括控制,数据和地址总线318,320,322。存储器总线310包括多路复用存储器地址线324,332,针对存储器边缘的行地址选通脉冲(RAS)线328,336,列地址选通脉冲(CAS)线338,数据总线A和B线326和334,以及一个用于奇偶检验或ECC检验的错误检验所用的线330。振荡器207如所示被连接起来,为计算机系统1OO提供合适的时钟信号。为简单起见,某些混合线,例如重置,地线,电源等,在图2,3,4中都予以省略。
在具有一个板300和一个卡400的个人计算机系统100的正常操作过程中,卡300和板400电气并机械地连接,典型的情况是位于与板300完全垂直的一个平面内。
再说一下,系统固件包括加电自检程序(POST)和基本输入输出系统程序(BIOS)。BIOS还包括兼容性BIOS或CBIOS以及高级BIOS或ABIOS。POST是在系统第一次加电时执行的指令集合。当确定当前系统配置时,POST的执行对于个人计算机系统1OO的初始化是十分重要的。BIOS是方便数据和控制指令在处理器202和I/O装置之间传送的指令集合。
在信息处理系统(例如,102B)没有媒介(没有DASD或软盘驱动器)时,通过通信适配器卡231来执行一个远程初始化程序装入(RIPL)该卡被连接到,例如,连接器232中的一个并且以一种广为人知的方式允许从一个网络服务器102引导一个操作系统。
POST包括一个自举程序,该程序力图定位一个引导装置并装入一个引导记录。典型的是,引导装置是硬文件106或磁盘驱动器108或者在无媒介客户机情况下,引导装置是服务器120。磁盘驱动器108要求引寻或操作系统磁盘(媒介,没有显示)来运行。如果POST从一个引导装置成功地装入一个引导记录,那么POST向引导记录发送控制来完成POST自举程序。如果引导启示无法装入一个引导记录并且存在一个RPL程序,那么POST向RPL程序传送控制。如果不存在RPL,那么POST提示用户需要一个引导源。CBIOS对计算机的自举操作是必需的。CBIOS提供许多服务,包括对硬文件106和磁盘驱动器108的访问。
信息处理系统102,以及102B执行一种广为人知的初始微代码装入(IML)的两阶段POST,编号为5,128,995的美国专利中对其有详细的描述,在这里将该专利作为参考文献收入进来。根据IML,处理器在POST的阶段I中,装入固件子系统242的内容并执行它的命令,其命令包括某些I/O装置,例如显示装置和某些存储器装置地址的最小检测。此后,在POST的阶段II中,处理器使用IML映象完成系统检测。IML映象包括完成POST和将处理器的控制转交给操作系统的指令。在POST过程中,确定当前系统配置并将其与NVRAM248中的预先确定和存储的系统配置信息进行比较。IML映象对于系统处理器是特定的,并被存储在存储装置的系统部分。如果存储装置是软盘驱动器108中的一个磁盘,则系统部分占据磁盘的一部分。存储在系统部分的IML映象包括POST的一部分和包括用于建立和/或诊断系统硬件的例程的参考映象。当POST检测到一个由配置改变导致的错误时,装入并执行参考映象。在响应一个预定键盘序列时也可以装入参考映象。如果存储器装置是硬文件106,则系统部分被存储在存储媒介的一个保护部分以避免重要的IML映象被无意破坏。在IBM90型和95型中,保护系统部分被存储在存储媒介的非常靠后的部分并且占据3兆存储容量。
根据本发明信息处理网络150的信息处理系统102和102B在IML期间一旦检测到系统配置中的一个更改,就启动通信适配器卡231,在装入操作系统之前在网络上广播某些系统配置信息。
参照图5,为达到本发明目的而采取的操作步骤通过流程图5OO加以说明。当系统加电时,即框501,信息处理系统在IML期间执行POST,如即框502。接着处理系统判断是否曾力图更改系统配置。当改变硬件配置时,例如增加或减少系统存储器,系统配置会发生变化时。可选择地是,当用户通过键入预定键盘序列要求进行系统配置更改时,配置的更改可能会是由用户所引起的。首先,信息处理系统,在IML期间经由POST判断是否存在硬件配置的改变,即框503。这种判断是通过比较当前系统配置和存储在NVRAM248中的预定系统配置来实现的。如果没有,则进行关于是否进行了用户所初始化的配置改变的判断,即框504。这种判断是以一种广为人知的方式通过检测用户键入预定键序列来实现的。如果没有,则操作系统被装入,即框505。
然而,如果POST判断出系统的硬件配置已经改变,则在装入操作系统之前收集并在网上传输某些系统配置,即框506。除了其它信息以外,系统配置信息可以包括,适配器,以及NVRAM,CMOS,和BIOS数据区等中的一个或多个错误代码,此外,参考映象从系统部分被装入并执行,以在NVRAM248中存储当前系统配置。
如果POST判断出由用户初始化进行了系统配置更改,则进行关于是否允许对系统部分进行访问的判断,即框507。如果不能,则收集并在网络上传输系统配置信息,即框508,并且接着装入操作系统,即框509。然而如果,允许访问系统部分,则进行关于这种访问是否需要来自管理员信息处理系统,例如服务器102,进行权限的判断,即框510。如果不需要,则装入并执行参考映象以允许用户改变系统配置。如果对系统部分的访问要求权限,则包括所要改变的系统配置的身分的系统配置信息更改请求经由网络通信适配器卡231传输给服务器120,即框511。如果服务器120允许访问系统部分,则装入并执行参考映象,即框512和513。如果服务器102不允许,则操作系统被装入,即框512和505。
参考图6,显示了框506和508中所采取的步骤的一个更加详细的流程图6OO。一旦检测到系统配置的改变(硬件的变化或由用户初始化的配置更改),则网络通信适配器卡231被激活,即框601。信息处理系统接着装入一个驱动器,用于从NVRAM248收集预定系统配置,即框602。接着驱动器从不同装置收集系统当前的硬件配置,即框603。接着收集错误相关信息,即,硬件配置更改的错误代码或用户访问请求信息,即框604。接着在前面各步骤中收集的全部信息被进行格式化并经由通信适配器卡231在网络中进行传输。
传输的通信系统配置信息经由通信适配器卡231被管理员处理器系统(例如服务器102)接收。管理员系统包括一个监视装置,最好是以软件例程形式,来监视网络150上的通信。一旦检测到系统配信息,管理员就接收到该信息并将其记录到一个永久性存储媒体中,例如DASD。所存储的信息最好是经过格式化并且带有时间以备今后进行处理。
根据本发明,系统内的每一个信息处理系统可以有接收传输的系统配置信息的能力。网络系统所接收的信息通知它们网络内其它系统的能力,这样可以调整它们的硬件来充分利用网络的能力。
本发明的理想之处在于在装入操作系统或其它任何应用软件之前提供系统配置信息通信能力。这样,使得这种有价值的网络特性可以为那些具有使用shelf操作系统,例如IBM兼容个人计算机的信息处理系统的信息处理网络所用。进而,一旦启动并且在装入操作系统之前,如果需要本发明就允许传输系统配置信息,这样从执行实时配置监视任务来接收处理器。
软件环境
概述-面向对象技术
本发明可以使用面向对象(OO)框架技术来实现。熟悉OO框架技术的人员会希望继续执行本说明的描述部分。然而,那些初次接触框架技术的人员,或基本是初次接触OO技术的人员,应该阅读本概述部分,以便最清楚地理解一发明的益处和优点。
面向对象技术及处理技术
尽管本发明是关于一个特定OO的技术的,但读者必须首先理解,总的来说,OO技术与传统的基于过程的技术(通常被称做过程化技术)是完全不同的。尽管两种技术可以用来解决相同的问题,但解决问题的最终方案却总是非常不同的。这种不同是源于过程技术的设计焦点是与OO技术的设计焦点完全不同这一事实。基于过程设计的焦点总的来讲是解决问题的过程,但是,OO设计的焦点是问题怎样才能被分解为一组能够共同工作以提供一种解决办法的自主实体。OO技术的自主实体被称做对象。换句话说,OO技术与过程技术完全不同,因为问题被分解成协同工作的对象组而不是网状计算机程序或过程的集合。
“框架”概念
对那些OO技术设计人员具有特定意义的术语和词组经历了一个发展过程。然而,读者应该注意到OO技术中定义最宽松的一个词是对“框架”的定义。框架对不同的人有不同的意思,因此,当比较两个所谓的框架机制时,读者应该注意确认该比较确实是“苹果对苹果”的比较。下面将要变得更清楚的,术语框架在本说明书中用来描述一个被设计为具有核心函数和扩展函数的OO机制,核心函数是框架机制中不能由框架使用者修改的那部分。扩展部分函数,相反,是原本就是框架机制中被设计为适应并能够由框架使用者进行扩展的那部分。
OO框架机制
尽管在通常术语中OO框架机制可以被适当地描述为OO方法,但在一个框架机制和一个基本OO方法之间还是存在根本不同的。该不同是框架机制是以允许并鼓励对方法的某些方面进行改变和扩展方式进行设计的。换句话说,框架机制相当于为问题提供多于一种的解决方法。该机制提供一种现存的解决方法,它可以根据随时间变化的个人要求来加以改变和扩展。当然,框架机制的改变/扩展质量对使用者(这里被称做框架使用者)是非常有价值的,因为改变或扩展一个框架的成本远远少于替换或重新使现有方法有效工作的成本。
因此,当框架设计者着手解决一个特定问题时,他们所做的要比只设计单个对象和那些对象之间是如何关联的要多。他们还设计框架的核心函数(即,框架中不受框架使用者潜在的改变和扩展影响的那部分)和框架的扩展函数(即,框架中受潜在改变和扩展影响的那部分)。最终,框架机制的最终价值不仅取决于对象设计的质量,也取决于如何选择框架的哪些方面代表核心函数以及哪些方面代表可扩展函数。
ZAF-框架机制示例
尽管那些熟悉此技术的人员会认为框架设计必然是一个互相渗透互相作用的过程,但在下面的段落中将给出对于一个简单的框架机制的示例设计选择。应该理解,这只是本说明书中用来说明和更好地解释框架机制,以使读者可以理解和体会本发明特点和优点的一个示例框架。
框架设计者通过从所谓的问题域选择对象,来确定框架机制需要什么对象。问题域是手边的特定问题的一个抽象的梗概。对于本图解的框架机制所选择的示例问题域是动物园管理的框架。该特定的问题是设计一个机制帮助动物园饲养员照顾和饲养动物园动物。在我们的一个动物园管理框架(ZAF)的例子中,一个OO框架设计者将考虑动物生活的问题域,并且确定任何一个机制都有必要包括一个代表动物园饲养员和动物之间关系的机制(即表示动物园饲养员是如何照顾动物)。框架设计者有可能察觉到动物园动物经常住在笼子,畜舍,蓄水池或其它的圈养单元中。因此我们的框架设计者将首先从框架必须包括表示所有这些基本实体和关系的机制的想法开始。
为了开始设计过程,我们的框架设计者有可能从所谓的分类图开始。分类图被用于描述高层框架机制,以及这些机制彼此之间的关系如何。图7是用于举例框架ZAF的一个分类图。在一个分类图中的每一个机制表示执行一个特定功能的对象的编组。为了说明问题,假定我们的框架设计者确定ZAF应由四个高层机制组成:一个动物园管理机制,一个动物园饲养员机制,一个动物机制和一个圈养单元机制。
如图7所示,动物园管理机制已经被设计为使用动物园饲养员机制管理该动物园。因此该动物园管理机制被称为与动物园饲养员机制具有使用关系。
如讨论的那样,动物园管理机制已经被设计为负责ZAF的全部控制。因此,动物园管理机制负责安排动物园饲养员机制的操作时序。还应注意到我们的框架设计者将动物园管理机制设计成ZAF的核心函数,这样的设计意味着核心函数不会受到潜在的更改和扩展。在分类框中的C表示这一事实。请进一步注意,已经设计了动物园管理机制和动物园饲养员机制之间的使用关系,这样框架的使用者就不能对其作最终的修改。
动物园管理者机制被设计为通常负责动物园中动物的照顾和饲养。因此,它使用动物和圈养单元机制来执行它的任务,然而,与动物园管理机制的设计不同,我们的框架设计者将动物园饲养员机制设计成是可扩展的函数,这再次意味着设计成框架的使用者可以对动物园饲养员机制进行修改和/或扩展,以满足以后的照顾和饲养请求。这个事实是由在动物园饲养员机制分类框中的E所表示。
我们的框架设计者设计了该动物机制以表示在动物园动物和动物园饲养员之间相互作用的动物的一侧。因为动物园的动物的数量在一个常规量的基础上有时会变化,因此动物机制被相类似的设计成一个可扩展的函数。圈养单元机制与动物园饲养员机制通过表示各个圈养单元,例如笼子,畜舍,蓄水池来相互作用。象动物机制一样,圈养单元机制已经被设计为一个可扩展函数,因此它可以处理进一步的更改和扩展请求。然而请注意。虽然动物园饲养员,动物园动物和圈养单元的机制都被设计为扩展函数,但在它们中两个机制之间的关系被设计为ZAF的一个核心函数。换句话说,即使希望给予ZAF的使用者与动物园饲养员,动物园动物,和圈养单元机制的灵活性,然而也不希望允许ZAF的使用者改变这些机制是如何彼此相互相关的。
我们的框架设计者接下来将设计构成图7中的机制的类和相互关系。一个类是对相同的对象的集合的一个定义。象这样,类可以被认为是对象的一个抽象,或是一种类型对象的定义。从计算机系统的角度,一个单个的对象表示数据,和由计算机系统在该数据上所执行的操作或一组操作的一个封装的集合。事实上,在一个安全的计算机系统中由一个对象所控制的对信息的访问是通过该通过该对象本身。这也是为什么包含在一个对象中的信息被称为是由该对象封装的。
每个类定义包括数据定义,它定义由该对象所控制的信息,和操作定义,它定义由该对象在每个对象控制的数据之上所执行的一个操作或多个操作。换句话说,一个类定义是通过定义在所定义的数据之上执行的一个操作或若干个操作的集合来定义一个对象是如何动作和与其它的对象相互作用(请注意操作有时被称为方法,方法程序和/或成员功能。)当一起采用时,定义的操作(或多个操作)和数据被称为该对象的行为。实质上,一个类定义定义了它的一个或多个成员对象的行为。
图8是一个OO类图,它表示了我们的框架设计者为ZAF所设计的基类。每个类的表示包括它与在图7中所示的机制的关系。例如,我们能够看到动物园饲养员类是动物园饲养员机制的表示。ZAF的基类包括:动物园管理者类,它是动物园管理机制的一部分;动物园饲养员注册类,它也动物园管理机制的一部分;动物注册类,它是动物园饲养员机制的一部分;动物园饲养员类,它也是动物园饲养员机制的一部分;圈养单元注册类,它也是动物园饲养员机制的一部分;动物类,它是动物机制的一部分;和圈养单元类,它是圈养单元机制的一部分。
请再次注意,两个类之间的关系已经被设计为ZAF的核心函数,因为它们不能被ZAF的使用者进行的最终的修改。
动物园管理者类是负责对ZAF的全局控制的对象的定义。再者,OO类全部都定义了相互作用以提供对问题的解决方法的那些对象。然而,通过探究类定义的特性,我们能够理解框架机制的对象是怎么样被设计成为提供一个现存的解决方法,该解决方法能够被更改和/或扩展以满足以后的请求。
动物园管理类被设计为与动物园饲养员注册类之间具有使用关系。我们的框架设计者将动物园管理和动物园注册类设计为ZAF的一个核心函数,因为我们的设计者已经确定不允许ZAF的使用者修改这些类定义的成员对象的行为。动物园饲养员注册,它被成为一个容器,与动物园饲养员类具有参考关系,仅仅是一个类,它定义一个对所有动物园饲养员对象都是一个容器的对象。因此,动物园饲养员注册包括一个关于list_zoo_keeper( )的定义。以后将对之进行描述,这个操作负责将动物园饲养员对象的列表提供给要求这样一个列表的其它对象。
图9表示动物园管理者类的一个低层的视图。因为典型的动物园管理者对象负责ZAF全部的控制,所以动物园管理者类被设计为包括执行面向动物园管理的任务的操作。类定义包括下面的5个操作:5_minute_timer( ),add_animal( ),add_containment_unit( ),add_zoo_keeper( ),和start_zoo_admain( )。
start_zoo_admain( )操作负责开始ZAF。即是,一个用户或系统管理者将与start_zoo_admain( )操作相互作用以开始通过ZAF对一个动物园进行管理。一旦开始,我们的框架设计者已经设计了start_zoo_admain( )操作来初始化5_minute_timer( )操作。每5分钟,5_minute_timer( )操作命令动物园饲养员出去对动物进行检查。add/delete_zoo_keeper( )负责与ZAF的用户相互作用以定义新增加的动物园饲养员(即追加的动物园饲养员类),以加上新增的动物园饲养员(即动物园饲养员对象),并且删除动物园饲养员类和/或对象。将可以清晰发现,每个动物园饲养员对象负责执行一个特定的任务。因而,自然ZAF的用户可能迫切需要增加一个动物园饲养员定义和对象以处理一个新增加的任务,或删除一个不再需要的定义或对象。可以看到,这个灵活性是通过将动物园饲养员机制设计成一个可扩展的函数来实现的。
象add/delete_zoo_keeper( )操作一样,add/delete_zoo_animal( )操作负责与用户相互作用,以定义新增加的动物园动物类和对象,并删除不再需要的类和对象。并且对于一个动物园需要增加和删除动物是非常自然的事情。add/delete_containment_unit( )操作负责定义新的圈养单元类和对象并且删除不再必要的类和/或对象。并且,我们的框架设计者通过将动物和圈养单元机制设计为一个可扩展的函数来提供灵活性的设计ZAF。
回到图8,动物园饲养员类定义与动物注册,动物,圈养单元注册和圈养单元类具有一个使用关系。因为ZAF的值通过允许ZAF的使用者更改和扩展动物园饲养员,动物,圈养单元类而得到增加,所以这些类被设计为可扩展函数。然而,改变动物和圈养单元注册类的行为会破坏ZAF的基本操作。因而,这些类被设计为ZAF的核心函数。
图10是动物园饲养员类的类图。然而,在描述图10的细节之前,有必要指出在图10中所表示的类定义以一种非常简单的称为类体系的顺序来排列的。一个类,象动物园饲养员类,它表示在类体系中最一般的/抽象的类,被称为该体系中的基类。在一个类体系中类的排序是按着从最一般到最不一般的顺序(即,从一般到特殊)。比较特殊的类(例如饲养员类)被称为该一个或多个较一般类(在这个例子中为动物园饲养员类)的继承类。象这样,类定义饲养者,兽医和温度控制者被称为动物园饲养员来类的子类。将在下面与图11相关的讨论中进一步详细讨论继承机制。
如图10中所示,动物园饲养员类定义包括一个单一操作定义,check_animal( )操作定义。读者应该注意到动物园管理者类定义被标记为是一个抽象类。抽象类不被设计为能够生成对象作为它们的成员,而是用作为它们的子类定义一个通用的界面/协议。一个类在当它至少有一个操作定义是一个完全的虚操作定义时,将它称为是一个抽象类。完全的虚操作定义是出于为该操作的子类定义一个通用界面的这一单一目的而设计的。换句话说,实际的行为(即数据和操作)的设计被留给子类本身。在动物园饲养员类定义的情况下,饲养者,兽医,和温度控制者子类定义了包含在动物园管理者类中的完全的虚check_animal( )操作定义的特定实现。一个操作当它被设置为等于0时,将其标记为一个完全的虚操作。
但是重要的是要一个完全的虚操作定义的通用界面必须被所有的子类所接受,从而请求对象(称为客户对象)能够使用子类成员对象(称为服务对象),而无需知道该服务对象的特定的子类。例如当由动物园管理者类所定义的对象需要一个执行的特定动作时,它与一个动物园饲养员对象相互作用。因为这些对象的界面是抽象定义的,所以基类动物园饲养员和为check_animal( )操作保存在子类定义中的动物园管理员对象无需知道任何关于服务对象子类的知识。利用抽象类的特性的设计(象ZAF设计)被称为是多态性的。
对于OO框架多态性特别重要,因为它允许完成某件事(称为实现)的方式被改变或扩展,而不需要依据动作实际已经被完成的事实影响该机制。换句话说,客户对象只需要理解某一对象执行某一函数,而无需理解这些函数实际是如何被实现的。
如上所述,我们的框架设计者已经设计了ZAF,这样动物园饲养员对象与动物和圈养单元对象相互作用以执行它们的任务。图11对于抽象类动物的类体系的类图。因为动物类定义负责表示动物园动物的特性和行为,框架的设计者设计了抽象的类动物,在某种意义上反映这种责任。如所示的那样,示例的动物类定义包括数据定义feed_fred,location,和temp_range以及操作定义get_temp_range( ),feed( ),needs_food(),needs_vet_visit( )和vet_visit( )。
出于这个框架观点的原因,没有必要详细探究每个定义。然而,temp_range数据定义和get_temp_range( ),feed( )操作定义是充分理解框架设计选择的很好的例子。
feed( )操作定义被设计为执行实际的饲养动物(即通过图中未显示的喂养器具)。feed( )操作是一个完全的虚操作。即,这意味着类的设计是执行所需要的功能的具体的机制被留给子类来设计。在象这里被作为子类的成员生成的对象具有特定的需要的情况下,要求子类定义是一个好的设计选择。在ZAF中,例如每个类型的动物可能需要特定的饲养器具,它不但使定义一个一般的feed( )操作变的困难,而且没有意义。
通过比较的方法,框架设计者已经明确的设计了get_temp_range( )操作,它不是一个完全的虚操作定义。这意味着get_temp_range( )已经被一般定义为一个缺省操作。象这样,它被认为是一个虚操作。缺省操作被用来向子类提供一般的函数。子类可以仅仅使用默信操作或通过重定义,进行改变或扩展缺省操作。缺省操作2的重定义被称做重置缺省操作。
哺乳动物是动物类的一个子类,因此哺乳动物继承了动物类的全部特征。请注意哺乳动物类也被设计为一个抽象类,这又意味着它并没有被设计为生成对象作为它的成员,而是被设计成为其子类提供通用界面。子类哺乳动物又被分为肉食动物和草食动物。
由于feed( )操作的定义被留给了子类,因此食肉动物和食草动物也都有各自的feed( )操作定义。可以看到,这是一种非常好的设计选择,因为吃肉的食肉动物与吃草的食草动物具有不同的需求。
Temp-range是对恰好与特定动物的天然习性相吻合的温度范围的一种数据定义,而且get-temp-range()操作定义被设计成重新获取对特定动物的temp-range并把它返回请求的客户对象。子类爬行动物包括它自身对temp-range的数据定义以及自身对get-temp-range()操作的定义。以这样的方式来设计ZAF,指出数据定义可以象操作定义那样被重新设置。由于许多爬行动物生活在沙漠地带,那里夜晚非常冷,白天非常热,因此在爬行动物类中重新设置温度范围,以包括时间和温度信息(在图11中没有明确地显示)。这又是另一种很好的设计选择,因为它使得可以以不同于其它单元的方式来对待爬行动物圈养单元,以可以基于每天的时间和圈养单元自身当前温度调节温度。
图12是在较低层角度上显示圈养单元子类的一个类图。单元类包括虚操作定义adjust-temp()。adjust-temp()定义定义了用来实际调节动物园圈养单元(即,通过图中没有显示的冷热调节机制)中温度的界面和机制。
ZAF对象如何关联
除了设计对特定问题解决方法的对象外,我们的框架设计者发还必须设计单个对象之间是如何相互关联。换句话说,对象必须利用设所设计的方式的方法相互关联。正如所讨论的,为于对象,在所定义的数据上进行对对象定义的操作被称做该对象的行为。尽管对象可以被看做自主的实体,但在其与其它对象相互联系时,每个对象表现出一种连续的行为仍然是十分重要的。连续行为非常重要是因为对象依靠其它对象的连续行为,所以它们本身也表现出连续性的行为。事实上,连续行为如此重要以致于对象的行为经常被称做对象与其它对象的协约。当对象没有表现出一个连续行为,就说违反了与其它对象的协约。
当一个对象的操作需要访问由第二个对象所控制的数据时,它就被认为是第二个对象的一个客户。为访问第二个对象所控制的数据,客户的一个操作将调用或唤起第二对象的操作以获取对该对象所控制的数据的访问。接着执行调用对象的一个操作(即,在这种情况下是一个服务操作),来访问和/或者控制所调用对象控制的数据。
图13是一个表示ZAF中示例对象在操作动物园时如何相互作用以协助动物园人员的附图。从概要的目的,没有必要详细分析全部ZAP对象中的相互作用。然而,读者应该看一下下面简单的控制流程图以对对象之间如何相互作用来解决问题有一个初步的理解。
正如所提到的,生成一个对象使之成为特定子类的一个成员。因此,zelda动物园管理员[对象706]是动物园管理员类的一员(事实上是唯一的成员)。这样,对象zelda负责对ZAF的全部控制。所有动物园饲养员对象都与动物园饲养员注册对象[对象7OO]注册。因此,对象Zelda通过调用动物园饲养员注册对象的list-zoo-keeper( )操作(步骤I)来获取当前动物园饲养员的名单。动物园饲养员注册对象已经被生成为动物园饲养员注册子类的一个成员。为了说明问题,假设这种情况做为Zelda-minuet-timer( )操作的一部分每五分钟发生一次。接着动物园饲养员注册者对象对动物园饲养员名单(步骤2)进行响应。动物园饲养员名单包括Tina温度检测员(对象714),Vince兽医(对象740),以及Fred动物饲养员(对象752)。每个动物园饲养员被生成为动物园饲养员子类的一员。特别是,对象Tina温度检测员,Vince兽医,以及Fred动物饲养员分别是温度控制人员,兽医,以及动物饲养员子类的成员。Temp()操作具有多态性。换句话说,对象Tina的check-animals()操作不要求有关每个adjust-temp()操作如何执行各自任务的知识。Check-animals()操作只要求界面和调用adjust-temp()操作。在那之后,由单个调节温度操作以正确的方式来执行它们的任务。
在这一点上,同样值得指出ZAP机制是一个最简单的框架机制,用在这里帮助刚涉及的读者理解一些基本的框架概念,以便最好地体会本发明的益处和优点。参照本叙述下面的部分,将会更加清楚这些益处和优点。
现在更加详细地参考图14A,14B以及15,图14A和14B可以通过前面叙述的说明本发明框架的文字内容加以理解,图15用来说明框架内所用的特定对象。图14B为一个高层框图。低层的细节在图14A中表示。图14A和14B的框架有如下几个元素:
网络浏览器
映射块
服务层
操作系统
根据本实施方式,映射块为因特网上使用任何浏览器的任何用户提供系统管理协议的事件监视和控制。映射块把协议服务内部的数据翻译为HTML,来在浏览器上观看,并将用户输入,如HTML,翻译成协议服务的控制。
本发明的用户从Web浏览器监视并且控制系统,浏览器可以是今天可以获得的任何类型。
映射块在互联网上以静态格式(用HTML)或动态装置(用,例如,Java)提供Web浏览器。这些形式或装置提供来自系统管理协议的信息和/或提供进入系统管理协议中生成事件的方法。
用户输入到浏览器的输入表明他希望监视什么或他希望怎样控制。用户的输入在形式或装置给出的指令内,被浏览器发送回映射块。映射块和浏览器之间的数据以一种标准语言,如HTML,在互联网上使用HTTP协议进行传输,这在今天已经十分普通了。
映射块直接与系统管理协议的服务层通信。其结果是,映射块变成了服务所用的GUI。服务器把在互联网上接收的HTML翻译为给定的服务层的命令,服务层经由操作系统执行该请求。
本发明允许一个针对DMI,SNMP,CMIP以及CMOL系统管理协议的因特网上独立平台的浏览器。
映射块可以被设计成一个HTTP服务器,用来为来自Web浏览器的HTTP请求服务,把它们转换为对特定服务层的呼叫。从服务层返回的数据被翻译成HTML,并被返回浏览器。这样就可以进行对DMI,SNMP,CMIP,CMOL,或其它任何来自实质上是独立于平台的web浏览器的系统管理协议的管理。
做为另一种实施方式,图14和14B的框架包括:
HTTP请求器
映射块
传输层
HTTP服务器
本发明的这种实施方式提供了一种经由映射块,把HTTP翻译成协议独立于传输层所使用的命令的框架。HTTP请求器和映射块之间的通信可以是两种类型中的一种。映射块可以是一个入口HTTP服务器,它从TCP/IP接收HTTP请求并经由传输层用一个NetBIOS,IPX或串行协议为它设定路由。这种设置使得用一般的web浏览器达到一个没有直接连接到TCP/IP的HTTP服务器。对那些没有任何TCP/IP连接的计算机安装而言,HTTP请求,或web浏览器必须与映射块直接集成。HTTP服务器总是与它的映射块相集成。
本发明可以通过重写浏览器的后部,使其包括映射块,或者通过开发映射块使其做为浏览器发送的HTTP请求的一个入口。
作为一种进一步的实施方式,图14A和图14B的框架包括下面的单元:
Web浏览器
映射块
传输层,和
系统管理底层。
依据这种实施方式,映射块能够向在因特网上使用任何浏览器的用户提供系统管理和控制。映射块将系统管理软件内部的数据翻译为HTML,以便在浏览器上查看,并将用户的输入,如HTML,翻译为对于系统管理软件的控制。该框架在此处将被称为一个管理框架。除了web浏览器之外,可以在服务器计算机设备上执行该框架中的单元,本发明的一个用户在任何普通的web浏览器的管理之下,监视和控制系统。
通过经由传输层访问系统管理底层,映射块提供在因特网之上具有静态格式(以HTML)或动态应用(例如以Java)的web浏览器。这些格式和应用提供在管理之下来自系统的监视信息,和/或提供在管理之下系统控制的入口的方式。用户向浏览器的输入表明他希望监视什么或他希望如何控制。用户的输入由该浏览器在由格式或应用程序中所给出的命令中送回至该映射块。
在映射块和web浏览器之间的数据交换,在今天,是以一种标准的语言例如HTML,使用HTTP协议在因特网之上发送的。
映射块与系统经由一个传输层和一个系统管理底层在管理之下进行通信。实际上,映射块在GUI-基本词形变化表中变成了GUI。映射块将在因特网之上接收到的HTML翻译为对于给定的传输层独立于协议的命令。
传输层通过NETBIOS,TCP/IP,IPX,或连续链路在系统之间传输这些命令。
系统管理底层从传输层接收命令。然后它执行用户的命令或从该计算机系统本身请求所希望的监视。
本发明可以通过web控制,在系统管理底层可以得到的服务包括:
系统信息工具:在系统的硬件和软件配置之上提供综合信息。
系统监视服务:允许对系统中可测量量的监视。它们  可以被查看,收集,并输出到一个数据库,此外,还可以在它们之上设定阈值以触发警告。
系统隔离访问服务:允许查看并控制一个系统的系统隔离部分。
警告管理服务:允许警告日志的查看,设定出现警告时所采取的措施,定义封装警告类的配置文件,并且通过配置文件从警告收集器请求警告。
安全管理服务:允许定义用户以及口令以限制在服务层上的访问。也允许在安全访问上警告的设定。
ECC存储器服务:允许监视ECC存储器的错误和故障并对之发出警告。
可预测的故障分析服务:允许监视磁盘错误并对之发出警告。
系统简档服务:允许定义并记入系统中重要的计数和目录信息。
重要文件监视:允许监视和警告文件,以检测在这些文件中的变化。
NetFinity串行控制:由内部协议允许定义并建立串行链路以进行通信。
RAID管理:允许控制RAID驱动的控制并且监视警告RAID的驱动错误和故障。
远程对话服务;允许在远程系统上的终端外壳能力。
文件传送服务;允许在本地系统和远程系统之间进行文件或目录的传送。
屏幕查看服务:除实时捕获和查看系统的输入和输出,还允许在本地或远程系统上可视屏幕的捕获和查看。
远程系统管理服务:允许定义并维护系统组。并就系统的状态和存在发出警告。
服务器保护支持服务:允许对服务器系统之上的硬件的状态进行监视和警告(电源,温度等)。
事件调度服务:允许定义并激活调度的服务或命令。
加电错误检测:允许警告并捕获发生在一个系统的加电和引导之间的错误。
数据库支持:允许为服务数据的数据库输出设定并排列参数。
软件目录:允许定义并监视安装在系统之上的软件。
DMI浏览器:允许DMI事件的查看和生成。
报告:允许设计,生成和查看从不同的监视服务所产生的报告。这个报告作为历史数据的一个静态基层服务,历史数据可以补充由不同的服务所传送的实时数据。此外,这些报告也有可能负责远离系统管理的人们所使用。具有独立于平台的web界面对于那个用途来说特别有价值。
一个HTTP服务器被写作是一个映射层,它在连接到因特网的一个端口上接受HTML。对于已经存在于已知的系统管理程序中的每一个服务来说,这个服务器大部分是图形用户界面的重写,例如IBM所提供的已知的Netfinity(Netfinity是国际商业机器公司的一个商标)。关键的不同是,服务器不是与一个窗口系统交互,而是与HTML交互。
此外,许多强有力的系统管理都具有web/浏览器词法分析的能力,更大的困难是专用的GUI。
在映射块中所发现的对象将在图15中更详细的予以描述,图15表示了映射块的内部。从图14可以看到,映射块位于web浏览器与通过因特网观察和控制的应用之间。映射块由两部分组成:HTTP对象和HTML对象。
HTTP对象应负责以下的功能:
+打开并保持因特网的通信,
+接受因特网上HTTP请求,
+对统一资源定位器(URL)和其它任何形成该请求的数据进行语法分析,
+向HTML对象发送URL,输入数据和浏览器标识,
+从HTML对象接受HTML资源,并将它返回到发出请求的浏览器。
如图15中所表示,通过浏览器类型可以进一步再分类HTTP对象。按这样,HTTP对象可以作为一个HTML过滤器来使用,将HTML对象所返回的HTML资源变为特定浏览器能够更好的使用资源。在图15中给出了三个例子“浏览器”。当服务于一个全功能的浏览器,例如已知的商业上可用的产品NetScape的时候,可以根本无需改变HTML,HTTP对象,它从HTML对象转化为浏览器,然而,当服务于一个具有较低能力的浏览器,例如在其上仅仅能够正确处理HTML1.0之时,要求较高级服务的资源成分将被过滤为能在这样的一个环境中有意义的显示出来的资源。此外,HTTP浏览器能够被再分类以处理一个命令行“浏览器”。在这种情况中,HTML必须被完全改变,去除所有的标记并插入适当的空格,以在一个终端屏幕上将其有意义的显示出来。
HTML对象应负责以下的功能:
+接受URL和其它的请求数据,
+理解这些请求并在应用的界面表示中将其格式化,
+接受来自应用的应答,
+将这些应答转化为HTML,并且将该HTML发送到HTTP对象。
如图15所示HTML对象也可以由浏览器类型进一步再分类。对于HTTP对象,这种再分类的目的是生成能够被浏览器的具体类型最好理解的HTML,HTTP对象仅仅采用HTML作为输入,并能够仅仅作为一个HTML/HTML或HTML/ASCII过滤器发挥作用,对于由输入HTML所代表的实际数据则没有意义。相反,在HTML对象级,应用的界面设计者仍然知道数据实际代表什么。他可以在这个阶段,将对浏览器的选择作出应答,并且依据浏览器的识别,将数据格式化为HTML或ASCII。一个简单的例子是一张图的浏览器的请求。如果浏览器是一个NetScape浏览器,HTML可以产生作为一个GIF发送的一张图;另一方面,如果该“浏览器”是一个命令行,那么该浏览器将产生该图的一个ASCII近似值。
依据本发明的一种实施方式,涉及了两个对象。
第一个对象是一个HTTP对象。这个对象封装了HTTP连接。
它的组成是:
TCP/IP套接字
请求的URL
它的方法是:
获取路径;
获取服务;
获取用户;
获取口令;
获取权利;
获取特定的理由。
第二个对象是一个HTML对象。该对象包括HTML/应用界面。
它的组成是:
HTML数据
它的方法是:
增加文本
增加标记
增加特定浏览器标记
本发明的这种实施方式是通过HTTP对象和HTML对象作为类库的一个集合来实现的。HTML对象将被再分类以提供对于特定浏览器特定的标记特性。本发明用于将由web服务器产生的HTML加工为特定的浏览器,例如MVS或VT1OO浏览器。

Claims (9)

1.一个信息处理系统,用于使一个客户机计算机设备能够访问位于一台服务器计算机设备上的信息,所述的客户机计算机设备包括使用超文本传输协议(HTTP)与所述的服务器计算机设备相通信的装置,并且包括使用超文本标记语言(HTML)将从所述的服务器计算机设备接收到的语言呈现给客户机计算机设备的用户的装置,所述的信息处理系统包括:
所述的客户机和服务器计算机设备之间的一个网络,所述的网络除HTTP之外还使用一个网络传输协议,并且除HTML之外还使用一种网络数据格式;及
一个传输协议转换装置,用于将所述的客户机计算机设备和所述的服务器计算机设备发送或接收到的HTML/HTTP信息,通过所述的网络转换为所述的网络传输协议和所述的网络数据格式。
2.权利要求1中的系统,其中所述的传输协议转换装置运行面向对象的计算机软件。
3.权利要求1中的系统,其中所述的客户机计算机设备与因特网相连接,并且所述的网络位于因特网和服务器计算机设备之间。
4.权利要求1的系统:
其中所述的客户机计算机设备的用于呈现信息的装置使用一个特定类型的图形用户界面。
其中所述客户机计算机设备与因特网相连接,并且所述的网络位于因特网与服务器计算机设备之间,并且
其中所述的传输协议转换装置运行面向对象的计算机软件,它包括:
一个HTML对象,它接收来自所述的客户机计算机设备的HTML请求数据,并将所接收的HTML请求数据转换为该网络的数据格式;及
一个HTTP对象,它打开并且保持所述的客户机和服务器计算机设备之间的因特网通信,对从客户机计算装置接收到的HTML请求数据进行语法分析,检测所述的客户机计算机设备使用的特定的图形界面的识别,将请求数据和所检测的图形用户界面的识别发送给HTML对象,通过所述的网络和因特网在所述的HTML对象和所述的客户机计算机设备之间传送HTML数据。
5.权利要求3的系统,其中所述的服务器计算机设备包括用于运行一个系统管理软件程序的系统管理装置,所述的网络协议是一个系统管理协议,并且来自所述的客户机计算机设备的HTML/HTTP数据包括命令以控制所述的系统管理程序。
6.权利要求5的系统,其中所述的系统管理软件处理与所述的客户机和服务器计算机设备的硬件和软件配置相关的数据。
7.一个用于信息处理系统的方法,该信息处理系统包括:
一个映射块,当它在所述的信息处理装置上运行时,它在(a)HTML和HTTP与(b)除HTML和HTTP之外的命令和协议之间映射数据,所述的映射块具有一个HTML对象和一个HTTP对象,该方法包含下述步骤:
所述的HTML对象接收URL和其它的请求数据;将接收到的数据组织为除HTML和HTTP之外的内部命令和协议;接收在除HTML和HTTP之外内部命令和协议中的应答;将接收的应答转换为HTML;并且将这样的HTML发送到所述的HTTP对象;
所述的HTTP对象打开并保持因特网通信;接收在因特网之上的HTTP请求;对统一资源定位器(URL)和形成一个接收请求的相关数据进行语法分析;将URL和相关的数据和浏览器程序识别发送到所述的HTML对象;接收来自所述的HTML对象的HTML资源;并且将HTML资源作为HTTP响应回送到因特网。
8.权利要求7的方法,其中所述的HTML对象有它的成员:
TCP/IP套接字;和
请求的URL;
并且进一步有它的方法:
获取路径;
获取服务;
获取用户;
获取口令;
获取权利;
获取特定的理由。
9.权利要求7的方法,其中所述的HTTP对象有它的成员:
HTML数据;
并且进一步有它的方法:
增加文本;
增加它的标记;并且
增加特定浏览器的标记。
CNB961983248A 1995-11-14 1996-09-20 允许一般的web浏览器访问多个不同协议类型的服务器的信息处理系统和方法 Expired - Fee Related CN1226852C (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US55863195A 1995-11-14 1995-11-14
US55862795A 1995-11-14 1995-11-14
US55862895A 1995-11-14 1995-11-14
US55862695A 1995-11-14 1995-11-14
US08/558,627 1995-11-14
US08/558,628 1995-11-14
US08/558,626 1995-11-14
US08/558,631 1995-11-14

Publications (2)

Publication Number Publication Date
CN1202291A CN1202291A (zh) 1998-12-16
CN1226852C true CN1226852C (zh) 2005-11-09

Family

ID=27504798

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB961983248A Expired - Fee Related CN1226852C (zh) 1995-11-14 1996-09-20 允许一般的web浏览器访问多个不同协议类型的服务器的信息处理系统和方法

Country Status (11)

Country Link
EP (1) EP0861551B1 (zh)
JP (1) JP3381926B2 (zh)
KR (1) KR100307016B1 (zh)
CN (1) CN1226852C (zh)
CA (1) CA2235501A1 (zh)
CZ (1) CZ148298A3 (zh)
DE (1) DE69623035T2 (zh)
ES (1) ES2180793T3 (zh)
HU (1) HUP9900026A3 (zh)
PL (1) PL326670A1 (zh)
WO (1) WO1997018635A2 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564321B2 (en) 1995-04-28 2003-05-13 Bobo Ii Charles R Systems and methods for storing, delivering, and managing messages
US6377886B1 (en) 1997-07-31 2002-04-23 Honda Giken Kogyo Kabushiki Kaisha Navigation apparatus and medium recording program therefor
US20060193278A1 (en) 1997-10-15 2006-08-31 Wolfgang Theimer Mobile telephone for Internet applications
US6092121A (en) * 1997-12-18 2000-07-18 International Business Machines Corporation Method and apparatus for electronically integrating data captured in heterogeneous information systems
DE19814859B4 (de) * 1998-04-02 2006-04-13 Fujitsu Siemens Computers Gmbh Verfahren zum Steuern des Informationsaustausches unter Verwendung des Internet
US6338096B1 (en) * 1998-06-10 2002-01-08 International Business Machines Corporation System uses kernals of micro web server for supporting HTML web browser in providing HTML data format and HTTP protocol from variety of data sources
JP4146999B2 (ja) 1998-07-13 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション トランスコーダを介してセンダからレシーバへ情報データを送信する方法、情報データをトランスコードする方法、トランスコードされた情報データを受信する方法、センダ、トランスコーダおよびレシーバ
DE19936314A1 (de) * 1998-08-05 2000-02-17 Spyglass Inc Verfahren und System zur Inhaltskonvertierung von elektronischen Daten unter Verwendung von Konvertierungspräferenzen
US6925595B1 (en) 1998-08-05 2005-08-02 Spyglass, Inc. Method and system for content conversion of hypertext data using data mining
US7356482B2 (en) 1998-12-18 2008-04-08 Alternative Systems, Inc. Integrated change management unit
US6928469B1 (en) * 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
US6643690B2 (en) 1998-12-29 2003-11-04 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network
US6687745B1 (en) 1999-09-14 2004-02-03 Droplet, Inc System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection
US7051118B2 (en) * 1999-12-22 2006-05-23 Tibo Software, Inc. Method and apparatus for anonymous subject-based addressing
US7020773B1 (en) 2000-07-17 2006-03-28 Citrix Systems, Inc. Strong mutual authentication of devices
KR20020010429A (ko) * 2000-07-28 2002-02-04 정석현 무선 사이트의 컨텐츠 리퍼메팅 시스템 및 그 방법
US6986040B1 (en) 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
KR100448865B1 (ko) * 2000-12-19 2004-09-18 엘지전자 주식회사 인터넷상에서 서로 다른 시스템 모듈을 가지는 시스템관리 방법
GB2371433B (en) * 2001-01-12 2005-10-19 Waptv Ltd Television receiver and method of operating a server
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7100200B2 (en) 2001-06-13 2006-08-29 Citrix Systems, Inc. Method and apparatus for transmitting authentication credentials of a user across communication sessions
US8671213B2 (en) 2002-03-14 2014-03-11 Citrix Systems, Inc. Methods and apparatus for generating graphical and media displays at a client
US7111038B2 (en) 2002-04-03 2006-09-19 International Business Machines Corporation Enhancing application server performance by relocating performance-degrading processing
JP2004021547A (ja) 2002-06-14 2004-01-22 Buffalo Inc 無線lan装置
CN1750466B (zh) * 2004-09-16 2011-06-15 温普敦资讯股份有限公司 全球资源定位器的信息流动态重导路径的方法
CN106856434B (zh) 2015-12-08 2020-06-30 阿里巴巴集团控股有限公司 访问请求转换的方法和装置
CN113157309B (zh) * 2021-01-26 2024-02-13 上海商米科技集团股份有限公司 一种利用nvram保存激活文件的软件设计方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224098A (en) * 1991-07-17 1993-06-29 International Business Machines Corporation Compensation for mismatched transport protocols in a data communications network
US5497491A (en) * 1993-01-26 1996-03-05 International Business Machines Corporation System and method for importing and exporting data between an object oriented computing environment and an external computing environment
JPH09101924A (ja) * 1995-10-06 1997-04-15 Nippon Telegr & Teleph Corp <Ntt> 通信サービス仲介方法及び装置並びに通信サービス仲介装置を利用した電子掲示板システム

Also Published As

Publication number Publication date
PL326670A1 (en) 1998-10-12
JP3381926B2 (ja) 2003-03-04
CZ148298A3 (cs) 1999-08-11
EP0861551A2 (en) 1998-09-02
EP0861551B1 (en) 2002-08-14
ES2180793T3 (es) 2003-02-16
CA2235501A1 (en) 1997-05-22
KR100307016B1 (ko) 2001-11-02
CN1202291A (zh) 1998-12-16
HUP9900026A3 (en) 1999-11-29
KR19990064264A (ko) 1999-07-26
WO1997018635A3 (en) 1997-08-07
DE69623035T2 (de) 2003-03-06
WO1997018635A2 (en) 1997-05-22
DE69623035D1 (de) 2002-09-19
HUP9900026A2 (hu) 1999-04-28
JPH11500248A (ja) 1999-01-06

Similar Documents

Publication Publication Date Title
CN1226852C (zh) 允许一般的web浏览器访问多个不同协议类型的服务器的信息处理系统和方法
CN100478952C (zh) 在计算机间共享计算机数据的方法和设备
TW494319B (en) A method and system for generating display screen templates
CN103227726B (zh) 信息处理设备及其方法
US7853241B1 (en) Remote access management systems
CN1150476C (zh) 信息处理方法、信息终端支持服务器
CN100573503C (zh) 自动生成内容的方法和系统
US8588765B1 (en) Remote access management systems
US8935280B2 (en) Medical image importer and method
CN101281526B (zh) 信息处理装置、信息处理系统和信息处理方法
CN1319206A (zh) 记录图像文件的计算机可读记录媒体、生成记录媒体的装置、记录图像文件生成程序的媒体,发送图像文件的装置处理图像文件的装置及记录图象文件处理程序的媒体
CN1940951A (zh) 安全漏洞信息聚合
CN1509442A (zh) 因特网和/或网站内容的自动管理
CN1150488A (zh) 可训练的用户接口翻译器
CN1832407A (zh) 遥测数据的类属收集和传递
CN1655148A (zh) 管理图形数据库
JP6024126B2 (ja) 障害対応支援装置、障害対応支援システム、障害対応支援方法、及び障害対応支援プログラム
CN1707468A (zh) 处理数据的方法和设备、程序及存有可机读程序的存储介质
JP2002215477A (ja) デバイス状態監視システム、デバイス状態監視処理方法及び情報記録媒体
JP2009187485A (ja) 文書管理方法、文書管理装置、情報処理装置および文書管理システム
US20090063612A1 (en) Image forming apparatus and image forming system
US20070006221A1 (en) Software install environment constructing apparatus
JP4747945B2 (ja) 電子決裁処理方法及びプログラム
CN101211366A (zh) 用于从多个异类数据源提供信息的方法和系统
JP2004185556A (ja) プロジェクト管理システムおよびその方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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