IP Library Granted Patent US 12,591,638
Granted Patent B1
US 12,591,638 · App. 17/037,437 · Granted Mar 31, 2026

Offline license validator

Inventor: Daniel P. Craggs (Montreal, CA)
Assignee: AppDirect, Inc.
G06F21/105G06K7/10297G06Q20/127G06Q30/0185H04L9/085H04W4/06G06F21/1076
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 12,591,638
App. No.
17/037,437
Granted
Mar 31, 2026
Kind
B1
Abstract

Methods, systems, and storage media for offline license validation are disclosed. Exemplary implementations may: receive, at a server, a first public identifier of an offline device; identify the offline device based on the first public identifier; determine the offline device has an invalid license; determine the offline device has a valid license; generate a second public identifier for the offline device based on a second shared secret; generate a second public identifier to be broadcast to the offline device based on a second shared secret; broadcast, through the online device, the second public identifier to the offline device; and broadcast, through the online device, the second public identifier to the offline device.

Claims (57)

1 . A method for offline license validation, the method comprising:

exchanging, at a server, a first shared secret and a second shared secret with a first device; and

when the first device disables an online access and becomes offline:

receiving, at the server, a first public identifier of the first device, the first public identifier associated with the first shared secret between the first device and the server, the first public identifier detected by an online device and relayed to the server by the online device;

identifying the first device based on the first public identifier;

determining, at the server, the first device has an invalid license based on the first public identifier;

generating, at the server, a second public identifier for the first device based on the second shared secret;

transmitting, to the online device, the second public identifier for broadcasting by the online device to the first device over a local network connection connecting the online device and the first device that has become offline; and

deactivating, through the first device, the invalid license when an identifier independently determined at the first device, based on the second shared secret, matches the second public identifier.

2 . The method of claim 1 , further comprising generating the first public identifier as a universally unique identifier.

3 . The method of claim 2 , further comprising determining the first device is operating a premium service as indicated by a prefix of the universally unique identifier, wherein a remainder of the universally unique identifier is based on the first shared secret.

4 . The method of claim 2 , further comprising scanning, through the online device, for universally unique identifiers broadcast by the first device, wherein the online device only submits the universally unique identifier to the server for license validation responsive to a matching universally unique identifier being discovered.

5 . The method of claim 1 , further comprising:

activating, through the first device, a valid license when the second public identifier independently determined in the first device matches the second public identifier through the online device.

6 . The method of claim 5 , further comprising continuing to scan, through the first device, until the second public identifier determined by the first device matches the second public identifier through the online device.

7 . The method of claim 1 , further comprising:

sharing, at the server, at least the first shared secret and the second shared secret with the online device; and

sharing, at the server, at least a different first secret and a different second secret with the first device.

8 . The method of claim 1 , further comprising requiring the first device to enable wireless communications if the first device is subscribed to a premium license.

9 . The method of claim 1 , wherein the first device is not required to enable wireless communications if the first device is subscribed to a free license, wherein the online device is configured to scan for offline devices regardless of whether the offline device is using a free license or a premium license, wherein the second public identifier is an updated public identifier, the updated public identifier only broadcast by the online device if the free license or the premium license is not valid.

10 . The method of claim 1 , further comprising continuing to scan, through the online device, responsive to a valid license.

11 . A method for offline license validation, the method comprising:

exchanging, at a server, a first shared secret and a second shared secret with a first device; and

when the first device disables an online access and becomes offline:

receiving, at the server, a first public identifier of the first device, the first public identifier associated with the first shared secret between the first device and the server, the first public identifier detected by an online device and relayed to the server by the online device;

identifying the first device based on the first public identifier;

determining, at the server, the first device has an invalid license based on the first public identifier;

generating, at the server, a second public identifier to be broadcast to the first device based on the second shared secret;

transmitting, to the online device, the second public identifier for broadcasting by the online device to the first device over a local network connection connecting the online device and the first device that has become offline; and

activating, through the first device, the valid license when an identifier independently determined at the first device, based on the second shared secret, matches the second public identifier.

12 . The method of claim 11 , wherein the server enables the first device to activate a premium license without an online connection based on validation of the premium license by the server.

13 . The method of claim 11 , further comprising:

generating the first public identifier as a universally unique identifier;

determining the first device is operating a premium service as indicated by a prefix of the universally unique identifier, wherein a remainder of the universally unique identifier is based on the first shared secret; and

scanning, through the online device, for universally unique identifiers broadcast by the first device, wherein the online device only submits the universally unique identifier to the server for license validation responsive to a matching universally unique identifier being discovered.

14 . The method of claim 11 , further comprising:

independently determining, through the first device, the second public identifier based on the second shared secret; and

