in preferred embodiments , the present invention provides a method for applying geopositioning technologies to optimize the detection of public wi - fi hotspots from a mobile device . reference is first made to fig1 , which illustrates a packet - based communication system 100 . it should be appreciated however that while this system and method is described with reference to a packet - based communication system , the same techniques could also be applied to provide access to hotspots for other applications . note also that while this illustrative embodiment is described with reference to a p2p communication system , other types of communication system could also be used , such as non - p2p , voip or im systems . a first user of the communication system ( named “ tom smith ” 201 ) operates a user terminal 104 which is able to connect to a packet - based network 106 such as the internet . the user terminal 104 may be , for example , a personal computer (“ pc ”) ( including , for example , windows ™, mac os ™ and linux ™ pcs ), a personal digital assistant (“ pda ”), a mobile phone , a gaming device , a tablet or other embedded device able to connect to the network 106 . the user terminal 104 is arranged to receive information from and output information to the user 102 of the device . in a preferred embodiment of the invention the user device comprises a display such as a screen and an input device such as a keyboard , mouse , joystick and / or touch - screen . in the example shown in fig1 , the user terminal 104 comprises a network interface that is able to connect to a wlan access node 107 . the access node comprises an access point “ ap ”) 108 , which provides wireless connections to the access node 107 , and a hotspot portal 109 , which controls whether a user terminal is able to connect to the access node 107 . the ap 108 and hotspot portal 109 can be co - located in a single entity , or be provided in distinct separate entities . however , regardless of the structural layout , the functionality of the two elements is the same , such that the hotspot portal 109 controls whether a user terminal is able to connect to the packet - based network 106 ( e . g . the internet ) via the ap 108 . the hotspot portal 109 provides functionality such as redirection for authentication and payment . also connected to the network 106 is a login server 150 which provides web - pages for login or related to login , to which the user is redirected by the hotspot portal 109 upon beginning the login process . the user terminal 104 is running a communication client 110 , provided by the software provider . the communication client 110 is a software program stored on a storage medium and executed on a local processor in the user terminal 104 . the user terminal 104 comprises a speaker and microphone to enable the user to listen and speak in a voice call . the microphone and speaker does not necessarily have to be in the form of a traditional telephone handset but can be in the form of a headphone or earphone with an integrated microphone , as a separate loudspeaker and microphone independently connected to the user terminal 104 , or integrated into the user terminal 104 itself . following authentication through the presentation of digital certificates ( to prove that the users are genuine subscribers of the communication system — described in more detail in wo 2005 / 009019 ), a call can be made using voip . the client 110 performs the encoding and decoding of voip packets . voip packets from the user terminal 104 are transmitted into the network 106 via the access node 107 , and routed to a computer terminal 116 of the called party 114 , via a network interface 118 . a client 120 ( similar to the client 110 ) running on the user terminal 116 of the called user 114 decodes the voip packets to produce an audio signal that can be heard by the called user using the handset 122 . conversely , when the second user 114 talks into handset 122 , the client 120 executed on user terminal 116 encodes the audio signals into voip packets and transmits them across the network 106 to the user terminal 104 . the client 110 executed on user terminal 104 decodes the voip packets , and produces an audio signal that can be heard by the user of the handset 112 . the voip packets for calls between users ( such as 102 and 114 ) as described above are passed across the network 106 only , and the public switched telephone network (“ pstn ”) 124 is not involved . furthermore , due to the p2p nature of the system , the actual voice calls between users of the communication system can be set up with no central servers being used . this has the advantages that the network scales easily and maintains a high voice quality , and the call can be made free to users . additionally , calls can also be made from the client ( 110 , 122 ) using the packet - based communication system to fixed - line or mobile telephones 126 , by routing the call to the pstn network 124 . similarly , calls from fixed - line or mobile telephones 126 can be made to the packet - based communication system via the pstn 124 . fig2 illustrates a detailed view of the user terminal 204 on which is executed client 110 . the user terminal 104 comprises a central processing unit (“ cpu ”) 302 to which is connected a memory 330 such as a flash memory and / or hard - drive connected via a memory controller interface 307 . the memory 330 is installed with the communication client 110 , i . e . stores the client 110 in a location in which it is made available for execution on the cpu 302 . the cpu 302 is also connected to a display 304 such as a screen via a display interface 305 , an output device such as a keyboard 306 and a pointing device such as a mouse 308 connected via an interface 309 such as usb . in alternative terminals , the input devices and pointing device can be integrated into the terminal , such as a keypad , touch - screen and / or joystick . an output audio device 310 ( e . g . a speaker ) and an input audio device 312 ( e . g . a microphone ) are connected via an audio interface 313 . the output audio device 310 and input audio device 312 may be integrated into a handset 112 or headset , or may be separate . the cpu 302 is connected to a network interface 311 for connecting to a wlan ap . fig2 also illustrates an operating system (“ os ”) 314 executed on the cpu 302 . running on top of the os 314 is a software stack 316 for the client 110 . the software stack shows a protocol layer 318 , a client engine layer 320 and a client user interface layer (“ ui ”) 322 . each layer is responsible for specific functions . because each layer usually communicates with two other layers , they are regarded as being arranged in a stack as shown in fig2 . the operating system 314 manages the hardware resources of the computer and handles the data being transmitted to and from the network via the network interface 108 . the client protocol layer 318 of the client software communicates with the operating system 314 and manages the connections over the communication system . processes requiring higher level processing are passed to the client engine layer 320 . the client engine 320 also communicates with the client user interface layer 322 . the client engine 320 may be arranged to control the client user interface layer 322 to present information to the user via the user interface of the client ( as shown in fig2 ) and to receive information from the user via the user interface . also shown integrated into the client 110 is an access manager 324 . the access manager 324 is responsible for managing access to the wlan hotspots , as will be described in more detail hereinafter . in preferred embodiments , the access manager 324 is integrated into the client 110 and utilizes the client ui layer 322 to display information to the users , and the client protocol layer 318 to connect to the communication system . in alternative embodiments , the access manager 324 , is separate but is in communication with the client 110 . the terminal 104 includes a battery module 319 with a charging portal 321 . in the above description of fig1 it was assumed that the user 102 knew the location of the access point 107 so that he was ready to use it for access to the network 106 . however , when a user is travelling it is likely that he or she is not in the vicinity of known wi - fi networks ( hotspots ), such as at home or work . furthermore , there may be in any particular location more than one possible hotspot available to the user ( illustrated for example as hotspot 138 in fig1 ). due to the scarcity and time cost of battery charging opportunities , it is also likely that maximizing battery life span is even more important than usual . at the same time , it is desirable to provide an indication to the user whenever there is a public wi - fi hotspot nearby in case he or she wants to go on line . in accordance with embodiments of the present invention , this is achieved by using geolocation data to sense when a user has moved in and out of the vicinity of known supported hotspots . to this end , the user terminal 104 includes a geolocation device 210 and provides a database 214 of known supported hotspots , accessible to the client 316 and / or access manager 324 . the geolocation device 210 can take any suitable form . for example , gps ( global positioning satellites ), a - gps and similar technologies can be used . in addition , the geolocation device can be implemented in the form of software which uses information such as mobile network tower signals , wireless internet signals and ip addresses to self - locate the user terminal 104 in a manner known per se . what is important is that the geolocation device 210 is capable of providing geolocation data which locates the user terminal with respect to a set of positioning coordinates , such as longitude and latitude coordinates , without using the radio on the terminal to locate the hotspot . the coordinates obtained by the geolocation device 210 are supplied to the client engine 320 and / or access manager 324 which is capable of comparing them with data in the database 214 . the database 214 holds for each entry a hotspot identification and corresponding geolocation data , such as positioning coordinates . thus , a comparison can be made to see whether the user is in the vicinity of a hotspot which is in the database . in this way , detection of wi - fi hotspots is optimized by avoiding the need to continuously scan for available wi - fi networks (“ polling ”), or even to keep the wi - fi radio 311 powered at all . this is advantageous , because wi - fi has a much higher power consumption than gps ( which is one of the possibilities for the geolocation device 210 ). gps is a much simpler , receive only mechanism . it is advantageous to minimize the use of wi - fi whenever it is not strictly necessary , and embodiments of the present invention enable this by making use of the geolocation data determined by the geolocation device 210 , in conjunction with the database of known hotspots 214 . as mentioned above the database of known supported hotspots can be stored in the memory 330 accessible by the client engine 320 and / or access manager 324 . the database may be empty or prepopulated with a number of known supported hotspots , and may be updated dynamically based on the user &# 39 ; s current location , based on knowledge of the user &# 39 ; s itinerary , manually by the user or some combination thereof . the database could be populated in a number of different ways . for example , where the hotspot detection method is implemented as a computer program which can be downloaded , such as an app ( application ), when a user downloads the app they could download in addition a “ canned ” database . alternatively , it may be possible to start the application with no database or an empty one , and then require the user to connect to a server to download more data , before the hotspot detection feature of the application is usable . in practice , a combination of these techniques can be utilized to support millions of hotspots worldwide requiring a massive amount of data . since the data changes on a daily basis , it may be preferable to export a small “ canned ” database of most popular hotspots , then allow a user to download fresher data and / or more data for specific regions of interest ( for example , to prepare for a trip ). reference will now be made to fig3 to describe a method of detecting hotspots in accordance with one embodiment of the present invention . the method starts at step s 410 . at step s 412 , the current location is obtained by action with the geolocation device 210 as described above . the geolocation data is supplied from the geolocation device 210 to the client engine 320 and / or access manager 324 which compares in step s 414 this data with known hotspot locations in the database 214 . if a comparison results in information that the user terminal is in the vicinity of a known hotspot ( s 416 ), the hotspot is detected by powering on the network interface 311 ( if it was powered off ), or by causing a poll of the network interface if it was already powered on . once detected , an indication is given to the user on the display 304 of the user terminal that he can now connect to the internet via the detected hotspot . if the comparison at step s 414 results in an indication that the user terminal 104 is not in the vicinity of a known hotspot , at step s 420 the method waits for the location of the user terminal to change , and then commences again at step s 412 . it is also noted that while a particular hotspot has been detected , should the user terminal 104 change its position , this is similarly detected at step s 420 and the method reverts to step s 412 . in this way , a user terminal is automatically kept in touch with available hotspots in its vicinity . thus , embodiments of the present invention allow for the optimized detection of public wi - fi hotspots in the manner of an automatic search process that does not require user interaction , such as checking a map , browsing a list or entering a query string . it should be understood that the block , flow , and network diagrams may include more or fewer elements , be arranged differently , or be represented differently . it should be understood that implementation may dictate the block , flow , and network diagrams and the number of block , flow , and network diagrams illustrating the execution of embodiments of the invention . it should be understood that elements of the block , flow , and network diagrams described above may be implemented in software , hardware , or firmware . in addition , the elements of the block , flow , and network diagrams described above may be combined or divided in any manner in software , hardware , or firmware . if implemented in software , the software may be written in any language that can support the embodiments disclosed herein . the software may be stored on any form of non - transitory computer - readable medium , such as random access memory ( ram ), read only memory ( rom ), compact disk read only memory ( cd - rom ), flash memory , hard drive , and so forth . in operation , a general purpose or application specific processor loads and executes the software in a manner well understood in the art . while this invention has been particularly shown and described with references to example embodiments thereof , it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims .