Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DYNAMIC SELECTION OF SERVICE PROVIDERS
Document Type and Number:
WIPO Patent Application WO/2017/021787
Kind Code:
A1
Abstract:
The present invention relates to dynamic selection of service providers. In one embodiment, a method implemented in a user device for dynamic selection of service providers, comprises: establishing a data connection with a server; sharing at least one parameter of the user device with the server over the data connection; receiving a list of partner service providers based on the at least one parameter of the user device over the data connection; receiving a user selection on one or more partner service providers from amongst the received list of partner service providers; informing the server about the user selection on the one or more partner service providers over the data connection; receiving registration information corresponding to the one or more partner service providers from the server over the data connection; and registering, over a communication network, with the one or more partner service providers using the received registration information.

Inventors:
RABRA ARUN (IN)
JAIN MANISH KUMAR (IN)
Application Number:
PCT/IB2016/052295
Publication Date:
February 09, 2017
Filing Date:
April 22, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COMVIVA TECH LTD (IN)
International Classes:
H04W48/18
Domestic Patent References:
WO1998020698A21998-05-14
Foreign References:
EP2453632A12012-05-16
US20100311468A12010-12-09
US20130329639A12013-12-12
Other References:
None
Attorney, Agent or Firm:
SINGH, Manisha (IN)
Download PDF:
Claims:
CLAIMS

We claim:

1. A method implemented in a user device for dynamic selection of service providers, the method comprising:

establishing a data connection with a server;

sharing at least one parameter of the user device with the server over the data connection;

receiving a list of partner service providers based on the at least one parameter of the user device over the data connection;

receiving a user selection on one or more partner service providers from amongst the received list of partner service providers;

informing the server about the user selection on the one or more partner service providers over the data connection;

receiving registration information corresponding to the one or more partner service providers from the server over the data connection; and

registering, over a communication network, with the one or more partner service providers using the received registration information.

2. The method as claimed in claim 1, wherein the user device utilizes each of the one or more partner service providers for at least one service.

3. The method as claimed in claim 1, wherein the at least one parameter is a location of the user device or statistics of the user device or usage pattern of a service.

4. The method as claimed in claim 1, the method further comprising:

receiving the at least one parameter of the user device as a user input, and/or determining the at least one parameter of the user device.

5. The method as claimed in claim 1, the method further comprising:

receiving a payment request for utilizing the one or more partner service providers from the server over the data connection; and

providing, in response to the received payment request, payment information to the server over the data connection.

6. The method as claimed in claim 1, the method further comprising:

storing the registration information corresponding to the one or more partner service providers at the user device.

7. The method as claimed in claim 1, the method further comprising: de-registering, in response to a user command, with the one or more of partner service providers.

8. A method implemented in a server for enabling dynamic selection of service providers, the method comprising:

establishing a data connection with a user device;

receiving at least one parameter of the user device from the user device over the data connection;

sending a list of partner service providers based on the at least one parameter of the user device to the user device over the data connection;

receiving from the user device over the data connection, information about one or more partner service providers selected from amongst the sent list of partner service providers; and

sending registration information corresponding to the one or more partner service providers to the user device over the data connection.

9. The method as claimed in claim 8, wherein each of the one or more of partner service providers is utilized for at least one service.

10. The method as claimed in claim 8, the method further comprising:

ranking the partner service providers services provided by the partner service providers based on a predefined criterion.

11. The method as claimed in claim 8, the method further comprising:

sending a notification about a partner service provider or a service provided by that partner service provider to the user device.

12. The method as claimed in claim 8, the method further comprising:

recommending, based on one or more factors, the one or more partner service providers to the user device.

13. The method as claimed in claim 8, the method further comprising:

obtaining, in advance, registration information corresponding to all partner service providers from respective service providers; or

obtaining, in response to the received information about the one or more service provider selected from amongst the sent list, the registration information corresponding to the one or more partner service providers from respective service providers.

14. The method as claimed in claim 13, the method further comprising: storing the registration information corresponding to all partner service providers or the one or more partner service providers in a database.

15. The method as claimed in claim 8, the method further comprising:

sending a payment request for utilizing the one or more of partner service providers to the user device over the data connection; and

receiving, in response to the sent payment request, payment information from the user device over the data connection.

16. The method as claimed in claim 8, the method further comprising:

sending a provisioning request to the one or more of partner service providers.

17. The method as claimed in claim 8, the method further comprising:

sending a feedback request to the user device; and

receiving, in response to the feedback request, a feedback from the user device.

18. A user device for dynamic selection of service providers, the user device comprising:

a processing unit;

a communication interface;

a user interface; and

a client module configured to:

establish a data connection with a server;

share at least one parameter of the user device with the server over the data connection;

receive a list of partner service providers based on the at least one parameter of the user device over the data connection;

receive a user selection on one or more partner service providers from amongst the received list of partner service providers;

inform the server about the user selection on the one or more partner service providers over the data connection;

receive registration information corresponding to the one or more partner service providers from the server over the data connection; and

register, over a communication network, with the one or more partner service providers using the received registration information.

19. The user device as claimed in claim 18, wherein the user device utilizes each of the one or more partner service providers for at least one service.

20. The user device as claimed in claim 18, wherein the at least one parameter is a location of the user device or statistics of the user device or usage pattern of a service.

21. The user device as claimed in claim 18, wherein the client module is further configured to:

receive the at least one parameter of the user device as a user input, and/or determine the at least one parameter of the user device.

22. The user device as claimed in claim 18, wherein the client module is further configured to:

receive a payment request for utilizing the one or more partner service providers from the server over the data connection; and

provide, in response to the received payment request, payment information to the server over the data connection.

23. The user device as claimed in claim 18, wherein the client module is further configured to:

