IP Library Granted Patent US 12,309,028
Granted Patent B2
US 12,309,028 · App. 17/574,203 · Granted May 20, 2025

Automatic determination of code customizations

Inventors: Vamsi Krishna Madala (San Diego, CA); Brian James Waplington (San Diego, CA); Santosh Poreddy (Santa Clara, CA)
Assignee: ServiceNow, Inc.
H04L41/0859H04L41/12H04L41/16H04L41/22
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,309,028
App. No.
17/574,203
Granted
May 20, 2025
Kind
B2
Abstract

A system could include a first set of mappings between application files and version indicators. The application files could be related to a software application. The system could also include a second set of mappings between application files and a first subset of version indicators, where a standardized release of the software application includes application file versions in accordance with the first subset. The system could further include a third set of mappings between a second subset of version indicators and records indicating that the corresponding application file versions were written after the standardized release. The system could further include processors configured to perform operations including: determining that an application file in the third set of mappings has standardized release version. The operations could further include providing a difference between a recent version of the application file and the application file version that was part of the standardized release.

Claims (49)

1. A computer-implemented method comprising:

obtaining, for installation into persistent storage, a software release;

updating a set of mappings to include mappings between identifiers of application files that are part of the software release and version indicators for the application files that are part of the software release;

determining, based on the set of mappings, that a version of an application file has been written to persistent storage after the software release was installed, wherein the application file is one of a plurality of the application files that make up the software release, wherein the version of the application file was written in response to a user customization of the application file;

determining a difference between the version of the application file and a previous version of the application file that was included in the software release; and

transmitting, to a client device, a representation of the difference.

2. The computer-implemented method of claim 1 , wherein transmitting the representation of the difference comprises:

generating, for display on a graphical user interface, a representation of the version of the application file and a representation of the previous version of the application file; and

transmitting the representations as generated.

3. The computer-implemented method of claim 2 , wherein the difference between the version of the application file and the previous version of the application file is highlighted on the graphical user interface.

4. The computer-implemented method of claim 1 , wherein determining that the version of the application file has been written to persistent storage after the software release was installed comprises finding an entry in a log, wherein the entry indicates that the previous version of the application file was modified into the version of the application file after the software release.

5. The computer-implemented method of claim 1 , wherein determining that the version of the application file has been written to persistent storage after the software release was installed comprises finding an entry in a log, wherein the entry indicates that a timestamp of the version of the application file written to persistent storage is greater than a timestamp of the software release.

6. The computer-implemented method of claim 1 , wherein determining that the version of the application file has been written to persistent storage after the software release was installed comprises finding an entry in a log, wherein the entry references the version of the application file, and wherein creation of the entry comprises:

receiving the version of the application file;

determining that the version of the application file is different from the previous version of the application file; and

in response to determining that the version of the application file is different from the previous version of the application file, writing, in the entry, a reference to the version of the application file.

7. The computer-implemented method of claim 1 , wherein determining that the version of the application file has been written to persistent storage after the software release was installed comprises finding a record in installation mappings indicating that the previous version of the application file is standard in the software release.

8. The computer-implemented method of claim 1 , wherein the set of mappings includes an indication of an entity that added the version of the application file.

9. An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a one or more processors a computing system, cause the computing system to perform operations comprising:

obtaining, for installation into persistent storage, a software release;

updating a set of mappings to include mappings between identifiers of application files that are part of the software release and version indicators for the application files that are part of the software release;

determining, based on the set of mappings, that a version of an application file has been written to persistent storage after the software release was installed, wherein the application file is one of a plurality of the application files that make up the software release, wherein the version of the application file was written in response to a user customization of the application file;

determining a difference between the version of the application file and a previous version of the application file that was included in the software release; and

transmitting, to a client device, a representation of the difference.

10. The article of manufacture of claim 9 , wherein transmitting the representation of the difference comprises:

generating, for display on a graphical user interface, a representation of the version of the application file and a representation of the previous version of the application file; and

transmitting the representations as generated.

11. The article of manufacture of claim 10 , wherein the difference between the version of the application file and the previous version of the application file is highlighted on the graphical user interface.

12. The article of manufacture of claim 9 , wherein determining that the version of the application file has been written to persistent storage after the software release was installed comprises finding an entry in a log, wherein the entry indicates that the previous version of the application file was modified into the version of the application file after the software release.

13. The article of manufacture of claim 9 , wherein determining that the version of the application file has been written to persistent storage after the software release was installed comprises finding an entry in a log, wherein the entry indicates that a timestamp of the version of the application file written to persistent storage is greater than a timestamp of the software release.

14. The article of manufacture of claim 9 , wherein determining that the version of the application file has been written to persistent storage after the software release was installed comprises finding an entry in a log, wherein the entry references the version of the application file, and wherein creation of the entry comprises:

receiving the version of the application file;

determining that the version of the application file is different from the previous version of the application file; and

in response to determining that the version of the application file is different from the previous version of the application file, writing, in the entry, a reference to the version of the application file.

15. The article of manufacture of claim 9 , wherein determining that the version of the application file has been written to persistent storage after the software release was installed comprises finding a record in installation mappings indicating that the previous version of the application file is standard in the software release.

16. The article of manufacture of claim 9 , wherein the set of mappings includes an indication of an entity that added the version of the application file.

17. A computing system comprising:

memory;

one or more processors; and

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

obtaining, for installation into persistent storage, a software release;

updating a set of mappings to include mappings between identifiers of application files that are part of the software release and version indicators for the application files that are part of the software release;

determining, based on the set of mappings, that a version of an application file has been written to persistent storage after the software release was installed, wherein the application file is one of a plurality of the application files that make up the software release, wherein the version of the application file was written in response to a user customization of the application file;

determining a difference between the version of the application file and a previous version of the application file that was included in the software release; and

transmitting, to a client device, a representation of the difference.

18. The computing system of claim 17 , wherein determining that the version of the application file has been written to memory after the software release was installed comprises finding an entry in a log, wherein the entry references the version of the application file, and wherein creation of the entry comprises:

receiving the version of the application file;

determining that the version of the application file is different from the previous version of the application file; and

