IP Library Granted Patent US 9,710,809
Granted Patent B2
US 9,710,809 · App. 14/161,513 · Granted Jul 18, 2017

Method and system for license server synchronization

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 9,710,809
App. No.
14/161,513
Granted
Jul 18, 2017
Kind
B2
Abstract

A method and system for license server synchronization are disclosed. According to one embodiment, a computer-implemented method comprises receiving a first capability request from a licensing server, transmitting a first capability response to the licensing server. The licensing server provides a second capability response to a device, and the second capability response is in response to a second capability request sent by the device to the licensing server. The second capability response includes one or more capabilities included in the first capability response. A server synchronization message is received from the licensing server and a request for payment is transmitted to a service provider, wherein the request for payment is generated based on the server synchronization message.

Claims (79)

1. A method for license server synchronization, the method comprising:

receiving a first capability request sent from a licensing server to an operations server, the first capability request requesting capacity for one or more additional licenses defining one or more capabilities to which a licensed user is entitled to have activated on a licensed user device that already has one or more fulfilled capabilities;

said operations server activating the requested capacity by generating one or more additional licenses based on information from one or more databases in memory, the one or more databases storing licensing information regarding which capabilities the licensed user is entitled to activate on the licensed user device and which capabilities have already been fulfilled on the licensed user device;

said operations server transmitting a first capability response from the operations server to the licensing server, the first capability response indicating that the one or more capabilities to which the licensed user device is entitled under the license have been activated,

wherein the first capability response comprises a first timestamp and a first functions list of functions to enable on a licensed user device,

said operations server transmitting the first capability response to a backup licensing server, wherein the backup licensing server provides a second capability response to the licensed user device upon failure of the licensing server,

wherein the second capability response is provided to the licensed user device by the licensing server,

wherein the second capability response includes the one or more activated capabilities to which the licensed user device is entitled under the license as indicated by the first capability response and that have not yet been fulfilled,

wherein the second capability response comprises:

a second timestamp comprising a time when the response was generated,

a unique identifier identifying the licensed user device, the unique identifier based on a hardware identity of the licensed user device, and

a second functions list of functions to enable on the licensed user device, including a list of all products and features to which said licensed user device is entitled,

wherein said capability response is encoded and signed to allow the licensed device to verify its authenticity,

wherein the licensed user device only processes a capability response that matches its unique identifier,

wherein the timestamp in a capability response is compared to a most recently processed request's timestamp, and

wherein the licensed user device only processes responses that were generated later than a response that it has already processed,

wherein the second capability response overwrites information from a previous response to modify at least one existing capability on the licensed user device, and

wherein capabilities that the licensed user device already has to which the licensed user is not entitled under the license as indicated by the first capability response are deactivated based on the second capability response;

said operations server receiving a server synchronization message sent from the licensing server to the operations server, the server synchronization message based on the one or more activated capabilities that have not been previously fulfilled and deactivated capabilities included in the second capability response;

wherein the server synchronization message comprises a server identifier, a third timestamp, and a list of devices and capabilities enabled on each device of the list of devices,

wherein the third timestamp comprises a time of message generation, a last sync time, and a last update time; and

said operations server transmitting a request for payment from the operations server to a service provider, wherein the request for payment is generated based on the one or more activated capabilities that have not been previously fulfilled and deactivated capabilities included in the server synchronization message.

2. The method of claim 1 , wherein the licensing server is a laptop computer, and wherein the licensed user device is offline.

3. The method of claim 1 , wherein the licensed user device is one of a gaming device, a video processing device, a base station, a router, a digital cable receiver or a smart phone.

4. The method of claim 1 , wherein the service provider is one of a wireless communications provider or a cable television provider.

5. The method of claim 1 , wherein the licensed user device is a replacement device and further comprising verifying that an original device has released its capabilities before activating the capabilities on the replacement device.

6. A system for license server synchronization, comprising:

a service provider in communication with a licensing server, wherein the licensing server is in communication with a licensed user device that already has one or more fulfilled capabilities; and

a processor comprising an operations server in communication with the service provider and the licensing server, the operations server performing operations of:

said operations server receiving a first capability request from the licensing server, the first capability request requesting capacity for one or more additional licenses defining one or more capabilities to which a licensed user is entitled to have activated on the licensed user device,

said operations server activating the requested capacity by generating one or more additional licenses based on information from one or more databases in memory, the one or more databases storing licensing information regarding which capabilities the licensed user is entitled to activate on the licensed user device and which capabilities have already been fulfilled on the licensed user device,

said operations server transmitting a first capability response to the licensing server, the first capability response indicating that the one or more capabilities to which the licensed user device is entitled under the license have been activated,

wherein the first capability response comprises a first timestamp and a first functions list of functions to enable on a licensed user device,

said operations server transmitting the first capability response to a backup licensing server,

wherein the backup licensing server provides a second capability response to the licensed user device upon failure of the licensing server,

wherein a second capability response is provided to the licensed user device by the licensing server,

wherein the second capability response is provided in response to a second capability request sent by the licensed user device to the licensing server;

wherein the second capability response comprises:

a second timestamp comprising a time when the response was generated,

a unique identifier identifying the licensed user device, the unique identifier based on a hardware identity of the licensed user device, and

a second functions list of functions to enable on the licensed user device, including a list of all products and features to which said licensed user device is entitled,

wherein said capability response is encoded and signed to allow the licensed device to verify its authenticity,

wherein the licensed user device only processes a capability response that matches its unique identifier,

wherein the timestamp in a capability response is compared to a most recently processed request's timestamp, and

wherein the licensed user device only processes responses that were generated later than a response that it has already processed,

wherein the second capability response includes the one or more activated capabilities to which the licensed user device is entitled under the license as indicated by the first capability response and that have not yet been fulfilled,

