CN116569135A - 基于每一命令过滤指示符的命令类型过滤 - Google Patents
基于每一命令过滤指示符的命令类型过滤 Download PDFInfo
- Publication number
- CN116569135A CN116569135A CN202180082501.7A CN202180082501A CN116569135A CN 116569135 A CN116569135 A CN 116569135A CN 202180082501 A CN202180082501 A CN 202180082501A CN 116569135 A CN116569135 A CN 116569135A
- Authority
- CN
- China
- Prior art keywords
- command
- secondary processor
- processing
- requestor
- processor
- 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
Links
- 238000001914 filtration Methods 0.000 title description 65
- 238000012545 processing Methods 0.000 claims abstract description 123
- 238000000034 method Methods 0.000 claims description 56
- 230000015654 memory Effects 0.000 claims description 55
- 230000008569 process Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 10
- 238000005192 partition Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001343 mnemonic effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
Abstract
辅助处理器基于每一命令动态地确定由辅助处理器获得的命令是否要由辅助处理器处理。辅助处理器获得请求者的命令请求。命令请求包括指示用于由辅助处理器针对请求者处理的至少一个有效命令类型的至少一个过滤指示符。辅助处理器使用至少一个过滤指示符确定命令请求的命令对于辅助处理器针对请求者的处理是否有效。基于确定该命令对于由辅助处理器进行的处理是有效的,该命令由辅助处理器处理。
Description
背景技术
一个或多个方面总体上涉及促进计算环境内的处理,且明确地,涉及促进与计算环境内的命令处理相关联的处理。
计算环境常常包括不同类型的处理器以增强处理。作为示例,计算环境可以包括被认为是主处理器的一个或多个中央处理单元,以及被认为是从属于中央处理单元的一个或多个辅助处理器(adjunct processor)。辅助处理器通常执行特定类型的任务。例如,辅助处理器的特定示例是用于执行密码操作的密码(加密)卡。
由纽约州阿蒙克的国际商业机器公司提供的密码卡的示例是信道附接CryptoExpress卡。Crypto Express卡被定义为支持多种类型的命令,诸如使用加密密钥的命令(称为安全密钥命令)、使用清除密钥的命令(称为清除密钥命令)、散列命令、查询命令、随机数生成器命令等。进一步地,Crypto Express卡被设计成支持多种模式,包括例如:公共加密架构(CCA)模式、加速器模式、以及企业公钥加密标准(PKCS)模式(又名XCP/EP11-企业PKSC#11模式)。每个模式被配置为处理特定类型的命令。
Crypto Express卡可被配置为在激活的机器配置的持续时间内以不同的多个模式之一操作。因此,如果客户希望使用不同模式,那么计算环境将至少包括用于不同的多个模式的数量的卡,每个卡配置在不同模式中并且能够处理如对该模式定义的特定类型的命令。
发明内容
通过提供一种用于促进计算环境内的处理的计算机程序产品来解决现有技术的缺点,并且提供附加的优点。计算机程序产品包括一个或多个计算机可读存储介质和共同存储在一个或多个计算机可读存储介质上以执行方法的程序指令。该方法包括由辅助处理器动态地确定由辅助处理器获得的命令是否要由辅助处理器处理。动态确定基于每一命令被执行,并且包括由辅助处理器获得请求者的命令请求。所述命令请求包括至少一个过滤指示符,指示用于由辅助处理器针对请求者处理的至少一个有效命令类型。辅助处理器使用至少一个过滤指示符确定命令请求的命令对于由辅助处理器针对请求者的处理是否有效。辅助处理器基于确定命令对于由辅助处理器针对请求者的处理是有效的,来处理命令。
通过基于每一命令动态地确定辅助处理器是否要处理特定命令,在命令处理中提供了灵活性。命令在命令处理时间或者是有效的或者是无效的,并且因此,程序不必在各种辅助处理器之间切换以执行不同类型的命令。这降低了程序复杂度,提供了更高效的代码并且改进了代码执行时间和性能。
在一个实施例中,辅助处理器被配置为一个模式,并且动态地确定使其能够与其所配置的一个模式不同地操作。例如,在一个示例中,被配置在一个模式下的辅助处理器能够处理一命令集;然而,辅助处理器不同地操作在于其处理该命令集的精简集。辅助处理器能够针对每一命令动态地切换过滤模式,因为是基于每一命令提供命令类型过滤。这允许在不同的模式中使用特定的辅助处理器。例如,辅助处理器可以被配置在一个模式中,但是其能够以不同的模式操作而无需重新配置辅助处理器。进一步,通过使辅助处理器能够以不同模式操作,节省了附加辅助处理器的费用,并且在系统内提供了灵活性。
在一个实施例中,基于每一命令设置所述一个过滤指示符。通过提供每一命令(per-command)过滤指示符,提供命令处理中的灵活性,以及降低的代码复杂度、增加的性能和降低的费用,因为可能需要更少的辅助处理器。
在一个实施例中,基于对应于命令请求的请求者的计算策略来设置至少一个过滤指示符。这允许在命令处理中考虑特定的许可属性、准许和/或客户要求。
在一个实施例中,至少一个过滤指示符包括无状态命令类型指示符,其中基于无状态命令类型指示符被设置为一个值,被确定为无状态命令类型命令的命令对于由辅助处理器针对请求者的处理是有效的,并且其他命令类型命令对于由辅助处理器针对请求者的处理是无效的。进一步,在一个实施例中,基于无状态命令类型指示符被设置为另一值,其他命令类型命令也被认为对于由辅助处理器针对请求者的处理是有效的。这允许以在提供完整命令集的模式配置的辅助处理器用于为一个或多个请求者提供选择性命令而不是完整命令集,以及为其他请求者提供完整命令集。这提供了灵活性、降低的代码复杂度、增加的性能和降低的费用,因为可以需要较少的辅助处理器。
在一个实施例中,所述处理包括准备回复,所述回复包括所述命令的处理结果,所述回复被发送到所述请求者。进一步,在一个实施例中,基于确定命令对于由辅助处理器针对请求者的处理无效而准备指示错误的错误回复,该错误回复被发送到请求者。错误回复通知请求者该命令是无效命令类型。
作为一个示例,辅助处理器是密码卡。
根据一个方面,提供了一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:一个或多个计算机可读存储介质以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,以执行一种方法,所述方法包括:由辅助处理器动态地确定由所述辅助处理器获得的命令是否要由所述辅助处理器处理,所述动态确定是基于每一命令执行的,并且包括:由辅助处理器获得请求者的命令请求,所述命令请求包括指示用于由辅助处理器针对请求者处理的至少一个有效命令类型的至少一个过滤指示符;由辅助处理器使用至少一个过滤指示符来确定命令请求的命令对于由辅助处理器针对请求者的处理是否有效;以及由辅助处理器基于确定命令对于由辅助处理器针对请求者的处理是有效的,来处理命令。
根据另一个方面,提供了一种用于促进计算环境内的处理的计算机系统,该计算机系统包括:存储器;以及与该存储器通信的至少一个处理器,其中所述计算机系统被配置为执行方法,所述方法包括:由辅助处理器动态地确定由所述辅助处理器获得的命令是否要由所述辅助处理器处理,所述动态确定是基于每一命令执行的,并且包括:由辅助处理器获得请求者的命令请求,所述命令请求包括指示用于由辅助处理器针对请求者处理的至少一个有效命令类型的至少一个过滤指示符;由辅助处理器使用至少一个过滤指示符来确定命令请求的命令对于由辅助处理器针对请求者的处理是否有效;以及由辅助处理器基于确定命令对于由辅助处理器针对请求者的处理是有效的,来处理命令。
根据另一方面,提供了一种促进计算环境内的处理的计算机实现的方法,该计算机实现的方法包括:由辅助处理器动态地确定由辅助处理器获得的命令是否要由辅助处理器处理,该动态地确定是基于每一命令执行的,并且包括:由辅助处理器获得请求者的命令请求,该命令请求包括指示用于由辅助处理器针对请求者处理的至少一个有效命令类型的至少一个过滤指示符;由辅助处理器使用至少一个过滤指示符来确定命令请求的命令对于由辅助处理器针对请求者的处理是否有效;以及由辅助处理器基于确定命令对于由辅助处理器针对请求者的处理是有效的,来处理命令。
在此还描述并要求保护与一个或多个方面有关的计算机实施的方法和系统。进一步,本文还描述并要求保护与一个或多个方面有关的服务。
通过在此描述的技术实现附加特征和优点。其他实施例和方面在本文中详细描述,并且被认为是所要求保护的方面的一部分。
附图说明
现在将仅通过举例并参考以下附图描述本发明的优选实施例:
图1A示出了结合和使用本发明的一个或多个方面的计算环境的一个示例;
图1B示出了结合和使用本发明的一个或多个方面的计算环境的另一个示例;
图2A-2D示出了根据本发明的一个或多个方面的处理辅助处理器队列指令的示例;
图3A示出了根据本发明的一个或多个方面的辅助处理器命令请求消息的一个示例;
图3B示出了根据本发明的一个或多个方面的请求连接性编程请求块(CPRB)的一个示例;
图3C示出了根据本发明的一个或多个方面的辅助处理器命令回复消息的一个示例;
图3D示出了根据本发明的一个或多个方面的回复连接性编程请求块(CPRB)的一个示例;
图4示出了根据本发明的一个或多个方面的提供每一命令过滤的流程的一个示例;
图5A-5B示出了根据本发明的一个或多个方面的与促进计算环境内的处理相关的方面的一个实施例;
图6A示出了结合和使用本发明的一个或多个方面的计算环境的一个示例;
图6B示出了结合和使用本发明的一个或多个方面的计算环境的另一个示例;
图6C示出了根据本发明的一个或多个方面的图6B的存储器的进一步细节的一个示例;
图6D示出了根据本发明的一个或多个方面的图6B的存储器的进一步细节的另一示例;
图7A示出了结合和使用本发明的一个或多个方面的计算环境的另一个示例;
图7B示出了根据本发明的一个或多个方面的图7A的存储器的进一步细节;
图8示出了根据本发明的一个或多个方面的云计算环境的一个实施例;以及
图9示出了根据本发明的一个或多个方面的抽象模型层的一个示例。
具体实施方式
根据本发明的一个或多个方面,提供过滤能力,其使诸如密码(加密)卡的辅助处理器能够以每一命令为基础动态地确定由辅助处理器获得的命令是否要由辅助处理器执行。例如,一个或多个每一命令过滤指示符(例如,所选择的命令类型过滤指示符)用于确定所接收的命令是否是如由每一命令过滤指示符指定的有效命令类型,并且因此将由辅助处理器执行。在一个实施例中,基于与命令的请求者相关联的计算策略,按每一命令设置一个或多个每一命令过滤指示符。因此,由一个请求者发出的命令可以是用于执行的有效命令类型,但是由另一个请求者发出的命令可以是无效的,如由基于请求者的计算策略设置的每一命令过滤指示符所指定的。
在一个或多个方面,辅助处理器被配置在特定处理模式(例如,公共加密架构(CCA)模式;又名协处理器模式)中,但是能够应用过滤,使得其以不同于所配置的模式操作,而不被重新配置。例如,基于过滤,诸如选择的命令类型过滤,由辅助处理器执行一个或多个选择的命令类型的命令(例如,无状态命令类型命令),其中所选择的命令类型少于由所配置的模式支持的所有命令类型。即,在特定实例中,当应用选定命令类型过滤时,如果其不是选定命令类型(例如,无状态命令类型命令),可在配置的处理模式中支持的命令(例如,非无状态命令类型命令)可不由辅助处理器执行。
在一个示例中,所应用的过滤技术是无状态命令类型过滤技术,其中在一个模式(例如,协处理器模式)中配置的辅助处理器可以用于执行该模式中支持的命令类型的全集或者命令类型的精简集(例如,仅无状态命令类型命令)。然而,虽然本文中将无状态命令类型过滤技术描述为一个示例,但是可应用其他命令类型过滤技术和/或其他过滤技术。例如,可使用主密钥过滤技术,其中所选择的命令类型是主密钥管理密钥命令。作为另一示例,过滤可用策略施加的使用情况限制来实现。例如,如果所选择的命令访问的价格与通用密码命令访问的价格不同,则可以针对购买的使用情况施加过滤器。进一步的过滤级别可以基于性能服务协议,其中,基于所购买的性能,以高或低服务响应性能优先级来标注命令。还可使用其他过滤技术。在不针对另一模式重新配置辅助处理器的情况下,过滤技术中的每一者的应用是可准许的。过滤技术可彼此结合或分开使用。许多示例是可能的。
参考图1A描述了结合和使用本发明的一个或多个方面的计算环境的一个实施例。在一个示例中,计算环境100包括至少一个中央处理单元102和至少一个辅助处理器(AP)104,它们中的每一个耦合到存储器(被称为系统存储器106)的至少一部分。作为一个示例,系统存储器106包括硬件系统区域,其对在中央处理单元上执行的程序是间接可访问的和不可见的。(间接可访问在本文中用于意味着硬件系统区域或存储在其中的辅助处理器队列(以下描述)仅可由特定的有限指令访问而不能以其他方式访问(例如,不能加载到其中,程序不知道地址等))。位于系统存储器内的是一个或多个辅助处理器队列108。这些队列从用户程序不是直接可见的,而是被视为机器(即,包括中央处理单元、系统存储器和辅助处理器的机器)的一部分。中央处理单元通过例如发出将请求放置在队列上和/或从队列中移除回复的指令来访问系统存储器中的队列。然而,辅助处理器的确经由例如传输层110(例如,i390CO)直接访问队列,并且负责将请求从队列取出、处理请求和将对请求的回复放置在队列上。
参考图1B描述了结合和使用本发明的一个或多个方面的计算环境的另一个实施例。在此实施例中,机器包含虚拟支持,且存在包含多个访客152(例如,访客操作系统和/或访客程序)的至少一个主机中央处理单元150。主机中央处理单元耦合到存储器的至少一部分,称为系统存储器154。另外,存在至少一个辅助处理器156,其也经由例如传输层160耦合到系统存储器154。作为一个示例,系统存储器154包括硬件系统区域,并且位于系统存储器内的是一个或多个辅助处理器队列158。
如所指示的,存在不同类型的辅助处理器,包括但不限于密码卡或适配器。密码卡的具体示例是由纽约州阿蒙克的国际商业机器公司提供的Crypto Express卡。尽管提供了示例密码卡,但是由国际商业机器公司和/或其他公司提供的其他密码卡可以结合和/或使用本发明的一个或多个方面。进一步,其他类型的辅助处理器可以结合和/或使用本发明的一个或多个方面。
在一个实施例中,辅助处理器(诸如密码卡(例如,Crypto Express卡))支持多种模式,包括但不限于协处理器模式、加速器模式和企业公钥加密标准(PKCS)模式(例如,XCP/EP11-企业PKCS#11),作为示例。另外,在其他示例中,可支持更少和/或其他模式。每个模式可具有其自己的AP消息结构和格式。
作为示例,辅助处理器消息由多个数据段构成,并且数据段可以彼此不相邻;相反,一个或多个数据段可以交织。这些数据段被称为分散聚集数据段。在一个示例中,密码卡没有对入队的AP消息的直接访问,并且消息的一部分(例如,AP消息的底部)包含将由例如密码卡用于执行AP命令的数据。因此,AP命令传输层(例如,传输层110、160)复制来自AP命令请求消息的相关数据,将其打包成密码卡理解的格式(例如,密码卡的命令请求消息)并且将其发送到密码卡。类似地,在由密码卡执行AP命令之后,AP命令传输层使用AP命令请求消息的各个部分和密码卡的命令回复消息生成AP命令回复消息,并且将其发送至AP队列,以稍后由程序出队。以下描述AP命令请求消息和AP命令回复消息的进一步细节,包括根据本发明的一个或多个方面的命令类型过滤所使用的消息的方面。
根据本发明的方面,设计了辅助处理器(例如,密码卡),其允许机器管理程序根据计算策略(例如,许可条款、准许和/或资源要求,诸如客户的高可用性要求等)来请求命令类型过滤。由于客户具有与其相关联的不同计算策略(例如,许可条款、准许和/或资源要求,诸如高可用性要求),并非所有类型的命令都可用于特定客户。由此,根据本发明的方面,提供命令类型过滤,使得选择的辅助处理器(例如,被配置用于特定模式(例如,协处理器模式)的密码卡)能够用不同的计算策略并且因此不同的准许用于客户,而不需要辅助处理器被重新配置成不同的所支持的模式。
作为示例,根据本发明的一个或多个方面,提供了AP命令类型过滤设施(APFT),该APFT允许基于一个或多个选择的AP命令类型过滤设施基于每一命令对AP命令进行过滤。在一个示例中,一个或多个所选择的AP命令类型过滤设施包括无状态AP命令过滤设施(sAPCF)。本文中关于特定架构(例如,由纽约州阿蒙克的国际商业机器公司提供的z/硬件架构)来描述AP命令类型过滤设施和无状态AP命令过滤设施的方面。z/Architecture(z/架构)硬件架构的一个实施例描述于2019年9月的IBM公开号SA22-7832-12第13版的“z/Architecture Principles of Operation(z/架构操作原理)”中,特此通过引用其全文结合在此。IBM和Z/ARCHITECTURE是国际商业机器公司在至少一个管辖区域中的注册商标。然而,z/Architecture硬件架构仅为一个示例架构。本发明的各方面还可基于其他架构,包括但不限于英特尔x86架构、国际商业机器公司的其他架构、和/或其他公司的架构。
在一个示例中,当安装无状态AP命令过滤设施时,安装AP命令类型过滤设施。根据本发明的方面,为了确定是否安装了无状态AP命令过滤设施,使用处理辅助处理器队列指令。
参考图2A描述处理辅助处理器队列(PQAP)指令的一个示例。如图所示,在一个示例中,处理辅助处理器队列指令200包括指示辅助处理器队列的处理操作的操作代码(操作码)202(例如,32位指令的位0-15)。在一个实施例中,处理辅助处理器队列指令采用多个通用寄存器,包括通用寄存器0、1和2。根据通用寄存器0中指定的功能代码来处理由通用寄存器0中的AP队列号(APQN)指定的AP队列。下文进一步描述通用寄存器0、1和2的示例。
参照图2B,在一个实施例中,通用寄存器0(GR0)210是例如64位寄存器,其包括例如指示要执行的选定功能的功能代码(FC)212(例如,位32-39);用于指示在通用寄存器2中是否提供已安装设施的掩码的测试设施指示符(T)214(例如,位40);以及识别辅助处理器队列(例如,AP队列108(图1A))的辅助处理器队列号(APQN)216(例如,位48-63);根据功能代码处理的AP队列158(图1B))。
基于下发处理辅助处理器队列指令,功能代码212将包括多个可接受代码中的一个,所述可接受代码的示例是代码00测试AP队列(TAPQ)。
根据本发明的一个或多个方面,当计算环境处于例如z/Architecture架构模式中且安装APFT设施时,如果指定TAPQ功能代码(例如,在GR0中FC=00),那么将通用寄存器0的位40界定为TAPQ功能的测试设施位(T)。当T为1时,用所安装AP设施的掩码和其他相关联信息替换通用寄存器2的位0-31,下文描述所述掩码的示例。当T为零时,指示例如未安装APFT设施,通用寄存器2中的结果限于例如位位置32-63,且位位置0-31被忽略且不改变。在此情况下,AT和QD字段(下文描述)是有效的,且其他位位置存储为零。
如所指示的,除了通用寄存器0之外,处理辅助处理器队列指令还使用通用寄存器1和2,本文进一步描述其中的每一个。
参照图2C,在一个实施例中,通用寄存器1(GR1)220是例如包括例如辅助处理器队列状态字(APQSW)222(例如,位32-63)的64位寄存器。在处理辅助处理器队列指令完成时,APQSW字段包含AP队列状态字,除非针对特定功能另外声明。AP队列状态字指示例如在指令完成时AP队列的状态。
此外,参照图2D,在一个实施例中,通用寄存器2(GR2)230是例如包括多个字段的64位寄存器。如本文中所描述,在一个实施例中,位位置0-31在经设置时包含所安装AP设施的掩码和其他相关联信息。根据本发明的一个或多个方面的GR2的示例字段包括例如:
模式232:当设置时,该字段(例如,位3-5)指示多个可能的AP模式设施。例如,当D(例如,位3)为1时,指定AP提供协处理器模式设施;当A(例如,位4)为1时,指定AP提供加速器模式设施;以及当X(例如,位5)为1时,指定的AP提供XCP模式设施;
SL234:当该字段(例如,位7)为1时,安装本发明的一个或多个方面的无状态AP命令过滤设施(SAPCF)。SAPCF设施例如是PCI-X(扩展外围组件互连)加密器件特征,并且在一个实施例中,其被安装在例如z/Architecture架构模式中;
可以由计算环境支持的与一个或多个设施有关的其他设施和/或信息可以由掩码的在例如位0-31中的一个或多个位来指示。
辅助处理器类型(AT)236:该字段(例如,位位置32-39)包括例如0-255范围内的指示不同AP类型的示例有效AP类型值;
AP队列条目数目(QD)240:配置中每个AP队列上的队列条目数目。例如,QD是范围内(例如,0-31)的值,其表示所述范围内(例如,1-32十进制)的队列条目的数目。
在一个示例中,通用寄存器2中返回的已安装设施信息应用于相同AP类型以及相同配置模式下(对于合并AP(例如,AP类型10或更高)而言)的所有AP。在-个示例中,所安装的设施信息至少持续到下一个子系统重置为止。可以同时添加设施。当AP类型的最后AP被解除配置时,设施可以或可以不同时移除。
当TAPQ功能以例如条件代码0(成功完成)或条件代码3、响应代码例如02-05(非预期条件;例如,进行中的AP队列重置、AP解除配置、AP检查停止、AP忙碌)完成时,如所定义地修改通用寄存器2。否则,不修改通用寄存器2。
虽然在本文的一个实施例中针对处理辅助处理器队列指令和其相关寄存器描述了特定字段、字段位置、字段大小、字段或位的位和值,但是在不脱离本发明一个或多个方面的精神的情况下,可以使用其他字段、字段位置、字段大小、字段或位的位和/或值。在一个实施例中,本文中未描述的通用寄存器中的每一者的字段和/或位可为空、具有预定义值(例如,零)和/或包括待忽略的值。存在许多可能性。
根据一个或多个方面,辅助处理器(例如,加密卡)具有识别不同类型的命令的属性的逻辑。在一个实施例中,不同类型的命令由管理程序提供。管理程序基于例如可从其接收命令请求的客户集确定例如命令类型标签集。例如,要由命令类型标签的集合表示的命令的类型是基于例如从其接收命令请求的客户的计算策略(例如,许可条款;准许;资源要求,诸如例如高可用性要求;等)。
在一个示例中,命令具有与其相关联的表示命令的属性的标签集(例如,策略或过滤标签)。命令可以具有与其相关联的用于多个命令类型的多个标签,并且因此,取决于命令所关联的命令类型,该标签集包括一个或多个标签。例如,命令可以具有无状态命令类型标签以指示该命令是有效的无状态命令类型命令,具有主密钥命令类型标签以指示该命令是有效的主密钥命令类型命令等。命令类型标签的集合的指示由辅助处理器获得(例如,提供、接收、检索等)。在一个示例中,辅助处理器接收命令类型标签的集合,包括用于安全密钥命令类型命令(例如,当由调用者请求时用于禁用安全密钥命令)的标签;以及用于无状态命令类型命令的标签。在其他实施例中,管理程序为其他过滤技术(诸如其他命令类型过滤技术)提供其他标签。存在许多可能性。
进一步,在一个实施例中,根据本发明的一个或多个方面,命令请求被配置为包括用于提供每一命令过滤的一个或多个过滤指示符,诸如一个或多个命令类型过滤指示符。参见图3A-3B描述关于包括在命令请求中的所选命令类型过滤指示符的进一步细节。
参照图3A,在一个示例中,AP命令请求消息300包括报头302、子报头304以及多个数据分组306-312。在一个示例中,分组中的一个或多个(例如,分组-1308-310中的一个或多个)被配置成提供命令,并且分组中的一个或多个(例如,分组-2312)被配置成提供输入数据。根据本发明的一个方面,所述分组中的一个分组包括请求连接性编程请求块(CPRB)308,所述CPRB包括与命令类型过滤相关的一个或多个过滤指示符。
例如,如图3B所示,请求CPRB 308包括AP命令过滤掩码320,该AP命令过滤掩码320包括一个或多个命令类型过滤指示符。命令类型过滤指示符的示例是无状态命令类型指示符322。该指示符指示所允许的命令集是用于无状态命令类型命令(例如,指示符322,诸如所选择的位,被设置为1)还是用于全命令集(例如,指示符322被设置为0)。其他指示符、标志、位等可被包括在请求CPRB 308中以指示可被过滤的其他类型的命令。例如,另一指示符可指示基于主密钥的过滤。许多其他示例是可能的。
响应于消息,提供回复,并且在一个示例中,回复是AP命令回复消息的形式,其示例在图3C中描述。如图所示,AP命令回复消息330包括例如报头332、子报头334和多个分组336-340。根据本发明的方面,分组之一包括回复CPRB 336,该回复CPRB 336包括对请求的回复并且可以指示错误。
例如,如图3D所示,回复CPRB 336包括错误指示。错误指示可包括错误代码350(例如,CPRB返回代码/原因代码)以报告客户请求的命令不被命令类型标签的定义集(例如,由管理程序或另一实体施加)所允许。
如本文中所描述,根据本发明的方面,命令请求/回复消息用以基于每一命令提供命令类型过滤。参照图4描述关于每一命令命令类型过滤的进一步细节。在图4的示例中,计算环境是云环境;然而,在其他实施例中,计算环境是非云环境。
本发明的各方面不限于特定计算环境。
此外,在图4的示例中,辅助处理器是密码卡。然而,过滤可以由其他辅助处理器使用;密码卡仅是一个示例。
参考图4,在一个实施例中,由诸如访客400(例如,云环境中的访客应用或访客操作系统)的请求者创建加密请求(步骤420)。在一个示例中,AP命令请求消息300被编码并提供给管理程序402。
管理程序402从访客400获得(例如,接收、检索、提供等)密码请求并且处理该密码请求(步骤422)。根据本发明的一个方面,管理程序基于请求策略414(例如,云请求策略)向请求添加(或设置)一个或多个过滤指示符,诸如命令类型过滤指示符。请求策略414包括例如基于由账户配置416(例如,云账户配置)提供的请求者的计算策略(例如,许可条款;资源要求,诸如高可用性要求;和/或准许等)对每个请求者(例如,访客;调用者;客户)允许的要为请求者处理的命令类型的指示。
作为示例,管理程序402基于请求策略(其基于客户的计算策略)确定无状态命令类型指示符322(或另一过滤指示符)是要被设置为一选择值、例如一(例如,允许精简命令集,诸如仅允许无状态命令类型命令)还是被设置为另一选择值、例如零(例如,允许全命令集)。管理程序基于该确定设置无状态命令类型指示符322(和/或在其他示例中的其他过滤指示符)。
管理程序402向辅助处理器(例如,密码卡406)提供经修改的请求消息(即,具有设置的过滤指示符的请求消息)。例如,管理程序402经由例如系统总线404向辅助处理器发送或转发请求消息;或者辅助处理器另外经由系统总线404获得(例如检索)请求消息。
在该示例中,辅助处理器(诸如密码卡406)处理该请求(步骤424)。该处理包括使用例如请求中所包括的命令类型过滤指示符来确定是否允许该请求(查询426)。例如,如果所接收的请求消息中的无状态命令类型指示符322被设置为一个值,例如1,指示该请求者(例如,访客)被授权用于例如无状态命令类型命令,并且该命令是无状态命令类型命令,如由与该命令相关联的一个或多个标签(例如,策略或过滤标签)所指示的,则该请求是有效的。然而,如果命令是非无状态命令类型命令并且指示符322被设置为一个值(例如,1),则该命令是对于该请求者的无效命令。类似地,如果指示符322被设置为另一值(例如,零),那么如果命令被包括在完整命令集中,如由命令类型策略标签所指示的,则它被认为是有效的。
如果允许请求,则处理该请求(例如,执行命令的操作)(步骤428);否则,提供错误(步骤430)。在步骤432,由辅助处理器(例如,密码卡)处理回复,其包括将回复放置在AP命令回复消息中,并且经由例如传输层(例如,传输层110、160)将其发送到访客400。作为示例,回复可以包括处理结果、条件代码、返回代码、原因代码和/或错误指示(例如,回复CPRB336中的错误代码)。访客400接收回复,步骤434。
如本文所描述的,在一个实施例中,辅助处理器(例如,加密卡)从请求者(例如,访客)接收命令请求消息,并且基于CPRB请求块中的管理程序施加的命令类型指示符(例如,命令类型过滤指示符)集合来确定是否允许执行命令。管理程序强加的命令类型过滤指示符的集合用于每一命令过滤。例如,如果基于例如命令类型过滤指示符确定命令是有效的,则辅助处理器执行命令,并且结果被放置在发送到调用者的命令回复消息中。如果确定命令无效,则将错误代码放置在命令回复消息的CPRB中并返回给调用者。
本发明的一个或多个方面与计算机技术紧密联系并且促进计算环境内的处理(包括命令处理),从而改善其性能。参见图5A-5B描述与促进计算环境内的处理相关的方面的一个实施例的进一步细节。
参考图5A,在一个实施例中,辅助处理器动态地确定由辅助处理器获得的命令是否要由辅助处理器处理(500)。动态确定基于每一命令被执行(502),并且包括例如由辅助处理器获得请求者的命令请求(504)。命令请求包括指示用于由辅助处理器针对请求者处理的至少一个有效命令类型的至少一个过滤指示符(506)。辅助处理器使用至少一个过滤指示符确定命令请求的命令对于由辅助处理器针对请求者的处理是否有效(508)。辅助处理器基于确定对于由辅助处理器针对请求者的处理有效的命令来处理命令(510)。
通过基于每一命令动态地确定辅助处理器是否能够处理特定命令,在命令处理中提供了灵活性。命令在命令处理时间是有效的或无效的,并且因此,程序不必在各种辅助处理器之间切换以执行不同类型的命令。这降低了程序复杂度,提供了更高效的代码并且改进了代码执行时间和性能。
在一个实施例中,辅助处理器被配置为一个模式,并且动态地确定使其能够与其所配置的一个模式不同地操作(512)。作为示例,被配置在一个模式下的辅助处理器能够处理一命令集(514),并且辅助处理器不同地操作在于其处理该命令集的精简集(516)。辅助处理器能够针对每一命令动态地切换过滤模式,因为是基于每一命令提供命令类型过滤。这允许在不同的模式中使用特定的辅助处理器。例如,辅助处理器可以被配置在一个模式中,但是其能够以不同的模式操作而无需重新配置辅助处理器。进一步,通过使辅助处理器能够以不同模式操作,节省了附加辅助处理器的费用,并且在系统内提供了灵活性。
此外,参考图5B,在一个实施例中,基于每一命令设置至少一个过滤指示符(520)。通过提供每一命令过滤指示符,提供命令处理中的灵活性,以及降低的代码复杂度、增加的性能和降低的费用,因为可能需要更少的辅助处理器。
在一个实施例中,基于对应于命令请求的请求者的计算策略来设置至少一个过滤指示符(522)。这允许在命令处理中考虑特定的许可属性、准许和/或客户要求。
作为示例,至少一个过滤指示符包括无状态命令类型指示符(524)。基于无状态命令类型指示符被设置为一个值,被确定为无状态命令类型命令的命令对于辅助处理器针对请求者的处理是有效的,并且其他命令类型命令对于辅助处理器针对请求者的处理是无效的(526)。基于无状态命令类型指示符被设置为另一值,其他命令类型命令也被认为对于由辅助处理器针对请求者的处理是有效的(528)。这允许以在提供完整命令集的模式中配置的辅助处理器用于为一个或多个请求者提供选择性命令而不是完整命令集,以及为其他请求者提供完整命令集。这提供了灵活性、降低的代码复杂度、增加的性能和降低的费用,因为可以需要较少的辅助处理器。
在一个实施例中,处理包括准备包括命令的处理结果的回复,回复将被发送到请求者(530)。进一步,在一个示例中,基于确定命令对于由辅助处理器针对请求者的处理无效而准备指示错误的错误回复,该错误回复被发送到请求者(532)。错误回复通知请求者命令是无效命令类型。
进一步,作为一个示例,辅助处理器是密码卡(534)。
其他变型和实施例是可能的。
本发明的一个或多个方面的命令类型过滤可结合在许多计算环境中并使用。参考图6A描述一个示例计算环境。作为示例,计算环境基于由纽约州阿蒙克的国际商业机器公司提供的z/硬件架构。然而,z/Architecture硬件架构仅为一个示例架构。计算环境还可以基于其他架构,包括但不限于英特尔x86架构、国际商业机器公司的其他架构、和/或其他公司的架构。
如图6A所示,计算环境600包括例如以通用计算设备的形式示出的计算机系统602。计算机系统602可以包括但不限于:经由一个或多个总线和/或其他连接610彼此耦合的一个或多个处理器或处理单元604(例如,中央处理单元(CPU))、存储器606(例如,系统存储器、主存储器、主存储、中央存储器或存储装置)、以及一个或多个输入/输出(I/O)接口608。
总线610表示若干类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)、微通道体系结构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)。
存储器606可包含(例如)高速缓存612,例如共享高速缓存,其可耦合到处理器604的本地高速缓存614。进一步,存储器606可包括一个或多个程序或应用616、至少一个操作系统618和一个或多个计算机可读程序指令620。计算机可读程序指令620可以被配置为执行本发明的方面的实施例的功能。
在一个实施例中,存储器606(例如,存储器606的至少硬件系统区域)经由一个或多个辅助处理器总线623并且在一个或多个实施例中经由AP传输层耦合到一个或多个辅助处理器621。
计算机系统602可以经由例如I/O接口608与一个或多个外部设备630、诸如用户终端、磁带驱动器、定点设备、显示器和一个或多个数据存储设备634等通信。数据存储设备634可以存储一个或多个程序636、一个或多个计算机可读程序指令638和/或数据等。该计算机可读程序指令可以被配置成用于执行本发明的多个方面的实施例的功能。
计算机系统602还可以经由例如I/O接口608与网络接口632通信,网络接口632使计算机系统602能够与一个或多个网络通信,诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联网),提供与其他计算设备或系统的通信。
计算机系统602可以包括和/或耦合到可移动/不可移动、易失性/非易失性计算机系统存储介质。例如,它可以包括和/或耦合到不可移动、非易失性磁介质(通常被称为“硬盘驱动器”)、用于从可移动、非易失性磁盘(例如,“软盘”)读取或向其写入的磁盘驱动器、和/或用于从可移动、非易失性光盘(如CD-ROM、DVD-ROM或其他光学介质)读取或向其写入的光盘驱动器。应当理解,其他硬件和/或软件组件可以与计算机系统602结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器和数据归档存储系统等。
计算机系统602可以与许多其他通用或专用计算系统环境或配置一起操作。适于与计算机系统602一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机(PC)系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统和包括以上系统或设备中的任一个的分布式云计算环境等。
下面参照图6B描述结合和使用本发明的一个或多个方面的计算环境的另一个示例。作为示例,图6B的计算环境可基于由国际商业机器公司提供的z/硬件架构。然而,z/Architecture硬件架构仅为一个示例架构。再次,计算环境还可以基于其他架构,包括但不限于英特尔x86架构、国际商业机器公司的其他架构、和/或其他公司的架构。
在一个示例中,计算环境650包括中央电子复合体(CEC)652。CEC 652包括多个组件,例如,耦接到一个或多个处理器(又名,中央处理单元(CPU))656和输入/输出(I/O)子系统658的存储器654(又名,系统存储器、主存储器、主存储、中央存储、存储装置)。进一步,在一个实施例中,存储器654(例如,存储器654的至少硬件系统区域)经由一个或多个辅助处理器总线并且在一个或多个实施例中经由AP传输层耦合到一个或多个辅助处理器657。
I/O子系统658可以是中央电子复合体的一部分或与其分离。它引导主存储654与输入/输出控制单元660和连接到中央电子复合体的输入/输出(I/O)设备662之间的信息流。
可以使用许多类型的I/O设备。一种特定类型是数据存储设备664。数据存储设备664可以存储一个或多个程序666、一个或多个计算机可读程序指令668、和/或数据等。该计算机可读程序指令可以被配置成用于执行本发明的多个方面的实施例的功能。
中央电子复合体652可以包括和/或耦合到可移动/不可移动、易失性/非易失性计算机系统存储介质。例如,它可以包括和/或联接到不可移动、非易失性磁介质(通常被称为“硬盘驱动器”)、用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器、和/或用于从可移动、非易失性光盘(如CD-ROM、DVD-ROM或其他光介质)读取或向其写入的光盘驱动器上。应当理解,其他硬件和/或软件部件可以与中央电子复合体652结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器和数据归档存储系统等。
进一步,中央电子复合体652可以与许多其他通用或专用计算系统环境或配置一起操作。可以适用于中央电子复合体652的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机(PC)系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统和包括以上系统或设备中的任一个的分布式云计算环境等。
在一个或多个实施例中,中央电子复合体652提供逻辑分区和/或虚拟化支持。在一个实施例中,如图6C所示,存储器654包括例如一个或多个逻辑分区670、管理逻辑分区的管理程序672和处理器固件674。管理程序672的一个示例是由纽约州阿蒙克的国际商业机器公司提供的处理器资源/系统管理器(PR/SM)。如本文所使用的,固件包括例如处理器的微代码。其包括例如在更高级机器代码的实现中使用的硬件级指令和/或数据结构。在一个实施例中,其包括例如通常作为微代码递送的专有代码,微代码包括可信软件或特定于底层硬件的微代码,并控制操作系统对系统硬件的访问。
每个逻辑分区670能够用作单独的系统。即,每个逻辑分区可以独立地重置、运行访客操作系统676(诸如由纽约州阿蒙克的国际商业机器公司提供的z/操作系统)或其他控制代码678(诸如耦合设施控制代码(CFCC))并且与不同的程序680一起操作。在逻辑分区中运行的操作系统或应用程序看起来可以访问完整和完全的系统,但实际上,只有其一部分是可用的。虽然提供z/OS作为示例,但是可以根据本发明的一个或多个方面使用其他操作系统。
存储器654耦合到CPU 656(图6B),CPU 656是可以被分配给逻辑分区的物理处理器资源。例如,逻辑分区670包括一个或多个逻辑处理器,每个逻辑处理器表示可动态地分配给逻辑分区的物理处理器资源656的全部或共享。
在又一实施例中,中央电子复合体提供虚拟机支持(有或者没有逻辑分区支持)。如图6D所示,中央电子复合体652的存储器654包括例如一个或多个虚拟机690、管理虚拟机的虚拟机管理器(诸如管理程序692)和处理器固件694。管理程序692的一个示例是由纽约州阿蒙克的国际商业机器公司提供的z/管理程序。管理程序有时被称为主机。z/OS和z/VM是国际商业机器公司在至少一个管辖区域中的商标或注册商标。
CPC的虚拟机支持提供操作大量虚拟机690的能力,每个虚拟机能够与不同的程序696操作并运行访客操作系统698,例如操作系统。每个虚拟机690能够充当单独的系统。即,每个虚拟机可被独立地重置、运行访客操作系统、以及用不同程序来操作。在虚拟机中运行的操作系统或应用程序看起来能够访问完整和完全的系统,但实际上,只有其一部分是可用的。虽然提供z/VM和Linux作为示例,但是根据本发明的一个或多个方面可以使用其他虚拟机管理器和操作系统。注册商标/>是根据来自Linux基金会(Linus Torvalds的专有被许可者,在全球基础上的标记的所有者)的子许可来使用的。
参考图7A描述了结合和使用本发明的一个或多个方面的计算环境的另一个实施方式。在这个示例中,计算环境10包括例如经由例如一条或多条总线18和/或其他连接彼此耦合的本机中央处理单元(CPU)12、存储器14、以及一个或多个输入/输出设备和/或接口16。作为示例,计算环境10可以包括由纽约州阿蒙克的国际商业机器公司提供的处理器;由加利福尼亚州帕洛阿尔托的惠普公司提供的具有英特尔Itanium 11处理器的HPSuperdome;和/或基于由国际商业机器公司、惠普公司、英特尔公司、甲骨文公司或其他公司提供的架构的其他机器。PowerPC是国际商业机器公司在至少一个管辖区域中的的商标或注册商标。Intel和Itanium是Intel公司或其子公司在美国和其他国家的商标或注册商标。
本机中央处理单元12包括一个或多个本机寄存器20,诸如在环境内的处理期间使用的一个或多个通用寄存器和/或一个或多个专用寄存器。这些寄存器包括表示在任何特定时间点的环境状态的信息。
此外,本机中央处理单元12执行存储在存储器14中的指令和代码。在一个特定示例中,中央处理单元执行存储在存储器14中的仿真器代码22。该代码使得在一个架构中配置的计算环境能够仿真另一架构。例如,仿真器代码22允许基于除了z/Architecture硬件架构之外的架构的机器(诸如PowerPC处理器、HP Superdome服务器或其他)仿真z/Architecture硬件架构,并且执行基于z/Architecture硬件架构开发的软件和指令。
参照图7B描述与模拟器代码22相关的进一步细节。存储在存储器14中的访客指令30包括经开发以在不同于本机CPU 12的架构的架构中执行的软件指令(例如,与机器指令相关)。例如,访客指令30可能已被设计成在基于z/Architecture硬件架构的处理器上执行,但取而代之的是在本机CPU 12上仿真,本机CPU 12可以是例如Intel Itanium 11处理器。在一个示例中,仿真器代码22包括指令提取例程32,以从存储器14获得一个或多个访客指令30,并且可选地提供对所获得的指令的本地缓冲。其还包含指令转换例程34,以确定已获得的访客指令的类型,且将访客指令转换为一或多个对应本机指令36。该转换包括,例如,识别要由访客指令执行的功能并选择执行该功能的本机指令。
进一步,仿真器代码22包括仿真控制例程40以使本机指令被执行。仿真控制例程40可致使本机CPU 12执行仿真一个或多个先前获得的访客指令的本机指令的例程,且在此执行结束时,将控制返回到指令提取例程以仿真下一访客指令或一组访客指令的获得。本机指令36的执行可包含将数据从存储器14加载到寄存器中;将数据从寄存器存储回到存储器;或执行如由转换例程确定的某一类型的算术或逻辑操作。
例如,每一例程以软件实施,所述软件存储在存储器中且由本机中央处理单元12执行。在其他示例中,例程或操作中的一个或多个以固件、硬件、软件或其某种组合来实现。可使用本机CPU的寄存器20或通过使用存储器14中的位置来仿真所仿真处理器的寄存器。在各实施例中,访客指令30、本机指令36和仿真器代码22可驻留在同一存储器中或可分布在不同存储器设备之间。
进一步,在一个实施例中,计算环境10包括耦合到存储器14的一个或多个辅助处理器15。一个或多个辅助处理器在一个架构中被定义并且被配置为仿真另一架构。例如,辅助处理器获得被仿真的架构的访客命令,将访客命令转换为一个架构的本机命令并执行本机命令。
上文所描述的计算环境仅为可使用的计算环境的示例。可以使用其他环境,包括但不限于非分区环境、分区环境、云环境和/或模拟环境;实施例不限于任何一个环境。尽管本文描述了计算环境的不同示例,但本发明的一个或多个方面可与许多类型的环境一起使用。本文提供的计算环境仅为示例。
每个计算环境能够被配置成包括本发明的一个或多个方面。例如,根据本发明的一个或多个方面,每个可以被配置用于每一命令过滤。
如本文中所描述,在一个或多个方面中,提供基于每一命令的命令类型过滤。可使用许多过滤技术,包含许多命令类型过滤技术。在一个特定示例中,提供无状态命令类型过滤。利用该过滤,在一个示例中,如果无状态命令过滤设施被设置为例如零,则不安装无状态命令过滤设施,并且辅助处理器(例如,密码卡)允许执行由辅助处理器支持的命令;否则,安装无状态命令过滤设施,并且辅助处理器是否执行命令至少取决于命令请求中的管理程序施加的命令类型过滤指示符的集合的值。下面描述在命令请求消息中包括无状态命令类型指示符的示范性实施例:
如果无状态命令类型指示符(例如,指示符322)在命令请求消息(例如,消息300)中被设置为零,则密码卡允许由该密码卡支持的所有命令被执行。如果无状态命令类型指示符(例如,指示符322)在命令请求消息(例如,消息300)中被设置为一,则密码卡不允许密码卡所支持的所有命令被执行。如果命令请求消息中的命令为无状态命令类型命令,则执行该命令。如果命令请求消息中的命令不是无状态命令类型命令,则在命令回复消息(例如,消息330)的CPRB(例如,回复CPRB 336)中以错误代码拒绝该命令。
在一个或多个方面,加密卡的配置模式(例如,协处理器模式)可用于提供无状态命令过滤(也称为非安全密钥过滤模式;例如,仅处理无状态命令类型命令)或具有精简命令集的另一过滤模式,而不将加密卡配置为新的加密卡模式,例如,加速器模式。过滤技术可用于过滤命令类型命令集,诸如在其他示例中的无状态命令类型命令或其他命令类型命令,诸如主密钥管理命令等。这减少了要购买和管理的辅助处理器的数量。
此外,本发明的一个或多个方面提供针对每一命令动态地切换过滤模式的能力;命令类型过滤是基于每一命令进行的。因此,每一命令在命令处理时间处可基于命令类型旗标值(例如,命令类型过滤指示符)而有效或无效。程序不必在各种加密卡模式之间切换以执行不同的过滤命令集。因此,管理和使用密码卡的数量的复杂性保持相同,而不管所支持的过滤模式的数量如何。程序复杂性的降低还增加了更高效的代码并且提高了代码执行时间和性能。
在进一步的实施例中,为了提供过滤功能,使用实际命令代码或助记符列表以及它们的功能代码或助记符来传送所支持的命令代码和/或它们的功能代码。
虽然本文描述了各种实施例,但是在不脱离本发明的方面的精神的情况下,许多变化和其他实施例是可能的。应注意,除非另外不一致,否则本文所述的每个方面或特征及其变体可与任何其他方面或特征组合。
一个或多个方面可涉及云计算。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图8,描述了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点52,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点52可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图8中所示的计算设备54A-N的类型仅旨在是说明性的,并且计算节点52和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
现在参见图9,示出了由云计算环境50(图8)提供的一组功能抽象层。提前应当理解,图9所示的组件、层和功能仅仅是说明性的,本发明的实施例不限于此。如所描述,提供以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;事务处理95;以及命令类型过滤处理96。
本发明的各个方面可以是任何可能的技术细节集成度的系统、方法和/M计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机M服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
除了上述之外,一个或多个方面可由提供客户环境的管理的服务提供商提供、提供、部署、管理、服务等。例如,服务提供商可为一个或多个客户创建、维护、支持等执行一个或多个方面的计算机代码和/或计算机基础设施。作为回报,作为示例,服务提供商可以根据订阅和/或费用协议从客户接收支付。另外或可替代地,服务提供商可以从向一个或多个第三方销售广告内容来接收支付。
在一个方面,可以部署用于执行一个或多个实施例的应用。作为一个示例,应用的部署包括提供可操作以执行一个或多个实施例的计算机基础设施。
作为又一方面,可以部署计算基础设施,包括将计算机可读代码集成到计算系统中,其中代码与计算系统组合能够执行一个或多个实施例。
作为又一方面,可提供一种用于集成计算基础设施的过程,所述过程包括将计算机可读代码集成到计算机系统中。计算机系统包括计算机可读介质,其中计算机介质包括一个或多个实施例。代码与计算机系统组合能够执行一个或多个实施例。
尽管以上描述了各种实施例,但这些实施例仅是示例。例如,其他架构的计算环境可以用于合并和使用一个或多个实施例。进一步,可以使用不同的指令、命令或操作。另外,可以指定不同类型的指示或标签。许多变化是可能的。
本文描述了各个方面。此外,在不背离本发明的各方面的精神的情况下,许多变化是可能的。应注意,除非另外不一致,否则本文所述的每个方面或特征及其变体可与任何其他方面或特征组合。
进一步,其他类型的计算环境可有益并被使用。作为示例,适合于存储和/或执行程序代码的数据处理系统是可用的,其包括通过系统总线直接或间接地耦合到存储器元件的至少两个处理器。存储器元件包括例如在程序代码的实际执行期间使用的本地存储器、大容量存储器和高速缓冲存储器,该高速缓冲存储器提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储器检索代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、定点设备、DASD、磁带、CD、DVD、拇指驱动器和其他存储介质等)可以直接地或通过中间的I/O控制器耦合到系统。网络适配器也可以耦合到系统,以使得数据处理系统能够通过居间的私有或公共网络耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是一些可用类型的网络适配器。
本文中使用的术语仅用于描述具体实施方式的目的,而并非旨在进行限制。如本文中使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括(comprises)”和/或“包含(comprising)”时,其指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。
以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等效物(如果有的话)旨在包括用于结合如具体要求保护的其他要求保护的元件来执行所述功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了对一个或多个实施例的描述,但并不旨在是详尽的或限于所公开的形式。对于本领域普通技术人员而言,许多修改和变化将是显而易见的。选择和描述实施例以便最好地解释各个方面和实际应用,并且使本领域的其他普通技术人员能够理解具有适合于预期的特定用途的不同修改的不同实施例。
Claims (20)
1.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读存储介质以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,以执行一种方法,所述方法包括:
由辅助处理器动态地确定由所述辅助处理器获得的命令是否要由所述辅助处理器处理,所述动态地确定基于每一命令被执行,并且包括:
由所述辅助处理器获得请求者的命令请求,所述命令请求包括指示用于由所述辅助处理器针对所述请求者处理的至少一个有效命令类型的至少一个过滤指示符;
由所述辅助处理器使用所述至少一个过滤指示符来确定所述命令请求的命令对于由所述辅助处理器针对所述请求者的处理是否有效;以及
由所述辅助处理器基于确定所述命令对于由所述辅助处理器针对所述请求者的处理是有效的,处理所述命令。
2.根据权利要求1所述的计算机程序产品,其中,所述辅助处理器被配置为一个模式,并且所述动态地确定使所述辅助处理器能够与其被配置的所述一个模式不同地操作。
3.根据权利要求2所述的计算机程序产品,其中被配置在所述一个模式下的所述辅助处理器能够处理一命令集,并且其中所述辅助处理器不同地操作在于其处理所述命令集的精简集。
4.根据权利要求1所述的计算机程序产品,其中,基于每一命令设置所述至少一个过滤指示符。
5.根据权利要求4所述的计算机程序产品,其中,基于对应于所述命令请求的所述请求者的计算策略来设置所述至少一个过滤指示符。
6.根据权利要求1所述的计算机程序产品,其中,所述至少一个过滤指示符包括无状态命令类型指示符,其中,基于所述无状态命令类型指示符被设置为一个值,被确定为无状态命令类型命令的命令对于由所述辅助处理器针对所述请求者的处理是有效的,并且其他命令类型命令对于由所述辅助处理器针对所述请求者的处理是无效的。
7.根据权利要求6所述的计算机程序产品,其中,基于所述无状态命令类型指示符被设置为另一个值,所述其他命令类型命令也被认为对于由所述辅助处理器针对所述请求者的处理是有效的。
8.根据权利要求1所述的计算机程序产品,其中,所述处理包括准备回复,所述回复包括所述命令的处理结果,所述回复被发送至所述请求者。
9.根据权利要求1所述的计算机程序产品,其中,所述方法进一步包括基于确定所述命令对于由所述辅助处理器针对所述请求者的处理无效而准备指示错误的错误回复,所述错误回复被发送至所述请求者。
10.根据权利要求1所述的计算机程序产品,其中,所述辅助处理器包括密码卡。
11.一种用于促进计算环境内的处理的计算机系统,所述计算机系统包括:
存储器;以及
至少一个处理器,与所述存储器通信,其中,所述计算机系统被配置为执行一种方法,所述方法包括:
由辅助处理器动态地确定由所述辅助处理器获得的命令是否要由所述辅助处理器处理,所述动态地确定基于每一命令被执行,并且包括:
由所述辅助处理器获得请求者的命令请求,所述命令请求包括指示用于由所述辅助处理器针对所述请求者处理的至少一个有效命令类型的至少一个过滤指示符;
由所述辅助处理器使用所述至少一个过滤指示符来确定所述命令请求的命令对于由所述辅助处理器针对所述请求者的处理是否有效;以及
由所述辅助处理器基于确定所述命令对于由所述辅助处理器针对所述请求者的处理是有效的,处理所述命令。
12.根据权利要求11所述的计算机系统,其中,所述辅助处理器被配置为一个模式,并且所述动态地确定使所述辅助处理器能够与其被配置的所述一个模式不同地操作。
13.根据权利要求11所述的计算机系统,其中,基于每一命令设置所述至少一个过滤指示符。
14.根据权利要求11所述的计算机系统,其中,所述至少一个过滤指示符包括无状态命令类型指示符,其中,基于所述无状态命令类型指示符被设置为一个值,被确定为无状态命令类型命令的命令对于由所述辅助处理器针对所述请求者的处理是有效的,并且其他命令类型命令对于由所述辅助处理器针对所述请求者的处理是无效的。
15.根据权利要求11所述的计算机系统,其中,所述方法进一步包括基于确定所述命令对于由所述辅助处理器针对所述请求者的处理无效而准备指示错误的错误回复,所述错误回复被发送至所述请求者。
16.一种促进计算环境内的处理的计算机实施的方法,所述计算机实施的方法包括:
由辅助处理器动态地确定由所述辅助处理器获得的命令是否要由所述辅助处理器处理,所述动态地确定基于每一命令被执行,并且包括:
由所述辅助处理器获得请求者的命令请求,所述命令请求包括指示用于由所述辅助处理器针对所述请求者处理的至少一个有效命令类型的至少一个过滤指示符;
由所述辅助处理器使用所述至少一个过滤指示符来确定所述命令请求的命令对于由所述辅助处理器针对所述请求者的处理是否有效;以及
由所述辅助处理器基于确定所述命令对于由所述辅助处理器针对所述请求者的处理是有效的,处理所述命令。
17.根据权利要求16所述的计算机实施的方法,其中,所述辅助处理器被配置为一个模式,并且所述动态地确定使所述辅助处理器能够与其被配置的所述一个模式不同地操作。
18.根据权利要求16所述的计算机实施的方法,其中,基于每一命令设置所述至少一个过滤指示符。
19.根据权利要求16所述的计算机实施的方法,其中,所述至少一个过滤指示符包括无状态命令类型指示符,其中,基于所述无状态命令类型指示符被设置为一个值,被确定为无状态命令类型命令的命令对于由所述辅助处理器针对所述请求者的处理是有效的,并且其他命令类型命令对于由所述辅助处理器针对所述请求者的处理是无效的。
20.根据权利要求16所述的计算机实施的方法,进一步包括基于确定所述命令对于由所述辅助处理器针对所述请求者的处理无效而准备指示错误的错误回复,所述错误回复被发送至所述请求者。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/122,346 | 2020-12-15 | ||
US17/122,346 US11487556B2 (en) | 2020-12-15 | 2020-12-15 | Command-type filtering based on per-command filtering indicator |
PCT/EP2021/082175 WO2022128320A1 (en) | 2020-12-15 | 2021-11-18 | Command-type filtering based on per-command filtering indicator |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116569135A true CN116569135A (zh) | 2023-08-08 |
Family
ID=78819521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180082501.7A Pending CN116569135A (zh) | 2020-12-15 | 2021-11-18 | 基于每一命令过滤指示符的命令类型过滤 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11487556B2 (zh) |
EP (1) | EP4264419A1 (zh) |
JP (1) | JP2023552648A (zh) |
CN (1) | CN116569135A (zh) |
WO (1) | WO2022128320A1 (zh) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
US20020131368A1 (en) | 2001-03-14 | 2002-09-19 | Raftelis Michael T. | Method and apparatus for processing a network manager command in a communication network |
US7228401B2 (en) | 2001-11-13 | 2007-06-05 | Freescale Semiconductor, Inc. | Interfacing a processor to a coprocessor in which the processor selectively broadcasts to or selectively alters an execution mode of the coprocessor |
US8032741B2 (en) | 2007-08-22 | 2011-10-04 | Intel Corporation | Method and apparatus for virtualization of a multi-context hardware trusted platform module (TPM) |
US8584229B2 (en) | 2007-12-21 | 2013-11-12 | Intel Corporation | Methods and apparatus supporting access to physical and virtual trusted platform modules |
US20110083161A1 (en) * | 2008-06-04 | 2011-04-07 | Takayuki Ishida | Vehicle, maintenance device, maintenance service system, and maintenance service method |
US8019922B2 (en) | 2008-10-21 | 2011-09-13 | International Business Machines Corporation | Interruption facility for adjunct processor queues |
US8832696B2 (en) * | 2010-12-22 | 2014-09-09 | International Business Machines Corporation | Adaptive channel for algorithms with different latency and performance points |
US9118642B2 (en) * | 2011-06-05 | 2015-08-25 | Apple Inc. | Asset streaming |
US10079044B2 (en) | 2012-12-20 | 2018-09-18 | Advanced Micro Devices, Inc. | Processor with host and slave operating modes stacked with memory |
US9769227B2 (en) | 2014-09-24 | 2017-09-19 | Microsoft Technology Licensing, Llc | Presentation of computing environment on multiple devices |
US10476841B2 (en) | 2018-03-23 | 2019-11-12 | Microsoft Technology Licensing, Llc | Stateless tunnels |
US10726865B2 (en) | 2018-10-11 | 2020-07-28 | Western Digital Technologies, Inc. | Zoned block command to stream command translator |
-
2020
- 2020-12-15 US US17/122,346 patent/US11487556B2/en active Active
-
2021
- 2021-11-18 WO PCT/EP2021/082175 patent/WO2022128320A1/en active Application Filing
- 2021-11-18 JP JP2023535701A patent/JP2023552648A/ja active Pending
- 2021-11-18 EP EP21816013.3A patent/EP4264419A1/en active Pending
- 2021-11-18 CN CN202180082501.7A patent/CN116569135A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220188125A1 (en) | 2022-06-16 |
US11487556B2 (en) | 2022-11-01 |
EP4264419A1 (en) | 2023-10-25 |
WO2022128320A1 (en) | 2022-06-23 |
JP2023552648A (ja) | 2023-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020426828B2 (en) | Reserving one or more security modules for secure guest | |
KR20210121087A (ko) | 보안 운영 체제 이미지의 점진적 복호화 및 무결성 검증 | |
CN116601600A (zh) | 在线数据分组变换 | |
US11983576B2 (en) | Accessing topological mapping of cores | |
CN117751352A (zh) | 延迟收回安全访客资源 | |
US11086807B2 (en) | Allocating address space | |
US11487556B2 (en) | Command-type filtering based on per-command filtering indicator | |
WO2022127538A1 (en) | Adjunct processor command-type filtering | |
US11875200B2 (en) | Adjunct processor extended message limit facility | |
US20210406390A1 (en) | Move data and set storage key based on key function control | |
US10831480B2 (en) | Move data and set storage key instruction | |
US11068565B2 (en) | System obtains software features information of another system | |
US20230350721A1 (en) | Reducing data format conversion of an accelerator | |
JP2024510893A (ja) | 複数の暗号システムを用いたハイブリッドセキュリティ証明書の生成 | |
CN117795510A (zh) | 经由元数据提供给安全访客的机密数据 | |
CN115774661A (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 |