A method for organizing and compressing spatial data to enable fast, incremental downloads of spatial data over a network. The method comprises multiple steps for segmenting and reducing spatial data, and introduces a location-relevant naming system for storing and accessing the data. Applications installed on remote devices are able to efficiently compute data file names based solely on location information, download the data over a network and cache the data on the device.
|
0. 54. A method of assigning names to digital map segments, comprising:
segmenting a digital map into a plurality of segments;
converting geodetic data points from real numbers to integer numbers; and
storing each segment in a data structure comprising a file and having a name comprising data point offset values.
0. 42. A method to reduce data in a digital map, comprising:
completely suppressing selected geographic features; and
reducing the resolution of the remaining geographic features,
wherein the reducing comprises eliminating every other data point, provided that the angle between the two lines connecting the point to its adjacent points does not exceed a predetermined angle.
0. 46. A system for reducing data in a digital map, comprising:
means for completely suppressing selected geographic features; and
means for reducing the resolution of the remaining geographic features,
wherein the reducing comprises eliminating every other data point, provided that the angle between the two lines connecting the point to its adjacent points does not exceed a predetermined angle.
0. 41. A method of processing map data, comprising:
recursively segmenting map data into a plurality of map segments;
computing a map data structure name for each map segment, wherein the data structure name comprises geographic-based coordinates and wherein the data structure name comprises a filename; and
storing each segment into a data structure comprising a file having a respective map data structure name.
0. 57. A system for assigning names to digital map segments, comprising:
a data segmentation module configured to segment a digital map into a plurality of segments;
an integer conversion module configured to convert geodetic data points from real numbers to integer numbers; and
a database configured to store each segment in a data structure comprising a file and having a name comprising data point offset values.
0. 78. A method of caching digital map segments in a portable wireless device, comprising:
allocating a portion of memory for digital map segments in a cache;
executing a caching algorithm to manage the allocated cache; and
loading map data for rendering map images on a display from the cache if a particular digital map segment is stored in cache, otherwise requesting download of the particular digital map segment from a network.
0. 50. A computer readable storage medium having stored thereon instructions that when executed by a computer processor perform a method of reducing data in a digital map, the method comprising:
completely suppressing selected geographic features; and
reducing the resolution of the remaining geographic features, wherein the reducing comprises eliminating every other data point, wherein the elimination of data points does not significantly change the overall shape of the road.
0. 69. A method of operating a map display system in conjunction with a portable wireless device, comprising:
receiving user input position information from the portable wireless device;
computing a geodetic coordinate from the user input position information;
generating a plurality of names based on the geodetic coordinates; and
transmitting a data structure comprising map data associated with the geodetic coordinate and associated with the respective data structure names from a map segment server.
0. 81. A system for caching digital map segments in a portable wireless device, comprising:
a map display engine configured to:
allocate a portion of memory for digital map segments in a cache; and
execute a caching algorithm to manage the allocated cache, wherein the map display engine is further configured to load data for rendering an image on a display from the cache if a particular digital map segment is stored in the device, otherwise requesting download of the particular digital map segment from a network.
0. 23. A method of processing map data in conjunction with a portable computing device having a wireless transceiver for data network communication, comprising:
computing a map data structure name based on location information or user interactions;
downloading the map data structure over a network onto the portable computing device via the corresponding data structure name;
caching the map data from the map data structure on the portable computing device;
generating a plurality of map images based on at least one of a zip code, address, or geographic location; and
transmitting the map images via the wireless data network to the portable computing device.
0. 60. A map display system operating in conjunction with a portable wireless device, comprising:
an input interface layer handling communication between a user and the device and being configured to capture user input position information;
a geocoding engine, residing on a server, configured to:
receive user input position information from the portable wireless device;
compute a geodetic coordinate from the user input position information; and
transmit the geodetic coordinate to the portable wireless device; and
a map display engine configured to use the geodetic coordinates to generate a plurality of data structure names and request the data structures from a map segment server.
0. 1. A method for organizing spatial data comprising the steps of:
a) parsing the spatial data into a plurality of packets;
b) segmenting the packets;
c) reducing a size of the packets by eliminating at least one data point from at least one display element by applying an angle comparison between an adjacent display element, wherein the at least one data point is eliminated if an angle between the at least one display element and the adjacent display element is about 180°; and
d) generating a name for each of the packets.
0. 2. The method of
0. 3. The method of
selecting at least one entity within the data, the entity selected from a group consisting of: a road, a railway, an airport, a river, a lake, a shore line, a park, an entity comprising a geometric shape, and an entity comprising a substantially rectangular shape.
0. 4. The method of
generating a substantially rectangular element comprising about 1° longitude and about ½° latitude.
0. 5. The method of
wherein the topographic element comprises elements expressed using a geodetic coordinate system; and
the attribute element is related to the topographic element.
0. 6. The method of
dividing the packets into at least one element, the element selected from a group consisting of: an 8×8 grid, a 64×64 grid, a substantially rectangular grid comprising about 1° longitude and about ½° latitude, and a substantially rectangular grid comprising about ⅛° longitude and about 1/16° latitude.
0. 7. The method of
eliminating elements selected from a group consisting of: a polygon, a lake, a geographic area, a topographic element and an attribute element.
0. 8. The method of
eliminating a plurality of data points from a topographic element.
0. 9. The method of
transforming a geodetic coordinate from a real number to an integer number, wherein the integer number ranges from about 0 to about 65535.
0. 10. The method of
eliminating a plurality of data points from at least one topographic element by applying an angle comparison between an adjacent topographic element line, wherein at least one data point is eliminated if an angle between the at least one topographic element and the adjacent topographic element line is about 180°.
0. 11. The method of
0. 12. The method of
0. 13. The method of
0. 14. The method of
0. 15. A method for displaying a map, the method comprising the steps of:
obtaining information relating to a location;
calculating at least one packet name;
determining a data level;
displaying the map; and
caching at least one packet until an amount of computer storage space is filled, and
determining which packets should be replaced.
0. 16. The method of
computing the at least one data packet name using a geodetic coordinate.
0. 17. The method of
calculating a request location; and
using the request location to calculate the at least one packet name.
0. 18. The method of
computing four adjacent data packet names;
fetching the packets from a server; and
combining an information contained in the packets to generate a map.
0. 19. The method of
determining a resolution level selected from a group consisting of: an address, a city, a zip code and a building floor plan.
0. 20. The method of
caching at least one data packet until an amount of computer storage space is filled, and
determining which packets should be replaced.
0. 21. The method of
checking a local cache before requesting a data packet from a remote device.
0. 22. A method for organizing spatial data comprising the steps of:
a) means for parsing the spatial data into a plurality of packets;
b) means for segmenting the packets;
c) means for reducing a size of the packets by eliminating at least one data point from at least one display element by applying an angle comparison between an adjacent display element, wherein the at least one data point is eliminated if an angle between the at least one display element and the adjacent display element is about 180°; and
d) means for generating a name for each of the packets.
0. 24. The method of
combining map data from a plurality of map data files to produce an in-memory map image; and
rendering the map image on a display screen of the portable computing device.
0. 25. The method of
0. 26. The method of
0. 27. The method of
0. 28. The method of
0. 29. The method of
0. 30. The method of
0. 31. The method of
0. 32. The method of
0. 33. The method of
0. 34. The method of
0. 35. The method of
0. 36. The method of
0. 37. The method of
0. 38. The method of
0. 39. The method of
0. 40. The method of
0. 43. The method of
0. 44. The method of
0. 45. The method of
0. 47. The system of
0. 48. The system of
0. 49. The system of
0. 51. The method of
0. 52. The method of
0. 53. The method of
0. 55. The method of
0. 56. The method of
0. 58. The system of
0. 59. The system of
0. 61. The map display system of
0. 62. The map display system of
0. 63. The map display system of
0. 64. The map display system of
0. 65. The map display system of
0. 66. The map display system of
0. 67. The map display system of
0. 68. The map display system of
0. 70. The method of
0. 71. The method of
displaying a map image indicative of data of the files, records, segments or strings.
0. 72. The method of
0. 73. The method of
0. 74. The method of
0. 75. The method of
0. 76. The method of
0. 77. The method of
0. 79. The method of
0. 80. The method of
0. 82. The system of
0. 83. The system of
0. 84. The system of
0. 85. The method of
|
The formulas for computing level 1 offsets and values are:
X1-offset=Abs((x−x2-offset)/((Lx-max−Lx-min)/K))
Y1-offset=Abs((y2-offset-y)/((Ly-max−Ly-min)/K))
X1-value=K*N*(x1−x2-offset−x1-offset)
Y1-value=K*N*(y2-offset−y1-offset−y1)
K=segment divisor (8 in the preferred embodiment for level 1 segments)
The formulas for computing level 0 offsets and values are the same as for level 1, except that K equals 64 in the preferred embodiment.
The example shown in
Level 2 offsets are shown in 31 and 32, while level 1 offsets are shown in 33 and 34. In the preferred embodiment of this invention, the upper limit N is set to 50000, but it could be a different number. The number should not exceed 65536 or 2*16, allowing it to be stored as a 2 byte integer (a short). The number should not be too low, which would result in a loss of spatial accuracy, because several real numbers would map to the same integer. The loss of accuracy is about 1 meter as implemented in the preferred embodiment of this invention.
Once a data segment has been processed and all real numbers converted to integers, a file name is assigned to the data segment as the last step in block 15 of FIG. 1. Since the computed integer values are only distance values from a given base value or offset, they are not reversible to the original real number value without the offset. A simple and efficient way to supply the necessary offset values is to make them part of a file name. As shown in the example of
In order to simplify computing requirements, a new geodetic coordinate system is introduced. The North Pole of the earth is at coordinate (0,0) and the South Pole is at (360,360). Unlike in the standard coordinate system, no negative values are used. Every latitude degree in the standard coordinate system corresponds to 2 latitude degrees in the new system. The conversion from the standard to the new coordinate system is accomplished as follows:
New latitude=90−old latitude*2
In the new coordinate system, moving south and east always results in greater coordinates, while moving west and north always results in smaller coordinates, until the respective end points 0 and 360 are reached. This system significantly reduces the number of exception checking operations required by map display software when compared to the standard coordinate system.
This shows that the file name contains the offset information for the spatial data stored in the file. Thus, map display software can perform a few simple calculations to compute a file name from any geodetic coordinate, which may be supplied by GPS output. It should also be evident that the task of computing file names for data segments adjacent to a given segment is very straightforward using said file-naming system.
The following section describes how a map display program can use said file system and offer desirable functionality such as combined online/offline operation. In a typical embodiment, the map display program is installed on a wireless device such as a smartphone or personal digital assistant. As shown in
The map display engine 46 uses said geodetic coordinates received from the input interface 44 to calculate four file names. The input interface 44 also tells the map display engine 46 which data level is needed, e.g. high-resolution level 0 is appropriate when the user specified an address, while level 1 may be more appropriate when the user specified a city or zip code. As has been shown in detail in a previous section, a geodetic coordinate can be decomposed and produce a unique file name. The map display engine 46 could then request said file name from a server 47 on which all files 49 are stored. However, in the preferred embodiment, the map display engine actually computes a total of four file names. If only one file is fetched, the geodetic coordinate of interest to the user could be located somewhere near the edge of said file. It would look awkward to the user and be less informative if the point of interest is not shown at or near the center of the map display screen. The ability to center the map picture has been lost by segmenting the spatial database. The solution employed by the map display engine 46 is to fetch three additional data segment files, which are most adjacent to said geodetic coordinate. The map display engine simply determines into which area, top-left, top-right, bottom-left or bottom-right, said coordinate falls. If a point falls in the top-left quadrant of a file, as does point 54 in
One objective of the invention is to provide a flexible mapping system in the sense that the map display system can function online as well as offline. Offline functionality is desirable because it offers the highest speed, since the data is accessed from local storage. The map display engine 46 gives users several options to enable offline capability. Users can select a city or zip code and download all data files for said city or zip code. Furthermore, users can reserve a certain amount of local disk space to be allocated for map data caching. When caching is enabled, the map display engine 46 automatically stores downloaded files on the local disk. As the cache fills up, new data files replace the least frequently accessed data files. A different caching algorithm, for instance based on last accessed time stamps, could be used as well. When the user has selected caching or preloading of data, the map display engine 46 always first scans the local disk space and, if available, loads data files from local space into memory instead of downloading said files from a remote server. Local caching is very useful when users frequently request the same maps. For instance, a user may want to check road traffic conditions on a daily basis. In this case, only updated traffic information such as traffic incident locations or traffic speed maps (a list of measured traffic speeds at different locations) needs to be downloaded. Said updated traffic information can be displayed on a map, which is generated from the map display engine 46 using local map data. Said offline/online capability offers optimal performance for frequently used maps as well as great flexibility regarding local storage capacities of different devices.
While the invention has been described in connection with a preferred embodiment, it is not intended to limit the scope of the invention to the particular form set forth, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
Patent | Priority | Assignee | Title |
10244361, | Sep 07 2004 | Tierravision, Inc. | System and method of wireless downloads of map and geographic based data to portable computing devices |
10262373, | Jun 07 2013 | State Farm Mutual Automobile Insurance Company | Systems and methods for grid-based insurance rating |
10650466, | Jun 07 2013 | State Farm Mutual Automobile Insurance Company | Systems and methods for grid-based insurance rating |
8504393, | Sep 10 2010 | State Farm Mutual Automobile Insurance Company | Systems and methods for grid-based insurance rating |
8649968, | Sep 07 2004 | TIERRAVISION, INC | System and method of wireless downloads of map and geographic based data to portable computing devices |
8676613, | Sep 10 2010 | State Farm Mutual Automobile Insurance Company | Methods for grid-based insurance rating |
8686880, | Nov 24 2011 | CHERSOFT LIMITED | Communicating electronic map data |
8738407, | Sep 10 2010 | State Farm Mutual Automobile Insurance Company | Computer readable medium containing a set of computer readable instructions for grid-based insurance rating |
8738408, | Sep 10 2010 | State Farm Mutual Automobile Insurance Company | Methods for grid-based rating insurance products using a programmed computer system |
8886715, | Nov 16 2011 | GOOGLE LLC | Dynamically determining a tile budget when pre-fetching data in a client device |
8972529, | Aug 04 2011 | GOOGLE LLC | Management of pre-fetched mapping data incorporating user-specified locations |
9063951, | Nov 16 2011 | GOOGLE LLC | Pre-fetching map data based on a tile budget |
9111397, | Dec 12 2011 | GOOGLE LLC | Pre-fetching map tile data along a route |
9137633, | Sep 07 2004 | Tierravision, Inc. | System and method of wireless downloads of map and geographic based data to portable computing devices |
9197713, | Dec 09 2011 | GOOGLE LLC | Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device |
9245046, | Sep 26 2011 | GOOGLE LLC | Map tile data pre-fetching based on mobile device generated event analysis |
9275374, | Nov 15 2011 | GOOGLE LLC | Method and apparatus for pre-fetching place page data based upon analysis of user activities |
9305107, | Dec 08 2011 | GOOGLE LLC | Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device |
9307045, | Nov 16 2011 | GOOGLE LLC | Dynamically determining a tile budget when pre-fetching data in a client device |
9311748, | Feb 20 2013 | GOOGLE LLC | Method and system for generating and storing data objects for multi-resolution geometry in a three dimensional model |
9389088, | Dec 12 2011 | GOOGLE LLC | Method of pre-fetching map data for rendering and offline routing |
9491255, | Dec 09 2011 | GOOGLE LLC | Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device |
9563976, | Dec 12 2011 | GOOGLE LLC | Pre-fetching map tile data along a route |
9569463, | Nov 16 2011 | GOOGLE LLC | Pre-fetching map data using variable map tile radius |
9813521, | Dec 08 2011 | GOOGLE LLC | Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device |
RE43923, | Sep 22 2000 | TIERRAVISION, INC | Method for organizing and compressing spatial data |
Patent | Priority | Assignee | Title |
4520506, | Oct 20 1981 | Harris Corporation | Method and system for compression and reconstruction of cultural data for use in a digital moving map display |
4630209, | Jul 01 1981 | Toyota Jidosha Kogyo Kabushiki Kaisha | Audio/visual display system for multiple maps |
4780717, | Mar 25 1983 | Nippondenso Co., Ltd. | Electronic map display system for use on vehicle |
4888698, | Oct 23 1986 | Mannesmann VDO AG | Method for storing a parcelwise divided digital data base as well as of addressing a data parcel in a mass memory, and apparatus for carrying out the method |
4970682, | Jan 13 1981 | Harris Corporation | Digital map generator and display system |
5202829, | Jun 10 1991 | Trimble Navigation Limited | Exploration system and method for high-accuracy and high-confidence level relative position and velocity determinations |
5299300, | Feb 22 1990 | Harris Corporation | Interpolation processing of digital map imagery data |
5444618, | Jul 25 1991 | Hitachi, Ltd.; Hitachi Information Control Systems, Inc. | Apparatus and method for topographic processing |
5543789, | Jun 24 1994 | HERE GLOBAL B V | Computerized navigation system |
5629854, | Sep 25 1991 | U.S. Philips Corporation | Device for displaying cartographic information, method for displaying cartographic information, navigation system provided with the device and vehicle provided with the navigation system |
5694534, | Jul 25 1985 | TELE ATLAS NORTH AMERICA, INC | Apparatus storing a presentation of topological structures and methods of building and searching the representation |
5737508, | Mar 26 1990 | HAMMOND WORLD ATLAS CORPORATION; COLORPRINT MAPS, INC | Method for smoothing fractally-curved lines |
5754846, | Oct 01 1990 | Mannesmann VDO AG | Method of storing a topological network, and methods and apparatus for identifying series of 1-cells in a network stored by such a method |
5802492, | Jun 24 1994 | Garmin Switzerland GmbH | Computer aided routing and positioning system |
5839088, | Aug 22 1996 | WGRS LICENSING COMPANY, LLC | Geographic location referencing system and method |
5848373, | Jun 24 1994 | Garmin Switzerland GmbH | Computer aided map location system |
5881074, | Aug 28 1997 | Level One Communications, Inc. | 1000base-t packetized trellis coder |
5953722, | Oct 25 1996 | HERE GLOBAL B V | Method and system for forming and using geographic data |
5966135, | Oct 30 1996 | AUTODESK, Inc | Vector-based geographic data |
5968109, | Oct 25 1996 | HERE GLOBAL B V | System and method for use and storage of geographic data on physical media |
5974419, | Oct 25 1996 | HERE GLOBAL B V | Parcelization of geographic data for storage and use in a navigation application |
6018695, | Jan 26 1996 | HERE GLOBAL B V | System and method for distributing information for storage media |
6038559, | Mar 16 1998 | HERE GLOBAL B V | Segment aggregation in a geographic database and methods for use thereof in a navigation application |
6049753, | Apr 28 1996 | AISIN AW CO , LTD | Device for searching and guiding route and for searching route |
6076039, | Sep 03 1998 | Garmin Corporation | Navigation device and method for displaying cartographic markers |
6092076, | Mar 24 1998 | NAVIGON AB; Navigon AG | Method and system for map display in a navigation application |
6107944, | Jun 24 1994 | HERE GLOBAL B V | Electronic navigation system and method |
6122594, | Mar 11 1996 | Denson Corporation | System and method for designating points on a map using reduced designation information |
6141454, | Nov 01 1996 | Google Technology Holdings LLC | Methods for data compression and decompression using digitized topology data |
6163749, | Jun 05 1998 | HERE GLOBAL B V | Method and system for scrolling a map display in a navigation application |
6178380, | Oct 22 1998 | BEACON NAVIGATION GMBH | Street identification for a map zoom of a navigation system |
6188955, | Dec 30 1998 | Garmin Corporation | Method and apparatus for storing cartographic route data |
6201498, | Nov 17 1998 | Empire IP LLC | GPS receiver with close range wireless communication port |
6222483, | Sep 29 1998 | Nokia Technologies Oy | GPS location for mobile phones using the internet |
6278939, | Jul 24 2000 | HERE GLOBAL B V | Method and system for providing data from a remotely located geographic database for use in navigation system units |
6292745, | Jul 24 2000 | HERE GLOBAL B V | Method and system for forming a database of geographic data for distribution to navigation system units |
6295502, | Aug 22 1996 | WGRS LICENSING COMPANY, LLC | Method of identifying geographical location using hierarchical grid address that includes a predefined alpha code |
6307573, | Jul 22 1999 | CEDAR LANE TECHNOLOGIES INC | Graphic-information flow method and system for visually analyzing patterns and relationships |
6308177, | Oct 25 1996 | HERE GLOBAL B V | System and method for use and storage of geographic data on physical media |
6324467, | Mar 05 1999 | Hitachi, Ltd. | Information providing system |
6336073, | Jul 29 1999 | Matsushita Electric Industrial Co., Ltd. | Information terminal device and method for route guidance |
6424933, | Mar 17 2000 | Microsoft Technology Licensing, LLC | System and method for non-uniform scaled mapping |
6487495, | Jun 02 2000 | HERE GLOBAL B V | Navigation applications using related location-referenced keywords |
6505186, | Apr 27 1998 | Hitachi, LTD | Method of managing feature data |
6526284, | Nov 10 1999 | International Business Machines Corporation | Transmission of geographic information to mobile devices |
6556919, | Apr 09 1999 | Toyota Jidosha Kabushiki Kaisha; Denso Corporation; Aisin AW Co., Ltd.; Fujitsu Ten Limited; Matsushita Electric Industrial Co., Ltd. | Map data storage medium |
6574551, | May 05 1998 | DIDI HK SCIENCE AND TECHNOLOGY LIMITED | Autoscaling of recommended route |
6591270, | Jul 28 2000 | HERE GLOBAL B V | Method for organizing map data |
6628278, | May 21 1999 | Continental Automotive GmbH | Method for obtaining a three-dimensional map representation, and a navigation system |
6703947, | Sep 22 2000 | TIERRAVISION, INC | Method for organizing and compressing spatial data |
6704645, | Dec 11 2001 | Garmin Ltd. | System and method for estimating impedance time through a road network |
6708112, | Dec 11 2001 | Garmin Ltd | System and method for calculating a navigation route based on adjacent cartographic map databases |
6795450, | Sep 28 2000 | Maxim Integrated Products, Inc | Method and apparatus for supporting physical layer link-suspend operation between network nodes |
6868088, | Feb 14 2001 | VALTRUS INNOVATIONS LIMITED | Automatic detector of media interface protocol type |
6912596, | Aug 02 2002 | Texas Instruments Incorporated | Automatic resume from suspend for IEEE-1394 PHY |
7047428, | Jan 03 2002 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Method and apparatus for performing wake on LAN power management |
7054947, | Jan 15 2001 | Samsung Electronics Co., Ltd. | Auto-negotiation method for high speed link in gigabit Ethernet using 1000 Base-T standard and apparatus thereof |
7079551, | Oct 05 2000 | THINKLOGIX, LLC | Private network link verification procedure in free space optical communication network |
7174243, | Dec 06 2001 | Verizon Patent and Licensing Inc | Wireless, internet-based system for transmitting and analyzing GPS data |
7181438, | May 30 2000 | RELATIVITY DISPLAY LLC | Database access system |
7363126, | Aug 22 2002 | United Parcel Service of America | Core area territory planning for optimizing driver familiarity and route flexibility |
7496082, | Jul 15 2002 | MEDIATEK INC | Dedicated device for automatically accessing wireless internet network and supplying wireless packet data-based indoor-capable GPS locations |
7532158, | Apr 25 2003 | New Jersey Institute of Technology | Wireless network assisted GPS system |
20010037305, | |||
20030060973, | |||
20040003132, | |||
20040260678, | |||
20050004945, | |||
20050125143, | |||
20050135413, | |||
JP2000197103, | |||
KR20000030232, | |||
KR20000054183, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 19 2003 | WALLNER, ALFRED | TIERRAVISION, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031483 | /0138 | |
Aug 25 2008 | Tierravision, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Aug 12 2011 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Date | Maintenance Schedule |
Dec 07 2013 | 4 years fee payment window open |
Jun 07 2014 | 6 months grace period start (w surcharge) |
Dec 07 2014 | patent expiry (for year 4) |
Dec 07 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 07 2017 | 8 years fee payment window open |
Jun 07 2018 | 6 months grace period start (w surcharge) |
Dec 07 2018 | patent expiry (for year 8) |
Dec 07 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 07 2021 | 12 years fee payment window open |
Jun 07 2022 | 6 months grace period start (w surcharge) |
Dec 07 2022 | patent expiry (for year 12) |
Dec 07 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |