IP Library Granted Patent US 12,657,251
Granted Patent B2
US 12,657,251 · App. 17/711,519 · Granted Jun 16, 2026

Methods and systems for opening and incrementally displaying documents

Inventors: Joseph Keslin (Munster, IN); Karl Knoernschild (La Grange, IL)
Assignee: RELATIVITY ODA LLC
G06F16/9574G06F3/0482G06F3/0484G06F3/0485G06F16/338G06F16/34G06F16/358G06F16/93G06F16/9577G06F16/986G06F40/103G06F40/106G06F40/123G06F40/131G06Q50/184G06V30/1444G06V30/414G06F40/171G06F2203/04803
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,657,251
App. No.
17/711,519
Granted
Jun 16, 2026
Kind
B2
Abstract

Systems and methods for opening documents and incrementally loading document fragments are provided. Upon generating a user interface associated with the document, a client device may generate a document fragment model of a portion of the document for display via the user interface. As the user navigates through the document, document fragment models of additional portions of the document are predictively generated for low-latency display via the user interface.

Claims (88)

1 . A computer-implemented method for low-latency incremental display of a document at a client device, the method comprising:

generating, by one or more processors of the client device, a user interface that includes a primary viewport for displaying portions of the document and a secondary view port for navigating within the document;

detecting, by the one or more processors, a first event indicating that initial portions of the document are to be cached for viewing via the primary viewport, wherein the first event is generated in response to an output of a search query or a learning algorithm and is not generated by user input selecting a document displayed in a selection interface;

in response to detecting the first event, generating a document fragment model for the initial portions of the document, wherein:

the initial portions are defined by metadata associated with the document,

the initial portions include a first portion that is cached for display by the client device upon the primary viewport being configured to display the document by a viewing event and one or more second portions that are not displayed when the primary viewport is initially configured to display the document, and

the initial portions include less than all portions of the document;

in response to detecting the viewing event for the document, displaying, in the primary viewport, the first portion of the document fragment model;

detecting, via the user interface, a second event including an indication of the one or more second portions of the document;

detecting, by the one or more processors, a navigation event in the secondary view port related to one or more third portions of the document not included in the initial portion of the document;

transmitting, by the one or more processors, an incremental data request including an indication of the one or more third portions of the document in response to the navigation event;

receiving an incremental data response including the one or more third portions of the document;

generating, in response to receiving the incremental data response, a document fragment model for the third portions of the of the document; and

deleting, by the one or more processors, the document fragment model for the second portions of the document in response to the one or more processors determining that a portion of the document displayed via the primary viewport is at least a threshold distance from the second portions of the document.

2 . The computer-implemented method of claim 1 , wherein to generate a document fragment model for a particular portion of the document, the method comprises further comprising:

storing, by the one or more processors, the document fragment model for the particular portion of the document in a data memory of the client device.

3 . The computer-implemented method of claim 1 , wherein detecting the viewing event comprises:

detecting, via the user interface, a document navigation event indicating the document.

4 . The computer-implemented method of claim 1 , wherein:

the first portion of the document and the second portions of the document are separated by a page break, and

detecting the second event comprises detecting, by the one or more processors, a navigation event associated with the page break being displayed in the primary viewport.

5 . The computer-implemented method of claim 1 , wherein transmitting the incremental data request comprises:

determining, by the one or more processors, a scroll speed associated with the primary viewport; and

based on the scroll speed, determining, by the one or more processors, a size of the one or more third portions of the document requested by the incremental data request.

6 . The computer-implemented method of claim 1 , wherein transmitting the incremental data request comprises:

transmitting, to a memory storing data associated with the document, the incremental data request.

7 . The computer-implemented method of claim 1 , further comprising:

detecting, by the one or more processors, a third event indicating that a second document is to be viewed via the primary viewport; and

in response to detecting the third event, deleting, by the one or more processors, the document fragment model for the third portions of the document; and

in response to detecting the third event, maintaining, by the one or more processors, the document fragment model for the first portion of the document.

8 . The computer-implemented method of claim 1 , wherein:

the document is associated with metadata indicating a region of the document is associated with at least one of highlighting, redactions, or annotations; and

generating the document fragment model for a particular portion of the document comprises generating the document fragment model in accordance with the metadata.

9 . The computer-implemented method of claim 1 , wherein displaying the one or more third portions of the document in the primary viewport occurs within 1 second of the receiving of a third event including an indication of the one or more third portions of the document.

