WO2017021787A1 - Dynamic selection of service providers - Google Patents

Dynamic selection of service providers Download PDF

Info

Publication number
WO2017021787A1
WO2017021787A1 PCT/IB2016/052295 IB2016052295W WO2017021787A1 WO 2017021787 A1 WO2017021787 A1 WO 2017021787A1 IB 2016052295 W IB2016052295 W IB 2016052295W WO 2017021787 A1 WO2017021787 A1 WO 2017021787A1
Authority
WO
WIPO (PCT)
Prior art keywords
user device
service providers
server
partner service
data connection
Prior art date
Application number
PCT/IB2016/052295
Other languages
French (fr)
Inventor
Arun Rabra
Manish Kumar Jain
Original Assignee
Comviva Technologies Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Comviva Technologies Limited filed Critical Comviva Technologies Limited
Publication of WO2017021787A1 publication Critical patent/WO2017021787A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service

Definitions

  • 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.
  • 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.
  • users may switch to another service provider due to economic or other benefits.
  • users may want to use an additional service provider in addition to an existing service provider.
  • a user needs to have an additional user device for the additional service provider.
  • the number of service providers that could be utilized simultaneously on single user device is generally restricted due to hardware constraints.
  • the user device may need to have a separate smart card for each of such service provider.
  • Embodiments of the present invention provide dynamic selection of service providers on a user device through a network independent server.
  • the user device manufacturers can provide a client module in user devices.
  • the client module may be provided as an application by an application provider.
  • 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.
  • the server may maintain a ranking system to rank partner service providers and/or the services provided by the partner service providers.
  • a user of the user device 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.
  • the user device 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 'n' number of service providers could be utilized simultaneously.
  • 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.
  • a second service provider could be utilized for a second service
  • a third service provider could be utilized for a third service
  • 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.
  • 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
  • FIGS. 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
  • FIG. 6 illustrates an exemplary network environment, in accordance with an embodiment of the invention.
  • Figure 7 illustrates an exemplary use of the invention in the field of telecommunications .
  • 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.
  • 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.
  • the user device utilizes each of the one or more partner service providers for at least one service.
  • the at least one parameter is a location of the user device or statistics of the user device or usage pattern of a service.
  • 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.
  • 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.
  • the method (100) comprises: storing (111) the registration information corresponding to the one or more partner service providers at the user device.
  • 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.
  • 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.
  • each of the one or more of partner service providers is utilized for at least one service.
  • the method (200) comprises: ranking (206), based on a predefined criterion, partner service providers or services provided by the partner service providers.
  • 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.
  • the predefined criterion may be based on quality of service, extent of geographical coverage, etc.
  • 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.
  • the method (200) comprises: recommending (208), based on one or more factors, the one or more partner service providers to the user device.
  • 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.
  • 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.
  • 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.
  • 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.
  • the method (200) comprises: sending (214) a provisioning request to the one or more of partner service providers.
  • 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.
  • buttons e.g., control buttons and/or keys of a keypad
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • an optional smart card not shown.
  • the processing unit (301) may receive instructions from the smart card and may perform the received instructions.
  • 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.
  • the processing unit (301) may receive
  • the smart card 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.
  • 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.
  • 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).
  • 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.
  • 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).
  • 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).
  • 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.
  • the user device (300) utilizes each of the one or more partner service providers for at least one service.
  • 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.
  • 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).
  • 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.
  • 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).
  • the client module (306) is configured to: de-register, in response to a user command, with the one or more of partner service providers.
  • FIG 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein.
  • 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).
  • 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).
  • 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.
  • each of the one or more of partner service providers is utilized for at least one service.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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).
  • 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.
  • the server module (406) is configured to: send a provisioning request to the one or more of partner service providers.
  • 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.
  • 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.
  • FIG. 5 illustrates exemplary interaction between the user device (300) and the server (400), in accordance with an embodiment of the invention.
  • 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.
  • 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).
  • 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.
  • These last two layers perform equivalent functions for the server (400), as corresponding layers (502, 503) do for the client (300).
  • all data sessions are conducted over the data connection (507) between the user device (300) and the server (400).
  • FIG. 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).
  • a user device manufacturer 602 can provide an inbuilt client module (306) in the user device (300).
  • 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.
  • the client module 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.
  • 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.
  • 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.
  • GNSS Global Navigation Satellite System
  • GPS Global Positioning System
  • GLONASS GLObal NAvigation Satellite System
  • DORIS Radiopositioning Integrated by Satellite
  • IP Internet Protocol
  • 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.
  • the server (400) may recommend service providers (601-1, 601-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.
  • 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).
  • 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).
  • 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.
  • 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.
  • 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).
  • the user device (300) provides payment related information, for example credit card information, to the server (400).
  • the payment may be made through credit card, debit card, internet banking, or any other known feasible mode of payment.
  • a postpaid arrangement may be utilized for payments as well.
  • 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.
  • 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).
  • BTS Base Trans-receiver Station
  • BSC Base Station Controller
  • STB Set Top Box
  • the burden of collecting payments may be lie with the selected service providers (601-1, 601-2) only.
  • the server (400) just sends the registration information to the user device (300) without bothering about the payments.
  • 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).
  • 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.
  • 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).
  • SIM Subscriber Identification Module
  • 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.
  • MSISDN Mobile Station International Subscriber Directory Number
  • the user device (300) then utilizes each of the registered service providers (601-1, 601-2) for at least one service.
  • any number of service providers could be utilized simultaneously for a specific service.
  • 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.
  • a second network operator could be utilized for data service
  • a third network operator could be utilized for a Short Message Service (SMS)
  • a fourth network operator could be utilized for Value-Added Service (VAS).
  • SMS Short Message Service
  • VAS Value-Added Service
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • the user device (300) first interacts with the server (400), say, through Wi-Fi, for dynamic selection of service providers.
  • 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.
  • an account corresponding the user device (300) may be created with the server (400).
  • the user device (300) 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) 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.
  • 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).
  • 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.
  • 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).
  • 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).
  • 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).
  • MSC Mobile Switching Centre
  • 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).
  • 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.
  • the server (400) de-provisions the registration information in the service provider's database (701).
  • 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).
  • 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.
  • 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.
  • the server (400) can do end to end reconciliation of registration information at end of month.
  • 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.
  • 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.
  • each will contact a central backend node, such as the server (400), via a data connection to dynamically select multiple network operators together.
  • 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.
  • the mobile phone manufacturer may also offer this as a post-paid service, e.g., at the time of purchase of mobile phone.
  • 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.
  • 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).
  • the users can use a different network operator for different services, such as voice, data, SMS, VAS, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

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.

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.

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.
PCT/IB2016/052295 2015-07-31 2016-04-22 Dynamic selection of service providers WO2017021787A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN2366/DEL/2015 2015-07-31
IN2366DE2015 IN2015DE02366A (en) 2015-07-31 2016-04-22

