1461130263-0741ccdf-745f-4744-a403-215d5c703461

1. A computer implemented method for time slicing in a shared processor logical partitioned environment, the computer implemented method comprising:
identifying a processor percentage for an instance of an operating system running in a given partition in the shared processor logical partitioned environment;
adjusting a previously assigned time slice based on the processor percentage to form an adjusted time slice; and
allotting the adjusted time slice to a thread running in the instance of the operating system.
2. The computer implemented method of claim 1, wherein adjusting the previously assigned time slice comprises multiplying a value of the previously assigned time slice by the processor percentage.
3. The computer implemented method of claim 1, wherein identifying the processor percentage comprises setting a target processor percentage for the instance of the operating system.
4. The computer implemented method of claim 3, wherein the instance of the operating system is assigned a number of virtual processors;
wherein identifying a processor percentage comprises calculating a processor percentage per virtual processor to form a per-virtual-processor percentage; and
wherein adjusting the previously assigned time slice comprises multiplying a value of the previously assigned time slice by the per-virtual-processor percentage.
5. The computer implemented method of claim 4, further comprising:
responsive to a virtual processor being added to or removed from the given partition, recalculating the per-virtual-processor percentage; and
readjusting the adjusted time slice based on the recalculated per-virtual-processor percentage.
6. The computer implemented method of claim 4, wherein the shared partition is assigned a total processor percentage and wherein calculating a processor percentage per virtual processor to form a per-virtual-processor percentage includes dividing the total processor percentage by the number of virtual processors.
7. The computer implemented method of claim 6, further comprising:
responsive to the total processor percentage changing, recalculating the per-virtual-processor percentage; and
readjusting the adjusted time slice based on the recalculated per-virtual-processor percentage.
8. The computer implemented method of claim 1, wherein the processor percentage is a percentage of a physical processing unit to be used by the given partition.
9. The computer implemented method of claim 8, wherein the physical processing unit is a processor chip or a processor core on a processor chip.
10. The computer implemented method of claim 8, wherein the physical processing unit is a symmetric multi-threading processor, the computer implemented method further comprising:
adjusting the previously assigned time slice based on an anticipated percentage of a processor’s capabilities provided by a thread in the symmetric multi-threading processor.
11. An apparatus, comprising:
a pool of shared processing units; and
a hypervisor,
wherein the hypervisor assigns one or more processing units from the pool of shared processing units to a plurality of partitions in a shared processor logical partitioned environment;
wherein a given partition within the plurality of partitions is configured to run an instance of an operating system;
wherein the instance of the operating system identifies a processor percentage, adjusts a previously assigned time slice based on the processor percentage to form an adjusted time slice, and allots the adjusted time slice to a thread running in the instance of the operating system.
12. The apparatus of claim 11, wherein the processor percentage is a percentage of a physical processing unit from the pool of shared processing units to be used by the given partition.
13. The apparatus of claim 11, wherein the instance of the operating system identifies the processor percentage by identifying a target processor percentage for the instance of the operating system.
14. The apparatus of claim 13, wherein the instance of the operating system is assigned a number of virtual processors;
wherein the instance of the operating system identifies a processor percentage by calculating a processor percentage per virtual processor to form a per-virtual-processor percentage; and
wherein the instance of the operating system adjusts the previously assigned time slice by multiplying a value of the previously assigned time slice by the per-virtual-processor percentage.
15. A computer program product, comprising:
a computer usable medium having computer usable program code for time slicing in a shared processor logical partitioned environment, the computer usable program code comprising:
computer usable program code for identifying a processor percentage for an instance of an operating system running in a given partition in the shared processor logical partitioned environment;
computer usable program code for adjusting a previously assigned time slice based on the processor percentage to form an adjusted time slice; and
computer usable program code for allotting the adjusted time slice to a thread running in the instance of the operating system.
16. The computer program product of claim 15, wherein the computer usable program code for identifying the processor percentage comprises computer usable program code for setting a target processor percentage for the instance of the operating system.
17. The computer program product of claim 16, wherein the instance of the operating system is assigned a number of virtual processors;
wherein the computer usable program code for identifying a processor percentage comprises computer usable program code for calculating a processor percentage per virtual processor to form a per-virtual-processor percentage; and
wherein the computer usable program code for adjusting the previously assigned time slice comprises computer usable program code for multiplying a value of the previously assigned time slice by the per-virtual-processor percentage.
18. The computer program product of claim 15, wherein the processor percentage is a percentage of a physical processing unit to be used by the given partition.
19. The computer program product of claim 18, wherein the physical processing unit is a processor chip or a processor core on a processor chip.
20. The computer program product of claim 18, wherein the physical processing unit is a symmetric multi-threading processor, the computer usable program code further comprising:
computer usable program code for adjusting the previously assigned time slice based on an anticipated percentage of a processor’s capabilities provided by a thread in the symmetric multi-threading processor.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for scheduling and delivering a message based on a recipient’s time zone, the method comprising:
receiving parameters associated with delivering a message to a recipient, the parameters including information associated with the recipient and the time and date associated with delivering the message, the message including at least one of the following: text, visual, and audio data format;
determining a recipient’s location based on the received parameters;
determining a recipient’s time zone based on the determined location; and
scheduling delivery of the message based on the determined time zone.
2. The method as defined in claim 1, further comprising monitoring and tracking the location of the recipient.
3. The method as defined in claim 2, further comprising monitoring and tracking the time zone based on the location of the recipient.
4. The method as defined in claim 1, further comprising updating the recipient’s time zone and location.
5. The method as defined in claim 4, further comprising responsive to determining that the time zone and location of the recipient has changed within a predetermined time, updating the recipient’s time zone and location such that the message can be delivered based on the received parameters.
6. The method as defined in claim 5, wherein the predetermined time includes 12 or 24 hours before delivering the message based on the determined time zone.
7. The method as defined in claim 1, further comprising generating notifications that notify the subscriber to provide messages associated with a holiday at a recipient’s location.
8. A system that is configured to schedule and deliver a message based on a recipient’s time zone, the system comprising:
a delivery engine having instructions stored in memory of a computing device, the instructions comprising:
logic configured to receive parameters from a subscriber, the parameters being associated with delivering a message to a recipient, the parameters including information associated with the recipient and the time and date associated with delivering the message, the message including at least one of the following: text, visual, and audio data format;
logic configured to determine a recipient’s location based on the received parameters;
logic configured to determine a recipient’s time zone based on the determined location; and
logic configured to schedule delivery of the message based on the determined time zone.
9. The system as defined in claim 8, further comprising a presence monitoring engine having instructions stored in memory of the computing device, the instructions comprising logic configured to monitor and track the location of the recipient.
10. The system as defined in claim 8, further comprising a time zone engine having instructions stored in memory of the computing device, the instructions comprising logic configured to monitor and track the time zone based on the location of the recipient.
11. The system as defined in claim 8, wherein the delivery engine is configured to update the recipient’s time zone and location.
12. The system as defined in claim 11, wherein responsive to determining that the time zone and location of the recipient has changed within a predetermined time, the delivery engine is configured to update the recipient’s time zone and location such that the message can be delivered based on the received parameters.
13. The system as defined in claim 12, wherein the predetermined time includes 12 or 24 hours before delivering the message based on the determined time zone.
14. The system as defined in claim 8, further comprising a country holiday engine having instructions stored in memory of the computing device, the instructions comprising logic configured to generate notifications that notify the subscriber to provide messages associated with a holiday at a recipient’s location.
15. A delivery engine that is configured to schedule and deliver a message based on a recipient’s time zone, the delivery engine having instructions stored in memory of a computing device, the instructions comprising:
logic configured to receive parameters from a subscriber, the parameters being associated with delivering a message to a recipient, the parameters including information associated with the recipient and the time and date associated with delivering the message, the message including at least one of the following: text, visual, and audio data format;
logic configured to determine a recipient’s location based on the received parameters;
logic configured to determine a recipient’s time zone based on the determined location; and
logic configured to schedule delivery of the message based on the determined time zone.
16. The delivery engine as defined in claim 15, further comprising logic configured to request information associated with the location of the recipient from a presence monitoring engine, the presence monitoring engine being configured to monitor and track the location of the recipient.
17. The delivery engine as defined in claim 15, further comprising logic configured to request information associated with the time zone of the recipient from a time zone engine, the time zone engine being configured to monitor and track the time zone based on the location of the recipient.
18. The delivery engine as defined in claim 15, further comprising logic configured to update the recipient’s time zone and location.
19. The delivery engine as defined in claim 18, further comprising responsive to determining that the time zone and location of the recipient has changed within a predetermined time, logic configured to update the recipient’s time zone and location such that the message can be delivered based on the received parameters.
20. The delivery engine as defined in claim 17, wherein the predetermined time includes 12 or 24 hours before delivering the message based on the determined time zone.