测试待处理外部中断指令的制作方法

文档序号:18667511发布日期:2019-09-13 20:23阅读:248来源:国知局
测试待处理外部中断指令的制作方法

一个或多个方面一般涉及计算环境内的处理,并且更特别地,涉及改良该处理。



背景技术:

计算环境通常提供用于提供中断以更改计算环境内的处理顺序的机制。中断(interrupt)(也被称作中断(interruption))是到例如操作系统或处理器以临时停止执行特定程序从而执行另一任务的信号。作为示例,一种类型的中断(外部中断)使当前运行的程序将被暂时中止,以便执行更高优先级操作系统副例程以处置中断。中央处理单元中的中断机制迫使当前程序当中的分支到达选定副例程以用于其它处理。在中断完成之后,可重新继续被暂时中止的程序。

对于操作系统,能够分辩是否存在针对特定资源的待处理的中断同时保持禁用该类的中断是有利的。能够确定是否存在待处理的外部中断是有用的。

对于其它类型的中断,也可发生此类型的处理。

因此,现有技术中需要解决如上提到的问题。



技术实现要素:

根据第一方面,本发明提供用于促进计算环境内的处理的计算机实现的方法,该计算机实现的方法包括:获得用于测试一个或多个待处理外部中断的指令;以及执行该指令,执行包括:基于由该指令提供的信息而确定将要被测试的一个或多个外部中断子类;检查一个或多个外部中断针对被测试的一个或多个外部中断子类是否是待处理的;以及指示一个或多个外部中断针对被测试的一个或多个外部中断子类是否是待处理的。

根据另一方面,本发明提供用于促进计算环境内的处理的计算机系统,该系统包括:存储器;以及处理器,其与存储器通信,其中计算机系统被配置为执行方法,该方法包括:获得用于测试一个或多个待处理外部中断的指令;以及执行该指令,该执行包括:基于由该指令提供的信息,确定将要被测试的一个或多个外部中断子类;检查一个或多个外部中断针对被测试的一个或多个外部中断子类是否是待处理的;以及指示一个或多个外部中断针对被测试的一个或多个外部中断子类是否是待处理的。

根据另一方面,本发明提供用于促进计算环境内的处理的计算机程序产品,该计算机程序产品包括计算机可读存储介质,其可由处理电路读取并存储指令,该指令由处理电路执行以执行用于执行本发明的步骤的方法。

根据另一方面,本发明提供用于促进计算环境内的处理的计算机程序,其被存储在计算机可读介质上并且可加载到数字计算机的内部存储器中,其包括当该程序在计算机上运行时用于执行本发明的步骤的软件代码部分。

根据另一方面,本发明提供计算机程序,其被存储在计算机可读介质上并且被加载到本发明的系统的内部存储器中,其包括当该程序在系统上运行时用于执行本发明的步骤的软件代码部分。

通过提供用于促进计算环境内的处理的计算机程序产品来克服现有技术的缺点且提供额外优点。计算机程序产品包括可由处理电路读取且存储用于执行方法的指令的存储介质。例如,方法包括获得用于测试一个或多个待处理外部中断的指令;以及执行该指令,执行包括:基于由该指令提供的信息而确定将要被测试的一个或多个外部中断子类;检查一个或多个外部中断针对被测试的一个或多个外部中断子类是否是待处理的;以及指示一个或多个外部中断针对被测试的一个或多个外部中断子类是否是待处理的。

本文中还描述和要求与一个或多个方面有关的方法及系统。此外,本文中还描述且可要求与一个或多个方面有关的服务。

经由本文中所描述的技术实现额外特征和优点。其它实施例和方面在本文中经详细描述且被认为是所要求的方面的部分。

附图说明

仅通过示例的方式,本发明将参考如以下附图中示出的优选的实施例来描述,在附图中:

图1a描绘了根据现有技术的计算环境的一个示例,并且其中可实施本发明的优选实施例;

图1b描绘了根据本发明的方面的图1a的处理器的其它细节;

图2a描绘了根据本发明的优选实施例的计算环境的另一示例;

图2b描绘了图2a的存储器的其它细节;

