The General Packet Radio Service, GPRS, adds packet-switched functionality to GSMTM, which is essentially circuit switched. GPRS is the essential enabler for always-on data connection for applications such as web browsing and Push-to-Talk over Cellular.
GPRS was introduced into the GSM specifications in Release 97 and usability was further approved in Releases 98 and 99. It offers faster data rates than plain GSM by aggregating several GSM time slots into a single bearer, potentially up to eight, giving a theoretical data rate of 171 kbit/s. Most operators do not offer such high rates, because obviously if a slot is being used for a GPRS bearer, it is not available for other traffic. Also, not all mobiles are able to aggregate all combinations of slots.
The 'GPRS Class Number' indicates the maximum speed capability of a terminal, which might be typically 14 kbit/s in the uplink direction and 40kbit/s in the downlink, comparable with the rates offered by current wireline dial-up modems. Mobile terminals are further classified according to whether or not they can handle simultaneous GSM and GPRS connections: class A = both simultaneously, class B = GPRS connection interrupted during a GSM call, automatically resumed at end of call, class C = manual GSM / GPRS mode switching.
Further data rate increases have been achieved with the introduction of EDGE (Enhanced Data rates for Global Evolution). See the EDGE page for some comparisons between the data rate increases afforded by EDGE and GPRS over plain GSM.