Could someone describe this to me in their own words? Also I am interested in how a company would charge for such services.
Cloud Computing is the offloading of a Task that you need performed to another Computer.
An example of a "pre-performed Task" is when you make a request to Google to return the result for a search that Google has already made, that is
not "Cloud Computing" but may be easier to understand.
An example of requesting a "Task to be performed" is when you "Submit an URL" to Google and ask it to index a Website, that is also
not "Cloud Computing".
Online Backup may be as close as you get to a Cloud but without an element of "Computing" then it is not "Cloud Computing". Uploading a Video to YouTube and having them transcode and serve it for you
would be "Cloud Computing"
IF you actually wanted your Video transcoded (many do not and you have little or no control over the decisions regarding the transcoding (or Serving)) thus that too falls out of the Category.
Cloud Computing is the sharing of Processors and Resources of
many other (unknown to you) Computers under the command of
your Computer, think of it as "the other Computer give you Cores and Hard Drives to use".
One example of "Cloud Computing" might be the way Corba works:
http://en.wikipedia.org/wiki/Corba you control what is to be done (but usually also where it is done, thus not so "cloudy").
An example of "Inverse Cloud Computing" is F@H
http://en.wikipedia.org/wiki/F@H where
you (and many others)
are the Cloud, they tell you what they want you to do (and know who you are) but you don't necessarily
have to do it, thus also not very "cloudy").
P2P could be "Cloud Computing" IF you had more certainty of what was being done (no cheating) and had a better idea of when it would be done (no slacking).
To be "Cloud Computing" you need a significant level of control over
what is to be done with little or no control over
where it is to be done, thus "Computing" (you control) on a "Cloud" (not "micro-managed" by you).
Exactly what a "Cloud" can offer (availability you would pay for) and exactly where your Data (and Instructions) go is 'up in the Air' (that is what a Cloud is) but you would hope to obtain the correct result (quickly) without having to purchase (or even knowing and understanding) all the Hardware necessary to obtain it.
There are many ways to charge a Fee for such Services. They might charge by the Byte transferred and by the time per Core used. They might simply charge a flat fee and offer a given level of Service (so many megabytes stored and transferred and so many hours online per month).
Here is one Place that offers such a Service:
http://aws.amazon.com/ec2/ check their FAQ. That is not the only Place nor the only definition.