IP Library Granted Patent US 9,396,311
Granted Patent B2
US 9,396,311 · App. 13/182,230 · Granted Jul 19, 2016

Mini appliance ensuring software license compliance

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,396,311
App. No.
13/182,230
Granted
Jul 19, 2016
Kind
B2
Abstract

In one embodiment, a method comprises: collecting software information from one or more network devices; and analyzing the software information to ensure software license compliance for the one or more network devices.

Claims (119)

1. A method comprising:

customizing a network appliance via a web-browser, wherein the customizing the network appliance is based, at least in part, on a specific user, wherein the network appliance comprises a first and a second network port, wherein the web-browser connects to a web-based interface of the network appliance over an internet protocol (IP) address provided with the first network port of the network appliance, wherein the IP address of the first network port is alterable via the web-based interface, wherein the IP address of the second network port is assigned and not changeable by a user, and wherein the second network port is dedicated for recovery and enables a reset of the network appliance;

receiving, by the network appliance, a list of one or more network devices from a discovery device;

deploying, by the network appliance, agent software to the one or more network devices, the agent software being configured to provide software information from the network device to the network appliance;

receiving, by the network appliance, software information from the agent software indicative of a type of software application installed on the one or more network devices associated with the agent software, wherein the software information comprises at least one of a title, a version, a release date, a manufacturer, and a current license status;

storing, by the network appliance, the received software information;

analyzing, by the network appliance, the software information to ensure software license compliance for the one or more network devices,

wherein analyzing the software information comprises utilizing at least one of a license model, an authorization model, and a license key model, and wherein analyzing the software information further comprises:

for each software application installed on the one or more network devices:

determining a total number of copies of the software application installed on the one or more network devices;

comparing the total number of copies of the software application with a total number of licenses of the software application; and

collecting a license violation for each instance where the total number of copies of the software application is greater than the total number of licenses of the software application;

generating a compliance report, wherein the compliance report comprises each collected license violation for each software application;

receiving, by the network appliance, at least one of a selection and scheduling of a piece of software to update or a patch to download and install; and

wherein the network appliance is not connected to a keyboard, a mouse, or a monitor, wherein the network appliance has no hardware component that physically moves while the network appliance is in operation, and wherein the network appliance uses natural convection for cooling the network appliance.

2. The method of claim 1 , wherein analyzing the software information further comprises:

determining all software applications installed on each network device;

grouping the software applications installed on the or more network devices into one or more groups, such that each group comprises one or more related software applications;

for each group of related software applications:

determining a total number of the related software applications in the group;

comparing the total number of the related software applications with a total number of licenses for the group; and

if the total number of the related software applications is greater than the total number of licenses for the group, then reporting a license violation for the group of related software applications.

3. The method of claim 1 , wherein analyzing the software information further comprises:

for each software application installed on the one or more network devices:

determining a total number of network devices on which the software application is installed;

comparing the total number of network devices with a total number of licenses of the software application; and

if the total number of network devices is greater than the total number of licenses of the software application, then reporting a license violation for the software application.

4. The method of claim 1 , wherein analyzing the software information further comprises:

for each software application installed on the one or more network devices:

determining all network devices on which the software application is installed; and

for each network device on which the software application is installed:

determining if a license key of the software application has been assigned to the network device; and

if no license key of the software application has been assigned to the network device, then reporting a license violation for the software application in connection with the network device.

5. A system comprising:

one or more network devices; and

a network appliance, wherein the network appliance is customized via a web-browser based, at least in part, on a specific user, wherein the network appliance comprises a first and a second network port, wherein the web-browser connects to a web-based interface of the network appliance over an internet protocol (IP) address provided with the first network port of the network appliance, wherein the IP address of the first network port is alterable via the web-based interface, wherein the IP address of the second network port is assigned and not changeable by a user, and wherein the second network port is dedicated for recovery and enables a reset of the network appliance, the network appliance further comprising:

one or more processors; and

a memory with computer-executable instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receive a list of one or more network devices from a discovery device;

deploy agent software to the one or more network devices;

receive software information from the agent software indicative of a type of software application installed on the one or more network devices associated with the agent software, wherein the software information comprises at least one of a title, a version, a release date, a manufacturer, and a current license status;

store the received software information; and

analyze the software information to ensure software license compliance for the one or more network devices;

receive at least one of a selection and scheduling of a piece of software to update or a patch to download and install;

wherein the network appliance is not connected to a keyboard, a mouse, or a monitor, wherein the network appliance has no hardware component that physically moves while the network appliance is in operation, and wherein the network appliance uses natural convection for cooling the network appliance; and

wherein analyzing the software information comprises utilizing at least one of a license model, an authorization model, and a license key model, and wherein analyzing the software information further comprises:

for each software application installed on the one or more network devices:

 determining a total number of copies of the software application installed on the one or more network devices;

 comparing the total number of copies of the software application with a total number of licenses of the software application; and

 if the total number of copies of the software application is greater than the total number of licenses of the software application, then collecting a license violation for the software application; and

generating a compliance report, wherein the compliance report comprises each collected license violation for each software application.

6. The system of claim 5 , wherein analyzing the software information further comprises:

determining all software applications installed on each network device;

grouping the software applications installed on the or more network devices into one or more groups, such that each group comprises one or more related software applications;

for each group of related software applications:

determining a total number of the related software applications in the group;

comparing the total number of the related software applications with a total number of licenses for the group; and

if the total number of the related software applications is greater than the total number of licenses for the group, then reporting a license violation for the group of related software applications.

7. The system of claim 5 , wherein analyzing the software information further comprises:

for each software application installed on the one or more network devices:

determining a total number of network devices on which the software application is installed;

comparing the total number of network devices with a total number of licenses of the software application; and