store the registration information corresponding to the one or more partner service providers in the user device.

24. The user device as claimed in claim 18, wherein the client module is further configured to:

de-register, in response to a user command, with the one or more of partner service providers.

25. A server for enabling dynamic selection of service providers, the server comprising:

a processing unit;

a communication interface; and

a server module configured to:

establish a data connection with a user device;

receive at least one parameter of the user device from the user device over the data connection;

send a list of partner service providers based on the at least one parameter of the user device to the user device over the data connection; receive from the user device over the data connection, information about one or more partner service providers selected from amongst the sent list of partner service providers; and send registration information corresponding to the one or more partner service providers to the user device over the data connection. 26. The server as claimed in claim 25, wherein each of the one or more of partner service providers is utilized for at least one service.

27. The server as claimed in claim 25, the server further comprising:

a ranking module configured to:

rank the partner service providers or services provided by the partner service providers based on a predefined criterion.

28. The server as claimed in claim 25, wherein the server module is configured to:

send a notification about a partner service provider or a service provided by that partner service provider to the user device.

29. The server as claimed in claim 25, the server further comprising:

a recommendation module configured to:

recommend, based on one or more factors, the one or more partner service providers to the user device.

30. The server as claimed in claim 25, wherein the server module is configured to:

obtain, in advance, registration information corresponding to all partner service providers from respective service providers; or

obtain, in response to the received information about the one or more service provider selected from amongst the sent list, the registration information corresponding to the one or more partner service providers from respective service providers.

31. The server as claimed in claim 30, wherein the server module is configured to:

store the registration information corresponding to all partner service providers or the one or more partner service providers in a database.

32. The server as claimed in claim 25, wherein the server module is configured to:

send a payment request for utilizing the one or more of partner service providers to the user device over the data connection; and receive, in response to the sent payment request, payment information from the user device over the data connection.

33. The server as claimed in claim 25, wherein the server module is configured to:

send a provisioning request to the one or more of partner service providers.

34. The server as claimed in claim 25, the server further comprising: a feedback module configured to:

send a feedback request to the user device; and

receive, in response to the feedback request, a feedback from the user device.

Description:
DYNAMIC SELECTION OF SERVICE PROVIDERS DESCRIPTION

TECHNICAL FIELD OF INVENTION

The invention generally relates to any service industry involving service providers and service seekers. More particularly, the invention relates to methods and devices for dynamic selection of service providers by service seekers.

BACKGROUND OF INVENTION

In any service industry, users subscribe to seek services from one or more service providers through their user devices. One user device typically utilizes one service provider at a time. In certain situations, users may switch to another service provider due to economic or other benefits. In certain other situations, users may want to use an additional service provider in addition to an existing service provider. To this end, a user needs to have an additional user device for the additional service provider. Otherwise, there are certain user devices which could utilize two or more service providers simultaneously. However, the number of service providers that could be utilized simultaneously on single user device is generally restricted due to hardware constraints. Moreover, the user device may need to have a separate smart card for each of such service provider. For example, in case of mobile phones, users can either carry multiple mobile phones or a dual/triple SIM phone in order to utilize the services of multiple network operators simultaneously. While the former option requires expenditure to buy extra phones, the latter option requires expenditure to buy extra SEVIs. In both the options, it is not possible to use 'n' number of network operators as the user can neither carry 'n' number of phones nor have 'n' number of SIMs in a mobile phone due to practical reasons.

One known solution in this regard is to use virtual platforms provided by some service providers. However, its usage might be cumbersome and inconvenient to most of the users. Further, virtual platforms are generally used for seeking services from same service provider, but not from other service providers. Another known solution is that user device manufacturers can tie up with service providers to provide users an option to select a service provider of their choice. This solution involves bundling a user device with a master service provider. As and when required, a user can switch to any other service provider through the master service provider and an intermediate party. Despite these solutions, there is still a need to provide for lots of improvements in the area of dynamic selection of one or more service providers. SUMMARY OF INVENTION

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.

Embodiments of the present invention provide dynamic selection of service providers on a user device through a network independent server. For this purpose, the user device manufacturers can provide a client module in user devices. In one implementation, the client module may be provided as an application by an application provider. When such a user device is switched on and is connected to the Internet, say, via Wi-Fi, said client module establishes a data connection with a server module residing on the network independent server. This data connection may be authenticated, if required. The user device shares at least one parameter of the user device with the server over said data connection. Examples of the at least one parameter include, but are not limited to location of the user device, usage pattern of the user device, any other statistics of the user device, etc. The at least one parameter may be received as a user input or may be determined by the user device itself.

The server provides a list of partner service providers to the user device based on the at least one parameter provided by the user device. The server may also provide a notification and/or a recommendation regarding a partner service provider or a service provided by that partner service provider. For this purpose, the server may maintain a ranking system to rank partner service providers and/or the services provided by the partner service providers. Upon receiving said list from the server, a user of the user device then needs to select one or more partner service providers from amongst said list as per his/her desire or on the basis of said recommendation as may be provided by the server based on at least one factor, which may or may not be same as the at least one parameter.

Upon receiving user selection on the one or more partner service providers, the user device informs the server about the selected partner service providers. The server then obtains registration information from the selected partner service providers. Alternatively, the server may obtain registration information from all partner service providers well in advance. Further, the server may store the registration information in an internal/external database. The server may optionally send a payment request for using the selected service providers to the user device. Accordingly, the user device provides payment related information to the server. Alternatively, a post-paid arrangement may be utilized for payments. Irrespective of the pre-paid or post-paid arrangement, once the server sends the registration information to the user device for the selected service providers, the user device registers with the selected service providers using the registration information as provided by the server. The user device may locally store the registration information, if required. The user device then utilizes each of the registered service providers for at least one service. After utilising the at least one service, the user device may at any time de-register itself from any or all of the registered service providers based on a user command for the same. After the de-registration or during the registration period, the server may send a feedback request to the user device. The user, if interested, may provide feedback to the server through the user device. The server may use this feedback to update the rankings and improve its recommendations .

