MOBILE DEVICE CORRELATION BETWEEN DIFFERENT SERVICE PROVIDER SYSTEM SERVICES
20260025467 ยท 2026-01-22
Assignee
Inventors
Cpc classification
H04W8/18
ELECTRICITY
International classification
H04M15/00
ELECTRICITY
Abstract
Methods and systems for correlating a mobile device with respect to wireless communications services provided by a service provider. A method includes triggering a correlation engine when a mobile device connected to an access device has mobile services capability, comparing access device and mobile services based customer identifiers, comparing access device and mobility services based characteristics when the customer identifiers match, marking in a fidelity matrix that the mobile device is a potential service provider provided mobile device if the mobile device foregoes use of mobile services for data usage when the characteristics match and an average connection time with the access device exceeds or meets a threshold, and verifying that the mobile device is a service provider provided mobile device when a fidelity score level in the fidelity matrix meets or exceeds a defined fidelity threshold, wherein the fidelity score level is based on data usage patterns.
Claims
1. A method for correlation of mobile devices with respect to wireless communications services provided by a service provider, the method comprising: determining, by a device correlation engine in a service provider system, whether a customer identifier associated with an access device to which a mobile device is connected matches a customer identifier for the mobile device obtained from a mobile services back office system of a service provider, wherein the access device provides local services and is a service provider device; determining, by the device correlation engine, whether characteristics of the mobile device obtained by a local services back office system of the service provider matches characteristics of the mobile device maintained by the mobile services back office system when the customer identifier associated with the access device matches the customer identifier for the mobile device obtained from the mobile services back office system; determining, by the device correlation engine, an average connection time for the mobile device with the access device across a defined period of time when the characteristics of the mobile device obtained by the local services back office system matches the characteristics of the mobile device maintained by the mobile services back office system; marking, by the device correlation engine, the mobile device as a potential service provider provided mobile device in a fidelity matrix if the mobile device foregoes use of mobile services for data usage when the average connection meets or exceeds a defined threshold; and confirming, by the device correlation engine, that the mobile device is a service provider provided mobile device when a fidelity score level in the fidelity matrix meets or exceeds a defined fidelity threshold, wherein the fidelity score level is based on data usage patterns for the mobility device when connected to the access device.
2. The method of claim 1, further comprising: triggering, by the local services back office system the device correlation engine, when the mobile device is a mobile device with mobile services capability.
3. The method of claim 2, further comprising: determining, by the local services back office system, whether the mobile device is a mobile device with mobile services capability.
4. The method of claim 2, further comprising: receiving, by the local services back office system from the access device, mobile device information to determine the mobile services capability.
5. The method of claim 1, wherein the customer identifier associated with the access device is determined and maintained by the local services back office system.
6. The method of claim 1, further comprising: determining, by the local services back office system, the customer identifier in the local services back office system based on an access device identifier received from the access device.
7. The method of claim 1, further comprising: receiving, by the local services back office system from the access device, the characteristics of the mobile device as maintained by the local services back office system.
8. A service provider system, comprising: a mobile services back office system configured to perform an activation process for a mobile device; and a local services back office system including a correlation engine, wherein the correlation engine is configured to: compare a customer identifier for the mobile device based on an access point identifier to a customer identifier for the mobile device obtained from the mobile services back office system when the mobile device is connected to an access point associated with the access point identifier; compare characteristics of the mobile device obtained from the access point with characteristics of the mobile device maintained by the mobile services back office system when the customer identifier based on the access device identifier matches the customer identifier obtained from the mobile services back office system; identify the mobile device as a potential service provider provided mobile device in a fidelity matrix if the mobile device foregoes use of mobile services for data usage when the characteristics of the mobile device obtained from the access point substantially matches the characteristics of the mobile device maintained by the mobile services back office system and an average connection time with the access device exceeds or meets a threshold; and verify that the mobile device is a service provider provided mobile device when a fidelity score level in the fidelity matrix meets or exceeds a defined fidelity threshold, wherein the fidelity score level is based on data usage patterns for the mobility device when connected to the access device.
9. The system of claim 8, wherein the correlation engine is further configured to: determine the average connection time for the mobile device with the access device across a defined period of time.
10. The system of claim 8, wherein the correlation engine is further configured to: establish the data usage patterns for the mobile device using machine learning techniques.
11. The system of claim 8, wherein the local services back office system is configured to: trigger the correlation engine when the mobile device is a mobile device with mobile services capability.
12. The system of claim 11, wherein the local services back office system is further configured to: determine the mobile services capability from mobile device information received from the access point.
13. The system of claim 8, wherein the fidelity matrix includes multiple fidelity score levels and the correlation engine is further configured to: proceed from one fidelity score level to a next fidelity score level when the data usage patterns for the mobility device at the one fidelity score level exceeds or meets a defined threshold.
14. A method, comprising: triggering a device correlation engine when a mobile device connected to an access device has mobile services capability; comparing, by the device correlation engine for the mobile device, an access device based customer identifier with a mobile services based customer identifier; comparing, by the device correlation engine for the mobile device, access device based characteristics with mobile services based characteristics when a match occurs between the access device based customer identifier and the mobile services based customer; marking in a fidelity matrix that the mobile device is a potential service provider provided mobile device if the mobile device foregoes use of mobile services for data usage when a match occurs between the access device based characteristics and the mobile services based characteristics and an average connection time with the access device exceeds or meets a threshold; and verifying that the mobile device is a service provider provided mobile device when a fidelity score level in the fidelity matrix meets or exceeds a defined fidelity threshold, wherein the fidelity score level is based on data usage patterns for the mobility device when connected to the access device.
15. The method of claim 14, further comprising: determining the average connection time for the mobile device with the access device across a defined period of time.
16. The method of claim 14, further comprising: establishing the data usage patterns for the mobile device using machine learning techniques.
17. The method of claim 14, further comprising: determining the mobile services capability from mobile device information received from an access device.
18. The method of claim 14, further comprising: proceeding from one fidelity score level to a next fidelity score level when the data usage patterns for the mobility device at the one fidelity score level exceeds or meets a defined threshold.
19. The method of claim 14, wherein the access device based customer identifier and the access device based characteristics are determined from information provided the access device.
20. The method of claim 19, wherein the mobile services based customer identifier and the mobile services based characteristics are determined from information provided a mobile services back office system.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] 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.
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
DETAILED DESCRIPTION
[0016] Reference will now be made in greater detail to embodiments, 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.
[0017] As used herein, the terminology server, computer, computing device or platform, or cloud computing system includes any unit, or combination of units, capable of performing any method, or any portion or portions thereof, disclosed herein. For example, the server, computer, computing device or platform, or cloud computing system may include at least one or more processor(s).
[0018] As used herein, the terminology processor or processing circuitry 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.
[0019] As used herein, the term engine may include software, hardware, or a combination of software and hardware. An engine may be implemented using software stored in the memory subsystem. Alternatively, an engine may be hard-wired into processing circuitry. In some cases, an engine includes a combination of software stored in the memory and hardware that is hard-wired into the processing circuitry.
[0020] 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.
[0021] As used herein, the term memory includes one or more memories, where each memory may be a computer-readable medium. A memory may encompass memory hardware units (e.g., a hard drive or a disk) that store data or instructions in software form. Alternatively or in addition, the memory may include data or instructions that are hard-wired into processing circuitry. The memory may include a single memory unit or multiple joint or disjoint memory units, which each of the multiple joint or disjoint memory units storing all or a portion of the data described as being stored in the memory.
[0022] 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. For example, the memory can be non-transitory. 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.
[0023] 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, scheduling, management, smart home management, entertainment, and the like. The unit of executable software generally runs in a predetermined environment and/or a processor.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] As used herein, unless explicitly stated otherwise, any term specified in the singular may include its plural version. For example, a computer that stores data and runs software, may include a single computer that stores data and runs software or two computers-a first computer that stores data and a second computer that runs software. Also a computer that stores data and runs software, may include multiple computers that together stored data and run software. At least one of the multiple computers stores data, and at least one of the multiple computers runs software.
[0028] 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 and claims. 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.
[0029] 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, and/or manufactures, while eliminating for the purpose of clarity other aspects that may be found in typical similar devices, systems, 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, and methods described herein. However, because such elements and steps 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.
[0030] Described herein is a system and method for correlation and management of mobile devices with respect to wireless communications services provided by a service provider. A service provider can provide local services via access points and mobile services via a MVNO network in connection with a MNO network. In the latter instance, the service provider pays fees when a mobile device uses the MNO network. In implementations, systems and methods described herein can identify and/or correlate a service provider provided mobile device with a service provider providing local services when the mobile device is connected to an access point provided by the service provider, thus enabling efficient and consistent traffic switching or data offloading from the mobile network, and provisioning of enhanced services, such as but not limited to, increased upload and download speeds, discounts, enhanced data packages, and/or combinations thereof.
[0031] In implementations, a customer can have local services with a service provider. The customer can then acquire a mobile device from the service provider. The service provider's mobile services back office can maintain a customer account with relevant information such as a customer identifier or identification, number of lines, and mobile device characteristics including mobile device identifier. The service provider's mobile services back office can notify a service provider's local services back office of the mobile device activation. The service provider's local services back office can correlate and validate the customer's local services account with the mobile services account using, for example, the customer identifier. The local services back office can trigger a machine learning process to watch for all new mobile device connection notifications to a customer's access point.
[0032] In implementations, the systems and methods described herein can use the machine learning engine or machine learning techniques to validate or confirm that the mobile device is in fact a service provider provided and/or MVNO mobile device of the customer by checking for connectivity and mobile network data usage patterns. In implementations, the machine learning engine can determine if the mobile device has a consistent connection pattern against the access device of the customer, e.g., whether the mobile device gets connected to the access point each day in a specific period. If so, the machine learning process can mark or tag the mobile device as a potential service provider provided or MVNO mobile device. A fidelity matrix can be maintained by the machine learning engine based on the learned connectivity and mobile network data usage patterns. If a fidelity matrix identification score meets or exceeds a defined threshold, then the mobile device can be marked as a service provider provided mobile device for the customer. In implementations, the fidelity matrix identification score can be based on, but not limited to, mobile network connection time, local wireless connection time, and presence on local wireless network, where one or more of the elements are evaluated over a defined period of time. In implementations, a confirmation message can be sent to the subscriber or customer of the mobile device to confirm and assign a device name that can be used for efficient future connections to the access point. The mobile device can be marked as a privileged mobile device upon receipt of a confirmation. Moreover, the privileged mobile device can be eligible for additional service features as described herein.
[0033]
[0034] The service provider system 1100 can include, but is not limited to, a mobile services and/or MVNO back office system 1110 (collectively mobile services back office system 1110) connected to the MVNO 1400 and the MNO 1500 to provide mobile services and connectivity, and a local services, Internet, high speed, and/or WiFi back office system 1120 (collectively local services back office system 1120) connected to the MVNO 1400 and the MNO 1500 to provide local services and connectivity. The service provider system 1100 is owned, operated, and controlled by a service provider.
[0035] The CMTS 1200 provides high speed data services, Internet, or Voice over Internet Protocol, to service provider subscribers and/or customers at the premises 1300 via the access device 1310. The service provider system 1100 is owned, operated, and controlled by the service provider.
[0036] The premises 1300 can be, but is not limited to, offices and/or residences.
[0037] The access device 1310 can be, but is not limited to, integrated modems, modems, gateways, routers, access points, and/or other devices that can provide the local services at the premises 1300. The service provider system 1100 is operated and controlled by the service provider. The service provider system 1100 can own the access device 1310.
[0038] The MVNO 1400 can be a system which provides the mobile services under the name of the service provider using the network of a licensed mobile operator such as the MNO 1500. The MVNO 1400 is owned, operated, and controlled by the service provider. The MVNO 1400 pays fees to the MNO 1500 to use the network of the MNO 1500,
[0039] The MNO 1500 can be a licensed mobile operator that provides mobile services to mobile device subscribers. The MNO 1500 is owned, operated, and controlled by the MNO.
[0040] The mobile device(s) 1600 can include, but is not limited to, mobile device(s), smartphone(s), and/or other devices which can provide and/or support access to the mobile services via the MVNO 1400 and the MNO 1500, and which can provide and/or support access to the local services via the CMTS 1200 and the access device 1310. In implementations, the mobile device(s) 1600 can be provided by the MVNO 1400 and/or the service provider.
[0041] The local services back office system 1120 can provide, manage, authenticate, and/or otherwise enable the providing of the local services to the customer at the premises 1300 via mobile device(s) when connected to the access device 1310. The local services back office system 1120 can maintain customer information in a table or other format as shown in
[0042] In an illustrative example, the customer A can buy the mobile device 1600 and mobile services from the service provider operating as the MVNO 1400. The mobile services back office system 1110 can provide, manage, authenticate, and/or otherwise enable the providing of the mobile services to the customer A via the mobile device 1600 when connected to the networks of the MNO 1500 via the MVNO 1400. The mobile services back office system 1110 can maintain customer information in a table or other format as shown in
[0043] Reference is now also made to
[0044] With regard to mobile device activation, the mobile services back office system 1110 can include, but is not limited to, a mobile activation engine 4200, a mobile notification engine 4300, a mobile account data store 4400, a mobile inventory data store 4500, and a core data store 4600. The mobile notification engine 4300 can include, but is not limited to, a mobile notification data engine 4310 and a mobile activation notification engine 4320. The mobile account data store 4400 can store customer account information such as, but not limited to, customer identifier, mobile account number, mobile service lines, and mobile device from the mobile activation engine 4200. This is, for example, the information shown in
[0045] The mobile notification engine 4300 can gather or obtain data from the mobile account data store 4400, the mobile inventory data store 4500, and the core data store 4600 to generate a data package with respect to the new mobile device and mobile services activation. The mobile activation notification engine 4320 can generate an activation notification including the data package. The mobile activation notification engine 4320 can publish the activation notification to a new mobile device activation topic 4710 on a local services kafka platform 4700 in the local services back office system 1120 and to a push notification engine 4800. A mobile device activation notification consumer 4810 can push a notification to the consumer 4000.
[0046] Reference is now also made to
[0047] The consumer 4000 can connect the mobile device 1600 with the access device 1310 via the device connection engine 5000 using known techniques and processes. The device identification engine 5100 and the device intelligence engine 5212 can capture packets (from traffic) from the mobile device 1600 at the control of the packet capture controller 5210. The device intelligence engine 5212 can determine a mobile device type, mobile device firmware, mobile device firmware version, and/or other information about the mobile device 1600 from the captured packets. The device intelligence engine 5212 can generate a data package which includes an identifier for the access device 1310, the mobile device type, the mobile device firmware, the mobile device firmware version, and/or other information about the mobile device 1600. The device intelligence engine 5212 can publish the data package on the new mobile device identification topic 5300 in the local services kafka platform 4700.
[0048] The connected device listener 5410 can listen for new publications on the new mobile device identification topic 5300 in the local services kafka platform 4700. For a new publication, the device type determination engine 5412 can determine if the data package represents a mobile device with mobile services capability. The device type determination engine 5412 can trigger the device correlation and/or machine learning engine 5500 to correlate and validate and/or confirm whether the mobile device 1600 is a service provider provided mobile device that is associated with the customer of the access device 1310 if the data package does represent a mobile device which has mobile services capability.
[0049] Reference is now also made to
[0050] At 6400, the device correlation and/or machine learning engine 5500 can validate the characteristics of the connected mobile device 1600 (i.e., as obtained by the local services back office system 1110 when the mobile device 1600 connected to the access device 1310) with the characteristics present in the new mobile device activation topic 4710 from the mobile services back office system 1110. At 6500, the device correlation and/or machine learning engine 5500 can determine if the two sets of characteristics match. At 6300, the method 6000 stops if the two sets of characteristics do not match. At 6600, the device correlation and/or machine learning engine 5500 can trigger a device watchdog application and/or system 6610. This a second level of correlation and/or validation.
[0051] Reference is now also made to
[0052] During the data scanning procedure 7350, at 7400, the device watchdog application and/or system 6610 can obtain the mobile device identifier for the mobile device 1600, e.g., the IMEI or the ICCID so that the device watchdog application and/or system 6610 can initiate data scanning. At 7500, each time the mobile device 1600 is connected to the access device 1310 and has data usage, the data scanning procedure 7350 can determine if the mobile device 1600 is using mobile services for data usage. At 7600, the mobile device 1600 is marked as a potential service provider device if mobile services are not being used as described herein with respect to
[0053] The data scanning procedure 7350 is the learning process for the device watchdog application and/or system 6610 and/or the device correlation and/or machine learning engine 5500. At 7700, the device watchdog application and/or system 6610 and/or the device correlation and/or machine learning engine 5500 can use the collected data to find or establish patterns and generate a fidelity matrix. Reference is now also made to
[0054] At 6700, the device correlation and/or machine learning engine 5500 can push a notification to the customer of the mobile device 1600 to confirm and provide a name for the mobile device 1600. The device correlation and/or machine learning engine 5500 can save the provided name in the access device customer data store for future connections by the mobile device 1600.
[0055]
[0056] The method 8000 includes: determining 8100 whether a customer identifier associated with an access device to which a mobile device is connected matches a customer identifier for the mobile device obtained from a mobile services back office system of a service provider, wherein the access device provides local services and is a service provider device; determining 8200 whether characteristics of the mobile device obtained by a local services back office system of the service provider when the mobile device connected to the access device matches characteristics of the mobile device maintained by the mobile services back office system of the service provider when the customer identifier associated with the access device matches the customer identifier for the mobile device obtained from the mobile services back office system; determining 8300 an average connection time for the mobile device with the access device across a defined period of time when the characteristics of the mobile device obtained by the local services back office system of the service provider matches the characteristics of the mobile device maintained by the mobile services back office system; marking 8400 the mobile device as a potential service provider provided mobile device if the mobile device foregoes use of mobile services for data usage when connected to the access device; and confirming 8500 that the mobile device is a service provider provided mobile device when a fidelity score level and/or fidelity identification score meets or exceeds a defined fidelity threshold, wherein the fidelity score level and/or fidelity identification score is based on connection time and/or data usage patterns for the mobility device when connected to the access device. The method 8000 can be implemented, for example, in or by components described with respect to
[0057] The method 8000 includes determining 8100 whether a customer identifier associated with an access device to which a mobile device is connected matches a customer identifier for the mobile device obtained from a mobile services back office system of a service provider, wherein the access device provides local services and is a service provider device. A local services back office system of the service provider maintains customer information and access device information for a customer as described herein. When the customer obtains and activates a mobile device which was obtained from the service provider, a mobile services back office system maintains customer information and mobile device information as described herein. When the mobile device is connected to the access device, the local services back office system can compare customer identifiers from local services back office system and the mobile services back office system for a match.
[0058] The method 8000 includes determining 8200 whether characteristics of the mobile device obtained by a local services back office system of the service provider when the mobile device connected to the access device matches characteristics of the mobile device maintained by the mobile services back office system of the service provider when the customer identifier associated with the access device matches the customer identifier for the mobile device obtained from the mobile services back office system. Each of the local services back office system and the mobile services back office system maintain some characteristics of the mobile device. These sets of characteristics are compared for consistency and validation.
[0059] The method 8000 includes determining 8300 an average connection time for the mobile device with the access device across a defined period of time when the characteristics of the mobile device obtained by the local services back office system of the service provider matches the characteristics of the mobile device maintained by the mobile services back office system. The local services back office system correlates mobile devices which appear on the access device on a regular basis. In these cases, a watchdog application is started to track data usage.
[0060] The method 8000 includes marking 8400 the mobile device as a potential service provider provided mobile device if the mobile device foregoes use of mobile services for data usage when connected to the access device. If the mobile device is a service provider provided device, then it should be using the access device for data usage and not the mobile services and associated network.
[0061] The method 8000 includes confirming 8500 that the mobile device is a service provider provided mobile device when a fidelity score level and/or fidelity identification score meets or exceeds a defined fidelity threshold, wherein the fidelity score level and/or fidelity identification score is based on connection time and/or data usage patterns for the mobility device when connected to the access device.
[0062]
[0063] Disclosed herein is a method for correlation and management of mobile devices with respect to wireless communications services provided by a service provider. In implementations, the method includes determining, by a device correlation engine in a service provider system, whether a customer identifier associated with an access device to which a mobile device is connected matches a customer identifier for the mobile device obtained from a mobile services back office system of a service provider, where the access device provides local services and is a service provider device, determining, by the device correlation engine, whether characteristics of the mobile device obtained by a local services back office system of the service provider matches characteristics of the mobile device maintained by the mobile services back office system when the customer identifier associated with the access device matches the customer identifier for the mobile device obtained from the mobile services back office system, determining, by the device correlation engine, an average connection time for the mobile device with the access device across a defined period of time when the characteristics of the mobile device obtained by the local services back office system matches the characteristics of the mobile device maintained by the mobile services back office system, marking, by the device correlation engine, the mobile device as a potential service provider provided mobile device in a fidelity matrix if the mobile device foregoes use of mobile services for data usage when the average connection meets or exceeds a defined threshold, and confirming, by the device correlation engine, that the mobile device is a service provider provided mobile device when a fidelity score level in the fidelity matrix meets or exceeds a defined fidelity threshold, wherein the fidelity score level is based on data usage patterns for the mobility device when connected to the access device.
[0064] In implementations, the method further includes triggering, by the local services back office system the device correlation engine, when the mobile device is a mobile device with mobile services capability. In implementations, the method further includes determining, by the local services back office system, whether the mobile device is a mobile device with mobile services capability. In implementations, the method further includes receiving, by the local services back office system from the access device, mobile device information to determine the mobile services capability. In implementations, the customer identifier associated with the access device is determined and maintained by the local services back office system. In implementations, the method further includes determining, by the local services back office system, the customer identifier in the local services back office system based on an access device identifier received from the access device. In implementations, the method further includes receiving, by the local services back office system from the access device, the characteristics of the mobile device as maintained by the local services back office system.
[0065] Disclosed herein is a system for correlation and management of mobile devices with respect to wireless communications services provided by a service provider. In implementations, a service provider system includes a mobile services back office system configured to perform an activation process for a mobile device, and a local services back office system including a correlation engine. The correlation engine is configured to compare a customer identifier for the mobile device based on an access point identifier to a customer identifier for the mobile device obtained from the mobile services back office system when the mobile device is connected to an access point associated with the access point identifier, compare characteristics of the mobile device obtained from the access point with characteristics of the mobile device maintained by the mobile services back office system when the customer identifier based on the access device identifier matches the customer identifier obtained from the mobile services back office system; identify the mobile device as a potential service provider provided mobile device in a fidelity matrix if the mobile device foregoes use of mobile services for data usage when the characteristics of the mobile device obtained from the access point substantially matches the characteristics of the mobile device maintained by the mobile services back office system and an average connection time with the access device exceeds or meets a threshold, and verify that the mobile device is a service provider provided mobile device when a fidelity score level in the fidelity matrix meets or exceeds a defined fidelity threshold, where the fidelity score level is based on data usage patterns for the mobility device when connected to the access device.
[0066] In implementations, the correlation engine is further configured to determine the average connection time for the mobile device with the access device across a defined period of time. In implementations, the correlation engine is further configured to establish the data usage patterns for the mobile device using machine learning techniques. In implementations, the local services back office system is configured to trigger the correlation engine when the mobile device is a mobile device with mobile services capability. In implementations, the local services back office system is further configured to determine the mobile services capability from mobile device information received from the access point. In implementations, the fidelity matrix includes multiple fidelity score levels and the correlation engine is further configured to proceed from one fidelity score level to a next fidelity score level when the data usage patterns for the mobility device at the one fidelity score level exceeds or meets a defined threshold.
[0067] Disclosed herein is a method for correlation and management of mobile devices with respect to wireless communications services provided by a service provider. In implementations, the method includes triggering a device correlation engine when a mobile device connected to an access device has mobile services capability, comparing, by the device correlation engine for the mobile device, an access device based customer identifier with a mobile services based customer identifier, comparing, by the device correlation engine for the mobile device, access device based characteristics with mobile services based characteristics when a match occurs between the access device based customer identifier and the mobile services based customer, marking in a fidelity matrix that the mobile device is a potential service provider provided mobile device if the mobile device foregoes use of mobile services for data usage when a match occurs between the access device based characteristics and the mobile services based characteristics and an average connection time with the access device exceeds or meets a threshold, and verifying that the mobile device is a service provider provided mobile device when a fidelity score level in the fidelity matrix meets or exceeds a defined fidelity threshold, wherein the fidelity score level is based on data usage patterns for the mobility device when connected to the access device.
[0068] In implementations, the method further includes determining the average connection time for the mobile device with the access device across a defined period of time. In implementations, the method further includes establishing the data usage patterns for the mobile device using machine learning techniques. In implementations, the method further includes determining the mobile services capability from mobile device information received from an access device. In implementations, the method further includes proceeding from one fidelity score level to a next fidelity score level when the data usage patterns for the mobility device at the one fidelity score level exceeds or meets a defined threshold. In implementations, the access device based customer identifier and the access device based characteristics are determined from information provided the access device. In implementations, the mobile services based customer identifier and the mobile services based characteristics are determined from information provided a mobile services back office system.
[0069] 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 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 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. For example, the computer readable mediums can be non-transitory. 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.
[0070] 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.
[0071] 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.
[0072] As used herein, the term computer-readable medium encompasses one or more computer-readable media. A computer-readable medium may include any storage unit (or multiple storage units) that store data or instructions that are readable by processing circuitry. A computer-readable medium may include, for example, at least one of a data repository, a data storage unit, a computer memory, a hard drive, a disk, or a random access memory. A computer-readable medium may include a single computer-readable medium or multiple computer-readable media. A computer-readable medium may be a transitory computer-readable medium or a non-transitory computer-readable medium.
[0073] Computer program code for carrying out operations for aspects 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).
[0074] Aspects are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments. 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.
[0075] 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.
[0076] 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.
[0077] 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. 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.
[0078] 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.