# US 8,543,979 B2 · Method and system for checking the consistency of application JAR files

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,979 B2
- Document ID: US8543979B2
- Status: Granted
- Kind: B2
- Application number: 13/450,382
- Filed: 2012-04-18
- Published: 2012-12-13
- Granted: 2013-09-24
- Earliest claimed: 2011-06-10
- Assignees: International Business Machines Corporation
- Applicants: Mauro Arcese; Luigi Pichetti; Stefano Sidoti
- Inventors: Mauro Arcese; Luigi Pichetti; Stefano Sidoti
- Web page: https://patentgrep.com/patent/US8543979B2

## CPC

- G06F 9/44552: {Conflict resolution, i.e. enabling coexistence of conflicting executables}
- G06F 9/45529: {Embedded in an application, e.g. JavaScript in a Web browser}
- G06F 11/0718: {in an object-oriented system}
- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer method and system dynamically provide consistency of JAVA application files. A processor executed routine is configured (e.g., instrumented as an agent) to intercept each class that is loaded into a subject JAVA application or JVM. The system computes a cyclic redundancy check (CRC) of the respective JAR file surrounding the loaded class. The system compares the computed CRC value to a CRC value of at least one other copy of the respective JAR file. Based on the comparison, the system determines consistency (e.g., same version) of the multiple copies of the respective JAR file used by the subject Java application. If the multiple copies of the respective JAR file are determined to be inconsistent, the system alerts the user and/or enables the application to abort.

## Claims

### Claim 1

A computer method providing consistency of JAVA application files, comprising:
in a processor:
automatically intercepting a class that is loaded into a subject JAVA application, the class having a respective JAVA Archive (JAR) file, said automatic intercepting identifying the respective JAR file and copies of the respective JAR file to check;
computing cyclic redundancy check of the identified respective JAR file resulting in a computed CRC value of the respective JAR file;
comparing the computed CRC value to a CRC value of at least one other copy of the respective JAR file; and
based on results of the comparing, determining consistency of multiple copies of the respective JAR file used by the subject JAVA application and alerting a user when the multiple copies of the respective JAR file are determined to be inconsistent, such that the method dynamically ensures consistency of the subject JAVA application file,
wherein the determining consistency includes exact sameness of the multiple copies of the respective JAR file, such that the multiple copies of the respective JAR file correspond to a same version.

### Claim 2 (depends on 1)

A method as claimed in claim 1, wherein the subject JAVA application is composed by multiple running JAVA virtual machines, different JAVA virtual machines referencing different copies of the same respective JAR file.

### Claim 3 (depends on 1)

A method as claimed in claim 1, wherein the step of automatically intercepting is applied to each class that is loaded into the subject JAVA application, each class having a respective JAR file.

### Claim 4 (depends on 1)

A method as claimed in claim 1, wherein the CRC value of the one other copy of the respective JAR file is stored in a repository; and
the step of comparing looks up the stored CRC value in the repository, and compares the computed CRC value to the stored CRC value as looked-up in the repository.

### Claim 5 (depends on 1)

A method as claimed in claim 1, wherein the step of determining consistency determines when the multiple copies of the respective JAR file are inconsistent and aborts the subject JAVA application.

### Claim 6 (depends on 1)

A method as claimed in claim 1, wherein the step of determining consistency determines when the multiple copies of the respective JAR file are inconsistent and notifies the subject JAVA application.

### Claim 7 (depends on 1)

A method as claimed in claim 1, wherein:
comparing the computed CRC value is with respect to a pre-specified CRC value, the CRC value of the at least one other copy of the respective JAR file being the pre-specified CRC value.

### Claim 8 (depends on 1)

A method as claimed in claim 1, wherein comparing the computed CRC value is relative to CRC values of the multiple copies of the respective JAR file.

### Claim 9 (depends on 1)

A method as claimed in claim 1, wherein the step of determining consistency further provides immediate detection of updates having been uniformly performed on the multiple copies of the respective JAR file.

### Claim 10 (depends on 1)

A method as claimed in claim 1, wherein the step of determining consistency further provides immediate detection of corruption of at least one of the multiple copies of the respective JAR file.