图3描绘了根据本发明的优选实施例的测试待处理外部中断指令的一个示例;以及

图4描绘了根据本发明的优选实施例的与图3的测试待处理外部中断指令相关联的处理的一个示例。

具体实施方式

根据本发明的一个或多个方面,通过提供测试待处理外部中断的能力来促进计算环境内的处理。如本文中所使用,术语“外部中断”是源自具有一个或多个处理器(例如,紧密耦接)的计算机系统内但在程序外部的中断。该中断与源自i/o装置或信道子系统的输入/输出(i/o)中断不同。

通过确定是否存在待处理外部中断,诸如操作系统的控制程序可采取动作,动作可包括执行任务或甚至避免或阻止任务发生以促进环境内的处理。例如,该控制程序可潜在地通过避免某些动作来加速解决资源冲突或死锁情境。作为示例,该控制程序可避免执行对时间片段到期的任务的长时间服务,或者避免获得在其已接收到指示操作系统的逻辑处理器将要由超管理器程序解除分派的警告跟踪中断时的锁定。存在其它此类示例。

测试待处理外部中断的能力包括测试待处理外部中断指令,其基于例如一个或多个程序指定子类来测试待处理外部中断,而不管机器是否针对这些中断的类被启用,如下文进一步所描述。

参见图1a描述结合并使用本发明的一个或多个方面的计算环境的一个实施例。在一个示例中,计算环境基于的z/架构z/架构的一个实施例在ibm公开案第sa22-7832-10号(2015年3月)“z/架构工作原理(z/architectureprinciplesofoperation)”中进行描述。

在另一示例中,计算环境基于的power架构power架构的一个实施例在国际商业机器公司(internationalbusinessmachinescorporation)2015年4月9日的“isa版本2.07b”中进行描述。ibm、power、powerarchitecture、powerpc、systemz、z/vm和z/architecture是国际商业机器公司在全球多个司法管辖区注册的商标。

计算环境还可基于其它架构,包括但不限于英特尔x86架构。也存在其它示例。

如在图1a中所示,计算环境100包括例如计算机系统102,计算机系统102以通用计算设备的形式示出。计算机系统102可包括但不限于经由一个或多个总线和/或其它连接110彼此耦接的一个或多个处理器或处理单元104(例如,中央处理单元(cpu))、存储器106(作为示例,被称作为主存储或存储)、以及一个或多个输入/输出(i/o)接口108。

总线110表示任意多种类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及处理器或本地总线(使用各种总线架构中的任一者)。通过示例且非限制性地,此类架构包括工业标准架构(isa)、微通道架构(mca)、增强isa(eisa)、视频电子标准协会(vesa)本地总线、以及外围组件互连(pci)。

存储器106可包括例如高速缓存120,诸如共享高速缓存,该高速缓存可被耦接到处理器104的本地高速缓存122。此外,存储器106可包括一个或多个程序或应用130、操作系统132、以及一个或多个计算机可读程序指令134。计算机可读程序指令134可被配置为执行本发明的方面的实施例的功能。

计算机系统102还可经由例如i/o接口108与一个或多个外部i/o设备140、一个或多个网络接口142、和/或一个或多个数据存储设备144进行通信。示例性外部设备包括用户终端、磁带驱动、指向设备、显示器等。网络接口142使得计算机系统102能够与一个或多个网络(诸如,局域网(lan)、广域网(wan)和/或公用网络(例如,因特网))进行通信,提供与其它计算设备或系统的通信。

数据存储设备144可存储一个或多个程序146、一个或多个计算机可读程序指令148和/或数据等。计算机可读程序指令可被配置为执行本发明的方面的实施例的功能。

计算机系统102可包括和/或耦接到可移动/不可移动、易失性/非易失性计算机系统存储介质。例如,计算机系统102可包括和/或耦接到不可移动、非易失性磁性介质(通常称为“硬盘驱动”)、用于从可移动非易失性磁盘(例如,“软盘”)读取及写入至可移动非易失性磁盘的磁盘驱动器,和/或用于从可移动非易失性光盘(诸如,cd-rom、dvd-rom或其它光学介质)读取或写入至可移动非易失性光盘的光盘驱动。应理解,其它硬件和/或软件组件可与计算机系统102结合使用。示例包括但不限于:微代码、设备驱动、冗余处理单元、外部磁盘驱动阵列、(独立磁盘冗余阵列)raid系统、磁带驱动、以及数据档案存储系统等。

