IP Library Granted Patent US 9,639,696
Granted Patent B1
US 9,639,696 · App. 11/541,159 · Granted May 2, 2017

Method and apparatus for analyzing end user license agreements

Inventors: Sree Hari Nagaralu (Pune, IN); Prabhat Kumar Singh (Pune, IN)
Assignee: Symantec Operating Corporation
G06F21/56G06F21/50G06F21/55
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,639,696
App. No.
11/541,159
Granted
May 2, 2017
Kind
B1
Abstract

A method and apparatus for analyzing end user license agreements and taking action based on the analysis outcome. In one embodiment, the method includes sensing initialization of an installable software program installation, extracting a EULA from the installable during installation, pausing presentation of the EULA to a user, providing a database of suspect terms, analyzing whether a suspect term exists in the EULA, and presenting at least one of the EULA or a suspect term to the user.

Claims (55)

1. A method for analyzing an end user's license agreement (EULA) and taking action based on the analysis outcome, comprising:

sensing, by at least one computer processor, initialization of an installation of an installable software program;

intercepting, by the at least one computer processor, the EULA from a program code of the installable software program during the installation, wherein the installable software program is configured to attempt to present the EULA to a user, wherein the interception occurs prior to the installable software program attempting to present the EULA to the user;

inhibiting, by the at least one computer processor, presentation of the EULA to the user;

providing, by the at least one computer processor, a database of suspect terms;

determining, by the at least one computer processor, that a suspect term within the database exists in the EULA;

presenting, by the at least one computer processor, the suspect term to the user;

installing, by the at least one computer processor, the installable software program;

detecting, by the at least one computer processor, a request for partial removal of the installed software program;

determining, by the at least one computer processor, that the partial removal of the installed software violates the EULA based on the suspect term; and

complying with the suspect term in the EULA by automatically removing, by the at least one computer processor, a remainder of the installed software program based at least in part on the violation determination.

2. The method of by claim 1 wherein the determining is performed by a trained classifier.

3. The method of claim 2 wherein the trained classifier is trained using the suspect terms from the provided database.

4. The method of claim 1 further comprising highlighting and displaying the suspect term in context along with text of the EULA.

5. A method for analyzing an end user's license agreement (EULA) and taking action based on the analysis outcome, comprising:

sensing, by at least one computer processor, initialization of an installation of an installable software program;

intercepting, by the at least one computer processor, the EULA from a program code of the installable software program during the installation, wherein the installable software program is configured to attempt to present the EULA to a user, wherein the interception occurs prior to the installable software program attempting to present the EULA to the user;

inhibiting, by the at least one computer processor, presentation of the EULA to the user;

determining, by the at least one computer processor, whether a suspect term exists in the EULA, the suspect term indicating restrictions on removal of individual software components;

presenting, by the at least one computer processor, the suspect term to the user;

installing, by the at least one computer processor, the installable software program;

detecting, by the at least one computer processor, a violation of the suspect term of the EULA based on a request for removal of a first individual software component; and

correcting the violation of the suspect term of the EULA by removing, by the at least one computer processor, a remainder of the individual software components.

6. The method of claim 5 further comprising:

detecting a malicious file; and

adding the malicious file to a removal group.

7. The method of claim 5 further comprising:

finding the suspect term in the EULA;

detecting all files being installed; and

maintaining state information indicating that the all files being installed are a group and if removed must be removed together.

8. The method of claim 7 further comprising:

detecting a malicious file;

adding the malicious file to a removal group;

determining if the malicious file is part of the group; and

adding the all files in the group to the removal group.

9. The method of claim 8 further comprising:

naming the group using a unique identifier, wherein the unique identifier associates the group with a particular installable software program from which the all files were installed;

maintaining the unique identifier with the state information;

notifying the user that the all files in the group have been identified for removal, wherein the group is identified to the user by the unique identifier.

10. A method for analyzing an end-user license agreement (EULA), comprising:

sensing, by at least one computer processor, an installation of a software package comprising a wanted software program and an unwanted software program;

intercepting, by the at least one computer processor, the EULA from the software package;

detecting, by the at least one computer processor, at least one restrictive term of the EULA indicating that a first removal of the unwanted software program requires a second removal of the wanted software program;

detecting, by the at least one computer processor, an end-user agreement to the EULA;

monitoring, by the at least one computer processor, the installation of the software package to generate state information including information about the at least one restrictive term of the EULA, a first plurality of files installed for the unwanted software program, and a second plurality of files installed for the wanted software program;

detecting, by the at least one computer processor, a request for removal, by a u-ware removal software program, of at least one file of the first plurality of files installed for the unwanted software program;

determining, by the at least one computer processor, that the removal of the at least one file of the first plurality of files installed for the unwanted software program violates the EULA based on the at least one restrictive term; and

complying with the at least one restrictive term of the EULA by automatically removing, by the at least one computer processor, based on the state information and the violation determination, each remaining file of the first plurality of files installed for the unwanted software program and each remaining file of the second plurality of files installed for the wanted program.

11. The method of claim 10 , wherein generating the state information further comprises generating at least one file-level snapshot during the installation of the software package.

12. The method of claim 10 , wherein the state information further includes a unique identifier for identifying an association between the first plurality of files installed for the unwanted software program and the second plurality of files installed for the wanted software program.

13. The method of claim 10 , wherein detecting an end-user agreement to the EULA further comprises:

inhibiting a presentation of the EULA to a user;

while inhibiting the presentation of the EULA to the user, presenting information about the at least one restrictive term of the EULA to the user;

while inhibiting the presentation of the EULA to the user, receiving an acknowledgment of the information about the at least one restrictive term of the EULA from the user; and

after receiving the acknowledgment, stopping the inhibiting of the presentation of the EULA to the user, wherein the EULA is presented to the user.

Assignments (9)
CHANGE OF NAME Recorded May 18, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 063697/0493 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
CHANGE OF NAME Recorded Mar 5, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 052109/0186 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2018
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 047538/0328 →
CHANGE OF ASSIGNEE ADDRESS Recorded Feb 20, 2015
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 035055/0790 →
CHANGE OF NAME Recorded Jan 25, 2011
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 025690/0113 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2006
From: NAGARALU, SREE HARI; SINGH, PRABHAT KUMAR
To: VERITAS OPERATING CORPORATION
Reel/Frame 018380/0375 →