A method and apparatus for accessing wireless carrier networks by mobile
computing devices. An access client hosted by a mobile computing device
accesses carrier networks using wireless access points. The access client
uses an access point database to identify access points and carrier
networks. The access client uses a methods database and a tokens database
to access the carrier networks. The access client updates the access
point database, the methods database, and the token database using an
access server when the access client is operably coupled to a carrier
network. The access client transmits user information to the carrier
network. The carrier network uses the user information to authenticate
the user and to generate session data while the user is accessing the
carrier network. The carrier network transmits the session data to the
access server. The access server uses the session data to generate
billing information for the user. The access client also collects network
performance data for individual access points and carrier networks. The
access client transmits the network performance data to the access
server. The access server aggregates network performance data from a
plurality of access clients to generate quality of server reports for
both individual access points and carrier networks. The access client
further includes access point detection and evaluation features for use
by a user in selecting access points available at a single location.