IP Library Granted Patent US 9,396,224
Granted Patent B2
US 9,396,224 · App. 14/713,277 · Granted Jul 19, 2016

Systems and methods for sorting, grouping, and rendering subsets of large datasets over a network

Inventors: Jonathan Walker (Santa Barbara, CA); Paul Kmiec (Portland, OR); Comron Sattari (Chicago, IL); James Herzberg (Portland, OR)
Assignee: AppFolio, Inc.
G06F17/30336G06F17/3056G06F17/30132G06F17/30864G06F17/30867G06F17/30893G06F17/30905H04L67/06G06F17/30902G06Q50/163
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 9,396,224
App. No.
14/713,277
Granted
Jul 19, 2016
Kind
B2
Abstract

Systems and methods for sorting, grouping, and rendering subsets of large datasets over a network are described. Records may be sorted according to a user input, and the system may identify the subset of records that would be displayed on a client. The system may render for display only the identified records. Additionally, the system may render and cache records proximate to the identified records. Further, the system may perform searches upon the records and use the search results to further find results for a refined search.

Claims (47)

1. A method of rendering a subset of ordered records on a web browser, the method comprising:

receiving, by a server:

a first input associated with an ordering for records,

a second input associated with an index into the ordered records,

a third input identifying a size of a memory element for a web browser at a client, the memory element comprising a primary buffer storing data for display by the web browser, and

a fourth input comprising a location indicator associated with a position of a scrollbar in the web browser;

ordering, by the server, the records according to the first input;

determining, by the server, a subset of the ordered records to render according to the second, third, and fourth inputs, wherein at least the third input is used, by the server, to determine a number of records for the subset; and

transmitting, by the server, a rendered subset of the ordered records for display by the web browser.

2. The method of claim 1 , further comprising:

caching, by the server, the subset of the ordered records for display on the web browser.

3. The method of claim 2 , further comprising:

receiving, by the server, a fifth input associated with a second index into the ordered records;

determining, by the server, a second subset of the ordered records to render according to the fifth, third, and fourth inputs;

determining, by the server, that a portion of the second subset is stored in the cache; and

transmitting, by the server to the client, the portion of the second subset from the cache.

4. The method of claim 1 , further comprising:

receiving, by the server, a fifth input associated with a second index into the ordered records;

determining, by the server, a second subset of the ordered records to render according to the fifth, third, and fourth inputs; and

transmitting, by the server, the second subset of the records for display on a web browser at the client.

5. The method of claim 1 , further comprising:

receiving, by the server, a search parameter;

determining, by the server, a second subset of the ordered records to render according to the search parameter; and

transmitting, by the server, the second subset of the records for display on a web browser at the client.

6. The method of claim 5 , further comprising:

applying, by the server, a search algorithm using the search parameter to obtain a search result; and

determining, by the server, the second subset of the ordered records based on the search result.

7. The method of claim 1 , further comprising:

calculating, by the server, a subtotal from fields in a group of records in the subset; and

transmitting, by the server, the subtotal to the client.

8. The method of claim 1 , further comprising:

determining, by the server, a second subset of the ordered records proximate to the first subset; and

transmitting, by the server, the second subset to the client for storage.

9. The method of claim 1 , wherein the records are property records.

10. The method of claim 9 , wherein the first input associated with the ordering for records identifies a property record field and ordering the records according to the first input includes sorting property records according to the identified property record field.

11. A computer implemented system for rendering a subset of ordered records on a web browser, the system comprising:

a transceiver in communication with a client, the transceiver configured to receive inputs associated with a desired subset of records from a user at the client and to transmit subsets of records to the client for display on a web browser at the client; and

a processor that is configured to receive: a first input associated with an ordering for records, a second input associated with an index into the ordered records, a third input identifying a size of a memory element for the web browser from the client, the memory element comprising a primary buffer storing data for display by the web browser, and a fourth input comprising a location indicator associated with a position of a scrollbar in the web browser; order the records according to the first input; and determine a subset of the ordered records to render according to the second, third, and fourth inputs, wherein at least the third input is used, by the server, to determine a number of records for the subset.

12. The system of claim 11 , further comprising a cache that stores the subset of the records for display on the web browser.

13. The system of claim 12 , wherein the processor is configured to receive a fifth input associated with a second index into the ordered records; determine a second subset of the ordered records to render according to the fifth, third, and fourth inputs; and determine that a portion of the second subset of the ordered records is stored in the cache; and the transceiver is configured to transmit the portion of the second subset from the cache to the client.

14. The system of claim 11 , wherein the processor is configured to determine a second subset of the ordered records to render according to the third and fourth input and further according to a fifth input associated with a second index into the ordered records, and the transceiver is configured to transmit the second subset of the records for display on a web browser at the client.

15. The system of claim 11 , wherein the processor is configured to receive a search parameter and determine a second subset of the ordered records to render according to the search parameter, and the transceiver is configured to transmit the second subset of the records for display on a web browser at the client.

16. The system of claim 15 , wherein the processor is configured to apply a search algorithm using the search parameter to obtain a search result, and determine the second subset of the ordered records based on the search result.

17. The system of claim 11 , wherein the processor calculates a subtotal from fields in a group of records in the subset and the transceiver transmits the subtotal to the client.

18. The system of claim 11 , wherein the processor is configured to determine a second subset of the ordered records proximate to the first subset and the transceiver is configured to transmit the second subset to the client for storage.

19. The system of claim 11 , wherein the records are property records.

20. The system of claim 19 , wherein the first input associated with the ordering for records identifies a property record field and ordering the records according to the first input includes sorting property records according to the identified property record field.

Assignments (4)
SECURITY INTEREST Recorded Oct 2, 2025
From: APPFOLIO, INC.
To: PNC BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 072452/0322 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 048107/0087 Recorded Sep 30, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: APPFOLIO, INC.
Reel/Frame 053947/0358 →
SECURITY INTEREST Recorded Jan 22, 2019
From: APPFOLIO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 048107/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2015
From: WALKER, JONATHAN; KMIEC, PAUL; SATTARI, COMRON; HERZBERG, JAMES
To: APPFOLIO, INC.
Reel/Frame 035650/0638 →
Continuity (2)
Continuation 12637141 · Dec 14, 2009
Related Publication 20150248451A1 · Sep 3, 2015