wherein the second capability response overwrites information from a previous response to modify at least one existing capability on the licensed user device, and

wherein capabilities that the licensed user device already has to which the licensed user is not entitled under the license as indicated by the first capability response are deactivated based on the second capability response,

said operations server receiving a server synchronization message from the licensing server, the server synchronization message based on the one or more activated capabilities that have not been previously fulfilled and deactivated capabilities included in the second capability response;

wherein the server synchronization message comprises a server identifier, a third timestamp, and a list of devices and capabilities enabled on each device of the list of devices,

wherein the third timestamp comprises a time of message generation, a last sync time, and a last update time; and

said operations server transmitting a request for payment to a service provider, wherein the request for payment is generated based on the one or more activated capabilities that have not been previously fulfilled and deactivated capabilities included in the server synchronization message.

7. The system of claim 6 , wherein the licensing server is a laptop computer, and wherein the licensed user device is offline.

8. The system of claim 6 , wherein the licensed user device is one of a gaming device, a video processing device, a base station, a router, a digital cable receiver or a smart phone.

9. The system of claim 6 , wherein the service provider is one of a wireless communications provider or a cable television provider.

10. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for license server synchronization, the method comprising:

receiving a first capability request sent from a licensing server over a communication network, the first capability request requesting capacity for one or more additional licenses defining one or more capabilities to which a licensed user is entitled to have activated on a licensed user device that already has one or more fulfilled capabilities;

activating the requested capacity by generating one or more additional licenses based on information from one or more databases in memory, the one or more databases storing licensing information regarding which capabilities the licensed user is entitled to activate on the licensed user device and which capabilities have already been fulfilled on the licensed user device;

transmitting a first capability response to the licensing server over the communication network, the capability response indicating that the one or more capabilities to which the licensed user device is entitled under the license have been activated,

wherein the first capability response comprises a first timestamp and a first functions list of functions to enable on a licensed user device,

transmitting the first capability response to a backup licensing server, wherein the backup licensing server provides a second capability response to the licensed user device upon failure of the licensing server,

wherein a second capability response is provided to the licensed user device by the licensing server, and

wherein the second capability response is in response to a second capability request sent by the licensed user device to the licensing server, and

wherein the second capability response includes the one or more activated capabilities to which the licensed user device is entitled under the license as indicated by the first capability response and that have not yet been fulfilled,

wherein the second capability response overwrites information from a previous response to modify at least one existing capability on the licensed user device, and

wherein the second capability response comprises:

a second timestamp comprising a time when the response was generated,

a unique identifier identifying the licensed user device, the unique identifier based on a hardware identity of the licensed user device, and

a second functions list of functions to enable on the licensed user device, including a list of all products and features to which said licensed user device is entitled,

wherein said capability response is encoded and signed to allow the licensed device to verify its authenticity,

wherein the licensed user device only processes a capability response that matches its unique identifier,

wherein the timestamp in a capability response is compared to a most recently processed request's timestamp, and

wherein the licensed user device only processes responses that were generated later than a response that it has already processed,

wherein capabilities that the licensed user device already has to which the licensed user is not entitled under the license as indicated by the first capability response are deactivated based on the second capability response;

receiving a server synchronization message sent from the licensing server, the server synchronization message based on the one or more activated capabilities that have not been previously fulfilled and deactivated capabilities included in the second capability response,

wherein the server synchronization message comprises a server identifier, a third timestamp, and a list of devices and capabilities enabled on each device of the list of devices,

wherein the third timestamp comprises a time of message generation, a last sync time, and a last update time; and

transmitting a request for payment to a service provider, wherein the request for payment is generated based on the one or more activated capabilities that have not been previously fulfilled and deactivated capabilities included in the server synchronization message.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the licensed user device is a replacement device and wherein the program further comprises instructions for verifying that an original device has released its capabilities before activating the capabilities on the replacement device.

Assignments (13)
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS - REEL/FRAME 045441/ 0499 Recorded Aug 25, 2025
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
Reel/Frame 072552/0558 →
SECURITY INTEREST Recorded Aug 15, 2025
From: FLEXERA SOFTWARE LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL GENT
Reel/Frame 072460/0828 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Apr 18, 2024
From: JEFFERIES FINANCE LLC
To: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
Reel/Frame 067636/0534 →
SECOND LIEN SECURITY AGREEMENT Recorded Mar 3, 2021
From: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 055487/0354 →
RELEASE OF SECOND LIEN SECURITY INTEREST Recorded Feb 28, 2020
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION; RIGHTSCALE, INC.; RISC NETWORKS, LLC
Reel/Frame 052049/0560 →
SECOND LIEN SECURITY AGREEMENT Recorded Feb 27, 2018
From: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 045451/0499 →
TERMINATION OF 2ND LIEN SECURITY INTEREST RECORDED AT REEL/FRAME 032590/0805 Recorded Feb 26, 2018
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC
Reel/Frame 045447/0842 →
FIRST LIEN SECURITY AGREEMENT Recorded Feb 26, 2018
From: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 045441/0499 →
TERMINATION OF 1ST LIEN SECURITY INTEREST RECORDED AT REEL/FRAME 032590/0617 Recorded Feb 26, 2018
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC
Reel/Frame 045447/0894 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Apr 2, 2014
From: FLEXERA SOFTWARE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 032590/0617 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Apr 2, 2014
From: FLEXERA SOFTWARE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 032590/0805 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2014
From: KOKA, VIKRAM; SHVARTS, ANN
To: FLEXERA SOFTWARE, INC.
Reel/Frame 032039/0118 →
CHANGE OF NAME Recorded Jan 24, 2014
From: FLEXERA SOFTWARE, INC.
To: FLEXERA SOFTWARE LLC
Reel/Frame 032138/0100 →