计算机系统102可与众多其它通用或专用计算系统环境或配置一起操作。可适合于供计算机系统102使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机(pc)系统、服务器计算机系统、瘦客户机、厚客户机、手持型或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、主计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。

参见图1b描述关于处理器104的一个示例的进一步细节。处理器104包括用于执行指令的多个功能组件。此类功能组件包括例如用于提取要执行的指令的指令提取组件150、用于对所提取的指令进行解码并获得被解码的指令的操作数的指令解码单元152、用于执行被解码的指令的指令执行组件154、用于访问存储器以便视需要而进行指令执行的存储器存取组件156、以及用于提供所执行的指令的结果的写回组件160。根据本发明的方面,此类组件中的一个或多个可用于执行下文进一步描述的测试待处理外部中断指令166。

在一个实施例中,处理器104还包括供由功能组件中的一个或多个使用的一个或多个寄存器170。

参见图2a描述了结合并使用一个或多个方面的计算环境的另一实施例。在该示例中,计算环境200包括例如本机中央处理单元(cpu)202、存储器204、以及经由例如一个或多个总线208和/或其它连接彼此耦接的一个或多个输入/输出设备和/或接口206。作为示例,计算环境200可包括由国际商业机器公司提供的ibm处理器或ibmpseries服务器;和/或基于由国际商业机器公司或其它公司提供的架构的其它机器。

本机中央处理单元202包括一个或多个本机寄存器210,诸如在环境内处理期间所使用的一个或多个通用寄存器和/或一个或多个专用寄存器。此类寄存器包括表示任何特定时间点的环境的状态的信息。

此外,本机中央处理单元202执行存储在存储器204中的指令和代码。在一个特定示例中,中央处理单元执行存储在存储器204中的仿真器代码212。该代码使得在一个架构中配置的计算环境能够仿真另一架构。举例而言,仿真器器码212允许基于除z/架构之外的架构的机器(诸如,powerpc处理器、pseries服务器、或其它服务器或处理器)仿真z/架构并执行基于z/结构研发的软件和指令。

参见图2b描述与仿真器代码212有关的进一步细节。存储在存储器204中的访客指令250包括被研发为在除本机cpu202的架构外的架构中执行的软件指令(例如,与机器指令相关)。例如,访客指令250可能已被设计为在z/结构处理器上执行,但是替代地,在本机cpu202(其可以是例如处理器)上进行仿真。在一个示例中,仿真器代码212包括指令提取例程252以从存储器204获得一个或多个访客指令250,并且可选地为所获得的指令提供本地缓冲。仿真器代码212还包括指令转译例程254以确定已获得的访客指令的类型并将访客指令转译成一个或多个对应的本机指令256。该转译包括例如识别要由访客指令执行的功能并选择本机指令执行该功能。intel是英特尔公司或其子公司在美国或其它国家的商标或注册商标。

此外,仿真器代码212包括仿真控制例程260以使本机指令被执行。仿真控制例程260可使本机cpu202执行仿真一个或多个先前获得的访客指令的本机指令的例程,并且在该执行结束时,将控制返回到指令提取例程以仿真下一访客指令或访客指令组的获取。本机指令256的执行可包括将数据从存储器204加载到寄存器中,将数据从寄存器存储回存储器,或者执行如由转译例程确定的某些类型的算术或逻辑运算。

例如,每个例程以软件实现,该软件存储在存储器中并由本机中央处理单元202执行。在其它示例中,一个或多个例程或操作以固件、硬件、软件或它们的一些组合来实现。仿真处理器的寄存器可使用本机cpu的寄存器210或通过使用存储器204中的位置来仿真。在实施例中,访客指令250、本机指令256和仿真器代码212可存在于同一存储器中或者可分配在不同的存储器设备中。

