IP Library Granted Patent US 12,393,567
Granted Patent B2
US 12,393,567 · App. 17/532,023 · Granted Aug 19, 2025

Logfile collection and consolidation

Inventor: Boaz Shuster (Kfar Saba, IL)
Assignee: Red Hat, Inc.
G06F16/2322G06F16/1805G06F16/2358G06F16/182H04L43/0817
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,393,567
App. No.
17/532,023
Granted
Aug 19, 2025
Kind
B2
Abstract

Mechanisms for consolidating log information from remote computing devices are provided. Connections with a plurality of remote computing devices are established. Each remote computing device has a corresponding logfile. For a plurality of iterations, logfile contents from each logfile on each remote computing device are retrieved, and the logfile contents are sent to a centralized monitoring service.

Claims (52)

1. A method for consolidating logfile contents from remote computing devices, comprising:

establishing, by a computing device comprising a processor device via a network, connections with a plurality of remote computing devices, each remote computing device having a corresponding logfile comprising information that the remote computing device is configured to store in the corresponding logfile; and

for a plurality of iterations, by the computing device via the network:

for each remote computing device, accessing logfile meta data that identifies attributes of the corresponding logfile, the logfile meta data being separate from data stored in the corresponding logfile, wherein the logfile meta data comprises inode data indicative of whether the corresponding logfile was previously accessed; and

for each remote computing device, based on the inode data indicative of whether the corresponding logfile was accessed, retrieving at least a portion of logfile contents from the corresponding logfile, wherein retrieving the at least the portion of the logfile contents comprises:

determining whether a first inode value of the inode data that identifies an inode at a time T1 and that refers to the corresponding logfile is different from a second inode value of the inode data that identifies the inode at a time T2;

based on the first inode value being different from the second inode value, determining that the logfile was previously accessed and that the logfile has an old logfile status;

retrieving the at least the portion of the logfile contents of the logfile that have been added to the logfile since the logfile was previously accessed; and

sending the at least the portion of the logfile contents to a centralized monitoring service.

2. The method of claim 1 wherein retrieving the at least the portion of the logfile contents further comprises determining a total number of lines of the logfile and storing the total number of lines in a memory.

3. The method of claim 2 wherein retrieving the portion of the logfile contents of the logfile that have been added to the logfile since the logfile was previously accessed comprises:

retrieving a previous total number of lines in the logfile from the memory;

determining a current total number of lines in the logfile;

determining a number of new lines in the logfile based on the previous total number of lines in the logfile and the current total number of lines in the logfile; and

retrieving a number of most recent lines written to the logfile equal to the number of new lines.

4. The method of claim 1 further comprising:

storing, for each logfile, the first inode value that identifies the inode at the time T1 that refers to the corresponding logfile.

5. The method of claim 1 wherein retrieving the at least the portion of the logfile contents further comprises determining a total size of the logfile and storing the total size of the logfile in a memory.

6. The method of claim 5 wherein retrieving the at least the portion of the logfile contents of the logfile that have been added to the logfile since the logfile was previously accessed comprises:

retrieving a previous size of the logfile from the memory;

determining a current size of the logfile;

determining a new amount of data based on the previous size and the current size; and

retrieving a most recent amount of data added to the logfile equal to the new amount of data.

7. The method of claim 1 further comprising waiting a predetermined amount of time, and after the predetermined amount of time, performing another iteration of the plurality of iterations.

8. The method of claim 1 wherein establishing the connections with the plurality of remote computing devices comprises establishing secure connections with the plurality of remote computing devices.

9. The method of claim 8 wherein establishing secure connections with the plurality of remote computing devices comprises obtaining, for each remote computing device of the plurality of remote computing devices, a public key associated with the remote computing device, and establishing the secure connections with the plurality of remote computing devices using the public key associated with each respective remote computing device.

10. A computing device comprising:

a memory; and

a processor device coupled to the memory to:

establish connections with a plurality of remote computing devices, each remote computing device having a corresponding logfile comprising information that the remote computing device is configured to store in the corresponding logfile; and