10 . The computer-implemented method of claim 1 , further comprising:

in response to detecting the first event, generating a document fragment model for initial portions of a second document, the initial portions including a first portion that is displayed upon the primary viewport being configured to display the second document and one or more second portions that are not displayed when the primary viewport is initially configured to display the second document

detecting, by the one or more processors, a third event indicating that the second document is to be viewed via the primary viewport; and

in response to detecting the third event, maintaining, by the one or more processors, the document fragment model for the initial portions of the document while deleting the document fragment model for any other portions of the document.

11 . A system for low-latency incremental display of a document at a client device, the system comprising:

one or more processors; and

a non-transitory memory storing instructions that, when executed by the one or more processors, cause the system to:

generate a user interface that includes a primary viewport for displaying portions of the document and a secondary view port for navigating within the document;

detect a first event indicating that initial portions of the document are to be cached for viewing via the primary viewport, wherein the first event is generated in response to an output of a search query or a learning algorithm and is not generated by user input selecting a document displayed in a selection interface;

in response to detecting the first event, generate a document fragment model for the initial portions of the document, wherein:

the initial portions are defined by metadata associated with the document,

the initial portion include a first portion that is cached for display by the client device upon the primary viewport being configured to display the document by a viewing event and one or more second portions that is not displayed when the primary viewport is initially configured to display the document, and

the initial portions include less than all portions of the document;

in response to detecting the viewing event for the document, display, in the primary viewport, the first portion of the document fragment model;

detect, via the user interface, a second event including an indication of the one or more second portions of the document;

detect a navigation event in the secondary view port related to one or more third portions of the document not included in the initial portion of the document;

transmit an incremental data request including an indication of the one or more third portions of the document in response to the navigation event;

receive an incremental data response including the one or more third portions of the document;

generate, in response to receiving the incremental data response, a document fragment model for the third portions of the of the document; and

delete the document fragment model for the second portions of the document in response to determining that a portion of the document displayed via the primary viewport is at least a threshold distance from the second portions of the document.

12 . The system of claim 11 , further comprising:

a data memory configured to store document fragment models of the document;

wherein to generate a document fragment model for a particular portion of the document, the instructions, when executed, cause the system to store the document fragment model for the particular portion of the document in the data memory.

13 . The system of claim 11 , wherein to detect the first event, the instructions, when executed, cause the system to:

detect an event generated in responses to an output of a search query or a learning algorithm.

14 . The system of claim 11 , wherein to detect the viewing event, the instructions, when executed, cause the system to:

detect, via the user interface, a document navigation event indicating the document.

15 . The system of claim 11 , wherein:

the first portion of the document and the second portions of the document are separated by a page break, and

to detecting the second event, the instructions, when executed, cause the system to detect a navigation event associated with the page break being displayed in the primary viewport.

16 . The system of claim 11 , further comprising:

a cache configured to store a document model associated with the document;

wherein to transmit the incremental data request, the instructions, when executed, cause the system to transmit, to the cache, the incremental data request.

17 . The system of claim 11 , wherein the instructions, when executed, cause the system to:

detect a third event indicating that a second document is to be viewed via the primary viewport;

in response to detecting the third event, delete the document fragment model for the third portions of the document; and

in response to detecting the third event, maintain the document fragment model for the first portion of the document.

18 . The system of claim 11 , wherein the instructions, when executed, cause the system to:

in response to detecting the first event, generate a document fragment model for initial portions of a second document, the initial portions including a first portion that is displayed upon the primary viewport being configured to display the second document and one or more second portions that are not displayed when the primary viewport is initially configured to display the second document;

detect a third event indicating that the second document is to be viewed via the primary viewport; and

in response to detecting the third event, maintain the document fragment model for the initial portions of the document while deleting the document fragment model for any other portions of the document.

19 . A non-transitory computer readable medium storing processor-executable instructions that, when executed by one or more processors, cause the processors to:

generate a user interface that includes a primary viewport for displaying portions of a document and a secondary view port for navigating within the document;

detect a first event indicating that initial portions of the document are to be cached for viewing via the primary viewport, wherein the first event is generated in response to an output of a search query or a learning algorithm and is not generated by user input selecting a document displayed in a selection interface;

in response to detecting the first event, generate a document fragment model for the initial portions of the document, wherein:

the initial portions are defined by metadata associated with the document,

the initial portions including a first portion that is cached for display by the client device upon the primary viewport being configured to display the document by a viewing event and one or more second portions that is not displayed when the primary viewport is initially configured to display the document, and

the initial portions include less than all portions of the document;

in response to detecting the viewing event for the document, display, in the primary viewport, the first portion of the document fragment model;

detect, via the user interface, a second event including an indication of the one or more second portions of the document;

transmit an incremental data request including an indication of one or more third portions of the document not included in the initial portion of the document;

receive an incremental data response including the one or more third portions of the document;

generate, in response to receiving the incremental data response, a document fragment model for the third portions of the of the document; and

delete the document fragment model for the second portions of the document in response to determining that a portion of the document displayed via the primary viewport is at least a threshold distance from the second portions of the document.

Assignments (2)
SECURITY INTEREST Recorded Jan 30, 2026
From: RELATIVITY ODA LLC; TEXT IQ, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 074537/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2022
From: KESLIN, JOSEPH; KNOERNSCHILD, KARL
To: RELATIVITY ODA LLC
Reel/Frame 059558/0709 →
Continuity (2)
Provisional Application 63170111 · Apr 2, 2021
Related Publication 20220318335A1 · Oct 6, 2022
References Cited (155)
US 6026409A · Blumenthal · 2000 [cited by examiner]
US 6098064A · Pirolli et al. · 2000 [cited by applicant]
US 6453319B1 · Mattis et al. · 2002 [cited by applicant]
US 7020681B1 · Ayyagari · 2006 [cited by examiner]
US 7747749B1 · Erikson et al. · 2010 [cited by applicant]
US 7969609B2 · Petz · 2011 [cited by examiner]
US 7970860B2 · Kline · 2011 [cited by examiner]
US 8346563B1 · Hjelm et al. · 2013 [cited by applicant]
US 8429521B2 · Lloyd et al. · 2013 [cited by applicant]
US 8438474B1 · Lloyd · 2013 [cited by applicant]
US 8453048B2 · Holt et al. · 2013 [cited by applicant]
US 8788965B2 · Du · 2014 [cited by examiner]
US 8887085B1 · Cox · 2014 [cited by examiner]
US 8943395B2 · Carlen et al. · 2015 [cited by applicant]
US 9020890B2 · Kottomtharayil et al. · 2015 [cited by applicant]
US 9021352B2 · Goel et al. · 2015 [cited by applicant]
US 9178934B1 · Kolam · 2015 [cited by applicant]
US 9269053B2 · Naslund et al. · 2016 [cited by applicant]
US 9274595B2 · Reitan · 2016 [cited by applicant]
US 9307007B2 · Kapadia et al. · 2016 [cited by applicant]
US 9582600B1 · Killian et al. · 2017 [cited by applicant]
US 9612734B1 · Sylvia · 2017 [cited by examiner]
US 9626343B2 · Zhang et al. · 2017 [cited by applicant]
US 9792266B1 · Armstrong et al. · 2017 [cited by applicant]
US 9799131B1 · Demiralp et al. · 2017 [cited by applicant]
US 9898446B2 · Weber et al. · 2018 [cited by applicant]
US 9940396B1 · Willhoit · 2018 [cited by applicant]
US 10002115B1 · Killian · 2018 [cited by examiner]
US 10007493B1 · Totale · 2018 [cited by examiner]
US 10157184B2 · Liu et al. · 2018 [cited by applicant]
US 10185782B2 · Decker et al. · 2019 [cited by applicant]
US 10353960B1 · Hall et al. · 2019 [cited by applicant]
US 10614033B1 · Rothschilds et al. · 2020 [cited by applicant]
US 10630797B2 · Goel et al. · 2020 [cited by applicant]
US 10868881B1 · Chang · 2020 [cited by applicant]
US 10908804B2 · Rocha · 2021 [cited by examiner]
US 10984000B2 · Bedrax-Weiss · 2021 [cited by examiner]
US 11157505B2 · Gutirrez et al. · 2021 [cited by applicant]
US 11238210B2 · Ziraknejad · 2022 [cited by examiner]
US 11438442B1 · Polehn et al. · 2022 [cited by applicant]
US 11727190B1 · Hahn · 2023 [cited by applicant]
US 11734498B1 · Shenk · 2023 [cited by applicant]
US 11741517B1 · Eidam et al. · 2023 [cited by applicant]
US 11797635B2 · Keslin et al. · 2023 [cited by applicant]
US 20020015042A1 · Robotham et al. · 2002 [cited by applicant]
US 20020147895A1 · Glance et al. · 2002 [cited by applicant]
US 20020165925A1 · Hamilton et al. · 2002 [cited by applicant]
US 20030005038A1 · Codella et al. · 2003 [cited by applicant]
US 20030088580A1 · Desai · 2003 [cited by examiner]
US 20030179230A1 · Seidman · 2003 [cited by applicant]
US 20030184585A1 · Lin et al. · 2003 [cited by applicant]
US 20040073867A1 · Kausik · 2004 [cited by examiner]
US 20040239681A1 · Robotham et al. · 2004 [cited by applicant]
US 20050198353A1 · Zmrzli · 2005 [cited by applicant]
US 20060041521A1 · Oral et al. · 2006 [cited by applicant]
US 20060047804A1 · Fredricksen et al. · 2006 [cited by applicant]
US 20060047815A1 · Hamadi · 2006 [cited by examiner]
US 20060155728A1 · Bosarge · 2006 [cited by examiner]
US 20070112973A1 · Harris · 2007 [cited by examiner]
US 20070130126A1 · Lucovsky · 2007 [cited by examiner]
US 20070186182A1 · Schiller · 2007 [cited by examiner]
US 20070220013A1 · Rabines · 2007 [cited by examiner]
US 20070260971A1 · Rivas et al. · 2007 [cited by applicant]
US 20080034424A1 · Overcash · 2008 [cited by examiner]
US 20080239365A1 · Salgado et al. · 2008 [cited by applicant]
US 20080288729A1 · Goel et al. · 2008 [cited by applicant]
US 20090006329A1 · Cong et al. · 2009 [cited by applicant]
US 20090058820A1 · Hinckley · 2009 [cited by examiner]
US 20100162126A1 · Donaldson et al. · 2010 [cited by applicant]
US 20100257155A1 · Dettinger · 2010 [cited by examiner]
US 20100287028A1 · Hauser · 2010 [cited by applicant]
US 20100318538A1 · Wyman et al. · 2010 [cited by applicant]
US 20110145287A1 · Jiang et al. · 2011 [cited by applicant]
US 20110252304A1 · Lemonik · 2011 [cited by examiner]
US 20110258535A1 · Adler, III · 2011 [cited by examiner]
US 20120011430A1 · Parker et al. · 2012 [cited by applicant]
US 20120297324A1 · Dollar · 2012 [cited by examiner]
US 20130047080A1 · Kroeger · 2013 [cited by examiner]
US 20130067170A1 · Lam · 2013 [cited by examiner]
US 20130106683A1 · Davis · 2013 [cited by examiner]
US 20130135332A1 · Davis · 2013 [cited by examiner]
US 20130219256A1 · Lloyd · 2013 [cited by examiner]
US 20130222244A1 · Mak et al. · 2013 [cited by applicant]
US 20130232406A1 · Sampathkumar · 2013 [cited by examiner]
US 20130254653A1 · Holt et al. · 2013 [cited by applicant]
US 20130262386A1 · Kottomtharayil et al. · 2013 [cited by applicant]
US 20130262410A1 · Liu et al. · 2013 [cited by applicant]
US 20130268260A1 · Lundberg et al. · 2013 [cited by applicant]
US 20130304798A1 · Chang et al. · 2013 [cited by applicant]
US 20140108909A1 · Geelnard · 2014 [cited by applicant]
US 20140281918A1 · Wei et al. · 2014 [cited by applicant]
US 20140372511A1 · Kapadia · 2014 [cited by examiner]
US 20150007108A1 · Ozcelik · 2015 [cited by examiner]
US 20150066940A1 · Fernandes · 2015 [cited by examiner]
US 20150088970A1 · Wei et al. · 2015 [cited by applicant]
US 20150089352A1 · Conboy et al. · 2015 [cited by applicant]
US 20150154192A1 · Lysne et al. · 2015 [cited by applicant]
US 20150177933A1 · Cueto · 2015 [cited by examiner]
US 20150193413A1 · Meschkat · 2015 [cited by examiner]
US 20150242543A1 · Bailly et al. · 2015 [cited by applicant]
US 20150278172A1 · Tupil et al. · 2015 [cited by applicant]
US 20150339050A1 · Vong · 2015 [cited by applicant]
US 20150370445A1 · Wang et al. · 2015 [cited by applicant]
US 20160170629A1 · Gabryjelski · 2016 [cited by examiner]
US 20160308902A1 · Beamon · 2016 [cited by examiner]
US 20160335746A1 · Loke · 2016 [cited by applicant]
US 20160357366A1 · Migos et al. · 2016 [cited by applicant]
US 20170031873A1 · Levi et al. · 2017 [cited by applicant]
US 20170048319A1 · Straub · 2017 [cited by applicant]
US 20170053623A1 · Purayil et al. · 2017 [cited by applicant]
US 20170060812A1 · Williams et al. · 2017 [cited by applicant]
US 20170083508A1 · Dixon et al. · 2017 [cited by applicant]
US 20170132530A1 · Puzicha et al. · 2017 [cited by applicant]
US 20170199850A1 · Mishra et al. · 2017 [cited by applicant]
US 20170235827A1 · Bar-Or · 2017 [cited by examiner]
US 20170269816A1 · Bradley et al. · 2017 [cited by applicant]
US 20170357650A1 · de Almeida Forjaz de Lacerda · 2017 [cited by examiner]
US 20180081503A1 · Green et al. · 2018 [cited by applicant]
US 20180089258A1 · Bhattacharjee · 2018 [cited by examiner]
US 20180322106A1 · Roks · 2018 [cited by applicant]
US 20190005265A1 · Panchapakesan et al. · 2019 [cited by applicant]
US 20190005616A1 · De et al. · 2019 [cited by applicant]
US 20190079946A1 · Li et al. · 2019 [cited by applicant]
US 20190320222A1 · Bertsch et al. · 2019 [cited by applicant]
US 20190325031A1 · Puzicha · 2019 [cited by applicant]
US 20190327324A1 · Buffone · 2019 [cited by applicant]
US 20200026768A1 · Puzicha et al. · 2020 [cited by applicant]
US 20200081692A1 · Multerer · 2020 [cited by applicant]
US 20200174755A1 · Rose et al. · 2020 [cited by applicant]
US 20200174757A1 · Rose et al. · 2020 [cited by applicant]
US 20200226195A1 · Ziraknejad et al. · 2020 [cited by applicant]
US 20210056233A1 · Camery · 2021 [cited by applicant]
US 20210149899A1 · Gutirrez et al. · 2021 [cited by applicant]
US 20210365504A1 · Kuehne · 2021 [cited by examiner]
US 20220043880A1 · Yoon et al. · 2022 [cited by applicant]
US 20220138438A1 · Saito · 2022 [cited by examiner]
US 20220158978A1 · Shribman et al. · 2022 [cited by applicant]
US 20220237234A1 · Ahmed et al. · 2022 [cited by applicant]
US 20220269738A1 · Stone et al. · 2022 [cited by applicant]
US 20220309037A1 · Gutierrez et al. · 2022 [cited by applicant]
US 20220318287A1 · Keslin et al. · 2022 [cited by applicant]
US 20220318333A1 · Keslin et al. · 2022 [cited by applicant]
US 20220318484A1 · Keslin et al. · 2022 [cited by applicant]
US 20220318491A1 · Keslin et al. · 2022 [cited by applicant]
US 20220334809A1 · Stone et al. · 2022 [cited by applicant]
US 20230041844A1 · Feng et al. · 2023 [cited by applicant]
US 20230195300A1 · Jamie · 2023 [cited by applicant]
US 20240054104A2 · Gutierrez et al. · 2024 [cited by applicant]
US 20240086490A1 · Keslin et al. · 2024 [cited by applicant]
US 20240281487A1 · Bathwal et al. · 2024 [cited by applicant]
Mozilla.org “Search with the Firefox address bar” Dec. 3, 2020, pp. 1-6 https://web.archive.org/web/20201203211123/https://support.mozilla.org/en-US/kb/search-firefox-address-bar) as available Dec. 3, 2020 (Year: 2020). [cited by examiner]
“Would a 5ms response affect my gaming experience,” by r/pcmasterrace downloaded from the Internet at: <https://www.reddit.com/r/pcmasterrace/comments/42ompq/would_a_5ms_response_affect_my_gaming_experience/> as of at l… [cited by applicant]
Grechanik et al. “Redacting sensitive information in software artifacts,” Proceedings of the 22nd International Conference on Program Comprehension 2014. [cited by applicant]
Pratheeka et al., Sanitization of medical documents using medical support system, 2014 International Conference on Recent Trends in Information Technology (IEEE)(2014). [cited by applicant]
Woods et al., Redacting private and sensitive information in born-digital collections, Archiving Conference, vol. 12, Society for Imaging Science and Technology (2015). [cited by applicant]