IP Library Granted Patent US 10,346,560
Granted Patent B2
US 10,346,560 · App. 14/176,662 · Granted Jul 9, 2019

Electronic blueprint system and method

Inventors: Ralph L. Gootee, III (Berkeley, CA); Cory R. Lorenz (San Francisco, CA); Kenny W. Stone (Berkeley, CA)
Assignee: PlanGrid, Inc.
G06F17/5004G06F17/218G06F17/24G06F17/241G06F2217/74
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 10,346,560
App. No.
14/176,662
Granted
Jul 9, 2019
Kind
B2
Abstract

A system and method for efficient management and viewing of electronic data and documents, such as electronic blueprint sheets. The system and method may include processing the electronic blueprint sheets by a computing device. The system and method may include querying by the computing device and processing modules to determine their availability. Each processing module may cause further processing of each page. The system and method may include distributing of the blueprint file to available processing modules based on the availability of the processing modules for processing.

Claims (37)

1. A method, comprising:

receiving, by at least one computing device, a blueprint file that includes data representative of a blueprint having one or more pages including current annotations made by a plurality of users;

processing, by the at least one computing device, the blueprint file, wherein the processing includes:

determining the number of pages of the blueprint file,

determining whether at least one of the pages of the blueprint file has an existing version,

identifying a previous annotation on the existing version of at least one page of the blueprint file and copying the previous annotation on the existing version to a newer version of the blueprint file,

revising the newer version of the blueprint file based on the current annotations made by the plurality of users, and

resolving any conflicts between the newer version of the blueprint file and the existing version of the blueprint file;

verifying that each page of the newer version of the blueprint file is the newest version;

distributing, by the at least one computing device, the newer version of the blueprint file to remote computing devices of users on a team working with the blueprint file;

and

notifying the remote computing devices of users on the team working with the blueprint file that the distributed pages of the newer version of the blueprint file are the newest version by sending a notification stream by the at least one computing device that is displayed on the remote computing devices of the users.

2. The method of claim 1 , further comprising:

querying, by the at least one computing device, processing modules to determine their availability, wherein each processing module causes, in response to execution by the at least one computing device, further processing of each page; and

distributing, by the at least one computing device, each page of the blueprint file to available processing modules based on the availability of the processing modules for the further processing of each page such that each page is distributed to a single processing module.

3. The method as set forth in claim 2 , wherein the available processing modules are spread over a network of a plurality of computing devices connected over at least one communication network, and wherein the plurality of computing devices includes the at least one computing device.

4. The method as set forth in claim 2 , wherein the further processing of each page includes optical character recognition of at least a portion of each page of the blueprint file.

5. The method as set forth in claim 2 , wherein the further processing of each page includes extracting metadata associated with each page of the blueprint file.

6. A system, comprising:

one or more memories in communication with one or more hardware processors of one or more computing devices, wherein the one or more memories have instructions stored thereon that, in response to execution by the one or more computing devices, cause the one or more computing devices to perform operations, comprising:

receiving a blueprint file that includes data representative of a blueprint having one or more pages including current annotations made by a plurality of users;

processing the blueprint file, wherein the processing includes:

determining the number of pages of the blueprint file,

determining whether at least one of the pages of the blueprint file has an existing version,

identifying, by the at feast one computing device, previous annotation on the existing version of at least one page of the blueprint file and copying the previous annotation on the existing version to a newer version of the blueprint file;

revising the newer version of the blueprint file based on the current annotations made by the plurality of users, and

resolving any conflicts between the newer version of the blueprint file and the existing version of the blueprint file;

verifying that each page of the newer version of the blueprint file is the newest version;

distributing a newer version of each page of the newer version of the blueprint file to a remote computing device;

and

notifying users on a team working with the blueprint file that the distributed pages of the newer version of the blueprint file are the newest version by sending a notification stream that is displayed on the remote computing devices of the users.

7. The system as set forth in claim 6 , wherein the one or more memories have instructions stored thereon that, in response to execution by the one or more computing devices, cause the one or more computing devices to perform operations including:

querying processing modules to determine their availability, wherein each processing module causes, in response to execution by the at least one computing device, further processing of each page; and

distributing each page of the blueprint file to available processing modules based on the availability of the processing modules for the further processing of each page such that each page is distributed to a single processing module.

8. The system as set forth in claim 7 , wherein the further processing of each page includes tiling each page of the blueprint file.

9. The system as set forth in claim 7 , wherein the further processing of each page includes optical character recognition of at least a portion of each page of the blueprint file.

10. The system as set forth in claim 7 , wherein the further processing of each page includes extracting a unique identifier associated with each page of the blueprint file.

Assignments (2)
CHANGE OF NAME Recorded May 28, 2015
From: LOUPE, INC.
To: PLANGRID, INC.
Reel/Frame 035776/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2014
From: GOOTEE, RALPH L., III; LORENZ, CORY R.; STONE, KENNY W.
To: LOUPE, INC.
Reel/Frame 032184/0640 →
Continuity (2)
Provisional Application 61850517 · Feb 14, 2013
Related Publication 20140229426A1 · Aug 14, 2014