1461130272-4faa5042-6c9e-45af-94f3-93c47e453e4c

1. A method of playing a game of chance, said method comprising:
providing a player card to be used with the game, wherein the player card includes a predetermined number of spaces for displaying player indicia;
enabling, by a processor, a player to select one of a plurality of available patterns for the player card, wherein a plurality of the spaces is included within each of the available patterns;
enabling, by the processor, the player to select a plurality of player indicia for the selected pattern, wherein each player indicia of the selected plurality of player indicia is displayed within one of the plurality of spaces included within the selected pattern;
randomly selecting a plurality of house indicia;
determining, by the processor, whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern; and
determining, by the processor, a payout based upon the determination whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
2. The method of claim 1, wherein the game continues after a determination that the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
3. The method of claim 2, wherein the game continues until a predetermined number of house indicia is selected.
4. The method of claim 2, wherein a plurality of players are enabled to play the game, each player having at least one player card with a pattern to be matched by the selected house indicia, and wherein the game continues until each pattern of each player card is matched by the selected house indicia.
5. The method of claim 1, wherein randomly selecting a plurality of house indicia comprises selecting a first plurality of house indicia, and wherein determining whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern comprises determining whether the first plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
6. The method of claim 5, wherein additional house indicia are selected after the first plurality of house indicia have been selected, and wherein the processor determines whether the first plurality of house indicia and the additional house indicia match the selected plurality of player indicia for the selected pattern after each additional house indicia is selected.
7. The method of claim 6, wherein the payout starts at a first value, and the payout is reduced each time an additional house indicia is selected.
8. The method of claim 6, wherein additional house indicia are selected until a second plurality of house indicia have been selected, and wherein the game ends when the second plurality of house indicia have been selected.
9. The method of claim 1, wherein a server initially selects a first plurality of player indicia for use with the player card, and wherein the plurality of player indicia selected by the player is a second plurality of player indicia that replaces at least a portion of the first plurality of player indicia.
10. The method of claim 1, wherein a server initially selects each player indicia to be used with the player card, and wherein the plurality of player indicia selected by the player replaces the server selected player indicia included within the selected pattern.
11. The method of claim 1, wherein the plurality of player indicia included within the selected pattern is a first plurality of player indicia and a second plurality of player indicia is included within the first plurality of player indicia, and wherein the processor determines a payout based on a determination that the plurality of house indicia matches the second plurality of player indicia.
12. The method of claim 1, further comprising generating the player card such that the plurality of spaces within the selected pattern are the only spaces of the player card in which player indicia are displayed.
13. The method of claim 12, further comprising displaying at least one filler object within each of the spaces of the player card that are not included within the selected pattern.
14. The method of claim 1, wherein enabling, by a processor, a player to select one of a plurality of available patterns for the player card includes enabling the player to create a pattern to be included in the plurality of available patterns.
15. The method of claim 1, wherein the game ends after a determination that the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
16. The method of claim 1, wherein the processor determines at least a portion of the payout to include a progressive prize.
17. The method of claim 1, wherein the game is played on a player device that includes a random number generator for randomly selecting the plurality of house indicia, and wherein the player does not compete against other players for the payout.
18. A method of playing a game of bingo, said method comprising:
providing a player card to be used with the game, wherein the player card includes a predetermined number of spaces for displaying indicia;
displaying, on an electronic player device, a plurality of available patterns to be used with the player card, wherein a plurality of the spaces is included within each of the available patterns;
enabling a player to select one of the available patterns for the player card using the electronic player device;
displaying a plurality of player indicia on the electronic player device;
enabling the player to select the plurality of player indicia for the selected pattern using the electronic player device, wherein each player indicia of the selected plurality of player indicia is displayed on the electronic player device within one of the spaces included within the selected pattern;
randomly selecting a plurality of house indicia;
determining, by the processor, whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern; and
determining, by the processor, a payout based upon the determination whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
19. The method of claim 18, further comprising receiving, by the processor, data representative of the selected pattern and the selected plurality of player indicia from the electronic player device.
20. The method of claim 18, further comprising authenticating the electronic player device by the processor.
21. The method of claim 18, wherein the game continues after a determination that the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
22. The method of claim 21, wherein the game continues until a predetermined number of house indicia is selected.
23. The method of claim 21, wherein a plurality of players are enabled to play the game, each player having at least one player card with a pattern to be matched by the selected house indicia, and wherein the game continues until each pattern of each player card is matched by the selected house indicia.
24. The method of claim 18, wherein randomly selecting a plurality of house indicia comprises selecting a first plurality of house indicia, and wherein determining whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern comprises determining whether the first plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
25. The method of claim 24, wherein additional house indicia are selected after the first plurality of house indicia have been selected, and wherein the processor determines whether the first plurality of house indicia and the additional house indicia match the selected plurality of player indicia for the selected pattern after each additional house indicia is selected.
26. The method of claim 24, wherein the payout starts at a first value, and the payout is reduced each time an additional house indicia is selected.
27. The method of claim 24, wherein additional house indicia are selected until a second plurality of house indicia have been selected, and wherein the game ends when the second plurality of house indicia have been selected.
28. The method of claim 18, wherein a server initially selects a first plurality of player indicia for use with the player card, and wherein the plurality of player indicia selected by the player is a second plurality of player indicia that replaces at least a portion of the first plurality of player indicia.
29. The method of claim 18, wherein a server initially selects each player indicia to be used with the player card, and wherein the plurality of player indicia selected by the player replaces the server selected player indicia included within the selected pattern.
30. The method of claim 18, further comprising:
issuing a ticket with the player card having the selected pattern and the selected plurality of player indicia; and
transmitting the ticket to the electronic player device.
31. A method of playing a game of bingo, said method comprising:
displaying, on a terminal, a player card to be used with the game, wherein the player card includes a predetermined number of spaces for displaying indicia;
identifying, by a processor, a plurality of available patterns to be used with the player card, wherein a plurality of the spaces is included within each of the available patterns;
displaying the plurality of available patterns on the terminal;
enabling a player to select one of the available patterns for the player card using the terminal;
displaying a plurality of player indicia on the terminal;
enabling the player to select the plurality of player indicia for the selected pattern, wherein each player indicia of the selected plurality of player indicia is displayed within one of the plurality of spaces included within the selected pattern;
randomly selecting a plurality of house indicia;
determining, by the processor, whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern; and
determining, by the processor, a payout based upon the determination whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
32. The method of claim 31, wherein the game continues after a determination that the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
33. The method of claim 32, wherein the game continues until a predetermined number of house indicia is selected.
34. The method of claim 32, wherein a plurality of players are enabled to play the game, each player having at least one player card with a pattern to be matched by the selected house indicia, and wherein the game continues until each pattern of each player card is matched by the selected house indicia.
35. The method of claim 31, wherein randomly selecting a plurality of house indicia comprises selecting a first plurality of house indicia, and wherein determining whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern comprises determining whether the first plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
36. The method of claim 35, wherein additional house indicia are selected after the first plurality of house indicia have been selected, and wherein the processor determines whether the first plurality of house indicia and the additional house indicia match the selected plurality of player indicia for the selected pattern after each additional house indicia is selected.
37. The method of claim 36, wherein the payout starts at a first value, and the payout is reduced each time an additional house indicia is selected.
38. The method of claim 36, wherein additional house indicia are selected until a second plurality of house indicia have been selected, and wherein the game ends when the second plurality of house indicia have been selected.
39. The method of claim 31, wherein a server initially selects a first plurality of player indicia for use with the player card, and wherein the plurality of player indicia selected by the player is a second plurality of player indicia that replaces at least a portion of the first plurality of player indicia.
40. The method of claim 31, wherein a server initially selects each player indicia to be used with the player card, and wherein the plurality of player indicia selected by the player replaces the server selected player indicia included within the selected pattern.
41. A method of playing a game of bingo, said method comprising:
scanning, using a scanning device, a physical player card that includes a predetermined number of spaces for displaying indicia, wherein the player card includes at least one pattern marking indicative of a player selected pattern shaped to enclose at least a plurality of the spaces, and at least one indicia marking indicative of at least one player indicia selected by the player;
identifying, using a processor, a selected pattern based on the at least one pattern marking;
identifying, using the processor, a selected plurality of player indicia based on the at least one indicia marking;
randomly selecting a plurality of house indicia;
determining, by the processor, whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern; and
determining, by the processor, a payout based upon the determination whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
42. The method of claim 41, wherein the game continues after a determination that the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
43. The method of claim 42, wherein the game continues until a predetermined number of house indicia is selected.
44. The method of claim 42, wherein a plurality of players are enabled to play the game, each player having at least one player card with a pattern to be matched by the selected house indicia, and wherein the game continues until each pattern of each player card is matched by the selected house indicia.
45. The method of claim 41, wherein randomly selecting a plurality of house indicia comprises selecting a first plurality of house indicia, and wherein determining whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern comprises determining whether the first plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
46. The method of claim 45, wherein additional house indicia are selected after the first plurality of house indicia have been selected, and wherein the processor determines whether the first plurality of house indicia and the additional house indicia match the selected plurality of player indicia for the selected pattern after each additional house indicia is selected.
47. The method of claim 46, wherein the payout starts at a first value, and the payout is reduced each time an additional house indicia is selected.
48. The method of claim 46, wherein additional house indicia are selected until a second plurality of house indicia have been selected, and wherein the game ends when the second plurality of house indicia have been selected.
49. The method of claim 41, wherein a server initially selects a first plurality of player indicia for use with the player card, and wherein the plurality of player indicia selected by the player is a second plurality of player indicia that replaces at least a portion of the first plurality of player indicia.
50. The method of claim 41, wherein a server initially selects each player indicia to be used with the player card, and wherein the plurality of player indicia selected by the player replaces the server selected player indicia included within the selected pattern.
51. A system comprising:
a randomization device configured to randomly select house indicia;
a selection device configured to:
receive a player card to be used with a game of chance, wherein the player card includes a predetermined number of spaces for displaying indicia;
receive a plurality of available patterns to be used with the player card, wherein a plurality of the spaces is included within each of the available patterns;
enable a player to select one of the available patterns for the player card; and
enable the player to select a plurality of player indicia for the selected pattern, wherein each player indicia of the selected plurality of player indicia is displayed within one of the plurality of spaces included within the selected pattern; and