如本文中所使用的,固件包括例如处理器的微代码或毫代码(millicode)。例如,固件包括用于实现较高级机器代码的硬件级指令和/或数据结构。在一个实施例中,固件包括例如专有代码,该专有代码通常被传送作为包括针对基础硬件的受信任软件或微代码并且控制操作系统对系统硬件的访问的微代码。

所获得、转译以及执行的访客指令250例如是本文中描述的测试待处理外部中断指令。具有一种架构(例如,z/架构)的指令从存储器中被提取、转译并表示为具有另一架构(例如,powerpc、pseries、英特尔等)的一系列本机指令256。此类本机指令然后被执行。

在一个实施例中,测试待处理外部中断指令例如基于由指令提供的一个或多个程序指定子类来测试选定待处理外部中断,而不管机器是否针对中断的该类别或该些类别被启用并且无需清除待处理外部中断条件。可能存在多个测试待处理外部中断的原因。作为示例,可能出于包括例如管理诸如中断队列的队列、分派任务等的多种原因而针对中断停用控制程序(例如,操作系统)的操作。另外,在各种情况下,控制程序可能需要在尝试动作之前确定该动作的功效。此类示例动作包括:当管理环境的虚拟机的超管理器将要解除分派逻辑cpu(可能锁定逾时)时在虚拟环境中分派保持关键系统锁定的处理,当存在可干扰处理的待处理的高优先级中断(例如,故障警告、紧急信号)时分派处理,等等。因此,根据本发明的方面,提供测试待处理外部中断的测试机制。此机制包括例如测试待处理外部中断指令。在一个实施例中,测试待处理外部中断指令是硬件/软件接口处的单架构机器指令。

参见图3描述测试待处理外部中断指令的一个示例。在一个示例中,测试待处理外部中断(tpei)指令300包括:操作码(opcode)字段302,其具有指定测试待处理外部中断操作的操作码;第一寄存器字段(r1)304;以及第二寄存器字段(r2)306。在一个实施例中,指令的字段彼此分离并且独立。然而,在另一实施例中,可组合多于一个字段。此外,与指令的字段相关联的下标数表示字段应用到的操作数。例如,具有下标1的任何字段与第一操作数相关联,具有下标2的任何字段与第二操作数相关联,等等。

在一个示例中,在r2306中指定的寄存器包括掩码310,掩码310表示可被选择用于测试待处理外部中断的一个或多个外部中断子类。在一个实施例中,这些外部中断源自具有一个或多个处理器(例如,紧密耦接)的计算机系统内,但在程序外部并且不是来自i/o设备或信道子系统。下文示出可被选择用于测试的示例子类及掩码内的相关联的示例位(比特)位置。在一个实施例中,通用寄存器r2中的其它位被保留并且将含有0;否则,程序未来可能无法兼容地操作。

位外部中断子类

30警告跟踪中断(例如,用于警告程序(例如,操作系统)或处理器其具有宽限期,在该宽限期中执行功能(例如,清除等))

48故障警告(例如,用于警告程序或处理器在配置中的另一cpu经历故障(例如,进入检查停止模式或失去电力))

49紧急信号(例如,用于计算机系统内的高优先级cpu间信令)

50外部调用(例如,用于计算机系统内的cpu间信令)

可提供许多其它子类。在另一实施例中,以下子类中的一者或多者可被选择用于测试:

位子类

52时钟比较器(例如,用于指示当前时刻时钟已超过预设比较数)

53cpu定时器(例如,用于指示cpu时间的预设量已到期)

54服务信号(例如,用于与逻辑服务处理器通信)

57中断密钥(例如,用于指示手动操作者干预)

58测量警告(例如,用于指示cpu测量设施中的各种改变)

59计时警告(例如,用于指示来自外部时间基准的各种信号)

也存在其它可能性。

