U.S. patent application number 13/307012 was filed with the patent office on 2012-03-22 for method and system for impulse savings.
Invention is credited to Jayson Halladay, Leah Solomon.
Application Number | 20120072345 13/307012 |
Document ID | / |
Family ID | 42223688 |
Filed Date | 2012-03-22 |
United States Patent
Application |
20120072345 |
Kind Code |
A1 |
Solomon; Leah ; et
al. |
March 22, 2012 |
Method and system for impulse savings
Abstract
Impulse saves are made by a user of a first computing device. A
first electronic message is received from the first computing
device. The first electronic message comprises an amount of money
not spent by a user of the computing device. A running total of the
amount of money not spent is computed. A second electronic message
to at least one other computing device is transmitted. The second
electronic message comprises at least some of the running total. An
electronic transfer of the amount the amount of the second
electronic message is made from one account to another account.
Inventors: |
Solomon; Leah; (Brooklyn,
NY) ; Halladay; Jayson; (Brooklyn, NY) |
Family ID: |
42223688 |
Appl. No.: |
13/307012 |
Filed: |
November 30, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12326635 |
Dec 2, 2008 |
8090656 |
|
|
13307012 |
|
|
|
|
Current U.S.
Class: |
705/42 ;
705/35 |
Current CPC
Class: |
G06Q 20/32 20130101;
G06Q 40/02 20130101; G06Q 20/108 20130101; G06Q 40/00 20130101 |
Class at
Publication: |
705/42 ;
705/35 |
International
Class: |
G06Q 40/02 20120101
G06Q040/02 |
Claims
1. A computer program product comprising a computer readable medium
comprising computer executable code which, when executed by a
microprocessor of a computer causes the computer to: (a) receive a
first electronic message from a first computing device, the first
electronic message comprising an amount of money not spent by a
user of the computing device; (b) compute a running total of the
amount of money not spent; and (c) transmit a second electronic
message to at least one other computing device, the second
electronic message comprising at least some of the running
total.
2. The computer program product of claim 1 wherein the computer
readable medium further comprises computer executable code which,
when executed by a microprocessor of a computer causes the computer
to repeat (a), (b), and (c), until the running total is at least
equal to a savings goal.
3. The computer program product of claim 1 wherein the computer
readable medium further comprises computer executable code which,
when executed by a microprocessor of a computer causes the computer
to trigger an electronic transfer of the amount of the second
electronic message from one account to another account.
4. The computer program product of claim 1 wherein the computer
readable medium further comprises computer executable code which,
when executed by a microprocessor of a computer causes the computer
to trigger an electronic transfer of an amount of money equal to at
least some of the running total from one account to another
account.
Description
[0001] This application is a continuation of U.S. patent
application Ser. No. 12/326,635, filed Dec. 2, 2008, which is
hereby incorporated by reference.
BACKGROUND
[0002] A need presently exists for methods and system for impulse
savings.
SUMMARY
[0003] A first electronic message is received from a first
computing device. The first electronic message comprises an amount
of money not spent by a user of the computing device. A running
total of the amount of money not spent is computed. A second
electronic message to at least one other computing device is
transmitted. The second electronic message comprises at least some
of the running total. An electronic transfer of the amount of the
second electronic message is made from one account to another
account.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] FIG. 1 is a system for impulse savings.
[0005] FIG. 2 is a method for impulse savings.
[0006] FIG. 3 is an exemplary goal library.
[0007] FIG. 4 is a method for periodically transmitting electronic
message reminders.
[0008] FIG. 5 is a method for periodically automatically
transferring money to a financial account.
[0009] FIG. 6 is a method for generating reports of progress made
towards a savings goal.
[0010] FIG. 7 is a method for friends to encourage a plurality of
users to save.
DETAILED DESCRIPTION
[0011] Briefly, the disclosed systems and methods give users the
opportunity to commit money they are about to spend to a savings
goal instead, and to do so using a mobile device. Giving the user
the opportunity to take this action and then immediately sharing it
with their savings partners can help to overwhelm the desire for
immediate gratification with the rewards of having taken a step
towards their goal, and being recognized by family and friends for
having saved some money. Additionally, the user is encouraged by
having their various commitments to save recorded and presented
graphically on a website so they can further celebrate and share
the process of accomplishing their goal.
[0012] FIG. 1 is a system for saving money with mobile devices. A
computer 10 and mobile devices 40 are in communication via at least
one communication network 20. Each mobile device 40(1) through
40(n) belongs to a user of a plurality of users. While four mobile
devices 40 are shown, there may be a greater or lesser number of
mobile devices. The users, or members, of group 50 each have a
savings goal, that is, an amount of money they each wish to save
over a specified period of time. One exemplary savings goal for a
family (having mobile devices 40(1), 40(2), 40(3)) is to save $1920
over sixteen week for a family vacation. In this example, the
family 50 should save $120/week.
[0013] So, in one example users of mobile devices in the group
(40(1), 40(2), 40(3)) make purchasing decisions throughout a
typical day, for example whether to buy a snack, to go to the
movies, take a taxi, and the like. These are generally low cost
items that offer immediate gratification. The users have the
opportunity to commit the money that they would spend on these
items to the savings goal rather than spending it. In one example,
Jim, the user of mobile device 40(1), when presented with the
decision of whether to purchase a snack, decides not to and sends a
text message from the mobile device 40(1) describing an amount
representing the money not spent, or portion of the money not
spent, and the product or service not purchased. One exemplary text
message is "$5 snack." This text message is received by computer 10
over the communication network 20. The computer 10 records the
amount and description of the product or service, as well as an
identifier identifying the sender.
[0014] The computer 10 then forwards, over the communication
network 20, a message such as a text message to the other mobile
devices 40(2) and 40(3) comprising the amount, the good or service
not purchased, and the name of the person who decided not to
purchase, for example, "Jim, $5 snack!" Knowing that a savings
partner has committed money to the savings goal encourages others
in the group to do the same. For example, after receiving the text
message, Sally, the user of mobile device 40(2) is presented with
the dilemma of whether to purchase a shirt that costs $24 or one
that costs $32. Sally, desirous to go on vacation, and being
encouraged by the actions of Jim, decides not to purchase the more
expensive shirt but rather to purchase the less expensive one.
Accordingly, Sally, the user of mobile device 40(2) sends a text
message such as "$8 cheaper shirt." The message is received by
computer 10 which then transmits a message to the other mobile
devices 40(1) and 40(3) such as "Sally, $8 cheaper shirt!". In this
way all member of the group are aware of each others' actions and
are accordingly encouraged to save.
[0015] In another example, Jim chooses not to purchase a pair of
shoes that cost $100, but only wants to contribute $30 to the
savings goal. In this case, an exemplary text message is "$30
shoes." Thus, with respect to not spending money "an amount" or
"the amount" is understood herein to include the total amount of
the money saved (that is, not spent), or a portion thereof. In yet
another example, in order to save money, Sally chooses to stay home
instead of going out with her friends on the weekend. Sally knows
from experience that if she goes out with her friends she is likely
to spend around $60. In this case, an exemplary message is "$60,
stayed home and didn't go out with friends." Thus, with respect to
not spending money, the "description of the good or service not
purchased" is understood herein to include not taking part in an
event or activity, giving up an event or activity, or any other
action that results in money not being spent.
[0016] In addition to storing the descriptions and amounts not
spent, computer 10 also keeps a running total of the amount of
money not spent, that is the amount of money saved towards the
savings goal. Computer 10 generates periodic reports from the
stored information. The reports, such as graphs and figures, show
progress made towards the savings goal. The reports may be
transmitted to the mobile devices 40 of the users, published as a
web page to be viewed by other computers 70, transmitted to a
"cheering section" 90, that is a group of people who are not saving
but want to encourage group 50 to save, to blogs, web applications,
social networks, instant messaging applications, email, and the
like.
[0017] Computer 10 may transmit periodic message reminders to the
users (that is the mobile devices 40) reminding them to transfer
the money they have saved that period to a savings account 80. Each
user may receive a different message as each user may have saved a
different amount. The message reminders may also be transmitted to
email addresses and the like.
[0018] Each user may have a different savings goal, and each user
may have a different or individual savings account 80. In one
embodiment, the users pool their money and resources to reach a
common savings goal. In another embodiment, each user has an
individual and different savings goal and separate savings account.
For example, one user's savings goal may be to reduce credit card
debt, and another user's savings goal may be to save for a
vacation.
[0019] Some or all of the users may optionally provide bank account
information, stored by computer 10, so that computer 10 can
automatically transfer money from one bank account such as the
user's checking account, to a savings account 80. For example, an
Automated Clearing House (ACH) transfer could be executed on a
weekly basis for the amount saved by each of the users. The
transfer may be any type of electronic transfer whether by ACH or
any other transfer method. The transfer may be an inter-institution
transfer and/or an intra-institution transfer. The transfer can be
from any type of financial account to any other type of financial
account whether those accounts are managed or administered by the
same institution or by different institutions. The account(s) may
be accounts linked to a card product such as a credit card, debit
cart, prepaid card, and the like.
[0020] Furthermore, members of the cheering section 90 can transmit
messages to members of the group 50 in order to encourage them.
Exemplary messages include "Sally, you better stop buying shoes"
and "If you can all save $160 next week I will give you a gift of
$50." In this way, other members of the cheering section can
contribute to the saving goal as well as encourage the group
50.
[0021] Now, with the system of FIG. 1 in mind, FIG. 2 shows a
method for saving money with mobile devices. At step 210 a
plurality of mobile devices is provided. Each of the plurality of
mobile devices belongs to or is operated by a user of a plurality
of users. The plurality of users of the group may also be referred
to herein as "savings partners." Each of the plurality of users has
a savings goal. The savings goal may be common for the plurality of
users, or different for some of the users in the group. The savings
goal, for example, includes an amount of money to save and a length
of time.
[0022] At step 220 an electronic account is created. The account is
created and stored at a computer. The account stores, for example,
identifying information about each of the plurality of users, the
savings goal, and how the savings goal is divided among the
plurality of users. The identifying information about each of the
users includes the name of the user and a unique electronic
identifier (step 310). The electronic identifier is for contacting
the user electronically, that is sending an electronic message to
the user. Each user may have more than one electronic identifier.
Examples of electronic identifiers include email address, mobile
phone numbers, user IDs for instant messaging services, user IDs
for social networking application, user IDs for blogs and
micro-blogs, and the like. The account may also store bank
information.
[0023] The account may be created by one or more than one of the
savings partners. In creating the account, the savings goal is
defined. So, the step of creating the electronic account 220
further includes defining a duration and an amount of money to save
(step 300). For example, if there are four savings partners and
their savings goal is to save $1040 over eight weeks then their
common savings goal amount is $1040 and the duration is 8 weeks.
Step 220 may also include selecting or uploading a goal image and a
description of the goal which is stored in the account (step 320).
For example, using the above example, the common amount to save is
$1040, and the duration is eight weeks. The description is, for
example, "Trip to Costa Rica!". One or more of the users may select
or upload an image of a beach, for example, to be displayed as
their exemplary goal image.
[0024] At step 230 a periodic sum of money to be saved by the
plurality of users is computed according to the savings goal. Using
the savings goal example of $1040 over eight weeks for four users
(also referred to herein as savings partners), one exemplary
computation of the periodic total sum of $130/wk ($1040/8 weeks),
the period being one week, and with each savings partner having an
individual periodic savings goal of $32.50 ($1040/8 weeks/4 users).
This is only one exemplary computation however and it is noted that
elements of the savings goal can be modified or adjusted so that
the periodic total sum and individual periodic savings goal varies
from varies from period to period, the length of the period varies,
and the individual periodic savings goal is different or varies
among the savings partners. This is, at least in part, designated
by arrow 295. Thus, step 230 of computing the periodic sum may
further include computing the periodic sum such that it is
different for at least some of the plurality of users, or is
different for all of the plurality of users from period to period,
or such that the length of time of the period is variable.
[0025] The method of FIG. 2 may also include selecting a goal from
a library of goals. In this way a "template" may be presented to
automate at least some of the elements of steps 220 and 230. FIG. 3
shows one such exemplary goal library. Each of the goals 400
includes at least some of the elements resulting from steps 300,
310, and 320. Examining goal 400(3), there are two users (step 310)
as show by icons 402, the amount (step 300) is $1920 as denoted by
"goal" 404, the duration (step 300) is 16 weeks as denoted by
"duration", the description 408 (step 320) is "Adios Credit Card
Debt!", and the image 410 (step 320) is an image of credit cards.
In this example, the periodic sum to be saved (step 230) as denoted
by lead line 412 is "$50/wk" for user 402(1) and "$70/wk" for user
402(2). Those skilled in the art will appreciate that these are
only a few of the steps and element in creating an electronic
account and computing a periodic sum and that many variations and
changes are possible while remaining within the scope the present
invention.
[0026] Turning back to FIG. 2, at step 240 a first electronic
message from a first mobile device of the plurality of mobile
devices is received. The first electronic message comprises, at
least, a description of a service or product not purchased by user
of the first mobile device and the amount of money not spent.
Revisiting the example given above, Jim sends a text message ("$5
snack") from his mobile phone (40(1) of FIG. 1) which is received
(step 290) by the computer (10 of FIG. 1), the computer being
operative to receive electronic messages such as text messages.
This first electronic message is transmitted when Jim makes his
decision to not purchase the snack. It is noted that the term
"first mobile device" refers to the mobile device that is currently
transmitting the electronic message and that any one of the mobile
devices may be considered the first mobile device. "First mobile
device" should not be confused with any particular order in which
the mobile devices are physically arranged in the figures. From
iteration to iteration of the method of FIG. 2, any one of the
mobile devices can be the first mobile device.
[0027] At step 250 the description and amount are stored in the
account, and they are associated with the user by way of the
electronic identifier. In the present example, the electronic
identifier is the mobile phone number of Jim's mobile phone (40(1)
of FIG. 1).
[0028] At step 260 a running total of the amount of money not spent
(that is, the money saved) is computed. This is computed separately
for each of the savings partners since they may each have different
savings goals and savings from week to week. If the savings goal is
common, it is computed in aggregate to determine if the common
savings goal has been reached.
[0029] At step 270 a second electronic message is transmitted to
all of the plurality of mobile devices except the first mobile
device. The second electronic message comprises the description,
amount, and an identifier identifying the user of the first mobile
device. Recall, this information is available as described with
reference to step 310. The second electronic message may be
transmitted to a mobile phone number, an email address, a blog, a
micro-blog, an instant messaging application, a web application, or
any electronic device operable to receive messages. Web
applications may include any program that can be executed in a web
browser or served from a server to a client computer, including
applications such as Facebook and other social networking sites.
Many social networking sites provide an application programming
interface for developing third party social applications.
Accordingly, "web application" as used herein also includes such
applications. Also, a third electronic message may be transmitted
to the first mobile device. The third electronic message may
comprise, for example, confirmation of receipt of the first
electronic message, a copy of the first electronic message, or
other information.
[0030] Next, at step 280 it is determined if the savings goal has
been reached. The savings goal is reached when the running total of
step 260 is at least equal to the amount of the savings goal. Steps
240, 250, 260, and 270 are repeated if the savings goal or goals
have not been reached.
[0031] Referring to FIG. 4, at step 400 an electronic message
reminder is periodically transmitted (for example, from the
computer 10 of FIG. 1) reminding the plurality of users to transfer
money to a bank account. These periodic reminders are sent until
the savings goal is reached (step 410). The periodic reminders can
be sent to each user only until their individual savings goal is
reached. The period may be, for example, monthly. The amount of
money the electronic message reminds each user to transfer may vary
among users since their individual savings goals may be different,
and their actual savings may be more or less than their goals.
Thus, the electronic message reminders may be tailored based on
each users' description and amount (step 250), and individual
running totals and aggregate running totals (step 260). Some or all
of this information is transmitted to each user according to their
electronic identifier. Depending on the electronic identifiers, the
electronic message reminders may be transmitted to, for example,
mobile devices, and to computers, such messages to computers
including email, blogs, micro-blogs, web pages, RSS feeds, instant
messaging applications, web applications, and the like.
[0032] FIG. 5 shows a method for periodically electronically
transferring money according to the users' savings goal and savings
progress. This method may be used alone or in combination with the
method of FIG. 4. At step 420, at least one bank account is linked
to the electronic account created in step 220. For example, if the
savings goal is common for a family, the family's checking account
and savings account may be linked. In another example, the savings
goal is for a group of friends and each friend has a different
savings goal, and a separate and individual savings account.
[0033] One way of linking accounts is to store bank account numbers
and bank routing numbers associated with each user. In this way,
the computer can execute electronic money transfers, such as
automated clearing house (ACH) transfers from each user's checking
account to the corresponding savings account.
[0034] No matter the type of transfer executed and the details of
the accounts that are stored, at step 430 money is periodically
electronically transferred from at least one bank account to at
least one other bank account. As disclosed with reference to FIG.
4, the period and amounts may vary according to each user. The
periodic electronic transfers continue until the savings goal is
reached (step 440).
[0035] As shown in FIG. 6, and as already mentioned above, the
computer also generates reports. The reports, including graphs and
figures, show progress made towards the savings goal and may also
show progress made towards individual savings goals. The reports
may be transmitted or published to the mobile devices, to other
computers to be displayed as a web page, to a "cheering section",
that is a group of individuals who are not savings partners but
want to encourage the savings partners, to blogs, web applications,
social networks, instant messaging applications, email, and the
like. The reports may be periodic, such as weekly, as long as the
savings goal has not been reached (step 280), and they may also be
a final report such as once the savings goal has been reached (step
280). The reports may show progress of each user in relation to
their individual savings goal, and they may show progress of the
savings partners as a whole. Those skilled in the art will
recognize that many different types of reports may be generated,
all within the scope of the present invention.
[0036] FIG. 7 shows a method for friends to encourage the plurality
of users to save. At least one electronic identifier for at least
one friend of the plurality of users is received at step 460. At
step 470 the friend's electronic identifier is stored in the
electronic account. In storing this electronic identifier, it may
be associated with one or more users of the plurality of users.
Users may have the same or different friends. At step 480 a message
is transmitted to the friend's electronic identifier indicating
progress made towards the savings goal. The message may include,
for example, any of the elements described above with reference to
messages and reports. At step 490, a message is received from a
computer or mobile device of the friend (90 of FIG. 1), the message
commenting, for example, on the progress made towards the savings
goal. The message received at step 490 may further be transmitted
to one or more than one of the mobile devices (40 of FIG. 1). The
message may also be displayed with other reports and other messages
to further encourage the plurality of users to save.
[0037] Referring back to the figures, many other variations are
possible. For example, users (40 of FIG. 1) may have more than one
savings goal, and they may belong to more than one group (50 of
FIG. 1). Also, users (40 of FIG. 1) may save without a specific
goal in mind. In such an embodiment, the duration and amount of the
savings goal (step 300 of FIG. 2) may be defined, either alone or
in combination, as a number so large such that it is never possible
to reach in one's lifetime (for example, 1010). In this case, the
savings goal is never reached (step 280 of FIG. 2) and the method
of FIG. 2 only ends when ended manually. Also, it is possible that
there is only one user. Is this case, no second electronic message
is transmitted (step 270 of FIG. 2 is skipped). Instead, the third
electronic message disclosed above is transmitted to the first
mobile device. The third electronic message may be an automated
response selected from a list of responses. For example, after the
description and the amount is received (step 240 of FIG. 1), the
third electronic message may be "Way to go!" or "Congratulations!"
or the like. Or the third electronic message may comprise the
running total (step 260 of FIG. 2), for example.
[0038] Another example within the scope of the present disclosure
includes card product such as a pre-paid debit card. The card
product is linked to a transaction account from which purchases are
made, and a savings wallet account. When an impulse save is made,
the money not spent is transferred from the transaction account to
the savings wallet account. The transfer may be made by a bank or
other financial institution that has a master account for all
users, which are pooled, and which also is the card issuer. The
transfer may be made by the card or merchant processor.
[0039] Another example within the scope of the present disclosure
includes any financial services provider or processor such as a
payroll provider. In the example of a payroll provider, employees
register an account with the server which is also tied to a
company's human resource (HR) department. Impulse saves, that is
amounts not spent, made by an employee is sent to the server. The
impulse saves are totaled and, for each pay period, the aggregate
impulse saves are transmitted to the employer and/or payroll
provider, and the amount not spent is deducted from the employee's
paycheck and transferred to a savings account such as a 401k
account.
[0040] As already disclosed, impulse saves received at the server
may be transmitted, in part or in whole for each user, to bank or
other institution linked to the user's account, and an
intra-institution or inter-institution transfer may be made, all as
disclosed above.
[0041] In this way, spontaneous decisions to not spend money,
whether for a particular goal or for any random or non-particular
save, may be made. For example, savings games may played such as
"save $15 if a black dog walks in front of you," with such games
having benefiting the users (or players) because they are
encourages to save money. These games may be played by way of
social networks.
[0042] Also, as already disclosed, impulse saves may be sent from
and received by any type of computing device. And, as already
disclosed, an individual may use the systems and methods disclosed
herein and their impulse saves may reported on a social network
such as Twitter, Facebook, Google+, and the like. In this way a
user's social network friends are, at least, their cheering
section. So, sharing may be with a spouse, family members, friends,
social media connections, and the like.
[0043] Finally, it is appreciated that the mobile devices 40 may
comprise many different types of mobile devices such as cell
phones, smart phones, PDAs, portable computers, and any other type
of mobile device operable to transmit and receive electronic
messages. The computer network(s) 20 may include the internet and
wireless networks such as a mobile phone network 30. Computer 10
may be one or more computers and may comprise any type of computer
capable of storing computer executable code and executing the
computer executable code on a microprocessor, and communicating
with the communication network(s) 20. For example computer 10 may
be a web server. The electronic identifiers include email
addresses, mobile phone numbers, user IDs for instant messaging
services, user IDs for social networking application, user IDs and
URLs for blogs and micro-blogs, URIs, and the like. It is
appreciated that other elements and configurations of FIG. 1 are
possible while remaining within the scope of the present
invention.
[0044] It is appreciated that the mobile devices mentioned herein
may comprise many different types of devices such as cell phones,
smart phones, PDAs, portable computers, and any other type of
device operable to transmit and receive electronic messages. The
computer network(s) may include the internet and wireless networks
such as a mobile phone network. Computers disclosed herein may be
one or more computers and may comprise any type of computer capable
of storing computer executable code and executing the computer
executable code on a microprocessor, and communicating with the
communication network(s). For example, a computer may be a web
server. References to user identifiers may include electronic
identifiers such as email addresses, mobile phone numbers, user IDs
for instant messaging services, user IDs for social networking
application, user IDs and URLs for blogs and micro-blogs, URIs, and
the like.
[0045] The systems and methods may be implemented on an Intel or
Intel compatible based computer running a version of the Linux
operating system or running a version of Microsoft Windows, Apple
OS, and other operating systems. Computing devices based on
non-Intel processors, such as ARM devices may be used. Various
functions of the server or mobile device may be implemented in
hardware and/or in software, including in one or more signal
processing and/or application specific integrated circuits. The
computers and, equivalently, mobile devices may include any and all
components of a computer such as storage like memory and magnetic
storage, interfaces like network interfaces, and
microprocessors.
[0046] An application programming interface (API) permits the
systems and methods to operate with other software platforms such
as Salesforce CRM, Google Apps, Facebook, Twitter, and other social
networking sites, and the like. For example, the interactive
messaging system could interface with CRM software and GOOGLE
calendar.
[0047] A computer program product may include a computer readable
medium comprising computer readable code which when executed on the
computer causes the computer to perform the methods described
herein. Databases may comprise any conventional database such as an
Oracle database or an SQL database. Multiple databases may be
physically separate, logically separate, or combinations thereof.
The components of the computer, including creating, storing,
modifying, and querying databases, and interfacing and
communicating with networks are well understood by those having
ordinary skill in the art.
[0048] The features described can be implemented in digital
electronic circuitry, or in computer hardware, firmware, software,
or in combinations thereof. The features can be implemented in a
computer program product tangibly embodied in an information
carrier, e.g., in a machine-readable storage device or in a
propagated signal, for execution by a programmable processor; and
method steps can be performed by a programmable processor executing
a program of instructions to perform functions and methods of the
described implementations by operating on input data and generating
output.
[0049] The described features can be implemented in one or more
computer programs that are executable on a programmable system
including at least one programmable processor coupled to receive
data and instructions from, and to transmit data and instructions
to, a data storage system, at least one input device, and at least
one output device. A computer program is a set of instructions that
can be used, directly or indirectly, in a computer to perform a
certain activity or bring about a certain result. A computer
program can be written in any type of programming language (e.g.,
Objective-C, Java), including compiled or interpreted languages,
and it can be deployed in any form, including as a stand-alone
program or as a module, component, subroutine, or other unit
suitable for use in a computing environment.
[0050] Suitable processors for the execution of a program of
instructions include, by way of example, both general and special
purpose microprocessors, and the sole processor or one of multiple
processors or cores, of any kind of computer. Generally, a
processor will receive instructions and data from a read-only
memory or a random access memory or both. Some elements of a
computer are a processor for executing instructions and one or more
memories for storing instructions and data. Generally, a computer
will also include, or communicate with one or more mass storage
devices for storing data files. Exemplary devices include magnetic
disks such as internal hard disks and removable disks,
magneto-optical disks, and optical disks. Storage devices suitable
for tangibly embodying computer program instructions and data
include all forms of non-volatile memory, including by way of
example semiconductor memory devices, such as EPROM, EEPROM, and
flash memory devices; magnetic disks such as internal hard disks
and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM
disks. The processor and the memory can be supplemented by, or
incorporated in, ASICs (application-specific integrated
circuits).
[0051] To provide for interaction with a user, the features can be
implemented on a computer having a display device such as a CRT
(cathode ray tube) or LCD (liquid crystal display) for displaying
information to the user and a keyboard and a pointing device such
as a mouse or a trackball by which the user can provide input to
the computer. The display may be touch sensitive so the user can
provide input by touching the screen.
[0052] The features can be implemented in a computer system that
includes a back-end component, such as a data server, or that
includes a middleware component, such as an application server or
an Internet server, or that includes a front-end component, such as
a client computer having a graphical user interface or an Internet
browser, or any combination of them. The components of the system
can be connected by any form or medium of digital data
communication such as a communication network. Examples of
communication networks include, e.g., a LAN, a WAN, wired and
wireless packetized networks, and the computers and networks
forming the Internet.
[0053] The foregoing detailed description has discussed only a few
of the many forms that this invention can take. It is intended that
the foregoing detailed description be understood as an illustration
of selected forms that the invention can take and not as a
definition of the invention. It is only the following claims,
including all equivalents, that are intended to define the scope of
this invention.
* * * * *