Enhanced Proximity Services Function to Improve Traffic Usage on a Preferred Network
Methods and systems for providing an enhanced proximity services. The method includes monitoring, by a proximity controller provisioned in a preferred network, dual subscriber identification module (SIM) dual subscriber (DSDS) devices operating in the preferred network, detecting, by the proximity controller, a DSDS device operating in a non-preferred network, wherein the DSDS devices and the DSDS device are configured to switchably operate in one of the preferred network or the non-preferred network based on coverage, locating, by the proximity controller, from the monitored DSDS devices a DSDS device proximate to the DSDS device operating in the non-preferred network, and enabling, by the proximity controller, the proximate DSDS device and the DSDS device operating in the non-preferred network to establish a sidelink communication channel between the proximate DSDS device and the DSDS device operating in the non-preferred network for offloading data communications from the non-preferred network to the preferred network.
Latest Charter Communications Operating, LLC Patents:
This application is a continuation of U.S. patent application Ser. No. 17/574,015, filed on Jan. 12, 2022, of which is incorporated herein by reference.
TECHNICAL FIELDThis disclosure relates to wireless communications. More specifically, this disclosure relates to managing traffic or data usage on a service provider controlled or owned network (a preferred network) versus non-preferred networks.
BACKGROUNDService providers offer users or customers dual subscriber identification module (SIM) dual subscriber (DSDS) devices, which can operate on a service provider network or a different network. Although this provides the customer with wider coverage, the service providers would like the DSDS devices to maximize operation on the service provider network as the service providers pay higher costs for data traffic on the different network. Proximity services (ProSe) functionality as described in the Third Generation Partnership Technical Specification Section 23.303 (see https://www.etsi.org/deliver/etsi_ts/123300_123399/123303/15.01.00_60/ts_123303v150100p.pd f) (3GPP TS 23.303) enable a first mobile device which is out of coverage from a network to establish a sidelink connection with a second mobile device which is in coverage of the network. The second mobile device acts as a relay hop which enables the first mobile device to access the network. However, there is no mechanism for a first DSDS device which is in coverage on the different network to direct traffic to the service provider traffic via a second DSDS device that is in coverage of the service provider network since the first DSDS device is not out of coverage of a network as required by the currently above-noted ProSe functionality.
SUMMARYDisclosed herein are methods and systems for providing an enhanced proximity services function to improve traffic usage on a preferred network.
In some implementations, the method includes monitoring, by a proximity services controller provisioned in a preferred network, dual subscriber identification module (SIM) dual subscriber (DSDS) devices operating in the preferred network, detecting, by the proximity services controller, a DSDS device operating in a non-preferred network, wherein the DSDS devices and the DSDS device are configured to switchably operate in one of the preferred network or the non-preferred network based on coverage, locating, by the proximity services controller, from the monitored DSDS devices a DSDS device proximate to the DSDS device operating in the non-preferred network, and enabling, by the proximity services controller, the proximate DSDS device and the DSDS device operating in the non-preferred network to establish a sidelink communication channel between the proximate DSDS device and the DSDS device operating in the non-preferred network for offloading data communications from the non-preferred network to the preferred network.
The disclosure is best understood from the following detailed description when read in conjunction with the accompanying drawings. It is emphasized that, according to common practice, the various features of the drawings are not to scale. On the contrary, the dimensions of the various features are arbitrarily expanded or reduced for clarity.
Reference will now be made in greater detail to embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numerals will be used throughout the drawings and the description to refer to the same or like parts.
As used herein, the terminology “computer” or “computing device” includes any unit, or combination of units, capable of performing any method, or any portion or portions thereof, disclosed herein. For example, the “computer” or “computing device” may include at least one or more processor(s).
As used herein, the terminology “processor” indicates one or more processors, such as one or more special purpose processors, one or more digital signal processors, one or more microprocessors, one or more controllers, one or more microcontrollers, one or more application processors, one or more central processing units (CPU)s, one or more graphics processing units (GPU)s, one or more digital signal processors (DSP)s, one or more application specific integrated circuits (ASIC)s, one or more application specific standard products, one or more field programmable gate arrays, any other type or combination of integrated circuits, one or more state machines, or any combination thereof.
As used herein, the terminology “memory” indicates any computer-usable or computer-readable medium or device that can tangibly contain, store, communicate, or transport any signal or information that may be used by or in connection with any processor. For example, a memory may be one or more read-only memories (ROM), one or more random access memories (RAM), one or more registers, low power double data rate (LPDDR) memories, one or more cache memories, one or more semiconductor memory devices, one or more magnetic media, one or more optical media, one or more magneto-optical media, or any combination thereof.
As used herein, the terminology “instructions” may include directions or expressions for performing any method, or any portion or portions thereof, disclosed herein, and may be realized in hardware, software, or any combination thereof. For example, instructions may be implemented as information, such as a computer program, stored in memory that may be executed by a processor to perform any of the respective methods, algorithms, aspects, or combinations thereof, as described herein. Instructions, or a portion thereof, may be implemented as a special purpose processor, or circuitry, that may include specialized hardware for carrying out any of the methods, algorithms, aspects, or combinations thereof, as described herein. In some implementations, portions of the instructions may be distributed across multiple processors on a single device, on multiple devices, which may communicate directly or across a network such as a local area network, a wide area network, the Internet, or a combination thereof.
As used herein, the term “application” refers generally to a unit of executable software that implements or performs one or more functions, tasks or activities. For example, applications may perform one or more functions including, but not limited to, telephony, web browsers, e-commerce transactions, media players, travel scheduling and management, smart home management, entertainment, and the like. The unit of executable software generally runs in a predetermined environment and/or a processor.
As used herein, the terminology “determine” and “identify,” or any variations thereof includes selecting, ascertaining, computing, looking up, receiving, determining, establishing, obtaining, or otherwise identifying or determining in any manner whatsoever using one or more of the devices and methods are shown and described herein.
As used herein, the terminology “example,” “the embodiment,” “implementation,” “aspect,” “feature,” or “element” indicates serving as an example, instance, or illustration. Unless expressly indicated, any example, embodiment, implementation, aspect, feature, or element is independent of each other example, embodiment, implementation, aspect, feature, or element and may be used in combination with any other example, embodiment, implementation, aspect, feature, or element.
As used herein, the terminology “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is unless specified otherwise, or clear from context, “X includes A or B” is intended to indicate any of the natural inclusive permutations. That is if X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form.
Further, for simplicity of explanation, although the figures and descriptions herein may include sequences or series of steps or stages, elements of the methods disclosed herein may occur in various orders or concurrently. Additionally, elements of the methods disclosed herein may occur with other elements not explicitly presented and described herein. Furthermore, not all elements of the methods described herein may be required to implement a method in accordance with this disclosure. Although aspects, features, and elements are described herein in particular combinations, each aspect, feature, or element may be used independently or in various combinations with or without other aspects, features, and elements.
Further, the figures and descriptions provided herein may be simplified to illustrate aspects of the described embodiments that are relevant for a clear understanding of the herein disclosed processes, machines, manufactures, and/or compositions of matter, while eliminating for the purpose of clarity other aspects that may be found in typical similar devices, systems, compositions and methods. Those of ordinary skill may thus recognize that other elements and/or steps may be desirable or necessary to implement the devices, systems, compositions and methods described herein. However, because such elements and steps are well known in the art, and because they do not facilitate a better understanding of the disclosed embodiments, a discussion of such elements and steps may not be provided herein. However, the present disclosure is deemed to inherently include all such elements, variations, and modifications to the described aspects that would be known to those of ordinary skill in the pertinent art in light of the discussion herein.
Described herein are methods, devices, and systems for providing an enhanced ProSe function to improve traffic usage on a preferred network. The described methods enable ProSe functionality as a mechanism for data offload to a preferred network by a DSDS device still in wireless coverage but not using the preferred network by providing an alternate data path to the preferred network by using another DSDS device that is in the preferred network as a relay hop. This is achieved by providing or provisioning a ProSe functionality in the preferred network which treats DSDS devices outside of the preferred network wireless coverage as an out of wireless coverage device (referred to herein as enhanced or improved ProSe function or functionality). In these instances, the preferred network is a service provider network associated with a service provider providing a subscriber or user the DSDS device or providing wireless access via the DSDS device. The other network is a network employed (but not owned or controlled) by the service provider for use by service provider provided DSDS devices.
In some implementations, the enhanced ProSe function can broadcast ProSe function availability or sidelink capability messages. For example, this can be a System Information Block (SIB) 18 message. Based on detection of the broadcast ProSe function availability messages, service provider provided DSDS devices can register with the enhanced ProSe function and configure connectivity to perform as a relay hop (device proximity permitting) for other service provider provided DSDS devices which may be out of wireless coverage with respect to the preferred network but are in wireless coverage with respect to the other network.
In some implementations, the enhanced ProSe function in conjunction with connection managers on the DSDS devices can enable discovery on a first DSDS device when the enhanced ProSe function detects a second DSDS device out of wireless coverage with respect to the preferred network. When the second DSDS device detects the first DSDS device, the first DSDS device and the second DSDS device can establish a sidelink connection to enable the second DSDS device to use the first DSDS device as a relay hop to use the preferred network for data transmission. By using the sidelink connection based relay-hop functionality, preferred network data usage can be maximized. This saves costs for the service provider.
In some implementation, a preferred network can be a hybrid mobile network operator (HMNO) network deployed by a service provider to offload data traffic from a non-preferred network such as a multiple virtual network operator (MVNO) network, which the service provider deploys via other wireless providers. The HMNO is owned or controlled by the service provider. By employing the enhanced ProSe function in the HMNO, the service provider can increase MVNO data offload opportunities to the HMNO, resulting in MVNO cost savings.
The base stations 3110 and 3210 may be a node-B, an evolved node-B, an access point, an access node or like device which enables radio communications access between, for example, the DSDS device 3300 and other devices, or the DSDS device 3400 and other devices, respectively. Each base station base station 3110 and 3210 can have sectors which provide wireless communications coverage.
The DSDS device 3300 and the DSDS device 3400 can be, but is not limited to, end user devices, cellular telephones, Internet Protocol (IP) devices, mobile computers, laptops, handheld computers, personal media devices, smartphones, notebooks, notepads, and the like which may include two (2) SIMs and at least one radio. One SIM of each of the DSDS device 3300 and the DSDS device 3400 can be provisioned for operation with the first network 3100 and the other SIM can be provisioned for operation with the second network 3200. Each of the DSDS device 3300 and the DSDS device 3400 can include a connection manager to control and switch between SIMS and radio configurations to enable access and configure communication or data pathways with respect to the first network 3100 and the second network 3200 as described herein. The connection manager can be implemented as a combination of software and firmware on the DSDS device 3300 and the DSDS device 3400.
The core network 3120 can include, but is not limited to, components directed to connectivity, mobility management, authentication and authorization, subscriber data management, policy management, and like functionality. The core network 3120 can include, but is not limited to, a server 3122 which enables, provides, or provisions an enhanced ProSe function or application controller or manager 3124 for the first network 3100. The enhanced ProSe function controller 3124 can provide or enable data or traffic offloading to the first network 3100 from the second network 3200 if a DSDS device is in the second network 3200 and there is another DSDS device in the first network 3100 which is proximate to the DSDS device in the second network 3200 as described herein. The enhanced ProSe function controller 3124 processing can result in a sidelink path established between the two DSDS devices (via D2D communications) to offload or direct traffic or data over the first network 3100.
The method 9000 includes monitoring 9100 DSDS devices on a preferred network. A service provider provides DSDS devices which can operate on two networks, a preferred network and a non-preferred network. For example, the preferred network can be a network owned or controlled by the service provider. For example, the non-preferred network is infrastructure of another provider, which the service provider is paying to use. The service provider provisions an enhanced ProSe function onto the preferred network to enable offloading traffic as described herein. The enhanced ProSe function signals availability of the proximity services or offloading capability to DSDS devices provided by the service provider. DSDS devices detecting the enhanced ProSe function signals can register with the enhanced ProSe function to perform or act as a relay hop when appropriate. The enhanced ProSe function can monitor the location of DSDS devices operating on the preferred network. In some implementations, the locations can be stored and updated on a defined basis.
The method 9000 includes determining 9200 whether DSDS devices are on a non-preferred network. The enhanced ProSe function can detect for the presence of DSDS devices operating on the non-preferred network.
The method 9000 includes determining 9300 whether a DSDS device on the preferred network is proximate to the detected DSDS device on the non-preferred network. Upon detection of a DSDS device operating on the non-preferred network, the enhanced ProSe function can determine if there is a DSDS device operating on the preferred network that is proximate to the location of the DSDS device operating on the non-preferred network. The enhanced ProSe function can continue to look for such a DSDS device until successfully detected or offload opportunity is no longer available.
The method 9000 includes enabling 9400 discovery on the proximate DSDS device on the preferred network. The enhanced ProSe function can enable discovery on the DSDS device on the preferred network upon successful detection of the DSDS device on the preferred network that is proximate to the DSDS device operating on the non-preferred network.
The method 9000 includes enabling 9500 discovery on the detected DSDS device on the non-preferred network. The enhanced ProSe function can enable discovery on the DSDS device on the non-preferred network upon successful detection of a DSDS device on the preferred network that is proximate to the DSDS device operating on the non-preferred network.
The method 9000 includes determining 9600 whether offload connection is successful. The DSDS device on the preferred network can transmit control signals, synchronization signals, or D2D communication signals to the DSDS device operating on the non-preferred network. Upon detection by the DSDS device operating on the non-preferred network, the DSDS device operating on the non-preferred network and the DSDS device on the preferred network can establish a sidelink communication channel. If sidelink communication channel cannot be successfully established, the enhanced ProSe function can determine if there is another proximate DSDS device on the preferred network.
The method 9000 includes offloading 9700 data communications for the detected DSDS device on the non-preferred network to the preferred network via the proximate DSDS device on the preferred network. Upon successful establishment of the sidelink communication channel, the proximate DSDS device on the preferred network can receive traffic from the DSDS device on the non-preferred network over the sidelink communication channel and act as a relay hop to offload or transmit the traffic over the preferred network.
The method 10000 includes monitoring 10100 DSDS devices operating in the preferred network. A proximity services controller provisioned in a preferred network monitors DSDS devices operating in the preferred network. The DSDS devices provided by a service provider. The DSDS devices are configured to operate in the preferred network or in a non-preferred network depending on coverage availability.
The method 10000 includes detecting 10200 a DSDS device operating in a non-preferred network. The proximity services controller can detect DSDS device(s) operating in the non-preferred network. These detected DSDS devices present offload opportunities.
The method 10000 includes locating 10300 from the monitored DSDS devices a DSDS device proximate to the DSDS device operating in the non-preferred network. The proximity services controller determines whether a DSDS device operating in the preferred network is proximate to the DSDS device operating in the non-preferred network.
The method 10000 includes enabling 10400 the proximate DSDS device and the DSDS device operating in the non-preferred network to establish a sidelink communication channel between the proximate DSDS device and the DSDS device operating in the non-preferred network for offloading data communications from the non-preferred network to the preferred network. The proximity services controller enables discovery in the proximate DSDS device and the DSDS device operating in the non-preferred network. The proximate DSDS device can transmit synchronization signals for detection by the DSDS device operating in the non-preferred network. Upon successful detection, the DSDS device operating in the non-preferred network and the proximate DSDS device establish the sidelink channel.
Although some embodiments herein refer to methods, it will be appreciated by one skilled in the art that they may also be embodied as a system or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “processor,” “device,” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more the computer readable mediums having the computer readable program code embodied thereon. Any combination of one or more computer readable mediums may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electromagnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to CDs, DVDs, wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions.
These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures.
While the disclosure has been described in connection with certain embodiments, it is to be understood that the disclosure is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications, combinations, and equivalent arrangements included within the scope of the appended claims, which scope is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures as is permitted under the law.
Claims
1. A method for traffic offloading, the method comprising:
- detecting, by a proximity services controller provisioned in a preferred network, a dual subscriber identification module (SIM) dual subscriber (DSDS) device operating in a non-preferred network;
- locating, by the proximity services controller, from a plurality of monitored DSDS devices, a DSDS device proximate to the DSDS device operating in the non-preferred network; and
- enabling, by the proximity services controller, establishment of a sidelink communication between the proximate DSDS device and the DSDS device operating in the non-preferred network for offloading data communications from the non-preferred network to a preferred network.
2. The method of claim 1, wherein the plurality of monitored DSDS devices operate in the preferred network.
3. The method of claim 1, the plurality of monitored DSDS devices and the DSDS device operating in the non-preferred network are configured to switchably operate in one of the preferred network or the non-preferred network based on coverage.
4. The method of claim 1, the method further comprising:
- enabling, by the proximity services controller, discovery on the proximate DSDS device.
5. The method of claim 1, the method further comprising:
- enabling, by the proximity services controller, discovery on the DSDS device operating in the non-preferred network.
6. The method of claim 1, the method further comprising:
- enabling, by the proximity services controller, the proximate DSDS device to send control signals for detection by the DSDS device operating in the non-preferred network. cm 7. The method of claim 6, wherein the control signals are synchronization signals.
8. The method of claim 1, the method further comprising:
- transmitting, by the proximity services controller, proximity service availability signals to service provider provided DSDS devices.
9. The method of claim 8, the method further comprising:
- registering, by the proximity services controller, the service provider provided DSDS devices requesting registration as relay hop devices.
10. The method of claim 9, wherein the registered service provider provided DSDS devices include the proximate DSDS device and the plurality of monitored DSDS devices.
11. A service provider network, comprising:
- service provider provided dual subscriber identification module (SIM) dual subscriber (DSDS) devices configured to operate in a service provider owned or controlled network;
- a proximity service controller located and configured to operate in the service provider owned or controlled network, the proximity service controller configured to: determine whether there is a service provider provided DSDS device from the service provider provided DSDS devices operating in the service provider owned or controlled network proximate to a DSDS device operating outside of the service provider owned or controlled network; and
- enable the proximate service provider provided DSDS device to be a relay hop for the DSDS device operating outside of the service provider owned or controlled network to offload traffic to the service provider owned or controlled network.
12. The service provider network of claim 11, the proximity service controller configured to:
- initiate discovery on the proximate service provider provided DSDS.
13. The service provider network of claim 11, the proximity service controller configured to:
- initiate discovery on the DSDS device operating outside of the service provider owned or controlled network.
14. The service provider network of claim 11, the proximity service controller configured to:
- permit the proximate service provider provided DSDS device to send device-to-device control signals for detection by the DSDS device operating outside of the service provider owned or controlled network.
15. The service provider network of claim 14, wherein the device-to-device control signals are synchronization signals.
16. The service provider network of claim 11, the proximity service controller configured to:
- register the service provider provided DSDS devices requesting registration as relay hop devices.
17. A method for offloading data communications, the method comprising:
- determining, by a proximity manager, whether there is a dual subscriber identification module (SIM) dual subscriber (DSDS) operating in a service provider owned network proximate to a DSDS device operating in a paying-for-use network; and
- enabling, by a proximity manager, the DSDS device operating in the service provider owned network to be a relay hop for the DSDS device operating in the paying-for-use network to offload data communications to the service provider owned network.
18. The method of claim 17, the method further comprising:
- enabling, by the proximity manager, discovery on the DSDS device operating in the service provider owned network; and
- enabling, by the proximity manager, discovery on the DSDS operating in the paying-for-use network.
19. The method of claim 17, the method further comprising:
- enabling, by the proximity manager, the DSDS device operating in the service provider owned network to send synchronization signals for detection by the DSDS device operating in the paying-for-use network.
20. The method of claim 17, the method further comprising:
- registering, by the proximity manager, DSDS devices requesting registration as relay hop devices, the DSDS devices including at least the DSDS device operating in the service provider owned network.
Type: Application
Filed: Oct 16, 2023
Publication Date: Feb 1, 2024
Applicant: Charter Communications Operating, LLC (St. Louis, MO)
Inventor: Lakhbir Singh (Aurora, CO)
Application Number: 18/487,242