There are a few ways that you can accomplish this. The most straightforward options would be as follows:
Replication - Consists of one or more servers in a publisher-subscriber model. Transactional replication can copy and distribute data from one database to one or more other databases. In your situation you could setup a publication for each of the remote servers which will replicated particular data that you need for reporting to the specified database at your corporate server. You could also use merge replication if you wanted to merge all of the data into a single database (but this would require that the databases all have the same schema).
Database mirroring - Consists of a principal and mirrored server which would apply every transaction from the principal server (i.e. the remote server) to the mirrored server (i.e. the corporate server). The mirror database is inaccessible to clients; however; you can create a database snapshot at the mirror server which can be used for reporting. This snapshot will not contain real-time data as it will only have data as recent as the snapshot.
Both of these options are configured per database - this means that if you have 10 different databases at the remote locations that you want to replicate/mirror you will need to create 10 corresponding databases at the corporate office.
Replication lets you customize which data you will replicate while database mirroring moves all of the date. Since you're wanting near real-time data I have a feeling that the best option is going to be transactional replication.
These pros/cons are outlined further in the following articles from Books Online: