IP Library Granted Patent US 12,362,995
Granted Patent B2
US 12,362,995 · App. 18/387,272 · Granted Jul 15, 2025

Reconciliation of partial configuration items

Inventor: Brian James Waplington (San Diego, CA)
Assignee: ServiceNow, Inc.
H04L41/0823H04L41/12H04L41/16
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,362,995
App. No.
18/387,272
Granted
Jul 15, 2025
Kind
B2
Abstract

An example embodiment may involve determining that a configuration item has failed identification, wherein the configuration item represents computing hardware or software associated with a network; based on the configuration item failing identification, performing a reconciliation procedure, wherein the reconciliation procedure modifies an attribute of the configuration item; determining that the configuration item as modified passes identification; and writing, to a database, the configuration item as modified.

Claims (54)

1. A method comprising:

determining that a first configuration item has failed identification due to a first attribute of the first configuration item, wherein the first configuration item represents computing hardware or software associated with a network;

based on the first configuration item failing identification, writing the first configuration item to storage;

loading a plurality of partial configuration items from the storage, including the first configuration item and a second configuration item, wherein the second configuration item includes a second attribute;

performing a reconciliation procedure, wherein the reconciliation procedure modifies the first attribute of the first configuration item and the second attribute of the second configuration item;

determining that the first configuration item as modified passes identification and that the second configuration item as modified fails identification;

writing, to a database, the first configuration item as modified; and

writing, to the storage, the second configuration item as modified.

2. The method of claim 1 , wherein the computing hardware or software is disposed upon the network.

3. The method of claim 1 , wherein the first configuration item prior to modification was a result of a discovery procedure performed on the network, and wherein the reconciliation procedure comprises performing the discovery procedure again on at least part of the network.

4. The method of claim 3 , wherein performing the discovery procedure again comprises performing the discovery procedure on a subset of the network identified by a set of network addresses or a range of component identifiers.

5. The method of claim 3 , wherein performing the discovery procedure again comprises performing the discovery procedure using a different set of access credentials.

6. The method of claim 1 , wherein the first configuration item prior to modification was a result of a discovery procedure performed on the network, and wherein the reconciliation procedure comprises performing a different discovery procedure on at least part of the network.

7. The method of claim 1 , wherein the first attribute has an empty or incorrectly-formatted value prior to performing the reconciliation procedure, and wherein the reconciliation procedure modifies the first attribute to have a non-empty and correctly-formatted value.

8. The method of claim 1 , wherein the first attribute has an empty or incorrectly-formatted value prior to performing the reconciliation procedure, and wherein the first attribute having a non-empty and correctly-formatted value is required for the first configuration item to pass identification.

9. The method of claim 1 , further comprising:

based on a third configuration item failing identification, storing the third configuration item in memory; and

based on the third configuration item as modified passing identification, deleting the third configuration item from the memory.

10. The method of claim 1 , wherein the first configuration item is associated with a plurality of attributes, wherein the first configuration item prior to modification was a result of a discovery procedure performed on the network, and wherein the reconciliation procedure comprises:

providing a subset of the attributes to a trained machine learning model, wherein the trained machine learning model was trained to predict, based on values of the subset of the attributes, target attribute values that have caused other configuration items to pass identification;

receiving a target attribute value for the first attribute from the trained machine learning model; and

modifying the first attribute of the first configuration item to have the target attribute value.

11. The method of claim 1 , wherein the first configuration item is associated with a plurality of attributes, wherein the first configuration item prior to modification was a result of a discovery procedure performed on the network, and wherein the reconciliation procedure comprises:

providing a subset of the attributes to a trained generative artificial intelligence (AI) model, wherein the trained generative Al model was trained to predict, based on other configuration items that have passed identification, groupings of attribute values;

based on a representation of the groupings of attribute values, receiving a target attribute value for the first attribute from the trained generative Al model; and

modifying the first attribute of the first configuration item to have the target attribute value.