在一个实施例中,对于此指令,中断被考虑为针对子类是待处理的,而不管该子类在选定控制寄存器(诸如控制0)中是否被启用并且不管另一控制寄存器(诸如程序状态字组(psw))中的选定位的设定,如本文中进一步所描述。在一个示例中,控制寄存器0用于在cpu中提供控制信息。其包括对上文所列的子类中的每一者的指示。在一个示例中,对于相应的子类,上文所列的位计数与控制寄存器中的位计数相同。当控制寄存器0中的位被设定为例如1时,对应子类被启用。另外,在一个示例中,程序状态字组是执行状态寄存器和程序计数器的功能的控制寄存器。其包含用于适当程序执行的信息,包括但不限于条件代码、指令地址及其它信息。psw的选定位(例如,位7)指定外部掩码并且通过包括在外部类中的条件(诸如上文作为示例所列的的条件)控制cpu针对中断是否被启用。

如上文所指示,除r2字段外,测试待处理外部中断指令还包括指定通用寄存器的r1字段304,该通用寄存器具有待处理中断子类的掩码320,即,指示外部中断针对选定子类是否待处理的掩码。

在测试待处理外部中断指令的一个示例操作中,若外部中断针对所指定的子类是待处理的,则通用寄存器r1中的对应位被设定为例如1;否则,通用寄存器r1中的对应位被设定为例如0。在一个示例中,通用寄存器r1中的其它位位置被设定为0。

当通用寄存器r1中的所得位位置包含例如1时,指令以设定例如条件代码1而完成;否则,指令以设定例如条件代码0而完成。特别地,基于执行,可存在以下所得条件代码中的一者:0-被测试的外部中断的子类中没有待处理的或者没有子类被测试;或者1-被测试的外部中断的子类中的一个或多个是待处理的。

此外,以下程序异常可能出现:操作(测试待处理外部中断设施未被安装);特许操作;和/或事务约束(执行的事务被约束)。

在一个实施例中,测试待处理外部中断指令不考虑子类启用。另外,在关于z/架构的一个实施例中,通用寄存器r1和r2中的被限定的位位置与例如控制寄存器0中的对应外部中断子类启用控制的位位置匹配。

在另一方面中,测试待处理外部中断指令可在例如虚拟环境中的解译性执行中使用。在一个实施例中,超管理器或主机(例如,)和处理器(例如,system)硬件/韧体彼此以受控协作方式交互,以便处理访客操作系统操作,而无需要求从访客操作系统和主机传递控制/将控制传递到访客操作系统和主机。访客操作可被直接执行而无需经由设施(其允许指令针对访客(包括可传呼存储模式访客)以解译方式而执行)的主机介入。该设施提供主机可发布的指令(开始解译性执行(sie)),其指定被称作状态描述的控制块,该控制块保持访客(虚拟机)状态并控制诸如例如访客架构模式、访客架构特征、访客寄存器、执行控制等的指示。该sie指令将机器放置在直接处理访客指令和中断的解译性执行模式中,直到出现需要主机注意的条件。当出现该条件时,解译性执行结束,并且呈现主机中断或者sie指令完成存储所遇到的条件的细节;后一动作被称作监听。在该环境中,还可使用测试待处理外部中断指令。

例如,测试待处理外部中断指令可用于测试警告跟踪中断,在一个实施例中该警告跟踪中断可用于访客配置而不用于非访客配置。由于在一个实施例中,警告跟踪设施不可用于非访客配置中,因此对于在主机级0(例如,超管理器)处操作的配置,通用寄存器r1的位30将不被设定为例如1。还存在其它示例。

在一个示例中,测试待处理外部中断指令的解译性执行受制于状态描述中的执行控制。在一个实施例中,状态描述的执行控制d(ecd)字段的选定位(例如位3)控制tpei是否可被解译性地执行。若尝试tpei的访客执行但ecd.3不是例如1,则阻止访客执行并且识别到指令监听(例如,代码4)条件。

另外,可基于tpei指令的执行而检查状态描述的干预请求(v)字段。例如,可基于对应于在掩码310中设定的这些子类的位(比特)(例如,位30和50)而检查v字段的警告跟踪(t)和外部调用(x)位(即,相应的位2和4)。

此外,新干预请求扩展(vx)字段被定义在状态描述中。vx字段的位0和1表示访客紧急信号中断和访客故障警告中断分别为待处理的线程特定指示。这些位由主机程序设定以及重设,并且基于tpei的解译性执行来检查。举例而言,基于例如在掩码310中设定的位49和48来检查vx字段的位0和1。

