Abstract: A system and method of smart ePDG discovery. The method determines, via a processing unit [1004], a plurality of most proximal ePDG servers upon receipt of an IP address for a Wi-Fi interface. The plurality of most proximal ePDG servers are determined based at least on a current PLMN of the user device and a distance matrix PLMN. Thereafter the method identifies, via a smart ePDG discovery optimizer module [1006] from a DNS lookup table stored at the user device, an IP address corresponding to each most proximal ePDG server. The method thereafter generates, via the smart ePDG discovery optimizer module [1006], one of a positive response and a negative response based on the identification of the IP address. Further the method establishes via the transceiver unit [1002], a connection between the user device and a most proximal ePDG server based on the positive response.
FORM 2
THE PATENTS ACT, 1970
(39 OF 1970)
AND
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
“SYSTEM AND METHOD OF SMART ePDG DISCOVERY”
We, Reliance Jio Infocomm Limited, an Indian National, of, 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad-380006, Gujarat, India.
The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD
The present disclosure relates generally to heterogeneous wireless communication network and more particularly, to a system and method of smart evolved packet data gateway (ePDG) discovery.
BACKGROUND OF THE DISCLOSURE
The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
Today a wireless network, that is widely deployed to provide various communication services such as voice, video, data, advertisement, content, messaging, broadcasts, etc. usually comprises multiple access networks and support communications for multiple users by sharing the available network resources.
One example of such a network is the Evolved Universal Terrestrial Radio Access (E-UTRA) which is a radio access network standard meant to be a replacement of the Universal Mobile Telecommunications System (UMTS) and High-Speed Downlink Packet Access/High-Speed Uplink Packet Access (HSDPA/HSUPA) technologies specified in 3GPP releases 5 and beyond. Unlike HSPA, Long Term Evolution’s (LTE's) E-UTRA is an entirely new air interface system, unrelated to and incompatible with W-CDMA. It provides higher data rates, lower latency and is optimized for packet data. The earlier UMTS Terrestrial Radio Access Network (UTRAN) is the radio access network (RAN), defined as a part of the Universal Mobile Telecommunications System (UMTS), a third generation (3G) mobile
phone technology supported by the 3rd Generation Partnership Project (3GPP). The UMTS, which is the successor to Global System for Mobile Communications (GSM) technologies, currently supports various air interface standards, such as Wideband-Code Division Multiple Access (W-CDMA), Time Division-Code Division Multiple Access (TD-CDMA), and Time Division-Synchronous Code Division Multiple Access (TD-SCDMA). The UMTS also supports enhanced 3G data communications protocols, such as High-Speed Packet Access (HSPA), which provides higher data transfer speeds and capacity to associated UMTS networks. Furthermore, as the demand for mobile data and voice access continues to increase, research and development continue to advance the technologies not only to meet the growing demand for access, but to advance and enhance the user experience with user device. Some of the technologies that have evolved starting GSM/EDGE, UMTS/HSPA, CDMA2000/EV-DO and TD-SCDMA radio interfaces with the 3GPP Release 8, e-UTRA is designed to provide a single evolution path for providing increases in data speeds, and spectral efficiency, and allowing the provision of more functionality.
Also, in recent years, Wi-Fi technology based on IEEE 802.11 standards has seen tremendous growth and commercialization. Now-a-days almost all available UE (user equipment) with cellular capability support have Wi-Fi capability by default in order to connect to Wi-Fi networks operating in either of the unlicensed frequency bands, 2.4 GHz, or 5 GHz. The fact, therefore, is also motivating cellular operators to use ubiquitous and cost-effective Wi-Fi technology in pursuing their heterogeneous network (HetNet) strategy. Many operators are now deploying low powered Wi-Fi cells along with cellular small cells at multiple strategic locations identified for a HetNet, whereas in a traditional cellular deployment, suitable powered macrocells are being deployed to cover sufficiently large areas. However, with macrocells only deployment, it generally suffers with quick capacity degradation as the number of user equipment (UE) operating in the macrocells coverage areas increase. Therefore, operators are now reinforcing their macrocells deployment with one or multiple Wi-Fis placed at multiple strategic
locations within one or more macro coverage areas. This kind of reinforced cellular network is generally termed as heterogeneous network, in short, HetNet.
Furthermore, for a typical HetNet, strategic locations for small cells generally include areas with high density of users, such as shopping malls, airports, railway/bus stations, colleges, etc. Also, these locations might include area with dead-spots, or areas with low macro signal strength, such as indoor establishments or peripheral locations of a macro coverage area. Reinforced with small cells placed at multiple strategic locations as described above, Heterogeneous Networks not only provide an increased mobile data capacity but also provide better mobile coverage, thereby enhancing the overall user’s mobile broadband experience.
Further, an exemplary case of a typical heterogeneous network (HetNet) is shown in Figure 1. Figure 1 indicates a heterogeneous network comprising macro base station (macro eNodeB) (1), providing a wide area coverage in a macro cell (2) to various serves users. Further, within the macro cell (2), several low power nodes are employed in service areas having a higher density of users requiring high data rates are denoted. Examples of such low power nodes comprises micro cells/base station (3). Also, the micro cell integrated with Wi-Fi radio (4) is also used widely to provide multi-technology hotspot capacity/coverage goals. The operators may also deploy independent & cost-effective Wi-Fi Access points (5) in hotspot areas to offload cellular load, and to meet capacity/coverage requirements of users.
Further, in the heterogeneous network, as depicted in the Figure 1, the macro base station (1) coverage could be used for wide-area overlay mobility coverage, while the micro base stations along with the Wi-Fi Access points (3, 4, and 5) coverage could be used for a mobile capacity upgrade.
Furthermore, a ‘smart computing device or user equipment (UE) or user device’ refers to any electrical, electronic, electro-mechanical computing device or
equipment or a combination of one or more of the above devices. Also, a ‘smartphone’ is one type of “smart computing device” that refers to a mobility wireless cellular connectivity device that allows end users to use services on cellular networks such as including but not limited to 2G, 3G, 4G, 5G and/or the like mobile broadband Internet connections with an advanced mobile operating system which combines features of a personal computer operating system with other features useful for mobile or handheld use. Also, every such smart device has one or the other type of a subscriber identity module (SIM) card to connect to the network. An integrated circuit chip of a typical card ecosystem is intended to securely store the International Mobile Subscriber Identity (IMSI) number and its related key, which are used to identify and authenticate subscribers on mobile telephony devices/user equipment (such as mobility devices like the smartphones, tabs, laptops, computers, etc.). Also, the SIM cards have been used in GSM smartphones, CDMA smartphones, LTE-capable handsets and such other smartphones supporting similar technologies.
Furthermore, the SIM circuit is a part of the function of a Universal Integrated Circuit Card (UICC) physical smart card, which is usually made of PVC with embedded contacts and semiconductors. Also, the "SIM cards" are mostly designed to be transferable between different mobile devices. The SIM card also contains its unique serial number (ICCID), International Mobile Subscriber Identity (IMSI) number, security authentication and ciphering information, temporary information related to the local network, a list of the services the user has access to, and passwords like: a personal identification number (PIN) for ordinary use, a personal unblocking code (PUK) for PIN unlocking, etc.
The UICC (Universal Integrated Circuit Card) can have multiple applications like SIM (2G), USIM (3G/4G), ISIM (IMS), etc. The UICC is simply referred to as ‘SIM’ card herein. After SIM activation on UE boot up, a UE selects the applications in the SIM, for example, USIM for 4G LTE. The SIM file system consists of Master File (MF), Dedicated Files (DFs) and Elementary Files (EFs). MF is a unique mandatory
file containing access conditions and other DFs and EFs. DFs contain access conditions and optionally other DFs and EFs. EFs contain the access conditions of data contained in them, but they don’t contain any additional files. The typical USIM application comprises many Elementary Files (EFs) and/or Dedicated Files (DFs). These files are used for controlling UE’s behavior in the network, helping it to securely register to desired network, enabling and restricting certain services, maintaining status lists and parameters, etc.
Further, referring to Figure 2, it illustrates an exemplary block diagram highlighting various subsystems of a user equipment [200] and various aspects of a SIM card [220] configured at the user equipment [200]. Figure 2 depicts that the UE [200] comprises various subsystems such as including but not limited to a modem subsystem [202] with baseband DSP processor [202 C], a RF section [202 B] and other radio interfaces, an application processor [204], a memory subsystem [205], a power subsystem [206] and an external I/O interfaces subsystems [203]. Also a SIM card [220] as shown in Figure 2 consists at least of a microprocessor [220 B], an I/O interface towards the UE [220 A], a random access memory (RAM) [220 C], an electronically erasable programmable read-only memory (EEPROM) / non¬volatile memory (NVM) [220 D] and a SIM file system [220 E]. The EEPROM [220 D] consists of operating system code and code of other applications. The code of auto International Mobile Subscriber Identity (IMSI) switch SIM application also resides in the EEPROM [220 D]. Also, in the SIM file system [220 E], the User Services Identity Module (USIM) application contains the EF files like for example EFLOCI, EFPSLOCI, EFEPSLOCI, EFUST, EFFPLMN, etc. The SIM file system [220 E] also contains application specific files used by SIM applications running on the SIM. Also, certain context and configuration files of the Auto IMSI Switch SIM application are contained in the SIM file system [220 E].
Furthermore, every network operator has a unique Public Land Mobile Network (PLMN) number. The PLMN consists of the Mobile Country Code (MCC) and Mobile Network Code (MNC). Every subscriber of service provider operator is identified
by a unique International Mobile Subscriber Identity (IMSI) which consists of the PLMN (MCC, MNC) of the service provider operator and the Mobile Subscription Identification Number (MSIN). The PLMN contained in the subscriber’s IMSI is called Home PLMN (HPLMN) and the corresponding network is referred to as Home Network (HN) herein. When a subscriber of an operator tries to attach to another network operator due to various reasons like unavailability of home network, etc. it is identified as a Roaming Subscriber (RS) and that network operator is referred to as Roamed Network (RN) herein. The roaming subscriber can access the roamed network services as per the bilateral roaming agreements between the home and the roamed network operators.
Also, the 3GPP standard defines two types of access; trusted and untrusted non-3GPP access. Non-3GPP access includes access from for instance Wi-Fi, WiMAX, fixed and CDMA networks. The trusted access is often assumed to be an operator-built Wi-Fi access with encryption in the Wi-Fi radio access network (RAN) and a secure authentication method. In a trusted access, the device (UE) is connected through a TWAG (Trusted Wireless Access Gateway) in the Wi-Fi core. The TWAG is in turn connected directly with a P-GW (Packet Gateway) in an Evolved Packet Core (EPC) through a secure tunnel (GTP, MIP or PMIP).
At the time of introduction of the untrusted model, it was rare with Wi-Fi access points having advanced security features. Hence, the Wi-Fi was considered open and unsecured by default. Further, the untrusted access includes any type of Wi-Fi access that the operator has no control over, such as public hotspots, subscribers’ home Wi-Fi and corporate Wi-Fi. It also includes Wi-Fi access that does not provide sufficient security mechanisms such as authentication and radio link encryption. The untrusted model requires no changes to the Wi-Fi RAN (Radio Access Network) but has an impact on the device side which requires an IPSec client in the device. In this model the device/UE is connected directly to the ePDG (Evolved Packet Data Gateway) in EPC (Evolved Packet Core) through a secure
IPSec tunnel. The ePDG is connected to the P-GW where each user session is transported through a secure tunnel (GTP or PMIP).
Furthermore, in existing procedures of an ePDG discovery which is currently followed by all UE once the UE connects to a Wi-Fi, the AP (Access Point) provides to the UE, an IP address for the Wi-Fi interface. Further, if the UE is VoWiFi (voice over Wi-Fi) capable, it forms an ePDG FQDN (fully qualified domain name) and query a DNS (domain name system) server for this. In response, the DNS server thereafter provides ePDG server IPs to the UE. Further, using the received IP address, the UE forms an IPsec tunnel which provides security for untrusted Wi-Fi network. The first step of obtaining ePDG server IP is called ePDG discovery.
Furthermore, the VoWiFi service discovery involves performing same DNS query at multiple instances as to use VoWiFi services, each time the UE needs to connect to ePDG server and in order to get ePDG server IP details, the UE performs DNS query for ePDG FQDN. Further, after getting the ePDG server IP, the UE starts tunnel creation for VoWiFi. More particularly in the current implementations, the ePDG discovery is performed at each instance when Wi-Fi gets connected or there is change in Wi-Fi connection or after handover from VoLTE to VoWiFi and in similar scenarios. Therefore, the current approach is naïve and lacks intelligence causing repeated DNS query to fetch same information. Also as the UE performs same query and gets the same response multiple times, it causes unnecessary load on the network resources.
Further, the VoWiFi capable UEs are increasing at an enormous pace and with VoWiFi commercialization rolling out, the number of active VoWiFi subscribers is going to expand exponentially. Therefore, this will put extra load on the DNS servers as the UEs keep performing ePDG discovery for even trivial changes such as toggling Wi-Fi setting, Wi-Fi calling setting, frequent handovers, etc. Further, such load can impact the server response time providing poor user experience for browsing, longer setup time for ePDG discovery.
In view of at least the above limitations, there is a need in the art to provide a novel technique/solution that can provide smart ePDG discovery to reduce the load on DNS server caused by repeated ePDG FQDN queries for the VoWiFi user in the HetNet where the UEs may be registered to VoWiFi among various clusters of WiFi operating under a designated macro coverage area and where multiple Wi-Fi small cells, either separate or integrated, are deployed at various hotspot locations under the macro coverage area.
Therefore, in view of above and other existing limitations, there is an imperative need to provide a solution to overcome the existing limitations and to provide methods and systems of smart ePDG discovery.
SUMMARY OF THE DISCLOSURE
This section is provided to introduce certain objects and aspects of the present invention in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.
In order to overcome at least some of the drawbacks mentioned in the previous section and those otherwise known to persons skilled in the art, an object of the present disclosure is to provide a system and method of smart evolved packet data gateway (ePDG) discovery in a wireless network to reduce the load on DNS server caused by repeated ePDG FQDN queries. Another object of the present disclosure is to reduce the load that can impact the DNS server response time resulting in poor user experience for browsing and longer setup time for ePDG discovery. Also, an object of the present disclosure is to reduce the extra load on DNS servers as the UEs keep performing ePDG discovery for even trivial changes such as toggling Wi-Fi setting, Wi-Fi calling setting, frequent handovers etc. An object of the present disclosure is to provide a mechanism to achieve an efficient solution for
smart ePDG discovery in a cost-effective manner with the existing deployed EPC Network to cater the huge Wi-Fi traffic in heterogeneous network. Another object of the present disclosure is to identify and route call with the solution for smart ePDG discovery to the local ePDG. Yet, another object of the present disclosure is to identify support for the VoWiFi capable UE that is increasing at an enormous pace.
In order to achieve the aforementioned objectives, the present invention provides a method and system for smart evolved packet data gateway (ePDG) discovery. A first aspect of the present invention relates to a method for smart ePDG discovery. The method comprises transmitting, from a transceiver unit to a Wi-Fi access point (AP), a Wi-Fi connection request to establish a Wi-Fi connection between a user device and a Wi-Fi module. Thereafter the method encompasses receiving, at the transceiver unit from the Wi-Fi access point (AP), an IP address for a Wi-Fi interface based on the Wi-Fi connection. Further the method comprises determining, via a processing unit, a plurality of most proximal evolved packet data gateway (ePDG) servers upon receipt of the IP address for the Wi-Fi interface wherein the plurality of most proximal ePDG servers are determined based at least on a current latched Public Land Mobile Network (PLMN) of the user device and a distance matrix PLMN. The method thereafter encompasses identifying, via a smart ePDG discovery optimizer module from a DNS lookup table, an IP address corresponding to each most proximal ePDG server from the plurality of most proximal ePDG servers, wherein the DNS lookup table is stored at the user device. Further the method comprises generating, via the smart ePDG discovery optimizer module, one of a positive response and a negative response based on the identification of the IP address. The method thereafter encompasses establishing via the transceiver unit, a connection between the user device and an ePDG server from the plurality of most proximal ePDG servers based on the positive response.
Another aspect of the present invention relates to a system for smart evolved packet data gateway (ePDG) discovery. The system comprises a transceiver unit,
configured to transmit to a Wi-Fi access point (AP), a Wi-Fi connection request to establish a Wi-Fi connection between a user device and a Wi-Fi module. The transceiver unit is thereafter configured to receive, from the Wi-Fi access point (AP), an IP address for a Wi-Fi interface based on the Wi-Fi connection. The system also comprises a processing unit, configured to determine a plurality of most proximal evolved packet data gateway (ePDG) servers upon receipt of the IP address for the Wi-Fi interface wherein the plurality of most proximal ePDG servers are determined based at least on a current latched Public Land Mobile Network (PLMN) of the user device and a distance matrix PLMN. Further the system comprises a smart ePDG discovery optimizer module configured to determine from a DNS lookup table, an IP address corresponding to each most proximal ePDG server from the plurality of most proximal ePDG servers, wherein the DNS lookup table is stored at the user device. Also, the smart ePDG discovery optimizer module is further configured to generate, one of a positive response and a negative response based on the identification of the IP address. Thereafter, the transceiver unit is configured to establish a connection between the user device and an ePDG server from the plurality of most proximal ePDG servers based on the positive response.
BRIEF DESCRIPTION OF DRAWINGS
The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
Figure 1 illustrates an exemplary heterogeneous network (HetNet), in accordance
with exemplary embodiments of the present disclosure.
Figure 2 illustrates an exemplary block diagram highlighting various subsystems of
a user equipment [200] and various aspects of a SIM card [220] configured at the
user equipment [200], in accordance with exemplary embodiments of the present
invention.
Figure 3 illustrates an exemplary network architecture diagram indicating latching
of a user device/UE with radio access technologies (RATs), in accordance with
exemplary embodiments of the present invention.
Figure 4 illustrates a block diagram [400] of an exemplary heterogeneous network
architecture interface, in accordance with exemplary embodiments of the present
invention.
Figure 5 illustrates an exemplary SWu interface of an exemplary network
architecture, in accordance with exemplary embodiments of the present
invention.
Figure 6 illustrates an exemplary SWm interface of an exemplary network
architecture, in accordance with exemplary embodiments of the present
invention.
Figure 7 illustrates an exemplary S2b interface of an exemplary network
architecture, in accordance with exemplary embodiments of the present
invention.
Figure 8 illustrates an exemplary SWx interface of an exemplary network
architecture, in accordance with exemplary embodiments of the present
invention.
Figure 9 illustrates an exemplary S6b interface of an exemplary network
architecture, in accordance with exemplary embodiments of the present
invention.
Figure 10 illustrates an exemplary block diagram of a system of smart evolved
packet data gateway (ePDG) discovery, in accordance with exemplary
embodiments of the present disclosure.
Figure 11 illustrates an exemplary diagram indicating a use case relating to a
change in ePDG server information, in accordance with exemplary embodiments
of the present invention.
Figure 12 illustrates an exemplary method flow diagram depicting a method of
smart evolved packet data gateway (ePDG) discovery, in accordance with
exemplary embodiments of the present disclosure.
Figure 13 illustrates an exemplary selection of two most proximal ePDG servers, in
accordance with exemplary embodiments of the present invention.
Figure 14 illustrates an exemplary flow diagram, depicting an instance
implementation of the process of IPsec tunnel creation, in accordance with
exemplary embodiments of the present invention.
Figure 15 illustrates an exemplary flow diagram, depicting an instance
implementation of the process of updating ePDG server details, in accordance
with exemplary embodiments of the present invention.
The foregoing shall be more apparent from the following more detailed
description of the disclosure.
DESCRIPTION OF THE INVENTION
In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of embodiments of the invention. However, it will be apparent that various embodiments may be practiced without these specific details. The figures and description are not intended to be restrictive.
The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the
function and arrangement of elements without departing from the spirit and scope of the invention as set forth.
Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a sequence diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks (e.g., a computer-program product) may be stored in a machine-readable medium. A processor(s) may perform the necessary tasks.
The word “exemplary” and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive—in a manner similar to the term “comprising” as an open transition word—without precluding any additional or other elements.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
As utilized herein, terms “component,” “system,” “platform,” “node,” “layer,” “selector,” “interface,” and the like are intended to refer to a computer-related entity, hardware, software (e.g., in execution), and/or firmware. For example, a component can be a process running on a processor, a processor, an object, an executable, a program, a storage device, and/or a computer. By way of illustration, an application running on a server and the server can be a component. One or more components can reside within a process and a component can be localized on one computer and/or distributed between two or more computers.
Further, these components can execute from various computer-readable media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software application or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application. As yet another example, a component can be any apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that confers at least in part the functionality of the electronic components.
In addition, the disclosed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to
encompass a computer program accessible from any computer-readable device, computer-readable carrier, or computer-readable media. For example, computer-readable media can include, but are not limited to, magnetic storage devices, e.g., hard disk; floppy disk; magnetic strip(s); optical disk (e.g., compact disk (CD), digital video disc (DVD), Blu-ray Disc™ (BD); smart card(s), flash memory device(s) (e.g., card, stick, key drive etc.).
Moreover, terms like “user equipment” (UE), “mobile station”, “user device”, “mobile subscriber station,” “access terminal,” “terminal,” “smartphone,” “smart computing device,” “VoWiFi capable UE”, “handset,” “device” and similar terminology refers to any electrical, electronic, electro-mechanical or an equipment or a combination of one or more of the above devices. Smart computing devices may include, but not limited to, a mobile phone, smart phone, virtual reality (VR) devices, augmented reality (AR) devices, pager, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device as may be obvious to a person skilled in the art. In general, a smart computing device is a digital, user configured, computer networked device that can operate autonomously. A smart computing device is one of the appropriate systems for storing data and other private/sensitive information. The said device operates at all the seven levels of ISO reference model, but the primary function is related to the application layer along with the network, session and presentation layer with any additional features of a touch screen, apps ecosystem, physical and biometric security, etc. Further, a ‘smartphone’ is one type of “smart computing device” that refers to the mobility wireless cellular connectivity device that allows end-users to use services on 2G, 3G, 4G, 5G and the like mobile broadband Internet connections with an advanced mobile operating system which combines features of a personal computer operating system with other features useful for mobile or handheld use. These smartphones can access the Internet, have a touchscreen user interface, can run third-party apps including the capability of hosting online applications, music players and are camera phones possessing high-speed mobile broadband
4G LTE internet with video calling, hotspot functionality, motion sensors, mobile payment mechanisms and enhanced security features with alarm and alert in emergencies. Mobility devices may include smartphones, wearable devices, smart-watches, smart bands, wearable augmented devices, etc. For the sake of specificity, the mobility device is referred to both feature phone and smartphones in the present disclosure but it does not limit the scope of the disclosure and may extend to any mobility device in implementing the technical solutions. The above smart devices including the smartphone as well as the feature phone including IoT devices enable the communication on the devices. Further, the foregoing terms are utilized interchangeably in the subject specification and related drawings.
Furthermore, the terms “user,” “subscriber,” “customer,” “consumer,” “owner,” and the like are employed interchangeably throughout the subject specification and related drawings, unless context warrants particular distinction(s) among the terms. It should be appreciated that such terms can refer to human entities, or automated components supported through artificial intelligence, e.g., a capacity to make inference based on complex mathematical formulations, that can provide simulated vision, sound recognition, decision making, etc. In addition, the terms “wireless network” and “network” are used interchangeable in the subject application, unless context warrants particular distinction(s) among the terms.
As used herein, a “processor” or “processing unit” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. A processor may be a general-purpose processor, a special-purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, a low-end microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working
of the system according to the present disclosure. More specifically, the processor or processing unit is a hardware processor.
As used herein the “Transceiver Unit” may include but not limited to a transmitter to transmit data to one or more destinations and a receiver to receive data from one or more sources. Further, the Transceiver Unit may include any other similar unit obvious to a person skilled in the art, to implement the features of the present invention. The transceiver unit may convert data or information to signals and vice versa for the purpose of transmitting and receiving respectively.
As used herein, “Storage Unit” or “Memory Unit” refers to a machine or computer-readable medium including any mechanism for storing information in a form readable by a computer or similar machine. For example, a computer-readable medium includes read-only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices or other types of machine-accessible storage media. The Storage Unit is configured to store a data relating to the various units/modules required to execute the features of the present invention.
The present invention provides a novel method and system of smart evolved packet data gateway (ePDG) discovery on non 3GPP access network such as “Voice over Wi-Fi” (VoWiFi) for users in a heterogeneous wireless communication network. More particularly, the present disclosure provides solution for smart ePDG discovery to reduce the load on DNS server caused by repeated ePDG FQDN queries as UEs/user devices keep performing ePDG discovery for even trivial changes such as toggling Wi-Fi setting, Wi-Fi calling setting, frequent handovers etc. In order to provide the smart ePDG discovery, the present invention encompasses determining a plurality of most proximal evolved packet data gateway (ePDG) servers based on a current latched Public Land Mobile Network (PLMN) of the user device and a distance matrix PLMN. Thereafter, the present invention encompasses obtaining at the user device a plurality of ePDG server IPs
from a DNS lookup table stored at the user device to establish a connection between the user device and an ePDG server. Also, to provide security for untrusted Wi-Fi access, an IPsec tunnel is created between the user device and the ePDG server based on the connection between the user device and the ePDG server. Furthermore, the present invention also encompasses use of a smart ePDG discovery optimizer module to decide whether an actual DNS resolution is required or not. The present invention also encompasses updating the DNS lookup table stored at the user device based at least on the received actual DNS response OR whenever the DNS server signals change in ePDG server details. Therefore, the present disclosure provides a solution to achieve a reduction in the number of DNS queries and thus provides a solution that reduces the load that can impact the DNS server response time resulting in the prior art in poor user experience for browsing, longer setup time for ePDG discovery in a cost-effective manner with the existing deployed EPC network to cater the huge Wi-Fi traffic in the heterogeneous network.
Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present disclosure.
Referring to FIG.3, it illustrates an exemplary network architecture diagram indicating latching of a user device/UE with radio access technologies (RATs), in accordance with exemplary embodiments of the present invention. As shown at [300A] and [300B] in Figure 3, the user equipment (UE) [302] may be latched to a long term evolution (LTE) network [310] or to a legacy (UTRAN/GSM) network [306] via eNodeB [308] and NodeB/BTS [304], respectively. Therefore, Figure 3 indicates the latching of the UE [302] with various radio access technologies (RATs). Further, the wireless communication networks, with which the UE [302] is connected/latched, provides to the latched UEs [302] one or more services (e.g., voice traffic, data traffic etc.) through base station/s of the said wireless network/s.
The network architecture diagram as indicated in Figure 3 is an exemplary network architecture diagram and the wireless communication network(s)/network entities (i.e. the LTE network and the UTRAN/GSM network) as disclosed in Figure 3 are exemplary. Other network entities, such as other legacy networks and/or next-generation 5G-New Radio (NR) networks, with which the UE [302] is latched can also be implemented. Also, in an implementation the user equipment [302] may be one of a single SIM and a multi-SIM user device. Therefore, in such implementation the latching of one of the single SIM and the multi-SIM user device will be with one of a single radio access technologies (RAT) and multiple different radio access technologies (RATs), respectively.
Referring to FIG. 4, a block diagram [400] of an exemplary heterogeneous network architecture interface, in accordance with exemplary embodiments of the present invention is shown. The Figure 4 in the shown heterogeneous network indicates that an untrusted non 3GPP IP access [402] is connected to an evolved packet data gateway (ePDG) [404] over a SWu interface. The SWu interface is a secure interface to UEs in a non-3GPP access network. This interface carries IPSec tunnels. The IKEv2 protocol is used to establish IPSec tunnels between the UEs and the ePDG. Also, an exemplary SWu interface of an exemplary network architecture is depicted in Figure 5 at [502].
Further, the Figure 4 in the shown heterogeneous network also indicates the evolved packet data gateway (ePDG) [404] is connected to 3GPP AAA (authentication, authorization, and accounting) server [406] and PDN (Packet Data Network) GW [408] over SWm and S2b interfaces, respectively. Furthermore, the SWm interface is used to transport UEs mobility parameters and tunnel authentication and authorization data using EAP-AKA method. The S2b interface is based on GTPv2 protocol and used to establish WLAN UE sessions. Also, an exemplary SWm and an exemplary S2b interface of exemplary network architecture are depicted in Figure 6 and Figure 7 at [602] and [702] respectively.
Also, the Figure 4 in the shown heterogeneous network indicates that the 3GPP AAA server [406] is further connected to HSS (Home Subscriber Server) [410] over SWx interface and the PDN GW [408] is further connected to SGW (serving gateway) [414] and PCRF (policy and charging rules function) [412] over S5 and Gx interfaces, respectively. The PCRF [412] is further connected to IMS network [416] over Rx interface and the SWG [414] is further connected to the HSS [410] over S6a interface. Furthermore, the SWx interface is used to transport UEs mobility parameters and fetch user authorization data. An exemplary SWx interface of an exemplary network architecture is depicted in Figure 8 at [802].
Also, an exemplary S6b interface of an exemplary network architecture is depicted in Figure 9 at [902]. The S6b is the interface used to connect the 3GPP AAA server [406] to the PGW [408]. It is used to update PGW address to HSS [410], when the UE is attached on non-3GPP access.
Referring to FIG. 10, an exemplary block diagram of a system [1000], for smart evolved packet data gateway (ePDG) discovery, in accordance with exemplary embodiments of the present invention is shown.
The system [1000] comprises, at least one transceiver unit [1002], at least one processing unit [1004], at least one smart ePDG discovery optimizer module [1006] and at least one storage unit [1008]. In an implementation, the system [1000] resides in a user equipment (UE)/user device and is connected to a heterogeneous wireless communication network via the user device. Also, all of the components/ units of the system [1000] are assumed to be connected to each other unless otherwise indicated below. Also, in Fig. 10 only a few units are shown, however, the system [1000] may comprise multiple such units or the system [1000] may comprise any such numbers of said units, as required to implement the features of the present disclosure.
The system [1000], is configured to provide smart evolved packet data gateway (ePDG) discovery at the user device level to reduce the load on DNS server caused by repeated ePDG FQDN queries, with the help of the interconnection between the components/ units of the system [1000].
The at least one transceiver unit [1002] is connected to the at least one processing unit [1004], the at least one smart ePDG discovery optimizer module [1006] and the at least one storage unit [1008]. The transceiver unit [1002] is configured to transmit to a Wi-Fi access point (AP), a Wi-Fi connection request to establish a Wi-Fi connection between a user device and a Wi-Fi module. The transceiver unit [1002] is also configured to receive from the Wi-Fi access point (AP), an IP address for a Wi-Fi interface based on the Wi-Fi connection. Once the transceiver unit [1002] transmits the Wi-Fi connection request to the Wi-Fi access point (AP), based on said Wi-Fi connection request a Wi-Fi connection between the user device/UE and the Wi-Fi is established and once the user device connects to the Wi-Fi, the Wi-Fi AP (Access Point) provides to the user device an IP address for Wi-Fi interface via the transceiver unit [1002].
Further, the at least one processing unit [1004] is connected to the at least one transceiver unit [1002], the at least one smart ePDG discovery optimizer module [1006] and the at least one storage unit [1008]. The processing unit [1004] is configured to determine a plurality of most proximal evolved packet data gateway (ePDG) servers upon receipt of the IP address for the Wi-Fi interface. In an implementation, the processing unit [1004] may be configured to determine two most proximal ePDG servers and in another implementation the processing unit [1004] may be configured to determine more than two most proximal ePDG servers. The plurality of most proximal ePDG servers are determined by the processing unit [1004] based at least on a current latched Public Land Mobile Network (PLMN) of the user device and a distance matrix PLMN. The processing unit [1004] in order to determine the most proximal ePDG servers is firstly configured to fetch the current PLMN of the UE/user device. Further, based on the
current PLMN, the processing unit [1004] is configured to determine the most proximally located ePDG servers.
Further, the smart ePDG discovery optimizer module [1006] is connected to the at least one transceiver unit [1002], the at least one processing unit [1004] and the at least one storage unit [1008]. The smart ePDG discovery optimizer module [1006] may be a smart unit having an analysing, identifying, determining, comparing, generating and such similar decision making capability, and/or the smart ePDG discovery optimizer module [1006] may be any other such similar unit configured to implement the features of the present disclosure. Further, the smart ePDG discovery optimizer module [1006] is configured to identify from a DNS lookup table, an IP address corresponding to each most proximal ePDG server from the plurality of most proximal ePDG servers, wherein the DNS lookup table is stored at the user device. Also, the DNS lookup table comprises a plurality of ePDG server IP addresses maintained locally at the user device. The smart ePDG discovery optimizer module [1006] is also configured to cache a Fully Qualified Domain Name (FQDN) of each most proximal ePDG server from the plurality of most proximal ePDG servers to the IP address corresponding to said each most proximal ePDG server in a local DNS cache at the user device. Further in an implementation said storing is done not only when the WiFi/WiFi-Calling is OFF but also in the scenarios where the WiFi/WiFi calling is Off/ ON. The caching of the IP addresses at the user device is to make sure that user device will not hit a DNS server (by transmitting a fresh DNS query to the DNS server) until and unless an IPsec tunnel establishment is failed with the ePDG server. More particularly, once the plurality of most proximal ePDG servers are determined by the processing unit [1004], the smart ePDG discovery optimizer module [1006] then selects one or more most proximal ePDG servers to get an IP address from the DNS lookup table for each of the most proximal ePDG server as the ePDG server IP addresses are locally maintained at user device in the DNS lookup table.
Also, the smart ePDG discovery optimizer module [1006] is further configured to generate, one of a positive response and a negative response based on the identification of the IP address corresponding to each of the most proximal ePDG server. The positive response indicates a successful identification of at least one IP address corresponding to at least one determined most proximal ePDG server from the DNS lookup table. The negative response indicates an unsuccessful identification of the at least one IP address corresponding to the at least one determined most proximal ePDG server from the DNS lookup table.
Further, the transceiver unit [1002] is configured to establish a connection between the user device and an ePDG server from the plurality of most proximal ePDG servers based on the positive response. More specifically, the transceiver unit [1002] is configured to establish the connection between the user device and the ePDG server from the plurality of most proximal ePDG servers in an event of successful identification of the at least one IP address corresponding to the at least one determined most proximal ePDG server from the DNS lookup table. Further, once the connection between the user device and the ePDG server is established, the transceiver unit [1002] is thereafter configured to create, an IPsec tunnel between the user device and the ePDG server based on such connection between the user device and the ePDG server.
Also, in an event of an unsuccessful identification of the at least one IP address corresponding to the at least one determined most proximal ePDG server from the DNS lookup table, the smart ePDG discovery optimizer module [1006] is further configured to perform, a DNS resolution (by transmitting a fresh DNS query to the DNS server) to receive from a DNS server a plurality of IP addresses corresponding to a plurality of ePDG servers. Therefore, the smart ePDG discovery optimizer module [1006] is configured to perform, a DNS resolution to receive from a DNS server a plurality of IP addresses corresponding to a plurality of ePDG servers based on the negative response. Furthermore, the smart ePDG discovery optimizer module [1006] is also configured to update, at least one of the DNS
lookup table and the distance matrix PLMN based at least on the received plurality of IP addresses corresponding to the plurality of ePDG servers.
Furthermore, in an instance based on the implementation of the features of the present invention, the nearest/ most proximal ePDG servers may be discovered as follows:
IN: Currently latched PLMN: CPLMN, Local cached DNS server IP table: CDNSLookUpTable, Distance matrix PLMN: DMPLMN OUT: DNS resolution result: result
The following steps are executed to discover the nearest ePDG.
1. Retrieve, via the processing unit [1004], proximal ePDG server details: PePDGServers from DMPLMN based on CPLMN.
2. Query via the smart ePDG discovery optimizer module [1006], CDNSLookUpTable for PePDGServers.
3. If entry found in CDNSLookUpTable, send the response via the smart ePDG discovery optimizer module [1006] to the transceiver unit [1002] to establish a connection between the user device and an ePDG server.
4. Else perform via the smart ePDG discovery optimizer module [1006], a DNS resolution, update DMPLMN and CDNSLookUpTable and return result.
Further, an exemplary structure of the DMPLMN is provided as below in the Table 1:
Structure of DMPLMN
CPLMN Proximal ePDG server 1 Proximal ePDG server 1
405874 ePDGA ePDGB
405840 ePDGC ePDGD
405854 ePDGB ePDGC
405855 ePDGA ePDGC
Table 1: STRUCTURE OF DMPLMN
In the above provided table 1, the ePDGA, ePDGB, ePDGC, ePDGD. etc. are the ePDG servers for different locations such as for Mumbai, Nagpur etc.
Furthermore, in an implementation to add other operator ePDG details against their PLMN entry, the individual operator’s ePDG details are stored for their respective SIM/Operator. For instance, such storing is not cross connection based like for one operator storing other operator ePDG address. Each operator have different cache table, based on the user device side implementation.
Also, an exemplary structure of CDNSLookUpTable is provided as below in the Table 2:
Structure of CDNSLookUpTable:
PePDGServer Server IP address
ePDGA A.A.A.A
ePDGB B.B.B.B
ePDGC C.C.C.C
ePDGD D.D.D.D
…… ……
FIG. 2: STRUCTURE OF CDNSLookUpTable
In the above provided table 2, the A.A.A.A, B.B.B.B, C.C.C.C, D.D.D.D. etc. are the ePDG server IP address for corresponding ePDG servers for e.g. 49.44.57.160 etc.
Furthermore, the transceiver unit [1002] is also configured to receive from the DNS server, a signalling message indicating a change in one or more ePDG server details based on at least one of a user device initiated DNS query and a network condition. In an implementation, every time the user device sends same FQDN if
location is static and same IP address is resolved from the DNS server every time.
The FQDN never changes for changes in ePDG servers and the user device has to
frame the FQDN as per 3GPP spec (i.e.
epdg.epc.mnc.mcc.pub.3gppnetwork.org). Furthermore, the FQDN has to frame from the user device only when stored ePDG server IP address are not reachable. Also, if caching is done no need to frame the FQDN and the user device can directly send tunnel establishment request to ePDG server.
Also, the smart ePDG discovery optimizer module [1006] is further configured to update at least the DNS lookup table based on the signalling message. More specifically, in an event if there are any changes in ePDG server details, the transceiver unit [1002] in such events is configured to receive from the DNS server an information relating to said changes in ePDG server details in the signalling message. The said signalling message is received based on a DNS resolution/ DNS query initiated by the user device via the smart ePDG discovery optimizer module [1006] and/or said signalling message is received based on a proactive signalling via the DNS server of a network entity. In an implementation, the smart ePDG discovery optimizer module [1006] is configured to automatically update the local DNS cache/table based on a change in the IP address corresponding to each most proximal ePDG server, wherein said change in the IP address is initiated by the ePDG server. Further, the DNS server is also updated automatically based on said change in the IP address is initiated by the ePDG server. Furthermore, said automatic updation is achieved based on at least one of the individual operator and an OEM implementation.
Further referring to Figure 11, an exemplary diagram indicating a use case relating to a change in ePDG server information, in accordance with exemplary embodiments of the present invention is shown. The Figure 11 at [1102 A] indicates that a DNS server [1106] comprises at least one information relating to ePDG servers namely ePDG Server – 3, ePDG Server – 4 and ePDG Server – 5. Further, in an implementation, when the ePDG server-3 goes down, at [1102 B] it
is depicted that this information is propagated from the DNS server [1106] to the user device [1104] via the transceiver unit [1102]. On receiving said information, the smart ePDG discovery optimizer module [1006] is configured to update at the user device [1104], the DNS look-up table and ePDG server details that are maintained locally at the user device [1104]. Also, the Figure 11 only shows an exemplary scenario and the change in ePDG server information may also be propagated from the DNS server [1106] in many other scenarios such as when one or more new ePDG servers gets added up or any ePDG server IP address is changed, or routing is modified to achieve load balancing etc.
Referring to Fig. 12, an exemplary method flow diagram, depicting a method [1200], of smart evolved packet data gateway (ePDG) discovery, in accordance with exemplary embodiments of the present invention is shown. In an implementation the method is implemented at a user device to reduce the load caused by repeated ePDG FQDN queries on a DNS server in a heterogeneous wireless communication network. As shown in Fig. 12, the method begins at step [1202].
At step [1204], the method comprises transmitting, from a transceiver unit [1002] to a Wi-Fi access point (AP), a Wi-Fi connection request to establish a Wi-Fi connection between a user device and a Wi-Fi module.
Next, at step [1206], the method comprises receiving, at the transceiver unit [1002] from the Wi-Fi access point (AP), an IP address for a Wi-Fi interface based on the Wi-Fi connection. More specifically, once the Wi-Fi connection request is transmitted via the transceiver unit [1002] to the Wi-Fi access point (AP), based on said Wi-Fi connection request the method encompasses establishing a Wi-Fi connection between the user device/UE and the Wi-Fi and once the user device connects to the Wi-Fi, the method encompasses receiving from the Wi-Fi AP (Access Point) at the user device an IP address for Wi-Fi interface via the transceiver unit [1002].
Next, at step [1208], the method comprises determining, via a processing unit [1004], a plurality of most proximal evolved packet data gateway (ePDG) servers upon receipt of the IP address for the Wi-Fi interface. In an implementation the method may comprise determining via the processing unit [1004] two most proximal ePDG servers and in another implementation method may comprise determining via the processing unit [1004] more than two most proximal ePDG servers. The plurality of most proximal ePDG servers are determined based at least on a current latched Public Land Mobile Network (PLMN) of the user device and a distance matrix PLMN. In order to determine the most proximal ePDG servers the method firstly encompasses fetching via processing unit [1004], the current PLMN of the UE/user device. Further, based on the current PLMN, the method encompasses determining via processing unit [1004], the most proximally located ePDG servers. Furthermore, an exemplary selection of the two most proximal ePDG servers in accordance with exemplary embodiments of the present invention is illustrated in Figure 13. The Figure 13 at [1304] and [1306] depicts that two most proximal ePDG servers (ePDG Server – 1 and ePDG Server -2) are selected at a user device [1302] based at least on a current latched Public Land Mobile Network (PLMN) of the user device and a distance matrix PLMN. Also, the Figure 13 indicates that other remaining ePDG servers (ePDG Server – 3, ePDG Server – 4 and ePDG Server -5), being far, are not selected.
Next, at step [1210], the method comprises identifying, via a smart ePDG discovery optimizer module [1006] from a DNS lookup table, an IP address corresponding to each most proximal ePDG server from the plurality of most proximal ePDG servers, wherein the DNS lookup table is stored at the user device. The DNS lookup table comprises a plurality of ePDG server IP addresses maintained locally at the user device. The method encompasses caching via the smart ePDG discovery optimizer module [1006], a Fully Qualified Domain Name (FQDN) of each most proximal ePDG server from the plurality of most proximal ePDG servers to the IP address corresponding to said each most proximal ePDG server in a local DNS cache at the
user device. Further in an implementation said storing is done not only when the WiFi/WiFi-Calling is OFF but also in the scenarios where the WiFi/WiFi calling is Off/ ON. The caching of the IP addresses at the user device is to make sure that user device will not hit a DNS server (by transmitting a fresh DNS query to the DNS server) until and unless an IPsec tunnel establishment is failed with the ePDG server. More particularly, once the plurality of most proximal ePDG servers are determined the method encompasses selecting via the smart ePDG discovery optimizer module [1006], one or more most proximal ePDG servers to get an IP address from the DNS lookup table for each of the most proximal ePDG server as the ePDG server IP addresses are locally maintained at user device in the DNS lookup table.
Next, at step [1212], the method comprises generating, via the smart ePDG discovery optimizer module [1006], one of a positive response and a negative response based on the identification of the IP address. The positive response indicates a successful identification of at least one IP address corresponding to at least one determined most proximal ePDG server from the DNS lookup table. The negative response indicates an unsuccessful identification of the at least one IP address corresponding to the at least one determined most proximal ePDG server from the DNS lookup table.
Next, at step [1214], the method comprises establishing via the transceiver unit [1002], a connection between the user device and an ePDG server from the plurality of most proximal ePDG servers based on the positive response. More specifically, the method comprises establishing via the transceiver unit [1002], a connection between the user device and an ePDG server from the plurality of most proximal ePDG servers in an event of successful identification of the at least one IP address corresponding to the at least one determined most proximal ePDG server from the DNS lookup table. Furthermore, the connection between the user device and an ePDG server from the plurality of most proximal ePDG servers is based on an identified IP address of the ePDG server.
Further, once the connection between the user device and the ePDG server is established, the method comprises creating, via the transceiver unit [1002], an IPsec tunnel between the user device and the ePDG server based on the connection between the user device and the ePDG server. The IPsec tunnel provides a security for the untrusted Wi-Fi access.
Also, the method further comprises performing via the smart ePDG discovery optimizer module [1006], a DNS resolution to receive from a DNS server a plurality of IP addresses corresponding to a plurality of ePDG servers based on the negative response. More particularly, the the method comprises performing via the smart ePDG discovery optimizer module [1006], the DNS resolution based on the unsuccessful identification of the at least one IP address corresponding to the at least one determined most proximal ePDG server from the DNS lookup table. Thereafter the method encompasses updating via the smart ePDG discovery optimizer module [1006], at least one of the DNS lookup table and the distance matrix PLMN based at least on the received plurality of IP addresses corresponding to the plurality of ePDG servers.
Furthermore, the method also encompasses receiving at the transceiver unit [1002] from the DNS server, a signalling message indicating a change in one or more ePDG server details based on at least one of a user device initiated DNS query and a network condition. In an implementation, every time the user device sends same FQDN if location is static and same IP address is resolved from the DNS server every time. The FQDN never changes for changes in ePDG servers and the user device has to frame the FQDN as per 3GPP spec (i.e. epdg.epc.mnc.mcc.pub.3gppnetwork.org). Furthermore, the FQDN has to frame from the user device only when stored ePDG server IP address are not reachable. Also, if caching is done no need to frame the FQDN and the user device can directly send tunnel establishment request to ePDG server.
The method thereafter comprises updating via the smart ePDG discovery optimizer module [1006], at least the DNS lookup table based on the signalling message. More specifically, in an event if there are any changes in ePDG server details, the method in such events comprises receiving at user device from the DNS server, via the transceiver unit [1002], an information relating to said changes in ePDG server details in the signalling message. The said signalling message is received based on a DNS resolution/ fresh DNS query initiated by the user device via the smart ePDG discovery optimizer module [1006] and/or said signalling message is received based on a proactive signalling via the DNS server of a network entity. In an implementation, the method encompasses automatically updating via the smart ePDG discovery optimizer module [1006], the local DNS cache/table based on a change in the IP address corresponding to each most proximal ePDG server, wherein said change in the IP address is initiated by the ePDG server. Further, the DNS server is also updated automatically based on said change in the IP address is initiated by the ePDG server. Furthermore, said automatic updation is achieved based on at least one of the individual operator and an OEM implementation.
Thereafter, the method terminates at step [1216].
Referring to Figure 14, an exemplary flow diagram, depicting an instance implementation of the process of IPsec tunnel creation, in accordance with exemplary embodiments of the present disclosure is shown.
At step 1 the Figure 14 indicates that a user equipment (UE) [1402] transmits a Wi-Fi connection request to a Wi-Fi access point (AP) [1404]. The user equipment (UE) [1402] comprises of the system [1000] to implement the features of the present invention.
Thereafter, at step 2 it is indicated that the user equipment (UE) [1402] receives an IP address allocation from the Wi-Fi access point (AP) [1404]. More specifically,
once the UE [1402] is connected to a Wi-Fi module based on the Wi-Fi connection request, the IP address allocation for a Wi-Fi interface is received at the UE [1402] from the Wi-Fi AP [1404].
Further step 3 indicates that after receiving the Wi-Fi IP address, the UE [1402] determines two most proximal ePDG servers based at least on a current latched Public Land Mobile Network (PLMN) of the UE and a distance matrix PLMN. Also the UE [1402] thereafter obtains an ePDG server IP address corresponding to each of the two most proximal ePDG servers from DNS lookup table stored at the UE [1402].
Thereafter, step 4 indicates that an IPsec tunnel is created between the UE [1404] and an ePDG server [1408]. The IPsec tunnel is created based on a connection established between the UE [1404] and the ePDG server [1408], wherein the connection is established based on the ePDG server IP address obtained from DNS lookup table.
Referring to Figure 15, an exemplary flow diagram, depicting an instance implementation of the process of updating ePDG server details, in accordance with exemplary embodiments of the present disclosure is shown.
At step 1 the Figure 15 indicates the IPsec tunnel established between the UE [1402] and the ePDG server [1408].
Thereafter, at step 2 it is indicated that the ePDG server [1408] provides an information relating to a change in ePDG server details to the DNS server [1406]. More particularly, whenever there is any change in ePDG server details, this information is passed on to the DNS server [1406] from the ePDG server [1408].
Thereafter at step 3 the DNS server [1406] signals change in the ePDG details to UE [1402] by sending required signalling message to the UE [1402]. Also, in an
implementation the DNS Server [1406] signals change in DNS lookup mechanism whenever:
• New ePDG server is added.
• Existing ePDG server is not functioning/down for maintenance.
• Change in existing ePDG server IP.
• Load balancing changes for existing server
Further at step 4 it is indicated that the UE [1402] updates the ePDG server details in the DNS look up table stored at the UE [1402].
Thus, the present invention provides a novel solution of smart evolved packet data gateway (ePDG) discovery to reduce the load on DNS server caused by repeated ePDG FQDN queries as UEs keep performing ePDG discovery for even trivial changes such as toggling Wi-Fi setting, Wi-Fi calling setting, frequent handovers etc. Also, the present disclosure reduces the load that can impact the server response time resulting in poor user experience for browsing, longer setup time for ePDG discovery in a cost-effective manner with the existing deployed EPC Network to cater the huge Wi-Fi traffic in heterogeneous network.
While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the invention. These and other changes in the preferred embodiments of the invention will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter to be implemented merely as illustrative of the invention and not as a limitation.
We claim:
1. A method of smart evolved packet data gateway (ePDG) discovery, the
method comprises:
- transmitting, from a transceiver unit [1002] to a Wi-Fi access point (AP), a Wi-Fi connection request to establish a Wi-Fi connection between a user device and a Wi-Fi module;
- receiving, at the transceiver unit [1002] from the Wi-Fi access point (AP), an IP address for a Wi-Fi interface based on the Wi-Fi connection;
- determining, via a processing unit [1004], a plurality of most proximal evolved packet data gateway (ePDG) servers upon receipt of the IP address for the Wi-Fi interface wherein the plurality of most proximal ePDG servers are determined based at least on a current latched Public Land Mobile Network (PLMN) of the user device and a distance matrix PLMN;
- identifying, via a smart ePDG discovery optimizer module [1006] from a DNS lookup table, an IP address corresponding to each most proximal ePDG server from the plurality of most proximal ePDG servers, wherein the DNS lookup table is stored at the user device;
- generating, via the smart ePDG discovery optimizer module [1006], one of a positive response and a negative response based on the identification of the IP address; and
- establishing via the transceiver unit [1002], a connection between the user device and an ePDG server from the plurality of most proximal ePDG servers based on the positive response.
2. The method as claimed in claim 1, the method further comprises creating, via the transceiver unit [1002], an IPsec tunnel between the user device and the ePDG server based on the connection between the user device and the ePDG server.
3. The method as claimed in claim 1, wherein the positive response indicates a successful identification of at least one IP address corresponding to at
least one determined most proximal ePDG server from the DNS lookup table.
4. The method as claimed in claim 1, wherein the negative response indicates an unsuccessful identification of the at least one IP address corresponding to the at least one determined most proximal ePDG server from the DNS lookup table.
5. The method as claimed in claim 1, wherein the DNS lookup table comprises a plurality of ePDG server IP addresses maintained locally at the user device.
6. The method as claimed in claim 1, the method further comprises:
- performing via the smart ePDG discovery optimizer module [1006], a DNS resolution to receive from a DNS server a plurality of IP addresses corresponding to a plurality of ePDG servers based on the negative response; and
- updating via the smart ePDG discovery optimizer module [1006], at least one of the DNS lookup table and the distance matrix PLMN based at least on the received plurality of IP addresses corresponding to the plurality of ePDG servers.
7. The method as claimed in claim 1, the method further comprises:
- receiving at the transceiver unit [1002] from the DNS server, a signalling message indicating a change in one or more ePDG server details based on at least one of a user device initiated DNS query and a network condition; and
- updating via the smart ePDG discovery optimizer module [1006], at least the DNS lookup table based on the signalling message.
8. A system of smart evolved packet data gateway (ePDG) discovery, the
system comprises:
- a transceiver unit [1002], configured to:
transmit to a Wi-Fi access point (AP), a Wi-Fi connection request to establish a Wi-Fi connection between a user device and a Wi-Fi module, and
receive, from the Wi-Fi access point (AP), an IP address for a Wi-Fi interface based on the Wi-Fi connection;
- a processing unit [1004], configured to determine a plurality of most proximal evolved packet data gateway (ePDG) servers upon receipt of the IP address for the Wi-Fi interface wherein the plurality of most proximal ePDG servers are determined based at least on a current latched Public Land Mobile Network (PLMN) of the user device and a distance matrix PLMN; and
- a smart ePDG discovery optimizer module [1006] configured to:
determine from a DNS lookup table, an IP address corresponding to each most proximal ePDG server from the plurality of most proximal ePDG servers, wherein the DNS lookup table is stored at the user device, and
generate, one of a positive response and a negative response based on the identification of the IP address, wherein
the transceiver unit [1002] is further configured to establish a connection between the user device and an ePDG server from the plurality of most proximal ePDG servers based on the positive response.
9. The system as claimed in claim 8, wherein the transceiver unit [1002] is further configured to create, an IPsec tunnel between the user device and the ePDG server based on the connection between the user device and the ePDG server.
10. The system as claimed in claim 8, wherein the positive response indicates a successful identification of at least one IP address corresponding to at least one determined most proximal ePDG server from the DNS lookup table.
11. The system as claimed in claim 8, wherein the negative response indicates an unsuccessful identification of the at least one IP address corresponding to the at least one determined most proximal ePDG server from the DNS lookup table.
12. The system as claimed in claim 8, wherein the DNS lookup table comprises a plurality of ePDG server IP addresses maintained locally at the user device.
13. The system as claimed in claim 8, wherein the smart ePDG discovery optimizer module [1006] is further configured to:
- perform, a DNS resolution to receive from a DNS server a plurality of IP addresses corresponding to a plurality of ePDG servers based on the negative response; and
- update, at least one of the DNS lookup table and the distance matrix PLMN based at least on the received plurality of IP addresses corresponding to the plurality of ePDG servers.
14. The system as claimed in claim 8, wherein the transceiver unit [1002] is further configured to receive from the DNS server, a signalling message indicating a change in one or more ePDG server details based on at least one of a user device initiated DNS query and a network condition.
15. The system as claimed in claim 14, wherein the smart ePDG discovery optimizer module [1006] is further configured to update at least the DNS lookup table based on the signalling message.
| # | Name | Date |
|---|---|---|
| 1 | 201921047830-STATEMENT OF UNDERTAKING (FORM 3) [22-11-2019(online)].pdf | 2019-11-22 |
| 2 | 201921047830-PROVISIONAL SPECIFICATION [22-11-2019(online)].pdf | 2019-11-22 |
| 3 | 201921047830-FORM 1 [22-11-2019(online)].pdf | 2019-11-22 |
| 4 | 201921047830-FIGURE OF ABSTRACT [22-11-2019(online)].pdf | 2019-11-22 |
| 5 | 201921047830-FORM-26 [04-02-2020(online)].pdf | 2020-02-04 |
| 6 | 201921047830-ORIGINAL UR 6(1A) FORM 26-140220.pdf | 2020-02-15 |
| 7 | 201921047830-Proof of Right [15-05-2020(online)].pdf | 2020-05-15 |
| 8 | 201921047830-FORM 18 [21-11-2020(online)].pdf | 2020-11-21 |
| 9 | 201921047830-ENDORSEMENT BY INVENTORS [21-11-2020(online)].pdf | 2020-11-21 |
| 10 | 201921047830-DRAWING [21-11-2020(online)].pdf | 2020-11-21 |
| 11 | 201921047830-COMPLETE SPECIFICATION [21-11-2020(online)].pdf | 2020-11-21 |
| 12 | Abstract1.jpg | 2021-10-19 |
| 13 | 201921047830-FER.pdf | 2022-01-25 |
| 14 | 201921047830-PA [26-02-2022(online)].pdf | 2022-02-26 |
| 15 | 201921047830-ASSIGNMENT DOCUMENTS [26-02-2022(online)].pdf | 2022-02-26 |
| 16 | 201921047830-8(i)-Substitution-Change Of Applicant - Form 6 [26-02-2022(online)].pdf | 2022-02-26 |
| 17 | 201921047830-Response to office action [05-04-2022(online)].pdf | 2022-04-05 |
| 18 | 201921047830-FER_SER_REPLY [22-07-2022(online)].pdf | 2022-07-22 |
| 18 | 201921047830-ENDORSEMENT BY INVENTORS [21-11-2020(online)].pdf | 2020-11-21 |
| 19 | 201921047830-ORIGINAL UR 6(1A) FORM 26-121022.pdf | 2022-10-26 |
| 19 | 201921047830-FORM 18 [21-11-2020(online)].pdf | 2020-11-21 |
| 20 | 201921047830-US(14)-HearingNotice-(HearingDate-27-08-2024).pdf | 2024-08-14 |
| 20 | 201921047830-Proof of Right [15-05-2020(online)].pdf | 2020-05-15 |
| 21 | 201921047830-ORIGINAL UR 6(1A) FORM 26-140220.pdf | 2020-02-15 |
| 21 | 201921047830-FORM-26 [21-08-2024(online)].pdf | 2024-08-21 |
| 22 | 201921047830-Correspondence to notify the Controller [21-08-2024(online)].pdf | 2024-08-21 |
| 23 | 201921047830-FORM-8 [23-08-2024(online)].pdf | 2024-08-23 |
| 24 | 201921047830-Written submissions and relevant documents [30-08-2024(online)].pdf | 2024-08-30 |
| 25 | 201921047830-PatentCertificate06-09-2024.pdf | 2024-09-06 |
| 26 | 201921047830-IntimationOfGrant06-09-2024.pdf | 2024-09-06 |
| 1 | SearchHistoryE_21-01-2022.pdf |