Feature Cache Framework for GeoTools

Size: px
Start display at page:

Download "Feature Cache Framework for GeoTools"

Transcription

1 Feature Cache Framework for GeoTools A Google Summer of Code 2007 Project Christophe Rousson, Université Laval project mentored by Ian Turton 1

2 Outline Project motivations Benchmarks Future work GeoTools Data Access Model Cache Framework Design

3 Outline Project motivations Benchmarks Future work GeoTools Data Access Model Cache Framework Design

4 Project Motivations

5 Project Motivations Client side

6 Project Motivations Client side Don t download same data again and again

7 Project Motivations Client side Save bandwidth Don t download same data again and again

8 Project Motivations Client side Save bandwidth Don t download same data again and again Ability to disconnect from network

9 Outline Project motivations Benchmarks Future work GeoTools Data Access Model Cache Framework Design

10 GeoTools Data Module

11 Feature a common interface to encapsulate geographic vector data based on the OGC Reference Model SimpleFeature sub-interface (OGC SFS)

12 DataStore vs. FeatureSource

13 DataStore vs. FeatureSource Low-level API DataStore

14 DataStore vs. FeatureSource Low-level API High-level API DataStore

15 DataStore vs. FeatureSource Low-level API DataStore High-level API FeatureSource (read-only)

16 DataStore vs. FeatureSource Low-level API DataStore High-level API FeatureSource (read-only) Transaction FeatureStore (read-write, transactional)

17 DataStore vs. FeatureSource Low-level API DataStore High-level API FeatureSource (read-only) Transaction FeatureStore (read-write, transactional) LockingManager FeatureLocking