activating, through the first device, the valid license responsive to independently determining the second public identifier by the first device matches the second public identifier.

15 . The method of claim 14 , further comprising continuing to scan, through the first device, until the second public identifier matches the second public identifier.

16 . The method of claim 11 , further comprising:

sharing, at the server, at least the first shared secret and the second shared secret with the online device; and

sharing, at the server, at least a different first secret and a different second secret with the first device.

17 . The method of claim 11 , further comprising requiring the first device to enable wireless communications if the first device is subscribed to a premium license.

18 . The method of claim 11 , wherein the first device is not required to enable wireless communications if the first device is subscribed to a free license, wherein the online device is configured to scan for devices regardless of whether the first device is using a free license or a premium license.

19 . The method of claim 11 , further comprising continuing to scan, through the online device, responsive to an invalid license.

20 . A system configured for offline license validation, the system comprising:

a processor; and

a memory comprising instructions stored thereon, which when executed by the processor, cause the processor to perform:

exchanging, at a server, a first shared secret and a second shared secret with a first device; and

when the first device disables an online access and becomes offline:

receiving, at the server, a first public identifier of the first device, the first public identifier associated with the first shared secret between the first device and the server, the first public identifier detected by an online device and relayed to the server by the online device;

identifying the first device based on the first public identifier;

determining, at the server, the first device has an invalid license based on the first public identifier;

determining, at the server, the first device has a valid license based on the first public identifier;

generating, at the server, a second public identifier for the first device based on the second shared secret;

transmitting, to the online device, the second public identifier for broadcasting by the online device to the first device over a local network connection connecting the online device and the first device that has become offline; and

when an identifier independently determined at the first device, based on the second shared secret, matches the second public identifier, deactivating, through the first device, the invalid license and activating the valid license upon receipt of the second public identifier.

Assignments (3)
SECURITY INTEREST Recorded Sep 22, 2025
From: APPDIRECT, INC.; LEFTRONICDIRECT INC.; APPDIRECT CSP, INC.; APPSMART, INC.; APPDIRECT AGENT SERVICES, INC.; APPSMART CCC, INC.; APPSMART ENERGY SERVICES, INC.; ATLANTA DATACOM, INC.; BUILTFIRST TECHNOLOGIES, INC.; CONVERGED NETWORK SERVICES GROUP, LLC; CNSG VG SOLUTIONS, LLC; MICROCORP LLC; TBI, INC.; APPDIRECT CANADA INC.; NEOSYSTEMS INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 072334/0967 →
SECURITY INTEREST Recorded May 1, 2024
From: APPDIRECT, INC.
To: BANK OF MONTREAL, AS AGENT
Reel/Frame 067280/0815 →
SECURITY INTEREST Recorded Dec 20, 2021
From: APPDIRECT, INC.; STANDING CLOUD DIRECT, INC.; CLOUD SERVICE PARTNERS, INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 058437/0829 →
Continuity (1)
Provisional Application 62908519 · Sep 30, 2019
References Cited (23)
US 7191155B2 · Maruyama · 2007 [cited by examiner]
US 7680743B2 · Peinado · 2010 [cited by examiner]
US 10417399B2 · Wajs · 2019 [cited by examiner]
US 20060064582A1 · Teal · 2006 [cited by examiner]
US 20060106727A1 · Yellai · 2006 [cited by examiner]
US 20060106728A1 · Yellai · 2006 [cited by examiner]
US 20070219917A1 · Liu · 2007 [cited by examiner]
US 20080240447A1 · Zhu · 2008 [cited by examiner]
US 20090119779A1 · Dean · 2009 [cited by examiner]
US 20140047558A1 · Veerubhotla · 2014 [cited by examiner]
US 20140207909A1 · Yellai · 2014 [cited by examiner]
US 20140380499A1 · Pruss · 2014 [cited by examiner]
US 20150220719A1 · Kawada · 2015 [cited by examiner]
US 20170024549A1 · Bushman · 2017 [cited by examiner]
US 20170286711A1 · Negrea · 2017 [cited by examiner]
US 20180114030A1 · Sullivan · 2018 [cited by examiner]
US 20190026442A1 · Perlman · 2019 [cited by examiner]
US 20190065704A1 · Giffard-Burley · 2019 [cited by examiner]
US 20190114398A1 · Lei · 2019 [cited by examiner]
US 20200034172A1 · Wu · 2020 [cited by examiner]
US 20200394284A1 · Hiratsuka · 2020 [cited by examiner]
US 20210081514A1 · Hiratsuka · 2021 [cited by examiner]
US 20220318345A1 · Bingham · 2022 [cited by examiner]