12. The method of claim 1 , wherein the first configuration item is one of a plurality of configuration items that have failed identification, wherein the plurality of configuration items are stored in memory as one or more files or database entries, and wherein performing the reconciliation procedure comprises reading, from the one or more files or database entries, a block of data containing the configuration item but less than an entirety of the plurality of configuration items.

13. The method of claim 1 , wherein the first configuration item is one of a plurality of configuration items that have failed identification, wherein the plurality of configuration items are stored in memory as one or more files or database entries, and wherein performing the reconciliation procedure comprises iteratively streaming, from the one or more files or database entries, blocks of data respectively containing different subsets of the configuration items.

14. The method of claim 1 , wherein the storage is within the database.

15. A non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a computing system, cause the computing system to perform operations comprising:

determining that a first configuration item has failed identification due to a first attribute of the first configuration item, wherein the first configuration item represents computing hardware or software associated with a network;

based on the first configuration item failing identification, writing the first configuration item to storage;

loading a plurality of partial configuration items from the storage, including the first configuration item and a second configuration item, wherein the second configuration item includes a second attribute;

performing a reconciliation procedure, wherein the reconciliation procedure modifies the first attribute of the first configuration item and the second attribute of the second configuration item;

determining that the first configuration item as modified passes identification and that the second configuration item as modified fails identification;

writing, to a database, the first configuration item as modified; and

writing, to the storage, the second configuration item as modified.

16. The non-transitory computer-readable medium of claim 15 , wherein the first configuration item prior to modification was a result of a discovery procedure performed on the network, wherein the reconciliation procedure comprises performing the discovery procedure again on at least part of the network, and wherein performing the discovery procedure again comprises performing the discovery procedure on a subset of the network identified by a set of network addresses or a range of component identifiers.

17. The non-transitory computer-readable medium of claim 15 , wherein the first configuration item prior to modification was a result of a discovery procedure performed on the network, wherein the reconciliation procedure comprises performing the discovery procedure again on at least part of the network, and wherein performing the discovery procedure again comprises performing the discovery procedure using a different set of access credentials.

18. The non-transitory computer-readable medium of claim 15 , wherein the first attribute has an empty or incorrectly-formatted value prior to performing the reconciliation procedure, and wherein the reconciliation procedure modifies the first attribute to have a non-empty and correctly-formatted value.

19. The non-transitory computer-readable medium of claim 15 , wherein the first configuration item is associated with a plurality of attributes, wherein the first configuration item prior to modification was a result of a discovery procedure performed on the network, and wherein the reconciliation procedure comprises:

providing a subset of the attributes to a trained generative artificial intelligence (AI) model, wherein the trained generative Al model was trained to predict, based on other configuration items that have passed identification, groupings of attribute values;

based on a representation of the groupings of attribute values, receiving a target attribute value for the first attribute from the trained generative Al model; and

modifying the first attribute of the first configuration item to have the target attribute value.

20. A system comprising:

one or more processors; and

memory, containing program instructions that, upon execution by the one or more processors, cause the system to perform operations comprising:

determining that a first configuration item has failed identification due to a first attribute of the first configuration item, wherein the first configuration item represents computing hardware or software associated with a network;

based on the first configuration item failing identification, writing the first configuration item to storage;

loading a plurality of partial configuration items from the storage, including the first configuration item and a second configuration item, wherein the second configuration item includes a second attribute;

performing a reconciliation procedure, wherein the reconciliation procedure modifies the first attribute of the first configuration item and the second attribute of the second configuration item;

determining that the first configuration item as modified passes identification and that the second configuration item as modified fails identification;

writing, to a database, the first configuration item as modified; and