The advantages of the invention include, but are not limited to that it is a network independent solution that enables dynamic selection of one or more service providers. This solution has great economic significance for users as they can conveniently switch between service providers as per their desire than sticking to one service provider to avoid overheads. Further, the user device need not be bundled with a master service provider, i.e., the user device can work without requiring a smart card, whether in form of hardware or software, provided by a master service provider. Further, 'n' number of service providers could be utilized simultaneously. Furthermore, each service provider could be utilized for a specific service. For instance, a first service provider could be utilized for a first service, which is offered at a best price or quality as compared to other service providers. Similarly, a second service provider could be utilized for a second service, a third service provider could be utilized for a third service, and so on. Further, the user device receives notifications regarding new service providers or new services. Further, the user device receives recommendations that can aid a user in selecting a service or a service provider. Further, the user gets an option to provide feedback for service providers and their services.

The details of one or more embodiments are set forth in the accompanying drawings and description below. Other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that the following detailed description is explanatory only and is not restrictive of the invention as claimed. BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS

To further clarify the advantages and features of the invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof, which is illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail with the accompanying drawings in which:

Figure 1 illustrates an exemplary method implemented in a user device for dynamic selection of service providers, in accordance with an embodiment of the invention;

Figures 2a and 2b illustrate an exemplary method implemented in a server for enabling dynamic selection of service providers, in accordance with an embodiment of the invention;

Figure 3 illustrates an exemplary user device for dynamic selection of service providers, in accordance with an embodiment of the invention;

Figure 4 illustrates an exemplary server for enabling dynamic selection of service provider, in accordance with an embodiment of the invention;

Figure 5 illustrates exemplary interaction between the user device and the server, in accordance with an embodiment of the invention;

Figure 6 illustrates an exemplary network environment, in accordance with an embodiment of the invention; and

Figure 7 illustrates an exemplary use of the invention in the field of telecommunications .

It may be noted that to the extent possible, like reference numerals have been used to represent like elements in the drawings. Further, those of ordinary skill in the art will appreciate that elements in the drawings are illustrated for simplicity and may not have been necessarily drawn to scale. For example, the dimensions of some of the elements in the drawings may be exaggerated relative to other elements to help to improve understanding of aspects of the invention. Furthermore, the one or more elements may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments of the invention so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having the benefits of the description herein. DETAILED DESCRIPTION

For the purpose of promoting an understanding of the principles of the invention, reference will now be made to the embodiment illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended, such alterations and further modifications in the illustrated system, and such further applications of the principles of the invention as illustrated therein being contemplated as would normally occur to one skilled in the art to which the invention relates.

It will be understood by those skilled in the art that the foregoing general description and the following detailed description are exemplary and explanatory of the invention and are not intended to be restrictive thereof. Throughout the patent specification, a convention employed is that in the appended drawings, like numerals denote like components.

Reference throughout this specification to "an embodiment", "another embodiment" or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Thus, the appearances of the phrase "in an embodiment", "in another embodiment" and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.

The terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process or method that comprises a list of steps does not include only those steps but may include other steps not expressly listed or inherent to such process or method. Similarly, one or more devices or sub-systems or elements or structures proceeded by "comprises... a" does not, without more constraints, preclude the existence of other devices or other sub- systems.

Various embodiments of the invention will be described below in detail with reference to the accompanying drawings.

Figure 1 illustrates an exemplary method (100) implemented in a user device for dynamic selection of service providers, in accordance with an embodiment of the invention. In said embodiment, the method (100) comprises: establishing (101) a data connection with a server; sharing (102) at least one parameter of the user device with the server over the data connection; receiving (103) a list of partner service providers based on the at least one parameter of the user device over the data connection; receiving (104) a user selection on one or more partner service providers from amongst the received list of partner service providers; informing (105) the server about the user selection on the one or more partner service providers over the data connection; receiving (106) registration information corresponding to the one or more partner service providers from the server over the data connection; and registering (107), over a communication network, with the one or more partner service providers using the received registration information.

In a further embodiment, the user device utilizes each of the one or more partner service providers for at least one service.

In a further embodiment, the at least one parameter is a location of the user device or statistics of the user device or usage pattern of a service.

In a further embodiment, the method (100) comprises: receiving (108) the at least one parameter of the user device as a user input, and/or determining the at least one parameter of the user device.

In a further embodiment, the method (100) comprises: receiving (109) a payment request for utilizing the one or more partner service providers from the server over the data connection; and providing (110), in response to the received payment request, payment information to the server over the data connection.

In a further embodiment, the method (100) comprises: storing (111) the registration information corresponding to the one or more partner service providers at the user device.

In a further embodiment, the method (100) comprises: de-registering (112), in response to a user command, with the one or more of partner service providers.

Figure 2a and 2b illustrate an exemplary method (200) implemented in a server for enabling dynamic selection of service providers, in accordance with an embodiment of the invention. In said embodiment, the method (200) comprises: establishing (201) a data connection with a user device; receiving (202) at least one parameter of the user device from the user device over the data connection; sending (203) a list of partner service providers based on the at least one parameter of the user device to the user device over the data connection; receiving (204) from the user device over the data connection, information about one or more partner service providers selected from amongst the sent list of partner service providers; and sending (205) registration information corresponding to the one or more partner service providers to the user device over the data connection.

In a further embodiment, each of the one or more of partner service providers is utilized for at least one service.

