IP Library Granted Patent US 11,259,169
Granted Patent B2
US 11,259,169 · App. 16/137,915 · Granted Feb 22, 2022

Highly scalable home subscriber server

Inventors: Srinivas Kappla (Nashua, NH); Prasasth Palnati (Westford, MA); Ronald M. Parker (Boxborough, MA)
Assignee: MICROSOFT TECHNOLGY LICENSING, LLC
H04W8/04G06F9/45558G06F16/245H04W24/08G06F2009/45595H04W8/18
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,259,169
App. No.
16/137,915
Granted
Feb 22, 2022
Kind
B2
Abstract

A system for storing and managing subscription information for a plurality of subscribers in a mobile communications network is provided. The system comprises a first database, a second database, and one or more processors. The processors are configured to receive a request relating to a subscriber, determine that the first database lacks a desired record relating to the subscriber, retrieve the desired record from the second database, write the retrieved desired record to the first database, and perform one or more functions related to the desired record according to the request. In some embodiments, the one or more processors are configured to predict a time of a potential occurrence of one or more future connections related to the plurality of subscribers and before the predicted time, copy one or more records related to the plurality of subscribers from the second database to the first database.

Claims (72)

1. A system for storing and managing subscription information for a plurality of subscribers in a mobile communications network, comprising:

one or more processors;

memory in electronic communication with the one or more processors;

a first database of a first type stored in the memory, wherein the first database comprises information for a subset of the plurality of subscribers in the mobile communications network, the subset comprising subscribers that have currently active transactions;

a second database of a second type stored in the memory, wherein the second database comprises subscriber information for the plurality of subscribers in the mobile communications network; and

instructions stored in the memory, the instructions being executable by the one or more processors to:

monitor communications between network entities;

collect information about the plurality of subscribers using deep packet inspection techniques;

analyze the information using a machine learning algorithm;

determine a pattern according to which the plurality of subscribers attach to the mobile communications network based at least in part on results of analyzing the information using the machine learning algorithm;

predict a time of a potential occurrence of one or more future connections based on the pattern;

before the predicted time, copy one or more records related to the plurality of subscribers from the second database to the first database based on predictions about the one or more future connections;

receive a request relating to a transaction involving a subscriber, the request being received after the one or more records have been copied to the first database;

retrieve a record corresponding to the subscriber from the first database;

perform one or more functions related to the record according to the request; and

write updated information related to the subscriber to the second database when the transaction concludes.

2. The system of claim 1 , wherein the one or more processors is further configured to:

determine, during a setup process, a future time span during which the subscriber is configured to attach to the mobile communications network, and

copy the record relating to the subscriber from the second database to the first database based on the future time span.

3. The system of claim 1 , wherein the first database and the second database are implemented as a virtual machine, a container, or a container on a virtual machine.

4. The system of claim 1 , wherein the one or more processors are further configured to:

predict a time of a potential future request relating to the subscriber,

retain the desired record in the first database at least until after the predicted time of the potential future request relating to the subscriber, and

remove the desired record from the first database after the predicted time of the potential future request relating to the subscriber.

5. The system of claim 1 , wherein the second database provides records to more than one database of the first type.

6. The system of claim 1 , wherein the first type comprises one or more of a NoSQL database, a horizontal data partition, an in-memory database, and a flash memory-based database.

7. The system of claim 1 , wherein the second type comprises a SQL database.

8. A method for storing and managing subscription information for a plurality of subscribers in a mobile communications network, comprising:

providing a first database of a first type, the first database comprising information for a subset of the plurality of subscribers in the mobile communications network, the subset comprising subscribers that have currently active transactions, and wherein the first database is configured to scale with a number of interfaces present in a main subscriber database of the mobile communications network;

providing a second database of a second type, the second database comprising subscriber information for the plurality of subscribers in the mobile communications network, and wherein the second database is configured to scale with a number of subscribers in the mobile communications network;

