First thing that I forced me to answer this question was, you said "
continously need to call the webservice using Timer". Why? It is not a good user experience for most of the Android users. I am having an Android mobile phone that has only 128mb Ram and a single core processor and I just don't want to use any of the application that would cause my CPU to run at the speed of Usain Bolt.
You need to understand the concept of
Push technology[
^]. This service is used to initiate a connection and the data is sent by the server to the client without the client having to request. Request made by client to get the data is called Pull. This method is usefull, since the User's system's CPU is not used in this method of chatting service. A message is sent by the server directly without having to request and things work like a "magic". Facebook, WhatsApp and many more use this feature.
A group is a bunch of people who're grouped (by a unqiue identifier). In this case, you can create a simple GUID to identify the ID of the group of the people and then let people add their fellows to this group, save their profiles (userids) in your database. Upon sending the data, send its one copy to each of the user in that group (..each of the user with that GUID of the group).
Here[
^] is a documentation for Android developers to learn about Google Cloud Messaging for Android.
Quote:
Google Cloud Messaging (GCM) for Android is a service that allows you to send data from your server to your users' Android-powered device, and also to receive messages from devices on the same connection.
Good luck!