a server coupled to said randomization device and to said selection device, said server comprising a processor programmed to:
select a plurality of house indicia using said randomization device;
determine whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern; and
determine a payout based upon the determination whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
52. The system of claim 51, wherein said server is configured to continue the game after a determination that the plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
53. The system of claim 52, wherein said server is configured to continue the game until a predetermined number of house indicia is selected.
54. The system of claim 52, wherein a plurality of players are enabled to play the game, each player having at least one player card with a pattern to be matched by the selected house indicia, and wherein said server is configured to continue the game until each pattern of each player card is matched by the selected house indicia.
55. The system of claim 51, wherein said server is configured to:
select a plurality of house indicia by selecting a first plurality of house indicia; and
determine whether the plurality of house indicia matches the selected plurality of player indicia for the selected pattern by determining whether the first plurality of house indicia matches the selected plurality of player indicia for the selected pattern.
56. The system of claim 55, wherein said server is configured to:
select additional house indicia after the first plurality of house indicia have been selected; and
determine whether the first plurality of house indicia and the additional house indicia match the selected plurality of player indicia for the selected pattern after each additional house indicia is selected.
57. The system of claim 56, wherein said server is configured to:
start the payout at a first value; and
reduce the payout each time an additional house indicia is selected.
58. The system of claim 56, wherein said server is configured to select additional house indicia until a second plurality of house indicia have been selected, and to end the game when the second plurality of house indicia have been selected.
59. The system of claim 51, wherein said server initially selects a first plurality of player indicia for use with the player card, and wherein the plurality of player indicia selected by the player is a second plurality of player indicia that replaces at least a portion of the first plurality of player indicia.
60. The system of claim 51, wherein said server initially selects each player indicia to be used with the player card, and wherein the plurality of player indicia selected by the player replaces the server selected player indicia included within the selected pattern.

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

What is claimed is:

1. A method in a data processing system for processing a set of instructions, wherein the set of instructions includes operation codes and operands, the method comprising:
identifying a repeating sequence of sequential operation codes within the set of instructions to form an identified sequence of operation codes; and
compressing the set of instructions using the identified sequence of operation codes to form a set of compressed instructions for execution by a processor.
2. The method of claim 1 further comprising:
identifying a repeating sequence of operation codes within the set of instructions to form an identified sequence of operands; and
compressing the instructions using the identified sequence of operation codes.
3. The method of claim 1 further comprising:
generating a dictionary for use in decompressing the set of instructions.
4. The method of claim 3, wherein the set of compressed instructions and the dictionary are stored in a cache associated with the processor.
5. The method of claim 3, wherein the dictionary is generated prior to identifying the repeating sequence of sequential operation codes and is used in identifying the repeating sequence of sequential operation codes.
6. The method of claim 3, wherein entries in the dictionary are dynamically generated in response to identifying repeating sequences of sequential operation codes.
7. The method of claim 1 further comprising:
executing the set of compressed instructions by the processor; and
decompressing a compressed instruction for execution when the compressed instruction is encountered during execution of the set of compressed instructions.
8. The method of claim 1, wherein the identified sequence of operation codes is a pair of operation codes.
9. The method of claim 1 further comprising:
identifying a repeating sequence of operands within the set of instructions to form an identified sequence of operands; and
compressing the set of instructions using the identified sequence of operands to form the set of compressed instructions for execution by the processor.
10. The method of claim 1, wherein a portion of the set of compressed instructions are loaded in a cache associated with the processor and further comprising:
responsive to identifying an instruction within the set of compressed instructions that is to be sent to the processor for execution, determining whether the instruction is a compressed instruction;
responsive to the instruction being a compressed instruction, decompressing the instruction to form a decompressed instruction; and
sending the decompressed instruction to the processor for execution.
11. A data processing system for processing a set of instructions, wherein the set of instructions includes operation codes and operands, the data processing system comprising:
a bus system;
a communications unit connected to the bus system;
a memory connected to the bus system, wherein the memory includes a set of instructions; and
a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to identify a repeating sequence of sequential operation codes within the set of instructions to form an identified sequence of operation codes; and compress the set of instructions using the identified sequence of operation codes to form a set of compressed instructions for execution by a processor.
12. A data processing system for processing a set of instructions, wherein the set of instructions includes operation codes and operands, the data processing system comprising:
identifying means for identifying a repeating sequence of sequential operation codes within the set of instructions to form an identified sequence of operation codes; and
compressing means for compressing the set of instructions using the identified sequence of operation codes to form a set of compressed instructions for execution by a processor.
13. The data processing system of claim 12, wherein the identifying means is a first identifying means and the compressing means is a first compressing means and further comprising:
second identifying means for identifying a repeating sequence of operation codes within the set of instructions to form an identified sequence of operands; and
second compressing means for compressing the instructions using the identified sequence of operation codes.
14. The data processing system of claim 12 further comprising:
generating means for generating a dictionary for use in decompressing the set of instructions.
15. The data processing system of claim 14, wherein the set of compressed instructions and the dictionary are stored in a cache associated with the processor.
16. The data processing system of claim 14, wherein the dictionary is generated prior to identifying the repeating sequence of sequential operation codes and is used in identifying the repeating sequence of sequential operation codes.
17. The data processing system of claim 14, wherein entries in the dictionary are dynamically generated in response to identifying repeating sequences of sequential operation codes.
18. The data processing system of claim 12, further comprising:
executing means for executing the set of compressed instructions by the processor; and
decompressing means for decompressing a compressed instruction for execution when the compressed instruction is encountered during execution of the set of compressed instructions.
19. The data processing system of claim 12, wherein the identified sequence of operation codes is a pair of operation codes.
20. The data processing system of claim 12, wherein the identifying means is a first identifying means and the compressing means is a first compressing means and further comprising:
second identifying means for identifying a repeating sequence of operands within the set of instructions to form an identified sequence of operands; and
second compressing means for compressing the set of instructions using the identified sequence of operands to form the set of compressed instructions for execution by the processor.
21. The data processing system of claim 12, wherein a portion of the set of compressed instructions are loaded in a cache associated with the processor and further comprising:
determining means, responsive to identifying an instruction within the set of compressed instructions that is to be sent to the processor for execution, for determining whether the instruction is a compressed instruction;
decompressing means, responsive to the instruction being a compressed instruction, for decompressing the instruction to form a decompressed instruction; and
sending means for sending the decompressed instruction to the processor for execution.
22. A computer program product for processing a set of instructions, wherein the set of instructions includes operation codes and operands, the computer program product comprising:
first instructions for identifying a repeating sequence of sequential operation codes within the set of instructions to form an identified sequence of operation codes; and
second instructions for compressing the set of instructions using the identified sequence of operation codes to form a set of compressed instructions for execution by a processor.

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.