if the total number of network devices is greater than the total number of licenses of the software application, then reporting a license violation for the software application.

8. The system of claim 5 , wherein analyzing the software information further comprises:

for each software application installed on the one or more network devices:

determining all network devices on which the software application is installed; and

for each network device on which the software application is installed:

determining if a license key of the software application has been assigned to the network device; and

if no license key of the software application has been assigned to the network device, then reporting a license violation for the software application in connection with the network device.

9. One or more computer-readable non-transitory storage media embodying software that,when executed by one or more computer systems associated with a network appliance, cause the network appliance to perform operations comprising:

receive customizations via a web-browser based, at least in part, on a specific user, wherein the network appliance comprises a first and a second network port, wherein the web-browser connects to a web-based interface of the network appliance over an internet protocol (IP) address provided with the first network port of the network appliance, wherein the IP address of the first network port is alterable via the web-based interface, wherein the IP address of the second network port is assigned and not changeable by a user, and wherein the second network port is dedicated for recovery and enables a reset of the network appliance;

receive a list of one or more network devices from a discovery device;

deploy agent software to the one or more network devices, the agent software being configured to provide software information from the network devices to the network appliance;

receive software information from the agent software indicative of a type of software application installed on the one or more network devices associated with the agent software, wherein the software information comprises at least one of a title, a version, a release date, a manufacturer, and a current license status;

store the received software information;

analyze the software information to ensure software license compliance for the one or more network devices;

receive at least one of a selection and scheduling of a piece of software to update or a patch to download and install; and

wherein the network appliance is not connected to a keyboard, a mouse, or a monitor, wherein the network appliance has no hardware component that physically moves while the network appliance is in operation, and wherein the network appliance uses natural convection for cooling the network appliance; and

wherein analyzing the software information comprises utilizing at least one of a license model, an authorization model, and a license key model, and wherein analyzing the software information comprises:

for each software application installed on the one or more network devices:

determining a total number of copies of the software application installed on the one or more network devices;

comparing the total number of copies of the software application with a total number of licenses of the software application; and

if the total number of copies of the software application is greater than the total number of licenses of the software application, then collecting a license violation for the software application; and

generating a compliance report, wherein the compliance report comprises each collected license violation for each software application.

10. The media of claim 9 , wherein analyzing the software information further comprises:

determine all software applications installed on each network device;

group the software applications installed on the or more network devices into one or more groups, such that each group comprises one or more related software applications;

for each group of related software applications:

determine a total number of the related software applications in the group;

compare the total number of the related software applications with a total number of licenses for the group; and

if the total number of the related software applications is greater than the total number of licenses for the group, then report a license violation for the group of related software applications.

11. The media of claim 9 , wherein analyzing the software information further comprises:

for each software application installed on the one or more network devices:

determine a total number of network devices on which the software application is installed;

compare the total number of network devices with a total number of licenses of the software application; and

if the total number of network devices is greater than the total number of licenses of the software application, then report a license violation for the software application.

12. The media of claim 9 , wherein analyzing the software information further comprises:

for each software application installed on the one or more network devices:

determine all network devices on which the software application is installed; and

for each network device on which the software application is installed:

determine if a license key of the software application has been assigned to the network device; and

if no license key of the software application has been assigned to the network device, then report a license violation for the software application in connection with the network device.

13. A network appliance comprising:

one or more processors; and

one or more non-transitory computer-readable storage devices with computer-executable instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receive customizations via a web-browser, wherein the customizing the network appliance is based, at least in part, on a specific user, wherein the network appliance comprises a first and a second network port, wherein the web-browser connects to a web-based interface of the network appliance over an internet protocol (IP) address provided with the first network port of the network appliance, wherein the IP address of the first network port is alterable via the web-based interface, wherein the IP address of the second network port is assigned and not changeable by a user, and wherein the second network port is dedicated for recovery and enables a reset of the network appliance;

receive a list of one or more network devices from a discovery device;

deploy agent software to one or more network devices;

receive software information from the agent software indicative of a type of software application installed on the one or more network devices associated with the agent software, wherein the software information comprises at least one of a title, a version, a release date, a manufacturer, and a current license status;

store the received software information; and

analyze the software information to ensure software license compliance for the one or more network devices;

receive at least one of a selection and scheduling of a piece of software to update or a patch to download and install; and

wherein the network appliance is not connected to a keyboard, a mouse, or a monitor, wherein the network appliance has no hardware component that physically moves while the network appliance is in operation, and wherein the network appliance uses natural convection for cooling the network appliance; and

wherein analyzing the software information utilizes at least one of a license model, an authorization mode, and a license key model, and wherein analyzing the software information comprises:

for each software application installed on the one or more network devices:

determining a total number of copies of the software application installed on the one or more network devices;

comparing the total number of copies of the software application with a total number of licenses of the software application; and

if the total number of copies of the software application is greater than the total number of licenses of the software application, then collecting a license violation for the software application; and

generating a compliance report, wherein the compliance report comprises each collected license violation for each software application.

Assignments (24)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071777/0641 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041073 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT.. Recorded Apr 5, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 042168/0114 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 23, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS, INC.
Reel/Frame 041073/0001 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
CHANGE OF NAME Recorded Nov 2, 2016
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 040551/0885 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2016
From: DELL PRODUCTS L.P.
To: DELL SOFTWARE INC.
Reel/Frame 040520/0220 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
MERGER Recorded Jun 19, 2012
From: KACE NETWORKS, INC.
To: DELL PRODUCTS L.P.
Reel/Frame 028401/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2011
From: KACIN, MARTIN; KLOBA, DAVID DOUGLAS
To: DELL PRODUCTS L. P.
Reel/Frame 026586/0991 →