In a further embodiment, the method (200) comprises: ranking (206), based on a predefined criterion, partner service providers or services provided by the partner service providers. In one example, the predefined criterion may be based on the number of active subscribers for a partner service provider or a service provided by that particular service provider. In another example, the predefined criterion may be based on quality of service, extent of geographical coverage, etc.

In a further embodiment, the method (200) comprises: sending (207) a notification about a partner service provider or a service provided by that partner service provider to the user device.

In a further embodiment, the method (200) comprises: recommending (208), based on one or more factors, the one or more partner service providers to the user device.

In a further embodiment, the one or more factors comprises: location of the user device, or usage pattern of the user device, or statistics of the user device, or ranking of a service provider, or cost effectiveness of a service provider, or quality of service (QoS), or newness of a service/ a service provider, or any other suitable factors.

In a further embodiment, the method (200) comprises: either obtaining (209), in advance, registration information corresponding to all partner service providers from respective service providers; or obtaining (210), in response to the received information about the one or more service provider selected from amongst the sent list, the registration information corresponding to the one or more partner service providers from respective service providers.

In a further embodiment, the method (200) comprises: storing (211) the registration information corresponding to all partner service providers or the one or more partner service providers in a database.

In a further embodiment, the method (200) comprises: sending (212) a payment request for utilizing the one or more of partner service providers to the user device over the data connection; and receiving (213), in response to the sent payment request, payment information from the user device over the data connection.

In a further embodiment, the method (200) comprises: sending (214) a provisioning request to the one or more of partner service providers.

In a further embodiment, the method (200) comprises: sending (215) a feedback request to the user device; and receiving (216), in response to the feedback request, a feedback regarding partner service providers or services provided by the partner service providers.

Figure 3 illustrates an exemplary user device for dynamic selection of service providers, in accordance with an embodiment of the invention. More specifically, the user device (300) can perform the method (100) described in conjunction with figure 1. Examples of the user device include, but are not limited to a mobile phone, a digital television, a refrigerator, etc. The user device (300) may include a processing unit (301), a memory unit (302), a user interface (303), a communication interface (304), an optional antenna assembly (305), a client module (306), and other components (not shown).

The processing unit (301) may include one or more processors, microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or the like. The processing unit (301) may control the operation of the user device (300) and its components.

The memory unit (302) may include a random access memory (RAM), a read only memory (ROM), and/or other type of memory to store data and instructions that may be used by the processing unit (301). The memory unit (302) may also include routines, programs, objects, components, data structures, etc., which perform particular tasks, functions or implement particular abstract data types.

The user interface (303) may include mechanisms, such as a touch screen display, for inputting information to the user device (300) and/or for outputting information from the user device (300). Other examples of input and output mechanisms might include a speaker to receive electrical signals and output audio signals; a camera lens to receive image and/or video signals and output electrical signals; a microphone to receive audio signals and output electrical signals; buttons (e.g., control buttons and/or keys of a keypad) to permit data and control commands to be input into the user device (300); a display to output visual information; a light emitting diode; a vibrator to cause the user device (300) to vibrate; etc.

The communication interface (304) may include any transceiver-like mechanism that enables the user device (300) to communicate with other devices and/or systems, for instance a server or a service provider. For example, the communication interface (304) may include a modem or an Ethernet interface to a LAN. The communication interface (304) may also include mechanisms for communicating via a network, such as a wireless network. For example, the communication interface (304) may include a transmitter that may convert baseband signals from the processing unit (301) to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, the communication interface (304) may include a transceiver to perform functions of both a transmitter and a receiver. The communication interface (304) may connect to an optional antenna assembly (305) for transmission and/or reception of the RF signals. The communication interface (304) is used broadly here. It is used to establish a data connection with a server. It is also used for establishing a radio or any other type of connection with partner service providers. The optional antenna assembly (305) may include one or more antennas to transmit and/or receive RF signals over the air. The antenna assembly (305) may, for example, receive RF signals from the communication interface (304) and transmit them over the air and receive RF signals over the air and provide them to the communication interface (304). In one implementation, for example, the communication interface (304) may communicate with new generation cellular network, older generation cellular network, and/or with one or more other cellular networks.

The processing unit (301) may communicate with an optional smart card (not shown). For example, the processing unit (301) may receive instructions from the smart card and may perform the received instructions. In one example, the smart card may instruct the processing unit (301) to provide particular information to a particular element of environment, for example, a cellular network via the communication interface (304) and/or to request particular information from a particular element of such environment. As another example, the processing unit (301) may receive, via the communication interface (304), particular information for the smart card from a particular element of network environment, for example, a provisioning server and/or may receive a request for particular information about the smart card from a particular component of the network environment. As yet another example, when the user device powers up, the smart card may take control and may instruct the processing unit (301) to perform one or more operations. It is to be noted here that the smart card is not required as such in the user device (300) for implementing the invention. In fact, it is one of the advantages of the invention that the need of such smart cards is eliminated. However, the invention may be implemented in a user device having such smart cards, wherein the user device can switch between a conventional 'smart card mode' to 'No smart card mode' as provided by the invention.

The user device (300) may perform certain operations. The user device (300) may perform these operations in response to the processing unit (301) executing software instructions contained in a computer-readable medium, such as the memory unit (302). A computer-readable medium may be defined as a non-transitory memory device. A memory device may include spaces within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into the memory unit (302) from another computer-readable medium or from another device via the communication interface (304). The software instructions contained in the memory unit (302) may cause the processing unit (301) to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software. On this note, the client module (306) can be understood as the component of the user device (300) that is responsible to implement the invention in the user device (300). The client module (306) may be installed by a manufacturer of the user device (300) in factory or may be provided as an update for retrofitting in existing user devices (300). Alternatively, the client module (306) may be installed as an application in the user device (300). The application may be provided by an application provider, which may be the same user device manufacturer, or an independent application provider, or an operating system provider. The application may be a preinstalled application or an external application requiring download and then installation. In one implementation, the client module (306) may be installed in the user device (300) in form of a duly programmed semiconductor chip. The client module (306) basically interacts with a server module residing on a server enabling dynamic selection of service providers from the user device (300).