for a plurality of iterations:

for each remote computing device, access logfile meta data that identifies attributes of the corresponding logfile, the logfile meta data being separate from data stored in the corresponding logfile, wherein the logfile meta data comprises inode data indicative of whether the corresponding logfile was previously accessed; and

for each remote computing device, based on the inode data indicative of whether the corresponding logfile was accessed, retrieve at least a portion of logfile contents from the corresponding logfile, and wherein, to retrieve the at least the portion of the logfile contents, the processor device is further to:

determine whether a first inode value of the inode data that identifies an inode at a time T1 and that refers to the corresponding logfile is different from a second inode value of the inode data that identifies the inode at a time T2;

based on the first inode value being different from the second inode value, determine that the logfile was previously accessed and that the logfile has an old logfile status;

retrieve the at least the portion of the logfile contents of the logfile that have been added to the logfile since the logfile was previously accessed; and

send the at least the portion of the logfile contents to a centralized monitoring service.

11. The computing device of claim 10 wherein, to retrieve the at least the portion of the logfile contents, the processor device is further to determine a total number of lines of the logfile, and store the total number of lines in a memory.

12. The computing device of claim 11 wherein to retrieve the at least the portion of the logfile contents of the logfile that have been added to the logfile since the logfile was previously accessed the processor device is further to:

retrieve a previous total number of lines in the logfile from the memory;

determine a current total number of lines in the logfile;

determine a number of new lines in the logfile based on the previous total number of lines in the logfile and the current total number of lines in the logfile; and

retrieve a number of most recent lines written to the logfile equal to the number of new lines.

13. A computer program product for consolidating log information from remote computing devices, the computer program product stored on a non-transitory computer-readable storage medium and including instructions to cause a processor device to carry out steps of:

establishing connections with a plurality of remote computing devices, each remote computing device having a corresponding logfile comprising information that the remote computing device is configured to store in the corresponding logfile;

for a plurality of iterations, by a computing device via a network:

for each remote computing device, accessing logfile meta data that identifies attributes of the corresponding logfile, the logfile meta data being separate from data stored in the corresponding logfile, wherein the logfile meta data comprises inode data indicative of whether the corresponding logfile was previously accessed; and

for each remote computing device, based on the inode data indicative of whether the corresponding logfile was accessed, retrieving at least a portion of logfile contents from the corresponding logfile, and wherein retrieving the at least the portion of the logfile contents comprises:

determining whether a first inode value of the inode data that identifies an inode at a time T1 and that refers to the corresponding logfile is different from a second inode value of the inode data that identifies the inode at a time T2;

based on the first inode value being different from the second inode value, determining that the logfile was previously accessed and that the logfile has an old logfile status;

retrieving the at least the portion of the logfile contents of the logfile that have been added to the logfile since the logfile was previously accessed; and