18 WFS DataStore Example HashMap params = new HashMap(); WFSDataStoreFactory factory = new WFSDataStoreFactory(); try { params.put(wfsdatastorefactory.url.key, new URL(" version=1.0.0&request=getcapabilities&service=wfs")); DataStore ds = (WFSDataStore) factory.createnewdatastore(params); FeatureSource source = ds.getfeaturesource("road"); FeatureCollection fc = source.getfeatures(filter); } catch (MalformedURLException e) { //... } catch (IOException e) { //... }

19 Supported DataStores Shapefile Postgis, Oracle, DB2 WFS, ArcSDE many other unsupported data plugins

20 Outline Project motivations Benchmarks Future work GeoTools Data Access Model Cache Framework Design

21 Cache basics CLIENT SOURCE

22 Cache basics CLIENT SOURCE get data

23 Cache basics CLIENT SOURCE

24 Cache basics CLIENT SOURCE get

25 Cache basics CLIENT CACHE STORAGE SOURCE get

26 Cache basics CLIENT CACHE STORAGE SOURCE get peek

27 Cache basics CLIENT CACHE STORAGE SOURCE get peek data

28 Cache basics CLIENT CACHE STORAGE SOURCE get peek data get data

29 Cache basics CLIENT CACHE STORAGE SOURCE get peek data get data store

30 Cache basics CLIENT CACHE STORAGE SOURCE get peek data get data store data

31 Requirements optimized for how features are usually accessed

32 Filter

33 Rewrite Filter = BBox AND Filter

34 Rewrite Filter = BBox AND Filter Cache nodes

35 Rewrite Filter = BBox AND Filter Cache nodes Blocks of Data

36 Storage

37 ? Storage

38 ? associate with Storage

39 Divide space into regions Storage? associate with

40 Divide space into regions Storage? associate with Group and store features by regions

41 Divide space into regions Storage? Node ID Group and store features by regions

42 Divide space into regions Storage? Node ID Group and store features by regions

43 Divide space into regions Storage? Node ID Known & unknown regions Valid & invalid nodes Group and store features by regions

44 Divide space into regions Storage? Node ID Known & unknown regions Valid & invalid nodes Group and store features by regions

45 How to divide space into regions?

46 How to divide space into regions? regular space division grid

47 How to divide space into regions? regular space division grid regular space division quadtree

48 How to divide space into regions? regular space division grid regular space division quadtree irregular space division R-tree

49 How to divide space into regions? most efficient regular space division grid regular space division quadtree irregular space division R-tree

50 How to divide space into regions? most simple most efficient regular space division grid regular space division quadtree irregular space division R-tree

51 Feature Cache Framework FeatureCache

52 Feature Cache Framework FeatureCache Storage

53 Feature Cache Framework FeatureCache Tracker Storage

54 Feature Cache Framework FeatureCache EvictionPolicy Tracker Storage

55 Feature Cache Framework FeatureCache EvictionPolicy Tracker Storage

56 Feature Cache Framework FeatureSource SpatialIndex Storage FeatureCache FeatureListener Tracker EvictableTree AbstractFeatureCache EvictionPolicy LRUEvictionPolicy

57 Feature Cache Framework FeatureSource SpatialIndex Storage FeatureCache FeatureListener Tracker EvictableTree AbstractFeatureCache EvictionPolicy LRUEvictionPolicy

58 Feature Cache Framework FeatureSource SpatialIndex Storage FeatureCache FeatureListener Tracker EvictableTree AbstractFeatureCache EvictionPolicy LRUEvictionPolicy

59 Feature Cache Framework FeatureSource SpatialIndex Storage FeatureCache FeatureListener Tracker EvictableTree AbstractFeatureCache EvictionPolicy LRUEvictionPolicy

60 Feature Cache Framework FeatureSource SpatialIndex Storage FeatureCache FeatureListener Tracker EvictableTree AbstractFeatureCache EvictionPolicy LRUEvictionPolicy

61 Using spatial indexation spatial index framework proposed by Marios Hadjieleftheriou spatialindex

62 Example code int feature_type_index = 0; int number_of_nodes = 500; int cache_feature_capacity = 1000; DataStore ds =... ; // get any instance of a datastore FeatureCache cache = new GridFeatureCache( ds.getfeaturesource( ds.gettypenames([feature_type_index]), number_of_nodes, cache_feature_capacity, BufferedDiskStorage.createInstance()); // cache may be used anywhere you would normally use FeatureSource

63 Extension points FeatureSource SpatialIndex Storage FeatureCache FeatureListener Tracker EvictableTree AbstractFeatureCache EvictionPolicy LRUEvictionPolicy

64 Extension points FeatureSource SpatialIndex Storage FeatureCache FeatureListener Tracker EvictableTree AbstractFeatureCache 1 Inner mechanisms EvictionPolicy LRUEvictionPolicy

65 Extension points FeatureSource Type of index 2 SpatialIndex Storage FeatureCache FeatureListener Tracker EvictableTree AbstractFeatureCache 1 Inner mechanisms EvictionPolicy LRUEvictionPolicy

66 Extension points FeatureSource Type of index 2 SpatialIndex Storage 3 FeatureCache FeatureListener Tracker Storage/ Backend EvictableTree AbstractFeatureCache 1 Inner mechanisms EvictionPolicy LRUEvictionPolicy

67 Extension points FeatureSource Type of index 2 SpatialIndex Storage 3 FeatureCache FeatureListener Tracker Storage/ Backend EvictableTree AbstractFeatureCache 1 Inner mechanisms EvictionPolicy LRUEvictionPolicy 4 Eviction policy

68 Project Current State

69 Project Current State Grid Spatial Index

70 Project Current State Grid Spatial Index Memory and Disk Storage

71 Project Current State Grid Spatial Index Memory and Disk Storage Thread safe

72 Project Current State Grid Spatial Index Memory and Disk Storage Thread safe LRU eviction policy

73 Project Current State Grid Spatial Index Memory and Disk Storage Thread safe LRU eviction policy Eviction based on a maximum number of features

74 Project Current State Grid Spatial Index Memory and Disk Storage Thread safe LRU eviction policy Eviction based on a maximum number of features Reusable framework

75 DEMO

76 Outline Project motivations Benchmarks Future work GeoTools Data Access Model Cache Framework Design

77 Test Case 5000 random features in the unit square, mean size of queries query window size of 0.05, 0.02, 0.01 queries in the neighborhood of previous one

78 Relative execution time difference compared to MemoryDataStore (%) Mean 100% 75% 50% 25% 0% -25% -50% -75% -100% 73% 74% 49% -50% 300 f. 500 f f f.

79 Relative execution time difference compared to MemoryDataStore (%) Mean 100% 75% 50% 25% 0% -25% -50% -75% -100% 91% 84% 80% 77% 50 nodes 100 nodes 250 nodes 500 nodes

80 Outline Project motivations Benchmarks Future work GeoTools Data Access Model Cache Framework Design

81 Current limitations

82 Current limitations support only for SimpleFeature

83 Current limitations support only for SimpleFeature per feature type cache

84 Current limitations support only for SimpleFeature per feature type cache read-only implementation

85 TODO LIST

86 write-thru TODO LIST

87 write-thru disconnectable TODO LIST

88 TODO LIST write-thru disconnectable warm start from storage

89 TODO LIST write-thru disconnectable warm start from storage support for other types of index : quadtree, r-tree

90 Wish list

91 Wish list cache listens to update feeds

92 Wish list cache listens to update feeds cache downloads pre-built index from third-party service (r-tree case)

93 Questions? For more information, please contact : christophe.rousson@gmail.com

94 Relative execution time difference compared to MemoryDataStore (%) Worst case Optimal case Mean 100% -100% -329% 79% -50% -369% 79% 49% -334% 78% 73% -332% 79% 74% -300% -500% -700% 300 f. 500 f f f.

95 Relative execution time difference compared to MemoryDataStore (%) Worst case Optimal case Mean 100% 95% 84% 96% 91% 97% 80% 96% 77% -100% -684% -230% -340% -255% -300% -500% -700% 50 nodes 100 nodes 250 nodes 500 nodes

96

97 Visitor QueryStrategy Statistics SpatialIndex + insertdata() : void + deletedata() : void + clear() : void + intersectionquery() : void + containmentquery() : void + querystrategy() : void + getstatistics() : Statistics + getindexproperties() : void SimpleFeatureMarshaller Externalizable Data GridData 0..* contains 1..* 1 SimpleFeature Shape Entry 0..* 1 stores 1 Node GridNode GridRootNode has root 1 Serializable 1 1 AbstractSpatialIndex 1 Storage references children Serializable MemoryStorage 1 0..* Shape Region NodeIdentifier 0..* lists Storage DiskStorage Grid 1 1 RegionNodeIdentifier BufferedDiskStorage

GeoTools Data Store Performance and Recommendations

GeoTools Data Store Performance and Recommendations GeoTools Data Store Performance and Recommendations Submitted To: Program Manager GeoConnections Victoria, BC, Canada Submitted By: Jody Garnett Refractions Research Inc. Suite 400 1207 Douglas St. Victoria,

More information

Coordinate System Transformations in Geotools and udig

Coordinate System Transformations in Geotools and udig Coordinate System Transformations in Geotools and udig Czech Technical University in Prague Faculty of Civi Engineering Department of Mapping and Cartography September 22, 2007 Outline of Part I 1 Google

More information

Transactional Web Feature Server Design

Transactional Web Feature Server Design Transactional Web Feature Server Design Submitted To: Program Manager Geos Victoria, BC, Canada Submitted By: Jody Garnett Brent Owens Refractions Research Inc. Suite 400, 1207 Douglas Street Victoria,

More information

H O W T O C O P E W I T H G E O S P A T I A L

H O W T O C O P E W I T H G E O S P A T I A L H O W T O C O P E W I T H G E O S P A T I A L T h e P r a g m a i c I n t r o f o r J a v a D e v e l o p e r s 2 8 S e p t e m b e r 2 0 0 7 TABLE OF CONTENTS 1Goals...3 2Welcome...4 3Introduction and

More information

Implementing Web GIS Solutions

Implementing Web GIS Solutions Implementing Web GIS Solutions using open source software Karsten Vennemann Seattle Talk Overview Talk Overview Why and What What is Open Source (GIS)? Why use it? Application Components Overview of Web

More information

Development of Java Plug-In for Geoserver to Read GeoRaster Data. 1. Baskar Dhanapal CoreLogic Global Services Private Limited, Bangalore

Development of Java Plug-In for Geoserver to Read GeoRaster Data. 1. Baskar Dhanapal CoreLogic Global Services Private Limited, Bangalore Development of Java Plug-In for Geoserver to Read GeoRaster Data 1. Baskar Dhanapal CoreLogic Global Services Private Limited, Bangalore 2. Bruce Thelen CoreLogic Spatial Solutions, Austin, USA 3. Perumal

More information

The HTCondor CacheD. Derek Weitzel, Brian Bockelman University of Nebraska Lincoln

The HTCondor CacheD. Derek Weitzel, Brian Bockelman University of Nebraska Lincoln The HTCondor CacheD Derek Weitzel, Brian Bockelman University of Nebraska Lincoln Today s Talk Today s talk summarizes work for my a part of my PhD Dissertation Also, this work has been accepted to PDPTA

More information

Vive Input Utility Developer Guide

Vive Input Utility Developer Guide Vive Input Utility Developer Guide vivesoftware@htc.com Abstract Vive Input Utility is a tool based on the SteamVR plugin that allows developers to access Vive device status in handy way. We also introduce

More information

Oracle Spatial Users Conference

Oracle Spatial Users Conference March 13, 2008 Seattle Convention Center Seattle, Washington, USA Bryan Hall Spatial Architect Jeff Walawender Senior Java Developer Reengineering Desktop Thick Workgroups into Web Rich Enterprise Clients

More information

InCLUDE Data Exchange. Julia Harrell, GISP GIS Coordinator, NC DENR

InCLUDE Data Exchange. Julia Harrell, GISP GIS Coordinator, NC DENR InCLUDE Data Exchange Julia Harrell, GISP GIS Coordinator, NC DENR Julia.harrell@ncdenr.gov InCLUDE Project Partners NC Department of Environment & Natural Resources: The State of NC s lead environmental

More information

Grids 1.0 beta and beyond. Andy Turner

Grids 1.0 beta and beyond. Andy Turner Grids 1.0 beta and beyond Andy Turner http://www.geog.leeds.ac.uk/people/a.turner/ Outline Introduction Detail What Why Memory Handling Next Steps Summary Questions Comments Advice Introduction Who are

More information

(f) Given what we know about linked lists and arrays, when would we choose to use one data structure over the other?

(f) Given what we know about linked lists and arrays, when would we choose to use one data structure over the other? CSM B Hashing & Heaps Spring 0 Week 0: March 0, 0 Motivation. (a) In the worst case, how long does it take to index into a linked list? Θ(N) (b) In the worst case, how long does it take to index into an

More information

Improve Web Application Performance with Zend Platform

Improve Web Application Performance with Zend Platform Improve Web Application Performance with Zend Platform Shahar Evron Zend Sr. PHP Specialist Copyright 2007, Zend Technologies Inc. Agenda Benchmark Setup Comprehensive Performance Multilayered Caching

More information

Introduction to Geographic Information Science. Some Updates. Last Lecture 4/6/2017. Geography 4103 / Raster Data and Tesselations.

Introduction to Geographic Information Science. Some Updates. Last Lecture 4/6/2017. Geography 4103 / Raster Data and Tesselations. Geography 43 / 3 Introduction to Geographic Information Science Raster Data and Tesselations Schedule Some Updates Last Lecture We finished DBMS and learned about storage of data in complex databases Relational

More information

FlashTier: A Lightweight, Consistent and Durable Storage Cache

FlashTier: A Lightweight, Consistent and Durable Storage Cache FlashTier: A Lightweight, Consistent and Durable Storage Cache Mohit Saxena PhD Candidate University of Wisconsin-Madison msaxena@cs.wisc.edu Flash Memory Summit 2012 Santa Clara, CA Flash is a Good Cache

More information

Store and Manage Data in a DBMS With ArcView Database Access. Presented By: Andrew Arana & Canserina Kurnia

Store and Manage Data in a DBMS With ArcView Database Access. Presented By: Andrew Arana & Canserina Kurnia Store and Manage Data in a DBMS With ArcView Database Access Presented By: Andrew Arana & Canserina Kurnia Overview Topics to be Covered: General method for accessing data database themes, database tables

More information

InCLUDE Data Exchange. Julia Harrell, GISP GIS Coordinator, NC DENR

InCLUDE Data Exchange. Julia Harrell, GISP GIS Coordinator, NC DENR InCLUDE Data Exchange Julia Harrell, GISP GIS Coordinator, NC DENR Julia.harrell@ncdenr.gov InCLUDE Project Partners NC Department of Environment & Natural Resources: The State of NC s lead environmental

More information

AGIC 2012 Workshop Leveraging Free RDBMS in ArcGIS

AGIC 2012 Workshop Leveraging Free RDBMS in ArcGIS AGIC 2012 Workshop Leveraging Free RDBMS in ArcGIS Prescott, AZ October 2012 Instructors: Bo Guo, PE, PhD Terry Li Workshop Outline Part I Introduction Why RDBMS Discussion on Obstacles for using RDBMS

More information

Introduction to ArcGIS Server 10.1

Introduction to ArcGIS Server 10.1 Introduction to ArcGIS Server 10.1 E-Learning for the GIS Professional Any Time, Any Place! geospatialtraining.com Module Outline What is ArcGIS Server? GIS Resources and Services ArcGIS Server Components

More information

Advanced Database Systems

Advanced Database Systems Lecture II Storage Layer Kyumars Sheykh Esmaili Course s Syllabus Core Topics Storage Layer Query Processing and Optimization Transaction Management and Recovery Advanced Topics Cloud Computing and Web

More information

Validating Web Feature Server Design Document

Validating Web Feature Server Design Document Validating Web Feature Server Design Document Submitted To: Program Manager GeoConnections Victoria, BC, Canada Submitted By: Jody Garnett Brent Owens Refractions Research Inc. Suite 400, 1207 Douglas

More information

Spectrum Spatial Map Uploader Guide

Spectrum Spatial Map Uploader Guide Spectrum Spatial Map Uploader Version 11.0 Spectrum Spatial Map Uploader Guide Welcome to Spectrum Spatial Map Uploader. To get started with the Spectrum Spatial Map Uploader, refer to the following help

More information

Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection

Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection Efficient Java (with Stratosphere) Arvid Heise, Large Scale Duplicate Detection Agenda 2 Bottlenecks Mutable vs. Immutable Caching/Pooling Strings Primitives Final Classloaders Exception Handling Concurrency

More information

Caching At Twitter and moving towards a persistent, in-memory key-value store

Caching At Twitter and moving towards a persistent, in-memory key-value store aching At Twitter and moving towards a persistent, in-memory key-value store Manju Rajashekhar @manju Outline aching System Architecture Twemcache Twemproxy Learnings in-memory persistent store ache In

More information

Introduction to GeoServer

Introduction to GeoServer Tutorial ID: This tutorial has been developed by BVIEER as part of the IGET web portal intended to provide easy access to geospatial education. This tutorial is released under the Creative Commons license.

More information

ArcSDE Performance Tips

ArcSDE Performance Tips ArcSDE Performance Tips Welcome Mansour Raad (mraad@esri.com) Rent-a-Tech Design/Implement Enterprise Solutions ARCIMS Developer Technology Integrator Outline Quick what is ArcSDE? False X/Y and System

More information

Revealing Applications Access Pattern in Collective I/O for Cache Management

Revealing Applications Access Pattern in Collective I/O for Cache Management Revealing Applications Access Pattern in for Yin Lu 1, Yong Chen 1, Rob Latham 2 and Yu Zhuang 1 Presented by Philip Roth 3 1 Department of Computer Science Texas Tech University 2 Mathematics and Computer

More information

TrafficDB: HERE s High Performance Shared-Memory Data Store Ricardo Fernandes, Piotr Zaczkowski, Bernd Göttler, Conor Ettinoffe, and Anis Moussa

TrafficDB: HERE s High Performance Shared-Memory Data Store Ricardo Fernandes, Piotr Zaczkowski, Bernd Göttler, Conor Ettinoffe, and Anis Moussa TrafficDB: HERE s High Performance Shared-Memory Data Store Ricardo Fernandes, Piotr Zaczkowski, Bernd Göttler, Conor Ettinoffe, and Anis Moussa EPL646: Advanced Topics in Databases Christos Hadjistyllis

More information

MemoryLint. Petr Nejedlý, Radim Kubacki SUN Microsystems, BOF-9066

MemoryLint. Petr Nejedlý, Radim Kubacki SUN Microsystems,   BOF-9066 MemoryLint Petr Nejedlý, Radim Kubacki SUN Microsystems, http://www.sun.com/, http://www.netbeans.org BOF-9066 2007 JavaOne SM Conference Session BOF-9066 Goal Get ideas how to analyze content of Java

More information

Beyond PostGIS. New developments in Open Source Spatial Databases. Karsten Vennemann. Seattle

Beyond PostGIS. New developments in Open Source Spatial Databases. Karsten Vennemann. Seattle New developments in Open Source Spatial Databases Karsten Vennemann Seattle Talk Overview Intro Relational Databases PostGIS JASPA INGRES Geospatial MySQL Spatial Support HatBox a user space extension

More information

Web Map Servers. Mark de Blois. Septembre 2016

Web Map Servers. Mark de Blois. Septembre 2016 Web Map Servers Mark de Blois Septembre 2016 Learning Objectives After this lecture you will be able to understand web map servers as used in Web-GIS applications Introduction A Web Map Server is a computer

More information

Caches. Samira Khan March 23, 2017

Caches. Samira Khan March 23, 2017 Caches Samira Khan March 23, 2017 Agenda Review from last lecture Data flow model Memory hierarchy More Caches The Dataflow Model (of a Computer) Von Neumann model: An instruction is fetched and executed

More information

TokuDB vs RocksDB. What to choose between two write-optimized DB engines supported by Percona. George O. Lorch III Vlad Lesin

TokuDB vs RocksDB. What to choose between two write-optimized DB engines supported by Percona. George O. Lorch III Vlad Lesin TokuDB vs RocksDB What to choose between two write-optimized DB engines supported by Percona George O. Lorch III Vlad Lesin What to compare? Amplification Write amplification Read amplification Space amplification

More information

ATTACHMENT MANAGEMENT USING AZURE BLOB STORAGE

ATTACHMENT MANAGEMENT USING AZURE BLOB STORAGE ATTACHMENT MANAGEMENT USING AZURE BLOB STORAGE A Solution to help optimize Dynamics 365 CRM storage by automatically saving file attachments to Azure Blob Storage MICROSOFT LABS P a g e 1 18 Table of Contents

More information

CSE544 Database Architecture

CSE544 Database Architecture CSE544 Database Architecture Tuesday, February 1 st, 2011 Slides courtesy of Magda Balazinska 1 Where We Are What we have already seen Overview of the relational model Motivation and where model came from

More information

CS112 Lecture: Exceptions. Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions

CS112 Lecture: Exceptions. Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions CS112 Lecture: Exceptions Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions Materials: 1. Online Java documentation to project 2. ExceptionDemo.java to

More information

Cache memories are small, fast SRAM-based memories managed automatically in hardware. Hold frequently accessed blocks of main memory

Cache memories are small, fast SRAM-based memories managed automatically in hardware. Hold frequently accessed blocks of main memory Cache Memories Cache memories are small, fast SRAM-based memories managed automatically in hardware. Hold frequently accessed blocks of main memory CPU looks first for data in caches (e.g., L1, L2, and

More information

GeoServer, The Open Source Solution for the interoperable management of geospatial data

GeoServer, The Open Source Solution for the interoperable management of geospatial data GeoServer, The Open Source Solution for the interoperable management of geospatial data Ing. Andrea Aime, GeoSolutions Ing. Simone Giannecchini, GeoSolutions Outline Who is GeoSolutions? Quick intro to

More information

ArcGIS Enterprise: Performance and Scalability Best Practices. Darren Baird, PE, Esri

ArcGIS Enterprise: Performance and Scalability Best Practices. Darren Baird, PE, Esri ArcGIS Enterprise: Performance and Scalability Best Practices Darren Baird, PE, Esri dbaird@esri.com What is ArcGIS Enterprise What s Included with ArcGIS Enterprise ArcGIS Server the core web services

More information

Oracle Sql Developer User's Guide Release 2.1

Oracle Sql Developer User's Guide Release 2.1 Oracle Sql Developer User's Guide Release 2.1 Welcome to the Oracle SQL Developer documentation library. Oracle SQL User's Guide. Click to TimesTen In-Memory Database Support Release Notes. 2.1.1 Changes

More information

The Move from Raster Tiles to Vector Tiles. Two Architectures for Making Lots of Maps Dynamically

The Move from Raster Tiles to Vector Tiles. Two Architectures for Making Lots of Maps Dynamically The Move from Raster Tiles to Vector Tiles Two Architectures for Making Lots of Maps Dynamically Outline Who We Are & What We Do Data Maps - Raster-based Architecture Categorizations - Vector-based Architecture

More information

CUDA. Schedule API. Language extensions. nvcc. Function type qualifiers (1) CUDA compiler to handle the standard C extensions.

CUDA. Schedule API. Language extensions. nvcc. Function type qualifiers (1) CUDA compiler to handle the standard C extensions. Schedule CUDA Digging further into the programming manual Application Programming Interface (API) text only part, sorry Image utilities (simple CUDA examples) Performace considerations Matrix multiplication

More information

Quadstream. Algorithms for Multi-scale Polygon Generalization. Curran Kelleher December 5, 2012

Quadstream. Algorithms for Multi-scale Polygon Generalization. Curran Kelleher December 5, 2012 Quadstream Algorithms for Multi-scale Polygon Generalization Introduction Curran Kelleher December 5, 2012 The goal of this project is to enable the implementation of highly interactive choropleth maps

More information

Neo4j. Spatial. Peter Neubauer Neo Technology. GIS for the rest of us.

Neo4j. Spatial. Peter Neubauer Neo Technology. GIS for the rest of us. Neo4j Spatial GIS for the rest of us Peter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Data size NOSQL data models Key-value stores Bigtable clones Document databases Graph databases

More information

In this White Paper, we will explore how to successfully install the SQL Server Extension for GeoServer.

In this White Paper, we will explore how to successfully install the SQL Server Extension for GeoServer. As default when GeoServer is installed it will provide a set number of Vector and Raster Data Stores, which allow you to connect to and publish data from certain sources, such as Shapefile, PostGIS and

More information

Inside the PostgreSQL Shared Buffer Cache

Inside the PostgreSQL Shared Buffer Cache Truviso 07/07/2008 About this presentation The master source for these slides is http://www.westnet.com/ gsmith/content/postgresql You can also find a machine-usable version of the source code to the later

More information

A RESTful Java Framework for Asynchronous High-Speed Ingest

A RESTful Java Framework for Asynchronous High-Speed Ingest A RESTful Java Framework for Asynchronous High-Speed Ingest Pablo Silberkasten Jean De Lavarene Kuassi Mensah JDBC Product Development October 5, 2017 3 Safe Harbor Statement The following is intended

More information

ArcGIS Enterprise: Architecture & Deployment. Anthony Myers

ArcGIS Enterprise: Architecture & Deployment. Anthony Myers ArcGIS Enterprise: Architecture & Deployment Anthony Myers 1 2 3 4 5 Web GIS Overview of ArcGIS Enterprise Federation & Hosted Server Deployment Patterns Implementation 1 Web GIS ArcGIS Enabling GIS for

More information

ArcGIS 9.2 Works as a Complete System

ArcGIS 9.2 Works as a Complete System ArcGIS 9.2 Works as a Complete System A New Way to Manage and Disseminate Geographic Knowledge Author/Serve/Use Maps Data Models Globes Metadata Use Desktop Explorer Web Map Viewer Mobile Open APIs Enterprise

More information

What s New in ArcGIS Server 10

What s New in ArcGIS Server 10 What s New in ArcGIS Server 10 Derek Law ArcGIS Server Product Management What s s new in ArcGIS Server 10? Agenda Highlights: Enhanced Web mapping More powerful server-based analysis Geo-collaboration

More information

IIPIMAGE AND THE OLDMAPSONLINE.ORG PROJECT

IIPIMAGE AND THE OLDMAPSONLINE.ORG PROJECT IIPIMAGE AND THE OLDMAPSONLINE.ORG PROJECT Petr Žabička Petr Přidal Moravian Library Brno: OldMapsOnline.org R&D grant of the Czech Ministry of Culture (DC08P02OUK006)

More information

Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching

Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching Cascade Mapping: Optimizing Memory Efficiency for Flash-based Key-value Caching Kefei Wang and Feng Chen Louisiana State University SoCC '18 Carlsbad, CA Key-value Systems in Internet Services Key-value

More information

Tag a Tiny Aggregation Service for Ad-Hoc Sensor Networks. Samuel Madden, Michael Franklin, Joseph Hellerstein,Wei Hong UC Berkeley Usinex OSDI 02

Tag a Tiny Aggregation Service for Ad-Hoc Sensor Networks. Samuel Madden, Michael Franklin, Joseph Hellerstein,Wei Hong UC Berkeley Usinex OSDI 02 Tag a Tiny Aggregation Service for Ad-Hoc Sensor Networks Samuel Madden, Michael Franklin, Joseph Hellerstein,Wei Hong UC Berkeley Usinex OSDI 02 Outline Introduction The Tiny AGgregation Approach Aggregate

More information

Secrets of the JTS Topology Suite

Secrets of the JTS Topology Suite Secrets of the JTS Topology Suite Martin Davis Refractions Research Inc. Overview of presentation Survey of JTS functions and components Tips for using JTS as an engine for processing Geometry Tips for

More information

Motivation for Caching and Optimization of Cache Utilization

Motivation for Caching and Optimization of Cache Utilization Motivation for Caching and Optimization of Cache Utilization Agenda Memory Technologies Bandwidth Limitations Cache Organization Prefetching/Replacement More Complexity by Coherence Performance Optimization

More information

Poom Malakul Na Ayudhya

Poom Malakul Na Ayudhya DataClient 1.0.6 Manual By Poom Malakul Na Ayudhya pmalakul@gmail.com (Under Development) Page 1 Contents 1. Introduction 2. Installation 2.1. Knowledge Requirements 2.2. Software Requirements 2.3. DataClient

More information

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 P a g e 1 CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 Q1 Describe some Characteristics/Advantages of Java Language? (P#12, 13, 14) 1. Java

More information

Advanced Java Programming. Networking

Advanced Java Programming. Networking Advanced Java Programming Networking Eran Werner and Ohad Barzilay Tel-Aviv University Advanced Java Programming, Spring 2006 1 Overview of networking Advanced Java Programming, Spring 2006 2 TCP/IP protocol

More information

Lecture 04 FUNCTIONS AND ARRAYS

Lecture 04 FUNCTIONS AND ARRAYS Lecture 04 FUNCTIONS AND ARRAYS 1 Motivations Divide hug tasks to blocks: divide programs up into sets of cooperating functions. Define new functions with function calls and parameter passing. Use functions

More information

Fall 2017 Mentoring 9: October 23, Min-Heapify This. Level order, bubbling up. Level order, bubbling down. Reverse level order, bubbling up

Fall 2017 Mentoring 9: October 23, Min-Heapify This. Level order, bubbling up. Level order, bubbling down. Reverse level order, bubbling up CSM B Heaps & Hashing Fall 0 Mentoring : October 3, 0 Min-Heapify This. In general, there are 4 ways to heapify. Which ways actually work? Level order, bubbling up Level order, bubbling down Reverse level

More information

May 22, 2013 Ronald Reagan Building and International Trade Center Washington, DC USA

May 22, 2013 Ronald Reagan Building and International Trade Center Washington, DC USA May 22, 2013 Ronald Reagan Building and International Trade Center Washington, DC USA 1 Building Applications with Oracle MapViewer LJ Qian (lj.qian@oracle.com) Director, Software Development The following

More information

SEXTANTE Programming Guide

SEXTANTE Programming Guide SEXTANTE Programming Guide Víctor Olaya Edition 1.0 Rev. July 14, 2011 ii SEXTANTE Programming Guide Copyright c 2008 Victor Olaya Edición 1.0 Rev. July 14, 2011 Permision is granted to copy, distribute

More information

Data Interoperability An Introduction

Data Interoperability An Introduction 2013 Esri International User Conference July 8 12, 2013 San Diego, California Technical Workshop Data Interoperability An Introduction Bruce Harold Esri Dale Lutz Safe Software Background Why Data Interoperability?

More information

ArcGIS Runtime: Working with Maps Online and Offline. Will Crick Justin Colville [Euan Cameron]

ArcGIS Runtime: Working with Maps Online and Offline. Will Crick Justin Colville [Euan Cameron] ArcGIS Runtime: Working with Maps Online and Offline Will Crick Justin Colville [Euan Cameron] ArcGIS Runtime session tracks at Dev Summit 2017 ArcGIS Runtime SDKs share a common core, architecture and

More information

OOP Lab Chat Application using OCSF Framework Page 1 Purpose Files

OOP Lab Chat Application using OCSF Framework Page 1 Purpose Files OOP Lab Chat Application using OCSF Framework Page 1 Purpose Files Overview Learn to apply a framework in developing an application Download the ocsf-231.jar to your project directory (or anywhere). Project

More information

An Introduction to Data Interoperability

An Introduction to Data Interoperability Esri International User Conference San Diego, California 2012 Technical Workshops July 24/25 An Introduction to Data Interoperability Bruce Harold - Esri Dale Lutz Safe Software Background Why Data Interoperability?

More information

Lecture 05: Methods. AITI Nigeria Summer 2012 University of Lagos.

Lecture 05: Methods. AITI Nigeria Summer 2012 University of Lagos. Lecture 05: Methods AITI Nigeria Summer 2012 University of Lagos. Agenda What a method is Why we use methods How to declare a method The four parts of a method How to use (invoke) a method The purpose

More information

OPEN SOURCE SOLUTIONS FOR SURVEYORS

OPEN SOURCE SOLUTIONS FOR SURVEYORS 2 nd Sabah International Surveyors Congress 11 th 12 th March 2014 OPEN SOURCE SOLUTIONS FOR SURVEYORS Presented By : Sr Alexander Chong Director, Jurukur Antarabangsa The Benefits Of Closed Proprietary

More information

Under The Hood: Performance Tuning With Tizen. Ravi Sankar Guntur

Under The Hood: Performance Tuning With Tizen. Ravi Sankar Guntur Under The Hood: Performance Tuning With Tizen Ravi Sankar Guntur How to write a Tizen App Tools already available in IDE v2.3 Dynamic Analyzer Valgrind 2 What s NEXT? Want to optimize my application App

More information

CQ Beacon Android SDK V2.0.1

CQ Beacon Android SDK V2.0.1 Copyright 2014 ConnectQuest, LLC 1 CQ Beacon Android SDK V2.0.1 Software Requirements: Android 4.3 or greater SDK Support Page: http://www.connectquest.com/app- developers/android- api/ The CQ SDK package

More information

Workbench Selection 2/15

Workbench Selection 2/15 W o r k b e n c h S e l e c t i o n U s i n g S e l e c t i o n S e r v i c e w i t h a C u s t o m V i e w Table of Contents 1 Introduction... 3 2 Defining A View... 4 3 Implementing SelectionView...

More information

Regular Forum of Lreis. Speechmaker: Gao Ang

Regular Forum of Lreis. Speechmaker: Gao Ang Regular Forum of Lreis Speechmaker: Gao Ang Content: A. Overview of Eclipse Project B. Rich Client Platform C. The progress of ustudio Project D. The development of Grid technology and Grid GIS E. Future

More information

Google App Engine: Java Technology In The Cloud

Google App Engine: Java Technology In The Cloud Google App Engine: Java Technology In The Cloud Toby Reyelts, Max Ross, Don Schwarz Google 1 Goals > Google App Engine > Java on App Engine > The App Engine Datastore > Demo > Questions 2 2 What Is Google

More information

Topics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability

Topics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability Topics COS 318: Operating Systems File Performance and Reliability File buffer cache Disk failure and recovery tools Consistent updates Transactions and logging 2 File Buffer Cache for Performance What

More information

Administration. Exceptions. Leftovers. Agenda. When Things Go Wrong. Handling Errors. CS 99 Summer 2000 Michael Clarkson Lecture 11

Administration. Exceptions. Leftovers. Agenda. When Things Go Wrong. Handling Errors. CS 99 Summer 2000 Michael Clarkson Lecture 11 Administration Exceptions CS 99 Summer 2000 Michael Clarkson Lecture 11 Lab 10 due tomorrow No lab tomorrow Work on final projects Remaining office hours Rick: today 2-3 Michael: Thursday 10-noon, Monday

More information

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008 Europe on a Disk Geodata Processing with Eclipse and OSGi Harald Wellmann 10 Nov 2008 Overview Past and Present of Navigation Data Processing Anaconda: The Future Our usage of OSGi and Eclipse 2008 Harman

More information

<Insert Picture Here> A Brief Introduction to Live Object Pattern

<Insert Picture Here> A Brief Introduction to Live Object Pattern A Brief Introduction to Live Object Pattern Dave Felcey Coherence Product Management The following is intended to outline general product use and direction. It is intended for information

More information

Betty Holberton Multitasking Gives the illusion that a single processor system is running multiple programs simultaneously. Each process takes turns running. (time slice) After its time is up, it waits

More information

GeoTools Steering Document

GeoTools Steering Document GeoTools Steering Document Author: Jody Garnett Review/Revise: Andrea, Justin, Simone, Martin, Paul Background: The GeoTools library is going through a transition, from a project centered around the research

More information

Practical Benefits of Organised Spatial Data

Practical Benefits of Organised Spatial Data Practical Benefits of Organised Spatial Data Ray Scanlon Information Manager Geological Survey of Ireland Outline of talk Organising at a Corporate Level GSI Journey What do customers want? Example of

More information

A New Key-value Data Store For Heterogeneous Storage Architecture Intel APAC R&D Ltd.

A New Key-value Data Store For Heterogeneous Storage Architecture Intel APAC R&D Ltd. A New Key-value Data Store For Heterogeneous Storage Architecture Intel APAC R&D Ltd. 1 Agenda Introduction Background and Motivation Hybrid Key-Value Data Store Architecture Overview Design details Performance

More information

Introduction to ArcSDE 8. John Calkins

Introduction to ArcSDE 8. John Calkins Introduction to ArcSDE 8 John Calkins Why are you here? Introduction to ArcSDE? What is a GeoDatabase? Existing SDE user? Existing ArcInfo user? Technical details on implementation? Just confused... ArcSDE

More information

Cache Memories. From Bryant and O Hallaron, Computer Systems. A Programmer s Perspective. Chapter 6.

Cache Memories. From Bryant and O Hallaron, Computer Systems. A Programmer s Perspective. Chapter 6. Cache Memories From Bryant and O Hallaron, Computer Systems. A Programmer s Perspective. Chapter 6. Today Cache memory organization and operation Performance impact of caches The memory mountain Rearranging

More information

A GML-Based Open Architecture for Building A Geographical Information Search Engine Over the Internet

A GML-Based Open Architecture for Building A Geographical Information Search Engine Over the Internet A GML-Based Open Architecture for Building A Geographical Information Search Engine Over the Internet Jianting Zhang Le Gruenwald School of Computer Science The University of Oklahoma U.S.A. ggruenwald@ou.edu

More information

Introduction to ArcCatalog

Introduction to ArcCatalog Introduction to ArcCatalog Introduction To Arc Catalog ArcCatalog is a data- centric GUI tool used for managing spatial data With ArcCatalog you can. Inspect properties and attributes of data Preview and

More information

Maintaining Spatial Data Infrastructures (SDIs) using distributed task queues

Maintaining Spatial Data Infrastructures (SDIs) using distributed task queues 2017 FOSS4G Boston Maintaining Spatial Data Infrastructures (SDIs) using distributed task queues Paolo Corti and Ben Lewis Harvard Center for Geographic Analysis Background Harvard Center for Geographic

More information

Developing an Advanced Document Based Map Server *

Developing an Advanced Document Based Map Server * Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 1. pp. 337 344. Developing an Advanced Document Based Map Server * Roberto Giachetta a,

More information

What's New in MySQL 5.7?

What's New in MySQL 5.7? What's New in MySQL 5.7? Norvald H. Ryeng Software Engineer norvald.ryeng@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information

More information

CS 4284 Systems Capstone

CS 4284 Systems Capstone CS 4284 Systems Capstone Disks & File Systems Godmar Back Disks & Filesystems Disk Schematics Source: Micro House PC Hardware Library Volume I: Hard Drives 3 Tracks, Sectors, Cylinders 4 Hard Disk Example

More information

Donn Morrison Department of Computer Science. TDT4255 Memory hierarchies

Donn Morrison Department of Computer Science. TDT4255 Memory hierarchies TDT4255 Lecture 10: Memory hierarchies Donn Morrison Department of Computer Science 2 Outline Chapter 5 - Memory hierarchies (5.1-5.5) Temporal and spacial locality Hits and misses Direct-mapped, set associative,

More information

Realtime visitor analysis with Couchbase and Elasticsearch

Realtime visitor analysis with Couchbase and Elasticsearch Realtime visitor analysis with Couchbase and Elasticsearch Jeroen Reijn @jreijn #nosql13 About me Jeroen Reijn Software engineer Hippo @jreijn http://blog.jeroenreijn.com About Hippo Visitor Analysis OneHippo

More information

On the Analysis of Caches with Pending Interest Tables

On the Analysis of Caches with Pending Interest Tables On the Analysis of Caches with Pending Interest Tables Mostafa Dehghan 1, Bo Jiang 1 Ali Dabirmoghaddam 2, Don Towsley 1 1 University of Massachusetts Amherst 2 University of California Santa Cruz ICN,

More information

SAP Sybase SQL Anywhere Manage enterprise data in remote and mobile locations. Speaker s Name/Department (delete if not needed) Month 00, 2012

SAP Sybase SQL Anywhere Manage enterprise data in remote and mobile locations. Speaker s Name/Department (delete if not needed) Month 00, 2012 SAP Sybase SQL Anywhere Manage enterprise data in remote and mobile locations Speaker s Name/Department (delete if not needed) Month 00, 2012 The New Real-Time Business Real-Time Businesses are data-driven

More information

I/O Characterization of Commercial Workloads

I/O Characterization of Commercial Workloads I/O Characterization of Commercial Workloads Kimberly Keeton, Alistair Veitch, Doug Obal, and John Wilkes Storage Systems Program Hewlett-Packard Laboratories www.hpl.hp.com/research/itc/csl/ssp kkeeton@hpl.hp.com

More information

Non-Blocking Writes to Files

Non-Blocking Writes to Files Non-Blocking Writes to Files Daniel Campello, Hector Lopez, Luis Useche 1, Ricardo Koller 2, and Raju Rangaswami 1 Google, Inc. 2 IBM TJ Watson Memory Memory Synchrony vs Asynchrony Applications have different

More information

ATTACHMENT MANAGEMENT USING AZURE BLOB STORAGE

ATTACHMENT MANAGEMENT USING AZURE BLOB STORAGE ATTACHMENT MANAGEMENT USING AZURE BLOB STORAGE A Solution to help optimize Dynamics 365 CRM storage by automatically saving file attachments to Azure Blob Storage - MICROSOFT LABS 1 Contents 1. Overview

More information

Future Work. Build applications that use extensions to optimize performance. Interface design.

Future Work. Build applications that use extensions to optimize performance. Interface design. Future Work Finish building VINO. Networking. Naming. Build applications that use extensions to optimize performance. Interface design. What types of extensions actually get used? Revisit flexibility vs.

More information

Introduction to Geodatabase and Spatial Management in ArcGIS. Craig Gillgrass Esri

Introduction to Geodatabase and Spatial Management in ArcGIS. Craig Gillgrass Esri Introduction to Geodatabase and Spatial Management in ArcGIS Craig Gillgrass Esri Session Path The Geodatabase - What is it? - Why use it? - What types are there? - What can I do with it? Query Layers

More information

Roadmap. Handling large amount of data efficiently. Stable storage. Parallel dataflow. External memory algorithms and data structures

Roadmap. Handling large amount of data efficiently. Stable storage. Parallel dataflow. External memory algorithms and data structures Roadmap Handling large amount of data efficiently Stable storage External memory algorithms and data structures Implementing relational operators Parallel dataflow Algorithms for MapReduce Implementing

More information

gvsig: towards 4D GIS

gvsig: towards 4D GIS gvsig: towards 4D GIS Salvador Bayarri IVER Salvador.Bayarri@iver.es www.gvsig.gva.es Contents gvsig's background & updates 3D visualization in gvsig Time and Animation in gvsig Implementation plan Demo

More information