Although figure 3 shows a number of components of the user device (300), in other implementations, the user device (300) may include fewer components, different components, differently arranged components, or additional components than depicted in said Figure. Additionally or alternatively, one or more components of the user device (300) may perform the tasks described as being performed by one or more other components of the user device (300). For instance, in one embodiment, a user device (300) for dynamic selection of service providers, comprises: a processing unit (301); a communication interface (304); a user interface (303); and a client module (306) configured to: establish a data connection with a server; share at least one parameter of the user device (300) with the server over the data connection; receive a list of partner service providers based on the at least one parameter of the user device (300) over the data connection; receive a user selection on one or more partner service providers from amongst the received list of partner service providers; inform the server about the user selection on the one or more partner service providers over the data connection; receive registration information corresponding to the one or more partner service providers from the server over the data connection; and register, over a communication network, with the one or more partner service providers using the received registration information.

In a further embodiment, the user device (300) utilizes each of the one or more partner service providers for at least one service. In a further embodiment, the at least one parameter is a location of the user device (300) or statistics of the user device (300) or usage pattern of a particular service or any other suitable parameter.

In a further embodiment, the client module (306) is configured to: receive the at least one parameter of the user device (300) as a user input, and/or determine the at least one parameter of the user device (300).

In a further embodiment, the client module (306) is configured to: receive a payment request for utilizing the one or more partner service providers from the server over the data connection; and provide, in response to the received payment request, payment information to the server over the data connection.

In a further embodiment, the client module (306) is configured to: store the registration information corresponding to the one or more partner service providers in the user device (300).

In a further embodiment, the client module (306) is configured to: de-register, in response to a user command, with the one or more of partner service providers.

Figure 4 illustrates an exemplary server (400) for enabling dynamic selection of service providers, in accordance with an embodiment of the invention. The server (400) is preferably a network independent server, which may be implemented as a cloud based solution in one of the many implementations possible. More specifically, the server (400) can perform the method (200) described in conjunction with figure 2. The server (400) may include a processing unit (401), a memory unit (402), an optional user interface (403), a communication interface (404), an optional antenna assembly (405), a server module (406), and many other components (not shown). The server (400) may maintain an internal database (407) in the memory unit (402) or may communicate with an external database (408) via the communication interface (404) in order to store registration information received from partner service provider(s) for each user device (300). In one implementation, the server (400) may include a recommendation module (409) for recommending one or more service providers to the user device (300) based on one or more factors. In one implementation, the server (400) may include a ranking module (410) for ranking partner service providers and/or services provided by these partner service providers based on a predefined criterion. In one implementation, the server (400) may include a feedback module (411) of receiving feedback regarding partner service providers and/or services provided by these partner service providers from the user device (300). The processing unit (401) may include one or more processors, microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or the like. The processing unit (401) may control the operation of the server (400) and its components.

The memory unit (402) may include a random access memory (RAM), a read only memory (ROM), and/or other type of memory to store data and instructions that may be used by the processing unit (401). The memory unit (402) may also include routines, programs, objects, components, data structures, etc., which perform particular tasks, functions or implement particular abstract data types.

The optional user interface (403) may include mechanisms, such as web interface, for inputting information to the server (400) and/or for outputting information from the server (400) using wired or wireless means.

The communication interface (404) may include any transceiver-like mechanism that enables the server (400) to communicate with other devices and/or systems, for instance the user device (300) or a service provider. For example, the communication interface (404) may include a modem or an Ethernet interface to a LAN. The communication interface (404) may also include mechanisms for communicating via a network, such as a wireless network. For example, the communication interface (404) may include a transmitter that may convert baseband signals from the processing unit (401) to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, the communication interface (404) may include a transceiver to perform functions of both a transmitter and a receiver. The communication interface (404) may connect to an optional antenna assembly (405) for transmission and/or reception of the RF signals. The communication interface (404) is used broadly here. It is used to establish a data connection with the user device (300). It is also used for establishing a radio or any other type of connection with partner service providers.

The optional antenna assembly (405) may include one or more antennas to transmit and/or receive RF signals over the air. The antenna assembly (405) may, for example, receive RF signals from the communication interface (404) and transmit them over the air and receive RF signals over the air and provide them to the communication interface (404). In one implementation, for example, the communication interface (404) may communicate with new generation cellular network, older generation cellular network, and/or with one or more other cellular networks.

The server (400) may perform certain operations. The server (400) may perform these operations in response to the processing unit (401) executing software instructions contained in a computer-readable medium, such as the memory unit (402). A computer- readable medium may be defined as a non-transitory memory device. A memory device may include spaces within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into the memory unit (402) from another computer-readable medium or from another device via the communication interface (404). The software instructions contained in the memory unit (402) may cause the processing unit (401) to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software. On this note, the server module (406) can be understood as the component of the server (400) that is responsible to implement the invention in the server (400). The server module (406) basically interacts with a client module, such as the client module (306), residing in a user device, such as the user device (300) for enabling dynamic selection of service providers from the user device (300).

