Disclosure of Invention
The embodiment of the invention provides a resource scheduling method and device, which are used for improving the resource utilization rate and reducing the resource waste.
In a first aspect, an embodiment of the present invention provides a resource scheduling method, including: the resource scheduling device acquires resource allocation information of downlink resources, wherein the resource allocation information is used for determining whether the downlink resources are occupied; determining whether a hole resource exists in the downlink resource according to the resource allocation information, if so, determining that User Equipment (UE) to be scheduled meeting a first preset condition allocates a narrow-band physical downlink control channel (NPDCCH) resource according to the hole resource; wherein the hole resource indicates an unoccupied and continuous radio bearer RB; the first preset condition includes that uplink data transmission requirements exist, the number of RBs required by downlink control information DCI for carrying and scheduling uplink data transmission is smaller than or equal to the number of RBs of the hole resources, and the RB position indicated by the hole resources is in the current search space of the UE to be scheduled. Therefore, NPDCCH resources are allocated to the UE to be scheduled with uplink data transmission requirements according to the hole resources, so that the fragments of the resources can be reduced, the resource utilization rate is improved, and the resource waste is reduced.
Optionally, the determining whether the hole resource exists in the downlink resource according to the resource allocation information includes: determining at least one group of unoccupied continuous RBs from the downlink resources according to the resource allocation information; if the number of any unoccupied continuous RBs is smaller than a preset RB number threshold and is larger than the minimum value of the RB number required by each UE to be scheduled for carrying and scheduling DCI of uplink data transmission, determining that the unoccupied continuous RBs are hollow resources. Thus, each determined group of cavity resources can meet the number of RBs required by at least one UE to be scheduled.
Optionally, the first preset condition further includes: the UE to be scheduled is the UE with the minimum difference between the RB number required by the DCI for carrying and scheduling the uplink data transmission in the UE with the uplink data transmission requirement and the RB number of the cavity resource. In this way, the hole resources are allocated to the UE to be scheduled with the minimum difference between the number of RBs required for carrying and scheduling downlink control information DCI for uplink data transmission and the number of RBs of the hole resources, so that the hole resources are occupied as much as possible, unoccupied RBs occur as little as possible, the resource utilization rate can be improved to the greatest extent, and resource waste is avoided.
Optionally, after determining whether the hole resource exists in the downlink resource according to the resource allocation information, the method further includes: and if the fact that the cavity resources do not exist in the downlink resources is determined, NPDCCH resources and NPDSCH resources are allocated to the UE to be scheduled with the downlink data transmission requirements in the downlink resources. Therefore, the uplink and downlink scheduling sequences can be reasonably arranged, and the interval resources of downlink scheduling are divided into DCI (downlink control information) of uplink scheduling, so that the efficiency of multi-UE scheduling is improved, and the operation of blind searching of resources by UE is reduced.
Optionally, the method further comprises: updating the resource allocation information of the downlink resource to obtain updated resource allocation information; if the updated resource allocation information is determined to meet a second preset condition, ending the current scheduling; the second preset condition includes that the total downlink resource amount allocated by the downlink resource reaches a preset total amount threshold, or the number of the UEs to be scheduled, which are allocated resources in the current scheduling period, reaches a preset number threshold. Therefore, the resources in each scheduling period can be reasonably distributed, and the resource utilization rate is improved.
In a second aspect, an embodiment of the present invention provides a resource scheduling apparatus, including:
an acquisition unit, configured to acquire resource allocation information of a downlink resource; the resource allocation information is used for determining whether the downlink resource is occupied;
the processing unit is used for determining whether a cavity resource exists in the downlink resource according to the resource allocation information; if the downlink resource has a hole resource, distributing a narrow-band physical downlink control channel NPDCCH resource for the UE to be scheduled which meets a first preset condition according to the hole resource;
wherein the hole resource indicates an unoccupied and continuous radio bearer RB; the first preset condition includes that uplink data transmission requirements exist, the number of RBs required by DCI for carrying and scheduling uplink data transmission is smaller than or equal to the number of RBs of the hole resources, and the RB position indicated by the hole resources is within the current search space of the UE to be scheduled.
Optionally, the processing unit is configured to: determining at least one group of unoccupied continuous RBs from the downlink resources according to the resource allocation information; if the number of any unoccupied continuous RBs is smaller than a preset RB number threshold and is larger than the minimum value of the RB number required by each UE to be scheduled for carrying and scheduling DCI of uplink data transmission, determining that the unoccupied continuous RBs are hollow resources.
Optionally, the first preset condition further includes: the UE to be scheduled is the UE with the minimum difference between the RB number required by the DCI for carrying and scheduling the uplink data transmission in the UE with the uplink data transmission requirement and the RB number of the cavity resource.
Optionally, the processing unit is further configured to: and if the fact that the cavity resources do not exist in the downlink resources is determined, NPDCCH resources and NPDSCH resources are allocated to the UE to be scheduled with the downlink data transmission requirements in the downlink resources.
Optionally, the processing unit is further configured to: updating the resource allocation information of the downlink resource to obtain updated resource allocation information; if the updated resource allocation information is determined to meet a second preset condition, ending the current scheduling; the second preset condition includes that the total downlink resource amount allocated by the downlink resource reaches a preset total amount threshold, or the number of the UEs to be scheduled, which are allocated resources in the current scheduling period, reaches a preset number threshold.
In a third aspect, an embodiment of the present invention provides a network device, including:
a memory for storing program instructions;
and a processor, configured to invoke the program instructions stored in the memory, and execute the method according to the first aspect or any embodiment of the first aspect according to the obtained program.
In a fourth aspect, embodiments of the present invention provide a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the method of the first aspect or any embodiment of the first aspect.
Detailed Description
In order to make the objects, technical solutions and advantageous effects of the present invention more apparent, the present invention will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
Fig. 1 is a schematic diagram of a system architecture according to an embodiment of the present invention.
As shown in fig. 1, the system architecture includes a base station 101, a terminal 102, and a terminal 103, and the system further includes a resource scheduling device (not shown in fig. 1) for performing the resource scheduling method, where the resource scheduling device may be a separate device in the base station, or may be a functional module or a functional unit integrated in the base station. Between base station 101 and terminal 102, and between base station 101 and terminal 103 via wireless connections. The base station schedules uplink and downlink resources for terminal 102 and terminal 103.
Either of the terminals 103 and 104 may communicate with one or more core networks via a radio access network (Radio Access Network, RAN for short), and a terminal may refer to a User Equipment (UE), an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote terminal, a mobile device, a User terminal, a wireless communication device, a User agent, or a User Equipment. An access terminal may be a cellular telephone, a cordless telephone, a session initiation protocol (Session Initiation Protocol, SIP) phone, a wireless local loop (Wireless Local Loop, WLL) station, a personal digital assistant (Personal Digital Assistant, PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, an in-vehicle device, a wearable device, etc.
Based on the system architecture in fig. 1, fig. 2 schematically illustrates downlink resource scheduling and feedback timing provided by the embodiment of the present invention.
The downlink resource scheduling process comprises searching downlink NPDCCH resources, NPDSCH resources and ACK/NACK feedback resources, wherein the NPDCCH resources and the NPDSCH resources are allocated from the downlink resources, and the ACK/NACK feedback resources are allocated from the uplink resources. As shown in fig. 2, a Downlink (DL) resource is allocated for transmitting downlink control information (Downlink Control InfoThe indication, DCI) information indicates NPDSCH resources for transmitting downlink data. Then, after determining the ending subframe of the NPDCCH resource, the corresponding NPDSCH resource and ACK/NACK feedback resource are started to be allocated. As shown in fig. 2, the end subframe n of NPDCCH resource and the transmission subframe of NPDSCH resource is n+5+k 0 Wherein k is 0 The NPDSCH resources correspond to the delays of the NPDCCH resources. The transmission subframe of the ACK/NACK feedback resource is n+k 0 -1, wherein k 1 The feedback resources for ACK/NACK correspond to the latency of the NPDSCH resources.
Based on the system architecture in fig. 1, fig. 3 schematically illustrates uplink resource scheduling and feedback timing provided by the embodiment of the present invention.
The uplink resource scheduling process comprises the steps of allocating NPDCCH resources for sending DCIN0 and NPUSCH resources, wherein the NPDCCH resources are allocated from downlink resources, and the NPUSCH resources are allocated from uplink resources. As shown in fig. 3, NPDCCH resources (end subframe N) for transmitting DCIN0 need to be allocated first, and DCI N0 information indicates NPUSCH resources for transmitting uplink data. Then, at n+k 2 Starting corresponding uplink resource allocation, i.e. NPUSCH resource allocation, where k 2 The NPDSCH resources correspond to the delays of the NPDCCH resources.
As can be seen from fig. 2 and 3, in both the uplink scheduling and the downlink scheduling processes, downlink NPDCCH resources are required, where the downlink NPDCCH resources required in the uplink scheduling process are used for scheduling uplink data transmission, and the downlink NPDCCH resources required in the downlink scheduling process are used for scheduling downlink data transmission. In the downlink scheduling process, a certain resource interval is generated between the NPDCCH and the NPDSCH each time, and discretization and fragmentation of resources are inevitably caused under the condition of multi-user scheduling, so that multi-UE deep scheduling and resource utilization are affected.
Based on the foregoing fig. 1, fig. 2, and fig. 3, a detailed description of a resource scheduling method according to an embodiment of the present invention is described below.
Fig. 4 is a schematic flow chart illustrating a resource scheduling method according to an embodiment of the present invention. The resource scheduling method is performed by a resource scheduling device, as shown in fig. 4, and includes the steps of:
step 401: acquiring resource allocation information of downlink resources; the resource allocation information is used for determining whether downlink resources are occupied;
step 402: determining whether a hole resource exists in the downlink resource according to the resource allocation information;
step 403: if the downlink resource has a hole resource, distributing a narrow-band physical downlink control channel NPDCCH resource for the UE to be scheduled which meets a first preset condition according to the hole resource; the hole resource indicates an unoccupied and continuous radio bearer RB; the hole resource indicates an unoccupied and continuous radio bearer RB; the first preset condition includes that uplink data transmission requirements exist, the number of RBs required by downlink control information DCI for carrying and scheduling uplink data transmission is smaller than or equal to the number of RBs of the hole resources, and the RB position indicated by the hole resources is in the current search space of the UE to be scheduled. In the embodiment of the invention, the RB is a downlink subframe resource.
The search space is a user-level parameter, has periodicity, and corresponds to different repetition levels and aggregation levels. The search space corresponding to each UE to be scheduled may be the same or different.
In the embodiment of the invention, a resource scheduling device acquires resource allocation information of downlink resources, wherein the resource allocation information is used for determining whether the downlink resources are occupied; determining whether a hole resource exists in the downlink resource according to the resource allocation information, if so, determining that User Equipment (UE) to be scheduled meeting a first preset condition allocates a narrow-band physical downlink control channel (NPDCCH) resource according to the hole resource; wherein the hole resource indicates an unoccupied and continuous radio bearer RB; the first preset condition includes that uplink data transmission requirements exist, the number of RBs required by downlink control information DCI for carrying and scheduling uplink data transmission is smaller than or equal to the number of RBs of the hole resources, and the RB position indicated by the hole resources is in the current search space of the UE to be scheduled. Therefore, NPDCCH resources are allocated to the UE to be scheduled with uplink data transmission requirements according to the hole resources, so that the fragments of the resources can be reduced, the resource utilization rate is improved, and the resource waste is reduced.
In a specific implementation, step 401 is implemented in the following manner: initializing uplink and downlink resources and scheduling parameters. According to the cell configuration information, including broadcast and public channel configuration information, calculating the current cell fixed resource use condition, and fixedly mapping the information into an uplink time-frequency resource list and a downlink time-frequency resource list. Then, when the resource allocation information of the downlink resource needs to be determined, the occupation condition of the downlink resource can be determined according to the downlink time-frequency resource list.
When the current scheduling period is entered, unoccupied RB resources are acquired first, and uplink and downlink resources are allocated to each UE to be scheduled by combining the currently received resource requirements of each UE to be scheduled. Specifically, before scheduling, the number of scheduling resources used for transmitting DCI by each UE to be scheduled and search space information of NPDCCH resources of the UE to be scheduled may be estimated. Since the search space corresponding to each UE to be scheduled may be different, when NPDCCH resources for transmitting DCI are scheduled for the UE to be scheduled, whether RB resources are within the search space of the UE to be scheduled needs to be determined, and if not, the RB resources cannot be used as NPDCCH resources for transmitting DCI; if the RB resource is within the search space, the NPDCCH resource for transmitting DCI can be considered.
In an alternative embodiment, determining whether there is a hole resource in the downlink resource includes the following implementation manners: determining at least one group of unoccupied continuous RBs from the downlink resources according to the resource allocation information; for each group of unoccupied consecutive RBs, performing: if the number of the unoccupied continuous RBs is smaller than a preset RB number threshold and is larger than the minimum value of the RB number required by each UE to be scheduled for carrying and scheduling DCI of uplink data transmission, determining that the unoccupied continuous RBs are hollow resources. If the number of the unoccupied continuous RBs of the group is greater than a preset RB number threshold, or if the number of the unoccupied continuous RBs of the group is greater than a minimum value of RB numbers required by each UE to be scheduled having uplink data transmission requirements for carrying DCI for scheduling uplink data transmission, determining that the unoccupied continuous RBs of the group are not hole resources. Thus, each determined group of cavity resources can meet the number of RBs required by at least one UE to be scheduled.
For example, there are 4 UEs to be scheduled with uplink data transmission requirements, and the number of RBs required by each UE to be scheduled for carrying DCI for scheduling uplink data transmission is respectively: UE (user Equipment) 1 Requiring 4 RBs, UE 2 Requiring 4 RBs, UE 3 Requiring 8 RBs, UE 4 16 RBs are required, and it can be seen that the minimum number of RBs required for each UE to be scheduled to carry DCI for scheduling uplink data transmission is 4.
For example, the preset RB number threshold is 10, the number of the first group of unoccupied continuous RBs is 3, and the number of the second group of unoccupied continuous RBs is 8, it can be seen that the number of the first group of unoccupied continuous RBs 3 is smaller than the preset RB number threshold 10, but smaller than the minimum value 4 of the number of RBs required by each UE to be scheduled, and therefore, the first group of unoccupied continuous RBs is not a hole resource; the number of the second set of unoccupied consecutive RBs 8 is less than the preset RB number threshold 10 and greater than the minimum value of the number of RBs required for each UE to be scheduled 4, and thus the second set of unoccupied consecutive RBs is a hole resource.
Further, in the step 402, a plurality of UEs may be determined as the UEs to be scheduled, so that the hole resources are utilized to the maximum extent in order to reasonably allocate the resources, and an optional implementation is provided as follows: the first preset condition further includes: the UE to be scheduled is the UE with the minimum difference between the RB number required by the DCI for carrying and scheduling the uplink data transmission in the UE with the uplink data transmission requirement and the RB number of the cavity resource.
That is, after determining the hole resources, if there are multiple UEs satisfying the condition that there is an uplink data transmission requirement and the number of RBs required by the downlink control information DCI for carrying and scheduling uplink data transmission is less than or equal to the number of RBs of the hole resources and the RB position indicated by the hole resources is within the current search space of the UE to be scheduled, the UE with the smallest difference between the number of RBs required by the downlink control information DCI for carrying and scheduling uplink data transmission and the number of RBs of the hole resources in the multiple UEs is the UE to be scheduled, so that the hole resources are allocated to the UE to be scheduled with the smallest difference between the number of RBs required by the downlink control information DCI for carrying and scheduling uplink data transmission, so that the hole resources are occupied as much as possible, unoccupied RBs occur as little as possible, and resource utilization rate can be improved maximally, and resource waste is avoided.
Further, after step 402, the method further includes: and if the fact that the cavity resources do not exist in the downlink resources is determined, NPDCCH resources and NPDSCH resources are allocated to the UE to be scheduled with the downlink data transmission requirements in the downlink resources.
In the embodiment of the invention, after searching the hole resource, the method further comprises the following steps: updating the resource allocation information of the downlink resource to obtain updated resource allocation information; the updated resource allocation information indicates all occupied and unoccupied resources of the downlink resource. If the updated resource allocation information is determined to meet a second preset condition, ending the current scheduling; the second preset condition includes that the total downlink resource amount allocated by the downlink resource reaches a preset total amount threshold, or the number of the UEs to be scheduled, which are allocated resources in the current scheduling period, reaches a preset number threshold. Therefore, the resources in each scheduling period can be reasonably distributed, and the resource utilization rate is improved.
In particular implementations, a scheduling threshold may be set for each scheduling period. In one aspect, the total number of UEs to be scheduled for which there is an uplink data transmission requirement and UEs to be scheduled for which there is a downlink data transmission requirement, that is, a preset number threshold, is set. On the other hand, the total downlink resource allocation amount, namely a preset total amount threshold value, is set. The scheduling threshold value can be set according to actual needs.
In combination with the above embodiment, at the current scheduling time, according to unoccupied resources in the current system and the number of RBs required by the UE to be scheduled, the scheduling sequence is as follows in combination with the search result of the hole resources:
firstly, searching whether a cavity resource exists in a downlink scheduling space, if so, preferentially performing an uplink scheduling flow, extracting UE to be scheduled from an uplink request list, and matching the segment of RB cavity resourceAnd (3) allocating NPDCCH needed by the UE to be scheduled, wherein the NPDCCH is preferably occupied in a hole position, and simultaneously, the uplink NPDSCH resource is considered to meet the adapted scheduling relation. If not, the downlink scheduling procedure is preferably performed, NPDCCH resources and NPDSCH resources are scheduled, and the scheduled NPDCCH and NPDSCH satisfy (n+ 5+k) 0 ) Timing relationship. And then, recording the scheduling sequence at the moment, updating the allocated resources to the resource allocation information, and simultaneously recording the total number of the uplink and downlink resources which are currently allocated and the total amount of the downlink resources which are allocated. If the total quantity of the downlink resources allocated to the downlink resources reaches a preset total quantity threshold, or the quantity of the UE to be scheduled for allocating the resources in the current scheduling period reaches a preset quantity threshold, ending the current scheduling period. Therefore, the uplink and downlink scheduling sequences can be reasonably arranged, and the interval resources of downlink scheduling are divided into DCI (downlink control information) of uplink scheduling, so that the efficiency of multi-UE scheduling is improved, and the operation of blind searching of resources by UE is reduced.
In order to more clearly describe the resource scheduling method in the embodiment of the present invention, the following examples are now provided.
Fig. 5 is a schematic flow chart of another resource scheduling method according to an embodiment of the present invention. The resource scheduling method is performed by a resource scheduling device, as shown in fig. 5, and includes the steps of:
step 501: initializing uplink and downlink resources and scheduling parameters;
step 502: acquiring a current scheduling request;
step 503: acquiring an uplink and downlink resource list of the current scheduling point according to the scheduling request;
step 504: whether a hole resource exists in the current downlink resource or not; if yes, go to step 505; if not, go to step 506;
step 505: selecting UE to be scheduled with uplink data transmission requirements for scheduling and distributing; thereafter, step 507 is executed;
step 506: selecting UE to be scheduled with uplink data transmission requirements for scheduling and distributing; thereafter, step 507 is executed;
step 507: whether a scheduling threshold is reached; if yes, go to step 508; if not, go to step 504;
step 508: and (5) ending the scheduling.
According to the current system service condition and the uplink and downlink resource utilization condition, judging whether the nearest downlink scheduling space is left with the spaced available cavity resources, if yes, starting to screen uplink UE to be scheduled from the upper row-column table, and distributing the segment of cavity resources to the uplink UE to be scheduled; otherwise, the downlink UE to be scheduled is screened from the downlink list, after downlink scheduling is carried out and cavity resources are generated between DCI and NPDSCH, the segment of resources are preferentially used as DCI resources of uplink scheduling to carry out uplink index allocation, so that the optimal utilization of scheduling resources is achieved.
Based on the above embodiments and the same conception, fig. 6 is a schematic structural diagram of a resource scheduling device according to an embodiment of the present invention, where the resource scheduling device may implement steps executed by the resource scheduling device in any one or any multiple of the methods shown in fig. 4. As shown in fig. 6, the resource scheduling apparatus 600 may include an acquisition unit 601 and a processing unit 602. Wherein:
an acquiring unit 601, configured to acquire resource allocation information of a downlink resource; the resource allocation information is used for determining whether the downlink resource is occupied;
a processing unit 602, configured to determine whether a hole resource exists in the downlink resource according to the resource allocation information; if the downlink resource has a hole resource, distributing a narrow-band physical downlink control channel NPDCCH resource for the UE to be scheduled which meets a first preset condition according to the hole resource; wherein the hole resource indicates an unoccupied and continuous radio bearer RB; the first preset condition includes that uplink data transmission requirements exist, the number of RBs required by DCI for carrying and scheduling uplink data transmission is smaller than or equal to the number of RBs of the hole resources, and the RB position indicated by the hole resources is within the current search space of the UE to be scheduled.
Optionally, the processing unit 602 is configured to: determining at least one group of unoccupied continuous RBs from the downlink resources according to the resource allocation information; if the number of any unoccupied continuous RBs is smaller than a preset RB number threshold and is larger than the minimum value of the RB number required by each UE to be scheduled for carrying and scheduling DCI of uplink data transmission, determining that the unoccupied continuous RBs are hollow resources.
Optionally, the first preset condition further includes: the UE to be scheduled is the UE with the minimum difference between the RB number required by the DCI for carrying and scheduling the uplink data transmission in the UE with the uplink data transmission requirement and the RB number of the cavity resource.
Optionally, the processing unit 602 is further configured to: and if the fact that the cavity resources do not exist in the downlink resources is determined, NPDCCH resources and NPDSCH resources are allocated to the UE to be scheduled with the downlink data transmission requirements in the downlink resources.
Optionally, the processing unit 602 is further configured to: updating the resource allocation information of the downlink resource to obtain updated resource allocation information; if the updated resource allocation information is determined to meet a second preset condition, ending the current scheduling; the second preset condition includes that the total downlink resource amount allocated by the downlink resource reaches a preset total amount threshold, or the number of the UEs to be scheduled, which are allocated resources in the current scheduling period, reaches a preset number threshold.
The concepts related to the technical solutions provided by the embodiments of the present invention related to the resource scheduling apparatus 600 are referred to in the foregoing resource scheduling method or the description of the other embodiments for explanation and detailed description, and are not repeated herein.
Based on the above embodiments and the same concept, the embodiments of the present invention further provide a network device.
Fig. 7 is a schematic structural diagram of a network device according to an embodiment of the present invention. As shown in fig. 7, the network device 700 includes:
a memory 701 for storing program instructions;
and a processor 702, configured to invoke the program instructions stored in the memory, and execute the resource scheduling method according to any of the foregoing embodiments according to the obtained program.
Based on the above embodiments and the same conception, the embodiments of the present invention also provide a computer storage medium storing computer-executable instructions for causing a computer to perform the resource scheduling method described in any one of the foregoing embodiments.
It should be noted that, in the embodiment of the present invention, the division of the units is schematic, which is merely a logic function division, and other division manners may be implemented in actual practice. The functional units in the embodiments of the present invention may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one module. The integrated units may be implemented in hardware or in software functional units.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions in accordance with embodiments of the present invention are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.) means from one website, computer, server, or data center. Computer readable storage media can be any available media that can be accessed by a computer or data storage devices, such as servers, data centers, etc., that contain an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), etc.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the invention may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made to the embodiments of the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the embodiments of the present invention fall within the scope of the claims and the equivalents thereof, the present invention is also intended to include such modifications and variations.