receiving a request relating to a transaction involving a subscriber;

determining that the first database lacks a desired record relating to the subscriber;

retrieving the desired record from the second database;

writing a record to the first database, the record corresponding to the desired record in the second database;

performing one or more functions related to the record according to the request; and

writing updated information related to the subscriber to the second database when the transaction concludes.

9. The method of claim 8 , further comprising:

monitoring connections of the plurality of subscribers,

determining a pattern according to which the plurality of subscribers attach to the mobile communications network based on the monitored connections of the plurality of subscribers,

predicting a time of a potential occurrence of one or more future connections related to the plurality of subscribers based on the pattern, and

before the predicted time, copying one or more subscriber records related to the plurality of subscribers from the second database to the first database.

10. The method of claim 9 , wherein predicting a time of potential occurrence of one or more future connections comprises:

collecting information related to one or more of a location, an access time, a duration of access, a frequency of access, a device type, and a subscription parameter, and

analyzing the collected information using a machine learning algorithm.

11. The method of claim 8 , further comprising:

determining, during a setup process, a future time span during which the subscriber is configured to attach to the mobile communications network, and

copying the record relating to the subscriber from the second database to the first database based on the future time span.

12. The method of claim 8 , further comprising:

monitoring communications between network entities,

detecting event notifications related to the plurality of subscribers,

determining a pattern according to which the plurality of subscribers attach to the mobile communications network based on the event notifications,

predicting a time of a potential occurrence of one or more future connections based on the pattern, and

before the predicted time, copying one or more records related to the plurality of subscribers from the second database to the first database based on the one or more future connections.

13. The method of claim 8 , wherein the first database and the second database are implemented as a virtual machine, a container, or a container on a virtual machine.

14. The method of claim 8 , further comprising:

predicting a time of a potential future request relating to the subscriber, retaining the desired record in the first database at least until after the predicted time of the potential future request relating to the subscriber, and

removing the desired record from the first database after the predicted time of the potential future request relating to the subscriber.

15. The method of claim 8 , wherein the second database provides records to more than one database of the first type.

16. The method of claim 8 , wherein the first type comprises one or more of a NoSQL database, a horizontal data partition, an in-memory database, and a flash memory-based database.

17. The method of claim 8 , wherein the second type comprises a SQL database.

18. A system for storing and managing subscription information for a plurality of subscribers in a mobile communications network, comprising:

one or more processors;

memory in electronic communication with the one or more processors;

a first database of a first type stored in the memory, wherein the first database comprises information for a subset of the plurality of subscribers in the mobile communications network, wherein the subset comprises subscribers that have currently active transactions, and wherein the first database is configured to scale with a number of interfaces present in a main subscriber database of the mobile communications network;

a second database of a second type stored in the memory, wherein the second database comprises subscriber information for the plurality of subscribers in the mobile communications network, and wherein the second database is configured to scale with a number of subscribers in the mobile communications network; and

instructions stored in the memory, the instructions being executable by the one or more processors to:

receive a request relating to a transaction involving a subscriber;

determine that the first database lacks a desired record relating to the subscriber;

retrieve the desired record from the second database;

write a record to the first database, the record corresponding to the desired record in the second database;

perform one or more functions related to the record according to the request; and

write updated information related to the subscriber to the second database when the transaction concludes.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 053983 FRAME: 0166. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 12, 2023
From: AFFIRMED NETWORKS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063636/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2020
From: AFFIRMED NETWORKS, INC.
To: MICROSOFT TECHNOLGY LICENSING, LLC
Reel/Frame 053983/0166 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2018
From: KAPPLA, SRINIVAS; PALNATI, PRASASTH; PARKER, RONALD M
To: AFFIRMED NETWORKS, INC.
Reel/Frame 047477/0980 →
Continuity (2)
Provisional Application 62561248 · Sep 21, 2017
Related Publication 20190090120A1 · Mar 21, 2019