Although figure 4 shows a number of components of the server (400), in other implementations, the server (400) may include fewer components, different components, differently arranged components, or additional components than depicted in said Figure. Additionally or alternatively, one or more components of the server (400) may perform the tasks described as being performed by one or more other components of the server (400). For instance, in one embodiment, a server (400) for enabling dynamic selection of service providers, comprises: a processing unit (401); a communication interface (404); and a server module (406) configured to: establish a data connection with a user device (300); receive at least one parameter of the user device (300) from the user device (300) over the data connection; send a list of partner service providers based on the at least one parameter of the user device (300) to the user device (300) over the data connection; receive from the user device (300) over the data connection, information about one or more partner service providers selected from amongst the sent list of partner service providers; and send registration information corresponding to the one or more partner service providers to the user device (300) over the data connection.

In a further embodiment, each of the one or more of partner service providers is utilized for at least one service.

In a further embodiment, the server (400) comprises a ranking module (410) which is configured to: rank, based on a predefined criterion, partner service providers or services provided by the partner service providers. In one example, the predefined criterion may be based on the number of active subscribers for a partner service provider or a service provided by that particular service provider. In another example, the predefined criterion may be based on quality of service, extent of geographical coverage, etc.

In a further embodiment, the server module (406) is configured to send a notification about a partner service provider or a service provided by that partner service provider to the user device.

In a further embodiment, the server (400) comprises a recommendation module (409) which is configured to: recommend, based on one or more factors, the one or more partner service providers to the user device (300).

In a further embodiment, the one or more factors comprises: location of the user device, or usage pattern of the user device, or statistics of the user device, or ranking of a service provider, or cost effectiveness of a service provider, or quality of service (QoS), or newness of a service/ a service provider, or any other suitable factors.

In a further embodiment, the server module (406) is configured to: obtain, in advance, registration information corresponding to all partner service providers from respective service providers; or obtain, in response to the received information about the one or more service provider selected from amongst the sent list, the registration information corresponding to the one or more partner service providers from respective service providers.

In a further embodiment, the server module (406) is configured to: store the registration information corresponding to all partner service providers or the one or more partner service providers in a database (406, 407).

In a further embodiment, the server module (406) is configured to: send a payment request for utilizing the one or more of partner service providers to the user device (300) over the data connection; and receive, in response to the sent payment request, payment information from the user device (300) over the data connection.

In a further embodiment, the server module (406) is configured to: send a provisioning request to the one or more of partner service providers.

In a further embodiment, the server (400) comprises a feedback module (411) which is configured to: send a feedback request to the user device (300); and receive, in response to the feedback request, a feedback regarding partner service providers or services provided by the partner service providers.

Figure 5 illustrates exemplary interaction between the user device (300) and the server (400), in accordance with an embodiment of the invention. From the user device (300), the client module (306) initiates dynamic selection of service providers. The client module (306) interfaces with a client interface layer (501). It is this client interface layer (501) which enables the client module (306) to interact with the server module (406). It establishes a data connection (507) with the server (400). The client interface layer (501) is coded such that transactions flow through the data connection (507) to the server (400). Further, any logging or storing of transaction information is performed by the client interface layer (501). A network layer (502) is used for hiding the complexities associated with network operations. Lastly, there is the physical network connection layer (503) which actually performs the physical transfers of data to/from the user device (300) from/to the server (400).

Similarly, the server (400) has a server module (406) for servicing individual user devices (300). A server interface layer (504) resides beneath the server module (406). This server interface layer (504) performs complimentary functions with respect to the client interface layer (501). The client interface layer (501) and the server interface layer (504) act as a pipeline for conveying information between the client (300) and the server (400) with help of the lower layers. It is the server interface layer (504) which enables the server module (406) to fetch information from an external database (408) with help of the last two layers, i.e., server network layer (505) and server physical network connection layer (506). These last two layers perform equivalent functions for the server (400), as corresponding layers (502, 503) do for the client (300). As shown, all data sessions are conducted over the data connection (507) between the user device (300) and the server (400).

Figure 6 illustrates an exemplary network environment (600), in accordance with an embodiment of the invention. Embodiments of the present invention provide dynamic selection of service providers (601-1, 601-2, to 601-n) on a user device (300) through a network independent server (400). For this purpose, a user device manufacturer (602) can provide an inbuilt client module (306) in the user device (300). In one implementation, the client module may be provided as an application by an application provider (602). The application may be a pre-installed application or an external application requiring download and installation, while the application provider (602) may be the same user device manufacturer (602) or an independent party or an operating system provider. When the user device (300) is switched on and is connected to the Internet, say, via Wi-Fi, said client module establishes a data connection (507) with a server module (406) residing on the network independent server (400). This data connection (507) may be authenticated, if required. Once authenticated, the user device (300) shares at least one parameter of the user device (300) with the server (400) over said data connection (507). Examples of the at least one parameter include, but are not limited to location of the user device (300), usage pattern of the user device (300), any other statistics of the user device (300), etc. The at least one parameter may be received as a user input or determined by the user device (300) itself either automatically or based on the user input. In one implementation, the user device (300) may identify its location from any Global Navigation Satellite System (GNSS), such as Global Positioning System (GPS), GLObal NAvigation Satellite System (GLONASS), Doppler Orbitography and Radiopositioning Integrated by Satellite (DORIS), etc. In another implementation, the user device (300) or the server (400) may identify the location of the user device from the Internet Protocol (IP) Address of said data connection (507).