其它示例也是可能的。

参见图4描述关于测试待处理外部中断指令的方面的其它细节。在一个示例中,获得测试待处理外部中断的指令,例如测试待处理外部中断指令(步骤400)。在一个示例中,该指令是单架构指令。然后由处理器执行该指令(步骤402)。

例如,该执行包括基于由指令提供的信息而确定将要被测试的一个或多个外部中断子类(步骤404)。例如,包括在由指令的r2指定的寄存器中的掩码包括多个指示符(例如,多个位)。指示符中的一个或多个对应于可被选择用于测试待处理外部中断的一个或多个外部中断子类。例如,一个指示符(例如,位30)对应于警告跟踪中断;一个指示符(例如,位48)对应于故障警告;一个指示符(例如,位49)对应于紧急信号;并且另一指示符(例如,位50)对应于外部调用。若指示符被设定为特定值(例如1),则对应于所设定指示符的子类将针对待处理外部中断而被测试。例如,如果位49被设定为1,则针对紧急信号而执行待处理外部中断的测试。可设定一个或多个指示符。

对于每一个所设定的指示符,进行关于外部中断针对对应于所设定指示符的子类而是否待处理的检查(步骤406)。例如,若位49被设定,则进行关于外部中断针对紧急信号是否待处理的检查(步骤406)。在一个示例中,对于该检查,在不应用解译性执行的情况下,cpu保持跟踪是否存在待处理外部中断,并且cpu测试其待处理中断锁存器以确定中断是否是待处理的。

在应用解译性执行的情况下,向主机呈现硬件中断,并且主机确定此类中断是否以访客为目标。若其是以访客为目标,则主机设定访客的状态描述中的待处理中断位。若在分派访客时针对中断的类别启用该访客,则向访客呈现待处理中断位;否则,该中断保持待处理。当访客程序执行tpei指令时,cpu(例如,毫码)检查访客的状态描述中的待处理位以便制定响应。

若外部中断针对被测试的子类是待处理的,则因而提供指示(步骤408)。例如,在r1(对应于被测试的子类)中指定的寄存器中提供的掩码中的指示符(例如,位)被设定(例如,为1)。对于每个具有待处理外部中断的被测试的子类,进行该相同处理。

另外,在一个示例中,例如在条件代码中提供概要指示,概要指示表明所测试的中断的子类中的任一者是否是待处理的。例如,若所测试的中断的子类中没有待处理的,则条件代码设定为0;若所测试的中断的子类中的任一者是待处理的,则条件代码设定为1。

本文中详细描述测试待处理外部中断(tpei)指令,其确定一个或多个选定外部中断对于执行指令的cpu是否是待处理的。在一个实施例中,tpei基于一个或多个特定子类而确定一个或多个外部中断是否是待处理的;并且其这么做而不清除一个或多个待处理外部中断。通过测试待处理外部中断,可采取动作(包括无动作),以促进计算环境内的处理,从而改进其效能。控制程序能够确定对于特定资源是否存在待处理中断,同时保持针对该类别的中断的禁用。本发明的一个或多个方面不可避免地与计算机技术相关并且促进计算机内的处理,从而改进其效能。

本发明可以是任何可能的技术细节集成级别的系统、方法和/或计算机程序产品。该计算机程序产品可以包括一个(或多个)计算机可读存储介质,其上具有计算机可读程序指令,用于使处理器执行本发明的各方面。

计算机可读存储介质可以是有形设备,其可以保留和存储指令以供指令执行设备使用。计算机可读存储介质可以是例如但不限于电子存储设备,磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适组合。计算机可读存储介质的更具体示例的非详尽列表包括以下内容:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字通用光盘(dvd)、记忆棒、软盘、机械编码设备(诸如在其上记录有指令的打孔卡或凹槽内凸起结构)、以及前述的任何合适的组合。如在此使用的计算机可读存储介质不应被解释为暂态信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆传递的光脉冲)或通过电线传输的电信号。

