The Batch Processing Model
So it's the start of a new month, and you rush to the mail for the latest issue of your favorite magazine. You are excited! Unfortunately your excitement does not last, as you fling open the mailbox door and realize your magazine has not arrived, but your cell phone bill has. You sigh, and as you flip through the bill, your mind starts to wonder how do cell phone companies manage all that data and get bills out to so many customers the same time every month? The answer is batch processing.
A Different Kind of User Experience
Unlike the experience you have with a PC or tablet where you use a mouse or touch screen with a big colorful display to execute commands, batch processing is very different. Under the batch processing model, a group of one or more program, referred to as a job,will perform a specific set of tasks that does not require a user to control it. These programs are often said to be running in the background of the computer since there is no interaction, display, or feedback provided to a user as they execute.
Outputs from these jobs might include inventory and sales reports, complex research calculations, paychecks, or billing statements for utilities like your water bill or cell phone provider. Since there is no user interaction, all the necessary information needed for the job to execute must be specified before the job can start, or be available at the appropriate step in the job's order of operations. When the job is complete, different activities can be triggered, such as messages to the owner of the job, or a printout of the generated statements. Additional jobs can even be started based on the outputs of the prior tasks.
If the right information is not ready when needed or missing completely, the job might take longer than normal to run, or might generate an error and end before processing is complete. When a job fails to complete successfully, a system operator will receive an alert message and have to troubleshoot where things went wrong, or ask a programmer to look at that step in the job by reviewing logs, error codes, or input data files.
In many instances, jobs are set up to run on a pre-set schedule depending on the task being performed. Some jobs, like credit card processing for store owners, might run on a daily basis at the close of business when all the sales for the day are sent to the bank for recording. Other jobs, like utility bills, will run less frequently, on a monthly or even quarterly basis, since it makes more sense for these bills to be processed and sent out less often. After all, you would not want to receive a cell phone bill every week. That would be pretty overwhelming!
Getting the Most out of Computer Resources
Batch processing also allows businesses to get the most out of their computer hardware by executing the jobs after hours. During the day, employees use the network and servers to complete their work and when they go home at the end of the day, these resources would normally sit idle until the following morning. Businesses can use batch processing to take advantage of this idle time by saving their complex report generation and processing efforts for what is called non-peak times, scheduling these jobs to run once people have gone home for the evening. Resources that would otherwise be sitting idle are working throughout the night, allowing companies to be more efficient and get the best return on their investment in computing power. The next day when the staff returns, the outputs from these jobs are waiting for people to review and use as needed.
Other companies may choose to run batch jobs during regular office hours and will use complex scheduling and monitoring tools to ensure the jobs do not consume too many resources so as to negatively impact the office workers. For example, the scheduling and execution process might start the jobs in the order they were submitted, following a first in, first out model, often called FIFO for short. Of course this means if a complex or large job is submitted and starts executing, many smaller jobs need to wait for its completion before they can be started.
To get around this common problem, schedulers can give priority to smaller jobs that require fewer resources to complete so they can be executed faster and not be delayed due to other more complex jobs. A priority can also be set when a batch job is submitted, which allows for that job to be given more or less computing resources for its execution.
Consider a situation where the job that generates the paychecks for an organization was delayed unexpectedly or encountered an error during its execution. The owner of that job can resubmit it and set it to run at a higher priority to ensure it gets to the front of the line, and uses more computing power to help guarantee a timely completion. Conversely, a job owner might set their batch job to run at a lower priority if their work is not needed in a timely manner and the owner does not want to negatively impact any other users of the system.
So there you have it. Batch processing allows for jobs to be run with minimal to no human intervention following preset schedules and priorities, as long as the information needed to execute the job is present. Additionally, computing resources can now be used 24-hours a day, helping companies get the greatest return possible on their technology investment.
When multiple jobs are competing for the same resources needed to execute their tasks, operators can set different levels of priority to allow one job to use more or less computing power. Doing so will ensure those jobs that are important for the business operations come first, allowing for timely delivery of business data, services, processes and outputs.
To unlock this lesson you must be a Study.com Member.
Create your account
Register to view this lesson
Unlock Your Education
See for yourself why 30 million people use Study.com
Become a Study.com member and start learning now.Become a Member
Already a member? Log InBack