The server (400) provides a list of partner service providers (601-1, 601-2 to 601-n) to the user device (300) based on the at least one parameter provided by the user device (300). A user (605) of the user device (300) then needs to select one or more partner service providers, say first service provider (601-1) and second service provider (601-2) from amongst said list as per his/her desire or recommendation provided by the server (400) based on one or more factors. Examples of said factors include, but are not limited to location of the user device (300), usage pattern of the user device (300), any other statistics of the user device (300), etc. These factors used by the server (400) to recommend service providers (601-1, 601-2) may be exactly or partially same as the parameters sent by the user device (300) or may be completely different. For instance, the server (400) may recommend service providers (601-1, 602-2) to the user device (300) based on one or more factors, such as rank of a service provider, cost effectiveness of a service provider, quality of service (QoS), newness of a service/ service provider, etc. In order to provide useful recommendations, the server (400) may maintain its own ranking system for ranking partner service providers and/or the services provided by the partner service providers, wherein the rankings can be updated based on feedback provided by the user device (300). Apart from the recommendations, the server (400) may at push notifications to the user device (300) at any point of time after establishing data connection. For instance, the server (400) may push a notification regarding a new service provider or a new service being introduced by an existing/new service provider to the user device (300).

Upon receiving user selection on the one or more partner service providers (601-1, 601-2), the user device (300) informs the server (400) about the selected partner service providers (601-1, 602-2). The server (400) then obtains registration information from the selected partner service providers (601-1, 601-2) through a dedicated connection (as shown) or the communication network (603) or the Internet. Alternatively, the server (400) may obtain registration information from all partner service providers (601-1, 601-2 to 601-n) well in advance through a dedicated connection (as shown) or the communication network (603) or the Internet. Further, the server (400) may store/update the registration information in an internal/external database (407, 408) and may utilize the stored/updated registration information as and when required.

The server (400) may optionally send a payment request for using the selected service providers (601-1, 601-2) to the user device (300). Accordingly, the user device (300) provides payment related information, for example credit card information, to the server (400). Here, the payment may be made through credit card, debit card, internet banking, or any other known feasible mode of payment. Instead of such pre-paid arrangement, a postpaid arrangement may be utilized for payments as well. To this end, the server (400) may work as a central backend node for collecting payments for all the partner service providers (601-1, 601-2 to 601-n). The payments can be received from subscribers through their user devices.

Irrespective of the pre-paid or post-paid arrangement, once the server (400) sends the registration information to the user device (300) for the selected service providers (601-1, 601-2), the user device (300) registers with the selected service providers (601-1, 601-2) using the registration information as provided by the server (400). The registration may be done via a conventional route, i.e., through a communication network (603). One or more intermediate systems (604) may be utilised for registration. The intermediate systems (604) will depend on the field in which invention is implemented. For example, in case of mobile phones, the intermediate systems (604) could be Base Trans-receiver Station (BTS) and Base Station Controller (BSC). In case of digital television, the intermediate system (604) could be a Set Top Box (STB).

In one implementation, the burden of collecting payments may be lie with the selected service providers (601-1, 601-2) only. In said implementation, the server (400) just sends the registration information to the user device (300) without bothering about the payments. However, when the user device (300) tries to register with the selected service providers (601-1, 601-2), the selected service providers (601-1, 601-2) may send a payment request to the user device (300) in a pre-paid arrangement. The user device (300) then needs to pay to the selected service providers (601-1, 601-2) in order to successfully register with the selected service providers (601-1, 601-2). Alternatively, a post-paid arrangement could be enforced between the user device and the selected service providers (601-1, 602-2).

The user device (300) may locally store the registration information, if required. According to the invention, the user device (300) can work without a smart card, whether in form of hardware or software, provided by a service provider. The registration information is basically the information, which otherwise is provided by the conventional smart card, such as such as a Subscriber Identification Module (SIM). For example, in case of mobile phones, the registration information could include International Mobile Subscriber Identity (IMSI), and/or its related key, which are used to identify and authenticate mobile subscribers. The registration information could also include Mobile Station International Subscriber Directory Number (MSISDN) and any other information required for successful registration and operation.

The user device (300) then utilizes each of the registered service providers (601-1, 601-2) for at least one service. According to the invention, any number of service providers could be utilized simultaneously for a specific service. For example, in case of mobile phones, a first network operator could be utilized for seeking voice service, which is offered at a best price or quality as compared to other network operators. Similarly, a second network operator could be utilized for data service, a third network operator could be utilized for a Short Message Service (SMS), and a fourth network operator could be utilized for Value-Added Service (VAS). It is also possible to utilize a plurality of service provides for seeking same service. In that case, the user can always select a service provider as a default service provider for seeking a particular service. Continuing with the previous example, the user may mark the first network operator as a default operator for making outgoing call. A fifth network operator, which is also selected for voice service becomes secondary operator for making outgoing calls, while incoming call may be received through the first network operator as well as the fifth network operator.

After utilising the at least one service, the user device (300) may at any time de- register itself from any or all of the registered service providers (601-1, 601-2) based on a user command for the same. Continuing with above example, the user device (300), upon receiving a user command, may de-register it-self from, say, fourth network operator and accordingly, the registration information corresponding to the fourth network operator is released, which could be used now used by another user device upon allocation by the server (400). According to one aspect of the invention, the user device (300) enables a user (605) to register with a new service provider or de-register with an existing service provider at any point of time. For example, the user device (300) when switched on first time by the user (605) may register with any two service providers selected from the list sent by the server (400). Later on, the user (605) may add a new service provider, or remove an existing service provider using the process described in above paragraphs. In fact, the user (605) can also replace an existing service provider, i.e., add a new service provider in place of an existing service provider.

According to another aspect of the invention, the server (400) may send a feedback request to the user device (300) after de-registration or during the registration period. If the user (605) is interested in sharing a feedback regarding the service provider or its service, the user (605) can send the feedback to the server (400) through the user device (300). The server (400) stores such feedback in the database (407 or 408). The server (400) utilizes the stored feedback in updating the ranking of the service provider and its service and improving its recommendations.

Figure 7 illustrates an exemplary use of the invention in the field of telecommunications. As shown, once switched on, the user device (300) first interacts with the server (400), say, through Wi-Fi, for dynamic selection of service providers. First of all, the user device (300) may send an authentication request to the server (400). The server (400) then provides an authentication response confirming whether authentication is successful or failed. In one implementation, an account corresponding the user device (300) may be created with the server (400).