本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或者以一种或多种编程语言(包括诸如smalltalk、c++等的面向对象的编程语言,以及诸如“c”编程语言或类似的编程语言的过程编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行、部分地在用户的计算机上执行、作为独立的软件包执行、部分地在用户的计算机上且部分地在远程计算机上执行、或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,使用因特网服务提供商经由因特网连接)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来个性化定制电子电路以执行计算机可读程序指令,以便执行本发明的各方面。

本文参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本发明的各方面。将理解,流程图图示和/或框图中的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以生产机器,使得经由计算机的处理器或其它可编程数据处理装置执行的指令创建用于实现流程图和/或框图的一个框或多个框中指定的功能/动作的部件。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读程序指令可以指示计算机、可编程数据处理装置和/或其它设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个框或多个框中指定的功能/动作的各方面的指令。

计算机可读程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,这样在计算机、其它可编程装置或其它设备上执行的指令实现在流程图和/或框图的一个框或多个框中指定的功能/动作。

附图中的流程图和框图示出根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、程序段或指令的一部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中所标注的功能可以不按图中所示的顺序发生。例如,连续示出的两个框实际上可以基本上并行地执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行特定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件系统来实现。

除了上述之外,可以由提供客户环境管理的服务提供商提供、给予、部署、管理、服务一个或多个方面。例如,服务提供商可以创建、维护、支持计算机代码和/或为一个或多个客户执行一个或多个方面的计算机基础设施。作为回报,服务提供商可以例如根据订阅和/或费用协议从客户接收付款。附加地或替代地,服务提供商可以从向一个或多个第三方销售广告内容来接收付款。

在一方面,可以部署应用以执行一个或多个实施例。作为一个示例,应用的部署包括提供可操作以执行一个或多个实施例的计算机基础结构。

作为另一方面,可以部署计算基础设施,包括将计算机可读代码集成到计算系统中,其中与计算系统结合的代码能够执行一个或多个实施例。

作为又一方面,可以提供一种用于集成计算基础设施的过程,包括将计算机可读代码集成到计算机系统中。该计算机系统包括计算机可读介质,其中该计算机介质包括一个或多个实施例。与计算机系统结合的代码能够执行一个或多个实施例。

尽管以上描述了各种实施例,但这些仅是示例。例如,具有其它体系结构的计算环境可用于合并和使用一个或多个实施例。此外,可以使用不同的指令、指令格式、指令字段和/或指令值。许多变化是可能的。

此外,其它类型的计算环境可以受益并被使用。作为示例,适用于存储和/或执行程序代码的数据处理系统是可用的,其包括通过系统总线直接或间接耦接到存储器元件的至少两个处理器。存储器元件包括例如在程序代码的实际执行期间使用的本地存储器,大容量存储和高速缓存存储器,该高速缓存存储器提供至少一些程序代码的临时存储,以便减少执行期间必须从大容量存储重新取回代码的次数。

输入/输出或i/o设备(包括但不限于键盘,显示器,指示设备,dasd,磁带,cd,dvd,拇指驱动器和其它存储介质等)可以直接耦接到系统或通过介入i/o控制器而耦接到系统。网络适配器还可以耦接到系统,以使数据处理系统能够通过介入私有或公共网络而耦接到其它数据处理系统或远程打印机或存储设备。调制解调器,电缆调制解调器和以太网卡只是可用类型的网络适配器中的一小部分。

本文使用的术语仅出于描述特定实施例的目的,并不意图限制本发明。如这里所使用的,单数形式“一”,“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元素和/或组件的存在,但不排除存在或者添加一个或多个其它特征、整数、步骤、操作、元素、组件和/或它们的组合。

以下权利要求中的所有装置或步骤加功能元件的相应结构、材料、动作和等同物(如果有的话)旨在包括如所具体要求保护的用于结合其它要求保护的元件来执行功能的任何结构、材料或动作。已经出于说明和描述的目的给出了对一个或多个实施例的描述,但是并不旨在穷举或限制于所公开的形式。许多修改和变化对于本领域普通技术人员来说是显而易见的。选择和描述实施例是为了最好地解释各个方面和实际应用,并且使本领域普通技术人员能够理解具有各种修改的各种实施例适合于预期的特定用途。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1