What is Real-Time Processing?
Real-time processing is a kind of data processing that responds instantly to commands or to the entry of data. In some cases, this may also refer to the appearance of instantaneous response when in reality there is a short delay. This processing is often divided into two different categories, hard real-time and soft real-time.
Hard real-time processing refers to a system in which a deadline that must be met. If the deadline is not met, the task or system is considered a failure. This kind of processing can be found in systems with which there is often little room for failure. Some examples may include airplane control systems, pacemakers, and many medical devices that monitor the health of patients who may be in critical condition.
Soft real-time processing, on the other hand, is a kind of processing in which the deadlines may be missed without the system failing because of the delay. In some cases, the system might suffer from poorer quality or decreased effectiveness of functions. These processes are often found in audio and visual systems. A recorded video, for example, might miss frames, though the video will not fail because of the lateness or deletion of certain frames. Instead, the quality of the video is decreased.
Real-time processing is used in a number of different industries around the world. Some common examples of this kind of processing can be found in the processing of transactions by credit card companies. Many of these companies use a batch processing method that allows a number of transactions to be recorded at once. This is an example of soft real-time processing.
Many automobiles use real time computing as well. An automobile engine can be a good example of hard real-time processing. If the engine is late in its response to the command it receives, it might cause the whole automobile to malfunction.
There are a number of designs that are used to produce real-time processing systems. One of the most common methods for real-time design is the Modular Approach to Software Construction Operation and Test (MASCOT). MASCOT is a method of software design that was first introduced by United Kingdom Ministry of Defence in the 1970s. This method differed from other software development methods in that its main focus was not the functionality or purpose of the system being designed. The developers of MASCOT focused instead on the real-time processes and efficient performance of the systems that they developed.
@JaneAir - Most financial institutions (banks, credit unions, etc.) do, in fact, use real time processing as you'll notice if you check your account history after making a transaction. Since it's posted in your history in a matter of milliseconds, this is considered real time. This means the bank's servers have received and posted the transaction data in milliseconds.
The "pending" status you are referring to is different. There are a lot of technicalities to legally making a transaction via debit or credit cards. The transaction will remain pending until all of those technicalities have been verified.
In contrast, if you go into online banking and make a funds transfer, your account history (should) immediately reflect that transfer with the funds removed and no pending status. This is real time processing.
I have recently been through a project that used REd Hat Linux along with a Real-Time kernel V3.5 installed on my desktop pc to give me real-time processing through the parallel port. I controlled a dc motor by interfacing it with the computer. The whole experience was awesome.
I think that we’ve simply become so used to real time responsiveness in this electronic world, that it’s simply impossible to imagine any other way of doing things.
When I stop at the gas station and swipe my credit card into the machine, I get real time credit card processing. The machine checks my credit card, and within seconds, I’m approved (so far, anyway).
I couldn’t imagine what it would be like if there were delays, or worse, paperwork to fill out every time I needed to fill up the tank.
I think an area where real time technology shines is video processing. Real time video processing in my opinion is a major achievement, because video usually consumes a lot of file space and memory.
One example of its use is by your local weatherman in the evening news. He stands in front of a green screen and shows you a map of the United States, describing the weather patterns and stuff. A backdrop of the United States is superimposed against that green screen, in real time, and you get an image of him standing against the backdrop of the United States – or any image, for that matter, that helps him deliver his weather report.
It takes an enormous amount of power to process those video images in real time, in my opinion. Doing green screen processing in post production would be much easier, I believe.
@MrMoody - I am vaguely familiar with that concept; however, I don’t think that you can argue that it’s not real time data processing. For all intents and purposes, the time between when the user finishes entering all of those orders and the time when the computer finally commits them to the system is practically negligible.
Your example, I believe, is what the article talks about where there might be a slightly delay between order entry and a final commit to the system. However you do bring up a good point that most software of that kind permits the user a kind of batch undo function. That is a very helpful indeed.
@indemnifyme - I work in the software industry. Sometimes real time transaction processing is not always as useful as it might seem at first glance.
For example, suppose someone wants to enter a large batch of orders in one fell swoop. If we’re talking hundreds of orders, then that places the user in a bind if later they decide they want to revert their batch to their original state.
What they need is a master “undo” function for all of the orders that they’re inputting.
The way we handle this in software is through the use of something called transactions.
When the user starts entering their orders, we begin with a statement like “Begin transaction.” When they’re done with order entry, we end with “End transaction” and then commit the orders to the system.
If the user changes their mind, we can do a roll back and the system will undo all of the orders in that transaction, bringing it back to the original state.
@indemnifyme - That does sound handy. I personally wish banks would adopt real-time processing for transactions.
I always get mixed up with my available balance when transactions are pending. It would be so much better if the transaction processed right away and the account balance updated too. I personally think banks cold probably do this. However, if they did a lot less people would overdraft, which would mean less fees for the bank. So I don't think it will actually happen.
I work in the insurance industry and I see real-time processing every day. When I give someone a quote for insurance, our system processes the information that I input and gives me an accurate quote right away.
When I order the customers credit and loss history, I'm instantly provided with that information. The quote also updates itself when the information is retrieved. Also, when I put in the customers information, such as information about their vehicle, the system immediately processes it and update the quote.
I'm also able to make changes to policies in real time. So for example, if someone calls me and wants to add a vehicle to their policy I'm able to input the information and give them their updated premium right away.
I love the way our system works and I can't imagine doing my job with any kind of processing time lag.
Post your comments