in response to determining that the version of the application file is different from the previous version of the application file, writing, in the entry, a reference to the version of the application file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2022
From: MADALA, VAMSI KRISHNA; WAPLINGTON, BRIAN JAMES; POREDDY, SANTOSH
To: SERVICENOW, INC.
Reel/Frame 058636/0094 →
Continuity (3)
Continuation 17244150 · Apr 29, 2021
Continuation 16843573 · Apr 8, 2020
Related Publication 20220141098A1 · May 5, 2022
References Cited (149)
US 4941084A · Terada et al. · 1990 [cited by applicant]
US 5185860A · Wu · 1993 [cited by applicant]
US 5237518A · Sztipanovits et al. · 1993 [cited by applicant]
US 5261097A · Saxon · 1993 [cited by applicant]
US 5265252A · Rawson, III et al. · 1993 [cited by applicant]
US 5367685A · Gosling · 1994 [cited by applicant]
US 5390297A · Barber et al. · 1995 [cited by applicant]
US 5442791A · Wrabetz et al. · 1995 [cited by applicant]
US 5452415A · Hotka · 1995 [cited by applicant]
US 5522042A · Fee et al. · 1996 [cited by applicant]
US 5533116A · Vesterinen · 1996 [cited by applicant]
US 5655081A · Bonnell et al. · 1997 [cited by applicant]
US 5659736A · Hasegawa et al. · 1997 [cited by applicant]
US 5671412A · Christiano · 1997 [cited by examiner]
US 5696701A · Burgess et al. · 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 et al. · 1998 [cited by applicant]
US 5887139A · Madison, Jr. et al. · 1999 [cited by applicant]
US 5909217A · Bereiter · 1999 [cited by applicant]
US 5937165A · Schwaller et al. · 1999 [cited by applicant]
US 5949976A · Chappelle · 1999 [cited by applicant]
US 5978594A · Bonnell et al. · 1999 [cited by applicant]
US 6021437A · Chen et al. · 2000 [cited by applicant]
US 6041347A · Harsham et al. · 2000 [cited by applicant]
US 6088717A · Reed et al. · 2000 [cited by applicant]
US 6101500A · Lau · 2000 [cited by applicant]
US 6128016A · Coelho et al. · 2000 [cited by applicant]
US 6131118A · Stupek, Jr. et al. · 2000 [cited by applicant]
US 6134581A · Ismael et al. · 2000 [cited by applicant]
US 6138122A · Smith et al. · 2000 [cited by applicant]
US 6148335A · Haggard et al. · 2000 [cited by applicant]
US 6166732A · Mitchell et al. · 2000 [cited by applicant]
US 6167448A · Hemphill et al. · 2000 [cited by applicant]
US 6175866B1 · Holloway et al. · 2001 [cited by applicant]
US 6175878B1 · Seaman et al. · 2001 [cited by applicant]
US 6260050B1 · Yost et al. · 2001 [cited by applicant]
US 6263457B1 · Anderson et al. · 2001 [cited by applicant]
US 6272150B1 · Hrastar et al. · 2001 [cited by applicant]
US 6336138B1 · Caswell et al. · 2002 [cited by applicant]
US 6363421B2 · Barker et al. · 2002 [cited by applicant]
US 6393386B1 · Zager et al. · 2002 [cited by applicant]
US 6397245B1 · Johnson, II et al. · 2002 [cited by applicant]
US 6434626B1 · Prakash et al. · 2002 [cited by applicant]
US 6438592B1 · Killian · 2002 [cited by applicant]
US 6456306B1 · Chin et al. · 2002 [cited by applicant]
US 6466932B1 · Dennis et al. · 2002 [cited by applicant]
US 6487590B1 · Foley et al. · 2002 [cited by applicant]
US 6505248B1 · Casper et al. · 2003 [cited by applicant]
US 6526442B1 · Stupek, Jr. et al. · 2003 [cited by applicant]
US 6621823B1 · Mellquist et al. · 2003 [cited by applicant]
US 6707795B1 · Noorhosseini et al. · 2004 [cited by applicant]
US 6742015B1 · Bowman-Amuah · 2004 [cited by applicant]
US 6763380B1 · Mayton et al. · 2004 [cited by applicant]
US 6816898B1 · Scarpelli et al. · 2004 [cited by applicant]
US 6895586B1 · Brasher et al. · 2005 [cited by applicant]
US 6948175B1 · Fong et al. · 2005 [cited by applicant]
US 6985901B1 · Sachse et al. · 2006 [cited by applicant]
US 7003564B2 · Greuel et al. · 2006 [cited by applicant]
US 7028228B1 · Lovy et al. · 2006 [cited by applicant]
US 7043537B1 · Pratt · 2006 [cited by applicant]
US 7043661B2 · Valadarsky et al. · 2006 [cited by applicant]
US 7062683B2 · Warpenburg et al. · 2006 [cited by applicant]
US 7096459B2 · Keller et al. · 2006 [cited by applicant]
US 7146574B2 · Goldthwaite et al. · 2006 [cited by applicant]
US 7197466B1 · Peterson et al. · 2007 [cited by applicant]
US 7215360B2 · Gupta · 2007 [cited by applicant]
US 7216304B1 · Gourdol et al. · 2007 [cited by applicant]
US 7222147B1 · Black et al. · 2007 [cited by applicant]
US 7281170B2 · Taylor et al. · 2007 [cited by applicant]
US 7412502B2 · Fearn et al. · 2008 [cited by applicant]
US 7505872B2 · Keller et al. · 2009 [cited by applicant]
US 7593013B2 · Agutter et al. · 2009 [cited by applicant]
US 7596716B2 · Frost et al. · 2009 [cited by applicant]
US 7617073B2 · Trinon et al. · 2009 [cited by applicant]
US 7660731B2 · Chaddha et al. · 2010 [cited by applicant]
US 7676294B2 · Baier et al. · 2010 [cited by applicant]
US 7676437B2 · Satkunanathan et al. · 2010 [cited by applicant]
US 7693845B2 · Scanzano · 2010 [cited by applicant]
US 7840490B1 · Sellers et al. · 2010 [cited by applicant]
US 7877783B1 · Cline et al. · 2011 [cited by applicant]
US 7890869B1 · Mayer et al. · 2011 [cited by applicant]
US 7966398B2 · Wiles, Jr. · 2011 [cited by applicant]
US 7979450B2 · Adler · 2011 [cited by applicant]
US 8060396B1 · Bessler et al. · 2011 [cited by applicant]
US 8108431B1 · Guner · 2012 [cited by applicant]
US 8196210B2 · Sterin · 2012 [cited by applicant]
US 8321948B2 · Robinson · 2012 [cited by examiner]
US 8407669B2 · Yee et al. · 2013 [cited by applicant]
US 8554750B2 · Rangarajan et al. · 2013 [cited by applicant]
US 8595647B2 · Sabin et al. · 2013 [cited by applicant]
US 8620818B2 · Hughes et al. · 2013 [cited by applicant]
US 8646093B2 · Myers et al. · 2014 [cited by applicant]
US 8674992B2 · Poston et al. · 2014 [cited by applicant]
US 8725647B2 · Disciascio et al. · 2014 [cited by applicant]
US 9053460B2 · Gilbert et al. · 2015 [cited by applicant]
US 10489388B1 · Rogynskyy · 2019 [cited by applicant]
US 10673963B1 · Feiguine et al. · 2020 [cited by applicant]
US 10749943B1 · Feiguine et al. · 2020 [cited by applicant]
US 10771344B2 · Bitterfeld et al. · 2020 [cited by applicant]
US 10824650B2 · Bar Oz et al. · 2020 [cited by applicant]
US 10944654B2 · Rimar et al. · 2021 [cited by applicant]
US 11032381B2 · Feiguine · 2021 [cited by applicant]
US 11089115B2 · Garty et al. · 2021 [cited by applicant]
US 11095506B1 · Erblat et al. · 2021 [cited by applicant]
US 11115471B2 · Sant · 2021 [cited by applicant]
US 20020116340A1 · Hellberg et al. · 2002 [cited by applicant]
US 20020133584A1 · Greuel et al. · 2002 [cited by applicant]
US 20020158969A1 · Gupta · 2002 [cited by applicant]
US 20030051230A1 · Molchanov · 2003 [cited by applicant]
US 20030118087A1 · Goldthwaite et al. · 2003 [cited by applicant]
US 20030200293A1 · Fearn et al. · 2003 [cited by applicant]
US 20050015217A1 · Weidl et al. · 2005 [cited by applicant]
US 20050091356A1 · Izzo · 2005 [cited by applicant]
US 20060026453A1 · Frost et al. · 2006 [cited by applicant]
US 20060095461A1 · Raymond · 2006 [cited by applicant]
US 20060179058A1 · Bram et al. · 2006 [cited by applicant]
US 20060293942A1 · Chaddha et al. · 2006 [cited by applicant]
US 20070033279A1 · Battat et al. · 2007 [cited by applicant]
US 20070188494A1 · Agutter et al. · 2007 [cited by applicant]
US 20070288389A1 · Vaughan et al. · 2007 [cited by applicant]
US 20080133289A1 · Armour et al. · 2008 [cited by applicant]
US 20080148253A1 · Badwe et al. · 2008 [cited by applicant]
US 20080319779A1 · Hughes et al. · 2008 [cited by applicant]
US 20090088875A1 · Baier et al. · 2009 [cited by applicant]
US 20090228984A1 · Sterin · 2009 [cited by applicant]
US 20100110932A1 · Doran et al. · 2010 [cited by applicant]
US 20120144378A1 · Shah · 2012 [cited by examiner]
US 20130268673A1 · Graham-Cumming · 2013 [cited by examiner]
US 20140297774A1 · Munupalle · 2014 [cited by examiner]
US 20180025059A1 · Batchu · 2018 [cited by applicant]
US 20180046670A1 · Atkins · 2018 [cited by applicant]
US 20180091624A1 · Forbes · 2018 [cited by examiner]
US 20180123940A1 · Rimar et al. · 2018 [cited by applicant]
US 20190104398A1 · Owen et al. · 2019 [cited by applicant]
US 20200050689A1 · Tal et al. · 2020 [cited by applicant]
US 20200073782A1 · Phoenix · 2020 [cited by examiner]
US 20200204443A1 · Bar Oz et al. · 2020 [cited by applicant]
US 20210194764A1 · Badyan et al. · 2021 [cited by applicant]
US 20210203731A1 · Garty · 2021 [cited by applicant]
US 20210224258A1 · Faruquie · 2021 [cited by applicant]
US 20210349875A1 · Gui · 2021 [cited by applicant]
EP 0433979 · 1991 [cited by applicant]
EP 1607824 · 2005 [cited by applicant]
WO WO9934285 · 1999 [cited by applicant]
WO WO0052559 · 2000 [cited by applicant]
WO WO0179970 · 2001 [cited by applicant]
Notice of Allowance dated Jan. 18, 2022 for U.S. Appl. No. 16/991,704, 9 pages. [cited by applicant]