Publications (1)

Publication Number Publication Date
WO2017021787A1 true WO2017021787A1 (en) 2017-02-09

Family

ID=54396598

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2016/052295 WO2017021787A1 (en) 2015-07-31 2016-04-22 Dynamic selection of service providers

Country Status (3)

Country Link
IN (1) IN2015DE02366A (en)
WO (1) WO2017021787A1 (en)
ZA (1) ZA201507652B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020046348A1 (en) * 2018-08-30 2020-03-05 Cisco Technology, Inc. Geo-location based identity selection for wireless connections
US10917840B2 (en) 2018-09-13 2021-02-09 International Business Machines Corporation Selecting a communication service provider according to constraint criteria

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998020698A2 (en) * 1996-11-04 1998-05-14 Qualcomm Incorporated Method and apparatus for performing position- and preference-based service selection in a mobile telephone system
US20100311468A1 (en) * 2009-06-08 2010-12-09 Guangming Shi Virtual sim card for mobile handsets
EP2453632A1 (en) * 2010-11-10 2012-05-16 Sony Corporation Radio terminal apparatus, communication system, and method for acquiring contract authentication information
US20130329639A1 (en) * 2012-06-12 2013-12-12 Qualcomm Incorporated Connection management for multi operator selection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998020698A2 (en) * 1996-11-04 1998-05-14 Qualcomm Incorporated Method and apparatus for performing position- and preference-based service selection in a mobile telephone system
US20100311468A1 (en) * 2009-06-08 2010-12-09 Guangming Shi Virtual sim card for mobile handsets
EP2453632A1 (en) * 2010-11-10 2012-05-16 Sony Corporation Radio terminal apparatus, communication system, and method for acquiring contract authentication information
US20130329639A1 (en) * 2012-06-12 2013-12-12 Qualcomm Incorporated Connection management for multi operator selection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020046348A1 (en) * 2018-08-30 2020-03-05 Cisco Technology, Inc. Geo-location based identity selection for wireless connections
US10917840B2 (en) 2018-09-13 2021-02-09 International Business Machines Corporation Selecting a communication service provider according to constraint criteria

Also Published As

Publication number Publication date
ZA201507652B (en) 2017-01-25
IN2015DE02366A (en) 2015-08-14

Similar Documents

Publication Publication Date Title
US11974358B2 (en) Method for transmitting an existing subscription profile from a MNO to a secure element, corresponding servers and secure element
US7937082B2 (en) Mobile communication terminal, IC card, mobile communication system, program, and communication charge notification method
JP6077048B2 (en) Subscriber identity management broker for fixed / mobile networks
US20210306439A1 (en) Virtual subscriber identity module for mobile communication device
US9326322B2 (en) Virtual access module distribution apparatus and methods
EP2074858B1 (en) Dynamic carrier selection
TWI533658B (en) Methods and apparatus for access control client assisted roaming
US7289805B2 (en) Method and system for providing a temporary subscriber identity to a roaming mobile communications device
US6526272B1 (en) Reducing calling costs for wireless phones using multiple mobile identification numbers
US20120129513A1 (en) Apparatus, systems and methods for programmable sim card using over the air communicated information
KR20140013102A (en) Virtual sim card for mobile devices
US20110207483A1 (en) Reassigned mobile message notifications
KR20150111173A (en) Apparatus and method for subscribing to network in wireless communication system
US9686370B2 (en) Wireless access point
WO2017021787A1 (en) Dynamic selection of service providers
EP2656644A1 (en) Rate discount forecasts for wireless user terminals
CN112714483A (en) Method for self-adaptively setting access point name

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16725580

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16725580

Country of ref document: EP

Kind code of ref document: A1