sending the at least the portion of the logfile contents to a centralized monitoring service.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2021
From: SHUSTER, BOAZ
To: RED HAT, INC.
Reel/Frame 058178/0563 →
Continuity (2)
Continuation 15202986 · Jul 6, 2016
Related Publication 20220075769A1 · Mar 10, 2022
References Cited (62)
US 5978940A · Newman et al. · 1999 [cited by applicant]
US 5987633A · Newman et al. · 1999 [cited by applicant]
US 6374296B1 · Lim et al. · 2002 [cited by applicant]
US 6789156B1 · Waldspurger · 2004 [cited by applicant]
US 7209898B2 · Pfeiffer et al. · 2007 [cited by applicant]
US 7653836B1 · Chatterjee et al. · 2010 [cited by applicant]
US 8464335B1 · Sinha et al. · 2013 [cited by applicant]
US 9736243B2 · Chablani et al. · 2017 [cited by applicant]
US 9959489B2 · Yamamoto et al. · 2018 [cited by applicant]
US 10142195B1 · Sledz et al. · 2018 [cited by applicant]
US 10181991B1 · Mathews et al. · 2019 [cited by applicant]
US 10387370B2 · Shuster · 2019 [cited by applicant]
US 20030009486A1 · Shimada et al. · 2003 [cited by applicant]
US 20030105811A1 · Laborde et al. · 2003 [cited by applicant]
US 20030135507A1 · Hind et al. · 2003 [cited by applicant]
US 20040078722A1 · Pfeiffer et al. · 2004 [cited by applicant]
US 20050235058A1 · Rackus et al. · 2005 [cited by applicant]
US 20050273667A1 · Shrivastava et al. · 2005 [cited by applicant]
US 20060106851A1 · Warshawsky · 2006 [cited by examiner]
US 20070050777A1 · Hutchinson et al. · 2007 [cited by applicant]
US 20070100991A1 · Daniels et al. · 2007 [cited by applicant]
US 20070283194A1 · Villella · 2007 [cited by examiner]
US 20090013149A1 · Uhlig et al. · 2009 [cited by applicant]
US 20090138703A1 · Schneider · 2009 [cited by applicant]
US 20090313503A1 · Atluri et al. · 2009 [cited by applicant]
US 20110153616A1 · Torres · 2011 [cited by applicant]
US 20110208663A1 · Kennis · 2011 [cited by examiner]
US 20110276695A1 · Maldaner · 2011 [cited by applicant]
US 20120017028A1 · Tsirkin · 2012 [cited by applicant]
US 20120216007A1 · Tsirkin · 2012 [cited by examiner]
US 20130227352A1 · Kumarasamy et al. · 2013 [cited by applicant]
US 20130332424A1 · Nos · 2013 [cited by examiner]
US 20140040180A1 · Ruhl et al. · 2014 [cited by applicant]
US 20140058801A1 · Deodhar et al. · 2014 [cited by applicant]
US 20140181036A1 · Dhamankar · 2014 [cited by examiner]
US 20140181461A1 · Kegel et al. · 2014 [cited by applicant]
US 20140279920A1 · Madhavarapu · 2014 [cited by examiner]
US 20140282031A1 · Hinterbichler et al. · 2014 [cited by applicant]
US 20150220605A1 · Syed et al. · 2015 [cited by applicant]
US 20150256423A1 · Stearns · 2015 [cited by applicant]
US 20150269183A1 · Avati · 2015 [cited by examiner]
US 20150269213A1 · Avati · 2015 [cited by examiner]
US 20150286663A1 · Mangan, III et al. · 2015 [cited by applicant]
US 20150324297A1 · Tati et al. · 2015 [cited by applicant]
US 20160041976A1 · Pradeep · 2016 [cited by examiner]
US 20160275101A1 · Hinterbichler · 2016 [cited by examiner]
US 20160275128A1 · Dayka · 2016 [cited by examiner]
US 20160292263A1 · Ferrar · 2016 [cited by applicant]
US 20160299934A1 · Karandikar · 2016 [cited by examiner]
US 20160378577A1 · Russell et al. · 2016 [cited by applicant]
US 20170075922A1 · Torman · 2017 [cited by examiner]
US 20170104820A1 · Golander et al. · 2017 [cited by applicant]
US 20170331880A1 · Crofton · 2017 [cited by examiner]
US 20180013612A1 · Shuster · 2018 [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 15/202,986, mailed Jun. 1, 2019, 23 pages. [cited by applicant]
Final Office Action for U.S. Appl. No. 15/202,986, mailed Jan. 18, 2019, 18 pages. [cited by applicant]
Advisory Action for U.S. Appl. No. 15/202,986, mailed May 23, 2019, 5 pages. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 15/202,986, mailed Sep. 17, 2019, 20 pages. [cited by applicant]
Final Office Action for U.S. Appl. No. 15/202,986, mailed Apr. 22, 2020, 25 pages. [cited by applicant]
Advisory Action for U.S. Appl. No. 15/202,986, mailed Jul. 17, 2020, 3 pages. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 15/202,986, mailed Jan. 14, 2021, 26 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/202,986, mailed Jul. 30, 2021, 13 pages. [cited by applicant]