writing, to the storage, the second configuration item as modified.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2023
From: WAPLINGTON, BRIAN JAMES
To: SERVICENOW, INC.
Reel/Frame 065471/0900 →
Continuity (1)
Related Publication 20250150340A1 · May 8, 2025
References Cited (172)
US 4941084A · Terada · 1990 [cited by applicant]
US 5185860A · Wu · 1993 [cited by applicant]
US 5237518A · Sztipanovits · 1993 [cited by applicant]
US 5261097A · Saxon · 1993 [cited by applicant]
US 5265252A · Rawson, III · 1993 [cited by applicant]
US 5367685A · Gosling · 1994 [cited by applicant]
US 5390297A · Barber · 1995 [cited by applicant]
US 5442791A · Wrabetz · 1995 [cited by applicant]
US 5452415A · Hotka · 1995 [cited by applicant]
US 5522042A · Fee · 1996 [cited by applicant]
US 5533116A · Vesterinen · 1996 [cited by applicant]
US 5655081A · Bonnell · 1997 [cited by applicant]
US 5659736A · Hasegawa · 1997 [cited by applicant]
US 5671412A · Christiano · 1997 [cited by applicant]
US 5696701A · Burgess · 1997 [cited by applicant]
US 5715463A · Merkin · 1998 [cited by applicant]
US 5745879A · Wyman · 1998 [cited by applicant]
US 5761502A · Jacobs · 1998 [cited by applicant]
US 5764913A · Jancke · 1998 [cited by applicant]
US 5887139A · Madison, Jr. · 1999 [cited by applicant]
US 5909217A · Bereiter · 1999 [cited by applicant]
US 5937165A · Schwaller · 1999 [cited by applicant]
US 5949976A · Chappelle · 1999 [cited by applicant]
US 5978594A · Bonnell · 1999 [cited by applicant]
US 6021437A · Chen · 2000 [cited by applicant]
US 6041347A · Harsham · 2000 [cited by applicant]
US 6088717A · Reed · 2000 [cited by applicant]
US 6101500A · Lau · 2000 [cited by applicant]
US 6128016A · Coelho · 2000 [cited by applicant]
US 6131118A · Stupek, Jr. · 2000 [cited by applicant]
US 6134581A · Ismael · 2000 [cited by applicant]
US 6138122A · Smith · 2000 [cited by applicant]
US 6148335A · Haggard · 2000 [cited by applicant]
US 6166732A · Mitchell · 2000 [cited by applicant]
US 6167448A · Hemphill · 2000 [cited by applicant]
US 6175866B1 · Holloway · 2001 [cited by applicant]
US 6175878B1 · Seaman · 2001 [cited by applicant]
US 6260050B1 · Yost · 2001 [cited by applicant]
US 6263457B1 · Anderson · 2001 [cited by applicant]
US 6272150B1 · Irastar · 2001 [cited by applicant]
US 6336138B1 · Caswell · 2002 [cited by applicant]
US 6363421B2 · Barker · 2002 [cited by applicant]
US 6393386B1 · Zager · 2002 [cited by applicant]
US 6397245B1 · Johnson, II · 2002 [cited by applicant]
US 6434626B1 · Prakash · 2002 [cited by applicant]
US 6438592B1 · Killian · 2002 [cited by applicant]
US 6456306B1 · Chin · 2002 [cited by applicant]
US 6466932B1 · Dennis · 2002 [cited by applicant]
US 6487590B1 · Foley · 2002 [cited by applicant]
US 6505248B1 · Casper · 2003 [cited by applicant]
US 6526442B1 · Stupek, Jr. · 2003 [cited by applicant]
US 6621823B1 · Mellquist · 2003 [cited by applicant]
US 6707795B1 · Noorhosseini · 2004 [cited by applicant]
US 6742015B1 · Bowman-Amuah · 2004 [cited by applicant]
US 6763380B1 · Mayton · 2004 [cited by applicant]
US 6816898B1 · Joe · 2004 [cited by applicant]
US 6895586B1 · Brasher · 2005 [cited by applicant]
US 6948175B1 · Fong · 2005 [cited by applicant]
US 6985901B1 · Sachse · 2006 [cited by applicant]
US 7003564B2 · Greuel · 2006 [cited by applicant]
US 7028228B1 · Lovy · 2006 [cited by applicant]
US 7043537B1 · Pratt · 2006 [cited by applicant]
US 7043661B2 · Valadarsky · 2006 [cited by applicant]
US 7062683B2 · Warpenburg · 2006 [cited by applicant]
US 7096459B2 · Keller · 2006 [cited by applicant]
US 7146574B2 · Goldthwaite · 2006 [cited by applicant]
US 7197466B1 · Peterson · 2007 [cited by applicant]
US 7215360B2 · Gupta · 2007 [cited by applicant]
US 7216304B1 · Gourdol · 2007 [cited by applicant]
US 7222147B1 · Black · 2007 [cited by applicant]
US 7281170B2 · Taylor · 2007 [cited by applicant]
US 7412502B2 · Fearn · 2008 [cited by applicant]
US 7505872B2 · Keller · 2009 [cited by applicant]
US 7593013B2 · Agutter · 2009 [cited by applicant]
US 7596716B2 · Frost · 2009 [cited by applicant]
US 7617073B2 · Trinon · 2009 [cited by applicant]
US 7660731B2 · Chaddha · 2010 [cited by applicant]
US 7676294B2 · Baier · 2010 [cited by applicant]
US 7676437B2 · Satkunanathan · 2010 [cited by applicant]
US 7840490B1 · Sellers · 2010 [cited by applicant]
US 7877783B1 · Cline · 2011 [cited by applicant]
US 7890869B1 · Mayer · 2011 [cited by applicant]
US 7966398B2 · Wiles, Jr. · 2011 [cited by applicant]
US 8060396B1 · Bessler · 2011 [cited by applicant]
US 8196210B2 · Sterin · 2012 [cited by applicant]
US 8321948B2 · Robinson · 2012 [cited by applicant]
US 8407669B2 · Yee · 2013 [cited by applicant]
US 8554750B2 · Rangarajan · 2013 [cited by applicant]
US 8595647B2 · Sabin · 2013 [cited by applicant]
US 8620818B2 · Hughes · 2013 [cited by applicant]
US 8646093B2 · Myers · 2014 [cited by applicant]
US 8674992B2 · Poston · 2014 [cited by applicant]
US 8712979B2 · Morozov · 2014 [cited by applicant]
US 8725647B2 · Disciascio · 2014 [cited by applicant]
US 9053460B2 · Gilbert · 2015 [cited by applicant]
US 9069737B1 · Kimotho · 2015 [cited by applicant]
US 9971826B1 · Belmar · 2018 [cited by applicant]
US 10673963B1 · Feiguine · 2020 [cited by applicant]
US 10749943B1 · Feiguine · 2020 [cited by applicant]
US 10771344B2 · Bitterfeld · 2020 [cited by applicant]
US 10824650B2 · Bar Oz · 2020 [cited by applicant]
US 10944654B2 · Rimar · 2021 [cited by applicant]
US 10999152B1 · Bar Oz · 2021 [cited by applicant]
US 11025481B1 · Louca · 2021 [cited by applicant]
US 11089115B2 · Garty · 2021 [cited by applicant]
US 11095506B1 · Erblat · 2021 [cited by applicant]
US 11275580B2 · Tamir · 2022 [cited by applicant]
US 11277475B1 · Tal · 2022 [cited by applicant]
US 11281442B1 · Tal · 2022 [cited by applicant]
US 11294666B1 · Look · 2022 [cited by applicant]
US 11296922B2 · Leibkowiz · 2022 [cited by applicant]
US 11301503B2 · Burli · 2022 [cited by applicant]
US 11379089B2 · Goswami · 2022 [cited by applicant]
US 11451573B2 · Waplington · 2022 [cited by applicant]
US 11470107B2 · Waplington · 2022 [cited by applicant]
US 11582106B2 · Hameiri · 2023 [cited by applicant]
US 11616690B2 · Feiguine · 2023 [cited by applicant]
US 11630717B2 · Vutukuru · 2023 [cited by applicant]
US 11632303B2 · Bitterfeld · 2023 [cited by applicant]
US 11640369B2 · Bhogle · 2023 [cited by applicant]
US 11671444B2 · Waplington · 2023 [cited by applicant]
US 11695641B2 · Bar Oz · 2023 [cited by applicant]
US 20020116340A1 · Hellberg · 2002 [cited by applicant]
US 20020133584A1 · Greuel · 2002 [cited by applicant]
US 20020158969A1 · Gupta · 2002 [cited by applicant]
US 20030118087A1 · Goldthwaite · 2003 [cited by applicant]
US 20030200293A1 · Fearn · 2003 [cited by applicant]
US 20050015217A1 · Weidl · 2005 [cited by applicant]
US 20050091356A1 · Izzo · 2005 [cited by applicant]
US 20060026453A1 · Frost · 2006 [cited by applicant]
US 20060095461A1 · Raymond · 2006 [cited by applicant]
US 20060179058A1 · Bram · 2006 [cited by applicant]
US 20060288053A1 · Holt · 2006 [cited by applicant]
US 20060293942A1 · Chaddha · 2006 [cited by applicant]
US 20070033279A1 · Battat · 2007 [cited by applicant]
US 20070188494A1 · Agutter · 2007 [cited by applicant]
US 20070288389A1 · Vaughan · 2007 [cited by applicant]
US 20080133289A1 · Armour · 2008 [cited by applicant]
US 20080148253A1 · Badwe · 2008 [cited by applicant]
US 20080319779A1 · Hughes · 2008 [cited by applicant]
US 20090088875A1 · Baier · 2009 [cited by applicant]
US 20090228984A1 · Sterin · 2009 [cited by applicant]
US 20090319559A1 · Westerfeld · 2009 [cited by applicant]
US 20100110932A1 · Doran · 2010 [cited by applicant]
US 20130283273A1 · Miyazaki · 2013 [cited by applicant]
US 20140122427A1 · Dary · 2014 [cited by applicant]
US 20180123940A1 · Rimar · 2018 [cited by applicant]
US 20190058643A1 · Knowles · 2019 [cited by examiner]
US 20190073257A1 · Dasgupta · 2019 [cited by applicant]
US 20190104398A1 · Owen · 2019 [cited by examiner]
US 20190129739A1 · Al Reza · 2019 [cited by applicant]
US 20190149515A1 · Sharma · 2019 [cited by applicant]
US 20190165957A1 · Abbott · 2019 [cited by applicant]
US 20190342162A1 · Bendre · 2019 [cited by applicant]
US 20200034462A1 · Narayanasamy · 2020 [cited by applicant]
US 20200050689A1 · Tal · 2020 [cited by applicant]
US 20200089750A1 · Ros · 2020 [cited by applicant]
US 20200204443A1 · Bar Oz · 2020 [cited by applicant]
US 20200301678A1 · Burman · 2020 [cited by applicant]
US 20200328941A1 · Feiguine · 2020 [cited by applicant]
US 20210097168A1 · Patel · 2021 [cited by applicant]
US 20210194764A1 · Badyan · 2021 [cited by applicant]
US 20210248108A1 · Martinez Lerin · 2021 [cited by applicant]
US 20210392155A1 · Waplington · 2021 [cited by examiner]
US 20220050815A1 · Peterkin · 2022 [cited by applicant]
US 20220311740A1 · Gautam · 2022 [cited by applicant]
EP 0433979A2 · 1991 [cited by applicant]
EP 1607824A2 · 2005 [cited by applicant]
WO 9934285W · 1999 [cited by applicant]
WO 0052559W · 2000 [cited by applicant]
WO 0179970W · 2001 [cited by applicant]
International Search Report and Written Opinion, PCT Application PCT/US2024/047444, mailed Dec. 24, 2024. [cited by applicant]