GeneralThis forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I got to thinking about finance today due to the budget today.
Money, as we all know, (as stored in a bank) is not physical anymore, but a byte (or a couple of bits) in a database somewhere. I was first of all
curious to know what kind of systems, both hardware and software, banks use
to store this ultra-important, well I don't know what to call it -
commodity? information? Well, something along those lines, you get the
picture.
Is it a supercomputer? Is it a x86 cluster? Since banks these days have
websites where you can check how much munnee you have in your account, they
obviously have *something* in there that speaks TCP/IP. But is that the
computer where the money actually is *stored*, or is that just the computer
running the website, which connects back to the main, money computer to do
its stuff? (Highly advisable I would think, due to security concerns).
I just know a wee bit about databases, but transactional databases are probably the sort of software that banks use in essence. What they do is to queue transactions (+/- on an account, for instance), then they check them off when they're done. This is probably over-simplified, but this lets banks ensure that if something gets screwed up right before a big debit to someone's account that they'll lose the semblance of what was to be done. It basically ensures that the transaction will happen when it's placed, something that is necessary for financial transactions. Otherwise, you'd have things happen like a transaction wherein 3 million dollars was transferred from A to B, and the database transferred the 3 million to B's account, but crashed, and never withdrew such from A. This would be a major problem!
I'm positive much more has been written about this; I'd suggest reading up on transactional databases on Google for more information.
Something to scare you a bit.....
I went to a hole in the wall (aka ATM) once to be greeted by a windows 2000 desktop on the display. I'm just hoping it didn't have access to the internet at large.
Hopefully they don't use this for all there backroom transactions.
OK, just skimmed thru that Wikipedia page - the vital info was down below - *nowadays*, they're based on Itanium processors, which may well be running our favourite OS (and a processor which I have some degree of knowledge about programming about).
The HP page doesn't mention what CPU it is (didn't explore more than the first page as my net connection is about to run out and I'm paying by the byte), but it may well be Itanium too as AFAIK, HP had a hand in developing the Itanium.
SOmebody send me a greeting saying *my code* could one day be running an Itanium server
Both hardware and software can be fault tolerant and, in the case of NonStop Systems and probably others, both are integrated. If either of the two is not fault tolerant, the system can still come to a halt.
Automated money transfers (talking about getting money from ATM's) are set up in such a way that only after the transaction is fully finished the transaction is seen as a success (and money is deducted from your account). If anything goes wrong in any of the steps the whole transaction is rolled back (NoneStop SQL is a major part in this).
The ATM itself is rather dumb (as in not fault tolerant) and the connection to/from it can be done with TCP/IP (which can, but doesn't have to be a dedicated line). If the ATM's power fails, the connection is severed (etc) during a transaction, all is rolled back.
I see that you already posted another entry: It has been a while since I worked with Tandem systems (C and D series, I stopped working with it around the time HP bought Tandem), so I'm not up to speed with the current setup HP uses.
IBM sold thousands of RS/6000 systems all over the world. All were 4 to 64 way redundant and a few were more. They tended to use AIX. Oddly the ATM's used to use OS/2 warp well past supported end. I guess since they felt it was secure they didn't change. Some are now QNX and UGH MS. Still plenty of power pc's out there but all have redundant checking on many many hard drives.
You can quite easily research the methods that are used by payment processors: they are not secret. Look for terms like "PCI."
The technology relies upon thoroughly encrypted messages sent through a reliable transport protocol... which can be as simple as "VPN." The messages that are exchanged are digitally signed for tracking and message integrity purposes.
Again, there is no "secrecy" here; no "security through obscurity." The various protocols were built using standard software and hardware of the time, and they have of course from time to time been updated.
If you stop and think about it, it would be quite impossible to "roll your own" solution to these component problems; and, you don't have to. Some working-groups have focused exclusively upon the design of transport protocols. Others, only upon the nature of the messages being passed and of the financial transactions represented by those messags. Still others, only upon "what if?" These discussions are held completely in-the-open, and every step is subjected to aggressive peer review. "Secrecy" is the last thing that anyone wants. (Provable security, yes. Secrecy and obscurity, no.)
The general problem is an interesting one, and by no means confined to just banking. The systems have to be not only secure, but rugged. It is necessary to have a workable strategy to handle reality, including for example the fact that millions of messages a day will be exchanged and that from time to time something will go wrong. So, the system has to be such that errors can be detected and corrected, and the system brought to a current state even after-the-fact. All of these systems have to be inter-operable among many different vendors. Invoicing systems, purchasing systems, shipment tracking, logistics, scheduling ... the list goes on and on and on.
Last edited by sundialsvcs; 03-07-2010 at 12:10 PM.
Banks have a mixture, they have more than just checking accounts, there are all kinds of loans, leases, investments, etc so they have multiple systems. We have Windows, solaris, redhat, some mainframe stuff even some old AIX, etc. Lot of EMC, Oracle, Vmware, etc.
Banks have a mixture, they have more than just checking accounts, there are all kinds of loans, leases, investments, etc so they have multiple systems. We have Windows, solaris, redhat, some mainframe stuff even some old AIX, etc. Lot of EMC, Oracle, Vmware, etc.
In India today most banks are implementing what is called a "Core Banking Solution" that provides interoperability among banks apart from fully computerised and standardised operations in their branches and teller machines and inter-branch links within each bank.
This has many advantages for the end client. The chief among them is that there is uniform & uptodate implementation of rate changes, charges etc.
On top of that banks in India have one major payment gateway which is operated by the Reserve Bank (the national bank which fixes rates, implements fiscal policy etc). This payment gateway called as Electronic Clearing System of ECS is in batch mode and is used by major customers. Example the hospital where I consult, sends all vendor, doctor and consultant payments once a month using this gateway.
Retail users can use EFT or Electronic Funds Transfer since all banks and branches are coded according to a standard.
At the core, banks NO MORE HAVE COBOL SYSTEMS. Whew! The IBA or Indian Banks Associataion recommends industry standard and rugged RDBMSs with HTML and Java based front ends.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.