Upon successful authentication, the user device (300) sends one or more parameters, such as location of the user device, call usage pattern, STD or ISD call pattern, SMS usage pattern, data consumption, etc. to the server through Wi-Fi connection. The server (400) depending upon one or more factors, which may be exactly or partially same or different than said one or more parameters, sends a list of all available partner service providers to the user device through the Wi-Fi connection. The list of partner service provider primarily depends upon the location of the user device (300), for example, a list of network operators in Delhi will be different from a list of network operators in London. The user device (300) then displays said list on its display and receives a user selection at least one partner service provider from amongst said list. The user device (300) accordingly informs the server (400) about the selected service provider(s) to the server (400). The server (400) may at push notifications to the user device (300) at any point of time after establishing data connection. For instance, the server (400) may push a notification regarding a new service provider or a new service being introduced by an existing/new service provider to the user device (300). Additionally, the server (400) may also send a recommendation to the user device (300) that aids the user (605) in selecting a partner service provider. Such a recommendation may be based on one or more factors, such as location of the user device, or usage pattern of the user device, or statistics of the user device, or ranking of a service provider, or cost effectiveness of a service provider, or quality of service (QoS), or newness of a service/ a service provider, or any other suitable factors. In order to provide useful recommendations, the server (400) may maintain its own ranking system for ranking partner service providers and/or the services provided by the partner service providers, wherein the rankings can be updated based on feedback provided by the user device (300).

In one implementation (as shown), the server (400) may send a payment request to the user device (300) in respect of continuing with the selected service provider(s). The user device (300) sends the payment information to the server (400), the payment information may be already stored in the user device (300) or may be provided by a user at that time. After that the server on-the-fly sends a provisioning or activation request to a database (701), such as Home Location Register (HLR) or Home Subscriber Server (HSS), of the selected service provider and receives an acknowledgment for the same from the database (701). After that the server (400) sends registration information, such as IMSI MSISDN and its related keys, corresponding to the selected service provider to the user device (300). Using this registration information, the user device (300) sends a latch request to the selected service provider's node (702), such as Mobile Switching Centre (MSC), and receives a latch response from the selected service provider's node (702).

In one alternative implementation (not shown), the burden of collecting payments may be lie with the selected service provider's node (702) only, i.e., any payment related communication will happen between the user device (300) and the selected service provider's node (702) after user device (300) tries to register with the selected service provider's node (702) using the registration information sent by the server (400).

After that the user device (300) may at any point of time send a request to de- register, which may be send to the server (400) in one implementation. After that the server (400) de-provisions the registration information in the service provider's database (701). In another implementation (not shown), the user device (300) may send the request to de- register directly to the node (702) and the node then de-provisions the registration information in the service provider's database (701) and also informs the server (400) about the same to update the records in its own internal/external database (407, 408).

After de-registration or during registration period, the server (400) may send a feedback request to the user device (300). If the user (605) is interested in sharing a feedback regarding the service provider or its service, the user (605) can send the feedback to the server (400) through the user device (300). The server (400) stores such feedback in the database (407 or 408). The server (400) utilizes the stored feedback in updating the ranking of the service provider and its service and improving its recommendations.

Apart from this the server (400) could provide user details to service providers for their records purposes. The user details may include handset details, name, address, proofs etc. as may be required by that service provider for regulatory purpose. Further, the server (400) can do end to end reconciliation of registration information at end of month. Furthermore, the server (400 could release registration information upon a user deselecting a service provider. The server (400) may also re-utilize the released registration information for allocation to another user device.

In one practical use case of the invention, a mobile phone manufacturer may produce no SIM mobile phones, i.e., mobile phones can operate without requiring a preinstalled SIM, whether in form of hardware or software. According to the invention, when such mobile phones are switched on, each will contact a central backend node, such as the server (400), via a data connection to dynamically select multiple network operators together. At that point of time, the central backend node, which may belong to the mobile phone manufacturer, collects payments from the mobile phones for the selected network operators or their specific services. Otherwise, the mobile phone manufacturer may also offer this as a post-paid service, e.g., at the time of purchase of mobile phone. In this way, the users can first use this service offered by the mobile phone manufacturer and pay for it at end of a predefined time period. In this way, the mobile phone manufactures get control over the payments, which traditionally lies with the network operators. Being a central system, discounted prices may be offered to potential subscribers. Accordingly, this invention when implemented can lead to economic benefits to the mobile phone manufacturers as well as the subscribers in addition to technical benefits as compared to known solutions.

The mobile phone manufactures can increase their sales by providing mobile phones capable of dynamic selection of network operators. Further, the mobile phone manufactures may provide this as an additional feature in mobile phones requiring a SIM, wherein the mobile phone can switch between a conventional operation mode and an operation mode as per the invention, based on a user command. In order to lure more and more customers to try said operation mode, virtual cash may be provided with the mobile phones at the time of purchase, which can be used to pay during dynamic selection of network operators.

On the other hand, the users get the option to dynamically select the network operators based on QoS, costs, etc. The users get to use 'n' number of network operators simultaneously without requiring to buy any additional mobile phone or SIM(s). Further, the users can use a different network operator for different services, such as voice, data, SMS, VAS, etc.

Embodiments of the invention have been described in detail for purposes of clarity and understanding. However, it will be appreciated that certain changes and modifications may be practiced within the scope of the appended claims. Thus, although the invention is described with reference to specific embodiments and figures thereof, the embodiments and figures are merely illustrative, and not limiting of the invention. Rather, the scope of the invention is to be determined solely by the appended claims.