the specific implementation mode can be as follows: the method comprises the steps that a user opens an application program on a client, then inputs own account information and clicks 'login', or after the user opens the application program, the application program automatically logs in the account information of the user because the user uses the application program before, and the client carries the account information of the user on an application program access request and sends the application program access request to gray scale release equipment.
S102: and if the user identification is the user identification in the gray scale release list of the application program, releasing the gray scale release content of the application program to the client so as to enable the gray scale release content to run on the client.
the gray release list is a list formed by user identifications of users of gray release content to be provided by the gray release equipment, and if the user identifications are the user identifications in the preset gray release list, the gray release content of the application program corresponding to the identifications is sent to the client, so that the client can run the application program containing the gray release content, and the users can experience the gray release content when using the application program.
the gray release content of the application refers to a new product characteristic of the application to be released by the gray release device, and may be a new function of the application, such as a new interface color of the application, a newly added sharing function of the application, a mode of liking, a mode of paying attention to friends, and the like.
in the embodiment of the disclosure, the gray release list can be formed in advance, and when a user in the gray release list requests to access an application program, the gray release content of the application degree is directly provided for the user, without requiring the user to experience a new function of a product, so that the period of gray release is reduced. Meanwhile, the gray release content of the application degree can be provided only for the user in the gray release list, the range of gray release is well controlled, the whole gray release process is not sensitive to the user, prompt information can be provided for the user, the user can be prompted which functions are new functions corresponding to gray release, and feedback information of the user to the new functions can be collected subsequently.
In an optional embodiment of the disclosure, the method further comprises:
determining at least one target gray level issuing range;
And forming a gray release list according to the user identification of the user in at least one target gray release range.
In an optional embodiment of the present disclosure, the target gray scale publishing range is an enterprise user of the application, and the users within the target gray scale publishing range are individual users under the enterprise user.
Gray scale publishing management personnel (namely personnel for managing the gray scale publishing equipment) input at least one target gray scale publishing range and gray scale publishing contents respectively corresponding to the target gray scale publishing ranges into the gray scale publishing equipment, so that the gray scale publishing equipment can determine the gray scale publishing contents corresponding to the target gray scale publishing ranges, and user identifications of users in the at least one target gray scale publishing range form a gray scale publishing list, so that users in the gray scale publishing list can obtain the gray scale publishing contents of corresponding application degrees by using the user identifications.
the dividing mode of the gray level issuing range can be configured according to actual requirements. If the target gray scale distribution range may be a designated enterprise user of the application program, the user in the target gray scale distribution range is a personal user under the enterprise user, and for example, the target gray scale distribution range may also be a target geographic location area, and the user in the target gray scale distribution range is a user in the target geographic location area.
in an optional embodiment of the disclosure, the method further comprises:
determining gray release contents corresponding to the target gray release ranges respectively;
establishing a mapping relation between the user identification of the user in each target gray scale release range and the corresponding gray scale release content;
The method for releasing the gray release content of the application program to the client comprises the following steps:
determining target gray release content corresponding to the user identifier in the application program access request according to the user identifier in the application program access request and the mapping relation;
And issuing the target gray release content to the client.
after the gray scale publishing device obtains the at least one target gray scale publishing range entered by the gray scale publishing management personnel and the gray scale publishing contents respectively corresponding to the at least one target gray scale publishing range, a mapping relationship between the user identifier of the user in each target gray scale publishing range and the corresponding gray scale publishing contents is also established, and the mapping relationship may be specifically: the user identification of the user in one or more target gray scale distribution ranges corresponds to the same gray scale distribution content, and/or the user identification of the user in one target gray scale distribution range corresponds to one or more gray scale distribution contents. For example, the mapping relationship may be as shown in table 1 below:
TABLE 1
as shown in the mapping relationship in table 1, the user identifiers of the users in the enterprise user X0 correspond to the grayscale release content Y0 of the application level one by one, the user identifiers of the users in the enterprise user X2 and the user identifiers of the users in the enterprise user X3 both correspond to the grayscale release content Y2 of the application level, the user identifiers of the users in the enterprise user X3 may also correspond to the grayscale release content Y1 of the application level, and the user identifiers of the users in the enterprise user X1 may also correspond to the grayscale release content Y1 of the application level.
The gray scale publishing device can determine target gray scale publishing contents corresponding to the user identifier in each gray scale publishing content according to the user identifier and the mapping relation in the application program access request, wherein the determined target gray scale publishing range is the gray scale publishing contents of the application program published to the client in the step S102, and the determined gray scale publishing contents are published to the client.
in an optional embodiment of the present disclosure, after the issuing the grayscale release content of the application to the client, the method further includes:
and receiving user feedback information aiming at the gray-scale release content sent by the client so as to judge whether the release range of the corresponding gray-scale release content is expanded or not based on the user feedback information.
The gray scale publishing device publishes the gray scale publishing content of the application program corresponding to the user identification in the application program access request to the client, so that the client is displayed to the user, the gray scale publishing device can also collect feedback information of the gray scale publishing content for the users, for example, a feedback information table is provided for the users through the client, and the users can fill and submit information such as experience and the like fed back and used by the information table.
the gray scale publishing device receives user feedback information aiming at the gray scale publishing content sent by a user through a client, the user feedback information comprises evaluation of the user aiming at the gray scale publishing content, the specific form of the user feedback information can be grade evaluation of the user aiming at the gray scale publishing content, for example, after the gray scale publishing device determines that the user uses an application program with the gray scale publishing content (specifically, the gray scale publishing device receives an application program access request sent by the client corresponding to the user), the gray scale publishing device can display a plurality of grade evaluation options to the user through the client according to a preset rule, so that the user can perform grade evaluation on the gray scale publishing content, for example, the gray scale publishing content experience grade is divided into 1 to 10 minutes according to the preset rule, and the gray scale publishing management device can display the options of 1 to 10 minutes to the user through the client, the rating option may also be three-level high, medium and low, and more possibilities regarding the rating option are not limited herein. The specific form of the user feedback information may also be questionnaires of users for the gray-scale distribution content, for example, after the gray-scale distribution management device determines that the user has used an application program with the gray-scale distribution content, the gray-scale distribution management device provides the questionnaires to the users through the client for the gray-scale distribution content so as to collect the feedback information of the users for the gray-scale distribution content.
the gray scale release equipment judges whether to expand the release range of the gray scale release content or not according to the user feedback information of the user aiming at the corresponding gray scale release content, namely judges whether to promote the gray scale release content to more users or not.
In an optional embodiment of the present disclosure, the grey scale release content comprises at least one new function of the application;
The method further comprises the following steps:
for the same gray release content, when the number of the received user feedback information is larger than a set threshold value, generating a gray release statistical report based on the received user feedback information;
Displaying the gray scale release statistical report to corresponding gray scale release management personnel;
Receiving an instruction input by a gray scale release manager according to a gray scale release statistical report;
And according to the indication, carrying out corresponding processing on the new function corresponding to the indication, wherein the indication comprises a modification indication, a gray release cancellation indication or a popularization indication of the new function.
it should be noted that the new function of the application program may be a function newly added to the application program, or may be a new function obtained by changing an old function of the application level, for example, a gray scale distribution manager obtains the new function of the application program by modifying the original program configuration.
in the embodiment of the present disclosure, at least one new function is determined by the identifier in the access request, the number of the indication may be one, the indication corresponding to the new function may be all new functions in the at least one new function, and if the number of the at least one new function is two or more, the indication corresponding to the new function may also be part of the at least one new function, that is, after the grayscale issuing device receives one indication, only part of the at least one new function is processed. The number of the indications can be multiple, and different indications can be used for corresponding to different new functions so as to promote or update different new functions and the like.
In the disclosed embodiment, the gray scale publishing statistical report is obtained by the gray scale publishing device based on a large amount of user feedback information, and specifically, the gray scale publishing statistical report can be determined by a training model in the gray scale publishing device, the gray scale publishing device displays the gray scale publishing statistical report to a gray scale publishing manager, the gray scale publishing manager inputs one or more instructions on the interface of the gray scale publishing device according to the gray scale publishing statistical report, for a certain indication, the gray scale issuing equipment carries out corresponding processing on a new function corresponding to the indication, the indication may be an indication including a modification indication of the new function including deletion, update, or the like of the new function, a gradation issuance cancellation indication, that is, an indication for canceling issuance of gradation issuance contents corresponding to the user identifier in the access request, or a promotion indication of the new function.
In an optional embodiment of the present disclosure, if the indication includes a promotion indication of the new function, the promotion indication of the new function carries information of an area to be promoted, which is input by a gray release manager;
According to the instruction, the corresponding processing of the new function corresponding to the instruction comprises the following steps:
Providing a new function corresponding to the indication for the user of the target area corresponding to the information of the area to be promoted according to the information of the area to be promoted;
If the indication comprises a modification indication of the new function, the modification indication of the new function carries updated data which is input by a gray release manager and aims at the new function corresponding to the indication;
according to the instruction, the corresponding processing of the new function corresponding to the instruction comprises the following steps:
And updating the corresponding new function according to the updating data.
In the embodiment of the present disclosure, if the gray scale publishing manager determines to expand the publishing range of the gray scale publishing content according to the gray scale publishing statistics report, the gray scale publishing manager may input information of an area to be promoted on the gray scale publishing device interface, where a target area corresponding to the information of the area to be promoted may be one or more enterprises or a certain geographical location area, and the gray scale publishing device may provide a new function corresponding to an indication to a user of the target area corresponding to the information of the area to be promoted according to the information of the area to be promoted.
if the gray scale release manager finds that at least one new function of the application program has a problem and needs to be modified according to the gray scale release statistical report, the gray scale release manager can input updated data aiming at the new function corresponding to the indication on the gray scale release equipment interface, the updated data is the data of the new function corresponding to the update indication, so that the gray scale release equipment can correspondingly update the new function corresponding to the indication, and the updated new function can be popularized again after the update is completed.
The disclosure is explained from the perspective of a server, and a method for issuing a gray scale according to an embodiment of the disclosure is discussed from the perspective of a client, where the method mainly includes:
Sending an application program access request to the gray level issuing equipment, wherein the access request carries a user identifier of a user corresponding to the client;
Receiving gray release content of the application program, which is sent by gray release equipment when the user identification is determined to be the user identification in a gray release list of the application program;
running the grey scale published content on the client.
The method shown in the embodiment of the present disclosure is substantially the same as the method shown in fig. 1 in the foregoing, and is different only in that the method shown in fig. 1 is described with a grayscale distribution device (e.g., a server) as an execution subject of the method, and the method shown in the embodiment of the present disclosure is described with a client as an execution subject of the method. Therefore, the method and the scheme of the alternative embodiment thereof shown in the embodiment of the present disclosure may specifically refer to the description of the method and the scheme of the alternative embodiment thereof shown in fig. 1 in the foregoing, and are not described herein again.
In an optional embodiment of the disclosure, after running the greyscale distribution content on the client, the method further comprises:
and sending user feedback information aiming at the gray scale release content to the gray scale release equipment so that the gray scale release equipment judges whether to expand the release range of the corresponding gray scale release content or not based on the user feedback information.
further, the gray scale release device may also modify a new function of the application program in the gray scale release content according to the user feedback information, or cancel the release of the gray scale release content according to the user feedback information.
the solutions provided by the embodiments of the present disclosure are further described below with reference to an example.
referring to fig. 2, which is a system framework diagram in this example, the following discusses, with reference to fig. 2, a solution of the present disclosure, where the grayscale publishing device of the present disclosure includes several service modules, such as a grayscale registration service, a grayscale hosting service, and a tenant member management service, where:
1. tenant member management service: all member IDs of a tenant (enterprise user in this example) are recorded therein, for example, if enterprise user a has thirty employees, the IDs of 30 employees of enterprise user a are recorded.
2. the client can be an application service of an upper layer application, such as a web function which we contact, and the application service can be applied to an online document function and can also be extended to other web services.
3. the gray scale registration service and the background management service are adopted, and a gray scale release manager can register a member list of an enterprise to be subjected to gray scale release so as to identify the members of the enterprise to be subjected to gray scale release.
4. The gray scale hosting service is equivalent to an intermediate layer and exchanges various information.
the gray release method specifically comprises a background preparation stage and a client release stage, wherein the specific process of the background preparation stage is as follows:
Gray scale registration service: the enterprise user A registers through the gray registration service, and the enterprise user A firstly experiences a new function B of the product application program. After the registration is successful, a mapping relation between the enterprise user A and the new function B is established in the gray registration service, so that the members in the enterprise user A can experience the new function B.
The gray scale hosting service calls an interface of the gray scale registration service, obtains the mapping relation between the enterprise user A and the new function B, and then obtains a member list of the enterprise user A from the tenant member management service. Because there may be too many members in the enterprise, it is optimized to perform batch pull, for example, pull the ID of 1000 members in enterprise user a at a time until all member lists are obtained, and the grayscale hosting service can know which members can experience function B.
The specific process of the client publishing stage is as follows:
When the member C in the enterprise user A accesses the application program, the member C carries the ID of the member C, and the gray level hosting service finds that the member C can experience the new function B, so that the new function of the application program is returned to the client, and the user C can experience the new function B of the application program.
All members in the enterprise user A can experience the information function B, user feedback information of all members in the enterprise user A to the new function B is received, a gray scale release statistical report is generated, the gray scale release statistical report is displayed to a gray scale release manager, if the experience of the members is better reflected by the gray scale release statistical report, the gray scale release manager can register more enterprise member lists with gray scale release in a gray scale registration service, and therefore the new function B is popularized. Or the gray scale release manager can further improve the new function B according to the feedback of the members in the gray scale release statistical report so as to adapt to the requirements of more users, and when the gray scale release manager improves the new function B, the gray scale release manager can visit the members based on the IDs of the members in the enterprise user A so as to know the experience of the members on the new function B in more detail. Or the gray release manager can cancel the gray release of the new function B and no longer provide the new function B to any member in the enterprise.
it can be seen that after the function of the application program is modified or a new function is added, the gray scale release can be performed by designating an enterprise client, the effective range of the test function can be strictly controlled, and users who release the gray scale can be clearly known, so that the problem location and the user return visit are facilitated. Meanwhile, specific enterprise members can be appointed to experience new functions, the whole process is not sensitive to the appointed users, and the method can be conveniently expanded to various other scenes in which specific area users need to be appointed to perform gray level publishing.
fig. 3 is a schematic structural diagram of a gray scale issuing apparatus provided in an embodiment of the present disclosure, and as shown in fig. 3, the apparatus in the embodiment of the present disclosure may include:
an access request receiving module 301, configured to obtain an application access request of a client, where the access request carries a user identifier of a user corresponding to the client;
The grayscale issuing module 302 is configured to issue grayscale issuing contents of the application program to the client when the user identifier is a user identifier in a grayscale issuing list of the application program, so that the grayscale issuing contents are run on the client.
in an optional embodiment of the disclosure, the apparatus further comprises:
the determining module is used for determining at least one target gray level issuing range;
And the gray release list forming module is used for forming a gray release list according to the user identification of the user in at least one target gray release range.
in an optional embodiment of the present disclosure, the target gray scale publishing range is an enterprise user of the application, and the users within the target gray scale publishing range are individual users under the enterprise user.
In an optional embodiment of the present disclosure, the determining module is further configured to determine gray scale release contents corresponding to each target gray scale release range;
the apparatus also includes a mapping relationship establishing module,
the mapping relation establishing module is used for establishing the mapping relation between the user identification of the user in each target gray scale release range and the corresponding gray scale release content;
when the grayscale issuing module 302 issues the grayscale issuing content of the application program to the client, it is specifically configured to:
determining target gray release content corresponding to the user identifier in the application program access request according to the user identifier in the application program access request and the mapping relation;
And issuing the target gray release content to the client.
in an optional embodiment of the present disclosure, after the gray release module 302 releases the gray release content of the application program to the client, the apparatus further includes: a user feedback information receiving module;
And the user feedback information receiving module is used for receiving the user feedback information of the gray release content sent by the client so as to judge whether the release range of the corresponding gray release content is expanded or not based on the user feedback information.
in an optional embodiment of the present disclosure, the grey scale release content comprises at least one new function of the application;
the device also includes:
The statistical report generating module is used for generating a gray scale release statistical report based on the received user feedback information when the number of the received user feedback information is larger than a set threshold value for the same gray scale release content;
the display module is used for displaying the gray scale release statistical report to corresponding gray scale release management personnel;
the indication receiving module is used for receiving an indication input by a gray scale release manager according to the gray scale release statistical report;
and the processing module is used for carrying out corresponding processing on the new function corresponding to the indication according to the indication, wherein the indication comprises a modification indication, a gray release cancellation indication or a popularization indication of the new function.
in an optional embodiment of the present disclosure, if the indication includes a promotion indication of the new function, the promotion indication of the new function carries information of an area to be promoted, which is input by a gray release manager;
The processing module is specifically configured to, when performing corresponding processing on the new function corresponding to the instruction according to the instruction:
Providing a new function corresponding to the indication for the user of the target area corresponding to the information of the area to be promoted according to the information of the area to be promoted;
If the indication comprises a modification indication of the new function, the modification indication of the new function carries updated data which is input by a gray release manager and aims at the new function corresponding to the indication;
the processing module is specifically configured to, when performing corresponding processing on the new function corresponding to the instruction according to the instruction:
And updating the corresponding new function according to the updating data.
The embodiment of the present disclosure further provides a schematic structural diagram of a gray scale issuing device, where the device may include:
the receiving and sending module is used for sending an application program access request to the gray scale issuing equipment, wherein the access request carries a user identifier of a user corresponding to the client;
The receiving and sending module is also used for receiving the gray scale release content of the application program sent by the gray scale release equipment when the user identification is determined to be the user identification in the gray scale release list of the application program;
and the operation module is used for operating the gray release content on the client.
Optionally, after the running module runs the gray release content on the client, the transceiver module is further configured to:
And sending user feedback information aiming at the gray scale release content to the gray scale release equipment so that the gray scale release equipment judges whether to expand the release range of the corresponding gray scale release content or not based on the user feedback information.
Referring now to fig. 4, a schematic diagram of an electronic device (e.g., the grayscale distribution device of fig. 1) 600 suitable for implementing embodiments of the present disclosure is shown. The gradation issuing device in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 4 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
the electronic device includes: a memory and a processor, wherein the processor may be referred to as the processing device 601 hereinafter, and the memory may include at least one of a Read Only Memory (ROM)602, a Random Access Memory (RAM)603 and a storage device 608 hereinafter, which are specifically shown as follows:
as shown in fig. 4, electronic device 600 may include a processing means (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
generally, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 4 illustrates an electronic device 600 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 608, or may be installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
it should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (hypertext transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
the computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring an application program access request of a client, wherein the access request carries a user identifier of a user corresponding to the client; and if the user identification is the user identification in the gray scale release list of the application program, releasing the gray scale release content of the application program to the client so as to enable the gray scale release content to run on the client.
computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules or units described in the embodiments of the present disclosure may be implemented by software or hardware. The name of the module or unit does not in some cases constitute a limitation of the unit itself, for example, the access request receiving module may also be described as a "module for obtaining an application access request of a client".
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
in the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.