GSM Shield battery power supply?

I am using the Arduino Mega 2560 R3 with the BlueVia GSM Shield and it also has a connecting custom circuit. When the device is connected through usb it works fine (sends data to server). But when I try to use a 9v battery connection the GSM shield light is on for "on" but the "net" and "status" lights turn off after a few seconds of connecting the battery. Therefore, it does not work with the 9v battery supply. Why is this? What battery source can I use? I need it to be wireless! Please be very specific! Thank you!

You need a much bigger battery.
Those little 9v batteries have very limited current capacity, and wont power a GSM shield, especially when it transmits.
To determine what sort of battery you will need, depends on many things, but the main one is how often will the GSM shield be used, as its usually the most power hungry component.

Thank you, it will be transmitting a lot (it connects every 20 seconds or so). I thought that the usb from the computer is 5v though? That is why i thought 9v should be more than that not true?

The voltage of a battery doesnt tell you how much electrical energy the battery holds, and although the little 9v batteries
are nominally 9 volts, their capacity is only around 100 - 200 mah, so they cant power very much.
Running a GSM shield where it transmits every 20 seconds will be very hard to run off a battery unless there is some mechanism for
charging the battery on a regular basis, or regularily replacing the battery.
Whats the application involved?

The GSM shield sends data to a Raspberry Pi every time I take a step. (It logs the steps for 20seconds and then sends it to the server) where the Pi can read it. Would a USB battery pack device work? Like this: ?

Got this battery pack:

And works great! (5v 1 amp). I recommend it if anyone else ever has this problem.