adding fuzzyjoin code to git
diff --git a/asterix-fuzzyjoin/.gitignore b/asterix-fuzzyjoin/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/asterix-fuzzyjoin/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/asterix-fuzzyjoin/data/dblp-small.expected/recordpairs-000/expected.txt b/asterix-fuzzyjoin/data/dblp-small.expected/recordpairs-000/expected.txt
new file mode 100644
index 0000000..96037e7
--- /dev/null
+++ b/asterix-fuzzyjoin/data/dblp-small.expected/recordpairs-000/expected.txt
@@ -0,0 +1,14 @@
+61:books/aw/stonebraker86/Stonebraker86:Design of Relational Systems (Introduction to Section 1).:Michael Stonebraker:2002-01-03 1-3 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86 db/books/collections/Stonebraker86/Stonebraker86.html ingres/P001.pdf;0.5;62:books/aw/stonebraker86/Stonebraker86a:Supporting Studies on Relational Systems (Introduction to Section 2).:Michael Stonebraker:2002-01-03 83-85 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86a db/books/collections/Stonebraker86/Stonebraker86a.html ingres/P083.pdf
+61:books/aw/stonebraker86/Stonebraker86:Design of Relational Systems (Introduction to Section 1).:Michael Stonebraker:2002-01-03 1-3 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86 db/books/collections/Stonebraker86/Stonebraker86.html ingres/P001.pdf;0.5;67:books/aw/stonebraker86/Stonebraker86f:Database Design (Introduction to Section 6).:Michael Stonebraker:2002-01-03 393-394 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86f db/books/collections/Stonebraker86/Stonebraker86f.html ingres/P393.pdf
+63:books/aw/stonebraker86/Stonebraker86b:Distributed Database Systems (Introduction to Section 3).:Michael Stonebraker:2002-01-03 183-186 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86b db/books/collections/Stonebraker86/Stonebraker86b.html ingres/P183.pdf;0.53846157;65:books/aw/stonebraker86/Stonebraker86d:User Interfaces for Database Systems (Introduction to Section 4).:Michael Stonebraker:2002-01-03 243-245 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86d db/books/collections/Stonebraker86/Stonebraker86d.html ingres/P243.pdf
+63:books/aw/stonebraker86/Stonebraker86b:Distributed Database Systems (Introduction to Section 3).:Michael Stonebraker:2002-01-03 183-186 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86b db/books/collections/Stonebraker86/Stonebraker86b.html ingres/P183.pdf;0.54545456;67:books/aw/stonebraker86/Stonebraker86f:Database Design (Introduction to Section 6).:Michael Stonebraker:2002-01-03 393-394 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86f db/books/collections/Stonebraker86/Stonebraker86f.html ingres/P393.pdf
+73:books/aw/AhoHU74:The Design and Analysis of Computer Algorithms.:Alfred V. Aho John E. Hopcroft Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1974 0-201-00029-6;0.6111111;75:books/aw/AhoHU83:Data Structures and Algorithms.:Alfred V. Aho John E. Hopcroft Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1983 0-201-00023-7
+81:journals/siamcomp/AspnesW96:Randomized Consensus in Expected O(n log² n) Operations Per Processor.:James Aspnes Orli Waarts:2002-01-03 1024-1044 1996 25 SIAM J. Comput. 5 db/journals/siamcomp/siamcomp25.html#AspnesW96;0.8235294;82:conf/focs/AspnesW92:Randomized Consensus in Expected O(n log ^2 n) Operations Per Processor:James Aspnes Orli Waarts:2006-04-25 137-146 conf/focs/FOCS33 1992 FOCS db/conf/focs/focs92.html#AspnesW92
+83:journals/siamcomp/Bloniarz83:A Shortest-Path Algorithm with Expected Time O(n² log n log* n).:Peter A. Bloniarz:2002-01-03 588-600 1983 12 SIAM J. Comput. 3 db/journals/siamcomp/siamcomp12.html#Bloniarz83;0.8333333;84:conf/stoc/Bloniarz80:A Shortest-Path Algorithm with Expected Time O(n^2 log n log ^* n):Peter A. Bloniarz:2006-04-25 378-384 conf/stoc/STOC12 1980 STOC db/conf/stoc/stoc80.html#Bloniarz80
+85:journals/siamcomp/Megiddo83a:Linear-Time Algorithms for Linear Programming in R³ and Related Problems.:Nimrod Megiddo:2002-01-03 759-776 1983 12 SIAM J. Comput. 4 db/journals/siamcomp/siamcomp12.html#Megiddo83a;0.8;86:conf/focs/Megiddo82:Linear-Time Algorithms for Linear Programming in R^3 and Related Problems:Nimrod Megiddo:2006-04-25 329-338 conf/focs/FOCS23 1982 FOCS db/conf/focs/focs82.html#Megiddo82
+87:journals/siamcomp/MoffatT87:An All Pairs Shortest Path Algorithm with Expected Time O(n² log n).:Alistair Moffat Tadao Takaoka:2002-01-03 1023-1031 1987 16 SIAM J. Comput. 6 db/journals/siamcomp/siamcomp16.html#MoffatT87;0.8;88:conf/focs/MoffatT85:An All Pairs Shortest Path Algorithm with Expected Running Time O(n^2 log n):Alistair Moffat Tadao Takaoka:2006-04-25 101-105 conf/focs/FOCS26 1985 FOCS db/conf/focs/focs85.html#MoffatT85
+89:conf/icip/SchonfeldL98:VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases.:Dan Schonfeld Dan Lelescu:2002-11-05 123-127 1998 ICIP (3) db/conf/icip/icip1998-3.html#SchonfeldL98;0.7647059;90:conf/hicss/SchonfeldL99:VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases ¾ Visual Search Engine.:Dan Schonfeld Dan Lelescu:2002-01-03 1999 HICSS http //computer.org/proceedings/hicss/0001/00013/00013006abs.htm db/conf/hicss/hicss1999-3.html#SchonfeldL99
+91:journals/corr/abs-0802-2861:Geometric Set Cover and Hitting Sets for Polytopes in $R^3$:Sören Laue:2008-03-03 http //arxiv.org/abs/0802.2861 2008 CoRR abs/0802.2861 db/journals/corr/corr0802.html#abs-0802-2861 informal publication;0.78571427;92:conf/stacs/Laue08:Geometric Set Cover and Hitting Sets for Polytopes in R³.:Sören Laue:2008-03-04 2008 STACS 479-490 http //drops.dagstuhl.de/opus/volltexte/2008/1367 conf/stacs/2008 db/conf/stacs/stacs2008.html#Laue08
+93:journals/iandc/IbarraJCR91:Some Classes of Languages in NC¹:Oscar H. Ibarra Tao Jiang Jik H. Chang Bala Ravikumar:2006-04-25 86-106 Inf. Comput. January 1991 90 1 db/journals/iandc/iandc90.html#IbarraJCR91;0.7222222;94:conf/awoc/IbarraJRC88:On Some Languages in NC.:Oscar H. Ibarra Tao Jiang Bala Ravikumar Jik H. Chang:2002-08-06 64-73 1988 conf/awoc/1988 AWOC db/conf/awoc/awoc88.html#IbarraJRC88
+95:journals/jacm/GalilHLSW87:An O(n³log n) deterministic and an O(n³) Las Vegs isomorphism test for trivalent graphs.:Zvi Galil Christoph M. Hoffmann Eugene M. Luks Claus-Peter Schnorr Andreas Weber:2003-11-20 513-531 1987 34 J. ACM 3 http //doi.acm.org/10.1145/28869.28870 db/journals/jacm/jacm34.html#GalilHLSW87;0.71428573;96:conf/focs/GalilHLSW82:An O(n^3 log n) Deterministic and an O(n^3) Probabilistic Isomorphism Test for Trivalent Graphs:Zvi Galil Christoph M. Hoffmann Eugene M. Luks Claus-Peter Schnorr Andreas Weber:2006-04-25 118-125 conf/focs/FOCS23 1982 FOCS db/conf/focs/focs82.html#GalilHLSW82
+97:journals/jacm/GalilT88:An O(n²(m + n log n)log n) min-cost flow algorithm.:Zvi Galil Éva Tardos:2003-11-20 374-386 1988 35 J. ACM 2 http //doi.acm.org/10.1145/42282.214090 db/journals/jacm/jacm35.html#GalilT88;0.84210527;98:conf/focs/GalilT86:An O(n^2 (m + n log n) log n) Min-Cost Flow Algorithm:Zvi Galil Éva Tardos:2006-04-25 1-9 conf/focs/FOCS27 1986 FOCS db/conf/focs/focs86.html#GalilT86
diff --git a/asterix-fuzzyjoin/data/dblp-small.expected/ridpairs-000/expected.txt b/asterix-fuzzyjoin/data/dblp-small.expected/ridpairs-000/expected.txt
new file mode 100644
index 0000000..97161a8
--- /dev/null
+++ b/asterix-fuzzyjoin/data/dblp-small.expected/ridpairs-000/expected.txt
@@ -0,0 +1,14 @@
+62 61 0.5
+65 63 0.53846157
+67 61 0.5
+67 63 0.54545456
+75 73 0.6111111
+82 81 0.8235294
+84 83 0.8333333
+86 85 0.8
+88 87 0.8
+90 89 0.7647059
+92 91 0.78571427
+94 93 0.7222222
+96 95 0.71428573
+98 97 0.84210527
diff --git a/asterix-fuzzyjoin/data/dblp-small.expected/ssjoin.out-000/expected.txt b/asterix-fuzzyjoin/data/dblp-small.expected/ssjoin.out-000/expected.txt
new file mode 100644
index 0000000..ceafc70
--- /dev/null
+++ b/asterix-fuzzyjoin/data/dblp-small.expected/ssjoin.out-000/expected.txt
@@ -0,0 +1,2 @@
+65 63 0.500
+73 75 0.522
diff --git a/asterix-fuzzyjoin/data/dblp-small.expected/tokens-000/expected.txt b/asterix-fuzzyjoin/data/dblp-small.expected/tokens-000/expected.txt
new file mode 100644
index 0000000..d8e0af0
--- /dev/null
+++ b/asterix-fuzzyjoin/data/dblp-small.expected/tokens-000/expected.txt
@@ -0,0 +1,597 @@
+¾_1
+1_1
+2_1
+3_1
+3_2
+4_1
+5_1
+6_1
+80_1
+a_1
+a_2
+abiteboul_1
+abraham_1
+active_1
+adds_1
+ahad_1
+ahmed_1
+aho_1
+albert_1
+alfons_1
+alfred_1
+algorithm_1
+algorithms_1
+alistair_1
+all_1
+allen_1
+amelia_1
+amihai_1
+amit_1
+an_1
+an_2
+analysis_1
+and_1
+and_2
+anders_1
+andrea_1
+andreas_1
+andrew_1
+andrews_1
+angelika_1
+anne_1
+annevelink_1
+application_1
+applications_1
+approach_1
+approaches_1
+architecture_1
+aref_1
+arthur_1
+as_1
+aspnes_1
+authorization_1
+awk_1
+b_1
+bala_1
+ballou_1
+based_1
+beech_1
+benchmark_1
+bernstein_1
+better_1
+beyond_1
+bindings_1
+björnerstedt_1
+blakeley_1
+bloniarz_1
+breitbart_1
+bretl_1
+brian_1
+brom_1
+brozos_1
+bruce_1
+c_1
+c_2
+cad_1
+canonical_1
+capability_1
+carey_1
+carlson_1
+cat_1
+catalyst_1
+chang_1
+changing_1
+chien_1
+choi_1
+chou_1
+chow_1
+chris_1
+christer_1
+christodoulakis_1
+christoph_1
+clarence_1
+classes_1
+claus_1
+clement_1
+commercial_1
+common_1
+comparison_1
+compilers_1
+compressed_1
+computer_1
+concepts_1
+concurrency_1
+concurrent_1
+connors_1
+consensus_1
+contents_1
+control_1
+cooperative_1
+cost_1
+cover_1
+craig_1
+critical_1
+critique_1
+d_1
+dale_1
+dan_1
+dan_2
+daniel_1
+darrell_1
+data_1
+database_1
+databases_1
+david_1
+davis_1
+dayal_1
+dbms_1
+dbmss_1
+declarative_1
+decouchant_1
+dennis_1
+design_1
+deterministic_1
+developing_1
+dewitt_1
+diederich_1
+directions_1
+distributed_1
+dittrich_1
+dittrich_2
+do_1
+dominique_1
+donald_1
+du_1
+e_1
+ealities_1
+early_1
+eda_1
+eduardo_1
+edward_1
+eliot_1
+ellis_1
+engine_1
+engineers_1
+enough_1
+environments_1
+epilogue_1
+eric_1
+eugene_1
+éva_1
+execution_1
+exodus_1
+expected_1
+experiences_1
+extended_1
+extending_1
+f_1
+fast_1
+features_1
+fishman_1
+flow_1
+for_1
+for_2
+form_1
+formal_1
+foundations_1
+frame_1
+frank_1
+fred_1
+frederick_1
+from_1
+future_1
+g_1
+gail_1
+gala_1
+galil_1
+garcia_1
+garcía_1
+garza_1
+gemstone_1
+generation_1
+genome_1
+geometric_1
+geometry_1
+gibbs_1
+gilkey_1
+goodman_1
+graham_1
+graphics_1
+graphs_1
+guide_1
+guido_1
+h_1
+h_2
+hanan_1
+hanson_1
+hardware_1
+harold_1
+hasan_1
+hector_1
+henry_1
+heterogeneity_1
+heterogeneous_1
+heytens_1
+hitting_1
+hoch_1
+hoffmann_1
+hong_1
+hopcroft_1
+hsu_1
+hull_1
+hulten_1
+ibarra_1
+implementation_1
+in_1
+indexing_1
+inegration_1
+inequalities_1
+inference_1
+information_1
+ingram_1
+ingres_1
+injun_1
+integrated_1
+interfaces_1
+interoperability_1
+interoperating_1
+introduction_1
+iris_1
+is_1
+isomorphism_1
+issues_1
+its_1
+j_1
+j_2
+j_3
+jack_1
+jacob_1
+james_1
+jason_1
+java_1
+jeffrey_1
+jennifer_1
+jiang_1
+jik_1
+jim_1
+joel_1
+john_1
+jordan_1
+jorge_1
+josé_1
+jurgen_1
+k_1
+kaiser_1
+kelley_1
+kemper_1
+kent_1
+kernighan_1
+kevin_1
+kifer_1
+kim_1
+kim_2
+king_1
+klaus_1
+knuth_1
+kotz_1
+koveos_1
+kowalski_1
+krieger_1
+kyung_1
+l_1
+lamport_1
+landscape_1
+language_1
+languages_1
+las_1
+latex_1
+laue_1
+lawrence_1
+legacy_1
+leichner_1
+lelescu_1
+leonidas_1
+leslie_1
+lewis_1
+lieberman_1
+lindholm_1
+linear_1
+linear_2
+list_1
+lochovsky_1
+log_1
+log_2
+log²_1
+lorenzo_1
+luks_1
+lunt_1
+lyngbæk_1
+lynn_1
+m_1
+m_2
+machine_1
+mahbod_1
+maier_1
+majorization_1
+making_1
+management_1
+manager_1
+managing_1
+manifolds_1
+manual_1
+mapping_1
+marek_1
+marie_1
+mark_1
+marshall_1
+megiddo_1
+meichun_1
+mellender_1
+meng_1
+message_1
+messages_1
+michael_1
+miguel_1
+milton_1
+min_1
+ming_1
+model_1
+models_1
+modern_1
+moerkotte_1
+moffat_1
+molina_1
+monty_1
+moon_1
+moss_1
+motro_1
+multidatabase_1
+multimedia_1
+multiuser_1
+my_1
+n_1
+n_2
+n²_1
+n_3
+n³_1
+n³log_1
+n_4
+nat_1
+nathan_1
+nc_1
+nc¹_1
+neimat_1
+next_1
+nierstrasz_1
+nikcevic_1
+nimrod_1
+nong_1
+nonmonotonic_1
+o_1
+o_2
+object_1
+object_2
+objects_1
+of_1
+of_2
+office_1
+olkin_1
+omg_1
+omiecinski_1
+on_1
+operations_1
+optimizing_1
+oql_1
+orientation_1
+oriented_1
+orion_1
+orlando_1
+orli_1
+oscar_1
+otis_1
+overview_1
+oz_1
+özsu_1
+p_1
+pairs_1
+parallel_1
+part_1
+path_1
+pegasus_1
+penney_1
+per_1
+performance_1
+peter_1
+philip_1
+physical_1
+pogo_1
+polytopes_1
+posc_1
+possibilities_1
+practice_1
+preface_1
+princiles_1
+probabilistic_1
+problems_1
+processing_1
+processor_1
+program_1
+programming_1
+promises_1
+proposal_1
+proteus_1
+query_1
+r_1
+r³_1
+rafi_1
+rafiul_1
+ralph_1
+rámon_1
+randomized_1
+ravi_1
+ravikumar_1
+reality_1
+reference_1
+references_1
+related_1
+relational_1
+representation_1
+requirements_1
+research_1
+resolving_1
+retrieval_1
+reyes_1
+richard_1
+richardson_1
+riegel_1
+río_1
+risch_1
+robert_1
+roger_1
+rowe_1
+rules_1
+running_1
+rusinkiewicz_1
+russinoff_1
+s_1
+samet_1
+scheevel_1
+schema_1
+schematic_1
+schnorr_1
+schonfeld_1
+schuchardt_1
+search_1
+section_1
+sedgewick_1
+semantics_1
+serge_1
+set_1
+sethi_1
+sets_1
+shan_1
+shared_1
+sharing_1
+shekita_1
+sheth_1
+shortest_1
+should_1
+silberschatz_1
+simon_1
+skarra_1
+smalltalk_1
+snodgrass_1
+software_1
+soley_1
+solution_1
+some_1
+sören_1
+spatial_1
+specification_1
+specifying_1
+sql_1
+stana_1
+standard_1
+standards_1
+stanley_1
+stavros_1
+stein_1
+stephen_1
+steve_1
+steven_1
+stonebraker_1
+storage_1
+story_1
+stout_1
+straw_1
+structures_1
+studies_1
+sunit_1
+support_1
+supporting_1
+survey_1
+system_1
+systems_1
+t_1
+tadao_1
+tai_1
+takaoka_1
+tamer_1
+tao_1
+tardos_1
+tarlton_1
+tarlton_2
+techniques_1
+technology_1
+temporal_1
+teresa_1
+test_1
+tex_1
+the_1
+theory_1
+thompson_1
+tim_1
+time_1
+title_1
+tla_1
+to_1
+tom_1
+tomlinson_1
+tools_1
+tore_1
+tracking_1
+transaction_1
+transactional_1
+transactions_1
+treaty_1
+trivalent_1
+tsichritzis_1
+ullman_1
+umeshwar_1
+uncerainty_1
+ungar_1
+unisql_1
+user_1
+v_1
+vázquez_1
+vázquez_2
+vegs_1
+version_1
+vianu_1
+victor_1
+video_1
+view_1
+vincent_1
+virtual_1
+visual_1
+vortex_1
+w_1
+w_2
+waarts_1
+walid_1
+walker_1
+wand_1
+waqar_1
+war_1
+weber_1
+weimin_1
+weinberger_1
+weintraub_1
+weiser_1
+weiyi_1
+where_1
+widom_1
+wilkinson_1
+william_1
+williams_1
+williams_2
+with_1
+woelk_1
+won_1
+workflows_1
+yair_1
+yellin_1
+yu_1
+yuri_1
+zdonik_1
+zvi_1
diff --git a/asterix-fuzzyjoin/data/dblp-small.expected/tokens.dblp-000/expected.txt b/asterix-fuzzyjoin/data/dblp-small.expected/tokens.dblp-000/expected.txt
new file mode 100644
index 0000000..a472104
--- /dev/null
+++ b/asterix-fuzzyjoin/data/dblp-small.expected/tokens.dblp-000/expected.txt
@@ -0,0 +1,438 @@
+135:1:[135, 193, 234, 266, 274, 286, 287, 288, 290, 294, 295, 296]
+193:1:[135, 193, 234, 266, 274, 286, 287, 288, 290, 294, 295, 296]
+234:1:[135, 193, 234, 266, 274, 286, 287, 288, 290, 294, 295, 296]
+266:1:[135, 193, 234, 266, 274, 286, 287, 288, 290, 294, 295, 296]
+274:1:[135, 193, 234, 266, 274, 286, 287, 288, 290, 294, 295, 296]
+286:1:[135, 193, 234, 266, 274, 286, 287, 288, 290, 294, 295, 296]
+287:1:[135, 193, 234, 266, 274, 286, 287, 288, 290, 294, 295, 296]
+3:2:[3, 19, 24, 150, 253, 254, 269, 285, 296]
+19:2:[3, 19, 24, 150, 253, 254, 269, 285, 296]
+24:2:[3, 19, 24, 150, 253, 254, 269, 285, 296]
+150:2:[3, 19, 24, 150, 253, 254, 269, 285, 296]
+253:2:[3, 19, 24, 150, 253, 254, 269, 285, 296]
+256:3:[225, 256, 275, 289, 293]
+275:3:[225, 256, 275, 289, 293]
+225:3:[225, 256, 275, 289, 293]
+252:4:[27, 69, 238, 252, 289, 295]
+27:4:[27, 69, 238, 252, 289, 295]
+69:4:[27, 69, 238, 252, 289, 295]
+238:4:[27, 69, 238, 252, 289, 295]
+232:5:[232, 289, 292]
+289:5:[232, 289, 292]
+15:6:[15, 59, 71, 80, 129, 152, 168, 180, 212, 270, 287, 291, 296]
+59:6:[15, 59, 71, 80, 129, 152, 168, 180, 212, 270, 287, 291, 296]
+71:6:[15, 59, 71, 80, 129, 152, 168, 180, 212, 270, 287, 291, 296]
+80:6:[15, 59, 71, 80, 129, 152, 168, 180, 212, 270, 287, 291, 296]
+129:6:[15, 59, 71, 80, 129, 152, 168, 180, 212, 270, 287, 291, 296]
+152:6:[15, 59, 71, 80, 129, 152, 168, 180, 212, 270, 287, 291, 296]
+168:6:[15, 59, 71, 80, 129, 152, 168, 180, 212, 270, 287, 291, 296]
+286:7:[255, 286]
+255:7:[255, 286]
+120:8:[57, 119, 120, 131, 140, 205, 253, 285, 287, 291, 292, 293, 296]
+131:8:[57, 119, 120, 131, 140, 205, 253, 285, 287, 291, 292, 293, 296]
+140:8:[57, 119, 120, 131, 140, 205, 253, 285, 287, 291, 292, 293, 296]
+205:8:[57, 119, 120, 131, 140, 205, 253, 285, 287, 291, 292, 293, 296]
+253:8:[57, 119, 120, 131, 140, 205, 253, 285, 287, 291, 292, 293, 296]
+57:8:[57, 119, 120, 131, 140, 205, 253, 285, 287, 291, 292, 293, 296]
+119:8:[57, 119, 120, 131, 140, 205, 253, 285, 287, 291, 292, 293, 296]
+28:9:[28, 52, 76, 151, 290]
+52:9:[28, 52, 76, 151, 290]
+76:9:[28, 52, 76, 151, 290]
+39:10:[39, 103, 216, 249, 256, 281, 288, 294]
+103:10:[39, 103, 216, 249, 256, 281, 288, 294]
+216:10:[39, 103, 216, 249, 256, 281, 288, 294]
+249:10:[39, 103, 216, 249, 256, 281, 288, 294]
+256:10:[39, 103, 216, 249, 256, 281, 288, 294]
+275:11:[42, 275, 296]
+42:11:[42, 275, 296]
+191:12:[63, 109, 191, 237, 245, 278, 283, 292]
+237:12:[63, 109, 191, 237, 245, 278, 283, 292]
+245:12:[63, 109, 191, 237, 245, 278, 283, 292]
+63:12:[63, 109, 191, 237, 245, 278, 283, 292]
+109:12:[63, 109, 191, 237, 245, 278, 283, 292]
+20:13:[20, 45, 87, 289, 291, 292, 295, 296]
+45:13:[20, 45, 87, 289, 291, 292, 295, 296]
+87:13:[20, 45, 87, 289, 291, 292, 295, 296]
+289:13:[20, 45, 87, 289, 291, 292, 295, 296]
+291:13:[20, 45, 87, 289, 291, 292, 295, 296]
+17:14:[17, 50, 237, 245, 276, 278, 283, 286, 290]
+50:14:[17, 50, 237, 245, 276, 278, 283, 286, 290]
+237:14:[17, 50, 237, 245, 276, 278, 283, 286, 290]
+245:14:[17, 50, 237, 245, 276, 278, 283, 286, 290]
+276:14:[17, 50, 237, 245, 276, 278, 283, 286, 290]
+11:15:[11, 100, 133, 256, 270, 289, 293]
+100:15:[11, 100, 133, 256, 270, 289, 293]
+133:15:[11, 100, 133, 256, 270, 289, 293]
+256:15:[11, 100, 133, 256, 270, 289, 293]
+25:16:[25, 112, 144, 247, 287, 289, 290, 291, 292, 296]
+112:16:[25, 112, 144, 247, 287, 289, 290, 291, 292, 296]
+144:16:[25, 112, 144, 247, 287, 289, 290, 291, 292, 296]
+247:16:[25, 112, 144, 247, 287, 289, 290, 291, 292, 296]
+287:16:[25, 112, 144, 247, 287, 289, 290, 291, 292, 296]
+289:16:[25, 112, 144, 247, 287, 289, 290, 291, 292, 296]
+85:17:[85, 241, 270, 286, 289, 291, 293, 296]
+241:17:[85, 241, 270, 286, 289, 291, 293, 296]
+270:17:[85, 241, 270, 286, 289, 291, 293, 296]
+286:17:[85, 241, 270, 286, 289, 291, 293, 296]
+289:17:[85, 241, 270, 286, 289, 291, 293, 296]
+4:18:[4, 48, 134, 142, 173, 265, 283, 294]
+48:18:[4, 48, 134, 142, 173, 265, 283, 294]
+134:18:[4, 48, 134, 142, 173, 265, 283, 294]
+142:18:[4, 48, 134, 142, 173, 265, 283, 294]
+173:18:[4, 48, 134, 142, 173, 265, 283, 294]
+171:19:[171, 253, 283, 285, 292, 296]
+253:19:[171, 253, 283, 285, 292, 296]
+283:19:[171, 253, 283, 285, 292, 296]
+285:19:[171, 253, 283, 285, 292, 296]
+9:20:[9, 286, 291, 293, 296]
+286:20:[9, 286, 291, 293, 296]
+291:20:[9, 286, 291, 293, 296]
+254:21:[254, 256, 258, 289, 293]
+256:21:[254, 256, 258, 289, 293]
+258:21:[254, 256, 258, 289, 293]
+114:22:[114, 275, 288, 289, 292, 293]
+275:22:[114, 275, 288, 289, 292, 293]
+288:22:[114, 275, 288, 289, 292, 293]
+289:22:[114, 275, 288, 289, 292, 293]
+62:23:[62, 260, 289, 292]
+260:23:[62, 260, 289, 292]
+289:23:[62, 260, 289, 292]
+254:24:[254, 258, 289, 291, 292, 293, 296]
+258:24:[254, 258, 289, 291, 292, 293, 296]
+289:24:[254, 258, 289, 291, 292, 293, 296]
+291:24:[254, 258, 289, 291, 292, 293, 296]
+30:25:[30, 46, 185, 200, 288, 295]
+46:25:[30, 46, 185, 200, 288, 295]
+185:25:[30, 46, 185, 200, 288, 295]
+200:25:[30, 46, 185, 200, 288, 295]
+209:26:[209, 236, 265]
+236:26:[209, 236, 265]
+84:27:[84, 209, 254, 258, 265, 295]
+209:27:[84, 209, 254, 258, 265, 295]
+254:27:[84, 209, 254, 258, 265, 295]
+258:27:[84, 209, 254, 258, 265, 295]
+32:28:[32, 81, 238, 275, 281, 287]
+81:28:[32, 81, 238, 275, 281, 287]
+238:28:[32, 81, 238, 275, 281, 287]
+275:28:[32, 81, 238, 275, 281, 287]
+2:29:[2, 31, 143, 286, 287, 291, 296]
+31:29:[2, 31, 143, 286, 287, 291, 296]
+143:29:[2, 31, 143, 286, 287, 291, 296]
+286:29:[2, 31, 143, 286, 287, 291, 296]
+6:30:[6, 262, 294, 296]
+262:30:[6, 262, 294, 296]
+294:30:[6, 262, 294, 296]
+93:31:[93, 234]
+234:31:[93, 234]
+72:32:[72, 163, 184, 292, 294]
+163:32:[72, 163, 184, 292, 294]
+184:32:[72, 163, 184, 292, 294]
+67:33:[67, 240, 281, 288, 294]
+240:33:[67, 240, 281, 288, 294]
+281:33:[67, 240, 281, 288, 294]
+14:34:[14, 33, 98, 262, 289, 292, 294, 295, 296]
+33:34:[14, 33, 98, 262, 289, 292, 294, 295, 296]
+98:34:[14, 33, 98, 262, 289, 292, 294, 295, 296]
+262:34:[14, 33, 98, 262, 289, 292, 294, 295, 296]
+289:34:[14, 33, 98, 262, 289, 292, 294, 295, 296]
+12:35:[12, 55, 106, 213, 214, 288, 295]
+55:35:[12, 55, 106, 213, 214, 288, 295]
+106:35:[12, 55, 106, 213, 214, 288, 295]
+213:35:[12, 55, 106, 213, 214, 288, 295]
+174:36:[174, 197, 216, 285, 291, 293, 296]
+197:36:[174, 197, 216, 285, 291, 293, 296]
+216:36:[174, 197, 216, 285, 291, 293, 296]
+285:36:[174, 197, 216, 285, 291, 293, 296]
+107:37:[107, 265, 275, 281, 294]
+265:37:[107, 265, 275, 281, 294]
+275:37:[107, 265, 275, 281, 294]
+29:38:[29, 170, 275, 293]
+170:38:[29, 170, 275, 293]
+275:38:[29, 170, 275, 293]
+102:39:[102, 128, 188, 255, 281, 287, 290, 294, 296]
+128:39:[102, 128, 188, 255, 281, 287, 290, 294, 296]
+188:39:[102, 128, 188, 255, 281, 287, 290, 294, 296]
+255:39:[102, 128, 188, 255, 281, 287, 290, 294, 296]
+281:39:[102, 128, 188, 255, 281, 287, 290, 294, 296]
+43:40:[43, 126, 251, 274, 292, 293, 295]
+126:40:[43, 126, 251, 274, 292, 293, 295]
+251:40:[43, 126, 251, 274, 292, 293, 295]
+274:40:[43, 126, 251, 274, 292, 293, 295]
+47:41:[47, 56, 232, 251, 295]
+56:41:[47, 56, 232, 251, 295]
+232:41:[47, 56, 232, 251, 295]
+89:42:[89, 205, 240, 288, 294]
+205:42:[89, 205, 240, 288, 294]
+240:42:[89, 205, 240, 288, 294]
+68:43:[68, 97, 281, 288, 291, 292, 294, 296]
+97:43:[68, 97, 281, 288, 291, 292, 294, 296]
+281:43:[68, 97, 281, 288, 291, 292, 294, 296]
+288:43:[68, 97, 281, 288, 291, 292, 294, 296]
+291:43:[68, 97, 281, 288, 291, 292, 294, 296]
+1:44:[1, 198, 286, 290, 291, 296]
+198:44:[1, 198, 286, 290, 291, 296]
+286:44:[1, 198, 286, 290, 291, 296]
+290:44:[1, 198, 286, 290, 291, 296]
+66:45:[66, 99, 108, 291, 296]
+99:45:[66, 99, 108, 291, 296]
+108:45:[66, 99, 108, 291, 296]
+22:46:[22, 74, 115, 116, 157, 289, 290, 292]
+74:46:[22, 74, 115, 116, 157, 289, 290, 292]
+115:46:[22, 74, 115, 116, 157, 289, 290, 292]
+116:46:[22, 74, 115, 116, 157, 289, 290, 292]
+157:46:[22, 74, 115, 116, 157, 289, 290, 292]
+188:47:[44, 53, 188, 247]
+44:47:[44, 53, 188, 247]
+53:47:[44, 53, 188, 247]
+266:48:[94, 111, 156, 266, 268, 291, 294, 296]
+268:48:[94, 111, 156, 266, 268, 291, 294, 296]
+94:48:[94, 111, 156, 266, 268, 291, 294, 296]
+111:48:[94, 111, 156, 266, 268, 291, 294, 296]
+156:48:[94, 111, 156, 266, 268, 291, 294, 296]
+118:49:[118, 148, 159, 177, 266, 290, 292, 296]
+148:49:[118, 148, 159, 177, 266, 290, 292, 296]
+159:49:[118, 148, 159, 177, 266, 290, 292, 296]
+177:49:[118, 148, 159, 177, 266, 290, 292, 296]
+266:49:[118, 148, 159, 177, 266, 290, 292, 296]
+5:50:[5, 182, 287, 288, 291, 296]
+182:50:[5, 182, 287, 288, 291, 296]
+287:50:[5, 182, 287, 288, 291, 296]
+288:50:[5, 182, 287, 288, 291, 296]
+8:51:[8, 90, 289]
+90:51:[8, 90, 289]
+83:52:[83, 88, 95, 147, 212, 281, 287]
+88:52:[83, 88, 95, 147, 212, 281, 287]
+95:52:[83, 88, 95, 147, 212, 281, 287]
+147:52:[83, 88, 95, 147, 212, 281, 287]
+164:53:[164, 197, 286, 291, 295, 296]
+197:53:[164, 197, 286, 291, 295, 296]
+286:53:[164, 197, 286, 291, 295, 296]
+291:53:[164, 197, 286, 291, 295, 296]
+18:54:[18, 61, 86, 132, 146, 241, 287, 288, 294]
+61:54:[18, 61, 86, 132, 146, 241, 287, 288, 294]
+86:54:[18, 61, 86, 132, 146, 241, 287, 288, 294]
+132:54:[18, 61, 86, 132, 146, 241, 287, 288, 294]
+146:54:[18, 61, 86, 132, 146, 241, 287, 288, 294]
+77:55:[77, 104, 105, 186, 281, 287, 290]
+104:55:[77, 104, 105, 186, 281, 287, 290]
+105:55:[77, 104, 105, 186, 281, 287, 290]
+186:55:[77, 104, 105, 186, 281, 287, 290]
+162:56:[162, 248, 268, 291, 296]
+248:56:[162, 248, 268, 291, 296]
+268:56:[162, 248, 268, 291, 296]
+291:57:[7, 41, 291, 293, 296]
+7:57:[7, 41, 291, 293, 296]
+41:57:[7, 41, 291, 293, 296]
+251:58:[36, 101, 175, 251, 262, 287, 288, 290]
+262:58:[36, 101, 175, 251, 262, 287, 288, 290]
+36:58:[36, 101, 175, 251, 262, 287, 288, 290]
+101:58:[36, 101, 175, 251, 262, 287, 288, 290]
+175:58:[36, 101, 175, 251, 262, 287, 288, 290]
+16:59:[16, 281, 285, 291, 292, 296]
+281:59:[16, 281, 285, 291, 292, 296]
+285:59:[16, 281, 285, 291, 292, 296]
+291:59:[16, 281, 285, 291, 292, 296]
+21:60:[21, 82, 220, 294]
+82:60:[21, 82, 220, 294]
+220:60:[21, 82, 220, 294]
+191:61:[191, 260, 274, 277, 278, 283, 288, 289]
+260:61:[191, 260, 274, 277, 278, 283, 288, 289]
+274:61:[191, 260, 274, 277, 278, 283, 288, 289]
+277:61:[191, 260, 274, 277, 278, 283, 288, 289]
+278:61:[191, 260, 274, 277, 278, 283, 288, 289]
+123:62:[123, 137, 260, 270, 276, 277, 278, 283, 289]
+137:62:[123, 137, 260, 270, 276, 277, 278, 283, 289]
+260:62:[123, 137, 260, 270, 276, 277, 278, 283, 289]
+270:62:[123, 137, 260, 270, 276, 277, 278, 283, 289]
+276:62:[123, 137, 260, 270, 276, 277, 278, 283, 289]
+255:63:[255, 257, 277, 278, 283, 289, 292]
+257:63:[255, 257, 277, 278, 283, 289, 292]
+277:63:[255, 257, 277, 278, 283, 289, 292]
+278:63:[255, 257, 277, 278, 283, 289, 292]
+220:64:[193, 220, 255, 274, 288, 294, 295]
+255:64:[193, 220, 255, 274, 288, 294, 295]
+274:64:[193, 220, 255, 274, 288, 294, 295]
+193:64:[193, 220, 255, 274, 288, 294, 295]
+278:65:[35, 54, 217, 277, 278, 283, 289, 290, 292]
+35:65:[35, 54, 217, 277, 278, 283, 289, 290, 292]
+54:65:[35, 54, 217, 277, 278, 283, 289, 290, 292]
+217:65:[35, 54, 217, 277, 278, 283, 289, 290, 292]
+277:65:[35, 54, 217, 277, 278, 283, 289, 290, 292]
+110:66:[110, 149, 183, 260, 262, 277, 278, 283, 290, 294]
+149:66:[110, 149, 183, 260, 262, 277, 278, 283, 290, 294]
+183:66:[110, 149, 183, 260, 262, 277, 278, 283, 290, 294]
+260:66:[110, 149, 183, 260, 262, 277, 278, 283, 290, 294]
+262:66:[110, 149, 183, 260, 262, 277, 278, 283, 290, 294]
+277:66:[110, 149, 183, 260, 262, 277, 278, 283, 290, 294]
+78:67:[78, 274, 277, 278, 283, 292]
+274:67:[78, 274, 277, 278, 283, 292]
+277:67:[78, 274, 277, 278, 283, 292]
+278:67:[78, 274, 277, 278, 283, 292]
+125:68:[125, 158, 179]
+158:68:[125, 158, 179]
+91:69:[91]
+141:70:[124, 141, 294]
+124:70:[124, 141, 294]
+160:71:[160, 286, 288]
+286:71:[160, 286, 288]
+38:72:[38, 122, 153, 166, 169, 217]
+122:72:[38, 122, 153, 166, 169, 217]
+153:72:[38, 122, 153, 166, 169, 217]
+166:72:[38, 122, 153, 166, 169, 217]
+34:73:[34, 40, 267, 274, 288, 294, 295]
+40:73:[34, 40, 267, 274, 288, 294, 295]
+267:73:[34, 40, 267, 274, 288, 294, 295]
+274:73:[34, 40, 267, 274, 288, 294, 295]
+51:74:[51, 64, 121, 161, 167, 172, 207, 266, 289, 290, 294, 295]
+64:74:[51, 64, 121, 161, 167, 172, 207, 266, 289, 290, 294, 295]
+121:74:[51, 64, 121, 161, 167, 172, 207, 266, 289, 290, 294, 295]
+161:74:[51, 64, 121, 161, 167, 172, 207, 266, 289, 290, 294, 295]
+167:74:[51, 64, 121, 161, 167, 172, 207, 266, 289, 290, 294, 295]
+172:74:[51, 64, 121, 161, 167, 172, 207, 266, 289, 290, 294, 295]
+207:74:[51, 64, 121, 161, 167, 172, 207, 266, 289, 290, 294, 295]
+267:75:[236, 265, 267, 295]
+236:75:[236, 265, 267, 295]
+265:75:[236, 265, 267, 295]
+258:76:[127, 213, 225, 258, 285, 286, 291, 295]
+285:76:[127, 213, 225, 258, 285, 286, 291, 295]
+127:76:[127, 213, 225, 258, 285, 286, 291, 295]
+213:76:[127, 213, 225, 258, 285, 286, 291, 295]
+225:76:[127, 213, 225, 258, 285, 286, 291, 295]
+155:77:[155, 266, 268, 294]
+266:77:[155, 266, 268, 294]
+268:77:[155, 266, 268, 294]
+92:78:[92, 113, 145, 200, 294]
+113:78:[92, 113, 145, 200, 294]
+145:78:[92, 113, 145, 200, 294]
+198:79:[165, 181, 198, 207, 295]
+181:79:[165, 181, 198, 207, 295]
+165:79:[165, 181, 198, 207, 295]
+267:80:[267]
+222:81:[139, 192, 211, 218, 222, 233, 271, 280, 282, 284, 293]
+233:81:[139, 192, 211, 218, 222, 233, 271, 280, 282, 284, 293]
+139:81:[139, 192, 211, 218, 222, 233, 271, 280, 282, 284, 293]
+192:81:[139, 192, 211, 218, 222, 233, 271, 280, 282, 284, 293]
+211:81:[139, 192, 211, 218, 222, 233, 271, 280, 282, 284, 293]
+218:81:[139, 192, 211, 218, 222, 233, 271, 280, 282, 284, 293]
+192:82:[192, 211, 218, 222, 233, 271, 276, 279, 280, 282, 284, 293]
+211:82:[192, 211, 218, 222, 233, 271, 276, 279, 280, 282, 284, 293]
+218:82:[192, 211, 218, 222, 233, 271, 276, 279, 280, 282, 284, 293]
+222:82:[192, 211, 218, 222, 233, 271, 276, 279, 280, 282, 284, 293]
+233:82:[192, 211, 218, 222, 233, 271, 276, 279, 280, 282, 284, 293]
+271:82:[192, 211, 218, 222, 233, 271, 276, 279, 280, 282, 284, 293]
+276:82:[192, 211, 218, 222, 233, 271, 276, 279, 280, 282, 284, 293]
+250:83:[250, 259, 261, 263, 269, 271, 272, 273, 279, 280, 282, 284, 287]
+259:83:[250, 259, 261, 263, 269, 271, 272, 273, 279, 280, 282, 284, 287]
+261:83:[250, 259, 261, 263, 269, 271, 272, 273, 279, 280, 282, 284, 287]
+263:83:[250, 259, 261, 263, 269, 271, 272, 273, 279, 280, 282, 284, 287]
+269:83:[250, 259, 261, 263, 269, 271, 272, 273, 279, 280, 282, 284, 287]
+271:83:[250, 259, 261, 263, 269, 271, 272, 273, 279, 280, 282, 284, 287]
+272:83:[250, 259, 261, 263, 269, 271, 272, 273, 279, 280, 282, 284, 287]
+259:84:[259, 261, 263, 264, 269, 271, 272, 273, 276, 279, 280, 282, 284, 287]
+261:84:[259, 261, 263, 264, 269, 271, 272, 273, 276, 279, 280, 282, 284, 287]
+263:84:[259, 261, 263, 264, 269, 271, 272, 273, 276, 279, 280, 282, 284, 287]
+264:84:[259, 261, 263, 264, 269, 271, 272, 273, 276, 279, 280, 282, 284, 287]
+269:84:[259, 261, 263, 264, 269, 271, 272, 273, 276, 279, 280, 282, 284, 287]
+271:84:[259, 261, 263, 264, 269, 271, 272, 273, 276, 279, 280, 282, 284, 287]
+272:84:[259, 261, 263, 264, 269, 271, 272, 273, 276, 279, 280, 282, 284, 287]
+273:84:[259, 261, 263, 264, 269, 271, 272, 273, 276, 279, 280, 282, 284, 287]
+196:85:[195, 196, 201, 242, 244, 267, 268, 273, 290, 293, 295]
+201:85:[195, 196, 201, 242, 244, 267, 268, 273, 290, 293, 295]
+242:85:[195, 196, 201, 242, 244, 267, 268, 273, 290, 293, 295]
+244:85:[195, 196, 201, 242, 244, 267, 268, 273, 290, 293, 295]
+267:85:[195, 196, 201, 242, 244, 267, 268, 273, 290, 293, 295]
+195:85:[195, 196, 201, 242, 244, 267, 268, 273, 290, 293, 295]
+267:86:[195, 196, 215, 242, 244, 257, 267, 268, 273, 290, 293, 295]
+195:86:[195, 196, 215, 242, 244, 257, 267, 268, 273, 290, 293, 295]
+196:86:[195, 196, 215, 242, 244, 257, 267, 268, 273, 290, 293, 295]
+215:86:[195, 196, 215, 242, 244, 257, 267, 268, 273, 290, 293, 295]
+242:86:[195, 196, 215, 242, 244, 257, 267, 268, 273, 290, 293, 295]
+244:86:[195, 196, 215, 242, 244, 257, 267, 268, 273, 290, 293, 295]
+257:86:[195, 196, 215, 242, 244, 257, 267, 268, 273, 290, 293, 295]
+190:87:[190, 246, 250, 259, 261, 269, 271, 272, 273, 279, 282, 284, 285]
+246:87:[190, 246, 250, 259, 261, 269, 271, 272, 273, 279, 282, 284, 285]
+250:87:[190, 246, 250, 259, 261, 269, 271, 272, 273, 279, 282, 284, 285]
+259:87:[190, 246, 250, 259, 261, 269, 271, 272, 273, 279, 282, 284, 285]
+261:87:[190, 246, 250, 259, 261, 269, 271, 272, 273, 279, 282, 284, 285]
+269:87:[190, 246, 250, 259, 261, 269, 271, 272, 273, 279, 282, 284, 285]
+271:87:[190, 246, 250, 259, 261, 269, 271, 272, 273, 279, 282, 284, 285]
+0:88:[0, 190, 246, 259, 261, 269, 271, 272, 273, 276, 279, 280, 282, 284, 285]
+190:88:[0, 190, 246, 259, 261, 269, 271, 272, 273, 276, 279, 280, 282, 284, 285]
+246:88:[0, 190, 246, 259, 261, 269, 271, 272, 273, 276, 279, 280, 282, 284, 285]
+259:88:[0, 190, 246, 259, 261, 269, 271, 272, 273, 276, 279, 280, 282, 284, 285]
+261:88:[0, 190, 246, 259, 261, 269, 271, 272, 273, 276, 279, 280, 282, 284, 285]
+269:88:[0, 190, 246, 259, 261, 269, 271, 272, 273, 276, 279, 280, 282, 284, 285]
+271:88:[0, 190, 246, 259, 261, 269, 271, 272, 273, 276, 279, 280, 282, 284, 285]
+272:88:[0, 190, 246, 259, 261, 269, 271, 272, 273, 276, 279, 280, 282, 284, 285]
+223:89:[189, 204, 223, 228, 229, 239, 252, 286, 295]
+228:89:[189, 204, 223, 228, 229, 239, 252, 286, 295]
+229:89:[189, 204, 223, 228, 229, 239, 252, 286, 295]
+189:89:[189, 204, 223, 228, 229, 239, 252, 286, 295]
+204:89:[189, 204, 223, 228, 229, 239, 252, 286, 295]
+204:90:[10, 65, 96, 136, 189, 204, 223, 228, 229, 239, 252, 286, 295]
+223:90:[10, 65, 96, 136, 189, 204, 223, 228, 229, 239, 252, 286, 295]
+10:90:[10, 65, 96, 136, 189, 204, 223, 228, 229, 239, 252, 286, 295]
+65:90:[10, 65, 96, 136, 189, 204, 223, 228, 229, 239, 252, 286, 295]
+96:90:[10, 65, 96, 136, 189, 204, 223, 228, 229, 239, 252, 286, 295]
+136:90:[10, 65, 96, 136, 189, 204, 223, 228, 229, 239, 252, 286, 295]
+189:90:[10, 65, 96, 136, 189, 204, 223, 228, 229, 239, 252, 286, 295]
+199:91:[199, 208, 215, 221, 224, 231, 235, 257, 290, 293, 295]
+208:91:[199, 208, 215, 221, 224, 231, 235, 257, 290, 293, 295]
+215:91:[199, 208, 215, 221, 224, 231, 235, 257, 290, 293, 295]
+221:91:[199, 208, 215, 221, 224, 231, 235, 257, 290, 293, 295]
+224:91:[199, 208, 215, 221, 224, 231, 235, 257, 290, 293, 295]
+231:91:[199, 208, 215, 221, 224, 231, 235, 257, 290, 293, 295]
+199:92:[199, 201, 208, 221, 224, 231, 235, 290, 293, 295]
+201:92:[199, 201, 208, 221, 224, 231, 235, 290, 293, 295]
+208:92:[199, 201, 208, 221, 224, 231, 235, 290, 293, 295]
+221:92:[199, 201, 208, 221, 224, 231, 235, 290, 293, 295]
+224:92:[199, 201, 208, 221, 224, 231, 235, 290, 293, 295]
+231:92:[199, 201, 208, 221, 224, 231, 235, 290, 293, 295]
+226:93:[23, 154, 226, 248, 288, 293]
+23:93:[23, 154, 226, 248, 288, 293]
+154:93:[23, 154, 226, 248, 288, 293]
+248:93:[23, 154, 226, 248, 288, 293]
+178:94:[178, 226, 248, 270, 293]
+226:94:[178, 226, 248, 270, 293]
+248:94:[178, 226, 248, 270, 293]
+206:95:[26, 79, 130, 138, 187, 202, 203, 206, 210, 219, 243, 282, 284, 285, 290, 295]
+210:95:[26, 79, 130, 138, 187, 202, 203, 206, 210, 219, 243, 282, 284, 285, 290, 295]
+26:95:[26, 79, 130, 138, 187, 202, 203, 206, 210, 219, 243, 282, 284, 285, 290, 295]
+79:95:[26, 79, 130, 138, 187, 202, 203, 206, 210, 219, 243, 282, 284, 285, 290, 295]
+130:95:[26, 79, 130, 138, 187, 202, 203, 206, 210, 219, 243, 282, 284, 285, 290, 295]
+138:95:[26, 79, 130, 138, 187, 202, 203, 206, 210, 219, 243, 282, 284, 285, 290, 295]
+187:95:[26, 79, 130, 138, 187, 202, 203, 206, 210, 219, 243, 282, 284, 285, 290, 295]
+202:95:[26, 79, 130, 138, 187, 202, 203, 206, 210, 219, 243, 282, 284, 285, 290, 295]
+203:95:[26, 79, 130, 138, 187, 202, 203, 206, 210, 219, 243, 282, 284, 285, 290, 295]
+60:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+75:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+187:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+202:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+203:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+206:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+210:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+219:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+243:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+257:96:[60, 75, 187, 202, 203, 206, 210, 219, 243, 257, 264, 279, 280, 282, 284, 285, 290, 295]
+227:97:[194, 227, 230, 249, 250, 263, 264, 272, 279, 280, 282, 284, 285]
+230:97:[194, 227, 230, 249, 250, 263, 264, 272, 279, 280, 282, 284, 285]
+249:97:[194, 227, 230, 249, 250, 263, 264, 272, 279, 280, 282, 284, 285]
+250:97:[194, 227, 230, 249, 250, 263, 264, 272, 279, 280, 282, 284, 285]
+263:97:[194, 227, 230, 249, 250, 263, 264, 272, 279, 280, 282, 284, 285]
+264:97:[194, 227, 230, 249, 250, 263, 264, 272, 279, 280, 282, 284, 285]
+194:97:[194, 227, 230, 249, 250, 263, 264, 272, 279, 280, 282, 284, 285]
+272:98:[176, 194, 227, 230, 249, 263, 264, 272, 276, 279, 280, 282, 284, 285]
+176:98:[176, 194, 227, 230, 249, 263, 264, 272, 276, 279, 280, 282, 284, 285]
+194:98:[176, 194, 227, 230, 249, 263, 264, 272, 276, 279, 280, 282, 284, 285]
+227:98:[176, 194, 227, 230, 249, 263, 264, 272, 276, 279, 280, 282, 284, 285]
+230:98:[176, 194, 227, 230, 249, 263, 264, 272, 276, 279, 280, 282, 284, 285]
+249:98:[176, 194, 227, 230, 249, 263, 264, 272, 276, 279, 280, 282, 284, 285]
+263:98:[176, 194, 227, 230, 249, 263, 264, 272, 276, 279, 280, 282, 284, 285]
+264:98:[176, 194, 227, 230, 249, 263, 264, 272, 276, 279, 280, 282, 284, 285]
+49:99:[49, 58, 70, 73, 214, 295]
+58:99:[49, 58, 70, 73, 214, 295]
+70:99:[49, 58, 70, 73, 214, 295]
+73:99:[49, 58, 70, 73, 214, 295]
+13:100:[13, 37, 117, 288, 294]
+37:100:[13, 37, 117, 288, 294]
+117:100:[13, 37, 117, 288, 294]
diff --git a/asterix-fuzzyjoin/data/dblp-small/dblp-small-id.txt b/asterix-fuzzyjoin/data/dblp-small/dblp-small-id.txt
new file mode 100644
index 0000000..7ea80e7
--- /dev/null
+++ b/asterix-fuzzyjoin/data/dblp-small/dblp-small-id.txt
@@ -0,0 +1,100 @@
+1:books/acm/kim95/AnnevelinkACFHK95:Object SQL - A Language for the Design and Implementation of Object Databases.:Jurgen Annevelink Rafiul Ahad Amelia Carlson Daniel H. Fishman Michael L. Heytens William Kent:2002-01-03 42-68 1995 Modern Database Systems db/books/collections/kim95.html#AnnevelinkACFHK95
+2:books/acm/kim95/Blakeley95:OQL[C++]  Extending C++ with an Object Query Capability.:José A. Blakeley:2002-01-03 69-88 Modern Database Systems db/books/collections/kim95.html#Blakeley95 1995
+3:books/acm/kim95/BreitbartGS95:Transaction Management in Multidatabase Systems.:Yuri Breitbart Hector Garcia-Molina Abraham Silberschatz:2004-03-08 573-591 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#BreitbartGS95 1995
+4:books/acm/kim95/ChristodoulakisK95:Multimedia Information Systems  Issues and Approaches.:Stavros Christodoulakis Leonidas Koveos:2002-01-03 318-337 1995 Modern Database Systems db/books/collections/kim95.html#ChristodoulakisK95
+5:books/acm/kim95/DayalHW95:Active Database Systems.:Umeshwar Dayal Eric N. Hanson Jennifer Widom:2002-01-03 434-456 1995 Modern Database Systems db/books/collections/kim95.html#DayalHW95
+6:books/acm/kim95/DittrichD95:Where Object-Oriented DBMSs Should Do Better  A Critique Based on Early Experiences.:Angelika Kotz Dittrich Klaus R. Dittrich:2002-01-03 238-254 1995 Modern Database Systems db/books/collections/kim95.html#DittrichD95
+7:books/acm/kim95/Garcia-MolinaH95:Distributed Databases.:Hector Garcia-Molina Meichun Hsu:2002-01-03 477-493 1995 Modern Database Systems db/books/collections/kim95.html#Garcia-MolinaH95
+8:books/acm/kim95/Goodman95:An Object-Oriented DBMS War Story  Developing a Genome Mapping Database in C++.:Nathan Goodman:2002-01-03 216-237 1995 Modern Database Systems db/books/collections/kim95.html#Goodman95
+9:books/acm/kim95/Kaiser95:Cooperative Transactions for Multiuser Environments.:Gail E. Kaiser:2002-01-03 409-433 1995 Modern Database Systems db/books/collections/kim95.html#Kaiser95
+10:books/acm/kim95/KelleyGKRG95:Schema Architecture of the UniSQL/M Multidatabase System:William Kelley Sunit K. Gala Won Kim Tom C. Reyes Bruce Graham:2004-03-08 Modern Database Systems books/acm/Kim95 621-648 1995 db/books/collections/kim95.html#KelleyGKRG95
+11:books/acm/kim95/KemperM95:Physical Object Management.:Alfons Kemper Guido Moerkotte:2002-01-03 175-202 1995 Modern Database Systems db/books/collections/kim95.html#KemperM95
+12:books/acm/kim95/Kim95:Introduction to Part 1  Next-Generation Database Technology.:Won Kim:2002-01-03 5-17 1995 Modern Database Systems db/books/collections/kim95.html#Kim95
+13:books/acm/kim95/Kim95a:Object-Oriented Database Systems  Promises, Reality, and Future.:Won Kim:2002-01-03 255-280 1995 Modern Database Systems db/books/collections/kim95.html#Kim95a
+14:books/acm/kim95/Kim95b:Introduction to Part 2  Technology for Interoperating Legacy Databases.:Won Kim:2002-01-03 515-520 1995 Modern Database Systems db/books/collections/kim95.html#Kim95b
+15:books/acm/kim95/KimCGS95:On Resolving Schematic Heterogeneity in Multidatabase Systems.:Won Kim Injun Choi Sunit K. Gala Mark Scheevel:2002-01-03 521-550 1995 Modern Database Systems db/books/collections/kim95.html#KimCGS95
+16:books/acm/kim95/KimG95:Requirements for a Performance Benchmark for Object-Oriented Database Systems.:Won Kim Jorge F. Garza:2002-01-03 203-215 1995 Modern Database Systems db/books/collections/kim95.html#KimG95
+17:books/acm/kim95/KimK95:On View Support in Object-Oriented Databases Systems.:Won Kim William Kelley:2002-01-03 108-129 1995 Modern Database Systems db/books/collections/kim95.html#KimK95
+18:books/acm/kim95/Kowalski95:The POSC Solution to Managing E&P Data.:Vincent J. Kowalski:2002-01-03 281-301 1995 Modern Database Systems db/books/collections/kim95.html#Kowalski95
+19:books/acm/kim95/KriegerA95:C++ Bindings to an Object Database.:David Krieger Tim Andrews:2002-01-03 89-107 1995 Modern Database Systems db/books/collections/kim95.html#KriegerA95
+20:books/acm/kim95/Lunt95:Authorization in Object-Oriented Databases.:Teresa F. Lunt:2002-01-03 130-145 1995 Modern Database Systems db/books/collections/kim95.html#Lunt95
+21:books/acm/kim95/MengY95:Query Processing in Multidatabase Systems.:Weiyi Meng Clement T. Yu:2002-01-03 551-572 1995 Modern Database Systems db/books/collections/kim95.html#MengY95
+22:books/acm/kim95/Motro95:Management of Uncerainty in database Systems.:Amihai Motro:2002-01-03 457-476 1995 Modern Database Systems db/books/collections/kim95.html#Motro95
+23:books/acm/kim95/Omiecinski95:Parallel Relational Database Systems.:Edward Omiecinski:2002-01-03 494-512 1995 Modern Database Systems db/books/collections/kim95.html#Omiecinski95
+24:books/acm/kim95/OzsuB95:Query Processing in Object-Oriented Database Systems.:M. Tamer Özsu José A. Blakeley:2002-01-03 146-174 1995 Modern Database Systems db/books/collections/kim95.html#OzsuB95
+25:books/acm/kim95/RusinkiewiczS95:Specification and Execution of Transactional Workflows.:Marek Rusinkiewicz Amit P. Sheth:2004-03-08 592-620 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#RusinkiewiczS95 1995
+26:books/acm/kim95/Samet95:Spatial Data Structures.:Hanan Samet:2004-03-08 361-385 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#Samet95 1995
+27:books/acm/kim95/SametA95:Spatial Data Models and Query Processing.:Hanan Samet Walid G. Aref:2002-01-03 338-360 1995 Modern Database Systems db/books/collections/kim95.html#SametA95
+28:books/acm/kim95/ShanADDK95:Pegasus  A Heterogeneous Information Management System.:Ming-Chien Shan Rafi Ahmed Jim Davis Weimin Du William Kent:2004-03-08 664-682 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#ShanADDK95 1995
+29:books/acm/kim95/Snodgrass95:Temporal Object-Oriented Databases  A Critical Comparison.:Richard T. Snodgrass:2002-01-03 386-408 1995 Modern Database Systems db/books/collections/kim95.html#Snodgrass95
+30:books/acm/kim95/SoleyK95:The OMG Object Model.:Richard Mark Soley William Kent:2002-01-03 18-41 1995 Modern Database Systems db/books/collections/kim95.html#SoleyK95
+31:books/acm/kim95/Stout95:EDA/SQL.:Ralph L. Stout:2004-03-08 649-663 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#Stout95 1995
+32:books/acm/kim95/Thompson95:The Changing Database Standards Landscape.:Craig W. Thompson:2002-01-03 302-317 1995 Modern Database Systems db/books/collections/kim95.html#Thompson95
+33:books/acm/kim95/BreitbartR95:Overview of the ADDS System.:Yuri Breitbart Tom C. Reyes:2009-06-12 683-701 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#BreitbartR95 1995
+34:books/acm/Kim95:Modern Database Systems  The Object Model, Interoperability, and Beyond.::2004-03-08 Won Kim Modern Database Systems ACM Press and Addison-Wesley 1995 0-201-59098-0 db/books/collections/kim95.html
+35:books/ap/MarshallO79:Inequalities  Theory of Majorization and Its Application.:Albert W. Marshall Ingram Olkin:2002-01-03 Academic Press 1979 0-12-473750-1
+36:books/aw/kimL89/BjornerstedtH89:Version Control in an Object-Oriented Architecture.:Anders Björnerstedt Christer Hulten:2006-02-24 451-485 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#BjornerstedtH89
+37:books/aw/kimL89/BretlMOPSSWW89:The GemStone Data Management System.:Robert Bretl David Maier Allen Otis D. Jason Penney Bruce Schuchardt Jacob Stein E. Harold Williams Monty Williams:2002-01-03 283-308 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#BretlMOPSSWW89
+38:books/aw/kimL89/CareyDRS89:Storage Management in EXODUS.:Michael J. Carey David J. DeWitt Joel E. Richardson Eugene J. Shekita:2002-01-03 341-369 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#CareyDRS89
+39:books/aw/kimL89/Decouchant89:A Distributed Object Manager for the Smalltalk-80 System.:Dominique Decouchant:2002-01-03 487-520 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Decouchant89
+40:books/aw/kimL89/DiederichM89:Objects, Messages, and Rules in Database Design.:Jim Diederich Jack Milton:2002-01-03 177-197 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#DiederichM89
+41:books/aw/kimL89/EllisG89:Active Objects  Ealities and Possibilities.:Clarence A. Ellis Simon J. Gibbs:2002-01-03 561-572 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#EllisG89
+42:books/aw/kimL89/FishmanABCCDHHKLLMNRSW89:Overview of the Iris DBMS.:Daniel H. Fishman Jurgen Annevelink David Beech E. C. Chow Tim Connors J. W. Davis Waqar Hasan C. G. Hoch William Kent S. Leichner Peter Lyngbæk Brom Mahbod Marie-Anne Neimat Tore Risch Ming-Chien Shan W. Kevin Wilkinson:2002-01-03 219-250 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#FishmanABCCDHHKLLMNRSW89
+43:books/aw/kimL89/KimBCGW89:Features of the ORION Object-Oriented Database System.:Won Kim Nat Ballou Hong-Tai Chou Jorge F. Garza Darrell Woelk:2002-01-03 251-282 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#KimBCGW89
+44:books/aw/kimL89/KimKD89:Indexing Techniques for Object-Oriented Databases.:Won Kim Kyung-Chang Kim Alfred G. Dale:2002-01-03 371-394 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#KimKD89
+45:books/aw/kimL89/King89:My Cat Is Object-Oriented.:Roger King:2002-01-03 23-30 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#King89
+46:books/aw/kimL89/Maier89:Making Database Systems Fast Enough for CAD Applications.:David Maier:2002-01-03 573-582 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Maier89
+47:books/aw/kimL89/MellenderRS89:Optimizing Smalltalk Message Performance.:Fred Mellender Steve Riegel Andrew Straw:2002-01-03 423-450 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#MellenderRS89
+48:books/aw/kimL89/Moon89:The Common List Object-Oriented Programming Language Standard.:David A. Moon:2002-01-03 49-78 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Moon89
+49:books/aw/kimL89/Moss89:Object Orientation as Catalyst for Language-Database Inegration.:J. Eliot B. Moss:2002-01-03 583-592 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Moss89
+50:books/aw/kimL89/Nierstrasz89:A Survey of Object-Oriented Concepts.:Oscar Nierstrasz:2002-01-03 3-21 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Nierstrasz89
+51:books/aw/kimL89/NierstraszT89:Integrated Office Systems.:Oscar Nierstrasz Dennis Tsichritzis:2002-01-03 199-215 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#NierstraszT89
+52:books/aw/kimL89/Russinoff89:Proteus  A Frame-Based Nonmonotonic Inference System.:David M. Russinoff:2002-01-03 127-150 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#Russinoff89
+53:books/aw/kimL89/SkarraZ89:Concurrency Control and Object-Oriented Databases.:Andrea H. Skarra Stanley B. Zdonik:2002-01-03 395-421 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#SkarraZ89
+54:books/aw/kimL89/SteinLU89:A Shared View of Sharing  The Treaty of Orlando.:Lynn Andrea Stein Henry Lieberman David Ungar:2002-01-03 31-48 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#SteinLU89
+55:books/aw/kimL89/TarltonT89:Pogo  A Declarative Representation System for Graphics.:Mark A. Tarlton P. Nong Tarlton:2002-01-03 151-176 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#TarltonT89
+56:books/aw/kimL89/TomlinsonS89:Concurrent Object-Oriented Programming Languages.:Chris Tomlinson Mark Scheevel:2002-01-03 79-124 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#TomlinsonS89
+57:books/aw/kimL89/TsichritzisN89:Directions in Object-Oriented Research.:Dennis Tsichritzis Oscar Nierstrasz:2002-01-03 523-536 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#TsichritzisN89
+58:books/aw/kimL89/Wand89:A Proposal for a Formal Model of Objects.:Yair Wand:2002-01-03 537-559 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Wand89
+59:books/aw/kimL89/WeiserL89:OZ+  An Object-Oriented Database System.:Stephen P. Weiser Frederick H. Lochovsky:2002-01-03 309-337 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#WeiserL89
+60:books/aw/stonebraker86/RoweS86:The Commercial INGRES Epilogue.:Lawrence A. Rowe Michael Stonebraker:2002-01-03 63-82 1986 The INGRES Papers db/books/collections/Stonebraker86.html#RoweS86 db/books/collections/Stonebraker86/RoweS86.html ingres/P063.pdf
+61:books/aw/stonebraker86/Stonebraker86:Design of Relational Systems (Introduction to Section 1).:Michael Stonebraker:2002-01-03 1-3 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86 db/books/collections/Stonebraker86/Stonebraker86.html ingres/P001.pdf
+62:books/aw/stonebraker86/Stonebraker86a:Supporting Studies on Relational Systems (Introduction to Section 2).:Michael Stonebraker:2002-01-03 83-85 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86a db/books/collections/Stonebraker86/Stonebraker86a.html ingres/P083.pdf
+63:books/aw/stonebraker86/Stonebraker86b:Distributed Database Systems (Introduction to Section 3).:Michael Stonebraker:2002-01-03 183-186 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86b db/books/collections/Stonebraker86/Stonebraker86b.html ingres/P183.pdf
+64:books/aw/stonebraker86/Stonebraker86c:The Design and Implementation of Distributed INGRES.:Michael Stonebraker:2002-01-03 187-196 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86c db/books/collections/Stonebraker86/Stonebraker86c.html ingres/P187.pdf
+65:books/aw/stonebraker86/Stonebraker86d:User Interfaces for Database Systems (Introduction to Section 4).:Michael Stonebraker:2002-01-03 243-245 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86d db/books/collections/Stonebraker86/Stonebraker86d.html ingres/P243.pdf
+66:books/aw/stonebraker86/Stonebraker86e:Extended Semantics for the Relational Model (Introduction to Section 5).:Michael Stonebraker:2002-01-03 313-316 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86e db/books/collections/Stonebraker86/Stonebraker86e.html ingres/P313.pdf
+67:books/aw/stonebraker86/Stonebraker86f:Database Design (Introduction to Section 6).:Michael Stonebraker:2002-01-03 393-394 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86f db/books/collections/Stonebraker86/Stonebraker86f.html ingres/P393.pdf
+68:books/aw/stonebraker86/X86:Title, Preface, Contents.::2002-01-03 1986 The INGRES Papers db/books/collections/Stonebraker86.html#X86 db/books/collections/Stonebraker86/X86.html ingres/frontmatter.pdf
+69:books/aw/stonebraker86/X86a:References.::2002-01-03 429-444 1986 The INGRES Papers db/books/collections/Stonebraker86.html#X86a db/books/collections/Stonebraker86/X86a.html ingres/P429.pdf
+70:books/aw/Knuth86a:TeX  The Program:Donald E. Knuth:2002-01-03 Addison-Wesley 1986 0-201-13437-3
+71:conf/appt/LiDCMY07:Design and Implementation of a High-Speed Reconfigurable Modular Arithmetic Unit.:Wei Li Zibin Dai Tao Chen Tao Meng Xuan Yang:2007-11-09 50-59 2007 conf/appt/2007 APPT http //dx.doi.org/10.1007/978-3-540-76837-1_9 db/conf/appt/appt2007.html#LiDCMY07
+72:books/aw/Lamport86:LaTeX  User's Guide & Reference Manual:Leslie Lamport:2002-01-03 Addison-Wesley 1986 0-201-15790-X
+73:books/aw/AhoHU74:The Design and Analysis of Computer Algorithms.:Alfred V. Aho John E. Hopcroft Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1974 0-201-00029-6
+74:books/aw/Lamport2002:Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers:Leslie Lamport:2005-07-28 Addison-Wesley 2002 0-3211-4306-X http //research.microsoft.com/users/lamport/tla/book.html
+75:books/aw/AhoHU83:Data Structures and Algorithms.:Alfred V. Aho John E. Hopcroft Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1983 0-201-00023-7
+76:books/aw/LewisBK01:Databases and Transaction Processing  An Application-Oriented Approach:Philip M. Lewis Arthur J. Bernstein Michael Kifer:2002-01-03 Addison-Wesley 2001 0-201-70872-8
+77:books/aw/AhoKW88:The AWK Programming Language:Alfred V. Aho Brian W. Kernighan Peter J. Weinberger:2002-01-03 Addison-Wesley 1988
+78:books/aw/LindholmY97:The Java Virtual Machine Specification:Tim Lindholm Frank Yellin:2002-01-28 Addison-Wesley 1997 0-201-63452-X
+79:books/aw/AhoSU86:Compilers  Princiles, Techniques, and Tools.:Alfred V. Aho Ravi Sethi Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1986 0-201-10088-6
+80:books/aw/Sedgewick83:Algorithms:Robert Sedgewick:2002-01-03 Addison-Wesley 1983 0-201-06672-6
+81:journals/siamcomp/AspnesW96:Randomized Consensus in Expected O(n log² n) Operations Per Processor.:James Aspnes Orli Waarts:2002-01-03 1024-1044 1996 25 SIAM J. Comput. 5 db/journals/siamcomp/siamcomp25.html#AspnesW96
+82:conf/focs/AspnesW92:Randomized Consensus in Expected O(n log ^2 n) Operations Per Processor:James Aspnes Orli Waarts:2006-04-25 137-146 conf/focs/FOCS33 1992 FOCS db/conf/focs/focs92.html#AspnesW92
+83:journals/siamcomp/Bloniarz83:A Shortest-Path Algorithm with Expected Time O(n² log n log* n).:Peter A. Bloniarz:2002-01-03 588-600 1983 12 SIAM J. Comput. 3 db/journals/siamcomp/siamcomp12.html#Bloniarz83
+84:conf/stoc/Bloniarz80:A Shortest-Path Algorithm with Expected Time O(n^2 log n log ^* n):Peter A. Bloniarz:2006-04-25 378-384 conf/stoc/STOC12 1980 STOC db/conf/stoc/stoc80.html#Bloniarz80
+85:journals/siamcomp/Megiddo83a:Linear-Time Algorithms for Linear Programming in R³ and Related Problems.:Nimrod Megiddo:2002-01-03 759-776 1983 12 SIAM J. Comput. 4 db/journals/siamcomp/siamcomp12.html#Megiddo83a
+86:conf/focs/Megiddo82:Linear-Time Algorithms for Linear Programming in R^3 and Related Problems:Nimrod Megiddo:2006-04-25 329-338 conf/focs/FOCS23 1982 FOCS db/conf/focs/focs82.html#Megiddo82
+87:journals/siamcomp/MoffatT87:An All Pairs Shortest Path Algorithm with Expected Time O(n² log n).:Alistair Moffat Tadao Takaoka:2002-01-03 1023-1031 1987 16 SIAM J. Comput. 6 db/journals/siamcomp/siamcomp16.html#MoffatT87
+88:conf/focs/MoffatT85:An All Pairs Shortest Path Algorithm with Expected Running Time O(n^2 log n):Alistair Moffat Tadao Takaoka:2006-04-25 101-105 conf/focs/FOCS26 1985 FOCS db/conf/focs/focs85.html#MoffatT85
+89:conf/icip/SchonfeldL98:VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases.:Dan Schonfeld Dan Lelescu:2002-11-05 123-127 1998 ICIP (3) db/conf/icip/icip1998-3.html#SchonfeldL98
+90:conf/hicss/SchonfeldL99:VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases ¾ Visual Search Engine.:Dan Schonfeld Dan Lelescu:2002-01-03 1999 HICSS http //computer.org/proceedings/hicss/0001/00013/00013006abs.htm db/conf/hicss/hicss1999-3.html#SchonfeldL99
+91:journals/corr/abs-0802-2861:Geometric Set Cover and Hitting Sets for Polytopes in $R^3$:Sören Laue:2008-03-03 http //arxiv.org/abs/0802.2861 2008 CoRR abs/0802.2861 db/journals/corr/corr0802.html#abs-0802-2861 informal publication
+92:conf/stacs/Laue08:Geometric Set Cover and Hitting Sets for Polytopes in R³.:Sören Laue:2008-03-04 2008 STACS 479-490 http //drops.dagstuhl.de/opus/volltexte/2008/1367 conf/stacs/2008 db/conf/stacs/stacs2008.html#Laue08
+93:journals/iandc/IbarraJCR91:Some Classes of Languages in NC¹:Oscar H. Ibarra Tao Jiang Jik H. Chang Bala Ravikumar:2006-04-25 86-106 Inf. Comput. January 1991 90 1 db/journals/iandc/iandc90.html#IbarraJCR91
+94:conf/awoc/IbarraJRC88:On Some Languages in NC.:Oscar H. Ibarra Tao Jiang Bala Ravikumar Jik H. Chang:2002-08-06 64-73 1988 conf/awoc/1988 AWOC db/conf/awoc/awoc88.html#IbarraJRC88
+95:journals/jacm/GalilHLSW87:An O(n³log n) deterministic and an O(n³) Las Vegs isomorphism test for trivalent graphs.:Zvi Galil Christoph M. Hoffmann Eugene M. Luks Claus-Peter Schnorr Andreas Weber:2003-11-20 513-531 1987 34 J. ACM 3 http //doi.acm.org/10.1145/28869.28870 db/journals/jacm/jacm34.html#GalilHLSW87
+96:conf/focs/GalilHLSW82:An O(n^3 log n) Deterministic and an O(n^3) Probabilistic Isomorphism Test for Trivalent Graphs:Zvi Galil Christoph M. Hoffmann Eugene M. Luks Claus-Peter Schnorr Andreas Weber:2006-04-25 118-125 conf/focs/FOCS23 1982 FOCS db/conf/focs/focs82.html#GalilHLSW82
+97:journals/jacm/GalilT88:An O(n²(m + n log n)log n) min-cost flow algorithm.:Zvi Galil Éva Tardos:2003-11-20 374-386 1988 35 J. ACM 2 http //doi.acm.org/10.1145/42282.214090 db/journals/jacm/jacm35.html#GalilT88
+98:conf/focs/GalilT86:An O(n^2 (m + n log n) log n) Min-Cost Flow Algorithm:Zvi Galil Éva Tardos:2006-04-25 1-9 conf/focs/FOCS27 1986 FOCS db/conf/focs/focs86.html#GalilT86
+99:series/synthesis/2009Weintraub:Jordan Canonical Form  Theory and Practice:Steven H. Weintraub:2009-09-06 Jordan Canonical Form  Theory and Practice http //dx.doi.org/10.2200/S00218ED1V01Y200908MAS006 http //dx.doi.org/10.2200/S00218ED1V01Y200908MAS006 2009 Synthesis Lectures on Mathematics & Statistics Morgan & Claypool Publishers
+100:series/synthesis/2009Brozos:The Geometry of Walker Manifolds:Miguel Brozos-Vázquez Eduardo García-Río Peter Gilkey Stana Nikcevic Rámon Vázquez-Lorenzo:2009-09-06 The Geometry of Walker Manifolds http //dx.doi.org/10.2200/S00197ED1V01Y200906MAS005 http //dx.doi.org/10.2200/S00197ED1V01Y200906MAS005 2009 Synthesis Lectures on Mathematics & Statistics Morgan & Claypool Publishers
diff --git a/asterix-fuzzyjoin/data/dblp-small/raw.dblp-000/part-00000 b/asterix-fuzzyjoin/data/dblp-small/raw.dblp-000/part-00000
new file mode 100644
index 0000000..be9c045
--- /dev/null
+++ b/asterix-fuzzyjoin/data/dblp-small/raw.dblp-000/part-00000
@@ -0,0 +1,100 @@
+books/acm/kim95/AnnevelinkACFHK95:Object SQL - A Language for the Design and Implementation of Object Databases.:Jurgen Annevelink Rafiul Ahad Amelia Carlson Daniel H. Fishman Michael L. Heytens William Kent:2002-01-03 42-68 1995 Modern Database Systems db/books/collections/kim95.html#AnnevelinkACFHK95
+books/acm/kim95/Blakeley95:OQL[C++]  Extending C++ with an Object Query Capability.:José A. Blakeley:2002-01-03 69-88 Modern Database Systems db/books/collections/kim95.html#Blakeley95 1995
+books/acm/kim95/BreitbartGS95:Transaction Management in Multidatabase Systems.:Yuri Breitbart Hector Garcia-Molina Abraham Silberschatz:2004-03-08 573-591 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#BreitbartGS95 1995
+books/acm/kim95/ChristodoulakisK95:Multimedia Information Systems  Issues and Approaches.:Stavros Christodoulakis Leonidas Koveos:2002-01-03 318-337 1995 Modern Database Systems db/books/collections/kim95.html#ChristodoulakisK95
+books/acm/kim95/DayalHW95:Active Database Systems.:Umeshwar Dayal Eric N. Hanson Jennifer Widom:2002-01-03 434-456 1995 Modern Database Systems db/books/collections/kim95.html#DayalHW95
+books/acm/kim95/DittrichD95:Where Object-Oriented DBMSs Should Do Better  A Critique Based on Early Experiences.:Angelika Kotz Dittrich Klaus R. Dittrich:2002-01-03 238-254 1995 Modern Database Systems db/books/collections/kim95.html#DittrichD95
+books/acm/kim95/Garcia-MolinaH95:Distributed Databases.:Hector Garcia-Molina Meichun Hsu:2002-01-03 477-493 1995 Modern Database Systems db/books/collections/kim95.html#Garcia-MolinaH95
+books/acm/kim95/Goodman95:An Object-Oriented DBMS War Story  Developing a Genome Mapping Database in C++.:Nathan Goodman:2002-01-03 216-237 1995 Modern Database Systems db/books/collections/kim95.html#Goodman95
+books/acm/kim95/Kaiser95:Cooperative Transactions for Multiuser Environments.:Gail E. Kaiser:2002-01-03 409-433 1995 Modern Database Systems db/books/collections/kim95.html#Kaiser95
+books/acm/kim95/KelleyGKRG95:Schema Architecture of the UniSQL/M Multidatabase System:William Kelley Sunit K. Gala Won Kim Tom C. Reyes Bruce Graham:2004-03-08 Modern Database Systems books/acm/Kim95 621-648 1995 db/books/collections/kim95.html#KelleyGKRG95
+books/acm/kim95/KemperM95:Physical Object Management.:Alfons Kemper Guido Moerkotte:2002-01-03 175-202 1995 Modern Database Systems db/books/collections/kim95.html#KemperM95
+books/acm/kim95/Kim95:Introduction to Part 1  Next-Generation Database Technology.:Won Kim:2002-01-03 5-17 1995 Modern Database Systems db/books/collections/kim95.html#Kim95
+books/acm/kim95/Kim95a:Object-Oriented Database Systems  Promises, Reality, and Future.:Won Kim:2002-01-03 255-280 1995 Modern Database Systems db/books/collections/kim95.html#Kim95a
+books/acm/kim95/Kim95b:Introduction to Part 2  Technology for Interoperating Legacy Databases.:Won Kim:2002-01-03 515-520 1995 Modern Database Systems db/books/collections/kim95.html#Kim95b
+books/acm/kim95/KimCGS95:On Resolving Schematic Heterogeneity in Multidatabase Systems.:Won Kim Injun Choi Sunit K. Gala Mark Scheevel:2002-01-03 521-550 1995 Modern Database Systems db/books/collections/kim95.html#KimCGS95
+books/acm/kim95/KimG95:Requirements for a Performance Benchmark for Object-Oriented Database Systems.:Won Kim Jorge F. Garza:2002-01-03 203-215 1995 Modern Database Systems db/books/collections/kim95.html#KimG95
+books/acm/kim95/KimK95:On View Support in Object-Oriented Databases Systems.:Won Kim William Kelley:2002-01-03 108-129 1995 Modern Database Systems db/books/collections/kim95.html#KimK95
+books/acm/kim95/Kowalski95:The POSC Solution to Managing E&P Data.:Vincent J. Kowalski:2002-01-03 281-301 1995 Modern Database Systems db/books/collections/kim95.html#Kowalski95
+books/acm/kim95/KriegerA95:C++ Bindings to an Object Database.:David Krieger Tim Andrews:2002-01-03 89-107 1995 Modern Database Systems db/books/collections/kim95.html#KriegerA95
+books/acm/kim95/Lunt95:Authorization in Object-Oriented Databases.:Teresa F. Lunt:2002-01-03 130-145 1995 Modern Database Systems db/books/collections/kim95.html#Lunt95
+books/acm/kim95/MengY95:Query Processing in Multidatabase Systems.:Weiyi Meng Clement T. Yu:2002-01-03 551-572 1995 Modern Database Systems db/books/collections/kim95.html#MengY95
+books/acm/kim95/Motro95:Management of Uncerainty in database Systems.:Amihai Motro:2002-01-03 457-476 1995 Modern Database Systems db/books/collections/kim95.html#Motro95
+books/acm/kim95/Omiecinski95:Parallel Relational Database Systems.:Edward Omiecinski:2002-01-03 494-512 1995 Modern Database Systems db/books/collections/kim95.html#Omiecinski95
+books/acm/kim95/OzsuB95:Query Processing in Object-Oriented Database Systems.:M. Tamer Özsu José A. Blakeley:2002-01-03 146-174 1995 Modern Database Systems db/books/collections/kim95.html#OzsuB95
+books/acm/kim95/RusinkiewiczS95:Specification and Execution of Transactional Workflows.:Marek Rusinkiewicz Amit P. Sheth:2004-03-08 592-620 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#RusinkiewiczS95 1995
+books/acm/kim95/Samet95:Spatial Data Structures.:Hanan Samet:2004-03-08 361-385 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#Samet95 1995
+books/acm/kim95/SametA95:Spatial Data Models and Query Processing.:Hanan Samet Walid G. Aref:2002-01-03 338-360 1995 Modern Database Systems db/books/collections/kim95.html#SametA95
+books/acm/kim95/ShanADDK95:Pegasus  A Heterogeneous Information Management System.:Ming-Chien Shan Rafi Ahmed Jim Davis Weimin Du William Kent:2004-03-08 664-682 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#ShanADDK95 1995
+books/acm/kim95/Snodgrass95:Temporal Object-Oriented Databases  A Critical Comparison.:Richard T. Snodgrass:2002-01-03 386-408 1995 Modern Database Systems db/books/collections/kim95.html#Snodgrass95
+books/acm/kim95/SoleyK95:The OMG Object Model.:Richard Mark Soley William Kent:2002-01-03 18-41 1995 Modern Database Systems db/books/collections/kim95.html#SoleyK95
+books/acm/kim95/Stout95:EDA/SQL.:Ralph L. Stout:2004-03-08 649-663 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#Stout95 1995
+books/acm/kim95/Thompson95:The Changing Database Standards Landscape.:Craig W. Thompson:2002-01-03 302-317 1995 Modern Database Systems db/books/collections/kim95.html#Thompson95
+books/acm/kim95/BreitbartR95:Overview of the ADDS System.:Yuri Breitbart Tom C. Reyes:2009-06-12 683-701 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#BreitbartR95 1995
+books/acm/Kim95:Modern Database Systems  The Object Model, Interoperability, and Beyond.::2004-03-08 Won Kim Modern Database Systems ACM Press and Addison-Wesley 1995 0-201-59098-0 db/books/collections/kim95.html
+books/ap/MarshallO79:Inequalities  Theory of Majorization and Its Application.:Albert W. Marshall Ingram Olkin:2002-01-03 Academic Press 1979 0-12-473750-1
+books/aw/kimL89/BjornerstedtH89:Version Control in an Object-Oriented Architecture.:Anders Björnerstedt Christer Hulten:2006-02-24 451-485 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#BjornerstedtH89
+books/aw/kimL89/BretlMOPSSWW89:The GemStone Data Management System.:Robert Bretl David Maier Allen Otis D. Jason Penney Bruce Schuchardt Jacob Stein E. Harold Williams Monty Williams:2002-01-03 283-308 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#BretlMOPSSWW89
+books/aw/kimL89/CareyDRS89:Storage Management in EXODUS.:Michael J. Carey David J. DeWitt Joel E. Richardson Eugene J. Shekita:2002-01-03 341-369 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#CareyDRS89
+books/aw/kimL89/Decouchant89:A Distributed Object Manager for the Smalltalk-80 System.:Dominique Decouchant:2002-01-03 487-520 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Decouchant89
+books/aw/kimL89/DiederichM89:Objects, Messages, and Rules in Database Design.:Jim Diederich Jack Milton:2002-01-03 177-197 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#DiederichM89
+books/aw/kimL89/EllisG89:Active Objects  Ealities and Possibilities.:Clarence A. Ellis Simon J. Gibbs:2002-01-03 561-572 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#EllisG89
+books/aw/kimL89/FishmanABCCDHHKLLMNRSW89:Overview of the Iris DBMS.:Daniel H. Fishman Jurgen Annevelink David Beech E. C. Chow Tim Connors J. W. Davis Waqar Hasan C. G. Hoch William Kent S. Leichner Peter Lyngbæk Brom Mahbod Marie-Anne Neimat Tore Risch Ming-Chien Shan W. Kevin Wilkinson:2002-01-03 219-250 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#FishmanABCCDHHKLLMNRSW89
+books/aw/kimL89/KimBCGW89:Features of the ORION Object-Oriented Database System.:Won Kim Nat Ballou Hong-Tai Chou Jorge F. Garza Darrell Woelk:2002-01-03 251-282 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#KimBCGW89
+books/aw/kimL89/KimKD89:Indexing Techniques for Object-Oriented Databases.:Won Kim Kyung-Chang Kim Alfred G. Dale:2002-01-03 371-394 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#KimKD89
+books/aw/kimL89/King89:My Cat Is Object-Oriented.:Roger King:2002-01-03 23-30 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#King89
+books/aw/kimL89/Maier89:Making Database Systems Fast Enough for CAD Applications.:David Maier:2002-01-03 573-582 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Maier89
+books/aw/kimL89/MellenderRS89:Optimizing Smalltalk Message Performance.:Fred Mellender Steve Riegel Andrew Straw:2002-01-03 423-450 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#MellenderRS89
+books/aw/kimL89/Moon89:The Common List Object-Oriented Programming Language Standard.:David A. Moon:2002-01-03 49-78 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Moon89
+books/aw/kimL89/Moss89:Object Orientation as Catalyst for Language-Database Inegration.:J. Eliot B. Moss:2002-01-03 583-592 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Moss89
+books/aw/kimL89/Nierstrasz89:A Survey of Object-Oriented Concepts.:Oscar Nierstrasz:2002-01-03 3-21 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Nierstrasz89
+books/aw/kimL89/NierstraszT89:Integrated Office Systems.:Oscar Nierstrasz Dennis Tsichritzis:2002-01-03 199-215 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#NierstraszT89
+books/aw/kimL89/Russinoff89:Proteus  A Frame-Based Nonmonotonic Inference System.:David M. Russinoff:2002-01-03 127-150 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#Russinoff89
+books/aw/kimL89/SkarraZ89:Concurrency Control and Object-Oriented Databases.:Andrea H. Skarra Stanley B. Zdonik:2002-01-03 395-421 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#SkarraZ89
+books/aw/kimL89/SteinLU89:A Shared View of Sharing  The Treaty of Orlando.:Lynn Andrea Stein Henry Lieberman David Ungar:2002-01-03 31-48 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#SteinLU89
+books/aw/kimL89/TarltonT89:Pogo  A Declarative Representation System for Graphics.:Mark A. Tarlton P. Nong Tarlton:2002-01-03 151-176 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#TarltonT89
+books/aw/kimL89/TomlinsonS89:Concurrent Object-Oriented Programming Languages.:Chris Tomlinson Mark Scheevel:2002-01-03 79-124 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#TomlinsonS89
+books/aw/kimL89/TsichritzisN89:Directions in Object-Oriented Research.:Dennis Tsichritzis Oscar Nierstrasz:2002-01-03 523-536 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#TsichritzisN89
+books/aw/kimL89/Wand89:A Proposal for a Formal Model of Objects.:Yair Wand:2002-01-03 537-559 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Wand89
+books/aw/kimL89/WeiserL89:OZ+  An Object-Oriented Database System.:Stephen P. Weiser Frederick H. Lochovsky:2002-01-03 309-337 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#WeiserL89
+books/aw/stonebraker86/RoweS86:The Commercial INGRES Epilogue.:Lawrence A. Rowe Michael Stonebraker:2002-01-03 63-82 1986 The INGRES Papers db/books/collections/Stonebraker86.html#RoweS86 db/books/collections/Stonebraker86/RoweS86.html ingres/P063.pdf
+books/aw/stonebraker86/Stonebraker86:Design of Relational Systems (Introduction to Section 1).:Michael Stonebraker:2002-01-03 1-3 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86 db/books/collections/Stonebraker86/Stonebraker86.html ingres/P001.pdf
+books/aw/stonebraker86/Stonebraker86a:Supporting Studies on Relational Systems (Introduction to Section 2).:Michael Stonebraker:2002-01-03 83-85 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86a db/books/collections/Stonebraker86/Stonebraker86a.html ingres/P083.pdf
+books/aw/stonebraker86/Stonebraker86b:Distributed Database Systems (Introduction to Section 3).:Michael Stonebraker:2002-01-03 183-186 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86b db/books/collections/Stonebraker86/Stonebraker86b.html ingres/P183.pdf
+books/aw/stonebraker86/Stonebraker86c:The Design and Implementation of Distributed INGRES.:Michael Stonebraker:2002-01-03 187-196 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86c db/books/collections/Stonebraker86/Stonebraker86c.html ingres/P187.pdf
+books/aw/stonebraker86/Stonebraker86d:User Interfaces for Database Systems (Introduction to Section 4).:Michael Stonebraker:2002-01-03 243-245 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86d db/books/collections/Stonebraker86/Stonebraker86d.html ingres/P243.pdf
+books/aw/stonebraker86/Stonebraker86e:Extended Semantics for the Relational Model (Introduction to Section 5).:Michael Stonebraker:2002-01-03 313-316 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86e db/books/collections/Stonebraker86/Stonebraker86e.html ingres/P313.pdf
+books/aw/stonebraker86/Stonebraker86f:Database Design (Introduction to Section 6).:Michael Stonebraker:2002-01-03 393-394 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86f db/books/collections/Stonebraker86/Stonebraker86f.html ingres/P393.pdf
+books/aw/stonebraker86/X86:Title, Preface, Contents.::2002-01-03 1986 The INGRES Papers db/books/collections/Stonebraker86.html#X86 db/books/collections/Stonebraker86/X86.html ingres/frontmatter.pdf
+books/aw/stonebraker86/X86a:References.::2002-01-03 429-444 1986 The INGRES Papers db/books/collections/Stonebraker86.html#X86a db/books/collections/Stonebraker86/X86a.html ingres/P429.pdf
+books/aw/Knuth86a:TeX  The Program:Donald E. Knuth:2002-01-03 Addison-Wesley 1986 0-201-13437-3
+books/aw/AbiteboulHV95:Foundations of Databases.:Serge Abiteboul Richard Hull Victor Vianu:2002-01-03 Addison-Wesley 1995 0-201-53771-0 AHV/Toc.pdf ... ... journals/tods/AstrahanBCEGGKLMMPTWW76 books/bc/AtzeniA93 journals/tcs/AtzeniABM82 journals/jcss/AbiteboulB86 journals/csur/AtkinsonB87 conf/pods/AtzeniB87 journals/vldb/AbiteboulB95 conf/sigmod/AbiteboulB91 conf/dood/AtkinsonBDDMZ89 conf/vldb/AlbanoBGO93 ... conf/icdt/Abiteboul88 journals/ipl/Abiteboul89 conf/ds/Abrial74 journals/tods/AhoBU79 books/mk/minker88/AptBW88 conf/vldb/AroraC78 conf/stoc/AfratiC89 journals/tods/AlbanoCO85 conf/pods/AfratiCY91 conf/pods/AusielloDM85 conf/vldb/AbiteboulG85 journals/jacm/AjtaiG87 conf/focs/AjtaiG89 journals/tods/AbiteboulG91 ... ... journals/tods/AbiteboulH87 conf/sigmod/AbiteboulH88 ... conf/sigmod/AbiteboulK89 journals/tcs/AbiteboulKG91 journals/jcss/AbiteboulKRW95 conf/sigmod/AbiteboulLUW93 conf/pods/AtzeniP82 conf/pods/AfratiP87 conf/pods/AptP87 conf/wg/AndriesP91 conf/pods/AfratiPPRSU86 books/el/leeuwen90/Apt90 conf/ifip/Armstrong74 journals/siamcomp/AhoSSU81 journals/tods/AhoSU79 journals/siamcomp/AhoSU79 conf/pods/AbiteboulSV90 journals/is/AtzeniT93 conf/popl/AhoU79 conf/pods/AbiteboulV87 conf/jcdkb/AbiteboulV88 journals/jacm/AbiteboulV88 conf/pods/AbiteboulV88 journals/jacm/AbiteboulV89 journals/jcss/AbiteboulV90 journals/jcss/AbiteboulV91 conf/stoc/AbiteboulV91 journals/amai/AbiteboulV91 journals/jcss/AbiteboulV95 journals/jacm/AptE82 conf/coco/AbiteboulVV92 conf/iclp/AptB88 conf/oopsla/BobrowKKMSZ86 journals/tse/BatoryBGSTTW88 conf/mfcs/Bancilhon78 ... conf/db-workshops/Bancilhon85 books/el/leeuwen90/Barendregt90 ... journals/tods/BeeriB79 books/el/leeuwen90/BerstelB90 conf/icdt/BeneventanoB92 conf/vldb/BernsteinBC80 conf/vldb/BeeriBG78 conf/sigmod/BorgidaBMR89 journals/tods/BunemanC79 journals/jacm/BernsteinC81 conf/dbpl/BancilhonCD89 books/bc/tanselCGSS93/BaudinetCW93 conf/sigmod/BiskupDB79 journals/jacm/BeeriDFS84 books/mk/BancilhonDK92 conf/edbt/BryDM88 conf/pods/BunemanDW88 journals/jcss/BunemanDW91 journals/tods/Beeri80 journals/dke/Beeri90 ... journals/tods/Bernstein76 conf/lics/BidoitF87 journals/iandc/BidoitF91 conf/sigmod/BeeriFH77 conf/stoc/BeeriFMMUY81 journals/jacm/BeeriFMY83 journals/tods/BunemanFN82 journals/siamcomp/BernsteinG81 journals/iandc/BlassGK85 conf/ijcai/BrachmanGL85 journals/tods/BernsteinGWRR81 books/aw/BernsteinHG87 ... journals/tcs/Bidoit91 journals/tcs/Biskup80 conf/adbt/Biskup79 journals/tods/Biskup83 journals/tcs/BunemanJO91 journals/tods/BeeriK86 conf/pods/BeeriKBR87 conf/icdt/BidoitL90 journals/csur/BatiniL86 conf/sigmod/BlakeleyLT86 conf/vldb/BeeriM91 conf/sigmod/BlakeleyMG93 journals/siamcomp/BeeriMSU81 conf/pods/BancilhonMSU86 conf/pods/BeeriNRST87 journals/software/Borgida85 conf/icalp/BraP83 conf/fgcs/BalbinMR88 ... conf/pods/BeeriR87 journals/jlp/BalbinR87 conf/sigmod/BancilhonR86 books/mk/minker88/BancilhonR88 journals/jlp/BeeriR91 conf/vldb/BancilhonRS82 conf/pods/BeeriRSS92 conf/dood/Bry89 journals/tods/BancilhonS81 journals/cogsci/BrachmanS85 journals/tods/BergamaschiS92 conf/sigmod/BernsteinST75 conf/dbpl/TannenBN91 conf/icdt/TannenBW92 ... journals/jacm/BeeriV84 conf/icalp/BeeriV81 conf/adbt/BeeriV79 journals/siamcomp/BeeriV84 journals/iandc/BeeriV84 journals/jacm/BeeriV84 journals/tcs/BeeriV85 journals/ibmrd/ChamberlinAEGLMRW76 ... journals/iandc/Cardelli88 books/mk/Cattell94 conf/sigmod/CacaceCCTZ90 conf/vldb/CastilhoCF82 conf/adbt/CasanovaF82 conf/focs/CaiFI89 journals/jcss/CasanovaFP84 conf/stoc/CosmadakisGKV88 conf/dood/CorciuloGP93 books/sp/CeriGT90 conf/focs/ChandraH80 journals/jcss/ChandraH80 journals/jcss/ChandraH82 journals/jlp/ChandraH85 conf/popl/Chandra81 conf/adbt/Chang79 conf/pods/Chandra88 ... journals/tods/Chen76 conf/ride/ChenHM94 conf/icde/Chomicki92 conf/pods/Chomicki92 ... ... ... conf/stoc/CosmadakisK85 journals/acr/CosmadakisK86 ... journals/jcss/CosmadakisKS86 journals/jacm/CosmadakisKV90 ... conf/pods/CalvaneseL94 conf/adbt/Clark77 conf/stoc/ChandraLM81 conf/stoc/ChandraM77 conf/pods/ConsensM90 conf/sigmod/ConsensM93 conf/icdt/ConsensM90 journals/cacm/Codd70 conf/sigmod/Codd71a persons/Codd71a persons/Codd72 conf/ifip/Codd74 ... conf/sigmod/Codd79 journals/cacm/Codd82 ... conf/sigmod/Cohen89 journals/cacm/Cohen90 ... journals/jcss/Cook74 conf/pods/Cosmadakis83 conf/focs/Cosmadakis87 books/el/leeuwen90/Courcelle90a journals/jacm/CosmadakisP84 conf/edbt/CeriCGLLTZ88 ... conf/vldb/CeriT87 conf/vldb/CasanovaTF88 ... conf/pods/CasanovaV83 journals/siamcomp/ChandraV85 conf/pods/ChaudhuriV92 conf/pods/ChaudhuriV93 conf/pods/ChaudhuriV94 journals/csur/CardelliW85 conf/pods/ChenW89 conf/pods/CohenW89 conf/vldb/CeriW90 conf/vldb/CeriW91 conf/iclp/ChenW92 conf/vldb/CeriW93 ... conf/birthday/Dahlhaus87 conf/vldb/Date81 books/aw/Date86 ... conf/dbpl/Dayal89 journals/tods/DayalB82 journals/ibmrd/DelobelC73 conf/icde/DelcambreD89 ... journals/tods/Delobel78 journals/jacm/Demolombe92 journals/tods/DateF92 ... conf/vldb/DayalHL91 journals/jacm/Paola69a conf/caap/DahlhausM86 journals/acr/DAtriM86 journals/iandc/DahlhausM92 conf/sigmod/DerrMP93 conf/vldb/MaindrevilleS88 conf/pods/Dong92 conf/adbt/BraP82 ... conf/dbpl/DongS91 journals/iandc/DongS95 conf/dbpl/DongS93 conf/dbpl/DongS93 conf/icdt/DongT92 conf/vldb/DenninghoffV91 conf/pods/DenninghoffV93 ... ... books/acm/kim95/DayalHW95 ... conf/pods/EiterGM94 conf/pods/Escobar-MolanoHJ93 ... books/el/leeuwen90/Emerson90 books/bc/ElmasriN89 ... conf/icse/Eswaran76 conf/sigmod/EpsteinSW78 ... ... conf/vldb/Fagin77 journals/tods/Fagin77 conf/sigmod/Fagin79 journals/tods/Fagin81 journals/ipl/FaginV83 journals/jacm/Fagin82 journals/jacm/Fagin83 journals/tcs/Fagin93 books/sp/kimrb85/FurtadoC85 ... journals/jlp/Fitting85a journals/tcs/FischerJT83 journals/acr/FaginKUV86 conf/icdt/FernandezM92 journals/tods/FaginMU82 conf/vldb/FaloutsosNS91 ... journals/ai/Forgy82 ... conf/sigmod/Freytag87 ... journals/siamcomp/FischerT83 journals/siamcomp/FaginMUY83 conf/pods/FaginUV83 conf/icalp/FaginV84 ... ... ... ... conf/sigmod/GraefeD87 conf/ride/GatziuD94 conf/sigmod/GardarinM86 conf/sigmod/GyssensG88 journals/tcs/GinsburgH83a journals/jacm/GinsburgH86 ... books/bc/tanselCGSS93/Ginsburg93 books/fm/GareyJ79 journals/jacm/GrantJ82 conf/vldb/GehaniJ91 conf/vldb/GhandeharizadehHJCELLTZ93 journals/tods/GhandeharizadehHJ96 conf/vldb/GehaniJS92 ... conf/sigmod/GehaniJS92 ... conf/deductive/GuptaKM92 conf/pods/GurevichL82 conf/iclp/GelfondL88 conf/adbt/77 journals/csur/GallaireMN84 conf/pods/GrahneMR92 conf/sigmod/GuptaMS93 conf/lics/GaifmanMSV87 journals/jacm/GaifmanMSV93 journals/jacm/GrahamMV86 conf/csl/GradelO92 ... conf/pods/Gottlob87 conf/pods/GyssensPG90 conf/dood/GiannottiPSZ91 books/aw/GoldbergR83 journals/acr/GrahneR86 journals/ipl/Grant77 ... journals/iandc/Grandjean83 conf/vldb/Grahne84 ... journals/csur/Graefe93 books/sp/Greibach75 journals/tods/GoodmanS82 journals/jcss/GoodmanS84 conf/focs/GurevichS85 ... conf/pods/GrumbachS94 conf/sigmod/GangulyST90 ... journals/tcs/Gunter92 ... ... ... ... conf/pods/GrahamV84 conf/pods/GrumbachV91 conf/icde/GardarinV92 conf/sigmod/GraefeW89 ... journals/jacm/GinsburgZ82 conf/vldb/GottlobZ88 ... ... journals/sigmod/Hanson89 ... journals/cacm/Harel80 journals/tkde/HaasCLMWLLPCS90 conf/lics/Hella92 journals/iandc/Herrmann95 conf/pods/HirstH93 conf/vldb/HullJ91 conf/ewdw/HullJ90 journals/csur/HullK87 journals/tods/HudsonK89 conf/lics/HillebrandKM93 conf/nato/HillebrandKR93 conf/jcdkb/HsuLM88 journals/ipl/HoneymanLY80 journals/tods/HammerM81 conf/adbt/HenschenMN82 ... journals/jacm/HenschenN84 journals/jacm/Honeyman82 conf/sigmod/HullS89 conf/pods/HullS89 journals/acta/HullS94 journals/jcss/HullS93 conf/fodo/HullTY89 journals/jcss/Hull83 journals/jacm/Hull84 journals/tcs/Hull85 journals/siamcomp/Hull86 ... conf/vldb/Hulin89 ... journals/jacm/HullY84 conf/vldb/HullY90 conf/pods/HullY91 conf/sigmod/IoannidisK90 journals/jcss/ImielinskiL84 conf/adbt/Imielinski82 journals/jcss/Immerman82 journals/iandc/Immerman86 ... journals/siamcomp/Immerman87 conf/pods/ImielinskiN88 conf/vldb/IoannidisNSS92 conf/sigmod/ImielinskiNV91 conf/dood/ImielinskiNV91 conf/vldb/Ioannidis85 journals/jacm/Jacobs82 conf/dbpl/JacobsH91 journals/csur/JarkeK84 journals/jcss/JohnsonK84 conf/popl/JaffarL87 books/el/leeuwen90/Johnson90 journals/jacm/Joyner76 conf/pods/JaeschkeS82 ... books/mk/minker88/Kanellakis88 books/el/leeuwen90/Kanellakis90 conf/oopsla/KhoshafianC86 conf/edbt/KotzDM88 conf/jcdkb/Keller82 conf/pods/Keller85 journals/computer/Keller86 ... journals/tods/Kent79 ... journals/ngc/RohmerLK86 conf/tacs/KanellakisG94 conf/jcdkb/Kifer88 conf/pods/KanellakisKR90 conf/sigmod/KiferKS92 ... conf/icdt/KiferL86 books/aw/KimL89 ... journals/tods/Klug80 journals/jacm/Klug82 journals/jacm/Klug88 journals/jacm/KiferLW95 conf/kr/KatsunoM91 journals/ai/KatsunoM92 conf/jcdkb/KrishnamurthyN88 journals/csur/Knight89 ... journals/iandc/Kolaitis91 journals/ai/Konolige88 conf/ifip/Kowalski74 journals/jacm/Kowalski75 conf/bncod/Kowalski84 conf/vldb/KoenigP81 journals/tods/KlugP82 ... conf/pods/KolaitisP88 conf/pods/KiferRS88 conf/sigmod/KrishnamurthyRS88 books/mg/SilberschatzK91 conf/iclp/KempT88 conf/sigmod/KellerU84 conf/dood/Kuchenhoff91 ... journals/jlp/Kunen87 conf/iclp/Kunen88 conf/pods/Kuper87 conf/pods/Kuper88 conf/ppcp/Kuper93 conf/pods/KuperV84 conf/stoc/KolaitisV87 journals/tcs/KarabegV90 journals/iandc/KolaitisV90 conf/pods/KolaitisV90 journals/tods/KarabegV91 journals/iandc/KolaitisV92 journals/tcs/KuperV93 journals/tods/KuperV93 journals/tse/KellerW85 conf/pods/KiferW89 conf/jcdkb/Lang88 books/el/Leeuwen90 ... journals/jcss/Leivant89 ... journals/iandc/Leivant90 ... conf/db-workshops/Levesque82 journals/ai/Levesque84 conf/mfdbs/Libkin91 conf/er/Lien79 journals/jacm/Lien82 books/mk/minker88/Lifschitz88 ... journals/tcs/Lindell91 journals/tods/Lipski79 journals/jacm/Lipski81 journals/tcs/LeratL86 journals/cj/LeveneL90 books/sp/Lloyd87 conf/pods/LakshmananM89 conf/tlca/LeivantM93 conf/sigmod/LaverMG83 conf/pods/LiptonN90 journals/jcss/LucchesiO78 conf/sigmod/Lohman88 ... conf/ijcai/Lozinskii85 books/ph/LewisP81 ... conf/sigmod/LecluseRV88 journals/is/LipeckS87 journals/jlp/LloydST87 journals/tods/LingTK81 conf/sigmod/LyngbaekV87 conf/dood/LefebvreV89 conf/pods/LibkinW93 conf/dbpl/LibkinW93 journals/jacm/Maier80 books/cs/Maier83 ... conf/vldb/Makinouchi77 conf/icalp/Makowsky81 ... conf/icdt/Malvestuto86 conf/aaai/MacGregorB92 journals/tods/MylopoulosBW80 conf/sigmod/McCarthyD89 journals/csur/MishraE92 conf/sigmod/MumickFPR90 books/mk/Minker88 journals/jlp/Minker88 conf/vldb/MillerIR93 journals/is/MillerIR94 journals/iandc/Mitchell83 conf/pods/Mitchell83 conf/vldb/MendelzonM79 journals/tods/MaierMS79 journals/jcss/MaierMSU80 conf/pods/MendelzonMW94 journals/debu/MorrisNSUG87 journals/ai/Moore85 conf/vldb/Morgenstern83 conf/pods/Morris88 ... conf/pods/MannilaR85 ... journals/jlp/MinkerR90 books/aw/MannilaR92 journals/acr/MaierRW86 ... journals/tods/MarkowitzS92 conf/pods/Marchetti-SpaccamelaPS87 journals/jacm/MaierSY81 conf/iclp/MorrisUG86 journals/tods/MaierUV84 conf/iclp/MorrisUG86 journals/acta/MakowskyV86 books/bc/MaierW88 books/mk/minker88/ManchandraW88 conf/pods/Naughton86 conf/sigmod/NgFS91 ... conf/vldb/Nejdl87 conf/adbt/NicolasM77 conf/sigmod/Nicolas78 journals/acta/Nicolas82 conf/ds/76 conf/pods/NaqviK88 journals/tods/NegriPS91 conf/vldb/NaughtonRSU89 conf/pods/NaughtonS87 ... ... conf/vldb/Osborn79 ... journals/tods/OzsoyogluY87 conf/adbt/Paige82 ... books/cs/Papadimitriou86 ... journals/ipl/Paredaens78 ... books/sp/ParedaensBGG89 journals/ai/Andersen91 books/el/leeuwen90/Perrin90 journals/ins/Petrov89 conf/pods/ParedaensG88 conf/pods/PatnaikI94 conf/adbt/ParedaensJ79 journals/csur/PeckhamM88 ... ... conf/sigmod/ParkerP80 ... conf/iclp/Przymusinski88 conf/pods/Przymusinski89 ... conf/vldb/ParkerSV92 conf/aaai/PearlV87 journals/ai/PereiraW80a conf/pods/PapadimitriouY92 journals/tkde/QianW91 ... journals/jlp/Ramakrishnan91 conf/pods/RamakrishnanBS87 ... conf/adbt/Reiter77 journals/ai/Reiter80 conf/db-workshops/Reiter82 journals/jacm/Reiter86 journals/tods/Rissanen77 conf/mfcs/Rissanen78 conf/pods/Rissanen82 ... journals/ngc/RohmerLK86 journals/jacm/Robinson65 ... conf/pods/Ross89 ... ... conf/sigmod/RoweS79 conf/sigmod/RichardsonS91 journals/debu/RamamohanaraoSBPNTZD87 conf/vldb/RamakrishnanSS92 conf/sigmod/RamakrishnanSSS93 conf/pods/RamakrishnanSUV89 journals/jcss/RamakrishnanSUV93 journals/jlp/RamakrishnanU95 conf/sigmod/SelingerACLP79 conf/sigmod/Sagiv81 journals/tods/Sagiv83 books/mk/minker88/Sagiv88 conf/slp/Sagiv90 conf/sigmod/Sciore81 journals/jacm/Sciore82 conf/pods/Sciore83 journals/acr/Sciore86 journals/jacm/SagivDPF81 conf/pods/X89 ... journals/ai/SmithG85 books/mk/minker88/Shepherdson88 journals/tods/Shipman81 conf/pods/Shmueli87 conf/iclp/SekiI88 conf/sigmod/ShmueliI84 journals/tc/Sickel76 journals/jsc/Siekmann89 conf/sigmod/StonebrakerJGP90 conf/vldb/SimonKM92 journals/csur/ShethL90 conf/pods/SeibL91 conf/sigmod/SuLRD93 conf/adbt/SilvaM79 journals/sigmod/Snodgrass90 journals/sigmod/Soo91 conf/pods/SuciuP94 conf/sigmod/StonebrakerR86 conf/slp/SudarshanR93 conf/pods/SagivS86 journals/cacm/Stonebraker81 books/mk/Stonebraker88 journals/tkde/Stonebraker92 books/aw/Stroustrup91 journals/jacm/SadriU82 conf/vldb/Su91 conf/pods/SagivV89 journals/jacm/SagivW82 journals/tods/StonebrakerWKH76 journals/jacm/SagivY80 conf/pods/SaccaZ86 journals/tcs/SaccaZ88 ... conf/pods/SaccaZ90 ... ... books/bc/TanselCGJSS93 ... journals/acr/ThomasF86 ... ... ... ... journals/tcs/Topor87 ... books/mk/minker88/ToporS88 ... journals/siamcomp/TarjanY84 journals/csur/TeoreyYF86 journals/algorithmica/UllmanG88 conf/pods/Ullman82 books/cs/Ullman82 journals/tods/Ullman85 books/cs/Ullman88 conf/pods/Ullman89 books/cs/Ullman89 conf/sigmod/Gelder86 ... conf/pods/BusscheG92 conf/focs/BusscheGAG92 conf/pods/BusscheP91 conf/slp/Gelder86 conf/pods/Gelder89 conf/pods/GelderRS88 journals/jacm/GelderRS91 journals/tods/GelderT91 journals/ipl/Vardi81 conf/stoc/Vardi82 conf/focs/Vardi82 journals/acta/Vardi83 journals/jcss/Vardi84 conf/pods/Vardi85 conf/pods/Vardi86 journals/jcss/Vardi86 ... conf/pods/Vardi88 conf/sigmod/Vassiliou79 ... ... journals/jacm/EmdenK76 conf/nf2/SchollABBGPRV87 journals/jacm/Vianu87 journals/acta/Vianu87 conf/eds/Vieille86 conf/iclp/Vieille87 ... conf/eds/Vieille88 journals/tcs/Vieille89 ... journals/tcs/VianuV92 conf/sigmod/WidomF90 conf/icde/WangH92 conf/pos/WidjojoHW90 journals/computer/Wiederhold92 conf/pods/Wilkins86 conf/pods/Winslett88 conf/sigmod/WolfsonO90 conf/pods/Wong93 conf/sigmod/WolfsonS88 journals/ibmrd/WangW75 journals/tods/WongY76 conf/vldb/Yannakakis81 journals/csur/YuC84 ... journals/jcss/YannakakisP82 ... journals/tods/Zaniolo82 journals/jcss/Zaniolo84 ... conf/edbt/ZhouH90 journals/ibmsj/Zloof77 books/mk/ZdonikM90 db/books/dbtext/abiteboul95.html
+books/aw/Lamport86:LaTeX  User's Guide & Reference Manual:Leslie Lamport:2002-01-03 Addison-Wesley 1986 0-201-15790-X
+books/aw/AhoHU74:The Design and Analysis of Computer Algorithms.:Alfred V. Aho John E. Hopcroft Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1974 0-201-00029-6
+books/aw/Lamport2002:Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers:Leslie Lamport:2005-07-28 Addison-Wesley 2002 0-3211-4306-X http //research.microsoft.com/users/lamport/tla/book.html
+books/aw/AhoHU83:Data Structures and Algorithms.:Alfred V. Aho John E. Hopcroft Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1983 0-201-00023-7
+books/aw/LewisBK01:Databases and Transaction Processing  An Application-Oriented Approach:Philip M. Lewis Arthur J. Bernstein Michael Kifer:2002-01-03 Addison-Wesley 2001 0-201-70872-8
+books/aw/AhoKW88:The AWK Programming Language:Alfred V. Aho Brian W. Kernighan Peter J. Weinberger:2002-01-03 Addison-Wesley 1988
+books/aw/LindholmY97:The Java Virtual Machine Specification:Tim Lindholm Frank Yellin:2002-01-28 Addison-Wesley 1997 0-201-63452-X
+books/aw/AhoSU86:Compilers  Princiles, Techniques, and Tools.:Alfred V. Aho Ravi Sethi Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1986 0-201-10088-6
+books/aw/Sedgewick83:Algorithms:Robert Sedgewick:2002-01-03 Addison-Wesley 1983 0-201-06672-6
+journals/siamcomp/AspnesW96:Randomized Consensus in Expected O(n log² n) Operations Per Processor.:James Aspnes Orli Waarts:2002-01-03 1024-1044 1996 25 SIAM J. Comput. 5 db/journals/siamcomp/siamcomp25.html#AspnesW96
+conf/focs/AspnesW92:Randomized Consensus in Expected O(n log ^2 n) Operations Per Processor:James Aspnes Orli Waarts:2006-04-25 137-146 conf/focs/FOCS33 1992 FOCS db/conf/focs/focs92.html#AspnesW92
+journals/siamcomp/Bloniarz83:A Shortest-Path Algorithm with Expected Time O(n² log n log* n).:Peter A. Bloniarz:2002-01-03 588-600 1983 12 SIAM J. Comput. 3 db/journals/siamcomp/siamcomp12.html#Bloniarz83
+conf/stoc/Bloniarz80:A Shortest-Path Algorithm with Expected Time O(n^2 log n log ^* n):Peter A. Bloniarz:2006-04-25 378-384 conf/stoc/STOC12 1980 STOC db/conf/stoc/stoc80.html#Bloniarz80
+journals/siamcomp/Megiddo83a:Linear-Time Algorithms for Linear Programming in R³ and Related Problems.:Nimrod Megiddo:2002-01-03 759-776 1983 12 SIAM J. Comput. 4 db/journals/siamcomp/siamcomp12.html#Megiddo83a
+conf/focs/Megiddo82:Linear-Time Algorithms for Linear Programming in R^3 and Related Problems:Nimrod Megiddo:2006-04-25 329-338 conf/focs/FOCS23 1982 FOCS db/conf/focs/focs82.html#Megiddo82
+journals/siamcomp/MoffatT87:An All Pairs Shortest Path Algorithm with Expected Time O(n² log n).:Alistair Moffat Tadao Takaoka:2002-01-03 1023-1031 1987 16 SIAM J. Comput. 6 db/journals/siamcomp/siamcomp16.html#MoffatT87
+conf/focs/MoffatT85:An All Pairs Shortest Path Algorithm with Expected Running Time O(n^2 log n):Alistair Moffat Tadao Takaoka:2006-04-25 101-105 conf/focs/FOCS26 1985 FOCS db/conf/focs/focs85.html#MoffatT85
+conf/icip/SchonfeldL98:VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases.:Dan Schonfeld Dan Lelescu:2002-11-05 123-127 1998 ICIP (3) db/conf/icip/icip1998-3.html#SchonfeldL98
+conf/hicss/SchonfeldL99:VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases ¾ Visual Search Engine.:Dan Schonfeld Dan Lelescu:2002-01-03 1999 HICSS http //computer.org/proceedings/hicss/0001/00013/00013006abs.htm db/conf/hicss/hicss1999-3.html#SchonfeldL99
+journals/corr/abs-0802-2861:Geometric Set Cover and Hitting Sets for Polytopes in $R^3$:Sören Laue:2008-03-03 http //arxiv.org/abs/0802.2861 2008 CoRR abs/0802.2861 db/journals/corr/corr0802.html#abs-0802-2861 informal publication
+conf/stacs/Laue08:Geometric Set Cover and Hitting Sets for Polytopes in R³.:Sören Laue:2008-03-04 2008 STACS 479-490 http //drops.dagstuhl.de/opus/volltexte/2008/1367 conf/stacs/2008 db/conf/stacs/stacs2008.html#Laue08
+journals/iandc/IbarraJCR91:Some Classes of Languages in NC¹:Oscar H. Ibarra Tao Jiang Jik H. Chang Bala Ravikumar:2006-04-25 86-106 Inf. Comput. January 1991 90 1 db/journals/iandc/iandc90.html#IbarraJCR91
+conf/awoc/IbarraJRC88:On Some Languages in NC.:Oscar H. Ibarra Tao Jiang Bala Ravikumar Jik H. Chang:2002-08-06 64-73 1988 conf/awoc/1988 AWOC db/conf/awoc/awoc88.html#IbarraJRC88
+journals/jacm/GalilHLSW87:An O(n³log n) deterministic and an O(n³) Las Vegs isomorphism test for trivalent graphs.:Zvi Galil Christoph M. Hoffmann Eugene M. Luks Claus-Peter Schnorr Andreas Weber:2003-11-20 513-531 1987 34 J. ACM 3 http //doi.acm.org/10.1145/28869.28870 db/journals/jacm/jacm34.html#GalilHLSW87
+conf/focs/GalilHLSW82:An O(n^3 log n) Deterministic and an O(n^3) Probabilistic Isomorphism Test for Trivalent Graphs:Zvi Galil Christoph M. Hoffmann Eugene M. Luks Claus-Peter Schnorr Andreas Weber:2006-04-25 118-125 conf/focs/FOCS23 1982 FOCS db/conf/focs/focs82.html#GalilHLSW82
+journals/jacm/GalilT88:An O(n²(m + n log n)log n) min-cost flow algorithm.:Zvi Galil Éva Tardos:2003-11-20 374-386 1988 35 J. ACM 2 http //doi.acm.org/10.1145/42282.214090 db/journals/jacm/jacm35.html#GalilT88
+conf/focs/GalilT86:An O(n^2 (m + n log n) log n) Min-Cost Flow Algorithm:Zvi Galil Éva Tardos:2006-04-25 1-9 conf/focs/FOCS27 1986 FOCS db/conf/focs/focs86.html#GalilT86
+series/synthesis/2009Weintraub:Jordan Canonical Form  Theory and Practice:Steven H. Weintraub:2009-09-06 Jordan Canonical Form  Theory and Practice http //dx.doi.org/10.2200/S00218ED1V01Y200908MAS006 http //dx.doi.org/10.2200/S00218ED1V01Y200908MAS006 2009 Synthesis Lectures on Mathematics & Statistics Morgan & Claypool Publishers
+series/synthesis/2009Brozos:The Geometry of Walker Manifolds:Miguel Brozos-Vázquez Eduardo García-Río Peter Gilkey Stana Nikcevic Rámon Vázquez-Lorenzo:2009-09-06 The Geometry of Walker Manifolds http //dx.doi.org/10.2200/S00197ED1V01Y200906MAS005 http //dx.doi.org/10.2200/S00197ED1V01Y200906MAS005 2009 Synthesis Lectures on Mathematics & Statistics Morgan & Claypool Publishers
diff --git a/asterix-fuzzyjoin/data/dblp-small/ssjoin.in-000/part-00000 b/asterix-fuzzyjoin/data/dblp-small/ssjoin.in-000/part-00000
new file mode 100644
index 0000000..75f0592
--- /dev/null
+++ b/asterix-fuzzyjoin/data/dblp-small/ssjoin.in-000/part-00000
Binary files differ
diff --git a/asterix-fuzzyjoin/data/dblp-small/ssjoin.out-000/part-00000 b/asterix-fuzzyjoin/data/dblp-small/ssjoin.out-000/part-00000
new file mode 100644
index 0000000..f2dfbd3
--- /dev/null
+++ b/asterix-fuzzyjoin/data/dblp-small/ssjoin.out-000/part-00000
@@ -0,0 +1,2 @@
+73 75 0.522
+65 63 0.500
diff --git a/asterix-fuzzyjoin/data/intarray-bag-small.expected/recordpairs-000/expected.txt b/asterix-fuzzyjoin/data/intarray-bag-small.expected/recordpairs-000/expected.txt
new file mode 100644
index 0000000..919d9f2
--- /dev/null
+++ b/asterix-fuzzyjoin/data/intarray-bag-small.expected/recordpairs-000/expected.txt
@@ -0,0 +1,2 @@
+1:[1, 2, 2, 3]:0.6:2:[2, 3, 2, 4]
+3:[3, 4, 4, 5]:0.6:5:[3, 4, 4, 4]
diff --git a/asterix-fuzzyjoin/data/intarray-bag-small/records.r-000/part-00000 b/asterix-fuzzyjoin/data/intarray-bag-small/records.r-000/part-00000
new file mode 100644
index 0000000..3c469f5
--- /dev/null
+++ b/asterix-fuzzyjoin/data/intarray-bag-small/records.r-000/part-00000
@@ -0,0 +1,2 @@
+1:1 2 2 3
+2:2 3 2 4 
diff --git a/asterix-fuzzyjoin/data/intarray-bag-small/records.r-000/part-00001 b/asterix-fuzzyjoin/data/intarray-bag-small/records.r-000/part-00001
new file mode 100644
index 0000000..a45a826
--- /dev/null
+++ b/asterix-fuzzyjoin/data/intarray-bag-small/records.r-000/part-00001
@@ -0,0 +1,3 @@
+3:3 4 4 5
+4:4 5 6 7
+5:3 4 4 4
diff --git a/asterix-fuzzyjoin/data/intarray-set-small.expected/recordpairs-000/expected.txt b/asterix-fuzzyjoin/data/intarray-set-small.expected/recordpairs-000/expected.txt
new file mode 100644
index 0000000..7c7fc9e
--- /dev/null
+++ b/asterix-fuzzyjoin/data/intarray-set-small.expected/recordpairs-000/expected.txt
@@ -0,0 +1,2 @@
+1:[1, 2, 3]:0.5:2:[2, 3, 4]
+3:[3, 4, 5, 6]:0.6:4:[4, 5, 6, 7]
diff --git a/asterix-fuzzyjoin/data/intarray-set-small/records.r-000/part-00000 b/asterix-fuzzyjoin/data/intarray-set-small/records.r-000/part-00000
new file mode 100644
index 0000000..4bc0bb7
--- /dev/null
+++ b/asterix-fuzzyjoin/data/intarray-set-small/records.r-000/part-00000
@@ -0,0 +1,2 @@
+1:1 2 3
+2:2 3 4
diff --git a/asterix-fuzzyjoin/data/intarray-set-small/records.r-000/part-00001 b/asterix-fuzzyjoin/data/intarray-set-small/records.r-000/part-00001
new file mode 100644
index 0000000..4868b29
--- /dev/null
+++ b/asterix-fuzzyjoin/data/intarray-set-small/records.r-000/part-00001
@@ -0,0 +1,2 @@
+3:3 4 5 6
+4:4 5 6 7
diff --git a/asterix-fuzzyjoin/data/intarray.txt b/asterix-fuzzyjoin/data/intarray.txt
new file mode 100644
index 0000000..5258d1c
--- /dev/null
+++ b/asterix-fuzzyjoin/data/intarray.txt
@@ -0,0 +1,6 @@
+[1, 2, 3]
+[2, 3, 4, 5]
+[-1, 2, -3, 0]
+[5]
+[10, 11]
+[100]
diff --git a/asterix-fuzzyjoin/data/pub-small.expected/recordpairs-000/expected.txt b/asterix-fuzzyjoin/data/pub-small.expected/recordpairs-000/expected.txt
new file mode 100644
index 0000000..02ab24c
--- /dev/null
+++ b/asterix-fuzzyjoin/data/pub-small.expected/recordpairs-000/expected.txt
@@ -0,0 +1,6 @@
+1:books/acm/kim95/AnnevelinkACFHK95:Object SQL - A Language for the Design and Implementation of Object Databases.:Jurgen Annevelink Rafiul Ahad Amelia Carlson Daniel H. Fishman Michael L. Heytens William Kent:2002-01-03 42-68 1995 Modern Database Systems db/books/collections/kim95.html#AnnevelinkACFHK95;0.78571427;1:oai CiteSeerXPSU 10.1.1.39.1830:Object SQL - A Language for the Design and Implementation of Object Databases:Jurgen Annevelink Rafiul Ahad Amelia Carlson Dan Fishman Mike Heytens William Kent:2009-04-13 ly, a function application expression consists of two expressions  a function reference (labelled func_ref in Figure 3 line 2), and an argument (labelled arg). The func_ref expression evaluates to a (generic or specific) function identifier, which may be the same as the function that the expression is a part of, thus allowing recursive function invocations. The expression labelled arg evaluates to an arbitrary object or aggregate object. The semantics of evaluating function applications was discussed in detail in section 2. For example, to set the name of a person, we evaluate the following expression   FunAssign(function name.person) (p1,'John')  In this example, the first expression is itself a function call, applying the function FunAssign to the function name.person (an example of a specific function reference). This returns the oid of the function that sets a person's name, which is subsequently applied to a tuple of two elements, the oid of the person and the new name (a string o... CiteSeerX ACM Press 2009-04-13 2007-11-22 1994 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.1830 http //www.tu-chemnitz.de/~igrdb/docs/OpenODB/osql.ps.gz en 10.1.1.31.2534 10.1.1.28.4658 10.1.1.44.5947 10.1.1.39.199 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+25:books/acm/kim95/RusinkiewiczS95:Specification and Execution of Transactional Workflows.:Marek Rusinkiewicz Amit P. Sheth:2004-03-08 592-620 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#RusinkiewiczS95 1995;0.90909094;88:oai CiteSeerXPSU 10.1.1.43.3839:Specification and Execution of Transactional Workflows:Marek Rusinkiewicz Amit Sheth:2009-04-13 The basic transaction model has evolved over time to incorporate more complex transaction structures  and to selectively modify the atomicity and isolation properties. In this chapter we discuss the application  of transaction concepts to activities that involve coordinated execution of multiple tasks (possibly of  different types) over different processing entities. Such applications are referred to as transactional  workflows. In this chapter we discuss the specification of such workflows and the issues involved in their  execution.  1 What is a Workflow?  Workflows are activities involving the coordinated execution of multiple tasks performed by different processing entities. A task defines some work to be done and can be specified in a number of ways, including a textual description in a file or an email, a form, a message, or a computer program. A processing entity that performs the tasks may be a person or a software system (e.g., a mailer, an application program, a database mana... CiteSeerX ACM Press 2009-04-13 2007-11-22 1995 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.3839 http //lsdis.cs.uga.edu/lib/././download/RS93.ps en 10.1.1.17.1323 10.1.1.59.5051 10.1.1.38.6210 10.1.1.68.7445 10.1.1.109.5175 10.1.1.17.7962 10.1.1.44.7778 10.1.1.112.244 10.1.1.13.7602 10.1.1.102.7874 10.1.1.41.4043 10.1.1.49.5143 10.1.1.41.7252 10.1.1.17.3225 10.1.1.54.7761 10.1.1.55.5255 10.1.1.108.958 10.1.1.35.7733 10.1.1.52.3682 10.1.1.36.1618 10.1.1.45.6317 10.1.1.43.3180 10.1.1.35.8718 10.1.1.44.6365 10.1.1.51.2883 10.1.1.50.9206 10.1.1.6.9085 10.1.1.30.1707 10.1.1.80.6634 10.1.1.49.355 10.1.1.127.3550 10.1.1.35.3562 10.1.1.137.8832 10.1.1.49.4085 10.1.1.41.5506 10.1.1.40.4657 10.1.1.43.2369 10.1.1.40.832 10.1.1.74.5411 10.1.1.90.4428 10.1.1.110.6967 10.1.1.27.2122 10.1.1.15.5605 10.1.1.54.727 10.1.1.49.7512 10.1.1.45.8796 10.1.1.50.5984 10.1.1.53.137 10.1.1.30.3262 10.1.1.28.1680 10.1.1.21.7110 10.1.1.29.3148 10.1.1.57.687 10.1.1.59.5924 10.1.1.46.2812 10.1.1.51.5552 10.1.1.17.7375 10.1.1.40.1598 10.1.1.52.9787 10.1.1.1.3496 10.1.1.50.6791 10.1.1.55.3358 10.1.1.137.7582 10.1.1.118.4127 10.1.1.49.3580 10.1.1.35.5825 10.1.1.46.9382 10.1.1.31.7411 10.1.1.48.5504 10.1.1.55.5163 10.1.1.18.1603 10.1.1.52.8129 10.1.1.1.9723 10.1.1.21.9113 10.1.1.49.7644 10.1.1.52.6646 10.1.1.75.3106 10.1.1.80.2072 10.1.1.55.8770 10.1.1.54.8188 10.1.1.101.7919 10.1.1.104.8176 10.1.1.24.5741 10.1.1.29.4667 10.1.1.4.1055 10.1.1.48.9175 10.1.1.56.792 10.1.1.65.3172 10.1.1.66.5947 10.1.1.73.8532 10.1.1.83.8299 10.1.1.86.8521 10.1.1.87.2402 10.1.1.87.4648 10.1.1.90.5638 10.1.1.91.1709 10.1.1.94.4248 10.1.1.114.511 10.1.1.119.5037 10.1.1.124.7957 10.1.1.49.215 10.1.1.53.7777 10.1.1.53.9711 10.1.1.45.9409 10.1.1.40.8789 10.1.1.43.4845 10.1.1.34.8273 10.1.1.35.4783 10.1.1.28.3176 10.1.1.16.8151 10.1.1.8.9117 10.1.1.58.3449 10.1.1.142.7041 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+3:books/acm/kim95/BreitbartGS95:Transaction Management in Multidatabase Systems.:Yuri Breitbart Hector Garcia-Molina Abraham Silberschatz:2004-03-08 573-591 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#BreitbartGS95 1995;0.6;85:oai CiteSeerXPSU 10.1.1.37.8818:Overview of Multidatabase Transaction Management:Yuri Breitbart Hector Garcia-Molina Avi Silberschatz:2009-06-22 A multidatabase system (MDBS) is a facility that allows users access to data located in multiple autonomous database management systems (DBMSs). In such a system, global transactions are executed under the control of the MDBS. Independently, local transactions are executed under the control of the local DBMSs. Each local DBMS integrated by the MDBS may employ a different transaction management scheme. In addition, each local DBMS has complete control over all transactions (global and local) executing at its site, including the ability to abort at any point any of the transactions executing at its site. Typically, no design or internal DBMS structure changes are allowed in order to accommodate the MDBS. Furthermore, the local DBMSs may not be aware of each other, and, as a consequence, cannot coordinate their actions. Thus, traditional techniques for ensuring transaction atomicity and consistency in homogeneous distributed database systems may not be appropriate for an MDBS environment.... CiteSeerX  2009-06-22 2007-11-22 1992 text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.8818 ftp //ftp.cs.utexas.edu/pub/avi/UT-CS-TR-92-21.PS.Z en 10.1.1.101.8988 10.1.1.130.1772 10.1.1.38.6210 10.1.1.34.3768 10.1.1.36.1275 10.1.1.104.3430 10.1.1.112.244 10.1.1.94.9106 10.1.1.41.4043 10.1.1.49.5143 10.1.1.59.2034 10.1.1.53.875 10.1.1.137.5642 10.1.1.41.8832 10.1.1.21.1100 10.1.1.105.3626 10.1.1.44.773 10.1.1.21.2576 10.1.1.40.6484 10.1.1.144.2713 10.1.1.48.6718 10.1.1.16.6166 10.1.1.40.832 10.1.1.36.2660 10.1.1.30.3087 10.1.1.47.322 10.1.1.17.6532 10.1.1.33.2301 10.1.1.20.4306 10.1.1.47.6258 10.1.1.39.9212 10.1.1.46.4334 10.1.1.71.485 10.1.1.43.1405 10.1.1.49.1308 10.1.1.35.6530 10.1.1.42.5177 10.1.1.54.4068 10.1.1.133.3692 10.1.1.40.4220 10.1.1.48.7743 10.1.1.26.575 10.1.1.107.596 10.1.1.116.3495 10.1.1.33.2074 10.1.1.38.7229 10.1.1.59.4464 10.1.1.103.9562 10.1.1.36.5887 10.1.1.40.9658 10.1.1.53.6783 10.1.1.29.5010 10.1.1.107.876 10.1.1.46.2273 10.1.1.46.3657 10.1.1.49.5281 10.1.1.50.4114 10.1.1.63.3234 10.1.1.79.9607 10.1.1.83.4819 10.1.1.83.4980 10.1.1.84.8136 10.1.1.90.953 10.1.1.90.9785 10.1.1.92.2397 10.1.1.93.8911 10.1.1.94.3702 10.1.1.97.672 10.1.1.98.4604 10.1.1.117.6190 10.1.1.118.4814 10.1.1.130.880 10.1.1.137.1167 10.1.1.51.5111 10.1.1.45.2774 10.1.1.45.9165 10.1.1.40.4684 10.1.1.35.5866 10.1.1.38.3606 10.1.1.29.9166 10.1.1.31.3667 10.1.1.21.7181 10.1.1.33.2343 10.1.1.23.3117 10.1.1.24.7879 10.1.1.18.8936 10.1.1.19.3770 10.1.1.19.5246 10.1.1.12.3293 10.1.1.2.2325 10.1.1.60.116 10.1.1.140.5244 10.1.1.143.3448 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+3:books/acm/kim95/BreitbartGS95:Transaction Management in Multidatabase Systems.:Yuri Breitbart Hector Garcia-Molina Abraham Silberschatz:2004-03-08 573-591 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#BreitbartGS95 1995;0.6;86:oai CiteSeerXPSU 10.1.1.54.6302:Overview of Multidatabase Transaction Management:Yuri Breitbart Hector Garcia-molina Avi Silberschatz:2009-04-12 A multidatabase system (MDBS) is a facility that allows users access to data located in multiple autonomous database management systems (DBMSs). In such a system, global transactions are executed under the control of the MDBS. Independently, local transactions are executed under the control of the local DBMSs. Each local DBMS integrated by the MDBS may employ a different transaction management scheme. In addition, each local DBMS has complete control over all transactions (global and local) executing at its site, including the ability to abort at any point any of the transactions executing at its site. Typically, no design or internal DBMS structure changes are allowed in order to accommodate the MDBS. Furthermore, the local DBMSs may not be aware of each other, and, as a consequence, cannot coordinate their actions. Thus, traditional techniques for ensuring transaction atomicity and consistency in homogeneous distributed database systems may not be appropriate for an MDBS environment.... CiteSeerX  2009-04-12 2007-11-22 1992 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.6302 http //www-db.stanford.edu/pub/papers/multidatabase.ps en 10.1.1.101.8988 10.1.1.130.1772 10.1.1.38.6210 10.1.1.34.3768 10.1.1.36.1275 10.1.1.104.3430 10.1.1.112.244 10.1.1.94.9106 10.1.1.41.4043 10.1.1.49.5143 10.1.1.59.2034 10.1.1.53.875 10.1.1.137.5642 10.1.1.41.8832 10.1.1.21.1100 10.1.1.105.3626 10.1.1.44.773 10.1.1.21.2576 10.1.1.40.6484 10.1.1.144.2713 10.1.1.48.6718 10.1.1.16.6166 10.1.1.40.832 10.1.1.36.2660 10.1.1.30.3087 10.1.1.47.322 10.1.1.17.6532 10.1.1.33.2301 10.1.1.20.4306 10.1.1.47.6258 10.1.1.39.9212 10.1.1.46.4334 10.1.1.71.485 10.1.1.43.1405 10.1.1.49.1308 10.1.1.35.6530 10.1.1.42.5177 10.1.1.54.4068 10.1.1.133.3692 10.1.1.40.4220 10.1.1.48.7743 10.1.1.26.575 10.1.1.107.596 10.1.1.116.3495 10.1.1.33.2074 10.1.1.38.7229 10.1.1.59.4464 10.1.1.103.9562 10.1.1.36.5887 10.1.1.40.9658 10.1.1.53.6783 10.1.1.29.5010 10.1.1.107.876 10.1.1.46.2273 10.1.1.46.3657 10.1.1.49.5281 10.1.1.50.4114 10.1.1.63.3234 10.1.1.79.9607 10.1.1.83.4819 10.1.1.83.4980 10.1.1.84.8136 10.1.1.90.953 10.1.1.90.9785 10.1.1.92.2397 10.1.1.93.8911 10.1.1.94.3702 10.1.1.97.672 10.1.1.98.4604 10.1.1.117.6190 10.1.1.118.4814 10.1.1.130.880 10.1.1.137.1167 10.1.1.51.5111 10.1.1.45.2774 10.1.1.45.9165 10.1.1.40.4684 10.1.1.35.5866 10.1.1.38.3606 10.1.1.29.9166 10.1.1.31.3667 10.1.1.21.7181 10.1.1.33.2343 10.1.1.23.3117 10.1.1.24.7879 10.1.1.18.8936 10.1.1.19.3770 10.1.1.19.5246 10.1.1.12.3293 10.1.1.2.2325 10.1.1.60.116 10.1.1.140.5244 10.1.1.143.3448 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+54:books/aw/kimL89/SteinLU89:A Shared View of Sharing  The Treaty of Orlando.:Lynn Andrea Stein Henry Lieberman David Ungar:2002-01-03 31-48 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#SteinLU89;1.0;91:oai CiteSeerXPSU 10.1.1.55.482:A Shared View of Sharing  The Treaty of Orlando:Lynn Andrea Stein Henry Lieberman David Ungar:2009-04-12 Introduction For the past few years, researchers have been debating the relative merits of object-oriented languages with classes and inheritance as opposed to those with prototypes and delegation. It has become clear that the object-oriented programming language design space is not a dichotomy. Instead, we have identified two fundamental mechanisms---templates and  empathy---and several different independent degrees of freedom for each. Templates create new objects in their own image, providing guarantees about the similarity of group members. Empathy allows an object to act as if it were some other object, thus providing sharing of state and behavior. The Smalltalk-80  TM  language,  1  Actors, Lieberman's Delegation  system, Self, and Hybrid each take differing stands on the forms of templates  1  Smalltalk-80  TM  is a trademark of Par CiteSeerX ACM Press 2009-04-12 2007-11-22 1989 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.482 http //lcs.www.media.mit.edu/people/lieber/Lieberary/OOP/Treaty/Treaty.ps en 10.1.1.26.9545 10.1.1.118.6579 10.1.1.48.69 10.1.1.57.5195 10.1.1.9.570 10.1.1.47.511 10.1.1.127.5320 10.1.1.100.4334 10.1.1.5.3348 10.1.1.39.3374 10.1.1.56.4713 10.1.1.61.2065 10.1.1.27.3015 10.1.1.1.5960 10.1.1.67.5433 10.1.1.31.8109 10.1.1.68.4062 10.1.1.49.3986 10.1.1.122.9331 10.1.1.46.8283 10.1.1.54.5230 10.1.1.16.2055 10.1.1.137.5180 10.1.1.43.5722 10.1.1.68.2105 10.1.1.35.1247 10.1.1.30.1415 10.1.1.7.5014 10.1.1.102.3946 10.1.1.105.6469 10.1.1.26.223 10.1.1.26.8645 10.1.1.35.4104 10.1.1.39.6986 10.1.1.41.7822 10.1.1.42.9056 10.1.1.53.9325 10.1.1.71.1802 10.1.1.76.6993 10.1.1.89.9613 10.1.1.121.5599 10.1.1.122.3737 10.1.1.127.1894 10.1.1.55.5674 10.1.1.37.8260 10.1.1.2.2077 10.1.1.24.5782 10.1.1.19.780 10.1.1.2.4148 10.1.1.2.4173 10.1.1.131.902 10.1.1.30.2927 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+5:books/acm/kim95/DayalHW95:Active Database Systems.:Umeshwar Dayal Eric N. Hanson Jennifer Widom:2002-01-03 434-456 1995 Modern Database Systems db/books/collections/kim95.html#DayalHW95;1.0;98:oai CiteSeerXPSU 10.1.1.49.2910:Active Database Systems:Umeshwar Dayal Eric N. Hanson Jennifer Widom:2009-04-12 In Won Kim editor Modern Database Systems The Object Model Integrating a production rules facility into a database system provides a uniform mechanism for a number of advanced database features including integrity constraint enforcement, derived data maintenance, triggers, alerters, protection, version control, and others. In addition, a database system with rule processing capabilities provides a useful platform for large and efficient knowledge-base and expert systems. Database systems with production rules are referred to as active database systems, and the field of active database systems has indeed been active. This chapter summarizes current work in active database systems  topics covered include active database rule models and languages, rule execution semantics, and implementation issues.  1 Introduction  Conventional database systems are passive  they only execute queries or transactions explicitly submitted by a user or an application program. For many applications, however, it is important to monitor situations of interest, and to ... CiteSeerX ACM Press 2009-04-12 2007-11-22 1994 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.2910 http //www-db.stanford.edu/pub/papers/book-chapter.ps en 10.1.1.17.1323 10.1.1.143.7196 10.1.1.50.3821 10.1.1.51.9946 10.1.1.41.2030 10.1.1.46.2504 10.1.1.52.4421 10.1.1.38.2083 10.1.1.34.661 10.1.1.103.7630 10.1.1.100.9015 10.1.1.97.1699 10.1.1.107.4220 10.1.1.47.9217 10.1.1.133.7157 10.1.1.101.5051 10.1.1.30.9989 10.1.1.53.6941 10.1.1.50.8529 10.1.1.133.4287 10.1.1.50.7278 10.1.1.10.1688 10.1.1.19.8669 10.1.1.44.7600 10.1.1.144.376 10.1.1.44.1348 10.1.1.47.9998 10.1.1.90.4428 10.1.1.108.344 10.1.1.48.9470 10.1.1.53.5472 10.1.1.52.4872 10.1.1.144.4965 10.1.1.31.7578 10.1.1.32.6426 10.1.1.58.6335 10.1.1.85.8052 10.1.1.93.1931 10.1.1.55.4610 10.1.1.21.3821 10.1.1.26.9208 10.1.1.31.4869 10.1.1.48.1833 10.1.1.83.8628 10.1.1.87.9318 10.1.1.90.2195 10.1.1.36.5184 10.1.1.21.1704 10.1.1.53.1733 10.1.1.90.3181 10.1.1.53.6783 10.1.1.52.6151 10.1.1.104.6911 10.1.1.105.1691 10.1.1.21.1984 10.1.1.23.2775 10.1.1.62.5556 10.1.1.68.9063 10.1.1.74.4746 10.1.1.78.5097 10.1.1.84.743 10.1.1.84.904 10.1.1.87.6019 10.1.1.88.3907 10.1.1.89.9631 10.1.1.90.4147 10.1.1.92.365 10.1.1.100.2747 10.1.1.98.5083 10.1.1.98.6663 10.1.1.99.1894 10.1.1.99.8174 10.1.1.133.8073 10.1.1.52.7823 10.1.1.39.5341 10.1.1.35.3458 10.1.1.26.4620 10.1.1.18.8936 10.1.1.19.3694 10.1.1.12.631 10.1.1.48.6394 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
diff --git a/asterix-fuzzyjoin/data/pub-small.expected/ridpairs-000/expected.txt b/asterix-fuzzyjoin/data/pub-small.expected/ridpairs-000/expected.txt
new file mode 100644
index 0000000..0153590
--- /dev/null
+++ b/asterix-fuzzyjoin/data/pub-small.expected/ridpairs-000/expected.txt
@@ -0,0 +1,6 @@
+1 1 0.78571427
+25 88 0.90909094
+3 85 0.6
+3 86 0.6
+54 91 1.0
+5 98 1.0
diff --git a/asterix-fuzzyjoin/data/pub-small.expected/tokens-000/expected.txt b/asterix-fuzzyjoin/data/pub-small.expected/tokens-000/expected.txt
new file mode 100644
index 0000000..d8e0af0
--- /dev/null
+++ b/asterix-fuzzyjoin/data/pub-small.expected/tokens-000/expected.txt
@@ -0,0 +1,597 @@
+¾_1
+1_1
+2_1
+3_1
+3_2
+4_1
+5_1
+6_1
+80_1
+a_1
+a_2
+abiteboul_1
+abraham_1
+active_1
+adds_1
+ahad_1
+ahmed_1
+aho_1
+albert_1
+alfons_1
+alfred_1
+algorithm_1
+algorithms_1
+alistair_1
+all_1
+allen_1
+amelia_1
+amihai_1
+amit_1
+an_1
+an_2
+analysis_1
+and_1
+and_2
+anders_1
+andrea_1
+andreas_1
+andrew_1
+andrews_1
+angelika_1
+anne_1
+annevelink_1
+application_1
+applications_1
+approach_1
+approaches_1
+architecture_1
+aref_1
+arthur_1
+as_1
+aspnes_1
+authorization_1
+awk_1
+b_1
+bala_1
+ballou_1
+based_1
+beech_1
+benchmark_1
+bernstein_1
+better_1
+beyond_1
+bindings_1
+björnerstedt_1
+blakeley_1
+bloniarz_1
+breitbart_1
+bretl_1
+brian_1
+brom_1
+brozos_1
+bruce_1
+c_1
+c_2
+cad_1
+canonical_1
+capability_1
+carey_1
+carlson_1
+cat_1
+catalyst_1
+chang_1
+changing_1
+chien_1
+choi_1
+chou_1
+chow_1
+chris_1
+christer_1
+christodoulakis_1
+christoph_1
+clarence_1
+classes_1
+claus_1
+clement_1
+commercial_1
+common_1
+comparison_1
+compilers_1
+compressed_1
+computer_1
+concepts_1
+concurrency_1
+concurrent_1
+connors_1
+consensus_1
+contents_1
+control_1
+cooperative_1
+cost_1
+cover_1
+craig_1
+critical_1
+critique_1
+d_1
+dale_1
+dan_1
+dan_2
+daniel_1
+darrell_1
+data_1
+database_1
+databases_1
+david_1
+davis_1
+dayal_1
+dbms_1
+dbmss_1
+declarative_1
+decouchant_1
+dennis_1
+design_1
+deterministic_1
+developing_1
+dewitt_1
+diederich_1
+directions_1
+distributed_1
+dittrich_1
+dittrich_2
+do_1
+dominique_1
+donald_1
+du_1
+e_1
+ealities_1
+early_1
+eda_1
+eduardo_1
+edward_1
+eliot_1
+ellis_1
+engine_1
+engineers_1
+enough_1
+environments_1
+epilogue_1
+eric_1
+eugene_1
+éva_1
+execution_1
+exodus_1
+expected_1
+experiences_1
+extended_1
+extending_1
+f_1
+fast_1
+features_1
+fishman_1
+flow_1
+for_1
+for_2
+form_1
+formal_1
+foundations_1
+frame_1
+frank_1
+fred_1
+frederick_1
+from_1
+future_1
+g_1
+gail_1
+gala_1
+galil_1
+garcia_1
+garcía_1
+garza_1
+gemstone_1
+generation_1
+genome_1
+geometric_1
+geometry_1
+gibbs_1
+gilkey_1
+goodman_1
+graham_1
+graphics_1
+graphs_1
+guide_1
+guido_1
+h_1
+h_2
+hanan_1
+hanson_1
+hardware_1
+harold_1
+hasan_1
+hector_1
+henry_1
+heterogeneity_1
+heterogeneous_1
+heytens_1
+hitting_1
+hoch_1
+hoffmann_1
+hong_1
+hopcroft_1
+hsu_1
+hull_1
+hulten_1
+ibarra_1
+implementation_1
+in_1
+indexing_1
+inegration_1
+inequalities_1
+inference_1
+information_1
+ingram_1
+ingres_1
+injun_1
+integrated_1
+interfaces_1
+interoperability_1
+interoperating_1
+introduction_1
+iris_1
+is_1
+isomorphism_1
+issues_1
+its_1
+j_1
+j_2
+j_3
+jack_1
+jacob_1
+james_1
+jason_1
+java_1
+jeffrey_1
+jennifer_1
+jiang_1
+jik_1
+jim_1
+joel_1
+john_1
+jordan_1
+jorge_1
+josé_1
+jurgen_1
+k_1
+kaiser_1
+kelley_1
+kemper_1
+kent_1
+kernighan_1
+kevin_1
+kifer_1
+kim_1
+kim_2
+king_1
+klaus_1
+knuth_1
+kotz_1
+koveos_1
+kowalski_1
+krieger_1
+kyung_1
+l_1
+lamport_1
+landscape_1
+language_1
+languages_1
+las_1
+latex_1
+laue_1
+lawrence_1
+legacy_1
+leichner_1
+lelescu_1
+leonidas_1
+leslie_1
+lewis_1
+lieberman_1
+lindholm_1
+linear_1
+linear_2
+list_1
+lochovsky_1
+log_1
+log_2
+log²_1
+lorenzo_1
+luks_1
+lunt_1
+lyngbæk_1
+lynn_1
+m_1
+m_2
+machine_1
+mahbod_1
+maier_1
+majorization_1
+making_1
+management_1
+manager_1
+managing_1
+manifolds_1
+manual_1
+mapping_1
+marek_1
+marie_1
+mark_1
+marshall_1
+megiddo_1
+meichun_1
+mellender_1
+meng_1
+message_1
+messages_1
+michael_1
+miguel_1
+milton_1
+min_1
+ming_1
+model_1
+models_1
+modern_1
+moerkotte_1
+moffat_1
+molina_1
+monty_1
+moon_1
+moss_1
+motro_1
+multidatabase_1
+multimedia_1
+multiuser_1
+my_1
+n_1
+n_2
+n²_1
+n_3
+n³_1
+n³log_1
+n_4
+nat_1
+nathan_1
+nc_1
+nc¹_1
+neimat_1
+next_1
+nierstrasz_1
+nikcevic_1
+nimrod_1
+nong_1
+nonmonotonic_1
+o_1
+o_2
+object_1
+object_2
+objects_1
+of_1
+of_2
+office_1
+olkin_1
+omg_1
+omiecinski_1
+on_1
+operations_1
+optimizing_1
+oql_1
+orientation_1
+oriented_1
+orion_1
+orlando_1
+orli_1
+oscar_1
+otis_1
+overview_1
+oz_1
+özsu_1
+p_1
+pairs_1
+parallel_1
+part_1
+path_1
+pegasus_1
+penney_1
+per_1
+performance_1
+peter_1
+philip_1
+physical_1
+pogo_1
+polytopes_1
+posc_1
+possibilities_1
+practice_1
+preface_1
+princiles_1
+probabilistic_1
+problems_1
+processing_1
+processor_1
+program_1
+programming_1
+promises_1
+proposal_1
+proteus_1
+query_1
+r_1
+r³_1
+rafi_1
+rafiul_1
+ralph_1
+rámon_1
+randomized_1
+ravi_1
+ravikumar_1
+reality_1
+reference_1
+references_1
+related_1
+relational_1
+representation_1
+requirements_1
+research_1
+resolving_1
+retrieval_1
+reyes_1
+richard_1
+richardson_1
+riegel_1
+río_1
+risch_1
+robert_1
+roger_1
+rowe_1
+rules_1
+running_1
+rusinkiewicz_1
+russinoff_1
+s_1
+samet_1
+scheevel_1
+schema_1
+schematic_1
+schnorr_1
+schonfeld_1
+schuchardt_1
+search_1
+section_1
+sedgewick_1
+semantics_1
+serge_1
+set_1
+sethi_1
+sets_1
+shan_1
+shared_1
+sharing_1
+shekita_1
+sheth_1
+shortest_1
+should_1
+silberschatz_1
+simon_1
+skarra_1
+smalltalk_1
+snodgrass_1
+software_1
+soley_1
+solution_1
+some_1
+sören_1
+spatial_1
+specification_1
+specifying_1
+sql_1
+stana_1
+standard_1
+standards_1
+stanley_1
+stavros_1
+stein_1
+stephen_1
+steve_1
+steven_1
+stonebraker_1
+storage_1
+story_1
+stout_1
+straw_1
+structures_1
+studies_1
+sunit_1
+support_1
+supporting_1
+survey_1
+system_1
+systems_1
+t_1
+tadao_1
+tai_1
+takaoka_1
+tamer_1
+tao_1
+tardos_1
+tarlton_1
+tarlton_2
+techniques_1
+technology_1
+temporal_1
+teresa_1
+test_1
+tex_1
+the_1
+theory_1
+thompson_1
+tim_1
+time_1
+title_1
+tla_1
+to_1
+tom_1
+tomlinson_1
+tools_1
+tore_1
+tracking_1
+transaction_1
+transactional_1
+transactions_1
+treaty_1
+trivalent_1
+tsichritzis_1
+ullman_1
+umeshwar_1
+uncerainty_1
+ungar_1
+unisql_1
+user_1
+v_1
+vázquez_1
+vázquez_2
+vegs_1
+version_1
+vianu_1
+victor_1
+video_1
+view_1
+vincent_1
+virtual_1
+visual_1
+vortex_1
+w_1
+w_2
+waarts_1
+walid_1
+walker_1
+wand_1
+waqar_1
+war_1
+weber_1
+weimin_1
+weinberger_1
+weintraub_1
+weiser_1
+weiyi_1
+where_1
+widom_1
+wilkinson_1
+william_1
+williams_1
+williams_2
+with_1
+woelk_1
+won_1
+workflows_1
+yair_1
+yellin_1
+yu_1
+yuri_1
+zdonik_1
+zvi_1
diff --git a/asterix-fuzzyjoin/data/pub-small/csx-small-id.txt b/asterix-fuzzyjoin/data/pub-small/csx-small-id.txt
new file mode 100644
index 0000000..78fb816
--- /dev/null
+++ b/asterix-fuzzyjoin/data/pub-small/csx-small-id.txt
@@ -0,0 +1,100 @@
+1:oai CiteSeerXPSU 10.1.1.39.1830:Object SQL - A Language for the Design and Implementation of Object Databases:Jurgen Annevelink Rafiul Ahad Amelia Carlson Dan Fishman Mike Heytens William Kent:2009-04-13 ly, a function application expression consists of two expressions  a function reference (labelled func_ref in Figure 3 line 2), and an argument (labelled arg). The func_ref expression evaluates to a (generic or specific) function identifier, which may be the same as the function that the expression is a part of, thus allowing recursive function invocations. The expression labelled arg evaluates to an arbitrary object or aggregate object. The semantics of evaluating function applications was discussed in detail in section 2. For example, to set the name of a person, we evaluate the following expression   FunAssign(function name.person) (p1,'John')  In this example, the first expression is itself a function call, applying the function FunAssign to the function name.person (an example of a specific function reference). This returns the oid of the function that sets a person's name, which is subsequently applied to a tuple of two elements, the oid of the person and the new name (a string o... CiteSeerX ACM Press 2009-04-13 2007-11-22 1994 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.1830 http //www.tu-chemnitz.de/~igrdb/docs/OpenODB/osql.ps.gz en 10.1.1.31.2534 10.1.1.28.4658 10.1.1.44.5947 10.1.1.39.199 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+2:oai CiteSeerXPSU 10.1.1.1.1483:Candidate high myopia loci on chromosomes 18p and 12q do not play a major role in susceptibility to common myopia:Grace Ibay Betty Doan Lauren Reider Debra Dana Melissa Schlifka Heping Hu Taura Holmes Jennifer O'Neill Robert Owens Elise Ciner Joan Bailey-Wilson Dwight Stambolian:2009-05-24 Background  To determine whether previously reported loci predisposing to nonsyndromic high myopia show linkage to common myopia in pedigrees from two ethnic groups  Ashkenazi Jewish and Amish. We hypothesized that these high myopia loci might exhibit allelic heterogeneity and be responsible for moderate /mild or common myopia.  Methods  Cycloplegic and manifest refraction were performed on 38 Jewish and 40 Amish families. Individuals with at least -1.00 D in each meridian of both eyes were classified as myopic. Genomic DNA was genotyped with 12 markers on chromosomes 12q21-23 and 18p11.3. Parametric and nonparametric linkage analyses were conducted to determine whether susceptibility alleles at these loci are important in families with less severe, clinical forms of myopia.  Results  There was no strong evidence of linkage of common myopia to these candidate regions  all two-point and multipoint heterogeneity LOD scores were < 1.0 and non-parametric linkage p-values were > 0.01. However, one Amish family showed slight evidence of linkage (LOD>1.0) on 12q  another 3 Amish families each gave LOD >1.0 on 18p  and 3 Jewish families each gave LOD >1.0 on 12q.  Conclusions  Significant evidence of linkage (LOD> 3) of myopia was not found on chromosome 18p or 12q loci in these families. These results suggest that these loci do not play a major role in the causation of common myopia in our families studied. CiteSeerX  2009-05-24 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1483 http //www.biomedcentral.com/content/pdf/1471-2350-5-20.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+3:oai CiteSeerXPSU 10.1.1.1.1484:Winner-Take-All Network Utilising Pseudoinverse Reconstruction Subnets Demonstrates Robustness on the Handprinted Character Recognition Problem:J. Körmendy-rácz S. Szabó J. Lörincz G. Antal G. Kovács A. Lörincz:2009-05-24 Correspondence and offprint requests to J. Kormendy-Rácz Wittmeyer’s pseudoinverse iterative algorithm is formulated  as a dynamic connectionist Data Compression and Reconstruction (DCR) network, and subnets of this type are supplemented by the winner-take-all paradigm. The winner is selected upon the goodness-of-fit of the input reconstruction. The network can be characterised as a competitive-cooperative-competitive architecture by virtue of the contrast enhancing properties of the pseudoinverse subnets. The network is capable of fast learning. The adopted learning method gives rise to increased sampling in the vicinity of dubious boundary regions that resembles the phenomenon of categorical perception. The generalising abilities of the scheme allow one to utilise single bit connection strengths. The network is robust against input noise and contrast levels, shows little sensitivity to imprecise connection strengths, and is promising for mixed VLSI implementation with on-chip learning properties. The features of the DCR network are demonstrated on the NIST database of handprinted characters. CiteSeerX Springer 2009-05-24 2007-11-19 1999 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1484 http //people.inf.elte.hu/lorincz/Files/publications/WTA_NCA.pdf en 10.1.1.134.6077 10.1.1.65.2144 10.1.1.54.7277 10.1.1.48.5282 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+4:oai CiteSeerXPSU 10.1.1.1.1485:DEEM  a Tool for the Dependability Modeling and Evaluation:A. Bondavalli I. Mura S. Chiaradonna S. Poli F. Sandrini:2009-05-24 Processes Multiple-Phased Systems, whose operational life can be partitioned in a set of disjoint periods, called ¿phases¿  include several classes of systems such as Phased Mission Systems and Scheduled Maintenance Systems. Because of their deployment in critical applications, the dependability modeling and analysis of Multiple-Phased Systems is a task of primary relevance. However, the phased behavior makes the analysis of Multiple-Phased Systems extremely complex. This paper is centered on the description and application of DEEM, a dependability modeling and evaluation tool for Multiple Phased Systems. DEEM supports a powerful and efficient methodology for the analytical dependability modeling and evaluation of Multiple Phased Systems, based on Deterministic and Stochastic Petri Nets and on Markov Regenerative Processes. CiteSeerX IEEE Computer Society 2009-05-24 2007-11-19 2000 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1485 http //bonda.cnuce.cnr.it/Documentation/Papers/file-BMCFPS00-DSN2000-76.pdf en 10.1.1.47.2594 10.1.1.58.2039 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+5:oai CiteSeerXPSU 10.1.1.1.1486:Dynamical networks in function dynamics:Naoto Kataoka Kunihiko Kaneko:2009-05-24 Function dynamics Iterated map Self-reference Dynamical network As a first step toward realizing a dynamical system that evolves while spontaneously determining its own rule for time evolution, function dynamics (FD) is analyzed. FD consists of a functional equation with a self-referential term, given as a dynamical system of a one-dimensional map. Through the time evolution of this system, a dynamical graph (a network) emerges. This graph has three interesting properties  (i) vertices appear as stable elements, (ii) the terminals of directed edges change in time, and (iii) some vertices determine the dynamics of edges, and edges determine the stability of the vertices, complementarily. Two aspects of FD are studied, the generation of a graph (network) structure and the dynamics of this graph (network) in the system. CiteSeerX  2009-05-24 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1486 http //chaos.c.u-tokyo.ac.jp/others/kataoka03.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+6:oai CiteSeerXPSU 10.1.1.1.1487:Simulation  Prototyping:Ingolf Ståhl:2009-04-24 A simulation model is successful if it leads to policy action, i.e., if it is implemented. Studies show that for a model to be implemented, it must have good correspondence with the mental model of the system held by the user of the model. The user must feel confident that the simulation model corresponds to this mental model. An understanding of how the model works is required. Simulation models for implementation must be developed step by step, starting with a simple model, the simulation prototype. After this has been explained to the user, a more detailed model can be developed on the basis of feedback from the user. Software for simulation prototyping is discussed, e.g., with regard to the ease with which models and output can be explained and the speed with which small models can be written. CiteSeerX  2009-04-24 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1487 http //www.informs-cs.org/wsc02papers/073.pdf en 10.1.1.17.7647 10.1.1.134.3230 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+7:oai CiteSeerXPSU 10.1.1.1.1488:Hedging beyond duration and convexity:Jian Chen Michael C. Fu:2009-05-24 Hedging of fixed income securities remains one of the most challenging problems faced by financial institutions. The predominantly used measures of duration and convexity do not completely capture the interest rate risks borne by the holder of these securities. Using historical data for the entire yield curve, we perform a principal components analysis and find that the first four factors capture over 99.99% of the yield curve variation. Incorporating these factors into the pricing of arbitrary fixed income securities via Monte Carlo simulation, we derive perturbation analysis (PA) estimators for the price sensitivities with respect to the factors. Computational results for mortgage-backed securities (MBS) indicate that using these sensitivity measures in hedging provides far more protection against interest risk exposure than the conventional measures of duration and convexity. CiteSeerX  2009-05-24 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1488 http //www.informs-cs.org/wsc02papers/218.pdf en 10.1.1.113.9305 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+8:oai CiteSeerXPSU 10.1.1.1.1489:Designing for social friction  Exploring ubiquitous computing as means of cultural interventions in urban space:Rune Huvendick Jensen Tau Ulv Lenskjold:2009-05-24 everyday life urban space Situationism As ubiquitous computing emerges in our lives and cities new opportunities for artistic and otherwise cultural interventions in urban space follow, but so far not much work has been done in order to articulate the socio-cultural significance of these new opportunities. This paper is part of a general attempt to develop a coherent understanding of the implications and potentials of ubiquitous computing in the context of everyday city life. On a more specific level the paper examines how the notion of social friction can be helpful in the development and analysis of ubiquitous computing in relation to art and design. Social friction is articulated as a critical position, which could be applied as a strategy for design. Our approach consists of a theoretical analysis and precedes concrete development and real-life experiments. As such the paper aims to establish a steppingstone from which to launch actual digital designs. We argue that by designing for the social friction, which is an intrinsic characteristic of everyday life, new forms of social and cultural potentials can be released. By means of discussing CityNova, a vision for a possible use of ubiquitous computing in urban space, we explore how this approach might lead to systems that create new ways of experiencing the city. CiteSeerX  2009-05-24 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1489 http //asp.cbs.dk/cade2004/proceedings/fullpapers/7_jensen_final_fullpaper.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+9:oai CiteSeerXPSU 10.1.1.1.1490:Optimal Combination of Number of Taps and Coefficient Bit-Width for Low Power FIR Filter Realization:João Portela Eduardo Costa José Monteiro:2009-05-24 This paper addresses the optimization of FIR filters for low power. We propose a search algorithm to find the combination of the number of taps and coe#cient bit-width that leads to the minimum number of total partial sums, and hence to the least power consumption. We show that the minimum number of taps does not necessarily lead to the least power consumption in fully parallel FIR filter architectures. This is particularly true if the reduction of the bit-width of the coe#cients is taken into account. We show that power is directly related to the total number of partial sums in the FIR filter, which in turn is determined by the number of bits set to 1 in the coe#cients. We have developed a search algorithm that achieves up to 36% less power consumption when compared to an implementation using the minimum number of taps. CiteSeerX  2009-05-24 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1490 http //tahoe.inesc-id.pt/pt/Ficheiros/1188.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+10:oai CiteSeerXPSU 10.1.1.1.1491:The Influence of a Course on Direct and Activating Instruction upon Student Teachers' Classroom Practice:Simon Veenman Eddie Denessen Ingrid Van Den Oord Ferdy Naafs:2009-05-24 Educational research has highlighted the importance of maintaining an orderly classroom environment and providing both clear and well-organized instruction tailored to the needs of individual students. Time spent on direct instruction and particularly the direct instruction of basic skills is associated with school learning (Wang, Haertel & Walberg, 1993). With the increased interest in constructivistic conceptions of learning and teaching today, educators with constructivistic orientations contend that various forms of knowledge and skills are applied more generally when constructed by the learners themselves as opposed to explicitly taught  "knowledge is made, not acquired" (Phillips, 2000, p. 7). Such a view nevertheless often leads to an inclination to reject direct instruction by the teacher (see, for example, Brooks & Brooks, 1993). It should be noted, however, that many of the discussions of constructivistic orientations to learning and instruction are at the level of slogan and cliché (Duffy & Cunningham, 1996  Finn & Ravitch, 1996  Kozloff, 1998). In addition, the term constructivism has come to serve as an umbrella term for a diversity of views (Phillips, 1995  2000). CiteSeerX  2009-05-24 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1491 http //www.socsci.kun.nl/ped/owk/onderwijs/cursussen/io242/papers/earli2003_direct_instruction.pdf en 10.1.1.29.1993 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+11:oai CiteSeerXPSU 10.1.1.1.1492:Multiplanar Applications and Multimodal Networks:S. Keshav:2009-05-24 Future applications network architecture We believe that a broad class of future applications will span both the Internet and the telephone network because such multiplanar applications have several economic and architectural advantages over conventional ones. We also envision the close interlinking of the telephone network and the Internet to form a multimodal network. In this paper, we describe these applications and networks, outline their architecture, and present our experiences in constructing a prototype multiplanar application. CiteSeerX  2009-05-24 2007-11-19 1999 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1492 http //www.cs.cornell.edu/skeshav/papers/openarch99.pdf en 10.1.1.17.5614 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+12:oai CiteSeerXPSU 10.1.1.1.1493:Free-Riding and Whitewashing in Peer-to-Peer Systems:Michal Feldman Christos Papadimitriou John Chuang Ion Stoica:2009-05-24 We devise a simple model to study the phenomenon of free-riding and the effect of free identities on user behavior in peer-to-peer systems. At the heart of our model is a strategic user of a certain type, an intrinsic and private parameter that reflects the user's generosity. The user decides whether to contribute or free-ride based on how the current burden of contributing in the system compares to her type. We derive the emerging cooperation level in equilibrium and  quantify the effect of providing free-riders with degraded service on the emerging cooperation. We find that this penalty  mechanism is beneficial mostly when the "generosity level" of the society (i.e., the average type) is low. To quantify the social cost of free identities, we extend the model to account for dynamic scenarios with turnover (users joining and leaving) and with whitewashers  users who strategically leave the system and re-join with a new identity. We find that the imposition of penalty on all legitimate newcomers incurs a significant social loss only under high turnover rates in conjunction with intermediate societal generosity levels. CiteSeerX  2009-05-24 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1493 http //www.dtc.umn.edu/weis2004/feldman.pdf en 10.1.1.18.6611 10.1.1.12.2253 10.1.1.12.6173 10.1.1.11.4846 10.1.1.127.6039 10.1.1.130.2771 10.1.1.30.6376 10.1.1.1.3415 10.1.1.42.1211 10.1.1.15.3743 10.1.1.11.6993 10.1.1.13.9315 10.1.1.12.9564 10.1.1.6.1046 10.1.1.101.3865 10.1.1.112.397 10.1.1.77.6233 10.1.1.76.9348 10.1.1.60.8693 10.1.1.1.3899 10.1.1.84.7582 10.1.1.116.3542 10.1.1.59.9845 10.1.1.119.8132 10.1.1.132.4448 10.1.1.143.2268 10.1.1.60.4396 10.1.1.87.4710 10.1.1.137.696 10.1.1.60.8756 10.1.1.97.1922 10.1.1.105.4069 10.1.1.76.3341 10.1.1.80.5437 10.1.1.93.1336 10.1.1.131.1666 10.1.1.102.2386 10.1.1.108.4119 10.1.1.108.5840 10.1.1.109.7946 10.1.1.66.8436 10.1.1.73.5608 10.1.1.73.5797 10.1.1.75.4852 10.1.1.83.2020 10.1.1.85.8881 10.1.1.87.5160 10.1.1.92.3905 10.1.1.92.5572 10.1.1.95.1197 10.1.1.95.6876 10.1.1.110.4873 10.1.1.111.8663 10.1.1.112.1051 10.1.1.113.5715 10.1.1.113.7254 10.1.1.115.348 10.1.1.120.8054 10.1.1.123.6169 10.1.1.128.7663 10.1.1.129.3166 10.1.1.134.3014 10.1.1.135.98 10.1.1.59.9602 10.1.1.129.9940 10.1.1.141.1032 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+13:oai CiteSeerXPSU 10.1.1.1.1494:A Simple Algorithm for Complete Motion Planning of Translating Polyhedral Robots:Gokul Varadhan Shankar Krishnan T. V. N. Sriram Dinesh Manocha:2009-05-24 We present an algorithm for complete path planning for translating polyhedral robots in 3D. Instead of exactly computing an explicit representation of the free space, we compute a roadmap that captures its connectivity. This representation encodes the complete connectivity of free space and allows us to perform exact path planning. We construct the roadmap by computing deterministic samples in free space that lie on an adaptive volumetric grid. Our algorithm is simple to implement and uses two tests  a complex cell test and a star-shaped test. These tests can be efficiently performed on polyhedral objects using max-norm distance computation and linear programming. The complexity of our algorithm varies as a function of the size of narrow passages in the configuration space. We demonstrate the performance of our algorithm on environments with very small narrow passages or no collision-free paths. CiteSeerX Sage Publications, Inc. 2009-05-24 2007-11-19 2005 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1494 http //www.cs.unc.edu/~varadhan/papers/motion.pdf en 10.1.1.19.3462 10.1.1.20.8539 10.1.1.52.7808 10.1.1.31.1678 10.1.1.34.1071 10.1.1.88.5053 10.1.1.1.3224 10.1.1.66.385 10.1.1.58.2466 10.1.1.76.8798 10.1.1.88.305 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+14:oai CiteSeerXPSU 10.1.1.1.1495:Modeling Ship Arrivals in Ports:Eelco van Asperen Rommert Dekker Mark Polman Henk de Swaan Arons:2009-04-29 The model used in this report focuses on the analysis  of ship waiting statistics and stock fluctuations under different  arrival processes. However, the basic outline is the  same  central to both models are a jetty and accompanying  tankfarm facilities belonging to a new chemical plant in the   Port of Rotterdam. Both the supply of raw materials and   the export of finished products occur through ships loading   and unloading at the jetty. Since disruptions in the plants  production process are very expensive, buffer stock is  needed to allow for variations in ship arrivals and overseas  exports through large ships.   Ports provide jetty facilities for ships to load and unload  their cargo. Since ship delays are costly, terminal operators  attempt to minimize their number and duration. Here, simulation  has proved to be a very suitable tool. However, in port  simulation models, the impact of the arrival process of ships  on the model outcomes tends to be underestimated. This article  considers three arrival processes  stock-controlled,   equidistant per ship type, and Poisson. We assess how their  deployment in a port simulation model, based on data from a  real case study, affects the efficiency of the loading and  unloading process. Poisson, which is the chosen arrival  process in many client-oriented simulations, actually performs worst in terms of both ship delays and required storage capacity. Stock-controlled arrivals perform best with regard to ship delays and required storage capacity.   In the case study two types of arrival processes were  considered. The first type are the so-called stock-controlled  arrivals, i.e., ship arrivals are scheduled in such a way, that  a base stock level is maintained in the tanks. Given a base  stock level of a raw material or ... CiteSeerX  2009-04-29 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1495 http //www.informs-cs.org/wsc03papers/222.pdf en 10.1.1.17.1837 10.1.1.120.9692 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+15:oai CiteSeerXPSU 10.1.1.1.1496:In Proceedings of the16th IFAC Symposium on Automatic Control in Aerospace, Elsevier Science Ltd, Oxford,:Uk Cognitive Tools Donald Sofge Dennis Perzanowski Marjorie Skubic Magdalena Bugajska J. Gregory Trafton Nicholas Cassimatis Derek Brock William Adams Alan Schultz:2009-04-19 Cognitive Systems Co-operative Control Speech Recognition Natural Language Human-Machine Interface Autonomous Mobile Robots The effective use of humanoid robots in space will depend upon  the efficacy of interaction between humans and robots. The key to  achieving this interaction is to provide the robot with sufficient skills for  natural communication with humans so that humans can interact with the  robot almost as though it were another human. This requires that a number  of basic capabilities be incorporated into the robot, including voice  recognition, natural language, and cognitive tools on-board the robot to  facilitate interaction between humans and robots through use of common  representations and shared humanlike behaviors. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1496 http //www.aic.nrl.navy.mil/~dennisp/ifac.aca.2004.pdf en 10.1.1.13.8248 10.1.1.101.9124 10.1.1.58.5211 10.1.1.99.4007 10.1.1.58.4797 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+16:oai CiteSeerXPSU 10.1.1.1.1497:Exploiting Computer Automation to Improve the Interview Process and Increase Survey Cooperation:Jeffrey C. Moore Jeffrey C. Moore:2009-04-19 burden conversational norms efficiency flow nonresponse/attrition questionnaire design respondent-friendly I. In Couper (2002) outlines the "challenges and opportunities" of recent and stillemerging technological developments on the conduct of survey research. This paper focuses on one such development -- the use of computer-assisted survey instruments in place of paper-andpencil questionnaires -- and it focuses on one particular opportunity which this development presents  the ability to improve efficiency, "flow," and naturalness, and in general make the interview experience a more pleasant one for all participants, while still controlling question wording and sequencing. Moral arguments can be raised in defense of such efforts  the potential for important practical benefits, including improved survey cooperation, lends more mundane but perhaps more potent support. Although the research literature is surprisingly scant, there is some evidence that improved instrument design can reduce nonresponse. A recent effort by the U.S. Census Bureau to redesign the core instrument for the Survey of Income and Program Participation (SIPP) offers additional support. Motivated in large measure by evidence of increasing unit nonresponse and attrition, the primary goal of the SIPP redesign effort was to improve the interview process, and in particular to seek ways to avoid violations of conversational norms (e.g., Grice, 1975). A great many of the SIPP interview process improvements would not have been feasible without the computerization of the survey instrument. This paper briefly summarizes many of the technology-based changes implemented in the SIPP instrument, and briefly describes a set of field experiments used to develop and refine the new procedures and to evaluate their success in achieving SIPP's redesign goals. Keywords  burden, conversational norms, efficiency, flow, nonresponse/... CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1497 http //www.census.gov/srd/papers/pdf/rsm2004-01.pdf en 10.1.1.131.9305 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+17:oai CiteSeerXPSU 10.1.1.1.1499:Performance and Design Evaluation:Of The Raid-Ii Peter M. Chen Edward K. Lee Ann L. Drapeau Ethan L. Miller Srinivasan Seshan Ken Shirriff David A. Patterson Y H. Katz:2009-04-19 RAID-II is a high-bandwidth, networkattached storage server designed and implemented at the University of California at Berkeley. In this paper, we measure the performance of RAID-II and evaluate various architectural decisions made during the design process. We first measure the end-to-end performance of the system to be approximately 20 MB/s for both disk array reads and writes. We then perform a bottleneck analysis by examining the performance of each individual subsystem and conclude that the disk subsystem limits performance. By adding a custom interconnect board with a high-speed memory and bus system and parity engine, we are able to achieve a performance speedup of 8 to 15 over a comparative system using only off-theshelf hardware. CiteSeerX  2009-04-19 2007-11-19 1994 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1499 http //ssrc.cse.ucsc.edu/~elm/Papers/ipps93.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+18:oai CiteSeerXPSU 10.1.1.1.1500:The Marinov Motor, Notional Induction:Without Magnetic Field J. P Wesley:2009-04-19 Introduction  The force of induction F on a charge q is given by  FA=-qtcdd,(1)  where A is the usual magnetic vector potential defined by  A r  rJr  rrc  -  s    ,(2)  where J is the current density. Slowly varying effects are assumed here, where the basic theory may be given as a true relativity theory, involving the separation distance between two charges and its time derivatives.  This force of induction, Eq. (1), yields Faraday's law of electromagnetic induction for the special case of an electromotive force (emf) around a fixed closed loop. In particular,  emf  d  d  d  d  d    '  &  (  0  ) =-  =-  =-    s s s  sF  q  s  tc tc  an  tc  an  A  B    ,(3)  where F is the magnetic flux through the loop.  It is observed in the laboratory that an emf is also induced when =A tc 0 , and the magnetic flux through the loop is changed by moving the loop, so Faraday's law becomes  emf = -      .-(4)  Francisco Mller's (1987) experiments show that induction occurs locally and that the force CiteSeerX  2009-04-19 2007-11-19 2001 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1500 http //redshift.vif.com/JournalFiles/Pre2001/V05NO3PDF/v05n3wes.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+19:oai CiteSeerXPSU 10.1.1.1.1501:Biometric Verification Based on Grip-Pattern Recognition:Raymond Veldhuis Asker Bazen Joost Kauffman Pieter Hartel:2009-04-19 Biometric verification likelihood ratio smart gun grip-pattern recognition This paper describes the design, implementation and evaluation of a user-verification system for a smart gun, which is based on grip-pattern recognition. An existing pressure sensor consisting of an array of 44    44 piezoresistive elements is used to measure the grip pattern. An interface has been developed to acquire pressure images from the sensor. The values of the pixels in the pressure-pattern images are used as inputs for a verification algorithm, which is currently implemented in software on a PC. The verification algorithm is based on a likelihoodratio classifier for Gaussian probability densities. First results indicate that it is feasible to use grip-pattern recognition for biometric verification. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1501 http //www.ub.utwente.nl/webdocs/ctit/1/000000f5.pdf en 10.1.1.9.5838 10.1.1.101.5555 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+20:oai CiteSeerXPSU 10.1.1.1.1502:Relativistic Doppler Effect and the Principle of Relativity:W. Engelhardt:2009-04-19 Relativity Doppler Effect Aberration a private address Fasaneriestrasse 8 D-80636 München The frequency shifts predicted by the `relativistic' Doppler  e#ect are derived in the photon picture of light. It turns  out that, in general, the results do not depend exclusively  on the relative velocity between observer and light source. CiteSeerX  2009-04-19 2007-11-19 2003 text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1502 http //redshift.vif.com/JournalFiles/V10NO4PDF/V10N4ENG.PDF en 10.1.1.58.3335 10.1.1.140.9931 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+21:oai CiteSeerXPSU 10.1.1.1.1503:Differential Association Rule Mining for the Study of Protein-Protein Interaction Networks:Christopher Besemann Anne Denton Ajay Yekkirala Ron Hutchison Marc Anderson:2009-04-19 Protein-protein interactions are of great interest to biologists. A variety of high-throughput techniques have been devised, each of which leads to a separate definition of an interaction network. The concept of differential association rule mining is introduced to study the annotations of proteins in the context of one or more interaction networks. Differences among items across edges of a network are explicitly targeted. As a second step we identify differences between networks that are separately defined on the same set of nodes. The technique of differential association rule mining is applied to the comparison of protein annotations within an interaction network and between different interaction networks. In both cases we were able to find rules that explain known properties of protein interaction networks as well as rules that show promise for advanced study. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1503 http //www.cs.ndsu.nodak.edu/%7Eadenton/publications/BIOKDD040712a.pdf en 10.1.1.40.6984 10.1.1.40.9892 10.1.1.12.6495 10.1.1.13.6963 10.1.1.113.6042 10.1.1.36.2485 10.1.1.10.7611 10.1.1.18.8344 10.1.1.12.7211 10.1.1.32.7066 10.1.1.12.3538 10.1.1.56.7889 10.1.1.12.8995 10.1.1.11.2425 10.1.1.27.9671 10.1.1.21.3747 10.1.1.1.5073 10.1.1.66.4476 10.1.1.67.617 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+22:oai CiteSeerXPSU 10.1.1.1.1504:Combining Adaptive and Deterministic Routing  Evaluation of a Hybrid Router:Dianne Kumar And Dianne Kumar Walid A. Najjar:2009-04-19 This paper reports on the implementation and evaluation ofahybrid routing scheme that combines the advantages of deterministic and adaptive routing. An expanded version of this paper can be found in #1#  In the deterministic, or dimension-ordered, routing algorithm a message is routed along decreasing dimensions with a dimension decrease occurring only when zero hops remain in all higher dimensions. Virtual channels #VCs# are included in the router to avoid deadlock #6#. Deterministic routing can su#er from congestion since only a single path between source and destination can be used CiteSeerX Springer 2009-04-19 2007-11-19 1999 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1504 http //www.cs.ucr.edu/%7Enajjar/papers/canpc99.pdf en 10.1.1.117.7403 10.1.1.80.5595 10.1.1.44.6553 10.1.1.53.4729 10.1.1.22.6577 10.1.1.24.4663 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+23:oai CiteSeerXPSU 10.1.1.1.1505:Towards a More Complete Model of Role:Adrian Baldwin Cheh Goh Cheh Goh:2009-04-19 In order to manage the use of roles for the purpose of access control, it is important to look at attributes beyond the consideration of capability assignment. Fundamentally, a generic attribute description using a constraint-based approach will allow many of the important aspects of role, such as scope, activation and deactivation, to be included. Furthermore, the commonly accepted concept of role hierarchy is challenged from the point of view of subsidiarity in real organisations, with the suggestion that role hierarchy has limited usefulness that does not seem to apply widely. CiteSeerX  2009-04-19 2007-11-19 1998 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1505 http //www.cs.kun.nl/is/Library/./Data/1998/Goh/Towards/1998-Goh-Towards.pdf en 10.1.1.47.3914 10.1.1.26.2311 10.1.1.45.1616 10.1.1.18.5632 10.1.1.103.8527 10.1.1.11.1495 10.1.1.21.1056 10.1.1.18.6290 10.1.1.88.1656 10.1.1.130.4738 10.1.1.57.6574 10.1.1.10.7333 10.1.1.21.3059 10.1.1.76.1573 10.1.1.85.2890 10.1.1.14.6686 10.1.1.59.2363 10.1.1.93.2667 10.1.1.100.3563 10.1.1.105.1864 10.1.1.88.5400 10.1.1.88.7033 10.1.1.90.1790 10.1.1.90.2382 10.1.1.90.3968 10.1.1.91.1743 10.1.1.94.4357 10.1.1.124.6837 10.1.1.130.3601 10.1.1.18.2266 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+24:oai CiteSeerXPSU 10.1.1.1.1506:Target Tracking with Distributed Sensors  The Focus of Attention Problem:V. Isler Sanjeev Khanna J. Spletzer C. J. Taylor Volkan Isler A Camillo J. Taylor A:2009-04-19 In this paper, we consider the problem of assigning sensors to track targets so as to minimize the expected error in the resulting estimation for target locations. Specifically, we are interested in how disjoint pairs of bearing or range sensors can be best assigned to targets in order to minimize the expected error in the estimates. We refer to this as the focus of attention (FOA) problem. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1506 http //www.cis.upenn.edu/%7Eisleri/research/papers/foaCVIU.pdf en 10.1.1.36.8357 10.1.1.18.8488 10.1.1.19.8778 10.1.1.14.3443 10.1.1.58.6802 10.1.1.49.9816 10.1.1.84.4195 10.1.1.144.2859 10.1.1.71.7438 10.1.1.78.7656 10.1.1.126.3811 10.1.1.130.1224 10.1.1.132.8302 10.1.1.58.5357 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+25:oai CiteSeerXPSU 10.1.1.1.1507:Creating an Integrated Computer Assisted Learning and Assessment Experience in the School of European Languages and Cultures at the University of Edinburgh:John Hobbs John Hobbs Marcus Duran Marcus Duran Eh Jx:2009-04-19 In the field of Computer-Aided anything, acronyms abound. They are, after all, useful tools. However, there is a risk that we become constrained by them and, as a result, fail to see beyond them. CiteSeerX  2009-04-19 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1507 http //www.lboro.ac.uk/service/ltd/flicaa/conf2002/pdfs/hobbs_jm.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+26:oai CiteSeerXPSU 10.1.1.1.1508:Web Structure Analysis for Information Mining:Lakshmi Vijjappu Ah-Hwee Ah-hwee Tan Chew-lim Tan:2009-04-19 Our approach to extracting information from the web analyzes the structural content of web pages through exploiting the latent information given by HTML tags. For each specific extraction task, an object model is created consisting of the salient fields to be extracted and the corresponding extraction rules based on a library of HTML parsing functions. We derive extraction rules for both single-slot and multiple-slot extraction tasks which we illustrate through two sample domains. CiteSeerX  2009-04-19 2007-11-19 2001 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1508 http //www.csc.liv.ac.uk/~wda2001/Papers/18_lakshmi_wda2001.pdf en 10.1.1.46.6008 10.1.1.32.8501 10.1.1.51.8159 10.1.1.54.3298 10.1.1.20.8120 10.1.1.36.6286 10.1.1.47.6312 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+27:oai CiteSeerXPSU 10.1.1.1.1509:Bayesian Inference for Transductive Learning of Kernel Matrix Using the Tanner-Wong Data Augmentation Algorithm:Zhihua Zhang Dit-Yan Yeung James T. Kwok:2009-04-19 In kernel methods, an interesting recent development  seeks to learn a good kernel from  empirical data automatically. In this paper,  by regarding the transductive learning  of the kernel matrix as a missing data  problem, we propose a Bayesian hierarchical  model for the problem and devise the  Tanner-Wong data augmentation algorithm  for making inference on the model. The  Tanner-Wong algorithm is closely related to  Gibbs sampling, and it also bears a strong resemblance  to the expectation-maximization  (EM) algorithm. For an e#cient implementation,  we propose a simplified Bayesian hierarchical  model and the corresponding TannerWong  algorithm. We express the relationship  between the kernel on the input space  and the kernel on the output space as a  symmetric-definite generalized eigenproblem. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1509 http //www.cs.ust.hk/~zhzhang/papers/icml04tw.pdf en 10.1.1.133.4884 10.1.1.16.1922 10.1.1.23.6757 10.1.1.37.8662 10.1.1.72.509 10.1.1.71.5318 10.1.1.94.7695 10.1.1.119.4637 10.1.1.102.9977 10.1.1.73.7176 10.1.1.77.7873 10.1.1.112.9663 10.1.1.116.111 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+28:oai CiteSeerXPSU 10.1.1.1.1510:Genetic Improvisation Model - a framework for real-time performance environments:Paul Nemirovsky Richard Watson:2009-04-19 This paper presents the current state in an ongoing development of the Genetic  Improvisation Model (GIM)  a framework for the design of real-time improvisational  systems. The aesthetic rationale for the model is presented, followed by  a discussion of its general principles. A discussion of the Emonic Environment,  a networked system for audiovisual creation built on GIM's principles, follows CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1510 http //www.media.mit.edu/~pauln/research/emonic/docs/evomusart2003.pdf en 10.1.1.46.6615 10.1.1.58.3628 10.1.1.1.4031 10.1.1.57.9915 10.1.1.59.1804 10.1.1.69.8249 10.1.1.90.5797 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+29:oai CiteSeerXPSU 10.1.1.1.1511:Mean-Variance Hedging under Additional:Market Information Frank Frank Thierbach Frank Thierbach:2009-04-19 JEL classification G11 G12 In this paper we analyse the mean-variance hedging approach in an incomplete market under the assumption of additional market information, which is represented by a given, finite set of observed prices of non-attainable contingent claims. Due to no-arbitrage arguments, our set of investment opportunities increases and the set of possible equivalent martingale measures shrinks. Therefore, we obtain a modified mean-variance hedging problem, which takes into account the observed additional market information. Solving this by means of the techniques developed by Gourieroux, Laurent and Pham (1998), we obtain an explicit description of the optimal hedging strategy and an admissible, constrained variance-optimal signed martingale measure, that generates both the approximation price and the observed option prices. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1511 http //www.finasto.uni-bonn.de/papers/mvhedging.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+30:oai CiteSeerXPSU 10.1.1.1.1512:Sis-Prueba:Tool For Rapid Pedro Concejero Cerezo Juan José Rodríguez Soler Daniel Tapias Merino Telefónica Móviles España:2009-04-19 SIS PRUEBA is a software tool to integrate usability and user-centred design principles in the development process of services within Telefnica Mviles Espaa (TME), the largest mobile telecommunications operator in Spain. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1512 http //sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS//Vol-103/concejero-et-al.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+31:oai CiteSeerXPSU 10.1.1.1.1513:Reducing the Computational Load of Energy Evaluations for:Protein Folding Eunice Eunice E. Santos Eugene Santos:2009-04-19 protein folding triangular lattice HP energy model caching reuse evolutionary Predicting the native conformation using computational protein models requires a large number  of energy evaluations even with simplified models such as hydrophobic-hydrophilic (HP)  models. Clearly, energy evaluations constitute a significant portion of computational time. We  hypothesize that given the structured nature of algorithms that search for candidate conformations  such as stochastic methods, energy evaluation computations can be cached and reused,  thus saving computational time and e#ort. In this paper, we present a caching approach and  apply it to 2D triangular HP lattice model. We provide theoretical analysis and prediction of  the expected savings from caching as applied this model. We conduct experiments using a sophisticated  evolutionary algorithm that contains elements of local search, memetic algorithms,  diversity replacement, etc. in order to verify our hypothesis and demonstrate a significant level  1  of savings in computational e#ort and time that caching can provide. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1513 http //excalibur.brc.uconn.edu/Papers/Conference/bibe04-submit.pdf en 10.1.1.53.7409 10.1.1.46.770 10.1.1.10.5827 10.1.1.54.8912 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+32:oai CiteSeerXPSU 10.1.1.1.1514:Human-Robot Interactions in Active Sensor Networks:Alexei Makarenko Tobias Kaupp Ben Grocholsky Hugh Durrant-whyte:2009-04-19 This paper considers the modes of interaction between one or several human operators and an active sensor network -- a fully decentralized network of sensors some or all of which have actuators and are in that sense active. The primary goal of this study is to investigate the conditions under which the human involvement will not jeopardize scalability of the overall system. Two aspects of human-robot interaction are considered  the ways in which the global view of the system may be conveyed to the operators, and how the operators may influence the behavior of the system during the course of its operation. The results of analysis favor peer-topeer information-based interactions between the operators and the network whereby the humans act as extended sensors and communication nodes of the network itself. Experiments on an indoor active sensor network are described. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1514 http //www.grasp.upenn.edu/~bpg/makarenko03_hum_rob_in_asn.pdf en 10.1.1.110.6935 10.1.1.18.2772 10.1.1.70.4661 10.1.1.42.1968 10.1.1.14.7286 10.1.1.123.9637 10.1.1.58.5090 10.1.1.11.6081 10.1.1.58.5988 10.1.1.4.8345 10.1.1.58.4968 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+33:oai CiteSeerXPSU 10.1.1.1.1515:Disjoint Sum of Product Minimization by Evolutionary Algorithms:Nicole Drechsler Mario Hilgemeier Görschwin Fey Rolf Drechsler:2009-04-19 Recently, an approach has been presented to minimize Disjoint Sumof  -Products (DSOPs) based on Binary Decision Diagrams (BDDs). Due  to the symbolic representation of cubes for large problem instances, the  method is orders of magnitude faster than previous enumerative techniques. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1515 http //www.informatik.uni-bremen.de/agra/doc/work/evohot04.pdf en 10.1.1.1.5124 10.1.1.30.5588 10.1.1.29.2722 10.1.1.12.7617 10.1.1.125.1065 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+34:oai CiteSeerXPSU 10.1.1.1.1516:Acta Cryst. (2004). B60, 481489 DOI  10.1107/S0108768104013564 481 Acta Crystallographica Section B:Structural Science Issn Valeria Ferretti A Paola Gilli A Pier Andrea Borea B A Centro Di:2009-04-19 this paper are available from the IUCr electronic archives (Reference  NA5019). Services for accessing these data are described at the back of the journal CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1516 http //journals.iucr.org/b/issues/2004/04/00/na5019/na5019.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+35:oai CiteSeerXPSU 10.1.1.1.1517:The Lattice-Boltzmann Method for Simulating Gaseous Phenomena:Xiaoming Wei Student Member Wei Li Klaus Mueller Arie E. Kaufman:2009-04-19 We present a physically-based, yet fast and simple method to simulate gaseous phenomena. In our approach, the  incompressible Navier-Stokes (NS) equations governing fluid motion have been modeled in a novel way to achieve a realistic  animation. We introduce the Lattice Boltzmann Model (LBM), which simulates the microscopic movement of fluid particles by linear  and local rules on a grid of cells so that the macroscopic averaged properties obey the desired NS equations. The LBM is defined on a  2D or 3D discrete lattice, which is used to solve fluid animation based on different boundary conditions. The LBM simulation generates,  in real-time, an accurate velocity field and can incorporate an optional temperature field to account for the buoyancy force of hot gas. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1517 http //www.cs.sunysb.edu/%7Emueller/papers/smokeTVCG04.pdf en 10.1.1.15.9203 10.1.1.25.5737 10.1.1.17.1966 10.1.1.131.9652 10.1.1.38.7021 10.1.1.23.4545 10.1.1.84.7193 10.1.1.23.5064 10.1.1.6.4632 10.1.1.15.6033 10.1.1.61.3740 10.1.1.104.6696 10.1.1.136.5635 10.1.1.1.2520 10.1.1.72.4834 10.1.1.83.4851 10.1.1.95.5556 10.1.1.110.7589 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+36:oai CiteSeerXPSU 10.1.1.1.1518:Peer-to-Peer Human-Robot Interaction for Space Exploration:Terrence Fong And Terrence Fong Illah Nourbakhsh:2009-04-19 NASA has embarked on a long-term program to develop  human-robot systems for sustained, affordable space exploration. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1518 http //www.ri.cmu.edu/pub_files/pub4/fong_terrence_w_2004_1/fong_terrence_w_2004_1.pdf en 10.1.1.36.6789 10.1.1.2.8285 10.1.1.16.516 10.1.1.6.118 10.1.1.4.2304 10.1.1.99.2775 10.1.1.61.1527 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+37:oai CiteSeerXPSU 10.1.1.1.1519:Survey Taxonomy of Packet Classification Techniques:David Taylor Sa Da Prot Dp Flowid Pt:2009-04-19 Packet classification is an enabling function for a variety of Internet applications including Quality of Service, security, monitoring, and multimedia communications. In order to classify a packet as belonging to a particular flow or set of flows, network nodes must perform a search over a set of filters using multiple fields of the packet as the search key. In general, there have been two major threads of research addressing packet classification  algorithmic and architectural. A few pioneering groups of researchers posed the problem, provided complexity bounds, and offered a collection of algorithmic solutions. Subsequently, the design space has been vigorously explored by many offering new algorithms and improvements upon existing algorithms. Given the inability of early algorithms to meet performance constraints imposed by high speed links, researchers in industry and academia devised architectural solutions to the problem. This thread of research produced the most widely-used packet classification device technology, Ternary Content Addressable Memory (TCAM). New architectural research combines intelligent algorithms and novel architectures to eliminate many of the unfavorable characteristics of current TCAMs. We observe that the community appears to be converging on a combined algorithmic and architectural approach to the problem. Using a taxonomy based on the high-level approach to the problem and a minimal set of running examples, we provide a survey of the seminal and recent solutions to the problem. It is our hope to foster a deeper understanding of the various packet classification techniques while providing a useful framework for discerning relationships and distinctions. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1519 http //www.arl.wustl.edu/Publications/2000-04/wucse-2004-24.pdf en 10.1.1.137.3147 10.1.1.121.1309 10.1.1.13.9939 10.1.1.39.697 10.1.1.24.3532 10.1.1.29.4777 10.1.1.12.3539 10.1.1.112.1058 10.1.1.12.5688 10.1.1.41.4744 10.1.1.41.9413 10.1.1.3.5167 10.1.1.32.9914 10.1.1.105.3710 10.1.1.58.2312 10.1.1.58.5079 10.1.1.13.3703 10.1.1.28.9719 10.1.1.135.9578 10.1.1.6.107 10.1.1.121.8780 10.1.1.133.2753 10.1.1.78.9584 10.1.1.97.442 10.1.1.86.5588 10.1.1.104.4868 10.1.1.108.4619 10.1.1.65.3134 10.1.1.76.3971 10.1.1.77.8580 10.1.1.83.3090 10.1.1.85.8699 10.1.1.89.6993 10.1.1.89.7016 10.1.1.91.9738 10.1.1.94.8479 10.1.1.97.6162 10.1.1.72.6318 10.1.1.126.1241 10.1.1.61.5847 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+38:oai CiteSeerXPSU 10.1.1.1.1520:Friscof Risco:Framework Of Information Eckhard D. Falkenberg Wolfgang Hesse Paul Lindgreen Björn E. Nilsson J. L. Han Oei Colette Rolland Ronald K. Stamper Frans J. M. Van Assche Alexander A. Verrijn-stuart Klaus Voss:2009-04-19 this report, Paul Lindgreen as secretary and as editor of the interim report [Lin90a] CiteSeerX  2009-04-19 2007-11-19 1998 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1520 http //www.cs.kun.nl/is/Library/./Data/1998/Lindgreen/FRISCO/1998-Lindgreen-FRISCO.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+39:oai CiteSeerXPSU 10.1.1.1.1521:Average performance of quasi Monte Carlo methods for global optimization:Hisham A. Al-Mharmah:2009-04-24 In this paper we compare the average performance of one class of low-discrepancy quasi-Monte Carlo sequences for global optimization. Weiner measure is assumed as the probability prior on all optimized functions. We show how to construct van der Corput sequences and we prove their consistency. Numerical experimentation shows that the van der Corput sequence in base 2 has a better average performance. CiteSeerX  2009-04-24 2007-11-19 1998 text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1521 http //www.informs-cs.org/wsc98papers/083.PDF en 10.1.1.22.679 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+40:oai CiteSeerXPSU 10.1.1.1.1522:The Virtual Ms Lyceum  A Consortium For Modeling And Simulation Technology:D. J. Medeiros E. F. Watson J. S. Carson M. S. Manivannan Steven D. Farr Alex F. Sisti:2009-04-19 This paper addresses the opportunity to put into place a virtual consortium for modeling and simulation. While periodic conferences such as the Winter Simulation Conference are tremendously vital to the continued growth of modeling and simulation research, they do not offer the day-to-day technical exchange that can now be made possible with matured collaborative technologies. CiteSeerX  2009-04-19 2007-11-19 1998 text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1522 http //www.informs-cs.org/wsc98papers/228.PDF en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+41:oai CiteSeerXPSU 10.1.1.1.1523:Classification And Regression Trees, Cart - A User Manual For Identifying Indicators Of Vulnerability To Famine And Chronic Food Insecurity:Auser Manualfor Yisehac Yohannes Patrick Webb:2009-04-19 FAMINE AND CHRONIC FOOD INSECURITY YISE HAC YO HAN NES ue, the Netherlands, Norway, the Philippines, the Rockefeller Foundation, the Rural Industries Research and Development Corporation (Australia), South Africa, the Southern African Development Bank, Spain, Sweden, Switzerland, the United Kingdom, the United Nations Children's Fund, the United States, and the World Bank. CLASSIFIC ATION AND REGRESSION TREES, CART^TM  A USER MANUAL FOR IDENTIFYING INDIC A TORS OF VULNERABILITY TO FAMINE AND CHRONIC FOOD INSECURITY YISEHAC YOHANNES PATRICK WEBB MICROCOMPUTERS IN POLICY RESEARCH   INTERNATIONAL FOOD POLICY RESEARCH INSTITUTE  CART is a registered trademark of California Statistical Software, Inc. Copyright 1999 by the International Food Policy Research Institute 2033 K Street, N.W. Washington, D.C. 20006-1002 U.S.A. Library of Congress Cataloging-in-Publication Data available Yohannes, Yisehac Classification and Regression Trees, Cart^TM   A User Manual for Identifying Indicators of Vulnerability to Famine and Chronic Food Insecurity / Yise CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1523 http //www.ifpri.org/pubs/microcom/micro3.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+42:oai CiteSeerXPSU 10.1.1.1.1524:An Approach for Locating Segmentation Points of Handwritten Digit Strings:Using Neural Network:2009-04-19 An approach for segmentation of handwritten touching numeral strings is presented in this paper. A neural network has been designed to deal with various types of touching observed frequently in numeral strings. A numeral string image is split into a number of line segments while stroke extraction is being performed and the segments are represented with straight lines. Four types of primitive are defined based on the lines and used for representing the numeral string in more abstractive way and extracting clues on touching information from the string. Potential segmentation points are located using the neural network by active interpretation of the features collected from the primitives. Also, the run-length coding scheme is employed for efficient representation and manipulation of images. On a test set collected from real mail pieces, the segmentation accuracy of 89.1% was achieved, in image level, in a preliminary experiment. 1. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1524 http //www.csc.liv.ac.uk/%7Eprima/ICDAR2003/Papers/0025_697_kim_g.pdf en 10.1.1.35.2218 10.1.1.44.7527 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+43:oai CiteSeerXPSU 10.1.1.1.1525:An Overview of JML Tools and Applications:Lilian Burdy Yoonsik Cheon David Cok Michael D. Ernst Joe Kiniry Gary T. Leavens K. Rustan M. Leino Erik Poll:2009-04-19 formal specification Java runtime assertion checking static checking The Java Modeling Language (JML) can be used to specify  the detailed design of Java classes and interfaces by adding annotations  to Java source files. The aim of JML is to provide a specification language  that is easy to use for Java programmers and that is supported by a wide  range of tools for specification type-checking, runtime debugging, static  analysis, and verification. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1525 http //www.gemplus.com/smart/r_d/publications/pdf/BCC_03jm.pdf en 10.1.1.137.4260 10.1.1.39.1223 10.1.1.36.9943 10.1.1.29.6183 10.1.1.70.1745 10.1.1.11.2133 10.1.1.17.3839 10.1.1.24.2555 10.1.1.34.8403 10.1.1.52.3873 10.1.1.10.4654 10.1.1.1.6063 10.1.1.16.1895 10.1.1.117.5270 10.1.1.132.7016 10.1.1.1.6522 10.1.1.2.5030 10.1.1.16.800 10.1.1.10.547 10.1.1.13.5473 10.1.1.15.9976 10.1.1.120.795 10.1.1.26.1982 10.1.1.17.1067 10.1.1.2.1207 10.1.1.25.9636 10.1.1.5.8315 10.1.1.1.9075 10.1.1.39.2890 10.1.1.128.9986 10.1.1.1.3304 10.1.1.10.8374 10.1.1.12.442 10.1.1.57.6725 10.1.1.29.9417 10.1.1.5.9229 10.1.1.26.3231 10.1.1.20.6902 10.1.1.17.9620 10.1.1.72.3429 10.1.1.11.8032 10.1.1.11.1854 10.1.1.19.7736 10.1.1.59.4118 10.1.1.11.2494 10.1.1.13.4051 10.1.1.16.1105 10.1.1.19.2169 10.1.1.91.8343 10.1.1.85.6366 10.1.1.103.1977 10.1.1.19.6416 10.1.1.81.714 10.1.1.4.6241 10.1.1.11.2133 10.1.1.10.4654 10.1.1.115.5693 10.1.1.7.4458 10.1.1.5.8315 10.1.1.61.5186 10.1.1.73.5717 10.1.1.57.6725 10.1.1.11.1838 10.1.1.142.2782 10.1.1.137.316 10.1.1.129.1678 10.1.1.126.8052 10.1.1.131.2147 10.1.1.94.1164 10.1.1.83.3189 10.1.1.11.2494 10.1.1.1.6054 10.1.1.142.6301 10.1.1.86.6061 10.1.1.94.7598 10.1.1.122.2974 10.1.1.10.187 10.1.1.126.4427 10.1.1.128.5240 10.1.1.67.8455 10.1.1.131.6019 10.1.1.10.3303 10.1.1.102.4611 10.1.1.59.4566 10.1.1.94.5189 10.1.1.7.2188 10.1.1.143.5200 10.1.1.100.3930 10.1.1.111.4391 10.1.1.68.2636 10.1.1.79.7758 10.1.1.98.2224 10.1.1.101.9229 10.1.1.59.4403 10.1.1.66.8607 10.1.1.71.6156 10.1.1.71.8962 10.1.1.84.1342 10.1.1.89.8541 10.1.1.118.8269 10.1.1.107.6026 10.1.1.4.6869 10.1.1.63.4449 10.1.1.64.1790 10.1.1.80.5390 10.1.1.90.757 10.1.1.98.8827 10.1.1.127.2428 10.1.1.127.6051 10.1.1.138.5310 10.1.1.2.5369 10.1.1.4.3348 10.1.1.61.7073 10.1.1.74.7926 10.1.1.76.6474 10.1.1.91.9916 10.1.1.97.8034 10.1.1.98.2120 10.1.1.110.687 10.1.1.124.6567 10.1.1.142.3205 10.1.1.100.4344 10.1.1.100.8097 10.1.1.100.9852 10.1.1.101.6814 10.1.1.102.5622 10.1.1.104.861 10.1.1.105.5824 10.1.1.107.5138 10.1.1.59.6327 10.1.1.63.562 10.1.1.63.5758 10.1.1.63.7483 10.1.1.64.6885 10.1.1.64.9362 10.1.1.62.3908 10.1.1.119.5350 10.1.1.67.1499 10.1.1.67.5887 10.1.1.67.8572 10.1.1.69.2171 10.1.1.70.1165 10.1.1.70.6538 10.1.1.71.1298 10.1.1.71.698 10.1.1.71.769 10.1.1.71.962 10.1.1.73.1567 10.1.1.74.4934 10.1.1.74.7928 10.1.1.122.2332 10.1.1.76.3519 10.1.1.77.1867 10.1.1.77.2580 10.1.1.77.4182 10.1.1.125.1768 10.1.1.78.7630 10.1.1.62.2614 10.1.1.81.8303 10.1.1.84.3469 10.1.1.84.3675 10.1.1.84.6502 10.1.1.85.2476 10.1.1.85.4887 10.1.1.87.5805 10.1.1.87.9527 10.1.1.89.2433 10.1.1.89.3328 10.1.1.90.1517 10.1.1.90.2534 10.1.1.91.1298 10.1.1.92.1775 10.1.1.93.3743 10.1.1.94.2013 10.1.1.94.7198 10.1.1.95.1658 10.1.1.95.2688 10.1.1.95.3548 10.1.1.97.5430 10.1.1.98.6399 10.1.1.99.8561 10.1.1.111.4564 10.1.1.112.7809 10.1.1.113.6155 10.1.1.113.7814 10.1.1.115.3770 10.1.1.116.5172 10.1.1.117.7484 10.1.1.118.3171 10.1.1.118.3882 10.1.1.124.2718 10.1.1.124.8466 10.1.1.124.8516 10.1.1.126.2574 10.1.1.126.3474 10.1.1.128.5756 10.1.1.130.5902 10.1.1.130.7155 10.1.1.132.319 10.1.1.133.4597 10.1.1.135.7996 10.1.1.138.529 10.1.1.139.275 10.1.1.139.4030 10.1.1.5.4720 10.1.1.58.8470 10.1.1.59.3381 10.1.1.61.4532 10.1.1.140.1484 10.1.1.141.3512 10.1.1.142.4289 10.1.1.142.6329 10.1.1.108.5722 10.1.1.144.1222 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+44:oai CiteSeerXPSU 10.1.1.1.1526:Triage  Performance Isolation and Differentiation for Storage Systems:Magnus Karlsson Christos Karamanolis Xiaoyun Zhu:2009-04-19 Ensuring performance isolation and differentiation among workloads that share a storage infrastructure is a basic requirement in consolidated data centers. Existing management tools rely on resource provisioning to meet performance goals  they require detailed knowledge of the system characteristics and the workloads. Provisioning is inherently slow to react to system and workload dynamics, and in the general case, it is impossible to provision for the worst case. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1526 http //www.hpl.hp.com/research/ssp/papers/2004-06-iwqos-triage.pdf en 10.1.1.16.8551 10.1.1.114.7135 10.1.1.141.1 10.1.1.17.502 10.1.1.28.2128 10.1.1.26.662 10.1.1.13.8238 10.1.1.23.3111 10.1.1.16.7583 10.1.1.17.2232 10.1.1.64.986 10.1.1.65.8781 10.1.1.4.6982 10.1.1.19.1470 10.1.1.1.1904 10.1.1.14.8619 10.1.1.4.4818 10.1.1.75.84 10.1.1.65.3456 10.1.1.129.3204 10.1.1.109.630 10.1.1.113.223 10.1.1.72.2528 10.1.1.59.317 10.1.1.121.3572 10.1.1.119.1641 10.1.1.72.3158 10.1.1.74.8799 10.1.1.79.9021 10.1.1.85.8116 10.1.1.135.7692 10.1.1.104.267 10.1.1.107.2911 10.1.1.62.6629 10.1.1.64.5770 10.1.1.64.9860 10.1.1.65.1125 10.1.1.67.1517 10.1.1.67.2395 10.1.1.72.374 10.1.1.79.5247 10.1.1.79.748 10.1.1.81.5717 10.1.1.83.4762 10.1.1.84.3590 10.1.1.85.6390 10.1.1.89.1736 10.1.1.89.2790 10.1.1.93.7577 10.1.1.94.3072 10.1.1.94.5062 10.1.1.111.7201 10.1.1.113.4918 10.1.1.118.881 10.1.1.123.8174 10.1.1.133.38 10.1.1.134.9068 10.1.1.136.8533 10.1.1.130.7318 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+45:oai CiteSeerXPSU 10.1.1.1.1527:On-line Handwritten Japanese Text Recognition free from Constrains on Line:Direction And Character Masaki Nakagawa Motoki Onuma:2009-04-19 This paper describes an on-line handwritten Japanese text recognition method that is liberated from constraints on writing direction (line direction) and character orientation. This method estimates the line direction and character orientation using the time sequence information of pen-tip coordinates and employs writingbox -free recognition with context processing combined. The method can cope with a mixture of vertical, horizontal and skewed lines with arbitrary character orientations. It is expected useful for tablet PC's, interactive electronic whiteboards and so on. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1527 http //www.csc.liv.ac.uk/%7Eprima/ICDAR2003/Papers/0095_627_masaki_n.pdf en 10.1.1.103.5812 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+46:oai CiteSeerXPSU 10.1.1.1.1528:Data Transformation for Warehousing Web Data:Yan Zhu Christof Yan Zhu Christof Bornhövd Alejandro P. Buchmann:2009-04-19 In order to analyze market trends and make reasonable business plans, a company's local data is not sufficient. Decision making must also be based on information from suppliers, partners and competitors. This external data can be obtained from the Web in many cases, but must be integrated with the company's own data, for example, in a data warehouse. To this end, Web data has to be mapped to the star schema of the warehouse. In this paper we propose a semi-automatic approach to support this transformation process. Our approach is based on the use a rooted labeled tree representation of Web data and the existing warehouse schema. Based on this common view we can compare source and target schemata to identify correspondences. We show how the correspondences guide the transformation to be accomplished automatically. We also explain the meaning of recursion and restructuring in mapping rules, which are the core of the transformation algorithm. CiteSeerX  2009-04-19 2007-11-19 2001 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1528 http //www.cs.kun.nl/is/Library/./Data/2001/Zhu/Data/2001-Zhu-Data.pdf en 10.1.1.122.4181 10.1.1.33.3465 10.1.1.25.1724 10.1.1.24.9229 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+47:oai CiteSeerXPSU 10.1.1.1.1529:Discriminant Projections Embedding for Nearest Neighbor Classification.:Petia Radeva And Petia Radeva Jordi Vitrià:2009-04-19 In this paper we introduce a new embedding technique to  linearly project labeled data samples into a new space where the performance  of a Nearest Neighbor classifier is improved. The approach is  based on considering a large set of simple discriminant projections and  finding the subset with higher classification performance. In order to implement  the feature selection process we propose the use of the adaboost  algorithm. The performance of this technique is tested in a multiclass  classification problem related to the production of cork stoppers for wine  bottles. CiteSeerX Springer Verlag 2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1529 http //www.cvc.uab.es/~jordi/ciarp2004.pdf en 10.1.1.99.3419 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+48:oai CiteSeerXPSU 10.1.1.1.1530:Vowel - Zero Alternations in Czech Prefixes:Tobias Scheer Tobias Scheer Clite E -e:2009-04-19 e inchoative, "up"    p#ed    16    48    "before, in front of"    roz    80    295    inch., "disperse/ break into pieces"    nad    5    33    "over"    pod    26    74    "under"    od    41    253    distantiational movement    sum    195    762        TOTAL        957        (6) the secret must be found in the different status of stem-initial CC-clusters.    (7) stem-initial CCs observed with  a. prefixal-V only +e  b. prefixal - only -e  c. both mix     +e only  17 CCs -e only  38 CCs ct, dn, d#, jm, lstn, mk, pn, ps, rv, #v, sch, sr, v, tn, v#, z#, #r  bl, b#, cl, cv, #l, f#, fr, hl, hm, hv, chl, chrchl, km, kr, k#, kv, m#, mr, pl, pt, sh, sv, k, n, p, r, tl, tr, tv, vd, vr, zbr, zp, zt, #h, #m, ##, #v  mix  35 CCs br, #t, dm, dr, dv, hn, hr, h#, chv, jd, kd, kl, ml, mn, pj, pr, p#, sk, sl, sm, sn, sp, st, l, t, t#, v#, vl, v#, v, vz, zd, zl, zn, zv TOTAL nb CC  90 (8) A given root belongs to one and only one of these three groups. (9)    CC mix represented by how many it CiteSeerX  2009-04-19 2007-11-19 1998 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1530 http //www.unice.fr/dsl/tobweb/papers/ScheerHdtSzeged98.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+49:oai CiteSeerXPSU 10.1.1.1.1531:Automatic Construction of Navigable Concept Networks Characterizing Text Databases:Claudio Carpineto Giovanni Romano Fondazione Ugo Bordoni:2009-04-19 In this paper we present a comprehensive approach to conceptual structuring and intelligent navigation of text databases. Given any collection of texts, we first automatically extract a set of index terms describing each text. Next, we use a particular lattice conceptual clustering method to build a network of clustered texts whose nodes are described using the index terms. We argue that the resulting network supports an hybrid navigational approach to text retrieval - implemented into an actual user interface - that combines browsing potentials with good retrieval performance. We present the results of an experiment on subject searching where this approach outperformed a conventional Boolean retrieval system. CiteSeerX Springer-Verlag 2009-04-19 2007-11-19 1995 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1531 http //search.fub.it/claudio/pdf/AIIA1995.pdf en 10.1.1.21.1806 10.1.1.64.7424 10.1.1.14.7549 10.1.1.26.1391 10.1.1.122.5391 10.1.1.1.4542 10.1.1.50.9283 10.1.1.140.4388 10.1.1.70.980 10.1.1.72.9991 10.1.1.60.2145 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+50:oai CiteSeerXPSU 10.1.1.1.1532:Lawrence S. Brakmo, Deborah A. Wallach, Marc A. Viredaz:Mobile And Media Lawrence S. Brakmo Lawrence S. Brakmo Deborah A. Wallach Deborah A. Wallach Marc A. Viredaz Marc A. Viredaz:2009-04-19 Energy management has become one of the great challenges in portable computing. This is the result of the increasing energy requirements of modern portable devices without a corresponding increase in battery technology.  Sleep is a new energy reduction technique for handheld devices that is most effective when the handheld's processor is lightly loaded, such as when the user is reading a document or looking at a web page. When possible, rather than using the processor's idle mode, Sleep tries to put the processor in sleep mode for short periods (less than one second) without affecting the user's experience. To enhance the perception that the system is on, an image is maintained on the display and activity is resumed as a result of external events such as touch-screen and button activity. We have implemented Sleep on a prototype pocket computer, where it has reduced energy consumption by up to 60%. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1532 http //www.hpl.hp.com/techreports/2004/HPL-2004-11.pdf en 10.1.1.143.7417 10.1.1.39.3266 10.1.1.121.5295 10.1.1.29.6746 10.1.1.31.4277 10.1.1.4.1582 10.1.1.108.8205 10.1.1.36.2109 10.1.1.111.4810 10.1.1.134.8329 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+51:oai CiteSeerXPSU 10.1.1.1.1533:Answers to the Top Ten Input Modeling Questions:Bahar Biller Barry L. Nelson:2009-08-25 In this tutorial we provide answers to the top ten inputmodeling questions that new simulation users ask, point out common mistakes that occur and give relevant references. We assume that commercial input-modeling software will be used when possible, and only suggest non-commercial options when there is little else available. Detailed examples will be provided in the tutorial presentation. CiteSeerX  2009-08-25 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1533 http //www.informs-cs.org/wsc02papers/005.pdf en 10.1.1.58.5325 10.1.1.105.5693 10.1.1.107.780 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+52:oai CiteSeerXPSU 10.1.1.100.8780:Jaguar  Java in Next-Generation Database Systems:Johannes Gehrke Www Page:2008-07-01 •        Title Jaguar Java in Next-Generation Database Systems Keywords Extensibility query optimization heterogeneous environments database compression. Project Summary This project explores fundamental systems issues in query processing performance. We investigate this problem from three different directions  client-server processing, heterogeneous environments, and database compression. First, we devised new query processing strategies than push processing capabilities into the client, and we devised query execution plans that can span server and clients. This allows us to trade resource usage between client, server and the interconnection network. We then extended this work to parallel query processing in heterogeneous environments  we are currently implementing a parallel dataflow engine that adapts naturally to resource imbalances at the hardware components. Last, we are investigating the use of compression in database systems. We devised a new framework for database compression and new query processing and query optimization strategies to integrate compression into a modern query processor. All our techniques have been implemented in the NSF-funded Cornell Predator object-relational database system. We extended the system with several ways to store compressed relations, and we implemented a fully compression-aware query optimizer. To best of our knowledge, our work is the first result on compression-aware query optimization. Publications and Products � Project homepage  CiteSeerX  2008-07-01 2008-04-02 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.8780 http //itlab.uta.edu/idm01/FinalReports/reports/IDM01R048.pdf en 10.1.1.20.9548 10.1.1.26.9191 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+53:oai CiteSeerXPSU 10.1.1.106.4689:Patterns for Next-Generation Database Systems IST-2001-33058 Recent Advances on Pattern Representation and Management:I. Ntoutsi (cti/piraeus A. Pikrakis G. Tsatsaronis (aueb E. Vrachnos Michalis Vazirgiannis Maria Halkidi Daniel A. Keim Irene Ntoutsi Aggelos Pikrakis Sergios Theodoridis Yannis Theodoridis George Tsatsaronis Euripides Vrachnos:2008-07-01 patterns data mining pattern modeling pattern-bases information retrieval Pattern Base Management Systems Research supported by the Commission of the European Communities under the Information CiteSeerX  2008-07-01 2008-04-03 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.106.4689 http //www.db-net.aueb.gr/gbt/publications/PANDA_TR-2003-04.pdf en 10.1.1.40.6757 10.1.1.108.8490 10.1.1.33.3138 10.1.1.144.4956 10.1.1.42.3240 10.1.1.56.8772 10.1.1.32.9565 10.1.1.50.5717 10.1.1.41.4883 10.1.1.105.8622 10.1.1.102.5562 10.1.1.16.976 10.1.1.34.2745 10.1.1.7.6588 10.1.1.44.8451 10.1.1.5.6904 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+54:oai CiteSeerXPSU 10.1.1.122.192:Query by Templates  Using the Shape of Information to Search Next-Generation Databases:Arijit Sengupta Andrew Dillon:2008-12-04 Abstract—We present a user-centered database query language called QBT (Query By Templates) for user communication with databases containing complex structured data, such as data stored in the Extensible Markup Language (XML). XML has revolutionized data storage as well as representation and transfer methods in today’s internet applications. The growing popularity of XML as a language for the representation of data has enabled its use for several applications involving storage, interchange, and retrieval of data. Several textual query languages have been proposed for XML retrieval, including the World Wide Web Consortium’s (W3C) recommendation of XQuery. Native XML database systems have been implemented, all of which provide methods for user communication with the database, although most communication methods use text-based query languages or form-based interfaces. QBT, the language presented here, is one of the first attempts toward a generalized alternative language that is based on human factors of familiarity. It is ideal for documents with a simple yet highly recognizable layout (e.g., poems, dictionaries, journals, etc.). We present the QBT language and report results from an initial usability test that shows promise for this type of an interface as a generalized user–database communication method. Index Terms—Complex structured data, Extensible Markup Language (XML), information shape, query evaluation, query languages, query processing, visual languages, XQuery. CiteSeerX  2008-12-04 2008-12-03 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.122.192 http //www.ischool.utexas.edu/~adillon/Journals/IEEEJit.pdf en 10.1.1.109.4049 10.1.1.11.6264 10.1.1.22.7172 10.1.1.33.1762 10.1.1.102.1564 10.1.1.35.4300 10.1.1.20.7529 10.1.1.17.933 10.1.1.57.2983 10.1.1.17.4528 10.1.1.92.5486 10.1.1.110.6779 10.1.1.28.2863 10.1.1.105.3351 10.1.1.2.8978 10.1.1.104.2288 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+55:oai CiteSeerXPSU 10.1.1.52.456:Security in Next-Generation Databases:Chris Strahorn:2009-04-12 this paper, a summary of the various models presented for securing next-generation databases will be given. Additionally, an overview of the security features in commercial next-generation databases is also given in order to show the need for further work in this field. 1 Introduction CiteSeerX  2009-04-12 2007-11-22 1998 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.456 http //www.db.cs.ucdavis.edu/teaching/289F/papers/chris.ps en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+56:oai CiteSeerXPSU 10.1.1.66.4692:Security in Next-Generation Databases:Chris Strahorn:2008-07-01 In the past several years, several new types of databases have moved out of the academic world and have been released as commercial products. These new types of databases are commonly referred to as next-generation databases and include object-oriented, object-relational, active, and deductive databases. Each of these types of database offer an extended set of features when compared to a traditional relational database. In turn, these new features require new methods in order to secure the data held within. In this paper, a summary of the various models presented for securing next-generation databases will be given. Additionally, an overview of the security features in commercial next-generation databases is also given in order to show the need for further work in this field. 1 CiteSeerX  2008-07-01 2008-02-06 1998 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.66.4692 http //www.db.cs.ucdavis.edu/teaching/289F/papers/chris.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+57:oai CiteSeerXPSU 10.1.1.78.1427:Java in Next-Generation Database Systems::2008-07-01 applications,  including database applications. CiteSeerX  2008-07-01 2008-02-07 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.78.1427 http //www.cs.wisc.edu/~cao/WISP98/final-versions/praveen.ps en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+58:oai CiteSeerXPSU 10.1.1.1.1534:Proceedings of the 2002 Winter Simulation Conference:Ycesan Chen Snowdon E. Yücesan C. -h. Chen J. L. Snowdon J. M. Charnes Sang D. Choi Anil R. Kumar:2009-04-19 This paper discusses the initial efforts to implement simulation modeling as a visual management and analysis tool at an automotive foundry plant manufacturing engine blocks. The foundry process was modeled using Pro Model to identify bottlenecks and evaluate machine performance, cycle times and production data (total parts, rejects, throughput, products/hr) essential for efficient production control. Results from the current system identified assembly machine work area as the bottleneck (although utilization was greater than 95% for two assembly machines) resulting in high work-in-process (WIP) inventory level, low resource and machine utilization. Based on these results, optimum numbers were identified through use of scenarios by varying the number of assembly machines and processing time of each machine. In addition to these scenarios, strategies for production control involving buffer sizes were also made. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1534 http //www.informs-cs.org/wsc02papers/138.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+59:oai CiteSeerXPSU 10.1.1.1.1535:A Sub-Quadratic Algorithm for Conjunctive and Disjunctive BESs:Jan Friso Groote Misa Keinänen:2009-04-19 We present an algorithm for conjunctive and disjunctive Boolean equation systems (BESs), which arise frequently in the verification and analysis of finite state concurrent systems. In contrast to the previously best known O(e ) time solutions, our algorithm computes the solution of such a fixpoint equation system with size e and alternation depth d in O(e log d) time. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1535 http //www.win.tue.nl/~jfg/articles/CSR-04-13.pdf en 10.1.1.58.4882 10.1.1.81.9591 10.1.1.108.4288 10.1.1.140.2376 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+60:oai CiteSeerXPSU 10.1.1.1.1536:Innovations of the NetSolve Grid Computing System:Dorian C. Arnold Henri Casanova Jack Dongarra:2009-04-19 KEY WORDS Grid computing distributed computing heterogeneous network computing client--server This article is meant to provide the reader with details regarding the present state of the project, describing the current architecture of the system, its latest innovations and other systems 10  that make use of the NetSolve infrastructure. Copyright # 2002 John Wiley & Sons, Ltd CiteSeerX  2009-04-19 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1536 http //icl.cs.utk.edu/news_pub/submissions/cpe678.pdf en 10.1.1.25.8254 10.1.1.49.8881 10.1.1.32.6963 10.1.1.46.3287 10.1.1.15.9060 10.1.1.43.1259 10.1.1.30.5246 10.1.1.27.3632 10.1.1.115.1390 10.1.1.107.4174 10.1.1.65.4741 10.1.1.3.4994 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+61:oai CiteSeerXPSU 10.1.1.1.1537:The InfoVis Toolkist:Jean-daniel Fekete Jean-daniel Fekete Projet In-situ:2009-04-19 This report presents the InfoVis Toolkit, designed to support the creation,  extension and integration of advanced 2D Information Visualization components into interactive  Java Swing applications. The InfoVis Toolkit provides specific data structures to  achieve a fast action/feedback loop required by dynamic queries. It comes with a large  set of components such as range sliders and tailored control panels required to control and  configure the visualizations. These components are integrated into a coherent framework  that simplifies the management of rich data structures and the design and extension of  visualizations. Supported data structures currently include tables, trees and graphs. Supported  visualizations include scatter plots, time series, Treemaps, node-link diagrams for  trees and graphs and adjacency matrix for graphs. All visualizations can use fisheye lenses  and dynamic labeling. The InfoVis Toolkit supports hardware acceleration when available  through Agile2D, an implementation of the Java Graphics API based on OpenGL, achieving  speedups of 10 to 60 times. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1537 ftp //ftp.inria.fr/INRIA/publication/publi-pdf/RR/RR-4818.pdf en 10.1.1.123.805 10.1.1.43.631 10.1.1.41.1810 10.1.1.56.8772 10.1.1.13.6859 10.1.1.20.9570 10.1.1.58.2019 10.1.1.25.5975 10.1.1.111.2892 10.1.1.18.1023 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+62:oai CiteSeerXPSU 10.1.1.1.1538:Complex Systems Modeling:Christophe Lecerf Thi:2009-04-19 This paper addresses the simulation of the dynamics of complex systems by using hierarchical graph and multi-agent system. A complex system is composed of numerous interacting parts that can be described recursively. First we summarize the hierarchical aspect of the complex system. We then present a description of hierarchical graph as a data structure for structural modeling in parallel with dynamics simulation by agents. This method can be used by physiological modelers, ecological modelers, etc as well as in other domains that are considered as complex systems. An example issued from physiology will illustrate this approach. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1538 http //e-ifi.org/rivf/2003/proceedings/p93-98.pdf en 10.1.1.28.9248 10.1.1.4.6467 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+63:oai CiteSeerXPSU 10.1.1.1.1539:Proceedings of the 2003 Winter Simulation Conference:Chick Snchez Ferrin S. Chick P. J. Sánchez D. Ferrin D. J. Morrice Gary Tan Na Zhao:2009-04-19 uses to deliver value to its customers. In today's competitive environment, the globalization of markets has rapidly substituted the traditional integrated business. The competitive success of an organization no longer depends only on its own efforts, but relies on the efficiency of the entire supply chain. Therefore, building an effective supply chain is fast becoming paramount in today's marketplace. Distributed Supply Chain (DSC) Simulation has been identified as one of the best means to test and analyze the performance of supply chains. The Generic Runtime Infrastructure for Distributed Simulation (GRIDS) is a middleware that supports the reuse and interoperation of DSC simulations. This paper reports the experience on employing the GRIDS to support the distributed collaboration of an automobile manufacture supply chain simulation. Several advantages of GRIDS are also discussed here which make it an ideal middleware for DSC simulations. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1539 http //www.informs-cs.org/wsc03papers/142.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+64:oai CiteSeerXPSU 10.1.1.1.1540:Multi-dimensional Visual Representations for Underwater Environmental Uncertainty:Greg S. Schmidt Sue-Ling Chen Greg S. Schmidt Sue-ling Chen Aaron N. Bryden Mark A. Livingston Bryan R. Osborn Lawrence J. Rosenblum:2009-04-19 this paper) and (2) develop a visual method for each characterization. The mariner community needs enhanced characterizations of environmental uncertainty now, but the accuracy of the characterizations is still not sufficient enough and therefore formal user evaluations cannot take place at this point in development. We received feedback on the applicability of our techniques from domain experts. We used this in conjunction with previous results to compile a set of development guidelines (some obvious, others not) CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1540 http //www.ait.nrl.navy.mil/vrlab/pages/../papers/j_IEEECGA04.pdf en 10.1.1.109.7470 10.1.1.60.7349 10.1.1.125.6248 10.1.1.144.7725 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+65:oai CiteSeerXPSU 10.1.1.1.1541:InstantGrid  A Framework for On-Demand Grid:Point Construction Roy Roy S. C. Ho K. K. Yin David C. M. Lee Daniel H. F. Hung Cho-li Wang Francis C. M. Lau:2009-04-19 This paper proposes the InstantGrid framework for on-demand  construction of grid points. In contrast to traditional approaches, InstantGrid  is designed to substantially simplify software management in grid  systems, and is able to instantly turn any computer into a grid-ready  platform with the desired execution environment. Experimental results  demonstrate that a 256-node grid point with commodity grid middleware  can be constructed in five minutes from scratch. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1541 http //www.cs.hku.hk/~clwang/papers/InstantGrid-gcc2004-camera.pdf en 10.1.1.114.2815 10.1.1.118.9332 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+66:oai CiteSeerXPSU 10.1.1.1.1542:Prototyping Proof Carrying Code:Martin Wildmoser Tobias Nipkow Gerwin Klein Sebastian Nanz:2009-04-19 We introduce a generic framework for proof carrying code, developed and mechanically verified in Isabelle/HOL. The framework defines and proves sound a verification condition generator with minimal assumptions on the underlying programming language, safety policy, and safety logic. We demonstrate its usability for prototyping proof carrying code systems by instantiating it to a simple assembly language with procedures and a safety policy for arithmetic overflow. CiteSeerX Kluwer 2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1542 http //www.doc.ic.ac.uk/~nanz/publications/./ppcc_tcs04.pdf en 10.1.1.40.2507 10.1.1.24.6526 10.1.1.29.2076 10.1.1.40.7179 10.1.1.42.4453 10.1.1.43.6143 10.1.1.103.6797 10.1.1.113.4649 10.1.1.11.9523 10.1.1.10.8649 10.1.1.84.1258 10.1.1.35.532 10.1.1.129.5517 10.1.1.86.3296 10.1.1.7.139 10.1.1.83.9822 10.1.1.103.4133 10.1.1.106.1397 10.1.1.65.5537 10.1.1.71.2795 10.1.1.123.3289 10.1.1.113.9340 10.1.1.132.1879 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+67:oai CiteSeerXPSU 10.1.1.1.1543:Proceedings of the Block Island Workshop on Cooperative Control,:Springer-Verlag Series Lecture Wei Ren Al W. Beard Timothy W. Mclain:2009-04-19 this paper. Ref [15] addresses the knowledge consensus problem when teams of agents only have local communication between nearest neighbors. Since the set of nearest neighbors is constantly changing, the overall system becomes a hybrid system. The paper shows that if the union over all bidirectional communication graphs is connected for finite periods of time, then consensus is achieved. While the results in this paper are not as strong, only unidirectional communication links are assumed CiteSeerX Springer-Verlag 2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1543 http //www.et.byu.edu/~wr25/./papers/preprints/bookchapters/RenBeardMcLain03.pdf en 10.1.1.28.2247 10.1.1.10.4292 10.1.1.1.3664 10.1.1.72.7624 10.1.1.2.7148 10.1.1.32.8694 10.1.1.4.8605 10.1.1.15.1267 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+68:oai CiteSeerXPSU 10.1.1.1.1544:Hidden-Action in Multi-Hop Routing:Michal Feldman John Chuang:2009-04-19 In any multi-hop routing scheme, cooperation by the intermediate nodes are essential for the succesful delivery of traffic. However, the effort exerted by the intermediate nodes are often unobservable by the source and/or destination nodes. We show it is possible to overcome this problem of hidden action by designing contracts, in the form of payments, to induce cooperation from the intermediate nodes. Interestingly, the ability to monitor per-hop or per-path outcomes, even if costless to implement, may not improve the welfare of the participants or the performance of the network. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1544 http //www.eecs.harvard.edu/p2pecon/confman/papers/s3p1.pdf en 10.1.1.105.3673 10.1.1.19.8434 10.1.1.28.5987 10.1.1.21.4823 10.1.1.42.559 10.1.1.132.4609 10.1.1.10.8652 10.1.1.11.4819 10.1.1.11.9831 10.1.1.19.1750 10.1.1.34.2032 10.1.1.113.7948 10.1.1.11.8397 10.1.1.60.1810 10.1.1.4.1706 10.1.1.13.9006 10.1.1.119.7102 10.1.1.14.1149 10.1.1.14.6620 10.1.1.10.7859 10.1.1.107.3061 10.1.1.119.8132 10.1.1.106.6176 10.1.1.122.7182 10.1.1.123.5145 10.1.1.131.5662 10.1.1.135.2383 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+69:oai CiteSeerXPSU 10.1.1.1.1545:EPTD DISCUSSION PAPER NO. 83 HOW AGRICULTURAL RESEARCH AFFECTS URBAN POVERTY IN DEVELOPING COUNTRIES  THE CASE OF CHINA:Shenggen Fan Cheng Fang Xiaobo Zhang:2009-04-19 developing countries China agricultural research urban poverty i ACKNOWLEDGMENTS This paper develops a framework to measure the impact of agricultural research on urban poverty. Increased investments in agricultural R&D can lower food prices by increasing food production, and lower food prices benefit the urban poor because they often spend more than 60% of their income on food. Application of the framework to China shows that these food price effects are large and that the benefits for the urban poor have been about as large as the benefits for the rural poor. KEYWORDS  developing countries, China, agricultural research, urban, poverty ii  ACKNOWLEDGMENTS The authors are grateful for helpful comments received from Peter Hazell, Robert Evanson and participants in a session at the American Agricultural Economics Association annual meeting in Chicago, August 5-8, 2001. iii  TABLE OF CONTENTS 1. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1545 http //www.ifpri.org/divs/eptd/dp/papers/eptdp83.pdf en 10.1.1.144.9394 10.1.1.1.3288 10.1.1.58.6199 10.1.1.58.3593 10.1.1.31.1619 10.1.1.58.2714 10.1.1.58.2531 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+70:oai CiteSeerXPSU 10.1.1.1.1546:Ontology-Based Query Refinement:For Multimedia Meta Sonja Zillner Werner Winiwarter:2009-04-19 To enable e#cient access to multimedia content, the media data has to be augmented by semantic metadata and functionality. The semantic representation has to be integrated with domain ontologies to fully exploit domain-specific knowledge. This knowledge can be used for refining ambiguous user queries by closing the conceptual gap between the user and the information to be retrieved. In our previous research, we have introduced Enhanced Multimedia Meta Objects (EMMOs) as a new approach for semantic multimedia meta modeling, as well as the query algebra EMMA, which is adequate and complete with regard to the EMMO model. This paper focuses on the refinement of EMMA queries by incorporating ontological knowledge. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1546 http //www.ifs.univie.ac.at/~ww/iiwas04a.pdf en 10.1.1.44.6030 10.1.1.93.962 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+71:oai CiteSeerXPSU 10.1.1.1.1547:Computerising Natural History Card Archives:Downton Lucas And A. C. Downton S. M. Lucas G. Patoulas:2009-04-19 This paper summarises the achievements of a multidisciplinary Bioinformatics project which has the objective of providing a general mechanism for efficient computerisation of typewritten/hand-annotated archive card indexes, of the type found in most museums, archives and libraries. In addition to efficiently scanning, recognising and databasing the content of the cards, the original card images must be maintained as the ultimate source record, and a flexible database structure is required to allow taxonomists to reorganise and update the resulting online archive. Implementation mechanisms for each part of the overall system are described, and conversion performance for a demonstrator database of 27,578 Pyralid moth archive cards is reported. The system is currently being used to convert the full NHM archive of Lepidoptera totalling 290,886 cards. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1547 http //www.csc.liv.ac.uk/%7Eprima/ICDAR2003/Papers/0064_562_downton_a.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+72:oai CiteSeerXPSU 10.1.1.1.1548:Genome-Wide Detection of Alternative Splicing in Expressed Sequences Using Partial Order Multiple Sequence Alignment Graphs:C. Grasso B. Modrek Y. Xing C. Lee:2009-04-19 this paper we present a detailed examination of the technical problems we have encountered in undertaking high-throughput analyses of alternative splicing over the last four years, and the specific solutions we have developed for these problems, in seeking to minimize both false positive and false negative errors CiteSeerX  2009-04-19 2007-11-19 2001 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1548 http //www.cs.mun.ca/~harold/BDG/grasso.pdf en 10.1.1.109.6075 10.1.1.115.1836 10.1.1.3.1101 10.1.1.104.1301 10.1.1.20.6089 10.1.1.108.6744 10.1.1.92.2847 10.1.1.102.5592 10.1.1.58.4273 10.1.1.83.8143 10.1.1.123.8933 10.1.1.100.2820 10.1.1.100.7691 10.1.1.101.5916 10.1.1.101.9727 10.1.1.102.7070 10.1.1.103.1344 10.1.1.104.9576 10.1.1.108.8802 10.1.1.112.9910 10.1.1.67.4233 10.1.1.74.9803 10.1.1.83.5745 10.1.1.83.7724 10.1.1.84.5073 10.1.1.84.6844 10.1.1.86.4181 10.1.1.87.3649 10.1.1.87.8082 10.1.1.90.2517 10.1.1.91.5647 10.1.1.92.8657 10.1.1.95.7769 10.1.1.95.7882 10.1.1.96.8415 10.1.1.99.6833 10.1.1.99.8018 10.1.1.100.4446 10.1.1.114.4132 10.1.1.115.3917 10.1.1.117.404 10.1.1.121.5264 10.1.1.122.809 10.1.1.125.5346 10.1.1.112.430 10.1.1.127.9023 10.1.1.128.4690 10.1.1.130.1155 10.1.1.130.5318 10.1.1.131.5021 10.1.1.137.3169 10.1.1.14.3143 10.1.1.1.5756 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+73:oai CiteSeerXPSU 10.1.1.1.1549:Adaptive Sampling for Environmental Robotics:Mohammad Rahimi Richard Pon William J. Kaiser Gaurav S. Sukhatme Deborah Estrin Mani Srivastava:2009-04-19 this paper we describe   ######################################## a new distributed,   robotic sensor methodology developed for applications including  characterization of environmental structure and phenomena.  NIMS exploits deployed infrastructure that provides the benefits  of precise motion, aerial suspension, and low energy sustainable  operations in complex environments. NIMS nodes may explore a  three-dimensional environment and enable the deployment of  sensor nodes at diverse locations and viewing perspectives.  NIMS characterization of phenomena in a three dimensional  space must now consider the selection of sensor sampling points  in both time and space. Thus, we introduce a new approach of  mobile node adaptive sampling with the objective of minimizing  error between the actual and reconstructed spatiotemporal  behavior of environmental variables while minimizing required  motion. In this approach, the NIMS node first explores as an  agent, gathering a statistical description of phenomena using a   ##################################approach. By iteratively   increasing sampling resolution, guided adaptively by the  measurement results themselves, this NIMS sampling enables  reconstruction of phenomena with a systematic method for  balancing accuracy with sampling resource cost in time and  motion. This adaptive sampling method is described analytically  and also tested with simulated environmental data. Experimental  evaluations of adaptive sampling algorithms have also been  completed. Specifically, NIMS experimental systems have been  developed for monitoring of spatiotemporal variation of  atmospheric climate phenomena. A NIMS system has been  deployed at a field biology station to map phenomena in a 50m  width and 50m span transect in a forest environme... CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1549 http //cres.usc.edu/pubdb_html/files_upload/400.pdf en 10.1.1.131.2084 10.1.1.18.1128 10.1.1.20.7017 10.1.1.8.1672 10.1.1.92.7418 10.1.1.93.7998 10.1.1.71.4666 10.1.1.132.6943 10.1.1.100.8264 10.1.1.64.4012 10.1.1.79.7058 10.1.1.110.501 10.1.1.128.7519 10.1.1.106.8162 10.1.1.63.3553 10.1.1.66.1967 10.1.1.69.4362 10.1.1.72.4649 10.1.1.84.7790 10.1.1.91.7021 10.1.1.93.6045 10.1.1.97.2624 10.1.1.99.4191 10.1.1.111.6699 10.1.1.115.2562 10.1.1.129.5023 10.1.1.135.5385 10.1.1.138.7945 10.1.1.139.8283 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+74:oai CiteSeerXPSU 10.1.1.1.1550:Enhanced Expressiveness in Scripting Using AnimalScript V2:Guido Rößling Felix Gliesche Thomas Jajeh Thomas Widjaja:2009-04-19 this paper) is scripting. Here, the user provides a simple ASCII file containing commands that steer the visualization. Typically, the commands are held in plain English to make using the underlying scripting language easier. Typical examples for scripting-driven AV systems include JAWAA (Akingbade et al., 2003), JSamba (Stasko, 1998), JHAV E (Naps et al., 2000) and Animal (Roling and Freisleben, 2002) CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1550 http //nibbler.tk.informatik.tu-darmstadt.de/Publications/2004/pvw12.pdf en 10.1.1.19.5818 10.1.1.28.9812 10.1.1.103.9289 10.1.1.78.7343 10.1.1.138.1175 10.1.1.140.5036 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+75:oai CiteSeerXPSU 10.1.1.1.1551:Comparison of Clustering Algorithms in Speaker Identification:Tomi Kinnunen Teemu Kilpelinen Pasi FrÄnti:2009-04-19 Speech processing speaker identification vector In speaker identification, we match a given (unkown) speaker to the set of known speakers in a database. The database is constructed from the speech samples of each known speaker. Feature vectors are extracted from the samples by short-term spectral analysis, and processed further by vector quantization for locating the clusters in the feature space. We study the role of the vector quantization in the speaker identification system. We compare the performance of different clustering algorithms, and the influence of the codebook size. We want to find out, which method provides the best clustering result, and whether the difference in quality contribute to improvement in recognition accuracy of the system. CiteSeerX  2009-04-19 2007-11-19 0 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1551 http //cs.joensuu.fi/pages/tkinnu/research/pdf/ComparisonClusteringAlgsSpeakerRec.pdf en 10.1.1.58.5875 10.1.1.1.5615 10.1.1.58.2111 10.1.1.58.3968 10.1.1.125.5073 10.1.1.104.7507 10.1.1.78.6536 10.1.1.81.4597 10.1.1.89.5956 10.1.1.143.9804 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+76:oai CiteSeerXPSU 10.1.1.1.1552:Towards a Generic Talking Head:Brar Bailly Chabanas:2009-04-19 MPEG-4 Facial Animation Parameters and Facial Definition Parameters We present here a framework for developing a generic talking head capable of reproducing the anatomy and the facial  deformations induced by speech movements with a set of a few parameters. We will show that the speaker-specific articulatory movements can be straightforward encoded into the normalized MPEG-4 Facial Animation Parameters and Facial Definition  Parameters. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1552 http //www.icp.inpg.fr/ICP/publis/synthese/_mb/clonegen_mb_ISSP03.pdf en 10.1.1.128.4967 10.1.1.30.2775 10.1.1.130.9240 10.1.1.15.8634 10.1.1.31.3794 10.1.1.142.982 10.1.1.32.7228 10.1.1.42.3468 10.1.1.52.5953 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+77:oai CiteSeerXPSU 10.1.1.1.1553:Language Policy and Localization in Pakistan  Proposal for a Paradigmatic Shift:Tariq Rahman:2009-04-19 This paper examines the present language policy of Pakistan and its consequences for the indigenous languages of the country. It then relates this to efforts at localization--- creating computer software in the languages of the country---and argues that all such efforts have been power-oriented. This means that only those languages have been selected for localization which are used in the domains of power---government, bureaucracy, judiciary, military, commerce, media, education, research etc---thus further strengthening them vis a vis the marginalized languages of the people. It is therefore argued that the efforts at localization should be rights-based i.e. all language communities should be considered equal and their languages should be localized not because of their present use in the domains of power but because they too should be strengthened by being put to such use. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1553 http //www.elda.fr/en/proj/scalla/SCALLA2004/rahman.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+78:oai CiteSeerXPSU 10.1.1.1.1554:BioMed Central:Bmc Medical Informatics Biomed Central Cynthia S Gadd Open Access Kathleen Ann Mckibbon Kathleen Ann Mckibbon Cynthia S Gadd:2009-04-19 Background  Quantitative studies are becoming more recognized as important to understanding  health care with all of its richness and complexities. The purpose of this descriptive survey was to  provide a quantitative evaluation of the qualitative studies published in 170 core clinical journals for  2000. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1554 http //www.biomedcentral.com/content/pdf/1472-6947-4-11.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+79:oai CiteSeerXPSU 10.1.1.1.1555:Object-Relational Management of Multiply Represented Geographic Entities:Anders Friis-Christensen National Anders Friis-christensen:2009-04-19 Multiple representation occurs when information about the same geographic entity is represented electronically more than once. This occurs frequently in practice, and it invariably results in the occurrence of inconsistencies among the different representations. We propose to resolve this situation by introducing a multiple representation management system (MRMS), the schema of which includes rules that specify how to identify representations of the same entity, rules that specify consistency requirements, and rules used to restore consistency when necessary. In this paper, we demonstrate by means of a prototype and a realworld case study that it is possible to implement a multiple representation schema language on top of an objectrelational database management system. Specifically, it is demonstrated how it is possible to map the constructs of the language used for specifying the multiple representation schema to functionality available in Oracle. Though some limitations exist, Oracle has proven to be a suitable platform for implementing an MRMS. CiteSeerX IEEE Computer Society 2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1555 http //www.cs.auc.dk/~csj/Papers/Files/2003_friis-christensenSSDM.pdf en 10.1.1.118.6768 10.1.1.101.5051 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+80:oai CiteSeerXPSU 10.1.1.1.1556:Netview  Application Software for Constructing and Visually Exploring Phylogenetic Networks:Kirill Kryukov Naruya Saitou:2009-04-19 phylogenetic network neighbor-joining method Introduction  Reconstructing evolutionary history of a group of species is a major task in biological study. Many methods exist for reconstructing such history, or phylogeny, but most of them are based on an assumption that evolution of given gene family can be represented as a tree. However some families of genes may have alternative historical structure that cannot be represented as a tree. Such history can result from events such as recombination, gene conversion and horizontal gene transfer, and require not tree but network for accurate representation. Parallel substitutions are also sources of non-tree networks. For the purpose of understanding such history we developed a program Netview, which enables constructing phylogenetic network based on the sequence data.  2 Netview  Netview uses following approach to construct a network  First, it constructs a NJ-tree [1] for provided set of sequences, using nucleotide di#erence distance matrix (Fig. 1). Then every nucleotide site positio CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1556 http //hc.ims.u-tokyo.ac.jp/JSBi/journal/GIW03/GIW03SS06.pdf en 10.1.1.85.2481 10.1.1.134.5815 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+81:oai CiteSeerXPSU 10.1.1.113.6268:Multiple Dynamic View Support for Cooperative Work:Yusuke Yokota Tatsuya Nakamura Hiroyuki Tarumi Yahiko Kambayashi:2008-08-14 VIEW Media is a cooperative hypermedia system, which supports cooperative work utilizing hypermedia documents. It provides fundamental functions for cooperative work support system and enables developers to construct various groupware such as distributed presentation systems, education systems, conference systems, and so forth. This system provides a powerful and flexible mechanism of customization. The mechanism can alter presentation, structure, behavior and authority of hypermedia documents and workspace, which supports dynamic change of roles of users. This paper describes the purpose of VIEW Media, its basic model and implementation, and a user interface which supports conferences among users who have different access rights to shared documents. 1. CiteSeerX  2008-08-14 2008-08-14 1999 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.6268 http //ieeexplore.ieee.org/iel5/6197/16540/00765767.pdf en 10.1.1.139.1894 10.1.1.21.4748 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+82:oai CiteSeerXPSU 10.1.1.21.7175:Adding View Support to ODMG-93:M. Dobrovnik J. Eder:2009-04-15 A concept to introduce external models in object oriented databases is presented, such that application programs do no longer interface directly the whole conceptual schema, but work against external schemas specifically designed for the applications requirements. There are virtually no restrictions for such applications, since the interaction with the database takes place via updateable views.  The data model is a somewhat simplified form of ODMG-93 [4], where we incorporated the additional constructs we need for the external schema definition. The approach makes a clear distinction between types and classes, and also separates the type and class hierarchies of the conceptual schema from the external type and class hierarchies. With type derivation, we provide a powerful type restructuring mechanism, which allows to define an external type which is based on a conceptual type. In the derivation process, one can omit conceptual components and methods or redefine their types. Additional methods can be defined for external types as well. 1  To appear in  "Advances in Databases and Information Systems  ADBIS '94" , Proc. of the Intl. Workshop of the Moscow ACM SIGMOD Chapter  By defining well formed external schemas via constraints and schema invariants, we are able to guarantee unambiguous method resolution, steadiness of method resolution and compliance with the covariant subtyping principle. The full semantics of the conceptual schema are preserved. The designer of the external schema can make use of all information contained in the conceptual schema, in particular conceptual methods can be called from externally defined ones.  In this paper, we concentrate on the area of type derivation and method resolution.  1 CiteSeerX  2009-04-15 2007-11-21 1994 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.7175 http //www.ifi.uni-klu.ac.at/Publications/pubfiles/psfiles/1994-0001-DoEd.ps en 10.1.1.49.5388 10.1.1.45.855 10.1.1.45.224 10.1.1.50.3649 10.1.1.92.5802 10.1.1.25.3017 10.1.1.96.1587 10.1.1.42.7156 10.1.1.17.6038 10.1.1.105.8423 10.1.1.85.8868 10.1.1.86.6171 10.1.1.89.4262 10.1.1.39.5730 10.1.1.33.2495 10.1.1.28.4618 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+83:oai CiteSeerXPSU 10.1.1.31.2167:Study of the Charge Spectra Generated By Photomultipliers.:Cavasinni Cologna B. Di Girolamo G. Renzoni:2009-04-12 INTRODUCTION  In this note we discuss the measurements of light yield from scintillator and wavelenght-shifting fibres (WLS) performed through the analysis of the charge distribution provided by a photomultiplier. This procedure was used in ref [1]. The analysis procedures were verified by a simple montecarlo program which generates the photomultiplier spectra. 2 THE EXPERIMENTAL APPARATUS  These measurements have been carried out in the optoelectronic laboratory in Pisa with two different setups. GPIB-CAMAC interface PM 1 Fic system OS/9 Computer  -fic monitor 12345... -off-line analisys  Fibre Fibre Scintillator Support  Dark Room Up View Support Source Digital Multimeter Figure 1  Experimental apparatus used for the measurements of charge spectra  In the first case, as shown in the figure 1, the fibre is placed on proper supports at about 10 cm from the surface of an optical bench. The fibre, coupled to a small scintillat CiteSeerX  2009-04-12 2007-11-22 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.2167 http //atlasinfo.cern.ch/Atlas/SUB_DETECTORS/TILE/tileref/note117/fnote.ps.Z en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+84:oai CiteSeerXPSU 10.1.1.49.2435:TIGUKAT  An Object Model for Query and View Support in Object Database Systems:Randal J. Peters M. Tamer Özsu Duane Szafron:2009-04-12 Object-oriented computing is influencing many areas of computer science including software engineering, user interfaces, operating systems, programming languages and database systems. The appeal of object-orientation is attributed to its higher levels of abstraction for modeling real world concepts, its support for incremental development and its potential for interoperability. Despite many advances, object-oriented computing is still in its infancy and a universally acceptable definition of an object-oriented data model is virtually nonexistent, although some standardization efforts are underway. This report presents the TIGUKAT  1  object model definition that is the result of an investigation of object-oriented modeling features which are common among earlier proposals, along with some distinctive qualities that extend the power and expressibility of this model beyond others. The literature recognizes two perspectives of an object model  the structural view and the behavioral view. ... CiteSeerX  2009-04-12 2007-11-22 1992 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.2435 ftp //menaik.cs.ualberta.ca/pub/TechReports/1992/TR92-14/TR92-14.ps.Z en 10.1.1.123.1085 10.1.1.116.1298 10.1.1.48.1422 10.1.1.27.6071 10.1.1.84.9469 10.1.1.97.9167 10.1.1.11.8792 10.1.1.48.8578 10.1.1.31.7627 10.1.1.42.7725 10.1.1.48.2199 10.1.1.45.224 10.1.1.44.4971 10.1.1.34.624 10.1.1.86.4262 10.1.1.31.7627 10.1.1.32.4444 10.1.1.51.5051 10.1.1.32.4382 10.1.1.51.9134 10.1.1.52.9346 10.1.1.56.204 10.1.1.21.1999 10.1.1.45.4879 10.1.1.105.8443 10.1.1.53.2111 10.1.1.53.4468 10.1.1.29.8669 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+85:oai CiteSeerXPSU 10.1.1.37.8818:Overview of Multidatabase Transaction Management:Yuri Breitbart Hector Garcia-Molina Avi Silberschatz:2009-06-22 A multidatabase system (MDBS) is a facility that allows users access to data located in multiple autonomous database management systems (DBMSs). In such a system, global transactions are executed under the control of the MDBS. Independently, local transactions are executed under the control of the local DBMSs. Each local DBMS integrated by the MDBS may employ a different transaction management scheme. In addition, each local DBMS has complete control over all transactions (global and local) executing at its site, including the ability to abort at any point any of the transactions executing at its site. Typically, no design or internal DBMS structure changes are allowed in order to accommodate the MDBS. Furthermore, the local DBMSs may not be aware of each other, and, as a consequence, cannot coordinate their actions. Thus, traditional techniques for ensuring transaction atomicity and consistency in homogeneous distributed database systems may not be appropriate for an MDBS environment.... CiteSeerX  2009-06-22 2007-11-22 1992 text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.8818 ftp //ftp.cs.utexas.edu/pub/avi/UT-CS-TR-92-21.PS.Z en 10.1.1.101.8988 10.1.1.130.1772 10.1.1.38.6210 10.1.1.34.3768 10.1.1.36.1275 10.1.1.104.3430 10.1.1.112.244 10.1.1.94.9106 10.1.1.41.4043 10.1.1.49.5143 10.1.1.59.2034 10.1.1.53.875 10.1.1.137.5642 10.1.1.41.8832 10.1.1.21.1100 10.1.1.105.3626 10.1.1.44.773 10.1.1.21.2576 10.1.1.40.6484 10.1.1.144.2713 10.1.1.48.6718 10.1.1.16.6166 10.1.1.40.832 10.1.1.36.2660 10.1.1.30.3087 10.1.1.47.322 10.1.1.17.6532 10.1.1.33.2301 10.1.1.20.4306 10.1.1.47.6258 10.1.1.39.9212 10.1.1.46.4334 10.1.1.71.485 10.1.1.43.1405 10.1.1.49.1308 10.1.1.35.6530 10.1.1.42.5177 10.1.1.54.4068 10.1.1.133.3692 10.1.1.40.4220 10.1.1.48.7743 10.1.1.26.575 10.1.1.107.596 10.1.1.116.3495 10.1.1.33.2074 10.1.1.38.7229 10.1.1.59.4464 10.1.1.103.9562 10.1.1.36.5887 10.1.1.40.9658 10.1.1.53.6783 10.1.1.29.5010 10.1.1.107.876 10.1.1.46.2273 10.1.1.46.3657 10.1.1.49.5281 10.1.1.50.4114 10.1.1.63.3234 10.1.1.79.9607 10.1.1.83.4819 10.1.1.83.4980 10.1.1.84.8136 10.1.1.90.953 10.1.1.90.9785 10.1.1.92.2397 10.1.1.93.8911 10.1.1.94.3702 10.1.1.97.672 10.1.1.98.4604 10.1.1.117.6190 10.1.1.118.4814 10.1.1.130.880 10.1.1.137.1167 10.1.1.51.5111 10.1.1.45.2774 10.1.1.45.9165 10.1.1.40.4684 10.1.1.35.5866 10.1.1.38.3606 10.1.1.29.9166 10.1.1.31.3667 10.1.1.21.7181 10.1.1.33.2343 10.1.1.23.3117 10.1.1.24.7879 10.1.1.18.8936 10.1.1.19.3770 10.1.1.19.5246 10.1.1.12.3293 10.1.1.2.2325 10.1.1.60.116 10.1.1.140.5244 10.1.1.143.3448 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+86:oai CiteSeerXPSU 10.1.1.54.6302:Overview of Multidatabase Transaction Management:Yuri Breitbart Hector Garcia-molina Avi Silberschatz:2009-04-12 A multidatabase system (MDBS) is a facility that allows users access to data located in multiple autonomous database management systems (DBMSs). In such a system, global transactions are executed under the control of the MDBS. Independently, local transactions are executed under the control of the local DBMSs. Each local DBMS integrated by the MDBS may employ a different transaction management scheme. In addition, each local DBMS has complete control over all transactions (global and local) executing at its site, including the ability to abort at any point any of the transactions executing at its site. Typically, no design or internal DBMS structure changes are allowed in order to accommodate the MDBS. Furthermore, the local DBMSs may not be aware of each other, and, as a consequence, cannot coordinate their actions. Thus, traditional techniques for ensuring transaction atomicity and consistency in homogeneous distributed database systems may not be appropriate for an MDBS environment.... CiteSeerX  2009-04-12 2007-11-22 1992 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.6302 http //www-db.stanford.edu/pub/papers/multidatabase.ps en 10.1.1.101.8988 10.1.1.130.1772 10.1.1.38.6210 10.1.1.34.3768 10.1.1.36.1275 10.1.1.104.3430 10.1.1.112.244 10.1.1.94.9106 10.1.1.41.4043 10.1.1.49.5143 10.1.1.59.2034 10.1.1.53.875 10.1.1.137.5642 10.1.1.41.8832 10.1.1.21.1100 10.1.1.105.3626 10.1.1.44.773 10.1.1.21.2576 10.1.1.40.6484 10.1.1.144.2713 10.1.1.48.6718 10.1.1.16.6166 10.1.1.40.832 10.1.1.36.2660 10.1.1.30.3087 10.1.1.47.322 10.1.1.17.6532 10.1.1.33.2301 10.1.1.20.4306 10.1.1.47.6258 10.1.1.39.9212 10.1.1.46.4334 10.1.1.71.485 10.1.1.43.1405 10.1.1.49.1308 10.1.1.35.6530 10.1.1.42.5177 10.1.1.54.4068 10.1.1.133.3692 10.1.1.40.4220 10.1.1.48.7743 10.1.1.26.575 10.1.1.107.596 10.1.1.116.3495 10.1.1.33.2074 10.1.1.38.7229 10.1.1.59.4464 10.1.1.103.9562 10.1.1.36.5887 10.1.1.40.9658 10.1.1.53.6783 10.1.1.29.5010 10.1.1.107.876 10.1.1.46.2273 10.1.1.46.3657 10.1.1.49.5281 10.1.1.50.4114 10.1.1.63.3234 10.1.1.79.9607 10.1.1.83.4819 10.1.1.83.4980 10.1.1.84.8136 10.1.1.90.953 10.1.1.90.9785 10.1.1.92.2397 10.1.1.93.8911 10.1.1.94.3702 10.1.1.97.672 10.1.1.98.4604 10.1.1.117.6190 10.1.1.118.4814 10.1.1.130.880 10.1.1.137.1167 10.1.1.51.5111 10.1.1.45.2774 10.1.1.45.9165 10.1.1.40.4684 10.1.1.35.5866 10.1.1.38.3606 10.1.1.29.9166 10.1.1.31.3667 10.1.1.21.7181 10.1.1.33.2343 10.1.1.23.3117 10.1.1.24.7879 10.1.1.18.8936 10.1.1.19.3770 10.1.1.19.5246 10.1.1.12.3293 10.1.1.2.2325 10.1.1.60.116 10.1.1.140.5244 10.1.1.143.3448 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+87:oai CiteSeerXPSU 10.1.1.59.5918:Coupling OWL with MPEG-7 and TV-Anytime for Domain-specific Multimedia Information Integration and Retrieval:Chrisa Tsinaraki Panagiotis Polydoros Nektarios Moumoutzis Stavros Christodoulakis:2009-04-19 The success of the Web is due to a large extent in the development of standards that allow interoperability in open environments. Future work in the field will have greater impact if it is based and built on existing standards. Well-accepted international standards for multimedia content descriptions are MPEG-7 and TV-Anytime. However, these standards do not propose a concrete methodology and language for the integration of domainspecific knowledge for the multimedia content. Moreover, domain-specific knowledge for a specific domain related to the content of a video may be described in a well-accepted ontology description language such as OWL, which is independent of MPEG-7 and TV-Anytime. CiteSeerX  2009-04-19 2008-02-05 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.5918 http //www.riao.org/Proceedings-2004/papers/1330.pdf en 10.1.1.103.1819 10.1.1.104.7893 10.1.1.106.3954 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+88:oai CiteSeerXPSU 10.1.1.43.3839:Specification and Execution of Transactional Workflows:Marek Rusinkiewicz Amit Sheth:2009-04-13 The basic transaction model has evolved over time to incorporate more complex transaction structures  and to selectively modify the atomicity and isolation properties. In this chapter we discuss the application  of transaction concepts to activities that involve coordinated execution of multiple tasks (possibly of  different types) over different processing entities. Such applications are referred to as transactional  workflows. In this chapter we discuss the specification of such workflows and the issues involved in their  execution.  1 What is a Workflow?  Workflows are activities involving the coordinated execution of multiple tasks performed by different processing entities. A task defines some work to be done and can be specified in a number of ways, including a textual description in a file or an email, a form, a message, or a computer program. A processing entity that performs the tasks may be a person or a software system (e.g., a mailer, an application program, a database mana... CiteSeerX ACM Press 2009-04-13 2007-11-22 1995 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.3839 http //lsdis.cs.uga.edu/lib/././download/RS93.ps en 10.1.1.17.1323 10.1.1.59.5051 10.1.1.38.6210 10.1.1.68.7445 10.1.1.109.5175 10.1.1.17.7962 10.1.1.44.7778 10.1.1.112.244 10.1.1.13.7602 10.1.1.102.7874 10.1.1.41.4043 10.1.1.49.5143 10.1.1.41.7252 10.1.1.17.3225 10.1.1.54.7761 10.1.1.55.5255 10.1.1.108.958 10.1.1.35.7733 10.1.1.52.3682 10.1.1.36.1618 10.1.1.45.6317 10.1.1.43.3180 10.1.1.35.8718 10.1.1.44.6365 10.1.1.51.2883 10.1.1.50.9206 10.1.1.6.9085 10.1.1.30.1707 10.1.1.80.6634 10.1.1.49.355 10.1.1.127.3550 10.1.1.35.3562 10.1.1.137.8832 10.1.1.49.4085 10.1.1.41.5506 10.1.1.40.4657 10.1.1.43.2369 10.1.1.40.832 10.1.1.74.5411 10.1.1.90.4428 10.1.1.110.6967 10.1.1.27.2122 10.1.1.15.5605 10.1.1.54.727 10.1.1.49.7512 10.1.1.45.8796 10.1.1.50.5984 10.1.1.53.137 10.1.1.30.3262 10.1.1.28.1680 10.1.1.21.7110 10.1.1.29.3148 10.1.1.57.687 10.1.1.59.5924 10.1.1.46.2812 10.1.1.51.5552 10.1.1.17.7375 10.1.1.40.1598 10.1.1.52.9787 10.1.1.1.3496 10.1.1.50.6791 10.1.1.55.3358 10.1.1.137.7582 10.1.1.118.4127 10.1.1.49.3580 10.1.1.35.5825 10.1.1.46.9382 10.1.1.31.7411 10.1.1.48.5504 10.1.1.55.5163 10.1.1.18.1603 10.1.1.52.8129 10.1.1.1.9723 10.1.1.21.9113 10.1.1.49.7644 10.1.1.52.6646 10.1.1.75.3106 10.1.1.80.2072 10.1.1.55.8770 10.1.1.54.8188 10.1.1.101.7919 10.1.1.104.8176 10.1.1.24.5741 10.1.1.29.4667 10.1.1.4.1055 10.1.1.48.9175 10.1.1.56.792 10.1.1.65.3172 10.1.1.66.5947 10.1.1.73.8532 10.1.1.83.8299 10.1.1.86.8521 10.1.1.87.2402 10.1.1.87.4648 10.1.1.90.5638 10.1.1.91.1709 10.1.1.94.4248 10.1.1.114.511 10.1.1.119.5037 10.1.1.124.7957 10.1.1.49.215 10.1.1.53.7777 10.1.1.53.9711 10.1.1.45.9409 10.1.1.40.8789 10.1.1.43.4845 10.1.1.34.8273 10.1.1.35.4783 10.1.1.28.3176 10.1.1.16.8151 10.1.1.8.9117 10.1.1.58.3449 10.1.1.142.7041 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+89:oai CiteSeerXPSU 10.1.1.33.8596:Dynamic Query Optimization and Query Processing in Multidatabase Systems 1.:Henryk Josinski:2009-04-15 Introduction  The multidatabase system (MDBS) approach, as a solution for integrated access to information distributed among diverse data sources, has gained a lot of attention in recent years. The multidatabase system is a database system which integrates pre--existing databases allowing the users to access simultaneously database systems (DBMSs) formulating a global query based on a global schema.  The component DBMSs are assumed to be heterogeneous and autonomous. Heterogeneity refers to different user interfaces, data models, query languages, and query optimization strategies [5]. Local autonomy means that each DBMS retains complete control over local data and processing. As result of this, its cost model may not be available to the global query optimizer.  When a global query is submitted, it is decomposed into two types of queries [1]   -- subqueries, operating on sharable data items from local databases,  -- assembling queries, consisting of, CiteSeerX  2009-04-15 2007-11-22 2000 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.8596 http //www.edbt2000.uni-konstanz.de/phd-workshop/papers/Josinski.pdf en 10.1.1.27.4704 10.1.1.51.8352 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+90:oai CiteSeerXPSU 10.1.1.55.2467:Using Reasoning of Description Logics for Query Processing in Multidatabase Systems:Alfredo Goñi Jesús Bermúdez José M. Blanco Arantza Illarramendi:2009-04-12 . Nowadays, the interest to work simultaneously with data stored in several databases is growing. Multidatabase Systems (MDBS) have been proposed as a solution to work with different pre-existing autonomous databases. Federated Database Systems (FDBS) are a special type of MDBS where an integrated schema is provided. This integrated schema is the result of an integration process among the schemata of the pre-existing autonomous databases. In our case we have built a FDBS that integrates several heterogeneous relational databases by using a particular type of Knowledge Representation system based on Description Logics (DL system) . The integrated schema is represented as a terminology formed by a set of classes and attributes. Although there has been a lot of research about the problems of translation and integration of schemata to obtain integrated ones, the problem of query processing against these integrated schemata has not been treated so much. In this paper we present an overview ... CiteSeerX  2009-04-12 2007-11-22 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.2467 http //sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-4/goni.ps en 10.1.1.32.6380 10.1.1.51.9343 10.1.1.47.9649 10.1.1.126.7225 10.1.1.7.9769 10.1.1.65.4869 10.1.1.32.7239 10.1.1.16.6464 10.1.1.50.3099 10.1.1.1.7655 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+91:oai CiteSeerXPSU 10.1.1.55.482:A Shared View of Sharing  The Treaty of Orlando:Lynn Andrea Stein Henry Lieberman David Ungar:2009-04-12 Introduction For the past few years, researchers have been debating the relative merits of object-oriented languages with classes and inheritance as opposed to those with prototypes and delegation. It has become clear that the object-oriented programming language design space is not a dichotomy. Instead, we have identified two fundamental mechanisms---templates and  empathy---and several different independent degrees of freedom for each. Templates create new objects in their own image, providing guarantees about the similarity of group members. Empathy allows an object to act as if it were some other object, thus providing sharing of state and behavior. The Smalltalk-80  TM  language,  1  Actors, Lieberman's Delegation  system, Self, and Hybrid each take differing stands on the forms of templates  1  Smalltalk-80  TM  is a trademark of Par CiteSeerX ACM Press 2009-04-12 2007-11-22 1989 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.482 http //lcs.www.media.mit.edu/people/lieber/Lieberary/OOP/Treaty/Treaty.ps en 10.1.1.26.9545 10.1.1.118.6579 10.1.1.48.69 10.1.1.57.5195 10.1.1.9.570 10.1.1.47.511 10.1.1.127.5320 10.1.1.100.4334 10.1.1.5.3348 10.1.1.39.3374 10.1.1.56.4713 10.1.1.61.2065 10.1.1.27.3015 10.1.1.1.5960 10.1.1.67.5433 10.1.1.31.8109 10.1.1.68.4062 10.1.1.49.3986 10.1.1.122.9331 10.1.1.46.8283 10.1.1.54.5230 10.1.1.16.2055 10.1.1.137.5180 10.1.1.43.5722 10.1.1.68.2105 10.1.1.35.1247 10.1.1.30.1415 10.1.1.7.5014 10.1.1.102.3946 10.1.1.105.6469 10.1.1.26.223 10.1.1.26.8645 10.1.1.35.4104 10.1.1.39.6986 10.1.1.41.7822 10.1.1.42.9056 10.1.1.53.9325 10.1.1.71.1802 10.1.1.76.6993 10.1.1.89.9613 10.1.1.121.5599 10.1.1.122.3737 10.1.1.127.1894 10.1.1.55.5674 10.1.1.37.8260 10.1.1.2.2077 10.1.1.24.5782 10.1.1.19.780 10.1.1.2.4148 10.1.1.2.4173 10.1.1.131.902 10.1.1.30.2927 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+92:oai CiteSeerXPSU 10.1.1.13.2374:Integrated Office Systems:O. M. Nierstrasz D. C. Tsichritzis:2009-04-17 Introduction  New techniques are sorely needed to aid in the development and maintenance of large application systems. The problem with traditional approaches to software engineering is well in evidence in the field of o#ce information systems  it is costly and di#cult to extend existing applications, and to get unrelated applications to "talk" to each other. The objectoriented approach is already being tentatively applied in the modeling of "o#ce objects" and in the presentation of these entities to users as such in "desktop" interfaces to o#ce software. In order to fully exploit the approach to achieve integrated o#ce systems, we need to use object-oriented programming languages, object-oriented run-time support, and object-oriented software engineering environments.  We can view the fundamental idea behind the object-oriented approach as that of encapsulation  object-oriented languages and systems exploit encapsulation in various ways in an attempt to enhance productivity through, f CiteSeerX  2009-04-17 2007-11-21 1988 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.2374 http //www.iam.unibe.ch/~scg/Archive/OSG/Nier89bIntegOfficeSystems.pdf en 10.1.1.26.9545 10.1.1.65.5865 10.1.1.34.624 10.1.1.12.8544 10.1.1.144.6983 10.1.1.26.6746 10.1.1.49.3064 10.1.1.30.4607 10.1.1.38.4894 10.1.1.20.8197 10.1.1.26.4381 10.1.1.29.1890 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+93:oai CiteSeerXPSU 10.1.1.42.9253:Integrated Office Systems:O. M. Nierstrasz D. C. Tsichritzis:2009-04-11 Introduction  New techniques are sorely needed to aid in the development and maintenance of large application systems. The problem with traditional approaches to software engineering is well in evidence in the field of office information systems  it is costly and difficult to extend existing applications, and to get unrelated applications to "talk" to each other. The objectoriented approach is already being tentatively applied in the modeling of "office objects" and in the presentation of these entities to users as such in "desktop" interfaces to office software. In order to fully exploit the approach to achieve integrated office systems, we need to use object-oriented programming languages, object-oriented run-time support, and object-oriented software engineering environments. We can view the fundamental idea behind the object-oriented approach as that of encapsulation  object-oriented languages and systems exploit encapsulation in various ways in an attempt t CiteSeerX ACM Press and Addison-Wesley 2009-04-11 2007-11-22 1988 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.9253 ftp //ftp.iam.unibe.ch/pub/scg/Papers/integratedOfficeSystems.ps.gz en 10.1.1.26.9545 10.1.1.65.5865 10.1.1.34.624 10.1.1.12.8544 10.1.1.144.6983 10.1.1.26.6746 10.1.1.49.3064 10.1.1.30.4607 10.1.1.38.4894 10.1.1.20.8197 10.1.1.26.4381 10.1.1.29.1890 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+94:oai CiteSeerXPSU 10.1.1.86.3568:Topics  Selected Reference References The following books are useful references.:Alfred V. Aho John E. Hopcroft:2008-07-01 but it lacks topics in network flows and linear programming, as well as more recent algorithms. It is amazing that after more than twenty years it remains an extremely valuable book. 2. Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. Data Structures and Algorithms. Addison-Wesley, 1983. Revised and more elementary version of the first six chapters of The Design and Analysis of Computer Algorithms. CiteSeerX  2008-07-01 2008-04-01 2000 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.86.3568 http //graphics.stanford.edu/courses/cs161-00-winter/handouts/references.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+95:oai CiteSeerXPSU 10.1.1.100.9631:[3] S. Abiteboul, R. Hull, and V. Vianu. Foundations of Databases. Addison-:S. Acharya P. B. Gibbons V. Poosala S. Ramaswamy The Aqua:2008-07-01 [4] S. Abiteboul and P. Kanellakis. Object identity as a query language primitive. CiteSeerX  2008-07-01 2008-04-02 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.9631 http //www.ateneonline.it/rama/6114-6_biblio.pdf en 10.1.1.17.2504 10.1.1.29.4781 10.1.1.96.1350 10.1.1.19.1226 10.1.1.120.576 10.1.1.28.4924 10.1.1.43.2125 10.1.1.40.8642 10.1.1.28.7845 10.1.1.91.7258 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+96:oai CiteSeerXPSU 10.1.1.25.5524:Games and total Datalog ... Queries:Jörg Flum Max Kubierschky Bertram Ludäscher:2009-04-16 We show that the expressive power of Datalog @ programs under the well-founded semantics does not decrease when restricted to total programs thereby affirmatively answering an open question posed by Abiteboul et al. (Foundations of Databases, Addison-Wesley, Reading, MA, 1995). In particular, we show that for every such program there exists an equivalent total program whose only recursive rule is of the form win( # X ) # move( # X  # Y )  @win( # Y )  where move is definable by a quantifier-free first-order formula. Also, for the non-inflationary semantics we derive a new normal form whose only recursive rule simulates a version of the game of life. CiteSeerX  2009-04-16 2007-11-21 2000 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.5524 http //www.sdsc.edu/~ludaesch/Paper/tcs2000.pdf en 10.1.1.53.8258 10.1.1.32.9446 10.1.1.144.1424 10.1.1.46.9441 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+97:oai CiteSeerXPSU 10.1.1.62.2095:<author><last-name>Abiteboul</last-name></author> <author><last-name>Hull</last-name></author> <author><last-name>Vianu</last-name></author> <title>Foundations of Databases</title>:Peter Wood Overview Of Xml:2008-07-01 magazine → title volume issue date • event-condition-action (ECA) rules for XML • analysing ECA rules • containment and equivalence of XPath queries • conclusions and future work CiteSeerX  2008-07-01 2008-02-06 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.62.2095 http //www.dcs.bbk.ac.uk/~ptw/analysis.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+98:oai CiteSeerXPSU 10.1.1.49.2910:Active Database Systems:Umeshwar Dayal Eric N. Hanson Jennifer Widom:2009-04-12 In Won Kim editor Modern Database Systems The Object Model Integrating a production rules facility into a database system provides a uniform mechanism for a number of advanced database features including integrity constraint enforcement, derived data maintenance, triggers, alerters, protection, version control, and others. In addition, a database system with rule processing capabilities provides a useful platform for large and efficient knowledge-base and expert systems. Database systems with production rules are referred to as active database systems, and the field of active database systems has indeed been active. This chapter summarizes current work in active database systems  topics covered include active database rule models and languages, rule execution semantics, and implementation issues.  1 Introduction  Conventional database systems are passive  they only execute queries or transactions explicitly submitted by a user or an application program. For many applications, however, it is important to monitor situations of interest, and to ... CiteSeerX ACM Press 2009-04-12 2007-11-22 1994 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.2910 http //www-db.stanford.edu/pub/papers/book-chapter.ps en 10.1.1.17.1323 10.1.1.143.7196 10.1.1.50.3821 10.1.1.51.9946 10.1.1.41.2030 10.1.1.46.2504 10.1.1.52.4421 10.1.1.38.2083 10.1.1.34.661 10.1.1.103.7630 10.1.1.100.9015 10.1.1.97.1699 10.1.1.107.4220 10.1.1.47.9217 10.1.1.133.7157 10.1.1.101.5051 10.1.1.30.9989 10.1.1.53.6941 10.1.1.50.8529 10.1.1.133.4287 10.1.1.50.7278 10.1.1.10.1688 10.1.1.19.8669 10.1.1.44.7600 10.1.1.144.376 10.1.1.44.1348 10.1.1.47.9998 10.1.1.90.4428 10.1.1.108.344 10.1.1.48.9470 10.1.1.53.5472 10.1.1.52.4872 10.1.1.144.4965 10.1.1.31.7578 10.1.1.32.6426 10.1.1.58.6335 10.1.1.85.8052 10.1.1.93.1931 10.1.1.55.4610 10.1.1.21.3821 10.1.1.26.9208 10.1.1.31.4869 10.1.1.48.1833 10.1.1.83.8628 10.1.1.87.9318 10.1.1.90.2195 10.1.1.36.5184 10.1.1.21.1704 10.1.1.53.1733 10.1.1.90.3181 10.1.1.53.6783 10.1.1.52.6151 10.1.1.104.6911 10.1.1.105.1691 10.1.1.21.1984 10.1.1.23.2775 10.1.1.62.5556 10.1.1.68.9063 10.1.1.74.4746 10.1.1.78.5097 10.1.1.84.743 10.1.1.84.904 10.1.1.87.6019 10.1.1.88.3907 10.1.1.89.9631 10.1.1.90.4147 10.1.1.92.365 10.1.1.100.2747 10.1.1.98.5083 10.1.1.98.6663 10.1.1.99.1894 10.1.1.99.8174 10.1.1.133.8073 10.1.1.52.7823 10.1.1.39.5341 10.1.1.35.3458 10.1.1.26.4620 10.1.1.18.8936 10.1.1.19.3694 10.1.1.12.631 10.1.1.48.6394 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+99:oai CiteSeerXPSU 10.1.1.103.3060:AN OUT-OF-CORE SPARSE SYMMETRIC INDEFINITE FACTORIZATION METHOD:Omer Meshar Sivan Toledo:2008-07-01 Abstract. We present a new out-of-core sparse symmetric-indefinite factorization algorithm. The most significant innovation of the new algorithm is a dynamic partitioning method for the sparse factor. This partitioning method results in very low input-output traffic and allows the algorithm to run at high computational rates even though the factor is stored on a slow disk. Our implementation of the new code compares well with both high-performance incore sparse symmetric-indefinite codes and with a high-performance out-of-core sparse Cholesky code. More specifically, the new code provides a new capability that none of these existing codes has  it can factor symmetric indefinite matrices whose factors are larger than main memory  it is somewhat slower, but not by much. For example, it factors, on a conventional 32-bit workstation, an indefinite finite-element matrix whose factor size is about 10 GB in less than an hour. 1. CiteSeerX  2008-07-01 2008-04-03 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.103.3060 http //www.cs.tau.ac.il/~stoledo/Pubs/ooc-indef.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+100:oai CiteSeerXPSU 10.1.1.33.948:Model-Checking CSP-Z  Strategy, Tool Support and Industrial Application:Alexandre Mota Augusto Sampaio:2009-04-15 Key words Model-Checking Linking Theories and Tools Industrial Case Study Formal Verication Concurrent and Model-Based Specications satellite Model-checking is now widely accepted as an ecient method for analysing computer system properties, such as deadlock-freedom. Its practical applicability is due to existing automatic tools which deal with tedious proofs. Another research area of increasing interest is formal language integration where the capabilities of each language are used to capture precisely some aspects of a system. In this paper we propose a general strategy for model-checking CSP-Z specications using as tool support the FDR model-checker. The CSP-Z language is a semantical integration of CSP and Z, such that CSP handles the concurrent aspects of a system, and Z the data structures part. We also present a modular approach for model-checking complex CSP-Z specications, specically to verify deadlock-freedom. Finally, we present a CSP-Z specication for a subset of a real Brazilian articial microssatellite, and apply the proposed strategy to prove that this specication is deadlock-free.  Key words  Model-Chec... CiteSeerX  2009-04-15 2007-11-22 2001 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.948 http //www.di.ufpe.br/~acm/Publications/Journal99.ps.gz en 10.1.1.139.4033 10.1.1.51.8952 10.1.1.49.7093 10.1.1.70.224 10.1.1.33.1213 10.1.1.29.1650 10.1.1.29.2879 10.1.1.26.8614 10.1.1.130.3103 10.1.1.4.3615 10.1.1.88.2106 10.1.1.107.9213 10.1.1.65.6682 10.1.1.71.769 10.1.1.98.2521 10.1.1.117.2016 10.1.1.58.1370 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
diff --git a/asterix-fuzzyjoin/data/pub-small/raw.csx-000/part-00000 b/asterix-fuzzyjoin/data/pub-small/raw.csx-000/part-00000
new file mode 100644
index 0000000..0813657
--- /dev/null
+++ b/asterix-fuzzyjoin/data/pub-small/raw.csx-000/part-00000
@@ -0,0 +1,100 @@
+oai CiteSeerXPSU 10.1.1.39.1830:Object SQL - A Language for the Design and Implementation of Object Databases:Jurgen Annevelink Rafiul Ahad Amelia Carlson Dan Fishman Mike Heytens William Kent:2009-04-13 ly, a function application expression consists of two expressions  a function reference (labelled func_ref in Figure 3 line 2), and an argument (labelled arg). The func_ref expression evaluates to a (generic or specific) function identifier, which may be the same as the function that the expression is a part of, thus allowing recursive function invocations. The expression labelled arg evaluates to an arbitrary object or aggregate object. The semantics of evaluating function applications was discussed in detail in section 2. For example, to set the name of a person, we evaluate the following expression   FunAssign(function name.person) (p1,'John')  In this example, the first expression is itself a function call, applying the function FunAssign to the function name.person (an example of a specific function reference). This returns the oid of the function that sets a person's name, which is subsequently applied to a tuple of two elements, the oid of the person and the new name (a string o... CiteSeerX ACM Press 2009-04-13 2007-11-22 1994 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.1830 http //www.tu-chemnitz.de/~igrdb/docs/OpenODB/osql.ps.gz en 10.1.1.31.2534 10.1.1.28.4658 10.1.1.44.5947 10.1.1.39.199 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1483:Candidate high myopia loci on chromosomes 18p and 12q do not play a major role in susceptibility to common myopia:Grace Ibay Betty Doan Lauren Reider Debra Dana Melissa Schlifka Heping Hu Taura Holmes Jennifer O'Neill Robert Owens Elise Ciner Joan Bailey-Wilson Dwight Stambolian:2009-05-24 Background  To determine whether previously reported loci predisposing to nonsyndromic high myopia show linkage to common myopia in pedigrees from two ethnic groups  Ashkenazi Jewish and Amish. We hypothesized that these high myopia loci might exhibit allelic heterogeneity and be responsible for moderate /mild or common myopia.  Methods  Cycloplegic and manifest refraction were performed on 38 Jewish and 40 Amish families. Individuals with at least -1.00 D in each meridian of both eyes were classified as myopic. Genomic DNA was genotyped with 12 markers on chromosomes 12q21-23 and 18p11.3. Parametric and nonparametric linkage analyses were conducted to determine whether susceptibility alleles at these loci are important in families with less severe, clinical forms of myopia.  Results  There was no strong evidence of linkage of common myopia to these candidate regions  all two-point and multipoint heterogeneity LOD scores were < 1.0 and non-parametric linkage p-values were > 0.01. However, one Amish family showed slight evidence of linkage (LOD>1.0) on 12q  another 3 Amish families each gave LOD >1.0 on 18p  and 3 Jewish families each gave LOD >1.0 on 12q.  Conclusions  Significant evidence of linkage (LOD> 3) of myopia was not found on chromosome 18p or 12q loci in these families. These results suggest that these loci do not play a major role in the causation of common myopia in our families studied. CiteSeerX  2009-05-24 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1483 http //www.biomedcentral.com/content/pdf/1471-2350-5-20.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1484:Winner-Take-All Network Utilising Pseudoinverse Reconstruction Subnets Demonstrates Robustness on the Handprinted Character Recognition Problem:J. Körmendy-rácz S. Szabó J. Lörincz G. Antal G. Kovács A. Lörincz:2009-05-24 Correspondence and offprint requests to J. Kormendy-Rácz Wittmeyer’s pseudoinverse iterative algorithm is formulated  as a dynamic connectionist Data Compression and Reconstruction (DCR) network, and subnets of this type are supplemented by the winner-take-all paradigm. The winner is selected upon the goodness-of-fit of the input reconstruction. The network can be characterised as a competitive-cooperative-competitive architecture by virtue of the contrast enhancing properties of the pseudoinverse subnets. The network is capable of fast learning. The adopted learning method gives rise to increased sampling in the vicinity of dubious boundary regions that resembles the phenomenon of categorical perception. The generalising abilities of the scheme allow one to utilise single bit connection strengths. The network is robust against input noise and contrast levels, shows little sensitivity to imprecise connection strengths, and is promising for mixed VLSI implementation with on-chip learning properties. The features of the DCR network are demonstrated on the NIST database of handprinted characters. CiteSeerX Springer 2009-05-24 2007-11-19 1999 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1484 http //people.inf.elte.hu/lorincz/Files/publications/WTA_NCA.pdf en 10.1.1.134.6077 10.1.1.65.2144 10.1.1.54.7277 10.1.1.48.5282 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1485:DEEM  a Tool for the Dependability Modeling and Evaluation:A. Bondavalli I. Mura S. Chiaradonna S. Poli F. Sandrini:2009-05-24 Processes Multiple-Phased Systems, whose operational life can be partitioned in a set of disjoint periods, called ¿phases¿  include several classes of systems such as Phased Mission Systems and Scheduled Maintenance Systems. Because of their deployment in critical applications, the dependability modeling and analysis of Multiple-Phased Systems is a task of primary relevance. However, the phased behavior makes the analysis of Multiple-Phased Systems extremely complex. This paper is centered on the description and application of DEEM, a dependability modeling and evaluation tool for Multiple Phased Systems. DEEM supports a powerful and efficient methodology for the analytical dependability modeling and evaluation of Multiple Phased Systems, based on Deterministic and Stochastic Petri Nets and on Markov Regenerative Processes. CiteSeerX IEEE Computer Society 2009-05-24 2007-11-19 2000 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1485 http //bonda.cnuce.cnr.it/Documentation/Papers/file-BMCFPS00-DSN2000-76.pdf en 10.1.1.47.2594 10.1.1.58.2039 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1486:Dynamical networks in function dynamics:Naoto Kataoka Kunihiko Kaneko:2009-05-24 Function dynamics Iterated map Self-reference Dynamical network As a first step toward realizing a dynamical system that evolves while spontaneously determining its own rule for time evolution, function dynamics (FD) is analyzed. FD consists of a functional equation with a self-referential term, given as a dynamical system of a one-dimensional map. Through the time evolution of this system, a dynamical graph (a network) emerges. This graph has three interesting properties  (i) vertices appear as stable elements, (ii) the terminals of directed edges change in time, and (iii) some vertices determine the dynamics of edges, and edges determine the stability of the vertices, complementarily. Two aspects of FD are studied, the generation of a graph (network) structure and the dynamics of this graph (network) in the system. CiteSeerX  2009-05-24 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1486 http //chaos.c.u-tokyo.ac.jp/others/kataoka03.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1487:Simulation  Prototyping:Ingolf Ståhl:2009-04-24 A simulation model is successful if it leads to policy action, i.e., if it is implemented. Studies show that for a model to be implemented, it must have good correspondence with the mental model of the system held by the user of the model. The user must feel confident that the simulation model corresponds to this mental model. An understanding of how the model works is required. Simulation models for implementation must be developed step by step, starting with a simple model, the simulation prototype. After this has been explained to the user, a more detailed model can be developed on the basis of feedback from the user. Software for simulation prototyping is discussed, e.g., with regard to the ease with which models and output can be explained and the speed with which small models can be written. CiteSeerX  2009-04-24 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1487 http //www.informs-cs.org/wsc02papers/073.pdf en 10.1.1.17.7647 10.1.1.134.3230 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1488:Hedging beyond duration and convexity:Jian Chen Michael C. Fu:2009-05-24 Hedging of fixed income securities remains one of the most challenging problems faced by financial institutions. The predominantly used measures of duration and convexity do not completely capture the interest rate risks borne by the holder of these securities. Using historical data for the entire yield curve, we perform a principal components analysis and find that the first four factors capture over 99.99% of the yield curve variation. Incorporating these factors into the pricing of arbitrary fixed income securities via Monte Carlo simulation, we derive perturbation analysis (PA) estimators for the price sensitivities with respect to the factors. Computational results for mortgage-backed securities (MBS) indicate that using these sensitivity measures in hedging provides far more protection against interest risk exposure than the conventional measures of duration and convexity. CiteSeerX  2009-05-24 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1488 http //www.informs-cs.org/wsc02papers/218.pdf en 10.1.1.113.9305 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1489:Designing for social friction  Exploring ubiquitous computing as means of cultural interventions in urban space:Rune Huvendick Jensen Tau Ulv Lenskjold:2009-05-24 everyday life urban space Situationism As ubiquitous computing emerges in our lives and cities new opportunities for artistic and otherwise cultural interventions in urban space follow, but so far not much work has been done in order to articulate the socio-cultural significance of these new opportunities. This paper is part of a general attempt to develop a coherent understanding of the implications and potentials of ubiquitous computing in the context of everyday city life. On a more specific level the paper examines how the notion of social friction can be helpful in the development and analysis of ubiquitous computing in relation to art and design. Social friction is articulated as a critical position, which could be applied as a strategy for design. Our approach consists of a theoretical analysis and precedes concrete development and real-life experiments. As such the paper aims to establish a steppingstone from which to launch actual digital designs. We argue that by designing for the social friction, which is an intrinsic characteristic of everyday life, new forms of social and cultural potentials can be released. By means of discussing CityNova, a vision for a possible use of ubiquitous computing in urban space, we explore how this approach might lead to systems that create new ways of experiencing the city. CiteSeerX  2009-05-24 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1489 http //asp.cbs.dk/cade2004/proceedings/fullpapers/7_jensen_final_fullpaper.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1490:Optimal Combination of Number of Taps and Coefficient Bit-Width for Low Power FIR Filter Realization:João Portela Eduardo Costa José Monteiro:2009-05-24 This paper addresses the optimization of FIR filters for low power. We propose a search algorithm to find the combination of the number of taps and coe#cient bit-width that leads to the minimum number of total partial sums, and hence to the least power consumption. We show that the minimum number of taps does not necessarily lead to the least power consumption in fully parallel FIR filter architectures. This is particularly true if the reduction of the bit-width of the coe#cients is taken into account. We show that power is directly related to the total number of partial sums in the FIR filter, which in turn is determined by the number of bits set to 1 in the coe#cients. We have developed a search algorithm that achieves up to 36% less power consumption when compared to an implementation using the minimum number of taps. CiteSeerX  2009-05-24 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1490 http //tahoe.inesc-id.pt/pt/Ficheiros/1188.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1491:The Influence of a Course on Direct and Activating Instruction upon Student Teachers' Classroom Practice:Simon Veenman Eddie Denessen Ingrid Van Den Oord Ferdy Naafs:2009-05-24 Educational research has highlighted the importance of maintaining an orderly classroom environment and providing both clear and well-organized instruction tailored to the needs of individual students. Time spent on direct instruction and particularly the direct instruction of basic skills is associated with school learning (Wang, Haertel & Walberg, 1993). With the increased interest in constructivistic conceptions of learning and teaching today, educators with constructivistic orientations contend that various forms of knowledge and skills are applied more generally when constructed by the learners themselves as opposed to explicitly taught  "knowledge is made, not acquired" (Phillips, 2000, p. 7). Such a view nevertheless often leads to an inclination to reject direct instruction by the teacher (see, for example, Brooks & Brooks, 1993). It should be noted, however, that many of the discussions of constructivistic orientations to learning and instruction are at the level of slogan and cliché (Duffy & Cunningham, 1996  Finn & Ravitch, 1996  Kozloff, 1998). In addition, the term constructivism has come to serve as an umbrella term for a diversity of views (Phillips, 1995  2000). CiteSeerX  2009-05-24 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1491 http //www.socsci.kun.nl/ped/owk/onderwijs/cursussen/io242/papers/earli2003_direct_instruction.pdf en 10.1.1.29.1993 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1492:Multiplanar Applications and Multimodal Networks:S. Keshav:2009-05-24 Future applications network architecture We believe that a broad class of future applications will span both the Internet and the telephone network because such multiplanar applications have several economic and architectural advantages over conventional ones. We also envision the close interlinking of the telephone network and the Internet to form a multimodal network. In this paper, we describe these applications and networks, outline their architecture, and present our experiences in constructing a prototype multiplanar application. CiteSeerX  2009-05-24 2007-11-19 1999 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1492 http //www.cs.cornell.edu/skeshav/papers/openarch99.pdf en 10.1.1.17.5614 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1493:Free-Riding and Whitewashing in Peer-to-Peer Systems:Michal Feldman Christos Papadimitriou John Chuang Ion Stoica:2009-05-24 We devise a simple model to study the phenomenon of free-riding and the effect of free identities on user behavior in peer-to-peer systems. At the heart of our model is a strategic user of a certain type, an intrinsic and private parameter that reflects the user's generosity. The user decides whether to contribute or free-ride based on how the current burden of contributing in the system compares to her type. We derive the emerging cooperation level in equilibrium and  quantify the effect of providing free-riders with degraded service on the emerging cooperation. We find that this penalty  mechanism is beneficial mostly when the "generosity level" of the society (i.e., the average type) is low. To quantify the social cost of free identities, we extend the model to account for dynamic scenarios with turnover (users joining and leaving) and with whitewashers  users who strategically leave the system and re-join with a new identity. We find that the imposition of penalty on all legitimate newcomers incurs a significant social loss only under high turnover rates in conjunction with intermediate societal generosity levels. CiteSeerX  2009-05-24 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1493 http //www.dtc.umn.edu/weis2004/feldman.pdf en 10.1.1.18.6611 10.1.1.12.2253 10.1.1.12.6173 10.1.1.11.4846 10.1.1.127.6039 10.1.1.130.2771 10.1.1.30.6376 10.1.1.1.3415 10.1.1.42.1211 10.1.1.15.3743 10.1.1.11.6993 10.1.1.13.9315 10.1.1.12.9564 10.1.1.6.1046 10.1.1.101.3865 10.1.1.112.397 10.1.1.77.6233 10.1.1.76.9348 10.1.1.60.8693 10.1.1.1.3899 10.1.1.84.7582 10.1.1.116.3542 10.1.1.59.9845 10.1.1.119.8132 10.1.1.132.4448 10.1.1.143.2268 10.1.1.60.4396 10.1.1.87.4710 10.1.1.137.696 10.1.1.60.8756 10.1.1.97.1922 10.1.1.105.4069 10.1.1.76.3341 10.1.1.80.5437 10.1.1.93.1336 10.1.1.131.1666 10.1.1.102.2386 10.1.1.108.4119 10.1.1.108.5840 10.1.1.109.7946 10.1.1.66.8436 10.1.1.73.5608 10.1.1.73.5797 10.1.1.75.4852 10.1.1.83.2020 10.1.1.85.8881 10.1.1.87.5160 10.1.1.92.3905 10.1.1.92.5572 10.1.1.95.1197 10.1.1.95.6876 10.1.1.110.4873 10.1.1.111.8663 10.1.1.112.1051 10.1.1.113.5715 10.1.1.113.7254 10.1.1.115.348 10.1.1.120.8054 10.1.1.123.6169 10.1.1.128.7663 10.1.1.129.3166 10.1.1.134.3014 10.1.1.135.98 10.1.1.59.9602 10.1.1.129.9940 10.1.1.141.1032 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1494:A Simple Algorithm for Complete Motion Planning of Translating Polyhedral Robots:Gokul Varadhan Shankar Krishnan T. V. N. Sriram Dinesh Manocha:2009-05-24 We present an algorithm for complete path planning for translating polyhedral robots in 3D. Instead of exactly computing an explicit representation of the free space, we compute a roadmap that captures its connectivity. This representation encodes the complete connectivity of free space and allows us to perform exact path planning. We construct the roadmap by computing deterministic samples in free space that lie on an adaptive volumetric grid. Our algorithm is simple to implement and uses two tests  a complex cell test and a star-shaped test. These tests can be efficiently performed on polyhedral objects using max-norm distance computation and linear programming. The complexity of our algorithm varies as a function of the size of narrow passages in the configuration space. We demonstrate the performance of our algorithm on environments with very small narrow passages or no collision-free paths. CiteSeerX Sage Publications, Inc. 2009-05-24 2007-11-19 2005 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1494 http //www.cs.unc.edu/~varadhan/papers/motion.pdf en 10.1.1.19.3462 10.1.1.20.8539 10.1.1.52.7808 10.1.1.31.1678 10.1.1.34.1071 10.1.1.88.5053 10.1.1.1.3224 10.1.1.66.385 10.1.1.58.2466 10.1.1.76.8798 10.1.1.88.305 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1495:Modeling Ship Arrivals in Ports:Eelco van Asperen Rommert Dekker Mark Polman Henk de Swaan Arons:2009-04-29 The model used in this report focuses on the analysis  of ship waiting statistics and stock fluctuations under different  arrival processes. However, the basic outline is the  same  central to both models are a jetty and accompanying  tankfarm facilities belonging to a new chemical plant in the   Port of Rotterdam. Both the supply of raw materials and   the export of finished products occur through ships loading   and unloading at the jetty. Since disruptions in the plants  production process are very expensive, buffer stock is  needed to allow for variations in ship arrivals and overseas  exports through large ships.   Ports provide jetty facilities for ships to load and unload  their cargo. Since ship delays are costly, terminal operators  attempt to minimize their number and duration. Here, simulation  has proved to be a very suitable tool. However, in port  simulation models, the impact of the arrival process of ships  on the model outcomes tends to be underestimated. This article  considers three arrival processes  stock-controlled,   equidistant per ship type, and Poisson. We assess how their  deployment in a port simulation model, based on data from a  real case study, affects the efficiency of the loading and  unloading process. Poisson, which is the chosen arrival  process in many client-oriented simulations, actually performs worst in terms of both ship delays and required storage capacity. Stock-controlled arrivals perform best with regard to ship delays and required storage capacity.   In the case study two types of arrival processes were  considered. The first type are the so-called stock-controlled  arrivals, i.e., ship arrivals are scheduled in such a way, that  a base stock level is maintained in the tanks. Given a base  stock level of a raw material or ... CiteSeerX  2009-04-29 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1495 http //www.informs-cs.org/wsc03papers/222.pdf en 10.1.1.17.1837 10.1.1.120.9692 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1496:In Proceedings of the16th IFAC Symposium on Automatic Control in Aerospace, Elsevier Science Ltd, Oxford,:Uk Cognitive Tools Donald Sofge Dennis Perzanowski Marjorie Skubic Magdalena Bugajska J. Gregory Trafton Nicholas Cassimatis Derek Brock William Adams Alan Schultz:2009-04-19 Cognitive Systems Co-operative Control Speech Recognition Natural Language Human-Machine Interface Autonomous Mobile Robots The effective use of humanoid robots in space will depend upon  the efficacy of interaction between humans and robots. The key to  achieving this interaction is to provide the robot with sufficient skills for  natural communication with humans so that humans can interact with the  robot almost as though it were another human. This requires that a number  of basic capabilities be incorporated into the robot, including voice  recognition, natural language, and cognitive tools on-board the robot to  facilitate interaction between humans and robots through use of common  representations and shared humanlike behaviors. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1496 http //www.aic.nrl.navy.mil/~dennisp/ifac.aca.2004.pdf en 10.1.1.13.8248 10.1.1.101.9124 10.1.1.58.5211 10.1.1.99.4007 10.1.1.58.4797 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1497:Exploiting Computer Automation to Improve the Interview Process and Increase Survey Cooperation:Jeffrey C. Moore Jeffrey C. Moore:2009-04-19 burden conversational norms efficiency flow nonresponse/attrition questionnaire design respondent-friendly I. In Couper (2002) outlines the "challenges and opportunities" of recent and stillemerging technological developments on the conduct of survey research. This paper focuses on one such development -- the use of computer-assisted survey instruments in place of paper-andpencil questionnaires -- and it focuses on one particular opportunity which this development presents  the ability to improve efficiency, "flow," and naturalness, and in general make the interview experience a more pleasant one for all participants, while still controlling question wording and sequencing. Moral arguments can be raised in defense of such efforts  the potential for important practical benefits, including improved survey cooperation, lends more mundane but perhaps more potent support. Although the research literature is surprisingly scant, there is some evidence that improved instrument design can reduce nonresponse. A recent effort by the U.S. Census Bureau to redesign the core instrument for the Survey of Income and Program Participation (SIPP) offers additional support. Motivated in large measure by evidence of increasing unit nonresponse and attrition, the primary goal of the SIPP redesign effort was to improve the interview process, and in particular to seek ways to avoid violations of conversational norms (e.g., Grice, 1975). A great many of the SIPP interview process improvements would not have been feasible without the computerization of the survey instrument. This paper briefly summarizes many of the technology-based changes implemented in the SIPP instrument, and briefly describes a set of field experiments used to develop and refine the new procedures and to evaluate their success in achieving SIPP's redesign goals. Keywords  burden, conversational norms, efficiency, flow, nonresponse/... CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1497 http //www.census.gov/srd/papers/pdf/rsm2004-01.pdf en 10.1.1.131.9305 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1499:Performance and Design Evaluation:Of The Raid-Ii Peter M. Chen Edward K. Lee Ann L. Drapeau Ethan L. Miller Srinivasan Seshan Ken Shirriff David A. Patterson Y H. Katz:2009-04-19 RAID-II is a high-bandwidth, networkattached storage server designed and implemented at the University of California at Berkeley. In this paper, we measure the performance of RAID-II and evaluate various architectural decisions made during the design process. We first measure the end-to-end performance of the system to be approximately 20 MB/s for both disk array reads and writes. We then perform a bottleneck analysis by examining the performance of each individual subsystem and conclude that the disk subsystem limits performance. By adding a custom interconnect board with a high-speed memory and bus system and parity engine, we are able to achieve a performance speedup of 8 to 15 over a comparative system using only off-theshelf hardware. CiteSeerX  2009-04-19 2007-11-19 1994 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1499 http //ssrc.cse.ucsc.edu/~elm/Papers/ipps93.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1500:The Marinov Motor, Notional Induction:Without Magnetic Field J. P Wesley:2009-04-19 Introduction  The force of induction F on a charge q is given by  FA=-qtcdd,(1)  where A is the usual magnetic vector potential defined by  A r  rJr  rrc  -  s    ,(2)  where J is the current density. Slowly varying effects are assumed here, where the basic theory may be given as a true relativity theory, involving the separation distance between two charges and its time derivatives.  This force of induction, Eq. (1), yields Faraday's law of electromagnetic induction for the special case of an electromotive force (emf) around a fixed closed loop. In particular,  emf  d  d  d  d  d    '  &  (  0  ) =-  =-  =-    s s s  sF  q  s  tc tc  an  tc  an  A  B    ,(3)  where F is the magnetic flux through the loop.  It is observed in the laboratory that an emf is also induced when =A tc 0 , and the magnetic flux through the loop is changed by moving the loop, so Faraday's law becomes  emf = -      .-(4)  Francisco Mller's (1987) experiments show that induction occurs locally and that the force CiteSeerX  2009-04-19 2007-11-19 2001 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1500 http //redshift.vif.com/JournalFiles/Pre2001/V05NO3PDF/v05n3wes.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1501:Biometric Verification Based on Grip-Pattern Recognition:Raymond Veldhuis Asker Bazen Joost Kauffman Pieter Hartel:2009-04-19 Biometric verification likelihood ratio smart gun grip-pattern recognition This paper describes the design, implementation and evaluation of a user-verification system for a smart gun, which is based on grip-pattern recognition. An existing pressure sensor consisting of an array of 44    44 piezoresistive elements is used to measure the grip pattern. An interface has been developed to acquire pressure images from the sensor. The values of the pixels in the pressure-pattern images are used as inputs for a verification algorithm, which is currently implemented in software on a PC. The verification algorithm is based on a likelihoodratio classifier for Gaussian probability densities. First results indicate that it is feasible to use grip-pattern recognition for biometric verification. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1501 http //www.ub.utwente.nl/webdocs/ctit/1/000000f5.pdf en 10.1.1.9.5838 10.1.1.101.5555 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1502:Relativistic Doppler Effect and the Principle of Relativity:W. Engelhardt:2009-04-19 Relativity Doppler Effect Aberration a private address Fasaneriestrasse 8 D-80636 München The frequency shifts predicted by the `relativistic' Doppler  e#ect are derived in the photon picture of light. It turns  out that, in general, the results do not depend exclusively  on the relative velocity between observer and light source. CiteSeerX  2009-04-19 2007-11-19 2003 text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1502 http //redshift.vif.com/JournalFiles/V10NO4PDF/V10N4ENG.PDF en 10.1.1.58.3335 10.1.1.140.9931 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1503:Differential Association Rule Mining for the Study of Protein-Protein Interaction Networks:Christopher Besemann Anne Denton Ajay Yekkirala Ron Hutchison Marc Anderson:2009-04-19 Protein-protein interactions are of great interest to biologists. A variety of high-throughput techniques have been devised, each of which leads to a separate definition of an interaction network. The concept of differential association rule mining is introduced to study the annotations of proteins in the context of one or more interaction networks. Differences among items across edges of a network are explicitly targeted. As a second step we identify differences between networks that are separately defined on the same set of nodes. The technique of differential association rule mining is applied to the comparison of protein annotations within an interaction network and between different interaction networks. In both cases we were able to find rules that explain known properties of protein interaction networks as well as rules that show promise for advanced study. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1503 http //www.cs.ndsu.nodak.edu/%7Eadenton/publications/BIOKDD040712a.pdf en 10.1.1.40.6984 10.1.1.40.9892 10.1.1.12.6495 10.1.1.13.6963 10.1.1.113.6042 10.1.1.36.2485 10.1.1.10.7611 10.1.1.18.8344 10.1.1.12.7211 10.1.1.32.7066 10.1.1.12.3538 10.1.1.56.7889 10.1.1.12.8995 10.1.1.11.2425 10.1.1.27.9671 10.1.1.21.3747 10.1.1.1.5073 10.1.1.66.4476 10.1.1.67.617 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1504:Combining Adaptive and Deterministic Routing  Evaluation of a Hybrid Router:Dianne Kumar And Dianne Kumar Walid A. Najjar:2009-04-19 This paper reports on the implementation and evaluation ofahybrid routing scheme that combines the advantages of deterministic and adaptive routing. An expanded version of this paper can be found in #1#  In the deterministic, or dimension-ordered, routing algorithm a message is routed along decreasing dimensions with a dimension decrease occurring only when zero hops remain in all higher dimensions. Virtual channels #VCs# are included in the router to avoid deadlock #6#. Deterministic routing can su#er from congestion since only a single path between source and destination can be used CiteSeerX Springer 2009-04-19 2007-11-19 1999 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1504 http //www.cs.ucr.edu/%7Enajjar/papers/canpc99.pdf en 10.1.1.117.7403 10.1.1.80.5595 10.1.1.44.6553 10.1.1.53.4729 10.1.1.22.6577 10.1.1.24.4663 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1505:Towards a More Complete Model of Role:Adrian Baldwin Cheh Goh Cheh Goh:2009-04-19 In order to manage the use of roles for the purpose of access control, it is important to look at attributes beyond the consideration of capability assignment. Fundamentally, a generic attribute description using a constraint-based approach will allow many of the important aspects of role, such as scope, activation and deactivation, to be included. Furthermore, the commonly accepted concept of role hierarchy is challenged from the point of view of subsidiarity in real organisations, with the suggestion that role hierarchy has limited usefulness that does not seem to apply widely. CiteSeerX  2009-04-19 2007-11-19 1998 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1505 http //www.cs.kun.nl/is/Library/./Data/1998/Goh/Towards/1998-Goh-Towards.pdf en 10.1.1.47.3914 10.1.1.26.2311 10.1.1.45.1616 10.1.1.18.5632 10.1.1.103.8527 10.1.1.11.1495 10.1.1.21.1056 10.1.1.18.6290 10.1.1.88.1656 10.1.1.130.4738 10.1.1.57.6574 10.1.1.10.7333 10.1.1.21.3059 10.1.1.76.1573 10.1.1.85.2890 10.1.1.14.6686 10.1.1.59.2363 10.1.1.93.2667 10.1.1.100.3563 10.1.1.105.1864 10.1.1.88.5400 10.1.1.88.7033 10.1.1.90.1790 10.1.1.90.2382 10.1.1.90.3968 10.1.1.91.1743 10.1.1.94.4357 10.1.1.124.6837 10.1.1.130.3601 10.1.1.18.2266 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1506:Target Tracking with Distributed Sensors  The Focus of Attention Problem:V. Isler Sanjeev Khanna J. Spletzer C. J. Taylor Volkan Isler A Camillo J. Taylor A:2009-04-19 In this paper, we consider the problem of assigning sensors to track targets so as to minimize the expected error in the resulting estimation for target locations. Specifically, we are interested in how disjoint pairs of bearing or range sensors can be best assigned to targets in order to minimize the expected error in the estimates. We refer to this as the focus of attention (FOA) problem. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1506 http //www.cis.upenn.edu/%7Eisleri/research/papers/foaCVIU.pdf en 10.1.1.36.8357 10.1.1.18.8488 10.1.1.19.8778 10.1.1.14.3443 10.1.1.58.6802 10.1.1.49.9816 10.1.1.84.4195 10.1.1.144.2859 10.1.1.71.7438 10.1.1.78.7656 10.1.1.126.3811 10.1.1.130.1224 10.1.1.132.8302 10.1.1.58.5357 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1507:Creating an Integrated Computer Assisted Learning and Assessment Experience in the School of European Languages and Cultures at the University of Edinburgh:John Hobbs John Hobbs Marcus Duran Marcus Duran Eh Jx:2009-04-19 In the field of Computer-Aided anything, acronyms abound. They are, after all, useful tools. However, there is a risk that we become constrained by them and, as a result, fail to see beyond them. CiteSeerX  2009-04-19 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1507 http //www.lboro.ac.uk/service/ltd/flicaa/conf2002/pdfs/hobbs_jm.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1508:Web Structure Analysis for Information Mining:Lakshmi Vijjappu Ah-Hwee Ah-hwee Tan Chew-lim Tan:2009-04-19 Our approach to extracting information from the web analyzes the structural content of web pages through exploiting the latent information given by HTML tags. For each specific extraction task, an object model is created consisting of the salient fields to be extracted and the corresponding extraction rules based on a library of HTML parsing functions. We derive extraction rules for both single-slot and multiple-slot extraction tasks which we illustrate through two sample domains. CiteSeerX  2009-04-19 2007-11-19 2001 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1508 http //www.csc.liv.ac.uk/~wda2001/Papers/18_lakshmi_wda2001.pdf en 10.1.1.46.6008 10.1.1.32.8501 10.1.1.51.8159 10.1.1.54.3298 10.1.1.20.8120 10.1.1.36.6286 10.1.1.47.6312 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1509:Bayesian Inference for Transductive Learning of Kernel Matrix Using the Tanner-Wong Data Augmentation Algorithm:Zhihua Zhang Dit-Yan Yeung James T. Kwok:2009-04-19 In kernel methods, an interesting recent development  seeks to learn a good kernel from  empirical data automatically. In this paper,  by regarding the transductive learning  of the kernel matrix as a missing data  problem, we propose a Bayesian hierarchical  model for the problem and devise the  Tanner-Wong data augmentation algorithm  for making inference on the model. The  Tanner-Wong algorithm is closely related to  Gibbs sampling, and it also bears a strong resemblance  to the expectation-maximization  (EM) algorithm. For an e#cient implementation,  we propose a simplified Bayesian hierarchical  model and the corresponding TannerWong  algorithm. We express the relationship  between the kernel on the input space  and the kernel on the output space as a  symmetric-definite generalized eigenproblem. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1509 http //www.cs.ust.hk/~zhzhang/papers/icml04tw.pdf en 10.1.1.133.4884 10.1.1.16.1922 10.1.1.23.6757 10.1.1.37.8662 10.1.1.72.509 10.1.1.71.5318 10.1.1.94.7695 10.1.1.119.4637 10.1.1.102.9977 10.1.1.73.7176 10.1.1.77.7873 10.1.1.112.9663 10.1.1.116.111 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1510:Genetic Improvisation Model - a framework for real-time performance environments:Paul Nemirovsky Richard Watson:2009-04-19 This paper presents the current state in an ongoing development of the Genetic  Improvisation Model (GIM)  a framework for the design of real-time improvisational  systems. The aesthetic rationale for the model is presented, followed by  a discussion of its general principles. A discussion of the Emonic Environment,  a networked system for audiovisual creation built on GIM's principles, follows CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1510 http //www.media.mit.edu/~pauln/research/emonic/docs/evomusart2003.pdf en 10.1.1.46.6615 10.1.1.58.3628 10.1.1.1.4031 10.1.1.57.9915 10.1.1.59.1804 10.1.1.69.8249 10.1.1.90.5797 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1511:Mean-Variance Hedging under Additional:Market Information Frank Frank Thierbach Frank Thierbach:2009-04-19 JEL classification G11 G12 In this paper we analyse the mean-variance hedging approach in an incomplete market under the assumption of additional market information, which is represented by a given, finite set of observed prices of non-attainable contingent claims. Due to no-arbitrage arguments, our set of investment opportunities increases and the set of possible equivalent martingale measures shrinks. Therefore, we obtain a modified mean-variance hedging problem, which takes into account the observed additional market information. Solving this by means of the techniques developed by Gourieroux, Laurent and Pham (1998), we obtain an explicit description of the optimal hedging strategy and an admissible, constrained variance-optimal signed martingale measure, that generates both the approximation price and the observed option prices. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1511 http //www.finasto.uni-bonn.de/papers/mvhedging.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1512:Sis-Prueba:Tool For Rapid Pedro Concejero Cerezo Juan José Rodríguez Soler Daniel Tapias Merino Telefónica Móviles España:2009-04-19 SIS PRUEBA is a software tool to integrate usability and user-centred design principles in the development process of services within Telefnica Mviles Espaa (TME), the largest mobile telecommunications operator in Spain. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1512 http //sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS//Vol-103/concejero-et-al.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1513:Reducing the Computational Load of Energy Evaluations for:Protein Folding Eunice Eunice E. Santos Eugene Santos:2009-04-19 protein folding triangular lattice HP energy model caching reuse evolutionary Predicting the native conformation using computational protein models requires a large number  of energy evaluations even with simplified models such as hydrophobic-hydrophilic (HP)  models. Clearly, energy evaluations constitute a significant portion of computational time. We  hypothesize that given the structured nature of algorithms that search for candidate conformations  such as stochastic methods, energy evaluation computations can be cached and reused,  thus saving computational time and e#ort. In this paper, we present a caching approach and  apply it to 2D triangular HP lattice model. We provide theoretical analysis and prediction of  the expected savings from caching as applied this model. We conduct experiments using a sophisticated  evolutionary algorithm that contains elements of local search, memetic algorithms,  diversity replacement, etc. in order to verify our hypothesis and demonstrate a significant level  1  of savings in computational e#ort and time that caching can provide. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1513 http //excalibur.brc.uconn.edu/Papers/Conference/bibe04-submit.pdf en 10.1.1.53.7409 10.1.1.46.770 10.1.1.10.5827 10.1.1.54.8912 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1514:Human-Robot Interactions in Active Sensor Networks:Alexei Makarenko Tobias Kaupp Ben Grocholsky Hugh Durrant-whyte:2009-04-19 This paper considers the modes of interaction between one or several human operators and an active sensor network -- a fully decentralized network of sensors some or all of which have actuators and are in that sense active. The primary goal of this study is to investigate the conditions under which the human involvement will not jeopardize scalability of the overall system. Two aspects of human-robot interaction are considered  the ways in which the global view of the system may be conveyed to the operators, and how the operators may influence the behavior of the system during the course of its operation. The results of analysis favor peer-topeer information-based interactions between the operators and the network whereby the humans act as extended sensors and communication nodes of the network itself. Experiments on an indoor active sensor network are described. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1514 http //www.grasp.upenn.edu/~bpg/makarenko03_hum_rob_in_asn.pdf en 10.1.1.110.6935 10.1.1.18.2772 10.1.1.70.4661 10.1.1.42.1968 10.1.1.14.7286 10.1.1.123.9637 10.1.1.58.5090 10.1.1.11.6081 10.1.1.58.5988 10.1.1.4.8345 10.1.1.58.4968 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1515:Disjoint Sum of Product Minimization by Evolutionary Algorithms:Nicole Drechsler Mario Hilgemeier Görschwin Fey Rolf Drechsler:2009-04-19 Recently, an approach has been presented to minimize Disjoint Sumof  -Products (DSOPs) based on Binary Decision Diagrams (BDDs). Due  to the symbolic representation of cubes for large problem instances, the  method is orders of magnitude faster than previous enumerative techniques. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1515 http //www.informatik.uni-bremen.de/agra/doc/work/evohot04.pdf en 10.1.1.1.5124 10.1.1.30.5588 10.1.1.29.2722 10.1.1.12.7617 10.1.1.125.1065 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1516:Acta Cryst. (2004). B60, 481489 DOI  10.1107/S0108768104013564 481 Acta Crystallographica Section B:Structural Science Issn Valeria Ferretti A Paola Gilli A Pier Andrea Borea B A Centro Di:2009-04-19 this paper are available from the IUCr electronic archives (Reference  NA5019). Services for accessing these data are described at the back of the journal CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1516 http //journals.iucr.org/b/issues/2004/04/00/na5019/na5019.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1517:The Lattice-Boltzmann Method for Simulating Gaseous Phenomena:Xiaoming Wei Student Member Wei Li Klaus Mueller Arie E. Kaufman:2009-04-19 We present a physically-based, yet fast and simple method to simulate gaseous phenomena. In our approach, the  incompressible Navier-Stokes (NS) equations governing fluid motion have been modeled in a novel way to achieve a realistic  animation. We introduce the Lattice Boltzmann Model (LBM), which simulates the microscopic movement of fluid particles by linear  and local rules on a grid of cells so that the macroscopic averaged properties obey the desired NS equations. The LBM is defined on a  2D or 3D discrete lattice, which is used to solve fluid animation based on different boundary conditions. The LBM simulation generates,  in real-time, an accurate velocity field and can incorporate an optional temperature field to account for the buoyancy force of hot gas. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1517 http //www.cs.sunysb.edu/%7Emueller/papers/smokeTVCG04.pdf en 10.1.1.15.9203 10.1.1.25.5737 10.1.1.17.1966 10.1.1.131.9652 10.1.1.38.7021 10.1.1.23.4545 10.1.1.84.7193 10.1.1.23.5064 10.1.1.6.4632 10.1.1.15.6033 10.1.1.61.3740 10.1.1.104.6696 10.1.1.136.5635 10.1.1.1.2520 10.1.1.72.4834 10.1.1.83.4851 10.1.1.95.5556 10.1.1.110.7589 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1518:Peer-to-Peer Human-Robot Interaction for Space Exploration:Terrence Fong And Terrence Fong Illah Nourbakhsh:2009-04-19 NASA has embarked on a long-term program to develop  human-robot systems for sustained, affordable space exploration. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1518 http //www.ri.cmu.edu/pub_files/pub4/fong_terrence_w_2004_1/fong_terrence_w_2004_1.pdf en 10.1.1.36.6789 10.1.1.2.8285 10.1.1.16.516 10.1.1.6.118 10.1.1.4.2304 10.1.1.99.2775 10.1.1.61.1527 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1519:Survey Taxonomy of Packet Classification Techniques:David Taylor Sa Da Prot Dp Flowid Pt:2009-04-19 Packet classification is an enabling function for a variety of Internet applications including Quality of Service, security, monitoring, and multimedia communications. In order to classify a packet as belonging to a particular flow or set of flows, network nodes must perform a search over a set of filters using multiple fields of the packet as the search key. In general, there have been two major threads of research addressing packet classification  algorithmic and architectural. A few pioneering groups of researchers posed the problem, provided complexity bounds, and offered a collection of algorithmic solutions. Subsequently, the design space has been vigorously explored by many offering new algorithms and improvements upon existing algorithms. Given the inability of early algorithms to meet performance constraints imposed by high speed links, researchers in industry and academia devised architectural solutions to the problem. This thread of research produced the most widely-used packet classification device technology, Ternary Content Addressable Memory (TCAM). New architectural research combines intelligent algorithms and novel architectures to eliminate many of the unfavorable characteristics of current TCAMs. We observe that the community appears to be converging on a combined algorithmic and architectural approach to the problem. Using a taxonomy based on the high-level approach to the problem and a minimal set of running examples, we provide a survey of the seminal and recent solutions to the problem. It is our hope to foster a deeper understanding of the various packet classification techniques while providing a useful framework for discerning relationships and distinctions. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1519 http //www.arl.wustl.edu/Publications/2000-04/wucse-2004-24.pdf en 10.1.1.137.3147 10.1.1.121.1309 10.1.1.13.9939 10.1.1.39.697 10.1.1.24.3532 10.1.1.29.4777 10.1.1.12.3539 10.1.1.112.1058 10.1.1.12.5688 10.1.1.41.4744 10.1.1.41.9413 10.1.1.3.5167 10.1.1.32.9914 10.1.1.105.3710 10.1.1.58.2312 10.1.1.58.5079 10.1.1.13.3703 10.1.1.28.9719 10.1.1.135.9578 10.1.1.6.107 10.1.1.121.8780 10.1.1.133.2753 10.1.1.78.9584 10.1.1.97.442 10.1.1.86.5588 10.1.1.104.4868 10.1.1.108.4619 10.1.1.65.3134 10.1.1.76.3971 10.1.1.77.8580 10.1.1.83.3090 10.1.1.85.8699 10.1.1.89.6993 10.1.1.89.7016 10.1.1.91.9738 10.1.1.94.8479 10.1.1.97.6162 10.1.1.72.6318 10.1.1.126.1241 10.1.1.61.5847 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1520:Friscof Risco:Framework Of Information Eckhard D. Falkenberg Wolfgang Hesse Paul Lindgreen Björn E. Nilsson J. L. Han Oei Colette Rolland Ronald K. Stamper Frans J. M. Van Assche Alexander A. Verrijn-stuart Klaus Voss:2009-04-19 this report, Paul Lindgreen as secretary and as editor of the interim report [Lin90a] CiteSeerX  2009-04-19 2007-11-19 1998 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1520 http //www.cs.kun.nl/is/Library/./Data/1998/Lindgreen/FRISCO/1998-Lindgreen-FRISCO.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1521:Average performance of quasi Monte Carlo methods for global optimization:Hisham A. Al-Mharmah:2009-04-24 In this paper we compare the average performance of one class of low-discrepancy quasi-Monte Carlo sequences for global optimization. Weiner measure is assumed as the probability prior on all optimized functions. We show how to construct van der Corput sequences and we prove their consistency. Numerical experimentation shows that the van der Corput sequence in base 2 has a better average performance. CiteSeerX  2009-04-24 2007-11-19 1998 text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1521 http //www.informs-cs.org/wsc98papers/083.PDF en 10.1.1.22.679 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1522:The Virtual Ms Lyceum  A Consortium For Modeling And Simulation Technology:D. J. Medeiros E. F. Watson J. S. Carson M. S. Manivannan Steven D. Farr Alex F. Sisti:2009-04-19 This paper addresses the opportunity to put into place a virtual consortium for modeling and simulation. While periodic conferences such as the Winter Simulation Conference are tremendously vital to the continued growth of modeling and simulation research, they do not offer the day-to-day technical exchange that can now be made possible with matured collaborative technologies. CiteSeerX  2009-04-19 2007-11-19 1998 text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1522 http //www.informs-cs.org/wsc98papers/228.PDF en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1523:Classification And Regression Trees, Cart - A User Manual For Identifying Indicators Of Vulnerability To Famine And Chronic Food Insecurity:Auser Manualfor Yisehac Yohannes Patrick Webb:2009-04-19 FAMINE AND CHRONIC FOOD INSECURITY YISE HAC YO HAN NES ue, the Netherlands, Norway, the Philippines, the Rockefeller Foundation, the Rural Industries Research and Development Corporation (Australia), South Africa, the Southern African Development Bank, Spain, Sweden, Switzerland, the United Kingdom, the United Nations Children's Fund, the United States, and the World Bank. CLASSIFIC ATION AND REGRESSION TREES, CART^TM  A USER MANUAL FOR IDENTIFYING INDIC A TORS OF VULNERABILITY TO FAMINE AND CHRONIC FOOD INSECURITY YISEHAC YOHANNES PATRICK WEBB MICROCOMPUTERS IN POLICY RESEARCH   INTERNATIONAL FOOD POLICY RESEARCH INSTITUTE  CART is a registered trademark of California Statistical Software, Inc. Copyright 1999 by the International Food Policy Research Institute 2033 K Street, N.W. Washington, D.C. 20006-1002 U.S.A. Library of Congress Cataloging-in-Publication Data available Yohannes, Yisehac Classification and Regression Trees, Cart^TM   A User Manual for Identifying Indicators of Vulnerability to Famine and Chronic Food Insecurity / Yise CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1523 http //www.ifpri.org/pubs/microcom/micro3.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1524:An Approach for Locating Segmentation Points of Handwritten Digit Strings:Using Neural Network:2009-04-19 An approach for segmentation of handwritten touching numeral strings is presented in this paper. A neural network has been designed to deal with various types of touching observed frequently in numeral strings. A numeral string image is split into a number of line segments while stroke extraction is being performed and the segments are represented with straight lines. Four types of primitive are defined based on the lines and used for representing the numeral string in more abstractive way and extracting clues on touching information from the string. Potential segmentation points are located using the neural network by active interpretation of the features collected from the primitives. Also, the run-length coding scheme is employed for efficient representation and manipulation of images. On a test set collected from real mail pieces, the segmentation accuracy of 89.1% was achieved, in image level, in a preliminary experiment. 1. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1524 http //www.csc.liv.ac.uk/%7Eprima/ICDAR2003/Papers/0025_697_kim_g.pdf en 10.1.1.35.2218 10.1.1.44.7527 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1525:An Overview of JML Tools and Applications:Lilian Burdy Yoonsik Cheon David Cok Michael D. Ernst Joe Kiniry Gary T. Leavens K. Rustan M. Leino Erik Poll:2009-04-19 formal specification Java runtime assertion checking static checking The Java Modeling Language (JML) can be used to specify  the detailed design of Java classes and interfaces by adding annotations  to Java source files. The aim of JML is to provide a specification language  that is easy to use for Java programmers and that is supported by a wide  range of tools for specification type-checking, runtime debugging, static  analysis, and verification. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1525 http //www.gemplus.com/smart/r_d/publications/pdf/BCC_03jm.pdf en 10.1.1.137.4260 10.1.1.39.1223 10.1.1.36.9943 10.1.1.29.6183 10.1.1.70.1745 10.1.1.11.2133 10.1.1.17.3839 10.1.1.24.2555 10.1.1.34.8403 10.1.1.52.3873 10.1.1.10.4654 10.1.1.1.6063 10.1.1.16.1895 10.1.1.117.5270 10.1.1.132.7016 10.1.1.1.6522 10.1.1.2.5030 10.1.1.16.800 10.1.1.10.547 10.1.1.13.5473 10.1.1.15.9976 10.1.1.120.795 10.1.1.26.1982 10.1.1.17.1067 10.1.1.2.1207 10.1.1.25.9636 10.1.1.5.8315 10.1.1.1.9075 10.1.1.39.2890 10.1.1.128.9986 10.1.1.1.3304 10.1.1.10.8374 10.1.1.12.442 10.1.1.57.6725 10.1.1.29.9417 10.1.1.5.9229 10.1.1.26.3231 10.1.1.20.6902 10.1.1.17.9620 10.1.1.72.3429 10.1.1.11.8032 10.1.1.11.1854 10.1.1.19.7736 10.1.1.59.4118 10.1.1.11.2494 10.1.1.13.4051 10.1.1.16.1105 10.1.1.19.2169 10.1.1.91.8343 10.1.1.85.6366 10.1.1.103.1977 10.1.1.19.6416 10.1.1.81.714 10.1.1.4.6241 10.1.1.11.2133 10.1.1.10.4654 10.1.1.115.5693 10.1.1.7.4458 10.1.1.5.8315 10.1.1.61.5186 10.1.1.73.5717 10.1.1.57.6725 10.1.1.11.1838 10.1.1.142.2782 10.1.1.137.316 10.1.1.129.1678 10.1.1.126.8052 10.1.1.131.2147 10.1.1.94.1164 10.1.1.83.3189 10.1.1.11.2494 10.1.1.1.6054 10.1.1.142.6301 10.1.1.86.6061 10.1.1.94.7598 10.1.1.122.2974 10.1.1.10.187 10.1.1.126.4427 10.1.1.128.5240 10.1.1.67.8455 10.1.1.131.6019 10.1.1.10.3303 10.1.1.102.4611 10.1.1.59.4566 10.1.1.94.5189 10.1.1.7.2188 10.1.1.143.5200 10.1.1.100.3930 10.1.1.111.4391 10.1.1.68.2636 10.1.1.79.7758 10.1.1.98.2224 10.1.1.101.9229 10.1.1.59.4403 10.1.1.66.8607 10.1.1.71.6156 10.1.1.71.8962 10.1.1.84.1342 10.1.1.89.8541 10.1.1.118.8269 10.1.1.107.6026 10.1.1.4.6869 10.1.1.63.4449 10.1.1.64.1790 10.1.1.80.5390 10.1.1.90.757 10.1.1.98.8827 10.1.1.127.2428 10.1.1.127.6051 10.1.1.138.5310 10.1.1.2.5369 10.1.1.4.3348 10.1.1.61.7073 10.1.1.74.7926 10.1.1.76.6474 10.1.1.91.9916 10.1.1.97.8034 10.1.1.98.2120 10.1.1.110.687 10.1.1.124.6567 10.1.1.142.3205 10.1.1.100.4344 10.1.1.100.8097 10.1.1.100.9852 10.1.1.101.6814 10.1.1.102.5622 10.1.1.104.861 10.1.1.105.5824 10.1.1.107.5138 10.1.1.59.6327 10.1.1.63.562 10.1.1.63.5758 10.1.1.63.7483 10.1.1.64.6885 10.1.1.64.9362 10.1.1.62.3908 10.1.1.119.5350 10.1.1.67.1499 10.1.1.67.5887 10.1.1.67.8572 10.1.1.69.2171 10.1.1.70.1165 10.1.1.70.6538 10.1.1.71.1298 10.1.1.71.698 10.1.1.71.769 10.1.1.71.962 10.1.1.73.1567 10.1.1.74.4934 10.1.1.74.7928 10.1.1.122.2332 10.1.1.76.3519 10.1.1.77.1867 10.1.1.77.2580 10.1.1.77.4182 10.1.1.125.1768 10.1.1.78.7630 10.1.1.62.2614 10.1.1.81.8303 10.1.1.84.3469 10.1.1.84.3675 10.1.1.84.6502 10.1.1.85.2476 10.1.1.85.4887 10.1.1.87.5805 10.1.1.87.9527 10.1.1.89.2433 10.1.1.89.3328 10.1.1.90.1517 10.1.1.90.2534 10.1.1.91.1298 10.1.1.92.1775 10.1.1.93.3743 10.1.1.94.2013 10.1.1.94.7198 10.1.1.95.1658 10.1.1.95.2688 10.1.1.95.3548 10.1.1.97.5430 10.1.1.98.6399 10.1.1.99.8561 10.1.1.111.4564 10.1.1.112.7809 10.1.1.113.6155 10.1.1.113.7814 10.1.1.115.3770 10.1.1.116.5172 10.1.1.117.7484 10.1.1.118.3171 10.1.1.118.3882 10.1.1.124.2718 10.1.1.124.8466 10.1.1.124.8516 10.1.1.126.2574 10.1.1.126.3474 10.1.1.128.5756 10.1.1.130.5902 10.1.1.130.7155 10.1.1.132.319 10.1.1.133.4597 10.1.1.135.7996 10.1.1.138.529 10.1.1.139.275 10.1.1.139.4030 10.1.1.5.4720 10.1.1.58.8470 10.1.1.59.3381 10.1.1.61.4532 10.1.1.140.1484 10.1.1.141.3512 10.1.1.142.4289 10.1.1.142.6329 10.1.1.108.5722 10.1.1.144.1222 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1526:Triage  Performance Isolation and Differentiation for Storage Systems:Magnus Karlsson Christos Karamanolis Xiaoyun Zhu:2009-04-19 Ensuring performance isolation and differentiation among workloads that share a storage infrastructure is a basic requirement in consolidated data centers. Existing management tools rely on resource provisioning to meet performance goals  they require detailed knowledge of the system characteristics and the workloads. Provisioning is inherently slow to react to system and workload dynamics, and in the general case, it is impossible to provision for the worst case. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1526 http //www.hpl.hp.com/research/ssp/papers/2004-06-iwqos-triage.pdf en 10.1.1.16.8551 10.1.1.114.7135 10.1.1.141.1 10.1.1.17.502 10.1.1.28.2128 10.1.1.26.662 10.1.1.13.8238 10.1.1.23.3111 10.1.1.16.7583 10.1.1.17.2232 10.1.1.64.986 10.1.1.65.8781 10.1.1.4.6982 10.1.1.19.1470 10.1.1.1.1904 10.1.1.14.8619 10.1.1.4.4818 10.1.1.75.84 10.1.1.65.3456 10.1.1.129.3204 10.1.1.109.630 10.1.1.113.223 10.1.1.72.2528 10.1.1.59.317 10.1.1.121.3572 10.1.1.119.1641 10.1.1.72.3158 10.1.1.74.8799 10.1.1.79.9021 10.1.1.85.8116 10.1.1.135.7692 10.1.1.104.267 10.1.1.107.2911 10.1.1.62.6629 10.1.1.64.5770 10.1.1.64.9860 10.1.1.65.1125 10.1.1.67.1517 10.1.1.67.2395 10.1.1.72.374 10.1.1.79.5247 10.1.1.79.748 10.1.1.81.5717 10.1.1.83.4762 10.1.1.84.3590 10.1.1.85.6390 10.1.1.89.1736 10.1.1.89.2790 10.1.1.93.7577 10.1.1.94.3072 10.1.1.94.5062 10.1.1.111.7201 10.1.1.113.4918 10.1.1.118.881 10.1.1.123.8174 10.1.1.133.38 10.1.1.134.9068 10.1.1.136.8533 10.1.1.130.7318 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1527:On-line Handwritten Japanese Text Recognition free from Constrains on Line:Direction And Character Masaki Nakagawa Motoki Onuma:2009-04-19 This paper describes an on-line handwritten Japanese text recognition method that is liberated from constraints on writing direction (line direction) and character orientation. This method estimates the line direction and character orientation using the time sequence information of pen-tip coordinates and employs writingbox -free recognition with context processing combined. The method can cope with a mixture of vertical, horizontal and skewed lines with arbitrary character orientations. It is expected useful for tablet PC's, interactive electronic whiteboards and so on. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1527 http //www.csc.liv.ac.uk/%7Eprima/ICDAR2003/Papers/0095_627_masaki_n.pdf en 10.1.1.103.5812 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1528:Data Transformation for Warehousing Web Data:Yan Zhu Christof Yan Zhu Christof Bornhövd Alejandro P. Buchmann:2009-04-19 In order to analyze market trends and make reasonable business plans, a company's local data is not sufficient. Decision making must also be based on information from suppliers, partners and competitors. This external data can be obtained from the Web in many cases, but must be integrated with the company's own data, for example, in a data warehouse. To this end, Web data has to be mapped to the star schema of the warehouse. In this paper we propose a semi-automatic approach to support this transformation process. Our approach is based on the use a rooted labeled tree representation of Web data and the existing warehouse schema. Based on this common view we can compare source and target schemata to identify correspondences. We show how the correspondences guide the transformation to be accomplished automatically. We also explain the meaning of recursion and restructuring in mapping rules, which are the core of the transformation algorithm. CiteSeerX  2009-04-19 2007-11-19 2001 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1528 http //www.cs.kun.nl/is/Library/./Data/2001/Zhu/Data/2001-Zhu-Data.pdf en 10.1.1.122.4181 10.1.1.33.3465 10.1.1.25.1724 10.1.1.24.9229 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1529:Discriminant Projections Embedding for Nearest Neighbor Classification.:Petia Radeva And Petia Radeva Jordi Vitrià:2009-04-19 In this paper we introduce a new embedding technique to  linearly project labeled data samples into a new space where the performance  of a Nearest Neighbor classifier is improved. The approach is  based on considering a large set of simple discriminant projections and  finding the subset with higher classification performance. In order to implement  the feature selection process we propose the use of the adaboost  algorithm. The performance of this technique is tested in a multiclass  classification problem related to the production of cork stoppers for wine  bottles. CiteSeerX Springer Verlag 2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1529 http //www.cvc.uab.es/~jordi/ciarp2004.pdf en 10.1.1.99.3419 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1530:Vowel - Zero Alternations in Czech Prefixes:Tobias Scheer Tobias Scheer Clite E -e:2009-04-19 e inchoative, "up"    p#ed    16    48    "before, in front of"    roz    80    295    inch., "disperse/ break into pieces"    nad    5    33    "over"    pod    26    74    "under"    od    41    253    distantiational movement    sum    195    762        TOTAL        957        (6) the secret must be found in the different status of stem-initial CC-clusters.    (7) stem-initial CCs observed with  a. prefixal-V only +e  b. prefixal - only -e  c. both mix     +e only  17 CCs -e only  38 CCs ct, dn, d#, jm, lstn, mk, pn, ps, rv, #v, sch, sr, v, tn, v#, z#, #r  bl, b#, cl, cv, #l, f#, fr, hl, hm, hv, chl, chrchl, km, kr, k#, kv, m#, mr, pl, pt, sh, sv, k, n, p, r, tl, tr, tv, vd, vr, zbr, zp, zt, #h, #m, ##, #v  mix  35 CCs br, #t, dm, dr, dv, hn, hr, h#, chv, jd, kd, kl, ml, mn, pj, pr, p#, sk, sl, sm, sn, sp, st, l, t, t#, v#, vl, v#, v, vz, zd, zl, zn, zv TOTAL nb CC  90 (8) A given root belongs to one and only one of these three groups. (9)    CC mix represented by how many it CiteSeerX  2009-04-19 2007-11-19 1998 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1530 http //www.unice.fr/dsl/tobweb/papers/ScheerHdtSzeged98.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1531:Automatic Construction of Navigable Concept Networks Characterizing Text Databases:Claudio Carpineto Giovanni Romano Fondazione Ugo Bordoni:2009-04-19 In this paper we present a comprehensive approach to conceptual structuring and intelligent navigation of text databases. Given any collection of texts, we first automatically extract a set of index terms describing each text. Next, we use a particular lattice conceptual clustering method to build a network of clustered texts whose nodes are described using the index terms. We argue that the resulting network supports an hybrid navigational approach to text retrieval - implemented into an actual user interface - that combines browsing potentials with good retrieval performance. We present the results of an experiment on subject searching where this approach outperformed a conventional Boolean retrieval system. CiteSeerX Springer-Verlag 2009-04-19 2007-11-19 1995 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1531 http //search.fub.it/claudio/pdf/AIIA1995.pdf en 10.1.1.21.1806 10.1.1.64.7424 10.1.1.14.7549 10.1.1.26.1391 10.1.1.122.5391 10.1.1.1.4542 10.1.1.50.9283 10.1.1.140.4388 10.1.1.70.980 10.1.1.72.9991 10.1.1.60.2145 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1532:Lawrence S. Brakmo, Deborah A. Wallach, Marc A. Viredaz:Mobile And Media Lawrence S. Brakmo Lawrence S. Brakmo Deborah A. Wallach Deborah A. Wallach Marc A. Viredaz Marc A. Viredaz:2009-04-19 Energy management has become one of the great challenges in portable computing. This is the result of the increasing energy requirements of modern portable devices without a corresponding increase in battery technology.  Sleep is a new energy reduction technique for handheld devices that is most effective when the handheld's processor is lightly loaded, such as when the user is reading a document or looking at a web page. When possible, rather than using the processor's idle mode, Sleep tries to put the processor in sleep mode for short periods (less than one second) without affecting the user's experience. To enhance the perception that the system is on, an image is maintained on the display and activity is resumed as a result of external events such as touch-screen and button activity. We have implemented Sleep on a prototype pocket computer, where it has reduced energy consumption by up to 60%. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1532 http //www.hpl.hp.com/techreports/2004/HPL-2004-11.pdf en 10.1.1.143.7417 10.1.1.39.3266 10.1.1.121.5295 10.1.1.29.6746 10.1.1.31.4277 10.1.1.4.1582 10.1.1.108.8205 10.1.1.36.2109 10.1.1.111.4810 10.1.1.134.8329 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1533:Answers to the Top Ten Input Modeling Questions:Bahar Biller Barry L. Nelson:2009-08-25 In this tutorial we provide answers to the top ten inputmodeling questions that new simulation users ask, point out common mistakes that occur and give relevant references. We assume that commercial input-modeling software will be used when possible, and only suggest non-commercial options when there is little else available. Detailed examples will be provided in the tutorial presentation. CiteSeerX  2009-08-25 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1533 http //www.informs-cs.org/wsc02papers/005.pdf en 10.1.1.58.5325 10.1.1.105.5693 10.1.1.107.780 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.100.8780:Jaguar  Java in Next-Generation Database Systems:Johannes Gehrke Www Page:2008-07-01 •        Title Jaguar Java in Next-Generation Database Systems Keywords Extensibility query optimization heterogeneous environments database compression. Project Summary This project explores fundamental systems issues in query processing performance. We investigate this problem from three different directions  client-server processing, heterogeneous environments, and database compression. First, we devised new query processing strategies than push processing capabilities into the client, and we devised query execution plans that can span server and clients. This allows us to trade resource usage between client, server and the interconnection network. We then extended this work to parallel query processing in heterogeneous environments  we are currently implementing a parallel dataflow engine that adapts naturally to resource imbalances at the hardware components. Last, we are investigating the use of compression in database systems. We devised a new framework for database compression and new query processing and query optimization strategies to integrate compression into a modern query processor. All our techniques have been implemented in the NSF-funded Cornell Predator object-relational database system. We extended the system with several ways to store compressed relations, and we implemented a fully compression-aware query optimizer. To best of our knowledge, our work is the first result on compression-aware query optimization. Publications and Products � Project homepage  CiteSeerX  2008-07-01 2008-04-02 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.8780 http //itlab.uta.edu/idm01/FinalReports/reports/IDM01R048.pdf en 10.1.1.20.9548 10.1.1.26.9191 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.106.4689:Patterns for Next-Generation Database Systems IST-2001-33058 Recent Advances on Pattern Representation and Management:I. Ntoutsi (cti/piraeus A. Pikrakis G. Tsatsaronis (aueb E. Vrachnos Michalis Vazirgiannis Maria Halkidi Daniel A. Keim Irene Ntoutsi Aggelos Pikrakis Sergios Theodoridis Yannis Theodoridis George Tsatsaronis Euripides Vrachnos:2008-07-01 patterns data mining pattern modeling pattern-bases information retrieval Pattern Base Management Systems Research supported by the Commission of the European Communities under the Information CiteSeerX  2008-07-01 2008-04-03 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.106.4689 http //www.db-net.aueb.gr/gbt/publications/PANDA_TR-2003-04.pdf en 10.1.1.40.6757 10.1.1.108.8490 10.1.1.33.3138 10.1.1.144.4956 10.1.1.42.3240 10.1.1.56.8772 10.1.1.32.9565 10.1.1.50.5717 10.1.1.41.4883 10.1.1.105.8622 10.1.1.102.5562 10.1.1.16.976 10.1.1.34.2745 10.1.1.7.6588 10.1.1.44.8451 10.1.1.5.6904 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.122.192:Query by Templates  Using the Shape of Information to Search Next-Generation Databases:Arijit Sengupta Andrew Dillon:2008-12-04 Abstract—We present a user-centered database query language called QBT (Query By Templates) for user communication with databases containing complex structured data, such as data stored in the Extensible Markup Language (XML). XML has revolutionized data storage as well as representation and transfer methods in today’s internet applications. The growing popularity of XML as a language for the representation of data has enabled its use for several applications involving storage, interchange, and retrieval of data. Several textual query languages have been proposed for XML retrieval, including the World Wide Web Consortium’s (W3C) recommendation of XQuery. Native XML database systems have been implemented, all of which provide methods for user communication with the database, although most communication methods use text-based query languages or form-based interfaces. QBT, the language presented here, is one of the first attempts toward a generalized alternative language that is based on human factors of familiarity. It is ideal for documents with a simple yet highly recognizable layout (e.g., poems, dictionaries, journals, etc.). We present the QBT language and report results from an initial usability test that shows promise for this type of an interface as a generalized user–database communication method. Index Terms—Complex structured data, Extensible Markup Language (XML), information shape, query evaluation, query languages, query processing, visual languages, XQuery. CiteSeerX  2008-12-04 2008-12-03 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.122.192 http //www.ischool.utexas.edu/~adillon/Journals/IEEEJit.pdf en 10.1.1.109.4049 10.1.1.11.6264 10.1.1.22.7172 10.1.1.33.1762 10.1.1.102.1564 10.1.1.35.4300 10.1.1.20.7529 10.1.1.17.933 10.1.1.57.2983 10.1.1.17.4528 10.1.1.92.5486 10.1.1.110.6779 10.1.1.28.2863 10.1.1.105.3351 10.1.1.2.8978 10.1.1.104.2288 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.52.456:Security in Next-Generation Databases:Chris Strahorn:2009-04-12 this paper, a summary of the various models presented for securing next-generation databases will be given. Additionally, an overview of the security features in commercial next-generation databases is also given in order to show the need for further work in this field. 1 Introduction CiteSeerX  2009-04-12 2007-11-22 1998 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.456 http //www.db.cs.ucdavis.edu/teaching/289F/papers/chris.ps en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.66.4692:Security in Next-Generation Databases:Chris Strahorn:2008-07-01 In the past several years, several new types of databases have moved out of the academic world and have been released as commercial products. These new types of databases are commonly referred to as next-generation databases and include object-oriented, object-relational, active, and deductive databases. Each of these types of database offer an extended set of features when compared to a traditional relational database. In turn, these new features require new methods in order to secure the data held within. In this paper, a summary of the various models presented for securing next-generation databases will be given. Additionally, an overview of the security features in commercial next-generation databases is also given in order to show the need for further work in this field. 1 CiteSeerX  2008-07-01 2008-02-06 1998 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.66.4692 http //www.db.cs.ucdavis.edu/teaching/289F/papers/chris.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.78.1427:Java in Next-Generation Database Systems::2008-07-01 applications,  including database applications. CiteSeerX  2008-07-01 2008-02-07 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.78.1427 http //www.cs.wisc.edu/~cao/WISP98/final-versions/praveen.ps en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1534:Proceedings of the 2002 Winter Simulation Conference:Ycesan Chen Snowdon E. Yücesan C. -h. Chen J. L. Snowdon J. M. Charnes Sang D. Choi Anil R. Kumar:2009-04-19 This paper discusses the initial efforts to implement simulation modeling as a visual management and analysis tool at an automotive foundry plant manufacturing engine blocks. The foundry process was modeled using Pro Model to identify bottlenecks and evaluate machine performance, cycle times and production data (total parts, rejects, throughput, products/hr) essential for efficient production control. Results from the current system identified assembly machine work area as the bottleneck (although utilization was greater than 95% for two assembly machines) resulting in high work-in-process (WIP) inventory level, low resource and machine utilization. Based on these results, optimum numbers were identified through use of scenarios by varying the number of assembly machines and processing time of each machine. In addition to these scenarios, strategies for production control involving buffer sizes were also made. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1534 http //www.informs-cs.org/wsc02papers/138.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1535:A Sub-Quadratic Algorithm for Conjunctive and Disjunctive BESs:Jan Friso Groote Misa Keinänen:2009-04-19 We present an algorithm for conjunctive and disjunctive Boolean equation systems (BESs), which arise frequently in the verification and analysis of finite state concurrent systems. In contrast to the previously best known O(e ) time solutions, our algorithm computes the solution of such a fixpoint equation system with size e and alternation depth d in O(e log d) time. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1535 http //www.win.tue.nl/~jfg/articles/CSR-04-13.pdf en 10.1.1.58.4882 10.1.1.81.9591 10.1.1.108.4288 10.1.1.140.2376 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1536:Innovations of the NetSolve Grid Computing System:Dorian C. Arnold Henri Casanova Jack Dongarra:2009-04-19 KEY WORDS Grid computing distributed computing heterogeneous network computing client--server This article is meant to provide the reader with details regarding the present state of the project, describing the current architecture of the system, its latest innovations and other systems 10  that make use of the NetSolve infrastructure. Copyright # 2002 John Wiley & Sons, Ltd CiteSeerX  2009-04-19 2007-11-19 2002 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1536 http //icl.cs.utk.edu/news_pub/submissions/cpe678.pdf en 10.1.1.25.8254 10.1.1.49.8881 10.1.1.32.6963 10.1.1.46.3287 10.1.1.15.9060 10.1.1.43.1259 10.1.1.30.5246 10.1.1.27.3632 10.1.1.115.1390 10.1.1.107.4174 10.1.1.65.4741 10.1.1.3.4994 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1537:The InfoVis Toolkist:Jean-daniel Fekete Jean-daniel Fekete Projet In-situ:2009-04-19 This report presents the InfoVis Toolkit, designed to support the creation,  extension and integration of advanced 2D Information Visualization components into interactive  Java Swing applications. The InfoVis Toolkit provides specific data structures to  achieve a fast action/feedback loop required by dynamic queries. It comes with a large  set of components such as range sliders and tailored control panels required to control and  configure the visualizations. These components are integrated into a coherent framework  that simplifies the management of rich data structures and the design and extension of  visualizations. Supported data structures currently include tables, trees and graphs. Supported  visualizations include scatter plots, time series, Treemaps, node-link diagrams for  trees and graphs and adjacency matrix for graphs. All visualizations can use fisheye lenses  and dynamic labeling. The InfoVis Toolkit supports hardware acceleration when available  through Agile2D, an implementation of the Java Graphics API based on OpenGL, achieving  speedups of 10 to 60 times. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1537 ftp //ftp.inria.fr/INRIA/publication/publi-pdf/RR/RR-4818.pdf en 10.1.1.123.805 10.1.1.43.631 10.1.1.41.1810 10.1.1.56.8772 10.1.1.13.6859 10.1.1.20.9570 10.1.1.58.2019 10.1.1.25.5975 10.1.1.111.2892 10.1.1.18.1023 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1538:Complex Systems Modeling:Christophe Lecerf Thi:2009-04-19 This paper addresses the simulation of the dynamics of complex systems by using hierarchical graph and multi-agent system. A complex system is composed of numerous interacting parts that can be described recursively. First we summarize the hierarchical aspect of the complex system. We then present a description of hierarchical graph as a data structure for structural modeling in parallel with dynamics simulation by agents. This method can be used by physiological modelers, ecological modelers, etc as well as in other domains that are considered as complex systems. An example issued from physiology will illustrate this approach. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1538 http //e-ifi.org/rivf/2003/proceedings/p93-98.pdf en 10.1.1.28.9248 10.1.1.4.6467 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1539:Proceedings of the 2003 Winter Simulation Conference:Chick Snchez Ferrin S. Chick P. J. Sánchez D. Ferrin D. J. Morrice Gary Tan Na Zhao:2009-04-19 uses to deliver value to its customers. In today's competitive environment, the globalization of markets has rapidly substituted the traditional integrated business. The competitive success of an organization no longer depends only on its own efforts, but relies on the efficiency of the entire supply chain. Therefore, building an effective supply chain is fast becoming paramount in today's marketplace. Distributed Supply Chain (DSC) Simulation has been identified as one of the best means to test and analyze the performance of supply chains. The Generic Runtime Infrastructure for Distributed Simulation (GRIDS) is a middleware that supports the reuse and interoperation of DSC simulations. This paper reports the experience on employing the GRIDS to support the distributed collaboration of an automobile manufacture supply chain simulation. Several advantages of GRIDS are also discussed here which make it an ideal middleware for DSC simulations. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1539 http //www.informs-cs.org/wsc03papers/142.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1540:Multi-dimensional Visual Representations for Underwater Environmental Uncertainty:Greg S. Schmidt Sue-Ling Chen Greg S. Schmidt Sue-ling Chen Aaron N. Bryden Mark A. Livingston Bryan R. Osborn Lawrence J. Rosenblum:2009-04-19 this paper) and (2) develop a visual method for each characterization. The mariner community needs enhanced characterizations of environmental uncertainty now, but the accuracy of the characterizations is still not sufficient enough and therefore formal user evaluations cannot take place at this point in development. We received feedback on the applicability of our techniques from domain experts. We used this in conjunction with previous results to compile a set of development guidelines (some obvious, others not) CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1540 http //www.ait.nrl.navy.mil/vrlab/pages/../papers/j_IEEECGA04.pdf en 10.1.1.109.7470 10.1.1.60.7349 10.1.1.125.6248 10.1.1.144.7725 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1541:InstantGrid  A Framework for On-Demand Grid:Point Construction Roy Roy S. C. Ho K. K. Yin David C. M. Lee Daniel H. F. Hung Cho-li Wang Francis C. M. Lau:2009-04-19 This paper proposes the InstantGrid framework for on-demand  construction of grid points. In contrast to traditional approaches, InstantGrid  is designed to substantially simplify software management in grid  systems, and is able to instantly turn any computer into a grid-ready  platform with the desired execution environment. Experimental results  demonstrate that a 256-node grid point with commodity grid middleware  can be constructed in five minutes from scratch. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1541 http //www.cs.hku.hk/~clwang/papers/InstantGrid-gcc2004-camera.pdf en 10.1.1.114.2815 10.1.1.118.9332 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1542:Prototyping Proof Carrying Code:Martin Wildmoser Tobias Nipkow Gerwin Klein Sebastian Nanz:2009-04-19 We introduce a generic framework for proof carrying code, developed and mechanically verified in Isabelle/HOL. The framework defines and proves sound a verification condition generator with minimal assumptions on the underlying programming language, safety policy, and safety logic. We demonstrate its usability for prototyping proof carrying code systems by instantiating it to a simple assembly language with procedures and a safety policy for arithmetic overflow. CiteSeerX Kluwer 2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1542 http //www.doc.ic.ac.uk/~nanz/publications/./ppcc_tcs04.pdf en 10.1.1.40.2507 10.1.1.24.6526 10.1.1.29.2076 10.1.1.40.7179 10.1.1.42.4453 10.1.1.43.6143 10.1.1.103.6797 10.1.1.113.4649 10.1.1.11.9523 10.1.1.10.8649 10.1.1.84.1258 10.1.1.35.532 10.1.1.129.5517 10.1.1.86.3296 10.1.1.7.139 10.1.1.83.9822 10.1.1.103.4133 10.1.1.106.1397 10.1.1.65.5537 10.1.1.71.2795 10.1.1.123.3289 10.1.1.113.9340 10.1.1.132.1879 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1543:Proceedings of the Block Island Workshop on Cooperative Control,:Springer-Verlag Series Lecture Wei Ren Al W. Beard Timothy W. Mclain:2009-04-19 this paper. Ref [15] addresses the knowledge consensus problem when teams of agents only have local communication between nearest neighbors. Since the set of nearest neighbors is constantly changing, the overall system becomes a hybrid system. The paper shows that if the union over all bidirectional communication graphs is connected for finite periods of time, then consensus is achieved. While the results in this paper are not as strong, only unidirectional communication links are assumed CiteSeerX Springer-Verlag 2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1543 http //www.et.byu.edu/~wr25/./papers/preprints/bookchapters/RenBeardMcLain03.pdf en 10.1.1.28.2247 10.1.1.10.4292 10.1.1.1.3664 10.1.1.72.7624 10.1.1.2.7148 10.1.1.32.8694 10.1.1.4.8605 10.1.1.15.1267 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1544:Hidden-Action in Multi-Hop Routing:Michal Feldman John Chuang:2009-04-19 In any multi-hop routing scheme, cooperation by the intermediate nodes are essential for the succesful delivery of traffic. However, the effort exerted by the intermediate nodes are often unobservable by the source and/or destination nodes. We show it is possible to overcome this problem of hidden action by designing contracts, in the form of payments, to induce cooperation from the intermediate nodes. Interestingly, the ability to monitor per-hop or per-path outcomes, even if costless to implement, may not improve the welfare of the participants or the performance of the network. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1544 http //www.eecs.harvard.edu/p2pecon/confman/papers/s3p1.pdf en 10.1.1.105.3673 10.1.1.19.8434 10.1.1.28.5987 10.1.1.21.4823 10.1.1.42.559 10.1.1.132.4609 10.1.1.10.8652 10.1.1.11.4819 10.1.1.11.9831 10.1.1.19.1750 10.1.1.34.2032 10.1.1.113.7948 10.1.1.11.8397 10.1.1.60.1810 10.1.1.4.1706 10.1.1.13.9006 10.1.1.119.7102 10.1.1.14.1149 10.1.1.14.6620 10.1.1.10.7859 10.1.1.107.3061 10.1.1.119.8132 10.1.1.106.6176 10.1.1.122.7182 10.1.1.123.5145 10.1.1.131.5662 10.1.1.135.2383 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1545:EPTD DISCUSSION PAPER NO. 83 HOW AGRICULTURAL RESEARCH AFFECTS URBAN POVERTY IN DEVELOPING COUNTRIES  THE CASE OF CHINA:Shenggen Fan Cheng Fang Xiaobo Zhang:2009-04-19 developing countries China agricultural research urban poverty i ACKNOWLEDGMENTS This paper develops a framework to measure the impact of agricultural research on urban poverty. Increased investments in agricultural R&D can lower food prices by increasing food production, and lower food prices benefit the urban poor because they often spend more than 60% of their income on food. Application of the framework to China shows that these food price effects are large and that the benefits for the urban poor have been about as large as the benefits for the rural poor. KEYWORDS  developing countries, China, agricultural research, urban, poverty ii  ACKNOWLEDGMENTS The authors are grateful for helpful comments received from Peter Hazell, Robert Evanson and participants in a session at the American Agricultural Economics Association annual meeting in Chicago, August 5-8, 2001. iii  TABLE OF CONTENTS 1. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1545 http //www.ifpri.org/divs/eptd/dp/papers/eptdp83.pdf en 10.1.1.144.9394 10.1.1.1.3288 10.1.1.58.6199 10.1.1.58.3593 10.1.1.31.1619 10.1.1.58.2714 10.1.1.58.2531 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1546:Ontology-Based Query Refinement:For Multimedia Meta Sonja Zillner Werner Winiwarter:2009-04-19 To enable e#cient access to multimedia content, the media data has to be augmented by semantic metadata and functionality. The semantic representation has to be integrated with domain ontologies to fully exploit domain-specific knowledge. This knowledge can be used for refining ambiguous user queries by closing the conceptual gap between the user and the information to be retrieved. In our previous research, we have introduced Enhanced Multimedia Meta Objects (EMMOs) as a new approach for semantic multimedia meta modeling, as well as the query algebra EMMA, which is adequate and complete with regard to the EMMO model. This paper focuses on the refinement of EMMA queries by incorporating ontological knowledge. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1546 http //www.ifs.univie.ac.at/~ww/iiwas04a.pdf en 10.1.1.44.6030 10.1.1.93.962 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1547:Computerising Natural History Card Archives:Downton Lucas And A. C. Downton S. M. Lucas G. Patoulas:2009-04-19 This paper summarises the achievements of a multidisciplinary Bioinformatics project which has the objective of providing a general mechanism for efficient computerisation of typewritten/hand-annotated archive card indexes, of the type found in most museums, archives and libraries. In addition to efficiently scanning, recognising and databasing the content of the cards, the original card images must be maintained as the ultimate source record, and a flexible database structure is required to allow taxonomists to reorganise and update the resulting online archive. Implementation mechanisms for each part of the overall system are described, and conversion performance for a demonstrator database of 27,578 Pyralid moth archive cards is reported. The system is currently being used to convert the full NHM archive of Lepidoptera totalling 290,886 cards. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1547 http //www.csc.liv.ac.uk/%7Eprima/ICDAR2003/Papers/0064_562_downton_a.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1548:Genome-Wide Detection of Alternative Splicing in Expressed Sequences Using Partial Order Multiple Sequence Alignment Graphs:C. Grasso B. Modrek Y. Xing C. Lee:2009-04-19 this paper we present a detailed examination of the technical problems we have encountered in undertaking high-throughput analyses of alternative splicing over the last four years, and the specific solutions we have developed for these problems, in seeking to minimize both false positive and false negative errors CiteSeerX  2009-04-19 2007-11-19 2001 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1548 http //www.cs.mun.ca/~harold/BDG/grasso.pdf en 10.1.1.109.6075 10.1.1.115.1836 10.1.1.3.1101 10.1.1.104.1301 10.1.1.20.6089 10.1.1.108.6744 10.1.1.92.2847 10.1.1.102.5592 10.1.1.58.4273 10.1.1.83.8143 10.1.1.123.8933 10.1.1.100.2820 10.1.1.100.7691 10.1.1.101.5916 10.1.1.101.9727 10.1.1.102.7070 10.1.1.103.1344 10.1.1.104.9576 10.1.1.108.8802 10.1.1.112.9910 10.1.1.67.4233 10.1.1.74.9803 10.1.1.83.5745 10.1.1.83.7724 10.1.1.84.5073 10.1.1.84.6844 10.1.1.86.4181 10.1.1.87.3649 10.1.1.87.8082 10.1.1.90.2517 10.1.1.91.5647 10.1.1.92.8657 10.1.1.95.7769 10.1.1.95.7882 10.1.1.96.8415 10.1.1.99.6833 10.1.1.99.8018 10.1.1.100.4446 10.1.1.114.4132 10.1.1.115.3917 10.1.1.117.404 10.1.1.121.5264 10.1.1.122.809 10.1.1.125.5346 10.1.1.112.430 10.1.1.127.9023 10.1.1.128.4690 10.1.1.130.1155 10.1.1.130.5318 10.1.1.131.5021 10.1.1.137.3169 10.1.1.14.3143 10.1.1.1.5756 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1549:Adaptive Sampling for Environmental Robotics:Mohammad Rahimi Richard Pon William J. Kaiser Gaurav S. Sukhatme Deborah Estrin Mani Srivastava:2009-04-19 this paper we describe   ######################################## a new distributed,   robotic sensor methodology developed for applications including  characterization of environmental structure and phenomena.  NIMS exploits deployed infrastructure that provides the benefits  of precise motion, aerial suspension, and low energy sustainable  operations in complex environments. NIMS nodes may explore a  three-dimensional environment and enable the deployment of  sensor nodes at diverse locations and viewing perspectives.  NIMS characterization of phenomena in a three dimensional  space must now consider the selection of sensor sampling points  in both time and space. Thus, we introduce a new approach of  mobile node adaptive sampling with the objective of minimizing  error between the actual and reconstructed spatiotemporal  behavior of environmental variables while minimizing required  motion. In this approach, the NIMS node first explores as an  agent, gathering a statistical description of phenomena using a   ##################################approach. By iteratively   increasing sampling resolution, guided adaptively by the  measurement results themselves, this NIMS sampling enables  reconstruction of phenomena with a systematic method for  balancing accuracy with sampling resource cost in time and  motion. This adaptive sampling method is described analytically  and also tested with simulated environmental data. Experimental  evaluations of adaptive sampling algorithms have also been  completed. Specifically, NIMS experimental systems have been  developed for monitoring of spatiotemporal variation of  atmospheric climate phenomena. A NIMS system has been  deployed at a field biology station to map phenomena in a 50m  width and 50m span transect in a forest environme... CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1549 http //cres.usc.edu/pubdb_html/files_upload/400.pdf en 10.1.1.131.2084 10.1.1.18.1128 10.1.1.20.7017 10.1.1.8.1672 10.1.1.92.7418 10.1.1.93.7998 10.1.1.71.4666 10.1.1.132.6943 10.1.1.100.8264 10.1.1.64.4012 10.1.1.79.7058 10.1.1.110.501 10.1.1.128.7519 10.1.1.106.8162 10.1.1.63.3553 10.1.1.66.1967 10.1.1.69.4362 10.1.1.72.4649 10.1.1.84.7790 10.1.1.91.7021 10.1.1.93.6045 10.1.1.97.2624 10.1.1.99.4191 10.1.1.111.6699 10.1.1.115.2562 10.1.1.129.5023 10.1.1.135.5385 10.1.1.138.7945 10.1.1.139.8283 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1550:Enhanced Expressiveness in Scripting Using AnimalScript V2:Guido Rößling Felix Gliesche Thomas Jajeh Thomas Widjaja:2009-04-19 this paper) is scripting. Here, the user provides a simple ASCII file containing commands that steer the visualization. Typically, the commands are held in plain English to make using the underlying scripting language easier. Typical examples for scripting-driven AV systems include JAWAA (Akingbade et al., 2003), JSamba (Stasko, 1998), JHAV E (Naps et al., 2000) and Animal (Roling and Freisleben, 2002) CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1550 http //nibbler.tk.informatik.tu-darmstadt.de/Publications/2004/pvw12.pdf en 10.1.1.19.5818 10.1.1.28.9812 10.1.1.103.9289 10.1.1.78.7343 10.1.1.138.1175 10.1.1.140.5036 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1551:Comparison of Clustering Algorithms in Speaker Identification:Tomi Kinnunen Teemu Kilpelinen Pasi FrÄnti:2009-04-19 Speech processing speaker identification vector In speaker identification, we match a given (unkown) speaker to the set of known speakers in a database. The database is constructed from the speech samples of each known speaker. Feature vectors are extracted from the samples by short-term spectral analysis, and processed further by vector quantization for locating the clusters in the feature space. We study the role of the vector quantization in the speaker identification system. We compare the performance of different clustering algorithms, and the influence of the codebook size. We want to find out, which method provides the best clustering result, and whether the difference in quality contribute to improvement in recognition accuracy of the system. CiteSeerX  2009-04-19 2007-11-19 0 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1551 http //cs.joensuu.fi/pages/tkinnu/research/pdf/ComparisonClusteringAlgsSpeakerRec.pdf en 10.1.1.58.5875 10.1.1.1.5615 10.1.1.58.2111 10.1.1.58.3968 10.1.1.125.5073 10.1.1.104.7507 10.1.1.78.6536 10.1.1.81.4597 10.1.1.89.5956 10.1.1.143.9804 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1552:Towards a Generic Talking Head:Brar Bailly Chabanas:2009-04-19 MPEG-4 Facial Animation Parameters and Facial Definition Parameters We present here a framework for developing a generic talking head capable of reproducing the anatomy and the facial  deformations induced by speech movements with a set of a few parameters. We will show that the speaker-specific articulatory movements can be straightforward encoded into the normalized MPEG-4 Facial Animation Parameters and Facial Definition  Parameters. CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1552 http //www.icp.inpg.fr/ICP/publis/synthese/_mb/clonegen_mb_ISSP03.pdf en 10.1.1.128.4967 10.1.1.30.2775 10.1.1.130.9240 10.1.1.15.8634 10.1.1.31.3794 10.1.1.142.982 10.1.1.32.7228 10.1.1.42.3468 10.1.1.52.5953 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1553:Language Policy and Localization in Pakistan  Proposal for a Paradigmatic Shift:Tariq Rahman:2009-04-19 This paper examines the present language policy of Pakistan and its consequences for the indigenous languages of the country. It then relates this to efforts at localization--- creating computer software in the languages of the country---and argues that all such efforts have been power-oriented. This means that only those languages have been selected for localization which are used in the domains of power---government, bureaucracy, judiciary, military, commerce, media, education, research etc---thus further strengthening them vis a vis the marginalized languages of the people. It is therefore argued that the efforts at localization should be rights-based i.e. all language communities should be considered equal and their languages should be localized not because of their present use in the domains of power but because they too should be strengthened by being put to such use. CiteSeerX  2009-04-19 2007-11-19 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1553 http //www.elda.fr/en/proj/scalla/SCALLA2004/rahman.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1554:BioMed Central:Bmc Medical Informatics Biomed Central Cynthia S Gadd Open Access Kathleen Ann Mckibbon Kathleen Ann Mckibbon Cynthia S Gadd:2009-04-19 Background  Quantitative studies are becoming more recognized as important to understanding  health care with all of its richness and complexities. The purpose of this descriptive survey was to  provide a quantitative evaluation of the qualitative studies published in 170 core clinical journals for  2000. CiteSeerX  2009-04-19 2007-11-19 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1554 http //www.biomedcentral.com/content/pdf/1472-6947-4-11.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1555:Object-Relational Management of Multiply Represented Geographic Entities:Anders Friis-Christensen National Anders Friis-christensen:2009-04-19 Multiple representation occurs when information about the same geographic entity is represented electronically more than once. This occurs frequently in practice, and it invariably results in the occurrence of inconsistencies among the different representations. We propose to resolve this situation by introducing a multiple representation management system (MRMS), the schema of which includes rules that specify how to identify representations of the same entity, rules that specify consistency requirements, and rules used to restore consistency when necessary. In this paper, we demonstrate by means of a prototype and a realworld case study that it is possible to implement a multiple representation schema language on top of an objectrelational database management system. Specifically, it is demonstrated how it is possible to map the constructs of the language used for specifying the multiple representation schema to functionality available in Oracle. Though some limitations exist, Oracle has proven to be a suitable platform for implementing an MRMS. CiteSeerX IEEE Computer Society 2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1555 http //www.cs.auc.dk/~csj/Papers/Files/2003_friis-christensenSSDM.pdf en 10.1.1.118.6768 10.1.1.101.5051 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.1.1556:Netview  Application Software for Constructing and Visually Exploring Phylogenetic Networks:Kirill Kryukov Naruya Saitou:2009-04-19 phylogenetic network neighbor-joining method Introduction  Reconstructing evolutionary history of a group of species is a major task in biological study. Many methods exist for reconstructing such history, or phylogeny, but most of them are based on an assumption that evolution of given gene family can be represented as a tree. However some families of genes may have alternative historical structure that cannot be represented as a tree. Such history can result from events such as recombination, gene conversion and horizontal gene transfer, and require not tree but network for accurate representation. Parallel substitutions are also sources of non-tree networks. For the purpose of understanding such history we developed a program Netview, which enables constructing phylogenetic network based on the sequence data.  2 Netview  Netview uses following approach to construct a network  First, it constructs a NJ-tree [1] for provided set of sequences, using nucleotide di#erence distance matrix (Fig. 1). Then every nucleotide site positio CiteSeerX  2009-04-19 2007-11-19 2003 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.1556 http //hc.ims.u-tokyo.ac.jp/JSBi/journal/GIW03/GIW03SS06.pdf en 10.1.1.85.2481 10.1.1.134.5815 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.113.6268:Multiple Dynamic View Support for Cooperative Work:Yusuke Yokota Tatsuya Nakamura Hiroyuki Tarumi Yahiko Kambayashi:2008-08-14 VIEW Media is a cooperative hypermedia system, which supports cooperative work utilizing hypermedia documents. It provides fundamental functions for cooperative work support system and enables developers to construct various groupware such as distributed presentation systems, education systems, conference systems, and so forth. This system provides a powerful and flexible mechanism of customization. The mechanism can alter presentation, structure, behavior and authority of hypermedia documents and workspace, which supports dynamic change of roles of users. This paper describes the purpose of VIEW Media, its basic model and implementation, and a user interface which supports conferences among users who have different access rights to shared documents. 1. CiteSeerX  2008-08-14 2008-08-14 1999 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.6268 http //ieeexplore.ieee.org/iel5/6197/16540/00765767.pdf en 10.1.1.139.1894 10.1.1.21.4748 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.21.7175:Adding View Support to ODMG-93:M. Dobrovnik J. Eder:2009-04-15 A concept to introduce external models in object oriented databases is presented, such that application programs do no longer interface directly the whole conceptual schema, but work against external schemas specifically designed for the applications requirements. There are virtually no restrictions for such applications, since the interaction with the database takes place via updateable views.  The data model is a somewhat simplified form of ODMG-93 [4], where we incorporated the additional constructs we need for the external schema definition. The approach makes a clear distinction between types and classes, and also separates the type and class hierarchies of the conceptual schema from the external type and class hierarchies. With type derivation, we provide a powerful type restructuring mechanism, which allows to define an external type which is based on a conceptual type. In the derivation process, one can omit conceptual components and methods or redefine their types. Additional methods can be defined for external types as well. 1  To appear in  "Advances in Databases and Information Systems  ADBIS '94" , Proc. of the Intl. Workshop of the Moscow ACM SIGMOD Chapter  By defining well formed external schemas via constraints and schema invariants, we are able to guarantee unambiguous method resolution, steadiness of method resolution and compliance with the covariant subtyping principle. The full semantics of the conceptual schema are preserved. The designer of the external schema can make use of all information contained in the conceptual schema, in particular conceptual methods can be called from externally defined ones.  In this paper, we concentrate on the area of type derivation and method resolution.  1 CiteSeerX  2009-04-15 2007-11-21 1994 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.7175 http //www.ifi.uni-klu.ac.at/Publications/pubfiles/psfiles/1994-0001-DoEd.ps en 10.1.1.49.5388 10.1.1.45.855 10.1.1.45.224 10.1.1.50.3649 10.1.1.92.5802 10.1.1.25.3017 10.1.1.96.1587 10.1.1.42.7156 10.1.1.17.6038 10.1.1.105.8423 10.1.1.85.8868 10.1.1.86.6171 10.1.1.89.4262 10.1.1.39.5730 10.1.1.33.2495 10.1.1.28.4618 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.31.2167:Study of the Charge Spectra Generated By Photomultipliers.:Cavasinni Cologna B. Di Girolamo G. Renzoni:2009-04-12 INTRODUCTION  In this note we discuss the measurements of light yield from scintillator and wavelenght-shifting fibres (WLS) performed through the analysis of the charge distribution provided by a photomultiplier. This procedure was used in ref [1]. The analysis procedures were verified by a simple montecarlo program which generates the photomultiplier spectra. 2 THE EXPERIMENTAL APPARATUS  These measurements have been carried out in the optoelectronic laboratory in Pisa with two different setups. GPIB-CAMAC interface PM 1 Fic system OS/9 Computer  -fic monitor 12345... -off-line analisys  Fibre Fibre Scintillator Support  Dark Room Up View Support Source Digital Multimeter Figure 1  Experimental apparatus used for the measurements of charge spectra  In the first case, as shown in the figure 1, the fibre is placed on proper supports at about 10 cm from the surface of an optical bench. The fibre, coupled to a small scintillat CiteSeerX  2009-04-12 2007-11-22 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.2167 http //atlasinfo.cern.ch/Atlas/SUB_DETECTORS/TILE/tileref/note117/fnote.ps.Z en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.49.2435:TIGUKAT  An Object Model for Query and View Support in Object Database Systems:Randal J. Peters M. Tamer Özsu Duane Szafron:2009-04-12 Object-oriented computing is influencing many areas of computer science including software engineering, user interfaces, operating systems, programming languages and database systems. The appeal of object-orientation is attributed to its higher levels of abstraction for modeling real world concepts, its support for incremental development and its potential for interoperability. Despite many advances, object-oriented computing is still in its infancy and a universally acceptable definition of an object-oriented data model is virtually nonexistent, although some standardization efforts are underway. This report presents the TIGUKAT  1  object model definition that is the result of an investigation of object-oriented modeling features which are common among earlier proposals, along with some distinctive qualities that extend the power and expressibility of this model beyond others. The literature recognizes two perspectives of an object model  the structural view and the behavioral view. ... CiteSeerX  2009-04-12 2007-11-22 1992 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.2435 ftp //menaik.cs.ualberta.ca/pub/TechReports/1992/TR92-14/TR92-14.ps.Z en 10.1.1.123.1085 10.1.1.116.1298 10.1.1.48.1422 10.1.1.27.6071 10.1.1.84.9469 10.1.1.97.9167 10.1.1.11.8792 10.1.1.48.8578 10.1.1.31.7627 10.1.1.42.7725 10.1.1.48.2199 10.1.1.45.224 10.1.1.44.4971 10.1.1.34.624 10.1.1.86.4262 10.1.1.31.7627 10.1.1.32.4444 10.1.1.51.5051 10.1.1.32.4382 10.1.1.51.9134 10.1.1.52.9346 10.1.1.56.204 10.1.1.21.1999 10.1.1.45.4879 10.1.1.105.8443 10.1.1.53.2111 10.1.1.53.4468 10.1.1.29.8669 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.37.8818:Overview of Multidatabase Transaction Management:Yuri Breitbart Hector Garcia-Molina Avi Silberschatz:2009-06-22 A multidatabase system (MDBS) is a facility that allows users access to data located in multiple autonomous database management systems (DBMSs). In such a system, global transactions are executed under the control of the MDBS. Independently, local transactions are executed under the control of the local DBMSs. Each local DBMS integrated by the MDBS may employ a different transaction management scheme. In addition, each local DBMS has complete control over all transactions (global and local) executing at its site, including the ability to abort at any point any of the transactions executing at its site. Typically, no design or internal DBMS structure changes are allowed in order to accommodate the MDBS. Furthermore, the local DBMSs may not be aware of each other, and, as a consequence, cannot coordinate their actions. Thus, traditional techniques for ensuring transaction atomicity and consistency in homogeneous distributed database systems may not be appropriate for an MDBS environment.... CiteSeerX  2009-06-22 2007-11-22 1992 text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.8818 ftp //ftp.cs.utexas.edu/pub/avi/UT-CS-TR-92-21.PS.Z en 10.1.1.101.8988 10.1.1.130.1772 10.1.1.38.6210 10.1.1.34.3768 10.1.1.36.1275 10.1.1.104.3430 10.1.1.112.244 10.1.1.94.9106 10.1.1.41.4043 10.1.1.49.5143 10.1.1.59.2034 10.1.1.53.875 10.1.1.137.5642 10.1.1.41.8832 10.1.1.21.1100 10.1.1.105.3626 10.1.1.44.773 10.1.1.21.2576 10.1.1.40.6484 10.1.1.144.2713 10.1.1.48.6718 10.1.1.16.6166 10.1.1.40.832 10.1.1.36.2660 10.1.1.30.3087 10.1.1.47.322 10.1.1.17.6532 10.1.1.33.2301 10.1.1.20.4306 10.1.1.47.6258 10.1.1.39.9212 10.1.1.46.4334 10.1.1.71.485 10.1.1.43.1405 10.1.1.49.1308 10.1.1.35.6530 10.1.1.42.5177 10.1.1.54.4068 10.1.1.133.3692 10.1.1.40.4220 10.1.1.48.7743 10.1.1.26.575 10.1.1.107.596 10.1.1.116.3495 10.1.1.33.2074 10.1.1.38.7229 10.1.1.59.4464 10.1.1.103.9562 10.1.1.36.5887 10.1.1.40.9658 10.1.1.53.6783 10.1.1.29.5010 10.1.1.107.876 10.1.1.46.2273 10.1.1.46.3657 10.1.1.49.5281 10.1.1.50.4114 10.1.1.63.3234 10.1.1.79.9607 10.1.1.83.4819 10.1.1.83.4980 10.1.1.84.8136 10.1.1.90.953 10.1.1.90.9785 10.1.1.92.2397 10.1.1.93.8911 10.1.1.94.3702 10.1.1.97.672 10.1.1.98.4604 10.1.1.117.6190 10.1.1.118.4814 10.1.1.130.880 10.1.1.137.1167 10.1.1.51.5111 10.1.1.45.2774 10.1.1.45.9165 10.1.1.40.4684 10.1.1.35.5866 10.1.1.38.3606 10.1.1.29.9166 10.1.1.31.3667 10.1.1.21.7181 10.1.1.33.2343 10.1.1.23.3117 10.1.1.24.7879 10.1.1.18.8936 10.1.1.19.3770 10.1.1.19.5246 10.1.1.12.3293 10.1.1.2.2325 10.1.1.60.116 10.1.1.140.5244 10.1.1.143.3448 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.54.6302:Overview of Multidatabase Transaction Management:Yuri Breitbart Hector Garcia-molina Avi Silberschatz:2009-04-12 A multidatabase system (MDBS) is a facility that allows users access to data located in multiple autonomous database management systems (DBMSs). In such a system, global transactions are executed under the control of the MDBS. Independently, local transactions are executed under the control of the local DBMSs. Each local DBMS integrated by the MDBS may employ a different transaction management scheme. In addition, each local DBMS has complete control over all transactions (global and local) executing at its site, including the ability to abort at any point any of the transactions executing at its site. Typically, no design or internal DBMS structure changes are allowed in order to accommodate the MDBS. Furthermore, the local DBMSs may not be aware of each other, and, as a consequence, cannot coordinate their actions. Thus, traditional techniques for ensuring transaction atomicity and consistency in homogeneous distributed database systems may not be appropriate for an MDBS environment.... CiteSeerX  2009-04-12 2007-11-22 1992 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.6302 http //www-db.stanford.edu/pub/papers/multidatabase.ps en 10.1.1.101.8988 10.1.1.130.1772 10.1.1.38.6210 10.1.1.34.3768 10.1.1.36.1275 10.1.1.104.3430 10.1.1.112.244 10.1.1.94.9106 10.1.1.41.4043 10.1.1.49.5143 10.1.1.59.2034 10.1.1.53.875 10.1.1.137.5642 10.1.1.41.8832 10.1.1.21.1100 10.1.1.105.3626 10.1.1.44.773 10.1.1.21.2576 10.1.1.40.6484 10.1.1.144.2713 10.1.1.48.6718 10.1.1.16.6166 10.1.1.40.832 10.1.1.36.2660 10.1.1.30.3087 10.1.1.47.322 10.1.1.17.6532 10.1.1.33.2301 10.1.1.20.4306 10.1.1.47.6258 10.1.1.39.9212 10.1.1.46.4334 10.1.1.71.485 10.1.1.43.1405 10.1.1.49.1308 10.1.1.35.6530 10.1.1.42.5177 10.1.1.54.4068 10.1.1.133.3692 10.1.1.40.4220 10.1.1.48.7743 10.1.1.26.575 10.1.1.107.596 10.1.1.116.3495 10.1.1.33.2074 10.1.1.38.7229 10.1.1.59.4464 10.1.1.103.9562 10.1.1.36.5887 10.1.1.40.9658 10.1.1.53.6783 10.1.1.29.5010 10.1.1.107.876 10.1.1.46.2273 10.1.1.46.3657 10.1.1.49.5281 10.1.1.50.4114 10.1.1.63.3234 10.1.1.79.9607 10.1.1.83.4819 10.1.1.83.4980 10.1.1.84.8136 10.1.1.90.953 10.1.1.90.9785 10.1.1.92.2397 10.1.1.93.8911 10.1.1.94.3702 10.1.1.97.672 10.1.1.98.4604 10.1.1.117.6190 10.1.1.118.4814 10.1.1.130.880 10.1.1.137.1167 10.1.1.51.5111 10.1.1.45.2774 10.1.1.45.9165 10.1.1.40.4684 10.1.1.35.5866 10.1.1.38.3606 10.1.1.29.9166 10.1.1.31.3667 10.1.1.21.7181 10.1.1.33.2343 10.1.1.23.3117 10.1.1.24.7879 10.1.1.18.8936 10.1.1.19.3770 10.1.1.19.5246 10.1.1.12.3293 10.1.1.2.2325 10.1.1.60.116 10.1.1.140.5244 10.1.1.143.3448 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.59.5918:Coupling OWL with MPEG-7 and TV-Anytime for Domain-specific Multimedia Information Integration and Retrieval:Chrisa Tsinaraki Panagiotis Polydoros Nektarios Moumoutzis Stavros Christodoulakis:2009-04-19 The success of the Web is due to a large extent in the development of standards that allow interoperability in open environments. Future work in the field will have greater impact if it is based and built on existing standards. Well-accepted international standards for multimedia content descriptions are MPEG-7 and TV-Anytime. However, these standards do not propose a concrete methodology and language for the integration of domainspecific knowledge for the multimedia content. Moreover, domain-specific knowledge for a specific domain related to the content of a video may be described in a well-accepted ontology description language such as OWL, which is independent of MPEG-7 and TV-Anytime. CiteSeerX  2009-04-19 2008-02-05 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.5918 http //www.riao.org/Proceedings-2004/papers/1330.pdf en 10.1.1.103.1819 10.1.1.104.7893 10.1.1.106.3954 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.43.3839:Specification and Execution of Transactional Workflows:Marek Rusinkiewicz Amit Sheth:2009-04-13 The basic transaction model has evolved over time to incorporate more complex transaction structures  and to selectively modify the atomicity and isolation properties. In this chapter we discuss the application  of transaction concepts to activities that involve coordinated execution of multiple tasks (possibly of  different types) over different processing entities. Such applications are referred to as transactional  workflows. In this chapter we discuss the specification of such workflows and the issues involved in their  execution.  1 What is a Workflow?  Workflows are activities involving the coordinated execution of multiple tasks performed by different processing entities. A task defines some work to be done and can be specified in a number of ways, including a textual description in a file or an email, a form, a message, or a computer program. A processing entity that performs the tasks may be a person or a software system (e.g., a mailer, an application program, a database mana... CiteSeerX ACM Press 2009-04-13 2007-11-22 1995 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.3839 http //lsdis.cs.uga.edu/lib/././download/RS93.ps en 10.1.1.17.1323 10.1.1.59.5051 10.1.1.38.6210 10.1.1.68.7445 10.1.1.109.5175 10.1.1.17.7962 10.1.1.44.7778 10.1.1.112.244 10.1.1.13.7602 10.1.1.102.7874 10.1.1.41.4043 10.1.1.49.5143 10.1.1.41.7252 10.1.1.17.3225 10.1.1.54.7761 10.1.1.55.5255 10.1.1.108.958 10.1.1.35.7733 10.1.1.52.3682 10.1.1.36.1618 10.1.1.45.6317 10.1.1.43.3180 10.1.1.35.8718 10.1.1.44.6365 10.1.1.51.2883 10.1.1.50.9206 10.1.1.6.9085 10.1.1.30.1707 10.1.1.80.6634 10.1.1.49.355 10.1.1.127.3550 10.1.1.35.3562 10.1.1.137.8832 10.1.1.49.4085 10.1.1.41.5506 10.1.1.40.4657 10.1.1.43.2369 10.1.1.40.832 10.1.1.74.5411 10.1.1.90.4428 10.1.1.110.6967 10.1.1.27.2122 10.1.1.15.5605 10.1.1.54.727 10.1.1.49.7512 10.1.1.45.8796 10.1.1.50.5984 10.1.1.53.137 10.1.1.30.3262 10.1.1.28.1680 10.1.1.21.7110 10.1.1.29.3148 10.1.1.57.687 10.1.1.59.5924 10.1.1.46.2812 10.1.1.51.5552 10.1.1.17.7375 10.1.1.40.1598 10.1.1.52.9787 10.1.1.1.3496 10.1.1.50.6791 10.1.1.55.3358 10.1.1.137.7582 10.1.1.118.4127 10.1.1.49.3580 10.1.1.35.5825 10.1.1.46.9382 10.1.1.31.7411 10.1.1.48.5504 10.1.1.55.5163 10.1.1.18.1603 10.1.1.52.8129 10.1.1.1.9723 10.1.1.21.9113 10.1.1.49.7644 10.1.1.52.6646 10.1.1.75.3106 10.1.1.80.2072 10.1.1.55.8770 10.1.1.54.8188 10.1.1.101.7919 10.1.1.104.8176 10.1.1.24.5741 10.1.1.29.4667 10.1.1.4.1055 10.1.1.48.9175 10.1.1.56.792 10.1.1.65.3172 10.1.1.66.5947 10.1.1.73.8532 10.1.1.83.8299 10.1.1.86.8521 10.1.1.87.2402 10.1.1.87.4648 10.1.1.90.5638 10.1.1.91.1709 10.1.1.94.4248 10.1.1.114.511 10.1.1.119.5037 10.1.1.124.7957 10.1.1.49.215 10.1.1.53.7777 10.1.1.53.9711 10.1.1.45.9409 10.1.1.40.8789 10.1.1.43.4845 10.1.1.34.8273 10.1.1.35.4783 10.1.1.28.3176 10.1.1.16.8151 10.1.1.8.9117 10.1.1.58.3449 10.1.1.142.7041 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.33.8596:Dynamic Query Optimization and Query Processing in Multidatabase Systems 1.:Henryk Josinski:2009-04-15 Introduction  The multidatabase system (MDBS) approach, as a solution for integrated access to information distributed among diverse data sources, has gained a lot of attention in recent years. The multidatabase system is a database system which integrates pre--existing databases allowing the users to access simultaneously database systems (DBMSs) formulating a global query based on a global schema.  The component DBMSs are assumed to be heterogeneous and autonomous. Heterogeneity refers to different user interfaces, data models, query languages, and query optimization strategies [5]. Local autonomy means that each DBMS retains complete control over local data and processing. As result of this, its cost model may not be available to the global query optimizer.  When a global query is submitted, it is decomposed into two types of queries [1]   -- subqueries, operating on sharable data items from local databases,  -- assembling queries, consisting of, CiteSeerX  2009-04-15 2007-11-22 2000 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.8596 http //www.edbt2000.uni-konstanz.de/phd-workshop/papers/Josinski.pdf en 10.1.1.27.4704 10.1.1.51.8352 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.55.2467:Using Reasoning of Description Logics for Query Processing in Multidatabase Systems:Alfredo Goñi Jesús Bermúdez José M. Blanco Arantza Illarramendi:2009-04-12 . Nowadays, the interest to work simultaneously with data stored in several databases is growing. Multidatabase Systems (MDBS) have been proposed as a solution to work with different pre-existing autonomous databases. Federated Database Systems (FDBS) are a special type of MDBS where an integrated schema is provided. This integrated schema is the result of an integration process among the schemata of the pre-existing autonomous databases. In our case we have built a FDBS that integrates several heterogeneous relational databases by using a particular type of Knowledge Representation system based on Description Logics (DL system) . The integrated schema is represented as a terminology formed by a set of classes and attributes. Although there has been a lot of research about the problems of translation and integration of schemata to obtain integrated ones, the problem of query processing against these integrated schemata has not been treated so much. In this paper we present an overview ... CiteSeerX  2009-04-12 2007-11-22 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.2467 http //sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-4/goni.ps en 10.1.1.32.6380 10.1.1.51.9343 10.1.1.47.9649 10.1.1.126.7225 10.1.1.7.9769 10.1.1.65.4869 10.1.1.32.7239 10.1.1.16.6464 10.1.1.50.3099 10.1.1.1.7655 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.55.482:A Shared View of Sharing  The Treaty of Orlando:Lynn Andrea Stein Henry Lieberman David Ungar:2009-04-12 Introduction For the past few years, researchers have been debating the relative merits of object-oriented languages with classes and inheritance as opposed to those with prototypes and delegation. It has become clear that the object-oriented programming language design space is not a dichotomy. Instead, we have identified two fundamental mechanisms---templates and  empathy---and several different independent degrees of freedom for each. Templates create new objects in their own image, providing guarantees about the similarity of group members. Empathy allows an object to act as if it were some other object, thus providing sharing of state and behavior. The Smalltalk-80  TM  language,  1  Actors, Lieberman's Delegation  system, Self, and Hybrid each take differing stands on the forms of templates  1  Smalltalk-80  TM  is a trademark of Par CiteSeerX ACM Press 2009-04-12 2007-11-22 1989 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.482 http //lcs.www.media.mit.edu/people/lieber/Lieberary/OOP/Treaty/Treaty.ps en 10.1.1.26.9545 10.1.1.118.6579 10.1.1.48.69 10.1.1.57.5195 10.1.1.9.570 10.1.1.47.511 10.1.1.127.5320 10.1.1.100.4334 10.1.1.5.3348 10.1.1.39.3374 10.1.1.56.4713 10.1.1.61.2065 10.1.1.27.3015 10.1.1.1.5960 10.1.1.67.5433 10.1.1.31.8109 10.1.1.68.4062 10.1.1.49.3986 10.1.1.122.9331 10.1.1.46.8283 10.1.1.54.5230 10.1.1.16.2055 10.1.1.137.5180 10.1.1.43.5722 10.1.1.68.2105 10.1.1.35.1247 10.1.1.30.1415 10.1.1.7.5014 10.1.1.102.3946 10.1.1.105.6469 10.1.1.26.223 10.1.1.26.8645 10.1.1.35.4104 10.1.1.39.6986 10.1.1.41.7822 10.1.1.42.9056 10.1.1.53.9325 10.1.1.71.1802 10.1.1.76.6993 10.1.1.89.9613 10.1.1.121.5599 10.1.1.122.3737 10.1.1.127.1894 10.1.1.55.5674 10.1.1.37.8260 10.1.1.2.2077 10.1.1.24.5782 10.1.1.19.780 10.1.1.2.4148 10.1.1.2.4173 10.1.1.131.902 10.1.1.30.2927 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.13.2374:Integrated Office Systems:O. M. Nierstrasz D. C. Tsichritzis:2009-04-17 Introduction  New techniques are sorely needed to aid in the development and maintenance of large application systems. The problem with traditional approaches to software engineering is well in evidence in the field of o#ce information systems  it is costly and di#cult to extend existing applications, and to get unrelated applications to "talk" to each other. The objectoriented approach is already being tentatively applied in the modeling of "o#ce objects" and in the presentation of these entities to users as such in "desktop" interfaces to o#ce software. In order to fully exploit the approach to achieve integrated o#ce systems, we need to use object-oriented programming languages, object-oriented run-time support, and object-oriented software engineering environments.  We can view the fundamental idea behind the object-oriented approach as that of encapsulation  object-oriented languages and systems exploit encapsulation in various ways in an attempt to enhance productivity through, f CiteSeerX  2009-04-17 2007-11-21 1988 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.2374 http //www.iam.unibe.ch/~scg/Archive/OSG/Nier89bIntegOfficeSystems.pdf en 10.1.1.26.9545 10.1.1.65.5865 10.1.1.34.624 10.1.1.12.8544 10.1.1.144.6983 10.1.1.26.6746 10.1.1.49.3064 10.1.1.30.4607 10.1.1.38.4894 10.1.1.20.8197 10.1.1.26.4381 10.1.1.29.1890 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.42.9253:Integrated Office Systems:O. M. Nierstrasz D. C. Tsichritzis:2009-04-11 Introduction  New techniques are sorely needed to aid in the development and maintenance of large application systems. The problem with traditional approaches to software engineering is well in evidence in the field of office information systems  it is costly and difficult to extend existing applications, and to get unrelated applications to "talk" to each other. The objectoriented approach is already being tentatively applied in the modeling of "office objects" and in the presentation of these entities to users as such in "desktop" interfaces to office software. In order to fully exploit the approach to achieve integrated office systems, we need to use object-oriented programming languages, object-oriented run-time support, and object-oriented software engineering environments. We can view the fundamental idea behind the object-oriented approach as that of encapsulation  object-oriented languages and systems exploit encapsulation in various ways in an attempt t CiteSeerX ACM Press and Addison-Wesley 2009-04-11 2007-11-22 1988 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.9253 ftp //ftp.iam.unibe.ch/pub/scg/Papers/integratedOfficeSystems.ps.gz en 10.1.1.26.9545 10.1.1.65.5865 10.1.1.34.624 10.1.1.12.8544 10.1.1.144.6983 10.1.1.26.6746 10.1.1.49.3064 10.1.1.30.4607 10.1.1.38.4894 10.1.1.20.8197 10.1.1.26.4381 10.1.1.29.1890 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.86.3568:Topics  Selected Reference References The following books are useful references.:Alfred V. Aho John E. Hopcroft:2008-07-01 but it lacks topics in network flows and linear programming, as well as more recent algorithms. It is amazing that after more than twenty years it remains an extremely valuable book. 2. Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. Data Structures and Algorithms. Addison-Wesley, 1983. Revised and more elementary version of the first six chapters of The Design and Analysis of Computer Algorithms. CiteSeerX  2008-07-01 2008-04-01 2000 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.86.3568 http //graphics.stanford.edu/courses/cs161-00-winter/handouts/references.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.100.9631:[3] S. Abiteboul, R. Hull, and V. Vianu. Foundations of Databases. Addison-:S. Acharya P. B. Gibbons V. Poosala S. Ramaswamy The Aqua:2008-07-01 [4] S. Abiteboul and P. Kanellakis. Object identity as a query language primitive. CiteSeerX  2008-07-01 2008-04-02 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.9631 http //www.ateneonline.it/rama/6114-6_biblio.pdf en 10.1.1.17.2504 10.1.1.29.4781 10.1.1.96.1350 10.1.1.19.1226 10.1.1.120.576 10.1.1.28.4924 10.1.1.43.2125 10.1.1.40.8642 10.1.1.28.7845 10.1.1.91.7258 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.25.5524:Games and total Datalog ... Queries:Jörg Flum Max Kubierschky Bertram Ludäscher:2009-04-16 We show that the expressive power of Datalog @ programs under the well-founded semantics does not decrease when restricted to total programs thereby affirmatively answering an open question posed by Abiteboul et al. (Foundations of Databases, Addison-Wesley, Reading, MA, 1995). In particular, we show that for every such program there exists an equivalent total program whose only recursive rule is of the form win( # X ) # move( # X  # Y )  @win( # Y )  where move is definable by a quantifier-free first-order formula. Also, for the non-inflationary semantics we derive a new normal form whose only recursive rule simulates a version of the game of life. CiteSeerX  2009-04-16 2007-11-21 2000 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.5524 http //www.sdsc.edu/~ludaesch/Paper/tcs2000.pdf en 10.1.1.53.8258 10.1.1.32.9446 10.1.1.144.1424 10.1.1.46.9441 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.62.2095:<author><last-name>Abiteboul</last-name></author> <author><last-name>Hull</last-name></author> <author><last-name>Vianu</last-name></author> <title>Foundations of Databases</title>:Peter Wood Overview Of Xml:2008-07-01 magazine → title volume issue date • event-condition-action (ECA) rules for XML • analysing ECA rules • containment and equivalence of XPath queries • conclusions and future work CiteSeerX  2008-07-01 2008-02-06 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.62.2095 http //www.dcs.bbk.ac.uk/~ptw/analysis.pdf en Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.49.2910:Active Database Systems:Umeshwar Dayal Eric N. Hanson Jennifer Widom:2009-04-12 In Won Kim editor Modern Database Systems The Object Model Integrating a production rules facility into a database system provides a uniform mechanism for a number of advanced database features including integrity constraint enforcement, derived data maintenance, triggers, alerters, protection, version control, and others. In addition, a database system with rule processing capabilities provides a useful platform for large and efficient knowledge-base and expert systems. Database systems with production rules are referred to as active database systems, and the field of active database systems has indeed been active. This chapter summarizes current work in active database systems  topics covered include active database rule models and languages, rule execution semantics, and implementation issues.  1 Introduction  Conventional database systems are passive  they only execute queries or transactions explicitly submitted by a user or an application program. For many applications, however, it is important to monitor situations of interest, and to ... CiteSeerX ACM Press 2009-04-12 2007-11-22 1994 application/postscript text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.2910 http //www-db.stanford.edu/pub/papers/book-chapter.ps en 10.1.1.17.1323 10.1.1.143.7196 10.1.1.50.3821 10.1.1.51.9946 10.1.1.41.2030 10.1.1.46.2504 10.1.1.52.4421 10.1.1.38.2083 10.1.1.34.661 10.1.1.103.7630 10.1.1.100.9015 10.1.1.97.1699 10.1.1.107.4220 10.1.1.47.9217 10.1.1.133.7157 10.1.1.101.5051 10.1.1.30.9989 10.1.1.53.6941 10.1.1.50.8529 10.1.1.133.4287 10.1.1.50.7278 10.1.1.10.1688 10.1.1.19.8669 10.1.1.44.7600 10.1.1.144.376 10.1.1.44.1348 10.1.1.47.9998 10.1.1.90.4428 10.1.1.108.344 10.1.1.48.9470 10.1.1.53.5472 10.1.1.52.4872 10.1.1.144.4965 10.1.1.31.7578 10.1.1.32.6426 10.1.1.58.6335 10.1.1.85.8052 10.1.1.93.1931 10.1.1.55.4610 10.1.1.21.3821 10.1.1.26.9208 10.1.1.31.4869 10.1.1.48.1833 10.1.1.83.8628 10.1.1.87.9318 10.1.1.90.2195 10.1.1.36.5184 10.1.1.21.1704 10.1.1.53.1733 10.1.1.90.3181 10.1.1.53.6783 10.1.1.52.6151 10.1.1.104.6911 10.1.1.105.1691 10.1.1.21.1984 10.1.1.23.2775 10.1.1.62.5556 10.1.1.68.9063 10.1.1.74.4746 10.1.1.78.5097 10.1.1.84.743 10.1.1.84.904 10.1.1.87.6019 10.1.1.88.3907 10.1.1.89.9631 10.1.1.90.4147 10.1.1.92.365 10.1.1.100.2747 10.1.1.98.5083 10.1.1.98.6663 10.1.1.99.1894 10.1.1.99.8174 10.1.1.133.8073 10.1.1.52.7823 10.1.1.39.5341 10.1.1.35.3458 10.1.1.26.4620 10.1.1.18.8936 10.1.1.19.3694 10.1.1.12.631 10.1.1.48.6394 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.99.9998:intelligent” tools for workflow process redesign  A research agenda:Mariska Netjes Irene V Hajo A. Reijers:2009-01-07 Abstract. Although much attention is being paid to business processes during the past decades, the design of business processes and particularly workflow processes is still more art than science. In this workshop paper, we present our view on modeling methods for workflow processes and introduce our research aiming for the development of an “intelligent” software tool for workflow process redesign. This tool uses two approaches to redesign workflows  an evolutionary approach, focussing on local updates to a given process, and a revolutionary approach, starting with a clean-sheet of paper. 1 CiteSeerX Springer-Verlag 2009-01-07 2008-04-02 2006 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.99.9998 http //is.tm.tue.nl/staff/mnetjes/BPD05 NetjesVanderfeestenReijers - final2.pdf en 10.1.1.34.732 10.1.1.111.4822 10.1.1.55.5274 10.1.1.57.9662 10.1.1.39.6008 10.1.1.107.2228 10.1.1.110.5479 10.1.1.117.7409 10.1.1.118.9596 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
+oai CiteSeerXPSU 10.1.1.99.9999:Policy gradient method for team Markov games:Ville Könönen:2008-07-17 Abstract. The main aim of this paper is to extend the single-agent policy gradient method for multiagent domains where all agents share the same utility function. We formulate these team problems as Markov games endowed with the asymmetric equilibrium concept and based on this formulation, we provide a direct policy gradient learning method. In addition, we test the proposed method with a small example problem. 1 CiteSeerX  2008-07-17 2008-04-02 2004 application/pdf text http //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.99.9999 http //lib.tkk.fi/Diss/2004/isbn9512273594/article4.pdf en 10.1.1.138.2589 10.1.1.17.5347 10.1.1.10.8073 10.1.1.98.4302 Metadata may be used without restrictions as long as the oai identifier remains attached to it.
diff --git a/asterix-fuzzyjoin/data/pub-small/raw.dblp-000/part-00000 b/asterix-fuzzyjoin/data/pub-small/raw.dblp-000/part-00000
new file mode 100644
index 0000000..be9c045
--- /dev/null
+++ b/asterix-fuzzyjoin/data/pub-small/raw.dblp-000/part-00000
@@ -0,0 +1,100 @@
+books/acm/kim95/AnnevelinkACFHK95:Object SQL - A Language for the Design and Implementation of Object Databases.:Jurgen Annevelink Rafiul Ahad Amelia Carlson Daniel H. Fishman Michael L. Heytens William Kent:2002-01-03 42-68 1995 Modern Database Systems db/books/collections/kim95.html#AnnevelinkACFHK95
+books/acm/kim95/Blakeley95:OQL[C++]  Extending C++ with an Object Query Capability.:José A. Blakeley:2002-01-03 69-88 Modern Database Systems db/books/collections/kim95.html#Blakeley95 1995
+books/acm/kim95/BreitbartGS95:Transaction Management in Multidatabase Systems.:Yuri Breitbart Hector Garcia-Molina Abraham Silberschatz:2004-03-08 573-591 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#BreitbartGS95 1995
+books/acm/kim95/ChristodoulakisK95:Multimedia Information Systems  Issues and Approaches.:Stavros Christodoulakis Leonidas Koveos:2002-01-03 318-337 1995 Modern Database Systems db/books/collections/kim95.html#ChristodoulakisK95
+books/acm/kim95/DayalHW95:Active Database Systems.:Umeshwar Dayal Eric N. Hanson Jennifer Widom:2002-01-03 434-456 1995 Modern Database Systems db/books/collections/kim95.html#DayalHW95
+books/acm/kim95/DittrichD95:Where Object-Oriented DBMSs Should Do Better  A Critique Based on Early Experiences.:Angelika Kotz Dittrich Klaus R. Dittrich:2002-01-03 238-254 1995 Modern Database Systems db/books/collections/kim95.html#DittrichD95
+books/acm/kim95/Garcia-MolinaH95:Distributed Databases.:Hector Garcia-Molina Meichun Hsu:2002-01-03 477-493 1995 Modern Database Systems db/books/collections/kim95.html#Garcia-MolinaH95
+books/acm/kim95/Goodman95:An Object-Oriented DBMS War Story  Developing a Genome Mapping Database in C++.:Nathan Goodman:2002-01-03 216-237 1995 Modern Database Systems db/books/collections/kim95.html#Goodman95
+books/acm/kim95/Kaiser95:Cooperative Transactions for Multiuser Environments.:Gail E. Kaiser:2002-01-03 409-433 1995 Modern Database Systems db/books/collections/kim95.html#Kaiser95
+books/acm/kim95/KelleyGKRG95:Schema Architecture of the UniSQL/M Multidatabase System:William Kelley Sunit K. Gala Won Kim Tom C. Reyes Bruce Graham:2004-03-08 Modern Database Systems books/acm/Kim95 621-648 1995 db/books/collections/kim95.html#KelleyGKRG95
+books/acm/kim95/KemperM95:Physical Object Management.:Alfons Kemper Guido Moerkotte:2002-01-03 175-202 1995 Modern Database Systems db/books/collections/kim95.html#KemperM95
+books/acm/kim95/Kim95:Introduction to Part 1  Next-Generation Database Technology.:Won Kim:2002-01-03 5-17 1995 Modern Database Systems db/books/collections/kim95.html#Kim95
+books/acm/kim95/Kim95a:Object-Oriented Database Systems  Promises, Reality, and Future.:Won Kim:2002-01-03 255-280 1995 Modern Database Systems db/books/collections/kim95.html#Kim95a
+books/acm/kim95/Kim95b:Introduction to Part 2  Technology for Interoperating Legacy Databases.:Won Kim:2002-01-03 515-520 1995 Modern Database Systems db/books/collections/kim95.html#Kim95b
+books/acm/kim95/KimCGS95:On Resolving Schematic Heterogeneity in Multidatabase Systems.:Won Kim Injun Choi Sunit K. Gala Mark Scheevel:2002-01-03 521-550 1995 Modern Database Systems db/books/collections/kim95.html#KimCGS95
+books/acm/kim95/KimG95:Requirements for a Performance Benchmark for Object-Oriented Database Systems.:Won Kim Jorge F. Garza:2002-01-03 203-215 1995 Modern Database Systems db/books/collections/kim95.html#KimG95
+books/acm/kim95/KimK95:On View Support in Object-Oriented Databases Systems.:Won Kim William Kelley:2002-01-03 108-129 1995 Modern Database Systems db/books/collections/kim95.html#KimK95
+books/acm/kim95/Kowalski95:The POSC Solution to Managing E&P Data.:Vincent J. Kowalski:2002-01-03 281-301 1995 Modern Database Systems db/books/collections/kim95.html#Kowalski95
+books/acm/kim95/KriegerA95:C++ Bindings to an Object Database.:David Krieger Tim Andrews:2002-01-03 89-107 1995 Modern Database Systems db/books/collections/kim95.html#KriegerA95
+books/acm/kim95/Lunt95:Authorization in Object-Oriented Databases.:Teresa F. Lunt:2002-01-03 130-145 1995 Modern Database Systems db/books/collections/kim95.html#Lunt95
+books/acm/kim95/MengY95:Query Processing in Multidatabase Systems.:Weiyi Meng Clement T. Yu:2002-01-03 551-572 1995 Modern Database Systems db/books/collections/kim95.html#MengY95
+books/acm/kim95/Motro95:Management of Uncerainty in database Systems.:Amihai Motro:2002-01-03 457-476 1995 Modern Database Systems db/books/collections/kim95.html#Motro95
+books/acm/kim95/Omiecinski95:Parallel Relational Database Systems.:Edward Omiecinski:2002-01-03 494-512 1995 Modern Database Systems db/books/collections/kim95.html#Omiecinski95
+books/acm/kim95/OzsuB95:Query Processing in Object-Oriented Database Systems.:M. Tamer Özsu José A. Blakeley:2002-01-03 146-174 1995 Modern Database Systems db/books/collections/kim95.html#OzsuB95
+books/acm/kim95/RusinkiewiczS95:Specification and Execution of Transactional Workflows.:Marek Rusinkiewicz Amit P. Sheth:2004-03-08 592-620 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#RusinkiewiczS95 1995
+books/acm/kim95/Samet95:Spatial Data Structures.:Hanan Samet:2004-03-08 361-385 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#Samet95 1995
+books/acm/kim95/SametA95:Spatial Data Models and Query Processing.:Hanan Samet Walid G. Aref:2002-01-03 338-360 1995 Modern Database Systems db/books/collections/kim95.html#SametA95
+books/acm/kim95/ShanADDK95:Pegasus  A Heterogeneous Information Management System.:Ming-Chien Shan Rafi Ahmed Jim Davis Weimin Du William Kent:2004-03-08 664-682 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#ShanADDK95 1995
+books/acm/kim95/Snodgrass95:Temporal Object-Oriented Databases  A Critical Comparison.:Richard T. Snodgrass:2002-01-03 386-408 1995 Modern Database Systems db/books/collections/kim95.html#Snodgrass95
+books/acm/kim95/SoleyK95:The OMG Object Model.:Richard Mark Soley William Kent:2002-01-03 18-41 1995 Modern Database Systems db/books/collections/kim95.html#SoleyK95
+books/acm/kim95/Stout95:EDA/SQL.:Ralph L. Stout:2004-03-08 649-663 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#Stout95 1995
+books/acm/kim95/Thompson95:The Changing Database Standards Landscape.:Craig W. Thompson:2002-01-03 302-317 1995 Modern Database Systems db/books/collections/kim95.html#Thompson95
+books/acm/kim95/BreitbartR95:Overview of the ADDS System.:Yuri Breitbart Tom C. Reyes:2009-06-12 683-701 Modern Database Systems books/acm/Kim95 db/books/collections/kim95.html#BreitbartR95 1995
+books/acm/Kim95:Modern Database Systems  The Object Model, Interoperability, and Beyond.::2004-03-08 Won Kim Modern Database Systems ACM Press and Addison-Wesley 1995 0-201-59098-0 db/books/collections/kim95.html
+books/ap/MarshallO79:Inequalities  Theory of Majorization and Its Application.:Albert W. Marshall Ingram Olkin:2002-01-03 Academic Press 1979 0-12-473750-1
+books/aw/kimL89/BjornerstedtH89:Version Control in an Object-Oriented Architecture.:Anders Björnerstedt Christer Hulten:2006-02-24 451-485 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#BjornerstedtH89
+books/aw/kimL89/BretlMOPSSWW89:The GemStone Data Management System.:Robert Bretl David Maier Allen Otis D. Jason Penney Bruce Schuchardt Jacob Stein E. Harold Williams Monty Williams:2002-01-03 283-308 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#BretlMOPSSWW89
+books/aw/kimL89/CareyDRS89:Storage Management in EXODUS.:Michael J. Carey David J. DeWitt Joel E. Richardson Eugene J. Shekita:2002-01-03 341-369 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#CareyDRS89
+books/aw/kimL89/Decouchant89:A Distributed Object Manager for the Smalltalk-80 System.:Dominique Decouchant:2002-01-03 487-520 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Decouchant89
+books/aw/kimL89/DiederichM89:Objects, Messages, and Rules in Database Design.:Jim Diederich Jack Milton:2002-01-03 177-197 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#DiederichM89
+books/aw/kimL89/EllisG89:Active Objects  Ealities and Possibilities.:Clarence A. Ellis Simon J. Gibbs:2002-01-03 561-572 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#EllisG89
+books/aw/kimL89/FishmanABCCDHHKLLMNRSW89:Overview of the Iris DBMS.:Daniel H. Fishman Jurgen Annevelink David Beech E. C. Chow Tim Connors J. W. Davis Waqar Hasan C. G. Hoch William Kent S. Leichner Peter Lyngbæk Brom Mahbod Marie-Anne Neimat Tore Risch Ming-Chien Shan W. Kevin Wilkinson:2002-01-03 219-250 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#FishmanABCCDHHKLLMNRSW89
+books/aw/kimL89/KimBCGW89:Features of the ORION Object-Oriented Database System.:Won Kim Nat Ballou Hong-Tai Chou Jorge F. Garza Darrell Woelk:2002-01-03 251-282 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#KimBCGW89
+books/aw/kimL89/KimKD89:Indexing Techniques for Object-Oriented Databases.:Won Kim Kyung-Chang Kim Alfred G. Dale:2002-01-03 371-394 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#KimKD89
+books/aw/kimL89/King89:My Cat Is Object-Oriented.:Roger King:2002-01-03 23-30 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#King89
+books/aw/kimL89/Maier89:Making Database Systems Fast Enough for CAD Applications.:David Maier:2002-01-03 573-582 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Maier89
+books/aw/kimL89/MellenderRS89:Optimizing Smalltalk Message Performance.:Fred Mellender Steve Riegel Andrew Straw:2002-01-03 423-450 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#MellenderRS89
+books/aw/kimL89/Moon89:The Common List Object-Oriented Programming Language Standard.:David A. Moon:2002-01-03 49-78 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Moon89
+books/aw/kimL89/Moss89:Object Orientation as Catalyst for Language-Database Inegration.:J. Eliot B. Moss:2002-01-03 583-592 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Moss89
+books/aw/kimL89/Nierstrasz89:A Survey of Object-Oriented Concepts.:Oscar Nierstrasz:2002-01-03 3-21 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Nierstrasz89
+books/aw/kimL89/NierstraszT89:Integrated Office Systems.:Oscar Nierstrasz Dennis Tsichritzis:2002-01-03 199-215 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#NierstraszT89
+books/aw/kimL89/Russinoff89:Proteus  A Frame-Based Nonmonotonic Inference System.:David M. Russinoff:2002-01-03 127-150 Object-Oriented Concepts, Databases, and Applications ACM Press and Addison-Wesley 1989 db/books/collections/kim89.html#Russinoff89
+books/aw/kimL89/SkarraZ89:Concurrency Control and Object-Oriented Databases.:Andrea H. Skarra Stanley B. Zdonik:2002-01-03 395-421 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#SkarraZ89
+books/aw/kimL89/SteinLU89:A Shared View of Sharing  The Treaty of Orlando.:Lynn Andrea Stein Henry Lieberman David Ungar:2002-01-03 31-48 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#SteinLU89
+books/aw/kimL89/TarltonT89:Pogo  A Declarative Representation System for Graphics.:Mark A. Tarlton P. Nong Tarlton:2002-01-03 151-176 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#TarltonT89
+books/aw/kimL89/TomlinsonS89:Concurrent Object-Oriented Programming Languages.:Chris Tomlinson Mark Scheevel:2002-01-03 79-124 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#TomlinsonS89
+books/aw/kimL89/TsichritzisN89:Directions in Object-Oriented Research.:Dennis Tsichritzis Oscar Nierstrasz:2002-01-03 523-536 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#TsichritzisN89
+books/aw/kimL89/Wand89:A Proposal for a Formal Model of Objects.:Yair Wand:2002-01-03 537-559 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#Wand89
+books/aw/kimL89/WeiserL89:OZ+  An Object-Oriented Database System.:Stephen P. Weiser Frederick H. Lochovsky:2002-01-03 309-337 1989 Object-Oriented Concepts, Databases, and Applications db/books/collections/kim89.html#WeiserL89
+books/aw/stonebraker86/RoweS86:The Commercial INGRES Epilogue.:Lawrence A. Rowe Michael Stonebraker:2002-01-03 63-82 1986 The INGRES Papers db/books/collections/Stonebraker86.html#RoweS86 db/books/collections/Stonebraker86/RoweS86.html ingres/P063.pdf
+books/aw/stonebraker86/Stonebraker86:Design of Relational Systems (Introduction to Section 1).:Michael Stonebraker:2002-01-03 1-3 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86 db/books/collections/Stonebraker86/Stonebraker86.html ingres/P001.pdf
+books/aw/stonebraker86/Stonebraker86a:Supporting Studies on Relational Systems (Introduction to Section 2).:Michael Stonebraker:2002-01-03 83-85 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86a db/books/collections/Stonebraker86/Stonebraker86a.html ingres/P083.pdf
+books/aw/stonebraker86/Stonebraker86b:Distributed Database Systems (Introduction to Section 3).:Michael Stonebraker:2002-01-03 183-186 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86b db/books/collections/Stonebraker86/Stonebraker86b.html ingres/P183.pdf
+books/aw/stonebraker86/Stonebraker86c:The Design and Implementation of Distributed INGRES.:Michael Stonebraker:2002-01-03 187-196 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86c db/books/collections/Stonebraker86/Stonebraker86c.html ingres/P187.pdf
+books/aw/stonebraker86/Stonebraker86d:User Interfaces for Database Systems (Introduction to Section 4).:Michael Stonebraker:2002-01-03 243-245 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86d db/books/collections/Stonebraker86/Stonebraker86d.html ingres/P243.pdf
+books/aw/stonebraker86/Stonebraker86e:Extended Semantics for the Relational Model (Introduction to Section 5).:Michael Stonebraker:2002-01-03 313-316 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86e db/books/collections/Stonebraker86/Stonebraker86e.html ingres/P313.pdf
+books/aw/stonebraker86/Stonebraker86f:Database Design (Introduction to Section 6).:Michael Stonebraker:2002-01-03 393-394 1986 The INGRES Papers db/books/collections/Stonebraker86.html#Stonebraker86f db/books/collections/Stonebraker86/Stonebraker86f.html ingres/P393.pdf
+books/aw/stonebraker86/X86:Title, Preface, Contents.::2002-01-03 1986 The INGRES Papers db/books/collections/Stonebraker86.html#X86 db/books/collections/Stonebraker86/X86.html ingres/frontmatter.pdf
+books/aw/stonebraker86/X86a:References.::2002-01-03 429-444 1986 The INGRES Papers db/books/collections/Stonebraker86.html#X86a db/books/collections/Stonebraker86/X86a.html ingres/P429.pdf
+books/aw/Knuth86a:TeX  The Program:Donald E. Knuth:2002-01-03 Addison-Wesley 1986 0-201-13437-3
+books/aw/AbiteboulHV95:Foundations of Databases.:Serge Abiteboul Richard Hull Victor Vianu:2002-01-03 Addison-Wesley 1995 0-201-53771-0 AHV/Toc.pdf ... ... journals/tods/AstrahanBCEGGKLMMPTWW76 books/bc/AtzeniA93 journals/tcs/AtzeniABM82 journals/jcss/AbiteboulB86 journals/csur/AtkinsonB87 conf/pods/AtzeniB87 journals/vldb/AbiteboulB95 conf/sigmod/AbiteboulB91 conf/dood/AtkinsonBDDMZ89 conf/vldb/AlbanoBGO93 ... conf/icdt/Abiteboul88 journals/ipl/Abiteboul89 conf/ds/Abrial74 journals/tods/AhoBU79 books/mk/minker88/AptBW88 conf/vldb/AroraC78 conf/stoc/AfratiC89 journals/tods/AlbanoCO85 conf/pods/AfratiCY91 conf/pods/AusielloDM85 conf/vldb/AbiteboulG85 journals/jacm/AjtaiG87 conf/focs/AjtaiG89 journals/tods/AbiteboulG91 ... ... journals/tods/AbiteboulH87 conf/sigmod/AbiteboulH88 ... conf/sigmod/AbiteboulK89 journals/tcs/AbiteboulKG91 journals/jcss/AbiteboulKRW95 conf/sigmod/AbiteboulLUW93 conf/pods/AtzeniP82 conf/pods/AfratiP87 conf/pods/AptP87 conf/wg/AndriesP91 conf/pods/AfratiPPRSU86 books/el/leeuwen90/Apt90 conf/ifip/Armstrong74 journals/siamcomp/AhoSSU81 journals/tods/AhoSU79 journals/siamcomp/AhoSU79 conf/pods/AbiteboulSV90 journals/is/AtzeniT93 conf/popl/AhoU79 conf/pods/AbiteboulV87 conf/jcdkb/AbiteboulV88 journals/jacm/AbiteboulV88 conf/pods/AbiteboulV88 journals/jacm/AbiteboulV89 journals/jcss/AbiteboulV90 journals/jcss/AbiteboulV91 conf/stoc/AbiteboulV91 journals/amai/AbiteboulV91 journals/jcss/AbiteboulV95 journals/jacm/AptE82 conf/coco/AbiteboulVV92 conf/iclp/AptB88 conf/oopsla/BobrowKKMSZ86 journals/tse/BatoryBGSTTW88 conf/mfcs/Bancilhon78 ... conf/db-workshops/Bancilhon85 books/el/leeuwen90/Barendregt90 ... journals/tods/BeeriB79 books/el/leeuwen90/BerstelB90 conf/icdt/BeneventanoB92 conf/vldb/BernsteinBC80 conf/vldb/BeeriBG78 conf/sigmod/BorgidaBMR89 journals/tods/BunemanC79 journals/jacm/BernsteinC81 conf/dbpl/BancilhonCD89 books/bc/tanselCGSS93/BaudinetCW93 conf/sigmod/BiskupDB79 journals/jacm/BeeriDFS84 books/mk/BancilhonDK92 conf/edbt/BryDM88 conf/pods/BunemanDW88 journals/jcss/BunemanDW91 journals/tods/Beeri80 journals/dke/Beeri90 ... journals/tods/Bernstein76 conf/lics/BidoitF87 journals/iandc/BidoitF91 conf/sigmod/BeeriFH77 conf/stoc/BeeriFMMUY81 journals/jacm/BeeriFMY83 journals/tods/BunemanFN82 journals/siamcomp/BernsteinG81 journals/iandc/BlassGK85 conf/ijcai/BrachmanGL85 journals/tods/BernsteinGWRR81 books/aw/BernsteinHG87 ... journals/tcs/Bidoit91 journals/tcs/Biskup80 conf/adbt/Biskup79 journals/tods/Biskup83 journals/tcs/BunemanJO91 journals/tods/BeeriK86 conf/pods/BeeriKBR87 conf/icdt/BidoitL90 journals/csur/BatiniL86 conf/sigmod/BlakeleyLT86 conf/vldb/BeeriM91 conf/sigmod/BlakeleyMG93 journals/siamcomp/BeeriMSU81 conf/pods/BancilhonMSU86 conf/pods/BeeriNRST87 journals/software/Borgida85 conf/icalp/BraP83 conf/fgcs/BalbinMR88 ... conf/pods/BeeriR87 journals/jlp/BalbinR87 conf/sigmod/BancilhonR86 books/mk/minker88/BancilhonR88 journals/jlp/BeeriR91 conf/vldb/BancilhonRS82 conf/pods/BeeriRSS92 conf/dood/Bry89 journals/tods/BancilhonS81 journals/cogsci/BrachmanS85 journals/tods/BergamaschiS92 conf/sigmod/BernsteinST75 conf/dbpl/TannenBN91 conf/icdt/TannenBW92 ... journals/jacm/BeeriV84 conf/icalp/BeeriV81 conf/adbt/BeeriV79 journals/siamcomp/BeeriV84 journals/iandc/BeeriV84 journals/jacm/BeeriV84 journals/tcs/BeeriV85 journals/ibmrd/ChamberlinAEGLMRW76 ... journals/iandc/Cardelli88 books/mk/Cattell94 conf/sigmod/CacaceCCTZ90 conf/vldb/CastilhoCF82 conf/adbt/CasanovaF82 conf/focs/CaiFI89 journals/jcss/CasanovaFP84 conf/stoc/CosmadakisGKV88 conf/dood/CorciuloGP93 books/sp/CeriGT90 conf/focs/ChandraH80 journals/jcss/ChandraH80 journals/jcss/ChandraH82 journals/jlp/ChandraH85 conf/popl/Chandra81 conf/adbt/Chang79 conf/pods/Chandra88 ... journals/tods/Chen76 conf/ride/ChenHM94 conf/icde/Chomicki92 conf/pods/Chomicki92 ... ... ... conf/stoc/CosmadakisK85 journals/acr/CosmadakisK86 ... journals/jcss/CosmadakisKS86 journals/jacm/CosmadakisKV90 ... conf/pods/CalvaneseL94 conf/adbt/Clark77 conf/stoc/ChandraLM81 conf/stoc/ChandraM77 conf/pods/ConsensM90 conf/sigmod/ConsensM93 conf/icdt/ConsensM90 journals/cacm/Codd70 conf/sigmod/Codd71a persons/Codd71a persons/Codd72 conf/ifip/Codd74 ... conf/sigmod/Codd79 journals/cacm/Codd82 ... conf/sigmod/Cohen89 journals/cacm/Cohen90 ... journals/jcss/Cook74 conf/pods/Cosmadakis83 conf/focs/Cosmadakis87 books/el/leeuwen90/Courcelle90a journals/jacm/CosmadakisP84 conf/edbt/CeriCGLLTZ88 ... conf/vldb/CeriT87 conf/vldb/CasanovaTF88 ... conf/pods/CasanovaV83 journals/siamcomp/ChandraV85 conf/pods/ChaudhuriV92 conf/pods/ChaudhuriV93 conf/pods/ChaudhuriV94 journals/csur/CardelliW85 conf/pods/ChenW89 conf/pods/CohenW89 conf/vldb/CeriW90 conf/vldb/CeriW91 conf/iclp/ChenW92 conf/vldb/CeriW93 ... conf/birthday/Dahlhaus87 conf/vldb/Date81 books/aw/Date86 ... conf/dbpl/Dayal89 journals/tods/DayalB82 journals/ibmrd/DelobelC73 conf/icde/DelcambreD89 ... journals/tods/Delobel78 journals/jacm/Demolombe92 journals/tods/DateF92 ... conf/vldb/DayalHL91 journals/jacm/Paola69a conf/caap/DahlhausM86 journals/acr/DAtriM86 journals/iandc/DahlhausM92 conf/sigmod/DerrMP93 conf/vldb/MaindrevilleS88 conf/pods/Dong92 conf/adbt/BraP82 ... conf/dbpl/DongS91 journals/iandc/DongS95 conf/dbpl/DongS93 conf/dbpl/DongS93 conf/icdt/DongT92 conf/vldb/DenninghoffV91 conf/pods/DenninghoffV93 ... ... books/acm/kim95/DayalHW95 ... conf/pods/EiterGM94 conf/pods/Escobar-MolanoHJ93 ... books/el/leeuwen90/Emerson90 books/bc/ElmasriN89 ... conf/icse/Eswaran76 conf/sigmod/EpsteinSW78 ... ... conf/vldb/Fagin77 journals/tods/Fagin77 conf/sigmod/Fagin79 journals/tods/Fagin81 journals/ipl/FaginV83 journals/jacm/Fagin82 journals/jacm/Fagin83 journals/tcs/Fagin93 books/sp/kimrb85/FurtadoC85 ... journals/jlp/Fitting85a journals/tcs/FischerJT83 journals/acr/FaginKUV86 conf/icdt/FernandezM92 journals/tods/FaginMU82 conf/vldb/FaloutsosNS91 ... journals/ai/Forgy82 ... conf/sigmod/Freytag87 ... journals/siamcomp/FischerT83 journals/siamcomp/FaginMUY83 conf/pods/FaginUV83 conf/icalp/FaginV84 ... ... ... ... conf/sigmod/GraefeD87 conf/ride/GatziuD94 conf/sigmod/GardarinM86 conf/sigmod/GyssensG88 journals/tcs/GinsburgH83a journals/jacm/GinsburgH86 ... books/bc/tanselCGSS93/Ginsburg93 books/fm/GareyJ79 journals/jacm/GrantJ82 conf/vldb/GehaniJ91 conf/vldb/GhandeharizadehHJCELLTZ93 journals/tods/GhandeharizadehHJ96 conf/vldb/GehaniJS92 ... conf/sigmod/GehaniJS92 ... conf/deductive/GuptaKM92 conf/pods/GurevichL82 conf/iclp/GelfondL88 conf/adbt/77 journals/csur/GallaireMN84 conf/pods/GrahneMR92 conf/sigmod/GuptaMS93 conf/lics/GaifmanMSV87 journals/jacm/GaifmanMSV93 journals/jacm/GrahamMV86 conf/csl/GradelO92 ... conf/pods/Gottlob87 conf/pods/GyssensPG90 conf/dood/GiannottiPSZ91 books/aw/GoldbergR83 journals/acr/GrahneR86 journals/ipl/Grant77 ... journals/iandc/Grandjean83 conf/vldb/Grahne84 ... journals/csur/Graefe93 books/sp/Greibach75 journals/tods/GoodmanS82 journals/jcss/GoodmanS84 conf/focs/GurevichS85 ... conf/pods/GrumbachS94 conf/sigmod/GangulyST90 ... journals/tcs/Gunter92 ... ... ... ... conf/pods/GrahamV84 conf/pods/GrumbachV91 conf/icde/GardarinV92 conf/sigmod/GraefeW89 ... journals/jacm/GinsburgZ82 conf/vldb/GottlobZ88 ... ... journals/sigmod/Hanson89 ... journals/cacm/Harel80 journals/tkde/HaasCLMWLLPCS90 conf/lics/Hella92 journals/iandc/Herrmann95 conf/pods/HirstH93 conf/vldb/HullJ91 conf/ewdw/HullJ90 journals/csur/HullK87 journals/tods/HudsonK89 conf/lics/HillebrandKM93 conf/nato/HillebrandKR93 conf/jcdkb/HsuLM88 journals/ipl/HoneymanLY80 journals/tods/HammerM81 conf/adbt/HenschenMN82 ... journals/jacm/HenschenN84 journals/jacm/Honeyman82 conf/sigmod/HullS89 conf/pods/HullS89 journals/acta/HullS94 journals/jcss/HullS93 conf/fodo/HullTY89 journals/jcss/Hull83 journals/jacm/Hull84 journals/tcs/Hull85 journals/siamcomp/Hull86 ... conf/vldb/Hulin89 ... journals/jacm/HullY84 conf/vldb/HullY90 conf/pods/HullY91 conf/sigmod/IoannidisK90 journals/jcss/ImielinskiL84 conf/adbt/Imielinski82 journals/jcss/Immerman82 journals/iandc/Immerman86 ... journals/siamcomp/Immerman87 conf/pods/ImielinskiN88 conf/vldb/IoannidisNSS92 conf/sigmod/ImielinskiNV91 conf/dood/ImielinskiNV91 conf/vldb/Ioannidis85 journals/jacm/Jacobs82 conf/dbpl/JacobsH91 journals/csur/JarkeK84 journals/jcss/JohnsonK84 conf/popl/JaffarL87 books/el/leeuwen90/Johnson90 journals/jacm/Joyner76 conf/pods/JaeschkeS82 ... books/mk/minker88/Kanellakis88 books/el/leeuwen90/Kanellakis90 conf/oopsla/KhoshafianC86 conf/edbt/KotzDM88 conf/jcdkb/Keller82 conf/pods/Keller85 journals/computer/Keller86 ... journals/tods/Kent79 ... journals/ngc/RohmerLK86 conf/tacs/KanellakisG94 conf/jcdkb/Kifer88 conf/pods/KanellakisKR90 conf/sigmod/KiferKS92 ... conf/icdt/KiferL86 books/aw/KimL89 ... journals/tods/Klug80 journals/jacm/Klug82 journals/jacm/Klug88 journals/jacm/KiferLW95 conf/kr/KatsunoM91 journals/ai/KatsunoM92 conf/jcdkb/KrishnamurthyN88 journals/csur/Knight89 ... journals/iandc/Kolaitis91 journals/ai/Konolige88 conf/ifip/Kowalski74 journals/jacm/Kowalski75 conf/bncod/Kowalski84 conf/vldb/KoenigP81 journals/tods/KlugP82 ... conf/pods/KolaitisP88 conf/pods/KiferRS88 conf/sigmod/KrishnamurthyRS88 books/mg/SilberschatzK91 conf/iclp/KempT88 conf/sigmod/KellerU84 conf/dood/Kuchenhoff91 ... journals/jlp/Kunen87 conf/iclp/Kunen88 conf/pods/Kuper87 conf/pods/Kuper88 conf/ppcp/Kuper93 conf/pods/KuperV84 conf/stoc/KolaitisV87 journals/tcs/KarabegV90 journals/iandc/KolaitisV90 conf/pods/KolaitisV90 journals/tods/KarabegV91 journals/iandc/KolaitisV92 journals/tcs/KuperV93 journals/tods/KuperV93 journals/tse/KellerW85 conf/pods/KiferW89 conf/jcdkb/Lang88 books/el/Leeuwen90 ... journals/jcss/Leivant89 ... journals/iandc/Leivant90 ... conf/db-workshops/Levesque82 journals/ai/Levesque84 conf/mfdbs/Libkin91 conf/er/Lien79 journals/jacm/Lien82 books/mk/minker88/Lifschitz88 ... journals/tcs/Lindell91 journals/tods/Lipski79 journals/jacm/Lipski81 journals/tcs/LeratL86 journals/cj/LeveneL90 books/sp/Lloyd87 conf/pods/LakshmananM89 conf/tlca/LeivantM93 conf/sigmod/LaverMG83 conf/pods/LiptonN90 journals/jcss/LucchesiO78 conf/sigmod/Lohman88 ... conf/ijcai/Lozinskii85 books/ph/LewisP81 ... conf/sigmod/LecluseRV88 journals/is/LipeckS87 journals/jlp/LloydST87 journals/tods/LingTK81 conf/sigmod/LyngbaekV87 conf/dood/LefebvreV89 conf/pods/LibkinW93 conf/dbpl/LibkinW93 journals/jacm/Maier80 books/cs/Maier83 ... conf/vldb/Makinouchi77 conf/icalp/Makowsky81 ... conf/icdt/Malvestuto86 conf/aaai/MacGregorB92 journals/tods/MylopoulosBW80 conf/sigmod/McCarthyD89 journals/csur/MishraE92 conf/sigmod/MumickFPR90 books/mk/Minker88 journals/jlp/Minker88 conf/vldb/MillerIR93 journals/is/MillerIR94 journals/iandc/Mitchell83 conf/pods/Mitchell83 conf/vldb/MendelzonM79 journals/tods/MaierMS79 journals/jcss/MaierMSU80 conf/pods/MendelzonMW94 journals/debu/MorrisNSUG87 journals/ai/Moore85 conf/vldb/Morgenstern83 conf/pods/Morris88 ... conf/pods/MannilaR85 ... journals/jlp/MinkerR90 books/aw/MannilaR92 journals/acr/MaierRW86 ... journals/tods/MarkowitzS92 conf/pods/Marchetti-SpaccamelaPS87 journals/jacm/MaierSY81 conf/iclp/MorrisUG86 journals/tods/MaierUV84 conf/iclp/MorrisUG86 journals/acta/MakowskyV86 books/bc/MaierW88 books/mk/minker88/ManchandraW88 conf/pods/Naughton86 conf/sigmod/NgFS91 ... conf/vldb/Nejdl87 conf/adbt/NicolasM77 conf/sigmod/Nicolas78 journals/acta/Nicolas82 conf/ds/76 conf/pods/NaqviK88 journals/tods/NegriPS91 conf/vldb/NaughtonRSU89 conf/pods/NaughtonS87 ... ... conf/vldb/Osborn79 ... journals/tods/OzsoyogluY87 conf/adbt/Paige82 ... books/cs/Papadimitriou86 ... journals/ipl/Paredaens78 ... books/sp/ParedaensBGG89 journals/ai/Andersen91 books/el/leeuwen90/Perrin90 journals/ins/Petrov89 conf/pods/ParedaensG88 conf/pods/PatnaikI94 conf/adbt/ParedaensJ79 journals/csur/PeckhamM88 ... ... conf/sigmod/ParkerP80 ... conf/iclp/Przymusinski88 conf/pods/Przymusinski89 ... conf/vldb/ParkerSV92 conf/aaai/PearlV87 journals/ai/PereiraW80a conf/pods/PapadimitriouY92 journals/tkde/QianW91 ... journals/jlp/Ramakrishnan91 conf/pods/RamakrishnanBS87 ... conf/adbt/Reiter77 journals/ai/Reiter80 conf/db-workshops/Reiter82 journals/jacm/Reiter86 journals/tods/Rissanen77 conf/mfcs/Rissanen78 conf/pods/Rissanen82 ... journals/ngc/RohmerLK86 journals/jacm/Robinson65 ... conf/pods/Ross89 ... ... conf/sigmod/RoweS79 conf/sigmod/RichardsonS91 journals/debu/RamamohanaraoSBPNTZD87 conf/vldb/RamakrishnanSS92 conf/sigmod/RamakrishnanSSS93 conf/pods/RamakrishnanSUV89 journals/jcss/RamakrishnanSUV93 journals/jlp/RamakrishnanU95 conf/sigmod/SelingerACLP79 conf/sigmod/Sagiv81 journals/tods/Sagiv83 books/mk/minker88/Sagiv88 conf/slp/Sagiv90 conf/sigmod/Sciore81 journals/jacm/Sciore82 conf/pods/Sciore83 journals/acr/Sciore86 journals/jacm/SagivDPF81 conf/pods/X89 ... journals/ai/SmithG85 books/mk/minker88/Shepherdson88 journals/tods/Shipman81 conf/pods/Shmueli87 conf/iclp/SekiI88 conf/sigmod/ShmueliI84 journals/tc/Sickel76 journals/jsc/Siekmann89 conf/sigmod/StonebrakerJGP90 conf/vldb/SimonKM92 journals/csur/ShethL90 conf/pods/SeibL91 conf/sigmod/SuLRD93 conf/adbt/SilvaM79 journals/sigmod/Snodgrass90 journals/sigmod/Soo91 conf/pods/SuciuP94 conf/sigmod/StonebrakerR86 conf/slp/SudarshanR93 conf/pods/SagivS86 journals/cacm/Stonebraker81 books/mk/Stonebraker88 journals/tkde/Stonebraker92 books/aw/Stroustrup91 journals/jacm/SadriU82 conf/vldb/Su91 conf/pods/SagivV89 journals/jacm/SagivW82 journals/tods/StonebrakerWKH76 journals/jacm/SagivY80 conf/pods/SaccaZ86 journals/tcs/SaccaZ88 ... conf/pods/SaccaZ90 ... ... books/bc/TanselCGJSS93 ... journals/acr/ThomasF86 ... ... ... ... journals/tcs/Topor87 ... books/mk/minker88/ToporS88 ... journals/siamcomp/TarjanY84 journals/csur/TeoreyYF86 journals/algorithmica/UllmanG88 conf/pods/Ullman82 books/cs/Ullman82 journals/tods/Ullman85 books/cs/Ullman88 conf/pods/Ullman89 books/cs/Ullman89 conf/sigmod/Gelder86 ... conf/pods/BusscheG92 conf/focs/BusscheGAG92 conf/pods/BusscheP91 conf/slp/Gelder86 conf/pods/Gelder89 conf/pods/GelderRS88 journals/jacm/GelderRS91 journals/tods/GelderT91 journals/ipl/Vardi81 conf/stoc/Vardi82 conf/focs/Vardi82 journals/acta/Vardi83 journals/jcss/Vardi84 conf/pods/Vardi85 conf/pods/Vardi86 journals/jcss/Vardi86 ... conf/pods/Vardi88 conf/sigmod/Vassiliou79 ... ... journals/jacm/EmdenK76 conf/nf2/SchollABBGPRV87 journals/jacm/Vianu87 journals/acta/Vianu87 conf/eds/Vieille86 conf/iclp/Vieille87 ... conf/eds/Vieille88 journals/tcs/Vieille89 ... journals/tcs/VianuV92 conf/sigmod/WidomF90 conf/icde/WangH92 conf/pos/WidjojoHW90 journals/computer/Wiederhold92 conf/pods/Wilkins86 conf/pods/Winslett88 conf/sigmod/WolfsonO90 conf/pods/Wong93 conf/sigmod/WolfsonS88 journals/ibmrd/WangW75 journals/tods/WongY76 conf/vldb/Yannakakis81 journals/csur/YuC84 ... journals/jcss/YannakakisP82 ... journals/tods/Zaniolo82 journals/jcss/Zaniolo84 ... conf/edbt/ZhouH90 journals/ibmsj/Zloof77 books/mk/ZdonikM90 db/books/dbtext/abiteboul95.html
+books/aw/Lamport86:LaTeX  User's Guide & Reference Manual:Leslie Lamport:2002-01-03 Addison-Wesley 1986 0-201-15790-X
+books/aw/AhoHU74:The Design and Analysis of Computer Algorithms.:Alfred V. Aho John E. Hopcroft Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1974 0-201-00029-6
+books/aw/Lamport2002:Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers:Leslie Lamport:2005-07-28 Addison-Wesley 2002 0-3211-4306-X http //research.microsoft.com/users/lamport/tla/book.html
+books/aw/AhoHU83:Data Structures and Algorithms.:Alfred V. Aho John E. Hopcroft Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1983 0-201-00023-7
+books/aw/LewisBK01:Databases and Transaction Processing  An Application-Oriented Approach:Philip M. Lewis Arthur J. Bernstein Michael Kifer:2002-01-03 Addison-Wesley 2001 0-201-70872-8
+books/aw/AhoKW88:The AWK Programming Language:Alfred V. Aho Brian W. Kernighan Peter J. Weinberger:2002-01-03 Addison-Wesley 1988
+books/aw/LindholmY97:The Java Virtual Machine Specification:Tim Lindholm Frank Yellin:2002-01-28 Addison-Wesley 1997 0-201-63452-X
+books/aw/AhoSU86:Compilers  Princiles, Techniques, and Tools.:Alfred V. Aho Ravi Sethi Jeffrey D. Ullman:2002-01-03 Addison-Wesley 1986 0-201-10088-6
+books/aw/Sedgewick83:Algorithms:Robert Sedgewick:2002-01-03 Addison-Wesley 1983 0-201-06672-6
+journals/siamcomp/AspnesW96:Randomized Consensus in Expected O(n log² n) Operations Per Processor.:James Aspnes Orli Waarts:2002-01-03 1024-1044 1996 25 SIAM J. Comput. 5 db/journals/siamcomp/siamcomp25.html#AspnesW96
+conf/focs/AspnesW92:Randomized Consensus in Expected O(n log ^2 n) Operations Per Processor:James Aspnes Orli Waarts:2006-04-25 137-146 conf/focs/FOCS33 1992 FOCS db/conf/focs/focs92.html#AspnesW92
+journals/siamcomp/Bloniarz83:A Shortest-Path Algorithm with Expected Time O(n² log n log* n).:Peter A. Bloniarz:2002-01-03 588-600 1983 12 SIAM J. Comput. 3 db/journals/siamcomp/siamcomp12.html#Bloniarz83
+conf/stoc/Bloniarz80:A Shortest-Path Algorithm with Expected Time O(n^2 log n log ^* n):Peter A. Bloniarz:2006-04-25 378-384 conf/stoc/STOC12 1980 STOC db/conf/stoc/stoc80.html#Bloniarz80
+journals/siamcomp/Megiddo83a:Linear-Time Algorithms for Linear Programming in R³ and Related Problems.:Nimrod Megiddo:2002-01-03 759-776 1983 12 SIAM J. Comput. 4 db/journals/siamcomp/siamcomp12.html#Megiddo83a
+conf/focs/Megiddo82:Linear-Time Algorithms for Linear Programming in R^3 and Related Problems:Nimrod Megiddo:2006-04-25 329-338 conf/focs/FOCS23 1982 FOCS db/conf/focs/focs82.html#Megiddo82
+journals/siamcomp/MoffatT87:An All Pairs Shortest Path Algorithm with Expected Time O(n² log n).:Alistair Moffat Tadao Takaoka:2002-01-03 1023-1031 1987 16 SIAM J. Comput. 6 db/journals/siamcomp/siamcomp16.html#MoffatT87
+conf/focs/MoffatT85:An All Pairs Shortest Path Algorithm with Expected Running Time O(n^2 log n):Alistair Moffat Tadao Takaoka:2006-04-25 101-105 conf/focs/FOCS26 1985 FOCS db/conf/focs/focs85.html#MoffatT85
+conf/icip/SchonfeldL98:VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases.:Dan Schonfeld Dan Lelescu:2002-11-05 123-127 1998 ICIP (3) db/conf/icip/icip1998-3.html#SchonfeldL98
+conf/hicss/SchonfeldL99:VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases ¾ Visual Search Engine.:Dan Schonfeld Dan Lelescu:2002-01-03 1999 HICSS http //computer.org/proceedings/hicss/0001/00013/00013006abs.htm db/conf/hicss/hicss1999-3.html#SchonfeldL99
+journals/corr/abs-0802-2861:Geometric Set Cover and Hitting Sets for Polytopes in $R^3$:Sören Laue:2008-03-03 http //arxiv.org/abs/0802.2861 2008 CoRR abs/0802.2861 db/journals/corr/corr0802.html#abs-0802-2861 informal publication
+conf/stacs/Laue08:Geometric Set Cover and Hitting Sets for Polytopes in R³.:Sören Laue:2008-03-04 2008 STACS 479-490 http //drops.dagstuhl.de/opus/volltexte/2008/1367 conf/stacs/2008 db/conf/stacs/stacs2008.html#Laue08
+journals/iandc/IbarraJCR91:Some Classes of Languages in NC¹:Oscar H. Ibarra Tao Jiang Jik H. Chang Bala Ravikumar:2006-04-25 86-106 Inf. Comput. January 1991 90 1 db/journals/iandc/iandc90.html#IbarraJCR91
+conf/awoc/IbarraJRC88:On Some Languages in NC.:Oscar H. Ibarra Tao Jiang Bala Ravikumar Jik H. Chang:2002-08-06 64-73 1988 conf/awoc/1988 AWOC db/conf/awoc/awoc88.html#IbarraJRC88
+journals/jacm/GalilHLSW87:An O(n³log n) deterministic and an O(n³) Las Vegs isomorphism test for trivalent graphs.:Zvi Galil Christoph M. Hoffmann Eugene M. Luks Claus-Peter Schnorr Andreas Weber:2003-11-20 513-531 1987 34 J. ACM 3 http //doi.acm.org/10.1145/28869.28870 db/journals/jacm/jacm34.html#GalilHLSW87
+conf/focs/GalilHLSW82:An O(n^3 log n) Deterministic and an O(n^3) Probabilistic Isomorphism Test for Trivalent Graphs:Zvi Galil Christoph M. Hoffmann Eugene M. Luks Claus-Peter Schnorr Andreas Weber:2006-04-25 118-125 conf/focs/FOCS23 1982 FOCS db/conf/focs/focs82.html#GalilHLSW82
+journals/jacm/GalilT88:An O(n²(m + n log n)log n) min-cost flow algorithm.:Zvi Galil Éva Tardos:2003-11-20 374-386 1988 35 J. ACM 2 http //doi.acm.org/10.1145/42282.214090 db/journals/jacm/jacm35.html#GalilT88
+conf/focs/GalilT86:An O(n^2 (m + n log n) log n) Min-Cost Flow Algorithm:Zvi Galil Éva Tardos:2006-04-25 1-9 conf/focs/FOCS27 1986 FOCS db/conf/focs/focs86.html#GalilT86
+series/synthesis/2009Weintraub:Jordan Canonical Form  Theory and Practice:Steven H. Weintraub:2009-09-06 Jordan Canonical Form  Theory and Practice http //dx.doi.org/10.2200/S00218ED1V01Y200908MAS006 http //dx.doi.org/10.2200/S00218ED1V01Y200908MAS006 2009 Synthesis Lectures on Mathematics & Statistics Morgan & Claypool Publishers
+series/synthesis/2009Brozos:The Geometry of Walker Manifolds:Miguel Brozos-Vázquez Eduardo García-Río Peter Gilkey Stana Nikcevic Rámon Vázquez-Lorenzo:2009-09-06 The Geometry of Walker Manifolds http //dx.doi.org/10.2200/S00197ED1V01Y200906MAS005 http //dx.doi.org/10.2200/S00197ED1V01Y200906MAS005 2009 Synthesis Lectures on Mathematics & Statistics Morgan & Claypool Publishers
diff --git a/asterix-fuzzyjoin/data/users-visitors-small.expected/recordpairs-000/expected.txt b/asterix-fuzzyjoin/data/users-visitors-small.expected/recordpairs-000/expected.txt
new file mode 100644
index 0000000..2d4cbb7
--- /dev/null
+++ b/asterix-fuzzyjoin/data/users-visitors-small.expected/recordpairs-000/expected.txt
@@ -0,0 +1,4 @@
+{ "uid":10: "Jodi Rotruck",  "lottery_numbers":[10, 15, 20]:{ "vid":100: "Alex Ascher",  "lottery_numbers":[10, 15, 30]:0.5
+{ "uid":20: "Clint Coil",  "lottery_numbers":[20, 25, 30]:{ "vid":200: "Hank Friley",  "lottery_numbers":[20, 25]:0.6666667
+{ "uid":30: "Marvella Loud",  "lottery_numbers":[40, 41, 42]:{ "vid":300: "Luella Schweinert",  "lottery_numbers":[41, 42, 43]:0.5
+{ "uid":40: "Tamie Pollara",  "lottery_numbers":[45, 46, 47]:{ "vid":400: "Shanna Cuaresma",  "lottery_numbers":[45, 46, 47]:1.0
diff --git a/asterix-fuzzyjoin/data/users-visitors-small/records.users-000/part-00000 b/asterix-fuzzyjoin/data/users-visitors-small/records.users-000/part-00000
new file mode 100644
index 0000000..fce60e9
--- /dev/null
+++ b/asterix-fuzzyjoin/data/users-visitors-small/records.users-000/part-00000
@@ -0,0 +1,4 @@
+{ "uid": 10,  "name": "Jodi Rotruck",  "lottery_numbers": [10, 15, 20] }
+{ "uid": 20,  "name": "Clint Coil",  "lottery_numbers": [20, 25, 30] }
+{ "uid": 30,  "name": "Marvella Loud",  "lottery_numbers": [40, 41, 42] }
+{ "uid": 40,  "name": "Tamie Pollara",  "lottery_numbers": [45, 46, 47] }
diff --git a/asterix-fuzzyjoin/data/users-visitors-small/records.users-000/part-00001 b/asterix-fuzzyjoin/data/users-visitors-small/records.users-000/part-00001
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-fuzzyjoin/data/users-visitors-small/records.users-000/part-00001
diff --git a/asterix-fuzzyjoin/data/users-visitors-small/records.visitors-000/part-00000 b/asterix-fuzzyjoin/data/users-visitors-small/records.visitors-000/part-00000
new file mode 100644
index 0000000..0fb745a
--- /dev/null
+++ b/asterix-fuzzyjoin/data/users-visitors-small/records.visitors-000/part-00000
@@ -0,0 +1,4 @@
+{ "vid": 100,  "name": "Alex Ascher",  "lottery_numbers": [10, 15, 30] }
+{ "vid": 200,  "name": "Hank Friley",  "lottery_numbers": [20, 25] }
+{ "vid": 300,  "name": "Luella Schweinert",  "lottery_numbers": [41, 42, 43] }
+{ "vid": 400,  "name": "Shanna Cuaresma",  "lottery_numbers": [45, 46, 47] }
diff --git a/asterix-fuzzyjoin/data/users-visitors-small/records.visitors-000/part-00001 b/asterix-fuzzyjoin/data/users-visitors-small/records.visitors-000/part-00001
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/asterix-fuzzyjoin/data/users-visitors-small/records.visitors-000/part-00001
diff --git a/asterix-fuzzyjoin/data/verify.sh b/asterix-fuzzyjoin/data/verify.sh
new file mode 100755
index 0000000..19ad36e
--- /dev/null
+++ b/asterix-fuzzyjoin/data/verify.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+TMP=/tmp/verify_
+
+if [ $# -lt "2" ]
+then
+  echo "Usage: `basename $0` result.txt result.T.txt [-u]"
+  exit $E_BADARGS
+fi
+
+args=( $@ )
+for i in 0 1
+do
+    f=${args[$i]}
+    ### Assume second argument is alredy sorted and with no duplicates
+    if [ "$i" -eq "0" ]
+    then
+        sort $3 $f > $TMP$i
+    else
+        rm $TMP$i 2> /dev/null
+        ln -s $PWD/$f $TMP$i
+    fi
+    if [ "$?" -ne "0" ]
+    then
+        echo Fail -- preprocessing
+        exit 1
+    fi
+
+    l[$i]=`wc --lines $TMP$i | cut --delimiter=" " --fields=1`
+    if [ "$?" -ne "0" ]
+    then
+        echo Fail -- preprocessing
+        exit 1
+    fi
+done
+
+
+### Test 1
+if [ "${l[0]}" -ne "${l[1]}" ]
+then
+    echo $1 ${l[0]}
+    echo $2 ${l[1]}
+    echo Fail -- different number of tokens
+    exit 1
+fi
+
+### Test 2
+diff --brief ${TMP}0 ${TMP}1
+if [ "$?" -ne "0" ]
+then
+    echo Fail -- differnt tokens
+    exit 1
+fi
+rm ${TMP}0 ${TMP}1
+
+echo Pass
\ No newline at end of file
diff --git a/asterix-fuzzyjoin/data/verify.stage1.sh b/asterix-fuzzyjoin/data/verify.stage1.sh
new file mode 100755
index 0000000..e648fb5
--- /dev/null
+++ b/asterix-fuzzyjoin/data/verify.stage1.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+d=tokens-000
+f=part
+
+if [ $# -ne "1" ]
+then
+  echo "Usage:   `basename $0` dataset"
+  echo "Example: `basename $0` dblp.small"
+  exit $E_BADARGS
+fi
+
+./verify.sh $1/$d/$f-00000 $1.expected/$d/expected.txt
+exit $?
diff --git a/asterix-fuzzyjoin/data/verify.stage2.sh b/asterix-fuzzyjoin/data/verify.stage2.sh
new file mode 100755
index 0000000..be98a4c
--- /dev/null
+++ b/asterix-fuzzyjoin/data/verify.stage2.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+TMP=/tmp/verify_stage2_
+d=ridpairs-000
+f=part
+
+if [ $# -ne "1" ]
+then
+  echo "Usage:   `basename $0` dataset"
+  echo "Example: `basename $0` dblp.small"
+  exit $E_BADARGS
+fi
+
+cat $1/$d/$f-????? > $TMP
+./verify.sh $TMP $1.expected/$d/expected.txt -u
+if [ "$?" -ne "0" ]
+then
+    exit 1
+fi
+rm $TMP
diff --git a/asterix-fuzzyjoin/data/verify.stage3.sh b/asterix-fuzzyjoin/data/verify.stage3.sh
new file mode 100755
index 0000000..dac5a93
--- /dev/null
+++ b/asterix-fuzzyjoin/data/verify.stage3.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+TMP=/tmp/verify_stage3_
+d=recordpairs-000
+f=part
+
+if [ $# -ne "1" ]
+then
+  echo "Usage:   `basename $0` dataset"
+  echo "Example: `basename $0` dblp.small"
+  exit $E_BADARGS
+fi
+
+cat $1/$d/$f-????? > $TMP
+./verify.sh $TMP $1.expected/$d/expected.txt -u
+if [ "$?" -ne "0" ]
+then
+    exit 1
+fi
+rm $TMP
diff --git a/asterix-fuzzyjoin/pom.xml b/asterix-fuzzyjoin/pom.xml
new file mode 100644
index 0000000..42dd773
--- /dev/null
+++ b/asterix-fuzzyjoin/pom.xml
@@ -0,0 +1,69 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+          <artifactId>asterix</artifactId>
+          <groupId>edu.uci.ics.asterix</groupId>
+          <version>0.8.1-SNAPSHOT</version>
+  </parent>
+  <groupId>edu.uci.ics.asterix</groupId>
+  <artifactId>asterix-fuzzyjoin</artifactId>
+  <version>0.8.1-SNAPSHOT</version>
+
+  <build>
+    <plugins>
+      <plugin>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-compiler-plugin</artifactId>
+	<version>2.3.2</version>
+	<configuration>
+	  <compilerArguments>
+	    <encoding>utf8</encoding>
+	  </compilerArguments>
+	</configuration>
+      </plugin>
+      <plugin>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-compiler-plugin</artifactId>
+	<version>2.0.2</version>
+	<configuration>
+	  <source>1.6</source>
+	  <target>1.6</target>
+	</configuration>
+      </plugin>
+      <plugin>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-jar-plugin</artifactId>
+	<executions>
+	  <execution>
+	    <goals>
+	      <goal>test-jar</goal>
+	    </goals>
+            <phase>test-compile</phase>
+          </execution>  
+        </executions>
+        <configuration>
+          <outputDirectory>${basedir}/target</outputDirectory>
+        </configuration>
+      </plugin>
+      <plugin>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-surefire-plugin</artifactId>
+	<configuration>
+	  <forkMode>pertest</forkMode>
+	  <argLine>-enableassertions -Xmx1g</argLine>
+	</configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.8.1</version>
+      <type>jar</type>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+</project>
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyFiltersJaccard.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyFiltersJaccard.java
new file mode 100644
index 0000000..75029a8
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyFiltersJaccard.java
@@ -0,0 +1,104 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+public class FuzzyFiltersJaccard {
+
+    /**
+     * type is double because with float .8 / (1 + .8) * (8 + 10) = 8.0...01
+     */
+    protected final double simThr;
+    protected final double simThrExpr;
+
+    public FuzzyFiltersJaccard(double similarityThreshold) {
+        simThr = similarityThreshold;
+        simThrExpr = simThr / (1 + simThr);
+    }
+
+    public int getIndexPrefixLength(int length) {
+        return length - (int) Math.ceil(2 * simThrExpr * length) + 1;
+    }
+
+    public int getIntersectLowerBound(int lengthX, int lengthY) {
+        return (int) Math.ceil(simThrExpr * (lengthX + lengthY));
+    }
+
+    public long getIntersectLowerBound(long lengthX, long lengthY) {
+        return (long) Math.ceil(simThrExpr * (lengthX + lengthY));
+    }
+
+    public int getIntersectUpperBound(int noGramsCommon, int positionX, int positionY, int lengthX, int lengthY) {
+        return noGramsCommon + Math.min(lengthX - positionX - 1, lengthY - positionY - 1);
+    }
+
+    public long getIntersectUpperBound(int noGramsCommon, long positionX, long positionY, long lengthX, long lengthY) {
+        return noGramsCommon + Math.min(lengthX - positionX - 1, lengthY - positionY - 1);
+    }
+
+    public int getLengthLowerBound(int length) {
+        return (int) Math.ceil(simThr * length);
+    }
+
+    public long getLengthLowerBound(long length) {
+        return (long) Math.ceil(simThr * length);
+    }
+
+    public int getPrefixLength(int length) {
+        return length - (int) Math.ceil(simThr * length) + 1;
+    }
+
+    public long getPrefixLength(long length) {
+        return length - (long) Math.ceil(simThr * length) + 1;
+    }
+
+    public double getSimilarityThreshold() {
+        return simThr;
+    }
+
+    public boolean passLengthFilter(int lengthX, int lengthY) {
+        return getLengthLowerBound(lengthX) <= lengthY && lengthY <= 1 / simThr * lengthX;
+    }
+
+    public boolean passLengthFilter(long lengthX, long lengthY) {
+        return getLengthLowerBound(lengthX) <= lengthY && lengthY <= 1 / simThr * lengthX;
+    }
+
+    /**
+     * @param noGramsCommon
+     *            number of grams in common
+     * @param positionX
+     *            position of the last gram in common on X
+     * @param positionY
+     *            position of the last gram in common on X
+     * @param lengthX
+     * @param lengthY
+     * @return
+     */
+    public boolean passPositionFilter(int noGramsCommon, int positionX, int positionY, int lengthX, int lengthY) {
+        return getIntersectUpperBound(noGramsCommon, positionX, positionY, lengthX, lengthY) >= getIntersectLowerBound(
+                lengthX, lengthY);
+    }
+
+    public boolean passPositionFilter(int noGramsCommon, long positionX, long positionY, long lengthX, long lengthY) {
+        return getIntersectUpperBound(noGramsCommon, positionX, positionY, lengthX, lengthY) >= getIntersectLowerBound(
+                lengthX, lengthY);
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinAppendLength.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinAppendLength.java
new file mode 100644
index 0000000..b08aa29
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinAppendLength.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashMap;
+
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.Tokenizer;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.TokenizerFactory;
+
+public class FuzzyJoinAppendLength {
+    public static void main(String args[]) throws IOException {
+        final String inputFileName = args[0];
+        final String outputFileName = args[1];
+
+        BufferedReader input = new BufferedReader(new FileReader(inputFileName));
+        BufferedWriter output = new BufferedWriter(new FileWriter(outputFileName));
+
+        Tokenizer tokenizer = TokenizerFactory.getTokenizer(FuzzyJoinConfig.TOKENIZER_VALUE,
+                FuzzyJoinConfig.WORD_SEPARATOR_REGEX, FuzzyJoinConfig.TOKEN_SEPARATOR);
+
+        int[] dataColumns = FuzzyJoinUtil.getDataColumns("2,3");
+
+        String line;
+        HashMap<String, MutableInteger> tokenCount = new HashMap<String, MutableInteger>();
+        while ((line = input.readLine()) != null) {
+            String[] splits = line.split(FuzzyJoinConfig.RECORD_SEPARATOR_REGEX);
+            Collection<String> tokens = tokenizer.tokenize(FuzzyJoinUtil.getData(splits, dataColumns,
+                    FuzzyJoinConfig.TOKEN_SEPARATOR));
+            output.write(splits[0] + FuzzyJoinConfig.RECORD_SEPARATOR + splits[1] + FuzzyJoinConfig.RECORD_SEPARATOR
+                    + splits[2] + FuzzyJoinConfig.RECORD_SEPARATOR + splits[3] + FuzzyJoinConfig.RECORD_SEPARATOR
+                    + tokens.size() + "\n");
+        }
+
+        input.close();
+        output.close();
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinConfig.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinConfig.java
new file mode 100644
index 0000000..03806a6
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinConfig.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+public class FuzzyJoinConfig {
+    private static final String NAMESPACE = "fuzzyjoin";
+    //
+    // tokenizer
+    //
+    public static final String TOKENIZER_PROPERTY = NAMESPACE + ".tokenizer";
+    public static final String TOKENIZER_VALUE = "Word";
+    //
+    // similarity
+    //
+    public static final String SIMILARITY_NAME_PROPERTY = NAMESPACE + ".similarity.name";
+    public static final String SIMILARITY_NAME_VALUE = "Jaccard";
+    public static final String SIMILARITY_THRESHOLD_PROPERTY = NAMESPACE + ".similarity.threshold";
+    public static final float SIMILARITY_THRESHOLD_VALUE = .8f;
+    //
+    // record
+    //
+    public static final String RECORD_DATA_PROPERTY = NAMESPACE + ".record.data";
+    public static final String RECORD_DATA_VALUE = "1";
+    public static final String RECORD_DATA1_PROPERTY = NAMESPACE + ".record.data1";
+    public static final String RECORD_DATA1_VALUE = "1";
+    //
+    // data
+    //    
+    public static final String DATA_TOKENS_PROPERTY = NAMESPACE + ".data.tokens";
+    //
+    // const
+    //
+    public static final String RECORD_DATA_VALUE_SEPARATOR_REGEX = ",";
+    public static final char WORD_SEPARATOR = '_';
+    public static final String WORD_SEPARATOR_REGEX = "_";
+    public static final char TOKEN_SEPARATOR = '_';
+    public static final String TOKEN_SEPARATOR_REGEX = "_";
+    public static final int RECORD_KEY = 0;
+    //
+    // separators
+    //
+    public static final char TOKEN_RANK_SEPARATOR = '_';
+    public static final char RECORD_SEPARATOR = ':';
+    public static final String RECORD_SEPARATOR_REGEX = ":";
+    public static final char RECORD_EXTRA_SEPARATOR = ';';
+    public static final String RECORD_EXTRA_SEPARATOR_REGEX = ";";
+    public static final char RIDPAIRS_SEPARATOR = ' ';
+    public static final String RIDPAIRS_SEPARATOR_REGEX = " ";
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinContext.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinContext.java
new file mode 100644
index 0000000..738bdc8
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinContext.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+import java.util.ArrayList;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFiltersJaccard;
+
+public class FuzzyJoinContext {
+    public final float similarityThreshold;
+    public final SimilarityFiltersJaccard similarityFilters;
+    public final ArrayList<int[]> records;
+    public final ArrayList<ResultSelfJoin> results;
+
+    public FuzzyJoinContext(float similarityThreshold) {
+        this.similarityThreshold = similarityThreshold;
+        similarityFilters = new SimilarityFiltersJaccard(similarityThreshold);
+        records = new ArrayList<int[]>();
+        results = new ArrayList<ResultSelfJoin>();
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinMemory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinMemory.java
new file mode 100644
index 0000000..ec2a411
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinMemory.java
@@ -0,0 +1,317 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+import java.io.BufferedInputStream;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import edu.uci.ics.asterix.fuzzyjoin.invertedlist.InvertedListLengthList;
+import edu.uci.ics.asterix.fuzzyjoin.invertedlist.InvertedListsLengthList;
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFiltersJaccard;
+
+public class FuzzyJoinMemory {
+    public static void main(String[] args) {
+        if (args.length < 2) {
+            System.err.println("Usage: <threshold> <file> [no runs, e.g., 1] [warm-up factor, e.g., 1]");
+            System.exit(2);
+        }
+
+        float similarityThreshold = Float.valueOf(args[0]);
+        String fileName = args[1];
+
+        int noRuns = 1, warmUpFactor = 1;
+        if (args.length > 2) {
+            noRuns = Integer.valueOf(args[2]);
+            if (args.length > 3) {
+                warmUpFactor = Integer.valueOf(args[3]);
+            }
+        }
+
+        System.err.println("Document: " + fileName);
+        System.err.println("... LOADING DATASET ...");
+
+        ArrayList<int[]> records = new ArrayList<int[]>();
+        ArrayList<Integer> rids = new ArrayList<Integer>();
+
+        FuzzyJoinMemory fj = new FuzzyJoinMemory(similarityThreshold);
+
+        FuzzyJoinMemory.readRecords(fileName, records, rids);
+
+        System.err.println("Algorithm: ppjoin");
+        System.err.println("Threshold: Jaccard " + similarityThreshold);
+
+        List<ResultSelfJoin> results = fj.runs(records, noRuns, warmUpFactor);
+
+        for (ResultSelfJoin result : results) {
+            System.out.format("%d %d %.3f", rids.get(result.indexX), rids.get(result.indexY), result.similarity);
+            System.out.println();
+            // System.out.format("(" + result.indexX + "," + result.indexY +
+            // ")");
+            // System.out.println();
+            // System.out.format("(" + rids.get(result.indexX) + ","
+            // + rids.get(result.indexY) + ")\t" + result.similarity);
+            // System.out.println();
+        }
+    }
+
+    public static void readRecords(String fileName, List<int[]> records, List<Integer> rids) {
+        LittleEndianIntInputStream in;
+        try {
+            in = new LittleEndianIntInputStream(new BufferedInputStream(new FileInputStream(fileName)));
+        } catch (FileNotFoundException e) {
+            throw new RuntimeException(e);
+        }
+
+        while (true) {
+            int rid = 0;
+            try {
+                rid = in.readInt();
+            } catch (IOException e) {
+                // FILE_EXPECTED reach of EOF
+                break;
+            }
+
+            rids.add(rid);
+            int[] record;
+
+            try {
+                int size = in.readInt();
+                record = new int[size];
+                for (int j = 0; j < size; j++) {
+                    int token = in.readInt();
+                    record[j] = token;
+                }
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            }
+
+            records.add(record);
+        }
+    }
+
+    private final InvertedListsLengthList invertedLists;
+    private final SimilarityFiltersJaccard similarityFilters;
+
+    private final ArrayList<int[]> records;
+
+    public FuzzyJoinMemory(float similarityThreshold) {
+        invertedLists = new InvertedListsLengthList();
+        similarityFilters = new SimilarityFiltersJaccard(similarityThreshold);
+        records = new ArrayList<int[]>();
+    }
+
+    public void add(final int[] tokens) {
+        final int index = records.size();
+        final int length = tokens.length;
+        final int indexPrefixLength = similarityFilters.getPrefixLength(length);
+
+        for (int indexToken = 0; indexToken < indexPrefixLength; indexToken++) {
+            invertedLists.index(tokens[indexToken], new int[] { index, indexToken, length });
+        }
+        records.add(tokens);
+    }
+
+    public ArrayList<ResultJoin> join(final int[] tokens, final int length) {
+        final int prefixLength = similarityFilters.getPrefixLength(length);
+        final int lengthLowerBound = similarityFilters.getLengthLowerBound(length);
+        //
+        // self join
+        //
+        final HashMap<Integer, Integer> counts = new HashMap<Integer, Integer>();
+        for (int indexToken = 0; indexToken < Math.min(prefixLength, tokens.length); indexToken++) {
+            final int token = tokens[indexToken];
+            //
+            // probe index
+            //
+            InvertedListLengthList invertedList = invertedLists.get(token);
+            if (invertedList != null) {
+                // length filter
+                invertedList.setMinLength(lengthLowerBound);
+                for (int[] element : invertedList) {
+                    final int indexProbe = element[0];
+                    final int indexTokenProbe = element[1];
+                    final int lengthProbe = element[2];
+                    Integer count = counts.get(indexProbe);
+                    if (count == null) {
+                        count = 0;
+                    }
+
+                    if (count != -1) {
+                        count++;
+                        // position filter
+                        if (!similarityFilters.passPositionFilter(count, indexToken, length, indexTokenProbe,
+                                lengthProbe)) {
+                            count = -1;
+                        }
+                        // suffix filter
+                        if (count == 1
+                                && !similarityFilters.passSuffixFilter(tokens, indexToken, records.get(indexProbe),
+                                        indexTokenProbe)) {
+                            count = -1;
+                        }
+                        counts.put(indexProbe, count);
+                    }
+                }
+            }
+        }
+        //
+        // verify candidates
+        //
+        ArrayList<ResultJoin> results = new ArrayList<ResultJoin>();
+        for (Map.Entry<Integer, Integer> cand : counts.entrySet()) {
+            int count = cand.getValue();
+            int indexProbe = cand.getKey();
+            if (count > 0) {
+                int tokensProbe[] = records.get(indexProbe);
+                float similarity = similarityFilters.passSimilarityFilter(tokens, prefixLength, tokensProbe,
+                        similarityFilters.getPrefixLength(tokensProbe.length), count);
+                if (similarity > 0) {
+                    results.add(new ResultJoin(indexProbe, similarity));
+                }
+            }
+        }
+        return results;
+    }
+
+    public void prune(int length) {
+        final int lengthLowerBound = similarityFilters.getLengthLowerBound(length + 1);
+        invertedLists.prune(lengthLowerBound);
+    }
+
+    public List<ResultSelfJoin> runs(Collection<int[]> records, int noRuns, int warmupFactor) {
+        if (records.size() < 2) {
+            return new ArrayList<ResultSelfJoin>();
+        }
+
+        int noRunsTotal = noRuns * warmupFactor;
+        float runtime = 0, runtimeAverage = 0;
+        ArrayList<ResultSelfJoin> results = new ArrayList<ResultSelfJoin>();
+
+        System.err.println("# Records: " + records.size());
+        System.err.print("=== BEGIN JOIN (TIMER STARTED) === ");
+        for (int i = 1; i <= noRunsTotal; i++) {
+            System.err.print(".");
+            System.err.flush();
+
+            results.clear();
+            Runtime.getRuntime().gc();
+
+            Date startTime = new Date();
+            for (int[] record : records) {
+                results.addAll(selfJoinAndAddRecord(record));
+            }
+            Date endTime = new Date();
+            runtime = (endTime.getTime() - startTime.getTime()) / (float) 1000.0;
+
+            if (i >= noRunsTotal - noRuns) {
+                runtimeAverage += runtime;
+            }
+        }
+        System.err.println();
+        System.err.println("# Results: " + results.size());
+        System.err.println("=== END JOIN (TIMER STOPPED) ===");
+        System.err.println("Total Running Time:  " + runtimeAverage / noRuns + " (" + runtime + ")");
+        System.err.println();
+        return results;
+    }
+
+    public ArrayList<ResultSelfJoin> selfJoinAndAddRecord(final int[] tokens) {
+        final int index = records.size();
+        final int length = tokens.length;
+        final int prefixLength = similarityFilters.getPrefixLength(length);
+        final int indexPrefixLength = similarityFilters.getIndexPrefixLength(length);
+        final int lengthLowerBound = similarityFilters.getLengthLowerBound(length);
+        //
+        // self join
+        //
+        final HashMap<Integer, Integer> counts = new HashMap<Integer, Integer>();
+        for (int indexToken = 0; indexToken < prefixLength; indexToken++) {
+            final int token = tokens[indexToken];
+            //
+            // probe index
+            //
+            InvertedListLengthList invertedList = invertedLists.get(token);
+            if (invertedList != null) {
+                // length filter
+                invertedList.setMinLength(lengthLowerBound);
+                for (int[] element : invertedList) {
+                    final int indexProbe = element[0];
+                    final int indexTokenProbe = element[1];
+                    final int lengthProbe = element[2];
+                    Integer count = counts.get(indexProbe);
+                    if (count == null) {
+                        count = 0;
+                    }
+
+                    if (count != -1) {
+                        count++;
+                        // position filter
+                        if (!similarityFilters.passPositionFilter(count, indexToken, length, indexTokenProbe,
+                                lengthProbe)) {
+                            count = -1;
+                        }
+                        // suffix filter
+                        if (count == 1
+                                && !similarityFilters.passSuffixFilter(tokens, indexToken, records.get(indexProbe),
+                                        indexTokenProbe)) {
+                            count = -1;
+                        }
+                        counts.put(indexProbe, count);
+                    }
+                }
+            }
+            //
+            // add to index
+            //
+            if (indexToken < indexPrefixLength) {
+                invertedLists.index(token, new int[] { index, indexToken, length });
+            }
+        }
+        //
+        // add record
+        //
+        records.add(tokens);
+        //
+        // verify candidates
+        //
+        ArrayList<ResultSelfJoin> results = new ArrayList<ResultSelfJoin>();
+        for (Map.Entry<Integer, Integer> cand : counts.entrySet()) {
+            int count = cand.getValue();
+            int indexProbe = cand.getKey();
+            if (count > 0) {
+                int tokensProbe[] = records.get(indexProbe);
+                float similarity = similarityFilters.passSimilarityFilter(tokens, prefixLength, tokensProbe,
+                        similarityFilters.getIndexPrefixLength(tokensProbe.length), count);
+                if (similarity > 0) {
+                    results.add(new ResultSelfJoin(index, indexProbe, similarity));
+                }
+            }
+        }
+        return results;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinTokenize.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinTokenize.java
new file mode 100644
index 0000000..aa8927d
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinTokenize.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+import java.io.BufferedOutputStream;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.Tokenizer;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.TokenizerFactory;
+import edu.uci.ics.asterix.fuzzyjoin.tokenorder.TokenLoad;
+import edu.uci.ics.asterix.fuzzyjoin.tokenorder.TokenRank;
+import edu.uci.ics.asterix.fuzzyjoin.tokenorder.TokenRankFrequency;
+
+public class FuzzyJoinTokenize {
+    public static class TokenCount implements Comparable {
+        public String token;
+        public MutableInteger count;
+
+        public TokenCount(String token, MutableInteger count) {
+            this.token = token;
+            this.count = count;
+        }
+
+        @Override
+        public int compareTo(Object o) {
+            TokenCount tc = (TokenCount) o;
+            return count.compareTo(tc.count);
+        }
+
+        public String getToken() {
+            return token;
+        }
+
+        @Override
+        public String toString() {
+            return token + " " + count;
+        }
+    }
+
+    public static void main(String args[]) throws IOException {
+        final String inputFileName = args[0];
+        final String tokensFileName = args[1];
+        final String tokenizedFileName = args[2];
+
+        BufferedReader input = new BufferedReader(new FileReader(inputFileName));
+
+        Tokenizer tokenizer = TokenizerFactory.getTokenizer(FuzzyJoinConfig.TOKENIZER_VALUE,
+                FuzzyJoinConfig.WORD_SEPARATOR_REGEX, FuzzyJoinConfig.TOKEN_SEPARATOR);
+
+        int[] dataColumns = FuzzyJoinUtil.getDataColumns("2,3");
+
+        String line;
+        HashMap<String, MutableInteger> tokenCount = new HashMap<String, MutableInteger>();
+        while ((line = input.readLine()) != null) {
+            Collection<String> tokens = tokenizer.tokenize(FuzzyJoinUtil.getData(
+                    line.split(FuzzyJoinConfig.RECORD_SEPARATOR_REGEX), dataColumns, FuzzyJoinConfig.TOKEN_SEPARATOR));
+
+            for (String token : tokens) {
+                MutableInteger count = tokenCount.get(token);
+                if (count == null) {
+                    tokenCount.put(token, new MutableInteger(1));
+                } else {
+                    count.inc();
+                }
+            }
+        }
+
+        input.close();
+
+        ArrayList<TokenCount> tokenCounts = new ArrayList<TokenCount>();
+        for (Map.Entry<String, MutableInteger> entry : tokenCount.entrySet()) {
+            tokenCounts.add(new TokenCount(entry.getKey(), entry.getValue()));
+        }
+        Collections.sort(tokenCounts);
+
+        BufferedWriter outputTokens = new BufferedWriter(new FileWriter(tokensFileName));
+        for (TokenCount tc : tokenCounts) {
+            outputTokens.write(tc.getToken() + "\n");
+        }
+        outputTokens.close();
+
+        TokenRank tokenRank = new TokenRankFrequency();
+        TokenLoad tokenLoad = new TokenLoad(tokensFileName, tokenRank);
+        tokenLoad.loadTokenRank();
+
+        input = new BufferedReader(new FileReader(inputFileName));
+        LittleEndianIntOutputStream outputTokenized = new LittleEndianIntOutputStream(new BufferedOutputStream(
+                new FileOutputStream(tokenizedFileName)));
+        while ((line = input.readLine()) != null) {
+            String splits[] = line.split(FuzzyJoinConfig.RECORD_SEPARATOR_REGEX);
+            int rid = Integer.parseInt(splits[FuzzyJoinConfig.RECORD_KEY]);
+            outputTokenized.writeInt(rid);
+            Collection<String> tokens = tokenizer.tokenize(FuzzyJoinUtil.getData(splits, dataColumns,
+                    FuzzyJoinConfig.TOKEN_SEPARATOR));
+            Collection<Integer> tokensRanked = tokenRank.getTokenRanks(tokens);
+            outputTokenized.writeInt(tokensRanked.size());
+            for (Integer token : tokensRanked) {
+                outputTokenized.writeInt(token);
+            }
+            // for (int i = 0; i < tokens.size() - tokensRanked.size(); i++) {
+            // outputTokenized.writeInt(Integer.MAX_VALUE);
+            // }
+        }
+
+        input.close();
+        outputTokenized.close();
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinUtil.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinUtil.java
new file mode 100644
index 0000000..d947e24
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/FuzzyJoinUtil.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+import java.util.regex.Pattern;
+
+public class FuzzyJoinUtil {
+    private static final Pattern rePunctuation = Pattern.compile("[^\\p{L}\\p{N}]"); // L:Letter, N:Number
+    private static final Pattern reSpaceOrAnderscore = Pattern.compile("(_|\\s)+");
+
+    public static String clean(String in) {
+        /*
+         * - remove punctuation
+         * 
+         * - normalize case
+         * 
+         * - remove extra spaces
+         * 
+         * - repalce space with FuzzyJoinDriver.TOKEN_SEPARATOR
+         */
+
+        in = rePunctuation.matcher(in).replaceAll(" ");
+        in = reSpaceOrAnderscore.matcher(in).replaceAll(" ");
+        in = in.trim();
+        in = in.replace(' ', '_');
+        in = in.toLowerCase();
+        return in;
+    }
+
+    /**
+     * @param splits
+     *            splitted record
+     * @param dataColumns
+     *            column index of data columns
+     * @param tokenSeparator
+     *            TODO
+     * @return concatenation of data column values
+     */
+    public static String getData(Object[] splits, int[] dataColumns, char tokenSeparator) {
+        String data = null;
+        for (int dataColumn : dataColumns) {
+            if (data != null) {
+                data += tokenSeparator;
+            }
+            if (splits.length > dataColumn) {
+                if (data == null) {
+                    data = "";
+                }
+                // data += splits[dataColumns[i]];
+                data += clean(splits[dataColumn].toString());
+            }
+        }
+        return data;
+    }
+
+    /**
+     * @param columnsString
+     *            string containing the indexes of the columns containing data
+     * @return array of data columns indexes
+     */
+    public static int[] getDataColumns(String columnsString) {
+        String[] splits = columnsString.split(FuzzyJoinConfig.RECORD_DATA_VALUE_SEPARATOR_REGEX);
+        int[] columns = new int[splits.length];
+        for (int i = 0; i < splits.length; i++) {
+            columns[i] = Integer.parseInt(splits[i]);
+        }
+        return columns;
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/IntArray.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/IntArray.java
new file mode 100644
index 0000000..7170e87
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/IntArray.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+import java.util.Arrays;
+
+public class IntArray {
+    private static final int SIZE = 128;
+
+    private int[] data;
+    private int length;
+
+    public IntArray() {
+        data = new int[SIZE];
+        length = 0;
+    }
+
+    public void add(int d) {
+        if (length == data.length) {
+            data = Arrays.copyOf(data, data.length << 1);
+        }
+        data[length++] = d;
+    }
+
+    public int[] get() {
+        return data;
+    }
+
+    public int get(int i) {
+        return data[i];
+    }
+
+    public int length() {
+        return length;
+    }
+
+    public void reset() {
+        length = 0;
+    }
+
+    public void sort() {
+        sort(0, length);
+    }
+
+    public void sort(int start, int end) {
+        Arrays.sort(data, start, end);
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder out = new StringBuilder();
+        out.append('[');
+        for (int i = 0; i < length; ++i) {
+            out.append(data[i]);
+            if (i < length - 1) {
+                out.append(',');
+                out.append(' ');
+            }
+        }
+        out.append(']');
+        return out.toString();
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/IntPair.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/IntPair.java
new file mode 100644
index 0000000..1d54e82
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/IntPair.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+public class IntPair {
+
+    public static int[] PRIME = new int[] { 17, 31 }; // used for hashCode
+    // computations
+
+    protected int first;
+
+    protected int second;
+
+    public IntPair() {
+    }
+
+    public IntPair(int first, int second) {
+        this.first = first;
+        this.second = second;
+    }
+
+    public int compareTo(Object o) {
+        if (this == o) {
+            return 0;
+        }
+        IntPair p = (IntPair) o;
+        if (first != p.first) {
+            return first < p.first ? -1 : 1;
+        }
+        return second < p.second ? -1 : second > p.second ? 1 : 0;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (o == null) {
+            return false;
+        }
+        if (this == o) {
+            return true;
+        }
+        if (!(o instanceof IntPair)) {
+            return false;
+        }
+        IntPair p = (IntPair) o;
+        return first == p.first && second == p.second;
+    }
+
+    public int getFirst() {
+        return first;
+    }
+
+    public int getSecond() {
+        return second;
+    }
+
+    @Override
+    public int hashCode() {
+        return first * PRIME[0] + second;
+    }
+
+    public void set(int first, int second) {
+        this.first = first;
+        this.second = second;
+    }
+
+    public void setFirst(int first) {
+        this.first = first;
+    }
+
+    public void setSecond(int second) {
+        this.second = second;
+    }
+
+    @Override
+    public String toString() {
+        return "(" + first + "," + second + ")";
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/LittleEndianIntInputStream.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/LittleEndianIntInputStream.java
new file mode 100644
index 0000000..e17b694
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/LittleEndianIntInputStream.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+import java.io.EOFException;
+import java.io.FilterInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class LittleEndianIntInputStream extends FilterInputStream {
+
+    public LittleEndianIntInputStream(InputStream in) {
+        super(in);
+    }
+
+    public int readInt() throws IOException {
+        int a = read();
+        if (a == -1) {
+            throw new EOFException();
+        }
+        int b = read();
+        if (b == -1) {
+            throw new EOFException();
+        }
+        int c = read();
+        if (c == -1) {
+            throw new EOFException();
+        }
+        int d = read();
+        if (d == -1) {
+            throw new EOFException();
+        }
+        return (a | (b << 8) | (c << 16) | (d << 24)); // little endian
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/LittleEndianIntOutputStream.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/LittleEndianIntOutputStream.java
new file mode 100644
index 0000000..8b45338
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/LittleEndianIntOutputStream.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+public class LittleEndianIntOutputStream extends FilterOutputStream {
+    public LittleEndianIntOutputStream(OutputStream in) {
+        super(in);
+    }
+
+    public void writeInt(int v) throws IOException {
+        write((byte) (0xff & v));
+        write((byte) (0xff & (v >> 8)));
+        write((byte) (0xff & (v >> 16)));
+        write((byte) (0xff & (v >> 24)));
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/MutableInteger.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/MutableInteger.java
new file mode 100644
index 0000000..8dd8748
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/MutableInteger.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+public class MutableInteger implements Comparable {
+    private int v;
+
+    public MutableInteger(int v) {
+        this.v = v;
+    }
+
+    @Override
+    public int compareTo(Object o) {
+        MutableInteger m = (MutableInteger) o;
+        return v - m.v;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (o == null) {
+            return false;
+        }
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof MutableInteger)) {
+            return false;
+        }
+        MutableInteger m = (MutableInteger) o;
+        if (m.v == v) {
+            return true;
+        }
+        return false;
+    }
+
+    public int get() {
+        return v;
+    }
+
+    public void inc() {
+        v += 1;
+    }
+
+    public void set(int v) {
+        this.v = v;
+    }
+
+    @Override
+    public String toString() {
+        return "" + v;
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/RIDPairSimilarity.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/RIDPairSimilarity.java
new file mode 100644
index 0000000..64a3ea1
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/RIDPairSimilarity.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+public class RIDPairSimilarity {
+    public int rid1, rid2;
+    public float similarity;
+
+    public RIDPairSimilarity() {
+    }
+
+    public RIDPairSimilarity(int rid1, int rid2, float similarity) {
+        set(rid1, rid2, similarity);
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        RIDPairSimilarity r = (RIDPairSimilarity) o;
+        return rid1 == r.rid1 && rid2 == r.rid2;
+    }
+
+    @Override
+    public int hashCode() {
+        return rid1 * rid2 * (rid1 - rid2);
+    }
+
+    public void set(int rid1, int rid2, float similarity) {
+        this.rid1 = rid1;
+        this.rid2 = rid2;
+        this.similarity = similarity;
+    }
+
+    @Override
+    public String toString() {
+        return "{(" + rid1 + ", " + rid2 + "), " + similarity + "}";
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/ResultJoin.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/ResultJoin.java
new file mode 100644
index 0000000..f4b6c34
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/ResultJoin.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+public class ResultJoin {
+    public int index;
+    public float similarity;
+
+    public ResultJoin(int index, float similarity) {
+        this.index = index;
+        this.similarity = similarity;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/ResultSelfJoin.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/ResultSelfJoin.java
new file mode 100644
index 0000000..9e2658c
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/ResultSelfJoin.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin;
+
+public class ResultSelfJoin {
+    public int indexX, indexY;
+    public float similarity;
+
+    public ResultSelfJoin(int indexX, int indexY, float similarity) {
+        this.indexX = indexX;
+        this.indexY = indexY;
+        this.similarity = similarity;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedList.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedList.java
new file mode 100644
index 0000000..fe0553c
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedList.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.invertedlist;
+
+
+public interface InvertedList extends Iterable<int[]> {
+    public void add(int[] element);
+
+    public void setMinLength(int length);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListLengthFixed.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListLengthFixed.java
new file mode 100644
index 0000000..ed8db19
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListLengthFixed.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.invertedlist;
+
+import java.util.Iterator;
+
+public class InvertedListLengthFixed implements InvertedList {
+    public class ListIterator implements Iterator<int[]> {
+
+        int ix;
+
+        public ListIterator(int ix) {
+            this.ix = ix;
+        }
+
+        public boolean hasNext() {
+            return ix < sz;
+        }
+
+        public int[] next() {
+            return list[ix++];
+        }
+
+        public void remove() {
+            throw new UnsupportedOperationException();
+        }
+    }
+
+    private final int[][] list;
+
+    private int sz, ix;
+
+    public InvertedListLengthFixed(int size) {
+        list = new int[size * 3][3];
+        sz = 0;
+        ix = 0;
+    }
+
+    public void add(int[] element) {
+        list[sz++] = element;
+    }
+
+    public int getIndex() {
+        return ix;
+    }
+
+    public int getSize() {
+        return sz;
+    }
+
+    public Iterator<int[]> iterator() {
+        // return Arrays.asList(list).iterator();
+        return new ListIterator(ix);
+    }
+
+    public void setMinLength(int minLength) {
+        while (ix < sz && list[ix][2] < minLength) {
+            ix++;
+        }
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListLengthList.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListLengthList.java
new file mode 100644
index 0000000..6322040
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListLengthList.java
@@ -0,0 +1,107 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.invertedlist;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+public class InvertedListLengthList implements InvertedList {
+    /**
+     * @author rares
+     *         assumes that ListLength(s) are not empty inside the
+     *         InvertedListLength
+     */
+    private class ListIterator implements Iterator<int[]> {
+
+        private final Iterator<ListLength> iteratorLength;
+        private Iterator<int[]> iteratorList;
+
+        public ListIterator() {
+            iteratorLength = list.iterator();
+            iteratorList = null;
+        }
+
+        public boolean hasNext() {
+            return (iteratorList != null && iteratorList.hasNext()) || iteratorLength.hasNext();
+        }
+
+        public int[] next() {
+            if (iteratorList != null && iteratorList.hasNext()) {
+                return iteratorList.next();
+            }
+            iteratorList = iteratorLength.next().list.iterator();
+            return iteratorList.next();
+        }
+
+        public void remove() {
+            throw new UnsupportedOperationException();
+        }
+    }
+
+    private class ListLength {
+        public int length;
+        public ArrayList<int[]> list = new ArrayList<int[]>();
+
+        @Override
+        public String toString() {
+            StringBuffer l = new StringBuffer("(");
+            for (int[] i : list) {
+                l.append(Arrays.toString(i));
+                l.append(",");
+            }
+            l.append(")");
+            return "(length:" + length + "," + l + ")";
+        }
+    }
+
+    private LinkedList<ListLength> list;
+
+    public InvertedListLengthList() {
+        list = new LinkedList<ListLength>();
+    }
+
+    public void add(int[] element) {
+        if (!list.isEmpty() && list.getLast().length == element[2]) {
+            list.getLast().list.add(element);
+        } else {
+            ListLength listLength = new ListLength();
+            listLength.length = element[2];
+            listLength.list.add(element);
+            list.add(listLength);
+        }
+    }
+
+    public Iterator<int[]> iterator() {
+        return new ListIterator();
+    }
+
+    public void setMinLength(int minLength) {
+        while (!list.isEmpty() && list.getFirst().length < minLength) {
+            list.removeFirst();
+        }
+    }
+
+    @Override
+    public String toString() {
+        return list.toString();
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListPlain.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListPlain.java
new file mode 100644
index 0000000..b8c37c5
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListPlain.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.invertedlist;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public class InvertedListPlain {
+    private List<int[]> list;
+
+    public InvertedListPlain() {
+        list = new ArrayList<int[]>();
+    }
+
+    public boolean add(int[] element) {
+        list.add(element);
+        return true;
+    }
+
+    public Iterator<int[]> iterator() {
+        return list.iterator();
+    }
+
+    public void setMinLength(int minLength) {
+    }
+
+    @Override
+    public String toString() {
+        return list.toString();
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedLists.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedLists.java
new file mode 100644
index 0000000..7696a38
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedLists.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.invertedlist;
+
+public interface InvertedLists {
+    public InvertedList get(int token);
+
+    public void index(int token, int[] element);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListsLengthFixed.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListsLengthFixed.java
new file mode 100644
index 0000000..db21980
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListsLengthFixed.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.invertedlist;
+
+import java.util.Map;
+
+public class InvertedListsLengthFixed implements InvertedLists {
+    public final InvertedListLengthFixed[] invertedLists;
+    public final Map<Integer, Integer> invertedListsSize;
+
+    public InvertedListsLengthFixed(int noTokens, Map<Integer, Integer> invertedListsSize) {
+        invertedLists = new InvertedListLengthFixed[noTokens];
+        this.invertedListsSize = invertedListsSize;
+    }
+
+    public InvertedList get(int token) {
+        return invertedLists[token];
+    }
+
+    public void index(int token, int[] element) {
+        if (invertedLists[token] == null) {
+            // invertedLists[token] = new InvertedListLengthList();
+            invertedLists[token] = new InvertedListLengthFixed(invertedListsSize.get(token));
+        }
+        invertedLists[token].add(element);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListsLengthList.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListsLengthList.java
new file mode 100644
index 0000000..21f24b7
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/invertedlist/InvertedListsLengthList.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.invertedlist;
+
+import java.util.HashMap;
+
+public class InvertedListsLengthList implements InvertedLists {
+    public final HashMap<Integer, InvertedListLengthList> invertedLists;
+
+    public InvertedListsLengthList() {
+        invertedLists = new HashMap<Integer, InvertedListLengthList>();
+    }
+
+    public InvertedListLengthList get(int token) {
+        return invertedLists.get(token);
+    }
+
+    public void index(int token, int[] element) {
+        InvertedListLengthList list = invertedLists.get(token);
+        if (list == null) {
+            list = new InvertedListLengthList();
+            invertedLists.put(token, list);
+        }
+        list.add(element);
+    }
+
+    public void prune(int minLength) {
+        for (InvertedListLengthList l : invertedLists.values()) {
+            l.setMinLength(minLength);
+        }
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroup.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroup.java
new file mode 100644
index 0000000..9341a60
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroup.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.recordgroup;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFilters;
+
+public abstract class RecordGroup {
+    protected final int noGroups;
+    protected final SimilarityFilters fuzzyFilters;
+
+    public RecordGroup(int noGroups, SimilarityFilters fuzzyFilters) {
+        this.noGroups = noGroups;
+        this.fuzzyFilters = fuzzyFilters;
+    }
+
+    public abstract Iterable<Integer> getGroups(Integer token, Integer length);
+
+    public abstract boolean isLengthOnly();
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupFactory.java
new file mode 100644
index 0000000..9b60d4e
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupFactory.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.recordgroup;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFilters;
+
+public class RecordGroupFactory {
+    public static RecordGroup getRecordGroup(String recordGroup, int noGroups, SimilarityFilters fuzzyFilters,
+            String lengthstatsPath) {
+        if (recordGroup.equals("LengthCount")) {
+            return new RecordGroupLengthCount(noGroups, fuzzyFilters, lengthstatsPath);
+        } else if (recordGroup.equals("LengthIdentity")) {
+            return new RecordGroupLengthIdentity(noGroups, fuzzyFilters);
+        } else if (recordGroup.equals("LengthRange")) {
+            return new RecordGroupLengthRange(noGroups, fuzzyFilters, lengthstatsPath);
+        } else if (recordGroup.equals("Single")) {
+            return new RecordGroupSingle(noGroups, fuzzyFilters);
+        } else if (recordGroup.equals("TokenIdentity")) {
+            return new RecordGroupTokenIdentity(noGroups, fuzzyFilters);
+        } else if (recordGroup.equals("TokenFrequency")) {
+            return new RecordGroupTokenFrequency(noGroups, fuzzyFilters);
+        } else if (recordGroup.equals("TokenFrequencyMirror")) {
+            return new RecordGroupTokenFrequencyMirror(noGroups, fuzzyFilters);
+        }
+        throw new RuntimeException("Unknown record group \"" + recordGroup + "\".");
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupLengthCount.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupLengthCount.java
new file mode 100644
index 0000000..785346a
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupLengthCount.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.recordgroup;
+
+import java.io.DataInputStream;
+import java.io.EOFException;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFilters;
+
+public class RecordGroupLengthCount extends RecordGroup {
+    private final int min;
+    private final int max;
+    private final int[] lengthGroups;
+
+    public RecordGroupLengthCount(int noGroups, SimilarityFilters fuzzyFilters, String lengthstatsPath) {
+        super(noGroups, fuzzyFilters);
+
+        int sum = 0;
+        int range = 0;
+
+        try {
+            DataInputStream in = new DataInputStream(new FileInputStream(lengthstatsPath.toString()));
+            min = in.readInt();
+            max = in.readInt();
+            range = max - min + 1;
+            lengthGroups = new int[range]; // stores freqencies initally
+            try {
+                while (true) {
+                    int length = in.readInt();
+                    int freq = in.readInt();
+
+                    int lowAbs = fuzzyFilters.getLengthLowerBound(length);
+                    int uppAbs = fuzzyFilters.getLengthUpperBound(length);
+
+                    int low = Math.max(lowAbs - min, 0);
+                    int upp = Math.min(uppAbs - min, max - min);
+
+                    for (int l = low; l <= upp; ++l) {
+                        lengthGroups[l] += freq;
+                        sum += freq;
+                    }
+                }
+            } catch (EOFException e) {
+            }
+        } catch (IOException ioe) {
+            throw new RuntimeException(ioe);
+        }
+
+        int countGroup = sum / noGroups;
+        int count = 0;
+        int group = 0;
+        for (int i = 0; i < range; ++i) {
+            count += lengthGroups[i];
+            lengthGroups[i] = group;
+            if (count >= countGroup && group < noGroups - 1) {
+                count = 0;
+                group++;
+            }
+        }
+    }
+
+    @Override
+    public Iterable<Integer> getGroups(Integer token, Integer length) {
+        int lowAbs = fuzzyFilters.getLengthLowerBound(length);
+        int uppAbs = fuzzyFilters.getLengthUpperBound(length);
+
+        int low = Math.max(lowAbs - min, 0);
+        int upp = Math.min(uppAbs - min, max - min);
+
+        ArrayList<Integer> groups = new ArrayList<Integer>(upp - low + 1);
+        int prevGroup = -1;
+        for (int l = low; l <= upp; ++l) {
+            int group = lengthGroups[l];
+            if (group != prevGroup) {
+                groups.add(group);
+                prevGroup = group;
+            }
+        }
+
+        // System.out.println(noGroups + ":" + length + " [" + low + "," + upp
+        // + "] " + groups);
+
+        return groups;
+    }
+
+    @Override
+    public boolean isLengthOnly() {
+        return true;
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupLengthIdentity.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupLengthIdentity.java
new file mode 100644
index 0000000..558eada
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupLengthIdentity.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.recordgroup;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFilters;
+
+public class RecordGroupLengthIdentity extends RecordGroup {
+
+    private final Collection<Integer> groups;
+
+    public RecordGroupLengthIdentity(int noGroups, SimilarityFilters fuzzyFilters) {
+        super(noGroups, fuzzyFilters);
+        groups = new LinkedList<Integer>();
+    }
+
+    @Override
+    public Iterable<Integer> getGroups(Integer token, Integer length) {
+        groups.clear();
+        groups.add(length);
+        return groups;
+    }
+
+    @Override
+    public boolean isLengthOnly() {
+        return true;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupLengthRange.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupLengthRange.java
new file mode 100644
index 0000000..2bdd02d
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupLengthRange.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.recordgroup;
+
+import java.io.DataInputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFilters;
+
+public class RecordGroupLengthRange extends RecordGroup {
+    private final int min;
+    private final int max;
+    private final int groupSize;
+
+    public RecordGroupLengthRange(int noGroups, SimilarityFilters fuzzyFilters, String lengthstatsPath) {
+        super(noGroups, fuzzyFilters);
+        try {
+            DataInputStream in = new DataInputStream(new FileInputStream(lengthstatsPath.toString()));
+            min = in.readInt();
+            max = in.readInt();
+            groupSize = (int) Math.ceil((max - min + 1f) / noGroups);
+        } catch (IOException ioe) {
+            throw new RuntimeException(ioe);
+        }
+    }
+
+    @Override
+    public Iterable<Integer> getGroups(Integer token, Integer length) {
+        int lowAbs = fuzzyFilters.getLengthLowerBound(length);
+        int uppAbs = fuzzyFilters.getLengthUpperBound(length);
+
+        int low = Math.max(lowAbs - min, 0);
+        int upp = Math.min(uppAbs - min, max - min);
+
+        ArrayList<Integer> groups = new ArrayList<Integer>(upp - low + 1);
+        int prevGroup = -1;
+        for (int l = low; l <= upp; ++l) {
+            int group = l / groupSize;
+            if (group != prevGroup) {
+                groups.add(group);
+                prevGroup = group;
+            }
+        }
+
+        // System.out.println(length + " [" + lowAbs + "," + uppAbs + "] "
+        // + groups);
+
+        return groups;
+    }
+
+    @Override
+    public boolean isLengthOnly() {
+        return true;
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupSingle.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupSingle.java
new file mode 100644
index 0000000..0f9480f
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupSingle.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.recordgroup;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFilters;
+
+public class RecordGroupSingle extends RecordGroup {
+
+    private final Collection<Integer> groups = new LinkedList<Integer>();
+
+    public RecordGroupSingle(int noGroups, SimilarityFilters fuzzyFilters) {
+        super(noGroups, fuzzyFilters);
+        groups.add(0);
+    }
+
+    @Override
+    public Iterable<Integer> getGroups(Integer token, Integer length) {
+        return groups;
+    }
+
+    @Override
+    public boolean isLengthOnly() {
+        return true;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupTokenFrequency.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupTokenFrequency.java
new file mode 100644
index 0000000..f0cd032
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupTokenFrequency.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.recordgroup;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFilters;
+
+public class RecordGroupTokenFrequency extends RecordGroup {
+
+    private final Collection<Integer> groups = new LinkedList<Integer>();
+
+    public RecordGroupTokenFrequency(int noGroups, SimilarityFilters fuzzyFilters) {
+        super(noGroups, fuzzyFilters);
+    }
+
+    @Override
+    public Iterable<Integer> getGroups(Integer token, Integer length) {
+        groups.clear();
+        groups.add(token % noGroups);
+        return groups;
+    }
+
+    @Override
+    public boolean isLengthOnly() {
+        return false;
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupTokenFrequencyMirror.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupTokenFrequencyMirror.java
new file mode 100644
index 0000000..36085a2
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupTokenFrequencyMirror.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.recordgroup;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFilters;
+
+public class RecordGroupTokenFrequencyMirror extends RecordGroup {
+
+    private final Collection<Integer> groups = new LinkedList<Integer>();
+
+    public RecordGroupTokenFrequencyMirror(int noGroups, SimilarityFilters fuzzyFilters) {
+        super(noGroups, fuzzyFilters);
+    }
+
+    @Override
+    public Iterable<Integer> getGroups(Integer token, Integer length) {
+        int noGroupsDouble = noGroups << 1;
+        int group = token % noGroupsDouble;
+        if (group >= noGroups) {
+            // mirror
+            group = -(group - noGroupsDouble) - 1;
+        }
+        groups.clear();
+        groups.add(group);
+        return groups;
+    }
+
+    @Override
+    public boolean isLengthOnly() {
+        return false;
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupTokenIdentity.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupTokenIdentity.java
new file mode 100644
index 0000000..691fb10
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/recordgroup/RecordGroupTokenIdentity.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.recordgroup;
+
+import java.util.Collection;
+import java.util.LinkedList;
+
+import edu.uci.ics.asterix.fuzzyjoin.similarity.SimilarityFilters;
+
+public class RecordGroupTokenIdentity extends RecordGroup {
+
+    private final Collection<Integer> groups;
+
+    public RecordGroupTokenIdentity(int noGroups, SimilarityFilters fuzzyFilters) {
+        super(noGroups, fuzzyFilters);
+        groups = new LinkedList<Integer>();
+    }
+
+    @Override
+    public Iterable<Integer> getGroups(Integer token, Integer length) {
+        groups.clear();
+        groups.add(token);
+        return groups;
+    }
+
+    @Override
+    public boolean isLengthOnly() {
+        return false;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/IGenericSimilarityMetric.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/IGenericSimilarityMetric.java
new file mode 100644
index 0000000..85d1785
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/IGenericSimilarityMetric.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+public interface IGenericSimilarityMetric {
+    // returns similarity
+    public float getSimilarity(IListIterator firstList, IListIterator secondList);
+
+    // returns -1 if does not satisfy threshold
+    // else returns similarity
+    public float getSimilarity(IListIterator firstList, IListIterator secondList, float simThresh);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/IListIterator.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/IListIterator.java
new file mode 100644
index 0000000..647c35f
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/IListIterator.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+public interface IListIterator {
+    public int compare(IListIterator cmpIter);
+
+    public byte[] getData();
+
+    public int getPos();
+
+    public boolean hasNext();
+
+    public void next();
+
+    public void reset();
+
+    public int size();
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/PartialIntersect.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/PartialIntersect.java
new file mode 100644
index 0000000..15c339e
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/PartialIntersect.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+public class PartialIntersect {
+    public int intersectSize;
+    public int posXStart;
+    public int posXStop;
+    public int posYStart;
+    public int posYStop;
+
+    private boolean startSet = false;
+
+    public boolean isSet() {
+        return startSet;
+    }
+
+    public void reset() {
+        startSet = false;
+    }
+
+    public void set() {
+        startSet = true;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityFilters.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityFilters.java
new file mode 100644
index 0000000..48b22ca
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityFilters.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+import java.io.Serializable;
+
+public interface SimilarityFilters extends Serializable {
+    public int getLengthLowerBound(int length);
+
+    public int getLengthUpperBound(int length);
+
+    public int getPrefixLength(int length);
+
+    public boolean passLengthFilter(int lengthX, int lengthY);
+
+    public boolean passPositionFilter(int noGramsCommon, int positionX, int lengthX, int positionY, int lengthY);
+
+    public float passSimilarityFilter(final int[] tokensX, int startX, int lengthX, final int prefixLengthX,
+            final int[] tokensY, int startY, int lengthY, final int prefixLengthY, final int intersectionSizePrefix);
+
+    public float passSimilarityFilter(final int[] tokensX, final int prefixLengthX, final int[] tokensY,
+            final int prefixLengthY, final int intersectionSizePrefix);
+
+    public boolean passSuffixFilter(int[] tokensX, int startX, int lengthX, int positionX, int[] tokensY, int startY,
+            int lengthY, int positionY);
+
+    public boolean passSuffixFilter(int[] tokensX, int positionX, int[] tokensY, int positionY);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityFiltersFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityFiltersFactory.java
new file mode 100644
index 0000000..07c68a3
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityFiltersFactory.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+public class SimilarityFiltersFactory {
+    public static SimilarityFilters getSimilarityFilters(String similarityName, float similarityThreshold) {
+        if ("jaccard".equalsIgnoreCase(similarityName)) {
+            return new SimilarityFiltersJaccard(similarityThreshold);
+        }
+        throw new RuntimeException("Unknown fuzzy filters \"" + similarityName + "\".");
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityFiltersJaccard.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityFiltersJaccard.java
new file mode 100644
index 0000000..db9fefa
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityFiltersJaccard.java
@@ -0,0 +1,297 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+import java.util.Arrays;
+
+public class SimilarityFiltersJaccard implements SimilarityFilters {
+    class Partition {
+        public int startL;
+        public int lengthL;
+        public int startR;
+        public int lengthR;
+        public int hamming;
+
+        public Partition() {
+        }
+
+        public Partition(int startL, int lengthL, int startR, int lengthR, int hamming) {
+            this.startL = startL;
+            this.lengthL = lengthL;
+            this.startR = startR;
+            this.lengthR = lengthR;
+            this.hamming = hamming;
+        }
+    }
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    private static final int MAX_DEPTH = 2;
+
+    public static int getLengthLowerBound(int length, float simThr) {
+        return (int) Math.ceil(simThr * length);
+    }
+
+    public static boolean passLengthFilter(int lengthX, int lengthY, float simThr) {
+        return getLengthLowerBound(lengthX, simThr) <= lengthY && lengthY <= 1 / simThr * lengthX;
+    }
+
+    protected float simThr;
+
+    protected float simThr100;
+
+    public SimilarityFiltersJaccard(float similarityThreshold) {
+        reset(similarityThreshold);
+    }
+
+    public int getIndexPrefixLength(int length) {
+        return length - (int) Math.ceil(2 * simThr100 / (100 + simThr100) * length) + 1;
+    }
+
+    public int getIntersectLowerBound(int lengthX, int lengthY) {
+        return (int) Math.ceil(simThr100 * (lengthX + lengthY) / (100 + simThr100));
+    }
+
+    public int getIntersectUpperBound(int noGramsCommon, int positionX, int positionY, int lengthX, int lengthY) {
+        return noGramsCommon + Math.min(lengthX - positionX - 1, lengthY - positionY - 1);
+    }
+
+    public int getLengthLowerBound(int length) {
+        return getLengthLowerBound(length, simThr);
+    }
+
+    public int getLengthUpperBound(int length) {
+        return (int) Math.floor(1 / simThr * length);
+    }
+
+    private Partition getPartition(int[] tokens, int start, int length, int w, int posL, int posR) {
+        int p;
+        if (tokens[posL] > w) {
+            p = posL;
+        } else if (tokens[posR] < w) {
+            p = posR;
+        } else {
+            p = Arrays.binarySearch(tokens, start, start + length, w);
+        }
+
+        if (p < 0) {
+            p = -p - 1;
+        }
+
+        if (p >= start && p < start + length && tokens[p] == w) {
+            return new Partition(start, p - start, p + 1, start + length - p - 1, 0);
+        }
+        return new Partition(start, p - start, p, start + length - p, 1);
+    }
+
+    public int getPrefixLength(int length) {
+        if (length == 0) {
+            return 0;
+        }
+        return length - (int) Math.ceil(simThr * length) + 1;
+    }
+
+    public float getSimilarityThreshold() {
+        return simThr;
+    }
+
+    private int getSuffixFilter(int[] tokensX, int startX, int lengthX, int[] tokensY, int startY, int lengthY,
+            int hammingMax, int depth) {
+        final int lengthDiff = Math.abs(lengthX - lengthY);
+
+        if (depth > MAX_DEPTH || lengthX == 0 || lengthY == 0) {
+            return lengthDiff;
+        }
+
+        final int mid = startY + lengthY / 2 + lengthY % 2 - 1;
+        final int offset = (hammingMax - lengthDiff) / 2;
+
+        int offsetL;
+        int offsetR;
+        if (lengthX < lengthY) {
+            offsetL = 1;
+            offsetR = 0;
+        } else {
+            offsetL = 0;
+            offsetR = 1;
+        }
+        Partition partitionY = new Partition(startY, mid - startY, mid + 1, startY + lengthY - mid - 1, 0);
+
+        // Partition partitionX = getPartition(tokensX, startX, lengthX,
+        // tokensY[mid], Math.max(Math.min(mid + startX - startY, startX
+        // + lengthX - 1)
+        // - offset - Math.abs(lengthX - lengthY) * offsetL,
+        // startX), Math.min(Math.max(mid + startX - startY,
+        // startX)
+        // + offset + Math.abs(lengthX - lengthY) * offsetR,
+        // startX + lengthX - 1));
+
+        Partition partitionX = getPartition(tokensX, startX, lengthX, tokensY[mid],
+                Math.max(mid + startX - startY - offset - lengthDiff * offsetL, startX),
+                Math.min(mid + startX - startY + offset + lengthDiff * offsetR, startX + lengthX - 1));
+
+        int hammingPart = partitionX.hamming;
+
+        int hamming = Math.abs(partitionX.lengthL - partitionY.lengthL)
+                + Math.abs(partitionX.lengthR - partitionY.lengthR) + hammingPart;
+
+        if (hamming <= hammingMax) {
+            int hammingL = getSuffixFilter(tokensX, partitionX.startL, partitionX.lengthL, tokensY, partitionY.startL,
+                    partitionY.lengthL, hammingMax - Math.abs(partitionX.lengthR - partitionY.lengthR) - hammingPart,
+                    depth + 1);
+            hamming = hammingL + Math.abs(partitionX.lengthR - partitionY.lengthR) + hammingPart;
+
+            if (hamming <= hammingMax) {
+                int hammingR = getSuffixFilter(tokensX, partitionX.startR, partitionX.lengthR, tokensY,
+                        partitionY.startR, partitionY.lengthR, hammingMax - hammingL - hammingPart, depth + 1);
+                hamming = hammingL + hammingR + hammingPart;
+            }
+        }
+        return hamming;
+    }
+
+    public boolean passLengthFilter(int lengthX, int lengthY) {
+        return passLengthFilter(lengthX, lengthY, simThr);
+    }
+
+    /**
+     * @param noGramsCommon
+     *            number of grams in common
+     * @param positionX
+     *            position of the last gram in common on X
+     * @param positionY
+     *            position of the last gram in common on X
+     * @param lengthX
+     * @param lengthY
+     * @return
+     */
+    public boolean passPositionFilter(int noGramsCommon, int positionX, int lengthX, int positionY, int lengthY) {
+        return getIntersectUpperBound(noGramsCommon, positionX, positionY, lengthX, lengthY) >= getIntersectLowerBound(
+                lengthX, lengthY);
+    }
+
+    public float passSimilarityFilter(final int[] tokensX, int startX, int lengthX, final int prefixLengthX,
+            final int[] tokensY, int startY, int lengthY, final int prefixLengthY, final int intersectionSizePrefix) {
+        final int length = lengthX;
+        final int token = tokensX[startX + Math.min(prefixLengthX, lengthX) - 1];
+        final int lengthProbe = lengthY;
+        final int tokenProbe = tokensY[startY + prefixLengthY - 1];
+
+        final int intersectSizeLowerBound = getIntersectLowerBound(length, lengthProbe);
+        int intersectSize = 0;
+
+        if (token < tokenProbe) {
+            if (intersectionSizePrefix + length - prefixLengthX >= intersectSizeLowerBound) {
+                intersectSize = intersectionSizePrefix
+                        + SimilarityMetric.getIntersectSize(tokensX, startX + prefixLengthX, lengthX - prefixLengthX,
+                                tokensY, startY + intersectionSizePrefix, lengthY - intersectionSizePrefix);
+            }
+        } else {
+            if (intersectionSizePrefix + lengthProbe - prefixLengthY >= intersectSizeLowerBound) {
+                intersectSize = intersectionSizePrefix
+                        + SimilarityMetric.getIntersectSize(tokensX, startX + intersectionSizePrefix, lengthX
+                                - intersectionSizePrefix, tokensY, startY + prefixLengthY, lengthY - prefixLengthY);
+            }
+        }
+
+        if (intersectSize >= intersectSizeLowerBound) {
+            return ((float) intersectSize) / (length + lengthProbe - intersectSize);
+        }
+        return 0;
+    }
+
+    /**
+     * @param tokensX
+     * @param prefixLengthX
+     * @param tokensY
+     * @param prefixLengthY
+     * @param intersectionSizePrefix
+     * @return similarity if it is above or equal to the similarity threshold, 0
+     *         otherwise
+     */
+    public float passSimilarityFilter(final int[] tokensX, final int prefixLengthX, final int[] tokensY,
+            final int prefixLengthY, final int intersectionSizePrefix) {
+        // final int length = tokensX.length;
+        // final int token = tokensX[Math.min(prefixLengthX, tokensX.length) -
+        // 1];
+        // final int lengthProbe = tokensY.length;
+        // final int tokenProbe = tokensY[prefixLengthY - 1];
+        //
+        // final int intersectSizeLowerBound = getIntersectLowerBound(length,
+        // lengthProbe);
+        // int intersectSize = 0;
+        //
+        // if (token < tokenProbe) {
+        // if (intersectionSizePrefix + length - prefixLengthX >=
+        // intersectSizeLowerBound) {
+        // intersectSize = intersectionSizePrefix
+        // + SimilarityMetric.getIntersectSize(tokensX,
+        // prefixLengthX, tokensY, intersectionSizePrefix);
+        // }
+        // } else {
+        // if (intersectionSizePrefix + lengthProbe - prefixLengthY >=
+        // intersectSizeLowerBound) {
+        // intersectSize = intersectionSizePrefix
+        // + SimilarityMetric.getIntersectSize(tokensX,
+        // intersectionSizePrefix, tokensY, prefixLengthY);
+        // }
+        // }
+        //
+        // if (intersectSize >= intersectSizeLowerBound) {
+        // return ((float) intersectSize)
+        // / (length + lengthProbe - intersectSize);
+        // }
+        // return 0;
+        return passSimilarityFilter(tokensX, 0, tokensX.length, prefixLengthX, tokensY, 0, tokensY.length,
+                prefixLengthY, intersectionSizePrefix);
+    }
+
+    public boolean passSuffixFilter(int[] tokensX, int tokensStartX, int tokensLengthX, int positionX, int[] tokensY,
+            int tokensStartY, int tokensLengthY, int positionY) {
+        int hammingMax = tokensLengthX + tokensLengthY - 2
+                * (int) Math.ceil(simThr100 / (100 + simThr100) * (tokensLengthX + tokensLengthY))
+                - (positionX + 1 + positionY + 1 - 2);
+        int hamming = getSuffixFilter(tokensX, tokensStartX + positionX + 1, tokensLengthX - positionX - 1, tokensY,
+                tokensStartY + positionY + 1, tokensLengthY - positionY - 1, hammingMax, 1);
+        return hamming <= hammingMax;
+    }
+
+    public boolean passSuffixFilter(int[] tokensX, int positionX, int[] tokensY, int positionY) {
+        // int hammingMax = tokensX.length
+        // + tokensY.length
+        // - 2
+        // * (int) Math.ceil(simThr100 / (100 + simThr100)
+        // * (tokensX.length + tokensY.length))
+        // - (positionX + 1 + positionY + 1 - 2);
+        // int hamming = getSuffixFilter(tokensX, positionX + 1, tokensX.length
+        // - positionX - 1, tokensY, positionY + 1, tokensY.length
+        // - positionY - 1, hammingMax, 1);
+        // return hamming <= hammingMax;
+        return passSuffixFilter(tokensX, 0, tokensX.length, positionX, tokensY, 0, tokensY.length, positionY);
+    }
+
+    public void reset(float similarityThreshold) {
+        simThr = similarityThreshold;
+        simThr100 = simThr * 100;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetric.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetric.java
new file mode 100644
index 0000000..415e785
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetric.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.Tokenizer;
+
+public abstract class SimilarityMetric {
+
+    public static int getIntersectSize(IListIterator tokensX, IListIterator tokensY) {
+        int intersectSize = 0;
+        while (tokensX.hasNext() && tokensY.hasNext()) {
+            int cmp = tokensX.compare(tokensY);
+            if (cmp > 0) {
+                tokensY.next();
+            } else if (cmp < 0) {
+                tokensX.next();
+            } else {
+                intersectSize++;
+                tokensX.next();
+                tokensY.next();
+            }
+        }
+        return intersectSize;
+    }
+
+    public static int getIntersectSize(int[] tokensX, int startX, int lengthX, int[] tokensY, int startY, int lengthY) {
+        int posX = 0;
+        int posY = 0;
+        int intersectSize = 0;
+
+        while (posX < lengthX && posY < lengthY) {
+            int tokenX = tokensX[startX + posX];
+            int tokenY = tokensY[startY + posY];
+            if (tokenX > tokenY) {
+                posY++;
+            } else if (tokenX < tokenY) {
+                posX++;
+            } else {
+                intersectSize++;
+                posX++;
+                posY++;
+            }
+        }
+
+        return intersectSize;
+    }
+
+    public static int getIntersectSize(int[] tokensX, int startX, int[] tokensY, int startY) {
+        // int intersectSize = 0;
+        //
+        // while (startX < tokensX.length && startY < tokensY.length) {
+        // int tokenX = tokensX[startX];
+        // int tokenY = tokensY[startY];
+        // if (tokenX > tokenY) {
+        // startY++;
+        // } else if (tokenX < tokenY) {
+        // startX++;
+        // } else {
+        // intersectSize++;
+        // startX++;
+        // startY++;
+        // }
+        // }
+        //
+        // return intersectSize;
+        return getIntersectSize(tokensX, startX, tokensX.length, tokensY, startY, tokensY.length);
+    }
+
+    public static int getIntersectSize(int[] tokensX, int[] tokensY) {
+        return getIntersectSize(tokensX, 0, tokensX.length, tokensY, 0, tokensY.length);
+    }
+
+    public static PartialIntersect getPartialIntersectSize(int[] tokensX, int startX, int lengthX, int[] tokensY,
+            int startY, int lengthY, int tokenStop) {
+        PartialIntersect parInter = new PartialIntersect();
+        getPartialIntersectSize(tokensX, startX, lengthX, tokensY, startY, lengthY, tokenStop, parInter);
+        return parInter;
+    }
+
+    public static void getPartialIntersectSize(int[] tokensX, int startX, int lengthX, int[] tokensY, int startY,
+            int lengthY, int tokenStop, PartialIntersect parInter) {
+        int posX = 0;
+        int posY = 0;
+        int intersectSize = 0;
+
+        parInter.reset();
+        while (posX < lengthX && posY < lengthY) {
+            int tokenX = tokensX[startX + posX];
+            int tokenY = tokensY[startY + posY];
+            if (tokenX > tokenY) {
+                posY++;
+            } else if (tokenX < tokenY) {
+                posX++;
+            } else {
+                intersectSize++;
+                if (!parInter.isSet()) {
+                    parInter.posXStart = posX;
+                    parInter.posYStart = posY;
+                    parInter.set();
+                }
+                if (tokenX == tokenStop) {
+                    parInter.posXStop = posX;
+                    parInter.posYStop = posY;
+                    parInter.intersectSize = intersectSize;
+                }
+                posX++;
+                posY++;
+            }
+        }
+    }
+
+    public static PartialIntersect getPartialIntersectSize(int[] tokensX, int[] tokensY, int tokenStop) {
+        return getPartialIntersectSize(tokensX, 0, tokensX.length, tokensY, 0, tokensY.length, tokenStop);
+    }
+
+    // @SuppressWarnings("unchecked")
+    // public static int getIntersectSize(DataBag tokensX, DataBag tokensY) {
+    // int intersectSize = 0;
+    //
+    // Iterator<Tuple> iteratorX = tokensX.iterator();
+    // Iterator<Tuple> iteratorY = tokensY.iterator();
+    //
+    // Tuple nextX = null;
+    // Tuple nextY = null;
+    //
+    // while ((nextX != null || iteratorX.hasNext())
+    // && (nextY != null || iteratorY.hasNext())) {
+    // if (nextX == null) {
+    // nextX = iteratorX.next();
+    // }
+    // if (nextY == null) {
+    // nextY = iteratorY.next();
+    // }
+    //
+    // int cmp = nextX.compareTo(nextY);
+    // if (cmp > 0) {
+    // nextY = null;
+    // } else if (cmp < 0) {
+    // nextX = null;
+    // } else {
+    // intersectSize++;
+    // nextX = null;
+    // nextY = null;
+    // }
+    // }
+    //
+    // return intersectSize;
+    // }
+
+    // public abstract float getSimilarity(DataBag tokensX, DataBag tokensY);
+
+    // public abstract float getSimilarity(DataBag tokensX, int lengthX,
+    // DataBag tokensY, int lengthY);
+
+    public float getSimilarity(IListIterator tokensX, IListIterator tokensY) {
+        int intersectionSize = SimilarityMetric.getIntersectSize(tokensX, tokensY);
+        int totalSize = tokensX.size() + tokensY.size();
+
+        return (float) intersectionSize / (totalSize - intersectionSize);
+    }
+
+    public abstract float getSimilarity(int[] tokensX, int startX, int lengthX, int[] tokensY, int startY, int lengthY);
+
+    public abstract float getSimilarity(int[] tokensX, int[] tokensY);
+
+    public abstract float getSimilarity(String stringX, String stringY, Tokenizer tokenizer);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetricEditDistance.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetricEditDistance.java
new file mode 100644
index 0000000..b99d6f7
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetricEditDistance.java
@@ -0,0 +1,216 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+import java.util.Arrays;
+
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.StringUtils;
+
+public class SimilarityMetricEditDistance implements IGenericSimilarityMetric {
+
+    private final int utf8SizeIndicatorSize = 2;
+
+    // dp implementation only needs 2 rows
+    private final int rows = 2;
+    private int cols;
+    private int[][] matrix;
+
+    // for letter count filtering
+    private final int[] fsLcCount = new int[128];
+    private final int[] ssLcCount = new int[128];
+
+    public SimilarityMetricEditDistance() {
+        cols = 100; // arbitrary default value
+        matrix = new int[rows][cols];
+    }
+
+    @Override
+    public float getSimilarity(IListIterator firstList, IListIterator secondList) {
+        int flLen = firstList.size();
+        int slLen = secondList.size();
+
+        // reuse existing matrix if possible
+        if (slLen >= cols) {
+            cols = slLen + 1;
+            matrix = new int[rows][cols];
+        }
+
+        // init matrix
+        for (int i = 0; i <= slLen; i++) {
+            matrix[0][i] = i;
+        }
+
+        int currRow = 1;
+        int prevRow = 0;
+
+        // expand dynamic programming matrix row by row
+        for (int i = 1; i <= flLen; i++) {
+            matrix[currRow][0] = i;
+
+            secondList.reset();
+            for (int j = 1; j <= slLen; j++) {
+
+                matrix[currRow][j] = Math.min(Math.min(matrix[prevRow][j] + 1, matrix[currRow][j - 1] + 1),
+                        matrix[prevRow][j - 1] + (firstList.compare(secondList) == 0 ? 0 : 1));
+
+                secondList.next();
+            }
+
+            firstList.next();
+
+            int tmp = currRow;
+            currRow = prevRow;
+            prevRow = tmp;
+        }
+
+        return matrix[prevRow][slLen];
+    }
+
+    @Override
+    public float getSimilarity(IListIterator firstList, IListIterator secondList, float simThresh) {
+
+        int edThresh = (int) simThresh;
+
+        int flLen = firstList.size();
+        int slLen = secondList.size();
+
+        // length filter
+        if (Math.abs(flLen - slLen) > edThresh) {
+            return -1;
+        }
+
+        float ed = getSimilarity(firstList, secondList);
+        if (ed > edThresh) {
+            return -1;
+        } else {
+            return ed;
+        }
+    }
+
+    // faster implementation for common case of string edit distance
+    public int UTF8StringEditDistance(byte[] bytes, int fsStart, int ssStart) {
+
+        int fsLen = StringUtils.getStrLen(bytes, fsStart);
+        int ssLen = StringUtils.getStrLen(bytes, ssStart);
+
+        // reuse existing matrix if possible
+        if (ssLen >= cols) {
+            cols = ssLen + 1;
+            matrix = new int[rows][cols];
+        }
+
+        int fsDataStart = fsStart + utf8SizeIndicatorSize;
+        int ssDataStart = ssStart + utf8SizeIndicatorSize;
+
+        // init matrix
+        for (int i = 0; i <= ssLen; i++) {
+            matrix[0][i] = i;
+        }
+
+        int currRow = 1;
+        int prevRow = 0;
+
+        // expand dynamic programming matrix row by row
+        int fsPos = fsDataStart;
+        for (int i = 1; i <= fsLen; i++) {
+            matrix[currRow][0] = i;
+            char fsChar = StringUtils.toLowerCase(StringUtils.charAt(bytes, fsPos));
+
+            int ssPos = ssDataStart;
+            for (int j = 1; j <= ssLen; j++) {
+                char ssChar = StringUtils.toLowerCase(StringUtils.charAt(bytes, ssPos));
+
+                matrix[currRow][j] = Math.min(Math.min(matrix[prevRow][j] + 1, matrix[currRow][j - 1] + 1),
+                        matrix[prevRow][j - 1] + (fsChar == ssChar ? 0 : 1));
+
+                ssPos += StringUtils.charSize(bytes, ssPos);
+            }
+
+            fsPos += StringUtils.charSize(bytes, fsPos);
+
+            int tmp = currRow;
+            currRow = prevRow;
+            prevRow = tmp;
+        }
+
+        return matrix[prevRow][ssLen];
+    }
+
+    public int UTF8StringEditDistance(byte[] bytes, int fsStart, int ssStart, int edThresh) {
+
+        int fsUtfLen = StringUtils.getUTFLen(bytes, fsStart);
+        int ssUtfLen = StringUtils.getUTFLen(bytes, ssStart);
+
+        // length filter
+        if (Math.abs(fsUtfLen - ssUtfLen) > edThresh) {
+            return -1;
+        }
+
+        // initialize letter count filtering
+        Arrays.fill(fsLcCount, 0);
+        Arrays.fill(ssLcCount, 0);
+
+        // compute letter counts for first string
+        int fsPos = fsStart + utf8SizeIndicatorSize;
+        int fsEnd = fsPos + fsUtfLen;
+        while (fsPos < fsEnd) {
+            char c = StringUtils.toLowerCase(StringUtils.charAt(bytes, fsPos));
+            if (c < 128) {
+                fsLcCount[c]++;
+            }
+            fsPos += StringUtils.charSize(bytes, fsPos);
+        }
+
+        // compute letter counts for second string
+        int ssPos = ssStart + utf8SizeIndicatorSize;
+        int ssEnd = ssPos + ssUtfLen;
+        while (ssPos < ssEnd) {
+            char c = StringUtils.toLowerCase(StringUtils.charAt(bytes, ssPos));
+            if (c < 128) {
+                ssLcCount[c]++;
+            }
+            ssPos += StringUtils.charSize(bytes, ssPos);
+        }
+
+        // apply filter
+        int gtSum = 0;
+        int ltSum = 0;
+        for (int i = 0; i < 128; i++) {
+            if (fsLcCount[i] > ssLcCount[i]) {
+                gtSum += fsLcCount[i] - ssLcCount[i];
+                if (gtSum > edThresh) {
+                    return -1;
+                }
+            } else {
+                ltSum += ssLcCount[i] - fsLcCount[i];
+                if (ltSum > edThresh) {
+                    return -1;
+                }
+            }
+        }
+
+        int ed = UTF8StringEditDistance(bytes, fsStart, ssStart);
+        if (ed > edThresh) {
+            return -1;
+        } else {
+            return ed;
+        }
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetricFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetricFactory.java
new file mode 100644
index 0000000..a66328b
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetricFactory.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+public class SimilarityMetricFactory {
+    public static SimilarityMetric getSimilarityMetric(String similarityMetric) {
+        if (similarityMetric.equals("Jaccard")) {
+            return new SimilarityMetricJaccard();
+        }
+        throw new RuntimeException("Unknown fuzzy metric \"" + similarityMetric + "\".");
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetricJaccard.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetricJaccard.java
new file mode 100644
index 0000000..b0c0638
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/similarity/SimilarityMetricJaccard.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.similarity;
+
+import java.util.Set;
+import java.util.TreeSet;
+
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.Tokenizer;
+
+public class SimilarityMetricJaccard extends SimilarityMetric implements IGenericSimilarityMetric {
+
+    public static float getSimilarity(int intersectSize, int lengthX, int lengthY) {
+        return ((float) intersectSize) / (lengthX + lengthY - intersectSize);
+    }
+
+    public static float getSimilarityBag(int[] tokensX, int[] tokensY) {
+        Set<Integer> setX = new TreeSet<Integer>();
+        for (int token : tokensX) {
+            setX.add(token);
+        }
+        Set<Integer> setY = new TreeSet<Integer>();
+        for (int token : tokensY) {
+            setY.add(token);
+        }
+        setX.retainAll(setY);
+        return ((float) setX.size()) / (tokensX.length + tokensY.length - setX.size());
+    }
+
+    // @Override
+    // public float getSimilarity(DataBag tokensX, DataBag tokensY) {
+    // return getSimilarity(tokensX, (int) tokensX.size(), tokensY,
+    // (int) tokensY.size());
+    // }
+
+    // @Override
+    // public float getSimilarity(DataBag tokensX, int lengthX, DataBag tokensY,
+    // int lengthY) {
+    // int intersectionSize = SimilarityMetric.getIntersectSize(tokensX,
+    // tokensY);
+    // int totalSize = lengthX + lengthY;
+    //
+    // return (float) intersectionSize / (totalSize - intersectionSize);
+    // }
+
+    @Override
+    public float getSimilarity(IListIterator tokensX, IListIterator tokensY) {
+        int intersectionSize = SimilarityMetric.getIntersectSize(tokensX, tokensY);
+        int totalSize = tokensX.size() + tokensY.size();
+
+        return (float) intersectionSize / (totalSize - intersectionSize);
+    }
+
+    @Override
+    public float getSimilarity(IListIterator firstList, IListIterator secondList, float simThresh) {
+
+        // apply length filter
+        int lengthLowerBound = (int) Math.ceil(simThresh * firstList.size());
+
+        boolean passesLengthFilter = (lengthLowerBound <= secondList.size())
+                && (secondList.size() <= 1.0f / simThresh * firstList.size());
+        if (!passesLengthFilter) {
+            return -1f;
+        }
+
+        float jacc = getSimilarity(firstList, secondList);
+        if (jacc < simThresh) {
+            return -1f;
+        } else {
+            return jacc;
+        }
+    }
+
+    @Override
+    public float getSimilarity(int[] tokensX, int startX, int lengthX, int[] tokensY, int startY, int lengthY) {
+        int intersectionSize = SimilarityMetric.getIntersectSize(tokensX, startX, lengthX, tokensY, startY, lengthY);
+        int totalSize = lengthX + lengthY;
+
+        return (float) intersectionSize / (totalSize - intersectionSize);
+    }
+
+    @Override
+    public float getSimilarity(int[] tokensX, int[] tokensY) {
+        return getSimilarity(tokensX, 0, tokensX.length, tokensY, 0, tokensY.length);
+    }
+
+    @Override
+    public float getSimilarity(String stringX, String stringY, Tokenizer tokenizer) {
+        Set<String> setX = new TreeSet<String>();
+        for (String token : tokenizer.tokenize(stringX)) {
+            setX.add(token);
+        }
+        Set<String> setY = new TreeSet<String>();
+        for (String token : tokenizer.tokenize(stringY)) {
+            setY.add(token);
+        }
+        int lengthX = setX.size();
+        int lengthY = setY.size();
+        setX.retainAll(setY);
+        return ((float) setX.size()) / (lengthX + lengthY - setX.size());
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/AbstractUTF8StringBinaryTokenizer.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/AbstractUTF8StringBinaryTokenizer.java
new file mode 100644
index 0000000..0e3c28f
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/AbstractUTF8StringBinaryTokenizer.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import edu.uci.ics.asterix.fuzzyjoin.IntArray;
+
+public abstract class AbstractUTF8StringBinaryTokenizer implements IBinaryTokenizer {
+
+    protected byte[] data;
+    protected int start;
+    protected int length;
+    protected int tokenLength;
+    protected int index;
+    protected int utf8Length;
+
+    protected final IntArray tokensStart;
+    protected final IntArray tokensLength;
+    protected final IToken token;
+
+    protected final boolean ignoreTokenCount;
+    protected final boolean sourceHasTypeTag;
+
+    public AbstractUTF8StringBinaryTokenizer(boolean ignoreTokenCount, boolean sourceHasTypeTag,
+            ITokenFactory tokenFactory) {
+        this.ignoreTokenCount = ignoreTokenCount;
+        this.sourceHasTypeTag = sourceHasTypeTag;
+        if (!ignoreTokenCount) {
+            tokensStart = new IntArray();
+            tokensLength = new IntArray();
+        } else {
+            tokensStart = null;
+            tokensLength = null;
+        }
+        token = tokenFactory.createToken();
+    }
+
+    @Override
+    public IToken getToken() {
+        return token;
+    }
+
+    @Override
+    public void reset(byte[] data, int start, int length) {
+        this.start = start;
+        index = this.start;
+        if (sourceHasTypeTag) {
+            index++; // skip type tag
+        }
+        utf8Length = StringUtils.getUTFLen(data, index);
+        index += 2; // skip utf8 length indicator
+        this.data = data;
+        this.length = length + start;
+
+        tokenLength = 0;
+        if (!ignoreTokenCount) {
+            tokensStart.reset();
+            tokensLength.reset();
+        }
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/AbstractUTF8Token.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/AbstractUTF8Token.java
new file mode 100644
index 0000000..d478f36
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/AbstractUTF8Token.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+public abstract class AbstractUTF8Token implements IToken {
+    public static final int GOLDEN_RATIO_32 = 0x09e3779b9;
+
+    protected int length;
+    protected int tokenLength;
+    protected int start;
+    protected int tokenCount;
+    protected byte[] data;
+    protected final byte tokenTypeTag;
+    protected final byte countTypeTag;
+
+    public AbstractUTF8Token() {
+        tokenTypeTag = -1;
+        countTypeTag = -1;
+    }
+
+    public AbstractUTF8Token(byte tokenTypeTag, byte countTypeTag) {
+        this.tokenTypeTag = tokenTypeTag;
+        this.countTypeTag = countTypeTag;
+    }
+
+    @Override
+    public byte[] getData() {
+        return data;
+    }
+
+    @Override
+    public int getLength() {
+        return length;
+    }
+
+    public int getLowerCaseUTF8Len(int size) {
+        int lowerCaseUTF8Len = 0;
+        int pos = start;
+        for (int i = 0; i < size; i++) {
+            char c = StringUtils.toLowerCase(StringUtils.charAt(data, pos));
+            lowerCaseUTF8Len += StringUtils.getModifiedUTF8Len(c);
+            pos += StringUtils.charSize(data, pos);
+        }
+        return lowerCaseUTF8Len;
+    }
+
+    @Override
+    public int getStart() {
+        return start;
+    }
+
+    @Override
+    public int getTokenLength() {
+        return tokenLength;
+    }
+
+    public void handleCountTypeTag(DataOutput dos) throws IOException {
+        if (countTypeTag > 0) {
+            dos.write(countTypeTag);
+        }
+    }
+
+    public void handleTokenTypeTag(DataOutput dos) throws IOException {
+        if (tokenTypeTag > 0) {
+            dos.write(tokenTypeTag);
+        }
+    }
+
+    @Override
+    public void reset(byte[] data, int start, int length, int tokenLength, int tokenCount) {
+        this.data = data;
+        this.start = start;
+        this.length = length;
+        this.tokenLength = tokenLength;
+        this.tokenCount = tokenCount;
+    }
+
+    @Override
+    public void serializeTokenCount(DataOutput dos) throws IOException {
+        handleCountTypeTag(dos);
+        dos.writeInt(tokenCount);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/AbstractUTF8TokenFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/AbstractUTF8TokenFactory.java
new file mode 100644
index 0000000..5ade0dc
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/AbstractUTF8TokenFactory.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public abstract class AbstractUTF8TokenFactory implements ITokenFactory {
+    private static final long serialVersionUID = 1L;
+    protected final byte tokenTypeTag;
+    protected final byte countTypeTag;
+
+    public AbstractUTF8TokenFactory() {
+        tokenTypeTag = -1;
+        countTypeTag = -1;
+    }
+
+    public AbstractUTF8TokenFactory(byte tokenTypeTag, byte countTypeTag) {
+        this.tokenTypeTag = tokenTypeTag;
+        this.countTypeTag = countTypeTag;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/DelimitedUTF8StringBinaryTokenizer.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/DelimitedUTF8StringBinaryTokenizer.java
new file mode 100644
index 0000000..5a12c00
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/DelimitedUTF8StringBinaryTokenizer.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public class DelimitedUTF8StringBinaryTokenizer extends AbstractUTF8StringBinaryTokenizer {
+
+    public DelimitedUTF8StringBinaryTokenizer(boolean ignoreTokenCount, boolean sourceHasTypeTag,
+            ITokenFactory tokenFactory) {
+        super(ignoreTokenCount, sourceHasTypeTag, tokenFactory);
+    }
+
+    @Override
+    public boolean hasNext() {
+        // skip delimiters
+        while (index < length && isSeparator(StringUtils.charAt(data, index))) {
+            index += StringUtils.charSize(data, index);
+        }
+        return index < length;
+    }
+
+    private boolean isSeparator(char c) {
+        return !(Character.isLetterOrDigit(c) || Character.getType(c) == Character.OTHER_LETTER || Character.getType(c) == Character.OTHER_NUMBER);
+    }
+
+    @Override
+    public void next() {
+        tokenLength = 0;
+        int currentTokenStart = index;
+        while (index < length && !isSeparator(StringUtils.charAt(data, index))) {
+            index += StringUtils.charSize(data, index);
+            tokenLength++;
+        }
+        int tokenCount = 1;
+        if (tokenLength > 0 && !ignoreTokenCount) {
+            // search if we got the same token before
+            for (int i = 0; i < tokensStart.length(); ++i) {
+                if (tokenLength == tokensLength.get(i)) {
+                    int tokenStart = tokensStart.get(i);
+                    tokenCount++; // assume we found it
+                    int offset = 0;
+                    int currLength = 0;
+                    while (currLength < tokenLength) {
+                        // case insensitive comparison
+                        if (StringUtils.toLowerCase(StringUtils.charAt(data, currentTokenStart + offset)) != StringUtils
+                                .toLowerCase(StringUtils.charAt(data, tokenStart + offset))) {
+                            tokenCount--;
+                            break;
+                        }
+                        offset += StringUtils.charSize(data, currentTokenStart + offset);
+                        currLength++;
+                    }
+                }
+            }
+            // add the new token to the list of seen tokens
+            tokensStart.add(currentTokenStart);
+            tokensLength.add(tokenLength);
+        }
+
+        // set token
+        token.reset(data, currentTokenStart, index, tokenLength, tokenCount);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/DelimitedUTF8StringBinaryTokenizerFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/DelimitedUTF8StringBinaryTokenizerFactory.java
new file mode 100644
index 0000000..cb002df
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/DelimitedUTF8StringBinaryTokenizerFactory.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public class DelimitedUTF8StringBinaryTokenizerFactory implements IBinaryTokenizerFactory {
+
+    private static final long serialVersionUID = 1L;
+    private final boolean ignoreTokenCount;
+    private final boolean sourceHasTypeTag;
+    private final ITokenFactory tokenFactory;
+
+    public DelimitedUTF8StringBinaryTokenizerFactory(boolean ignoreTokenCount, boolean sourceHasTypeTag,
+            ITokenFactory tokenFactory) {
+        this.ignoreTokenCount = ignoreTokenCount;
+        this.sourceHasTypeTag = sourceHasTypeTag;
+        this.tokenFactory = tokenFactory;
+    }
+
+    @Override
+    public IBinaryTokenizer createTokenizer() {
+        return new DelimitedUTF8StringBinaryTokenizer(ignoreTokenCount, sourceHasTypeTag, tokenFactory);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8NGramToken.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8NGramToken.java
new file mode 100644
index 0000000..461638f
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8NGramToken.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+public class HashedUTF8NGramToken extends UTF8NGramToken {
+    public HashedUTF8NGramToken(byte tokenTypeTag, byte countTypeTag) {
+        super(tokenTypeTag, countTypeTag);
+    }
+
+    @Override
+    public void serializeToken(DataOutput dos) throws IOException {
+        handleTokenTypeTag(dos);
+
+        int hash = GOLDEN_RATIO_32;
+
+        // pre chars
+        for (int i = 0; i < numPreChars; i++) {
+            hash ^= PRECHAR;
+            hash *= GOLDEN_RATIO_32;
+        }
+
+        // regular chars
+        int numRegGrams = tokenLength - numPreChars - numPostChars;
+        int pos = start;
+        for (int i = 0; i < numRegGrams; i++) {
+            hash ^= StringUtils.toLowerCase(StringUtils.charAt(data, pos));
+            hash *= GOLDEN_RATIO_32;
+            pos += StringUtils.charSize(data, pos);
+        }
+
+        // post chars
+        for (int i = 0; i < numPostChars; i++) {
+            hash ^= POSTCHAR;
+            hash *= GOLDEN_RATIO_32;
+        }
+
+        // token count
+        hash += tokenCount;
+
+        dos.writeInt(hash);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8NGramTokenFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8NGramTokenFactory.java
new file mode 100644
index 0000000..9b6f835
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8NGramTokenFactory.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public class HashedUTF8NGramTokenFactory extends AbstractUTF8TokenFactory {
+
+    private static final long serialVersionUID = 1L;
+
+    public HashedUTF8NGramTokenFactory() {
+        super();
+    }
+
+    public HashedUTF8NGramTokenFactory(byte tokenTypeTag, byte countTypeTag) {
+        super(tokenTypeTag, countTypeTag);
+    }
+
+    @Override
+    public IToken createToken() {
+        return new HashedUTF8NGramToken(tokenTypeTag, countTypeTag);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8WordToken.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8WordToken.java
new file mode 100644
index 0000000..c7d5f3a
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8WordToken.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+public class HashedUTF8WordToken extends UTF8WordToken {
+
+    private int hash = 0;
+
+    public HashedUTF8WordToken(byte tokenTypeTag, byte countTypeTag) {
+        super(tokenTypeTag, countTypeTag);
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (o == null) {
+            return false;
+        }
+        if (!(o instanceof IToken)) {
+            return false;
+        }
+        IToken t = (IToken) o;
+        if (t.getTokenLength() != tokenLength) {
+            return false;
+        }
+        int offset = 0;
+        for (int i = 0; i < tokenLength; i++) {
+            if (StringUtils.charAt(t.getData(), t.getStart() + offset) != StringUtils.charAt(data, start + offset)) {
+                return false;
+            }
+            offset += StringUtils.charSize(data, start + offset);
+        }
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        return hash;
+    }
+
+    @Override
+    public void reset(byte[] data, int start, int length, int tokenLength, int tokenCount) {
+        super.reset(data, start, length, tokenLength, tokenCount);
+
+        // pre-compute hash value using JAQL-like string hashing
+        int pos = start;
+        hash = GOLDEN_RATIO_32;
+        for (int i = 0; i < tokenLength; i++) {
+            hash ^= StringUtils.toLowerCase(StringUtils.charAt(data, pos));
+            hash *= GOLDEN_RATIO_32;
+            pos += StringUtils.charSize(data, pos);
+        }
+        hash += tokenCount;
+    }
+
+    @Override
+    public void serializeToken(DataOutput dos) throws IOException {
+        if (tokenTypeTag > 0) {
+            dos.write(tokenTypeTag);
+        }
+
+        // serialize hash value
+        dos.writeInt(hash);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8WordTokenFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8WordTokenFactory.java
new file mode 100644
index 0000000..aec26bc
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/HashedUTF8WordTokenFactory.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public class HashedUTF8WordTokenFactory extends AbstractUTF8TokenFactory {
+
+    private static final long serialVersionUID = 1L;
+
+    public HashedUTF8WordTokenFactory() {
+        super();
+    }
+
+    public HashedUTF8WordTokenFactory(byte tokenTypeTag, byte countTypeTag) {
+        super(tokenTypeTag, countTypeTag);
+    }
+
+    @Override
+    public IToken createToken() {
+        return new HashedUTF8WordToken(tokenTypeTag, countTypeTag);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/IBinaryTokenizer.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/IBinaryTokenizer.java
new file mode 100644
index 0000000..2403e2f
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/IBinaryTokenizer.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public interface IBinaryTokenizer {
+    public IToken getToken();
+
+    public boolean hasNext();
+
+    public void next();
+
+    public void reset(byte[] data, int start, int length);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/IBinaryTokenizerFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/IBinaryTokenizerFactory.java
new file mode 100644
index 0000000..eecd98c
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/IBinaryTokenizerFactory.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.Serializable;
+
+public interface IBinaryTokenizerFactory extends Serializable {
+    public IBinaryTokenizer createTokenizer();
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/INGramToken.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/INGramToken.java
new file mode 100644
index 0000000..ae55837
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/INGramToken.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public interface INGramToken {
+    public int getNumPostChars();
+
+    public int getNumPreChars();
+
+    public void setNumPrePostChars(int numPreChars, int numPostChars);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/IToken.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/IToken.java
new file mode 100644
index 0000000..aa6dc86
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/IToken.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+public interface IToken {
+    public byte[] getData();
+
+    public int getLength();
+
+    public int getStart();
+
+    public int getTokenLength();
+
+    public void reset(byte[] data, int start, int length, int tokenLength, int tokenCount);
+
+    public void serializeToken(DataOutput dos) throws IOException;
+
+    public void serializeTokenCount(DataOutput dos) throws IOException;
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/ITokenFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/ITokenFactory.java
new file mode 100644
index 0000000..e5a95a1
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/ITokenFactory.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.Serializable;
+
+public interface ITokenFactory extends Serializable {
+    public IToken createToken();
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/NGramTokenizer.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/NGramTokenizer.java
new file mode 100644
index 0000000..e909a24
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/NGramTokenizer.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+public class NGramTokenizer implements Tokenizer {
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    public static void main(String args[]) {
+        Tokenizer tokenizer = new NGramTokenizer();
+        String a = "hadoopoop";
+        System.out.println(a + ":" + tokenizer.tokenize(a));
+    }
+
+    private final int gramLength;
+
+    /**
+     * padding used in q gram calculation.
+     */
+    private final char QGRAMENDPADDING = '$';
+
+    /**
+     * padding used in q gram calculation.
+     */
+    private final char QGRAMSTARTPADDING = '$';
+
+    public NGramTokenizer() {
+        gramLength = 3;
+    }
+
+    public NGramTokenizer(int gramLength) {
+        this.gramLength = gramLength;
+    }
+
+    private StringBuffer getAdjustedString(String input) {
+        final StringBuffer adjustedString = new StringBuffer();
+        for (int i = 0; i < gramLength - 1; i++) {
+            adjustedString.append(QGRAMSTARTPADDING);
+        }
+        adjustedString.append(input);
+        for (int i = 0; i < gramLength - 1; i++) {
+            adjustedString.append(QGRAMENDPADDING);
+        }
+        return adjustedString;
+    }
+
+    public List<String> tokenize(String input) {
+        final ArrayList<String> returnVect = new ArrayList<String>();
+        final StringBuffer adjustedString = getAdjustedString(input);
+        int curPos = 0;
+        final int length = adjustedString.length() - (gramLength - 1);
+        final HashMap<String, Integer> grams = new HashMap<String, Integer>();
+        while (curPos < length) {
+            final String term = adjustedString.substring(curPos, curPos + gramLength);
+            Integer count = grams.get(term);
+            if (count == null) {
+                count = new Integer(0);
+            }
+            count++;
+            grams.put(term, count);
+            returnVect.add(term + count);
+            curPos++;
+        }
+        return returnVect;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/NGramUTF8StringBinaryTokenizer.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/NGramUTF8StringBinaryTokenizer.java
new file mode 100644
index 0000000..362126f
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/NGramUTF8StringBinaryTokenizer.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public class NGramUTF8StringBinaryTokenizer extends AbstractUTF8StringBinaryTokenizer {
+
+    private int gramLength;
+    private boolean usePrePost;
+
+    private int gramNum;
+    private int totalGrams;
+
+    private final INGramToken concreteToken;
+
+    public NGramUTF8StringBinaryTokenizer(int gramLength, boolean usePrePost, boolean ignoreTokenCount,
+            boolean sourceHasTypeTag, ITokenFactory tokenFactory) {
+        super(ignoreTokenCount, sourceHasTypeTag, tokenFactory);
+        this.gramLength = gramLength;
+        this.usePrePost = usePrePost;
+        concreteToken = (INGramToken) token;
+    }
+
+    @Override
+    public boolean hasNext() {
+        if (gramNum < totalGrams) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    @Override
+    public void next() {
+        int currentTokenStart = index;
+        int tokenCount = 1;
+        int numPreChars = 0;
+        int numPostChars = 0;
+        if (usePrePost) {
+            numPreChars = Math.max(gramLength - gramNum - 1, 0);
+            numPostChars = (gramNum > totalGrams - gramLength) ? gramLength - totalGrams + gramNum : 0;
+        }
+        gramNum++;
+
+        concreteToken.setNumPrePostChars(numPreChars, numPostChars);
+        if (numPreChars == 0) {
+            index += StringUtils.charSize(data, index);
+        }
+
+        // compute token count
+        // ignore pre and post grams for duplicate detection
+        if (!ignoreTokenCount && numPreChars == 0 && numPostChars == 0) {
+            int tmpIndex = start;
+            while (tmpIndex < currentTokenStart) {
+                tokenCount++; // assume found
+                int offset = 0;
+                for (int j = 0; j < gramLength; j++) {
+                    if (StringUtils.toLowerCase(StringUtils.charAt(data, currentTokenStart + offset)) != StringUtils
+                            .toLowerCase(StringUtils.charAt(data, tmpIndex + offset))) {
+                        tokenCount--;
+                        break;
+                    }
+                    offset += StringUtils.charSize(data, tmpIndex + offset);
+                }
+                tmpIndex += StringUtils.charSize(data, tmpIndex);
+            }
+        }
+
+        // set token
+        token.reset(data, currentTokenStart, length, gramLength, tokenCount);
+    }
+
+    @Override
+    public void reset(byte[] data, int start, int length) {
+        super.reset(data, start, length);
+        gramNum = 0;
+
+        int numChars = 0;
+        int pos = index;
+        int end = pos + utf8Length;
+        while (pos < end) {
+            numChars++;
+            pos += StringUtils.charSize(data, pos);
+        }
+
+        if (usePrePost) {
+            totalGrams = numChars + gramLength - 1;
+        } else {
+            totalGrams = numChars - gramLength + 1;
+        }
+    }
+
+    public void setGramlength(int gramLength) {
+        this.gramLength = gramLength;
+    }
+
+    public void setPrePost(boolean usePrePost) {
+        this.usePrePost = usePrePost;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/StringUtils.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/StringUtils.java
new file mode 100644
index 0000000..48d61e7
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/StringUtils.java
@@ -0,0 +1,216 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+public class StringUtils {
+    public static char charAt(byte[] b, int s) {
+        int c = b[s] & 0xff;
+        switch (c >> 4) {
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+                return (char) c;
+
+            case 12:
+            case 13:
+                return (char) (((c & 0x1F) << 6) | ((b[s + 1]) & 0x3F));
+
+            case 14:
+                return (char) (((c & 0x0F) << 12) | (((b[s + 1]) & 0x3F) << 6) | (((b[s + 2]) & 0x3F) << 0));
+
+            default:
+                throw new IllegalArgumentException();
+        }
+    }
+
+    public static int charSize(byte[] b, int s) {
+        int c = b[s] & 0xff;
+        switch (c >> 4) {
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+            case 6:
+            case 7:
+                return 1;
+
+            case 12:
+            case 13:
+                return 2;
+
+            case 14:
+                return 3;
+        }
+        throw new IllegalStateException();
+    }
+
+    public static int getModifiedUTF8Len(char c) {
+        if (c >= 0x0000 && c <= 0x007F) {
+            return 1;
+        } else if (c <= 0x07FF) {
+            return 2;
+        } else {
+            return 3;
+        }
+    }
+
+    public static int getStrLen(byte[] b, int s) {
+        int pos = s + 2;
+        int end = pos + getUTFLen(b, s);
+        int charCount = 0;
+        while (pos < end) {
+            charCount++;
+            pos += charSize(b, pos);
+        }
+        return charCount;
+    }
+
+    public static int getUTFLen(byte[] b, int s) {
+        return ((b[s] & 0xff) << 8) + ((b[s + 1] & 0xff) << 0);
+    }
+
+    public static char toLowerCase(char c) {
+        switch (c) {
+            case 'A':
+                return 'a';
+            case 'B':
+                return 'b';
+            case 'C':
+                return 'c';
+            case 'D':
+                return 'd';
+            case 'E':
+                return 'e';
+            case 'F':
+                return 'f';
+            case 'G':
+                return 'g';
+            case 'H':
+                return 'h';
+            case 'I':
+                return 'i';
+            case 'J':
+                return 'j';
+            case 'K':
+                return 'k';
+            case 'L':
+                return 'l';
+            case 'M':
+                return 'm';
+            case 'N':
+                return 'n';
+            case 'O':
+                return 'o';
+            case 'P':
+                return 'p';
+            case 'Q':
+                return 'q';
+            case 'R':
+                return 'r';
+            case 'S':
+                return 's';
+            case 'T':
+                return 't';
+            case 'U':
+                return 'u';
+            case 'V':
+                return 'v';
+            case 'W':
+                return 'w';
+            case 'X':
+                return 'x';
+            case 'Y':
+                return 'y';
+            case 'Z':
+                return 'z';
+            case 'Ä':
+                return 'ä';
+            case 'Ǟ':
+                return 'ǟ';
+            case 'Ë':
+                return 'ë';
+            case 'Ḧ':
+                return 'ḧ';
+            case 'Ï':
+                return 'ï';
+            case 'Ḯ':
+                return 'ḯ';
+            case 'Ö':
+                return 'ö';
+            case 'Ȫ':
+                return 'ȫ';
+            case 'Ṏ':
+                return 'ṏ';
+            case 'Ü':
+                return 'ü';
+            case 'Ǖ':
+                return 'ǖ';
+            case 'Ǘ':
+                return 'ǘ';
+            case 'Ǚ':
+                return 'ǚ';
+            case 'Ǜ':
+                return 'ǜ';
+            case 'Ṳ':
+                return 'ṳ';
+            case 'Ṻ':
+                return 'ṻ';
+            case 'Ẅ':
+                return 'ẅ';
+            case 'Ẍ':
+                return 'ẍ';
+            case 'Ÿ':
+                return 'ÿ';
+            default:
+                // since I probably missed some chars above
+                // use Java to convert to lower case to be safe
+                return Character.toLowerCase(c);
+        }
+    }
+
+    public static void writeCharAsModifiedUTF8(char c, DataOutput dos) throws IOException {
+
+        if (c >= 0x0000 && c <= 0x007F) {
+            dos.writeByte(c);
+        } else if (c <= 0x07FF) {
+            dos.writeByte((byte) (0xC0 | ((c >> 6) & 0x3F)));
+            dos.writeByte((byte) (0x80 | (c & 0x3F)));
+        } else {
+            dos.writeByte((byte) (0xE0 | ((c >> 12) & 0x0F)));
+            dos.writeByte((byte) (0x80 | ((c >> 6) & 0x3F)));
+            dos.writeByte((byte) (0x80 | (c & 0x3F)));
+        }
+    }
+
+    public static void writeUTF8Len(int len, DataOutput dos) throws IOException {
+        dos.write((len >>> 8) & 0xFF);
+        dos.write((len >>> 0) & 0xFF);
+    }
+}
\ No newline at end of file
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/Token.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/Token.java
new file mode 100644
index 0000000..6c6d365
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/Token.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.Serializable;
+
+public class Token implements Serializable {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    private CharSequence data;
+    private int start;
+    private int length;
+    private int count;
+
+    /** Cache the hash code for the string */
+    private int hash; // Default to 0
+
+    public Token() {
+    }
+
+    public Token(CharSequence data, int start, int length, int count) {
+        set(data, start, length, count);
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (o == null) {
+            return false;
+        }
+        if (!(o instanceof Token)) {
+            return false;
+        }
+        Token t = (Token) o;
+        if (t.length != length) {
+            return false;
+        }
+        for (int i = 0; i < length; i++) {
+            if (t.data.charAt(t.start + i) != data.charAt(start + i)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public CharSequence getCharSequence() {
+        return data;
+    }
+
+    public int getCount() {
+        return count;
+    }
+
+    public int getLength() {
+        return length;
+    }
+
+    public int getStart() {
+        return start;
+    }
+
+    @Override
+    public int hashCode() {
+        int h = hash;
+        if (h == 0 && length > 0) {
+            for (int i = 0; i < length; i++) {
+                h = 31 * h + data.charAt(start + i);
+            }
+            h = 31 * h + count;
+            hash = h;
+        }
+        return h;
+    }
+
+    public int length() {
+        return length;
+    }
+
+    public void set(CharSequence data, int start, int length, int count) {
+        this.data = data;
+        this.start = start;
+        this.length = length;
+        this.count = count;
+        hash = 0;
+    }
+
+    public void set(String data, int count) {
+        this.data = data;
+        start = 0;
+        length = data.length();
+        this.count = count;
+        hash = 0;
+    }
+
+    @Override
+    public String toString() {
+        return "(" + data.subSequence(start, start + length) + ", " + count + ")";
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/Tokenizer.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/Tokenizer.java
new file mode 100644
index 0000000..312c626
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/Tokenizer.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.Serializable;
+import java.util.List;
+
+public interface Tokenizer extends Serializable {
+    public List<String> tokenize(String text);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/TokenizerBuffered.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/TokenizerBuffered.java
new file mode 100644
index 0000000..76dc588
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/TokenizerBuffered.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public interface TokenizerBuffered {
+    public void advance();
+
+    public boolean end();
+
+    public Token getToken();
+
+    public void reset();
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/TokenizerBufferedFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/TokenizerBufferedFactory.java
new file mode 100644
index 0000000..8be793c
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/TokenizerBufferedFactory.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public class TokenizerBufferedFactory {
+    public static TokenizerBuffered getTokenizer(String tokenizer, StringBuilder buffer) {
+        if (tokenizer.equals("Word")) {
+            return new WordTokenizerBuffered(buffer);
+        }
+        throw new RuntimeException("Unknown tokenizer \"" + tokenizer + "\".");
+    }
+
+    public static boolean isSeparator(char c) {
+        return !(Character.isLetterOrDigit(c) || Character.getType(c) == Character.OTHER_LETTER || Character.getType(c) == Character.OTHER_NUMBER);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/TokenizerFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/TokenizerFactory.java
new file mode 100644
index 0000000..dad43e9
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/TokenizerFactory.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public class TokenizerFactory {
+    public static Tokenizer getTokenizer(String tokenizer, String wordSeparator, char tokenSeparator) {
+        if (tokenizer.equals("NGram")) {
+            return new NGramTokenizer();
+        } else if (tokenizer.equals("Word")) {
+            return new WordTokenizer(wordSeparator, tokenSeparator);
+        }
+        throw new RuntimeException("Unknown tokenizer \"" + tokenizer + "\".");
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8NGramToken.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8NGramToken.java
new file mode 100644
index 0000000..07a5e0d
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8NGramToken.java
@@ -0,0 +1,83 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+public class UTF8NGramToken extends AbstractUTF8Token implements INGramToken {
+
+    public final static char PRECHAR = '#';
+
+    public final static char POSTCHAR = '$';
+
+    protected int numPreChars;
+    protected int numPostChars;
+
+    public UTF8NGramToken(byte tokenTypeTag, byte countTypeTag) {
+        super(tokenTypeTag, countTypeTag);
+    }
+
+    @Override
+    public int getNumPostChars() {
+        return numPreChars;
+    }
+
+    @Override
+    public int getNumPreChars() {
+        return numPostChars;
+    }
+
+    @Override
+    public void serializeToken(DataOutput dos) throws IOException {
+        handleTokenTypeTag(dos);
+
+        // regular chars
+        int numRegChars = tokenLength - numPreChars - numPostChars;
+
+        // assuming pre and post char need 1-byte each in utf8
+        int tokenUTF8Len = getLowerCaseUTF8Len(numRegChars) + numPreChars + numPostChars;
+
+        // write utf8 length indicator
+        StringUtils.writeUTF8Len(tokenUTF8Len, dos);
+
+        // pre chars
+        for (int i = 0; i < numPreChars; i++) {
+            StringUtils.writeCharAsModifiedUTF8(PRECHAR, dos);
+        }
+
+        int pos = start;
+        for (int i = 0; i < numRegChars; i++) {
+            char c = StringUtils.toLowerCase(StringUtils.charAt(data, pos));
+            StringUtils.writeCharAsModifiedUTF8(c, dos);
+            pos += StringUtils.charSize(data, pos);
+        }
+
+        // post chars
+        for (int i = 0; i < numPostChars; i++) {
+            StringUtils.writeCharAsModifiedUTF8(POSTCHAR, dos);
+        }
+    }
+
+    public void setNumPrePostChars(int numPreChars, int numPostChars) {
+        this.numPreChars = numPreChars;
+        this.numPostChars = numPostChars;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8NGramTokenFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8NGramTokenFactory.java
new file mode 100644
index 0000000..4417b9c
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8NGramTokenFactory.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public class UTF8NGramTokenFactory extends AbstractUTF8TokenFactory {
+
+    private static final long serialVersionUID = 1L;
+
+    public UTF8NGramTokenFactory() {
+        super();
+    }
+
+    public UTF8NGramTokenFactory(byte tokenTypeTag, byte countTypeTag) {
+        super(tokenTypeTag, countTypeTag);
+    }
+
+    @Override
+    public IToken createToken() {
+        return new UTF8NGramToken(tokenTypeTag, countTypeTag);
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8WordToken.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8WordToken.java
new file mode 100644
index 0000000..aacbfd8
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8WordToken.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+public class UTF8WordToken extends AbstractUTF8Token {
+
+    public UTF8WordToken(byte tokenTypeTag, byte countTypeTag) {
+        super(tokenTypeTag, countTypeTag);
+    }
+
+    @Override
+    public void serializeToken(DataOutput dos) throws IOException {
+        handleTokenTypeTag(dos);
+
+        int tokenUTF8Len = getLowerCaseUTF8Len(tokenLength);
+        StringUtils.writeUTF8Len(tokenUTF8Len, dos);
+        int pos = start;
+        for (int i = 0; i < tokenLength; i++) {
+            char c = StringUtils.toLowerCase(StringUtils.charAt(data, pos));
+            StringUtils.writeCharAsModifiedUTF8(c, dos);
+            pos += StringUtils.charSize(data, pos);
+        }
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8WordTokenFactory.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8WordTokenFactory.java
new file mode 100644
index 0000000..666f6bb
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/UTF8WordTokenFactory.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+public class UTF8WordTokenFactory extends AbstractUTF8TokenFactory {
+
+    private static final long serialVersionUID = 1L;
+
+    public UTF8WordTokenFactory() {
+        super();
+    }
+
+    public UTF8WordTokenFactory(byte tokenTypeTag, byte countTypeTag) {
+        super(tokenTypeTag, countTypeTag);
+    }
+
+    @Override
+    public IToken createToken() {
+        return new UTF8WordToken(tokenTypeTag, countTypeTag);
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/WordTokenizer.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/WordTokenizer.java
new file mode 100644
index 0000000..963ad33
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/WordTokenizer.java
@@ -0,0 +1,68 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+public class WordTokenizer implements Tokenizer {
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    public static void main(String args[]) {
+        Tokenizer tokenizer = new WordTokenizer("_", '_');
+        String a = "hadoop_rocks_in_java";
+        System.out.println(a + ":" + tokenizer.tokenize(a));
+    }
+
+    private final String wordSeparator;
+    private final char tokenSeparator;
+
+    public WordTokenizer() {
+        this(" ", '_');
+    }
+
+    public WordTokenizer(String wordSeparator, char tokenSeparator) {
+        this.wordSeparator = wordSeparator;
+        this.tokenSeparator = tokenSeparator;
+    }
+
+    public List<String> tokenize(String input) {
+        final ArrayList<String> returnVect = new ArrayList<String>();
+        final HashMap<String, Integer> tokens = new HashMap<String, Integer>();
+        for (String term : input.split(wordSeparator)) {
+            if (term.length() == 0) {
+                continue;
+            }
+            Integer count = tokens.get(term);
+            if (count == null) {
+                count = 0;
+            }
+            count++;
+            tokens.put(term, count);
+            returnVect.add(term + tokenSeparator + count);
+        }
+        return returnVect;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/WordTokenizerBuffered.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/WordTokenizerBuffered.java
new file mode 100644
index 0000000..5a64d24
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenizer/WordTokenizerBuffered.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenizer;
+
+import edu.uci.ics.asterix.fuzzyjoin.IntArray;
+
+public class WordTokenizerBuffered implements TokenizerBuffered {
+
+    private final StringBuilder buffer;
+    private int index;
+    private final Token token;
+
+    private final IntArray tokensStart, tokensLength;
+
+    public WordTokenizerBuffered(StringBuilder buffer) {
+        this.buffer = buffer;
+        token = new Token();
+        tokensStart = new IntArray();
+        tokensLength = new IntArray();
+        reset();
+    }
+
+    @Override
+    public void advance() {
+        while (index < buffer.length() && TokenizerBufferedFactory.isSeparator(buffer.charAt(index))) {
+            index++;
+        }
+        int start = index;
+        while (index < buffer.length() && !TokenizerBufferedFactory.isSeparator(buffer.charAt(index))) {
+            buffer.setCharAt(index, Character.toLowerCase(buffer.charAt(index)));
+            index++;
+        }
+        int length = index - start;
+        int count = 1;
+        if (length > 0) {
+            // search if we got the same token before
+            for (int i = 0; i < tokensStart.length(); ++i) {
+                if (length == tokensLength.get(i)) {
+                    int tokenStart = tokensStart.get(i);
+                    count++; // assume we found it
+                    for (int j = 0; j < length; ++j) {
+                        if (buffer.charAt(start + j) != buffer.charAt(tokenStart + j)) {
+                            count--; // token not found
+                            break;
+                        }
+                    }
+                }
+            }
+            // add the new token to the list of seen tokens
+            tokensStart.add(start);
+            tokensLength.add(length);
+        }
+        // set token
+        token.set(buffer, start, length, count);
+    }
+
+    @Override
+    public boolean end() {
+        return token.length() <= 0;
+    }
+
+    @Override
+    public Token getToken() {
+        return token;
+    }
+
+    @Override
+    public void reset() {
+        index = 0;
+        tokensStart.reset();
+        tokensLength.reset();
+        advance();
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenCountRank.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenCountRank.java
new file mode 100644
index 0000000..d8a9185
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenCountRank.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenorder;
+
+import java.io.Serializable;
+
+public interface IntTokenCountRank extends Serializable {
+    public int add(int token, int count);
+
+    public int getRank(int token, int count);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenCountRankFrequency.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenCountRankFrequency.java
new file mode 100644
index 0000000..acefb51
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenCountRankFrequency.java
@@ -0,0 +1,58 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenorder;
+
+import java.util.HashMap;
+
+import edu.uci.ics.asterix.fuzzyjoin.IntPair;
+
+public class IntTokenCountRankFrequency implements IntTokenCountRank {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    private final HashMap<IntPair, Integer> ranksMap = new HashMap<IntPair, Integer>();
+    private final IntPair tmpPair = new IntPair();
+    private int crtRank = 0;
+
+    @Override
+    public int add(int token, int count) {
+        int prevRank = crtRank;
+        ranksMap.put(new IntPair(token, count), prevRank);
+        crtRank++;
+        return prevRank;
+    }
+
+    @Override
+    public int getRank(int token, int count) {
+        tmpPair.set(token, count);
+        Integer rank = ranksMap.get(tmpPair);
+        if (rank == null) {
+            return -1;
+        }
+        return rank;
+    }
+
+    @Override
+    public String toString() {
+        return "[" + crtRank + ",\n " + ranksMap + "\n]";
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenRank.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenRank.java
new file mode 100644
index 0000000..a70a4d9
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenRank.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenorder;
+
+import java.io.Serializable;
+
+public interface IntTokenRank extends Serializable {
+    public int add(int token);
+
+    public int getRank(int token);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenRankFrequency.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenRankFrequency.java
new file mode 100644
index 0000000..da83a69
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/IntTokenRankFrequency.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenorder;
+
+import java.util.HashMap;
+
+public class IntTokenRankFrequency implements IntTokenRank {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    private final HashMap<Integer, Integer> ranksMap = new HashMap<Integer, Integer>();
+    private int crtRank = 0;
+
+    @Override
+    public int add(int token) {
+        int prevRank = crtRank;
+        ranksMap.put(token, prevRank);
+        crtRank++;
+        return prevRank;
+    }
+
+    @Override
+    public int getRank(int token) {
+        Integer rank = ranksMap.get(token);
+        if (rank == null) {
+            return -1;
+        }
+        return rank;
+    }
+
+    @Override
+    public String toString() {
+        return "[" + crtRank + ",\n " + ranksMap + "\n]";
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenLoad.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenLoad.java
new file mode 100644
index 0000000..da6e47c
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenLoad.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenorder;
+
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Serializable;
+
+import edu.uci.ics.asterix.fuzzyjoin.FuzzyJoinConfig;
+
+public class TokenLoad implements Serializable {
+    private final String path;
+    private final TokenRank rank;
+
+    public TokenLoad(String path, TokenRank rank) {
+        this.path = path;
+        this.rank = rank;
+    }
+
+    public void loadTokenRank() {
+        loadTokenRank(1);
+    }
+
+    public void loadTokenRank(int factor) {
+        try {
+            BufferedReader fis = new BufferedReader(
+            // new FileReader(path.toString())
+                    new InputStreamReader(new FileInputStream(path), "UTF-8"));
+            String token = null;
+            while ((token = fis.readLine()) != null) {
+                rank.add(token);
+                // only used when increasing the token dictionary
+                for (int i = 1; i < factor; i++) {
+                    // remove _COUNT at the end of the token (it is removed in
+                    // the new records anyway)
+                    rank.add(token.split(FuzzyJoinConfig.TOKEN_SEPARATOR_REGEX)[0] + i);
+                }
+            }
+        } catch (IOException ioe) {
+            throw new RuntimeException(ioe);
+        }
+    }
+}
\ No newline at end of file
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenRank.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenRank.java
new file mode 100644
index 0000000..6222bea
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenRank.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenorder;
+
+import java.io.Serializable;
+import java.util.Collection;
+
+public interface TokenRank extends Serializable {
+    public int add(String token);
+
+    public Integer getRank(String token);
+
+    public Collection<Integer> getTokenRanks(Iterable<String> tokens);
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenRankBufferedFrequency.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenRankBufferedFrequency.java
new file mode 100644
index 0000000..ab7bf2f
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenRankBufferedFrequency.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenorder;
+
+import java.util.Collection;
+import java.util.HashMap;
+
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.Token;
+
+public class TokenRankBufferedFrequency implements TokenRank {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    private final HashMap<Token, Integer> ranksMap = new HashMap<Token, Integer>();
+    private int crtRank = 0;
+
+    public int add(String stringWithCount) {
+        int end = stringWithCount.lastIndexOf('_');
+        int count = 0;
+        for (int i = end + 1; i < stringWithCount.length(); ++i) {
+            count = count * 10 + (stringWithCount.charAt(i) - '0');
+        }
+        return add(stringWithCount.substring(0, end), count);
+    }
+
+    public int add(String string, int count) {
+        Token token = new Token(string, 0, string.length(), count);
+        return add(token);
+    }
+
+    public int add(Token token) {
+        int prevRank = crtRank;
+        ranksMap.put(token, prevRank);
+        crtRank++;
+        return prevRank;
+    }
+
+    @Override
+    public Integer getRank(String token) {
+        throw new UnsupportedOperationException();
+    }
+
+    public Integer getRank(Token token) {
+        return ranksMap.get(token);
+    }
+
+    @Override
+    public Collection<Integer> getTokenRanks(Iterable<String> tokens) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public String toString() {
+        return "[" + crtRank + ",\n " + ranksMap + "\n]";
+    }
+}
diff --git a/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenRankFrequency.java b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenRankFrequency.java
new file mode 100644
index 0000000..0ae6c35
--- /dev/null
+++ b/asterix-fuzzyjoin/src/main/java/edu/uci/ics/asterix/fuzzyjoin/tokenorder/TokenRankFrequency.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tokenorder;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.TreeSet;
+
+public class TokenRankFrequency implements TokenRank {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    private final HashMap<String, Integer> ranksMap = new HashMap<String, Integer>();
+    private int crtRank = 0;
+
+    public int add(String token) {
+        int prevRank = crtRank;
+        ranksMap.put(token, prevRank);
+        crtRank++;
+        return prevRank;
+    }
+
+    public Integer getRank(String token) {
+        return ranksMap.get(token);
+    }
+
+    public Collection<Integer> getTokenRanks(Iterable<String> tokens) {
+        TreeSet<Integer> ranksCol = new TreeSet<Integer>();
+        for (String token : tokens) {
+            Integer rank = getRank(token);
+            if (rank != null) {
+                ranksCol.add(rank);
+            }
+        }
+        return ranksCol;
+    }
+
+    @Override
+    public String toString() {
+        return "[" + crtRank + ",\n " + ranksMap + "\n]";
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/FuzzyJoinTest.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/FuzzyJoinTest.java
new file mode 100644
index 0000000..f5a8cec9
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/FuzzyJoinTest.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests;
+
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+import java.util.ArrayList;
+
+import org.junit.Test;
+
+import edu.uci.ics.asterix.fuzzyjoin.FuzzyJoinMemory;
+import edu.uci.ics.asterix.fuzzyjoin.ResultSelfJoin;
+import edu.uci.ics.asterix.fuzzyjoin.tests.dataset.AbstractDataset;
+import edu.uci.ics.asterix.fuzzyjoin.tests.dataset.AbstractDataset.Directory;
+import edu.uci.ics.asterix.fuzzyjoin.tests.dataset.DBLPSmallDataset;
+
+public class FuzzyJoinTest {
+
+    private static final AbstractDataset dataset = new DBLPSmallDataset();
+    private static final String base = "data/";
+
+    @Test
+    public void test() throws Exception {
+
+        ArrayList<int[]> records = new ArrayList<int[]>();
+        ArrayList<Integer> rids = new ArrayList<Integer>();
+        ArrayList<ResultSelfJoin> results = new ArrayList<ResultSelfJoin>();
+
+        dataset.createDirecotries(new String[] { base });
+
+        FuzzyJoinMemory fj = new FuzzyJoinMemory(dataset.getThreshold());
+
+        FuzzyJoinMemory.readRecords(base + dataset.getPathPart0(Directory.SSJOININ), records, rids);
+
+        for (int[] record : records) {
+            results.addAll(fj.selfJoinAndAddRecord(record));
+        }
+
+        BufferedWriter out = new BufferedWriter(new FileWriter(base + dataset.getPathPart0(Directory.SSJOINOUT)));
+        for (ResultSelfJoin result : results) {
+            out.write(String.format("%d %d %.3f\n", rids.get(result.indexX), rids.get(result.indexY), result.similarity));
+        }
+        out.close();
+
+        FuzzyJoinTestUtil.verifyDirectory(base + dataset.getPathPart0(Directory.SSJOINOUT),
+                base + dataset.getPathExpected(Directory.SSJOINOUT));
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/FuzzyJoinTestUtil.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/FuzzyJoinTestUtil.java
new file mode 100644
index 0000000..db44850
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/FuzzyJoinTestUtil.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.HashSet;
+
+import org.junit.Assert;
+
+public class FuzzyJoinTestUtil {
+
+    public static void verifyDirectory(String pathTest, String pathCorrect)
+            throws IOException {
+        verifyDirectory(pathTest, pathCorrect, false);
+    }
+
+    public static void verifyDirectory(String pathTest, String pathCorrect,
+            boolean noDup) throws IOException {
+        int countTest = 0, countTestDedup = 0, countCorrect = 0;
+
+        BufferedReader input;
+        String line;
+        HashSet<String> buffer = new HashSet<String>();
+
+        // buffer Test
+        input = new BufferedReader(new FileReader(pathTest));
+        while ((line = input.readLine()) != null) {
+            buffer.add(line);
+            countTest++;
+        }
+        countTestDedup = buffer.size();
+
+        // probe Correct
+        input = new BufferedReader(new FileReader(new File(pathCorrect)));
+        while ((line = input.readLine()) != null) {
+            Assert.assertTrue(buffer.contains(line));
+            countCorrect++;
+        }
+
+        // check counts
+        Assert.assertEquals(countTestDedup, countCorrect);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/NGramTokenizerTest.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/NGramTokenizerTest.java
new file mode 100644
index 0000000..e65bb25
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/NGramTokenizerTest.java
@@ -0,0 +1,239 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInput;
+import java.io.DataInputStream;
+import java.io.DataOutput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.AbstractUTF8Token;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.HashedUTF8NGramTokenFactory;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.IToken;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.NGramUTF8StringBinaryTokenizer;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.UTF8NGramTokenFactory;
+
+public class NGramTokenizerTest {
+
+    private char PRECHAR = '#';
+    private char POSTCHAR = '$';
+
+    private String str = "Jürgen S. Generic's Car";
+    private byte[] inputBuffer;
+
+    private int gramLength = 3;
+
+    private void getExpectedGrams(String s, int gramLength, ArrayList<String> grams, boolean prePost) {
+
+        String tmp = s.toLowerCase();
+        if (prePost) {
+            StringBuilder preBuilder = new StringBuilder();
+            for (int i = 0; i < gramLength - 1; i++) {
+                preBuilder.append(PRECHAR);
+            }
+            String pre = preBuilder.toString();
+
+            StringBuilder postBuilder = new StringBuilder();
+            for (int i = 0; i < gramLength - 1; i++) {
+                postBuilder.append(POSTCHAR);
+            }
+            String post = postBuilder.toString();
+
+            tmp = pre + s.toLowerCase() + post;
+        }
+
+        for (int i = 0; i < tmp.length() - gramLength + 1; i++) {
+            String gram = tmp.substring(i, i + gramLength);
+            grams.add(gram);
+        }
+    }
+
+    @Before
+    public void init() throws Exception {
+        // serialize string into bytes
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        DataOutput dos = new DataOutputStream(baos);
+        dos.writeUTF(str);
+        inputBuffer = baos.toByteArray();
+    }
+
+    void runTestNGramTokenizerWithCountedHashedUTF8Tokens(boolean prePost) throws IOException {
+        HashedUTF8NGramTokenFactory tokenFactory = new HashedUTF8NGramTokenFactory();
+        NGramUTF8StringBinaryTokenizer tokenizer = new NGramUTF8StringBinaryTokenizer(gramLength, prePost, false,
+                false, tokenFactory);
+        tokenizer.reset(inputBuffer, 0, inputBuffer.length);
+
+        ArrayList<String> expectedGrams = new ArrayList<String>();
+        getExpectedGrams(str, gramLength, expectedGrams, prePost);
+        ArrayList<Integer> expectedHashedGrams = new ArrayList<Integer>();
+        HashMap<String, Integer> gramCounts = new HashMap<String, Integer>();
+        for (String s : expectedGrams) {
+            Integer count = gramCounts.get(s);
+            if (count == null) {
+                count = 1;
+                gramCounts.put(s, count);
+            } else {
+                count++;
+            }
+
+            int hash = tokenHash(s, count);
+            expectedHashedGrams.add(hash);
+        }
+
+        int tokenCount = 0;
+
+        while (tokenizer.hasNext()) {
+            tokenizer.next();
+
+            // serialize hashed token
+            ByteArrayOutputStream tokenBaos = new ByteArrayOutputStream();
+            DataOutput tokenDos = new DataOutputStream(tokenBaos);
+
+            IToken token = tokenizer.getToken();
+            token.serializeToken(tokenDos);
+
+            // deserialize token
+            ByteArrayInputStream bais = new ByteArrayInputStream(tokenBaos.toByteArray());
+            DataInput in = new DataInputStream(bais);
+
+            Integer hashedGram = in.readInt();
+
+            // System.out.println(hashedGram);
+
+            Assert.assertEquals(expectedHashedGrams.get(tokenCount), hashedGram);
+
+            tokenCount++;
+        }
+        // System.out.println("---------");
+    }
+
+    void runTestNGramTokenizerWithHashedUTF8Tokens(boolean prePost) throws IOException {
+        HashedUTF8NGramTokenFactory tokenFactory = new HashedUTF8NGramTokenFactory();
+        NGramUTF8StringBinaryTokenizer tokenizer = new NGramUTF8StringBinaryTokenizer(gramLength, prePost, true, false,
+                tokenFactory);
+        tokenizer.reset(inputBuffer, 0, inputBuffer.length);
+
+        ArrayList<String> expectedGrams = new ArrayList<String>();
+        getExpectedGrams(str, gramLength, expectedGrams, prePost);
+        ArrayList<Integer> expectedHashedGrams = new ArrayList<Integer>();
+        for (String s : expectedGrams) {
+            int hash = tokenHash(s, 1);
+            expectedHashedGrams.add(hash);
+        }
+
+        int tokenCount = 0;
+
+        while (tokenizer.hasNext()) {
+            tokenizer.next();
+
+            // serialize hashed token
+            ByteArrayOutputStream tokenBaos = new ByteArrayOutputStream();
+            DataOutput tokenDos = new DataOutputStream(tokenBaos);
+
+            IToken token = tokenizer.getToken();
+            token.serializeToken(tokenDos);
+
+            // deserialize token
+            ByteArrayInputStream bais = new ByteArrayInputStream(tokenBaos.toByteArray());
+            DataInput in = new DataInputStream(bais);
+
+            Integer hashedGram = in.readInt();
+
+            // System.out.println(hashedGram);
+
+            Assert.assertEquals(expectedHashedGrams.get(tokenCount), hashedGram);
+
+            tokenCount++;
+        }
+        // System.out.println("---------");
+    }
+
+    void runTestNGramTokenizerWithUTF8Tokens(boolean prePost) throws IOException {
+        UTF8NGramTokenFactory tokenFactory = new UTF8NGramTokenFactory();
+        NGramUTF8StringBinaryTokenizer tokenizer = new NGramUTF8StringBinaryTokenizer(gramLength, prePost, true, false,
+                tokenFactory);
+        tokenizer.reset(inputBuffer, 0, inputBuffer.length);
+
+        ArrayList<String> expectedGrams = new ArrayList<String>();
+        getExpectedGrams(str, gramLength, expectedGrams, prePost);
+
+        int tokenCount = 0;
+
+        while (tokenizer.hasNext()) {
+            tokenizer.next();
+
+            // serialize hashed token
+            ByteArrayOutputStream tokenBaos = new ByteArrayOutputStream();
+            DataOutput tokenDos = new DataOutputStream(tokenBaos);
+
+            IToken token = tokenizer.getToken();
+            token.serializeToken(tokenDos);
+
+            // deserialize token
+            ByteArrayInputStream bais = new ByteArrayInputStream(tokenBaos.toByteArray());
+            DataInput in = new DataInputStream(bais);
+
+            String strGram = in.readUTF();
+
+            // System.out.println("\"" + strGram + "\"");
+
+            Assert.assertEquals(expectedGrams.get(tokenCount), strGram);
+
+            tokenCount++;
+        }
+        // System.out.println("---------");
+    }
+
+    @Test
+    public void testNGramTokenizerWithCountedHashedUTF8Tokens() throws Exception {
+        runTestNGramTokenizerWithCountedHashedUTF8Tokens(false);
+        runTestNGramTokenizerWithCountedHashedUTF8Tokens(true);
+    }
+
+    @Test
+    public void testNGramTokenizerWithHashedUTF8Tokens() throws Exception {
+        runTestNGramTokenizerWithHashedUTF8Tokens(false);
+        runTestNGramTokenizerWithHashedUTF8Tokens(true);
+    }
+
+    @Test
+    public void testNGramTokenizerWithUTF8Tokens() throws IOException {
+        runTestNGramTokenizerWithUTF8Tokens(false);
+        runTestNGramTokenizerWithUTF8Tokens(true);
+    }
+
+    public int tokenHash(String token, int tokenCount) {
+        int h = AbstractUTF8Token.GOLDEN_RATIO_32;
+        for (int i = 0; i < token.length(); i++) {
+            h ^= token.charAt(i);
+            h *= AbstractUTF8Token.GOLDEN_RATIO_32;
+        }
+        return h + tokenCount;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/WordTokenizerTest.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/WordTokenizerTest.java
new file mode 100644
index 0000000..8fd05da
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/WordTokenizerTest.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Alexander Behm <abehm (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInput;
+import java.io.DataInputStream;
+import java.io.DataOutput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import junit.framework.Assert;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.AbstractUTF8Token;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.DelimitedUTF8StringBinaryTokenizer;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.HashedUTF8WordTokenFactory;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.IToken;
+import edu.uci.ics.asterix.fuzzyjoin.tokenizer.UTF8WordTokenFactory;
+
+public class WordTokenizerTest {
+
+    private String text = "Hello World, I would like to inform you of the importance of Foo Bar. Yes, Foo Bar. Jürgen.";
+    private byte[] inputBuffer;
+
+    private ArrayList<String> expectedUTF8Tokens = new ArrayList<String>();
+    private ArrayList<Integer> expectedHashedUTF8Tokens = new ArrayList<Integer>();
+    private ArrayList<Integer> expectedCountedHashedUTF8Tokens = new ArrayList<Integer>();
+
+    @Before
+    public void init() throws IOException {
+        // serialize text into bytes
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        DataOutput dos = new DataOutputStream(baos);
+        dos.writeUTF(text);
+        inputBuffer = baos.toByteArray();
+
+        // init expected string tokens
+        expectedUTF8Tokens.add("hello");
+        expectedUTF8Tokens.add("world");
+        expectedUTF8Tokens.add("i");
+        expectedUTF8Tokens.add("would");
+        expectedUTF8Tokens.add("like");
+        expectedUTF8Tokens.add("to");
+        expectedUTF8Tokens.add("inform");
+        expectedUTF8Tokens.add("you");
+        expectedUTF8Tokens.add("of");
+        expectedUTF8Tokens.add("the");
+        expectedUTF8Tokens.add("importance");
+        expectedUTF8Tokens.add("of");
+        expectedUTF8Tokens.add("foo");
+        expectedUTF8Tokens.add("bar");
+        expectedUTF8Tokens.add("yes");
+        expectedUTF8Tokens.add("foo");
+        expectedUTF8Tokens.add("bar");
+        expectedUTF8Tokens.add("jürgen");
+
+        // hashed tokens ignoring token count
+        for (int i = 0; i < expectedUTF8Tokens.size(); i++) {
+            int hash = tokenHash(expectedUTF8Tokens.get(i), 1);
+            expectedHashedUTF8Tokens.add(hash);
+        }
+
+        // hashed tokens using token count
+        HashMap<String, Integer> tokenCounts = new HashMap<String, Integer>();
+        for (int i = 0; i < expectedUTF8Tokens.size(); i++) {
+            Integer count = tokenCounts.get(expectedUTF8Tokens.get(i));
+            if (count == null) {
+                count = 1;
+                tokenCounts.put(expectedUTF8Tokens.get(i), count);
+            } else {
+                count++;
+            }
+
+            int hash = tokenHash(expectedUTF8Tokens.get(i), count);
+            expectedCountedHashedUTF8Tokens.add(hash);
+        }
+    }
+
+    @Test
+    public void testWordTokenizerWithCountedHashedUTF8Tokens() throws IOException {
+
+        HashedUTF8WordTokenFactory tokenFactory = new HashedUTF8WordTokenFactory();
+        DelimitedUTF8StringBinaryTokenizer tokenizer = new DelimitedUTF8StringBinaryTokenizer(false, false,
+                tokenFactory);
+
+        tokenizer.reset(inputBuffer, 0, inputBuffer.length);
+
+        int tokenCount = 0;
+
+        while (tokenizer.hasNext()) {
+            tokenizer.next();
+
+            // serialize token
+            ByteArrayOutputStream tokenBaos = new ByteArrayOutputStream();
+            DataOutput tokenDos = new DataOutputStream(tokenBaos);
+
+            IToken token = tokenizer.getToken();
+            token.serializeToken(tokenDos);
+
+            // deserialize token
+            ByteArrayInputStream bais = new ByteArrayInputStream(tokenBaos.toByteArray());
+            DataInput in = new DataInputStream(bais);
+
+            Integer hashedToken = in.readInt();
+
+            // System.out.println(hashedToken);
+
+            Assert.assertEquals(hashedToken, expectedCountedHashedUTF8Tokens.get(tokenCount));
+
+            tokenCount++;
+        }
+    }
+
+    @Test
+    public void testWordTokenizerWithHashedUTF8Tokens() throws IOException {
+
+        HashedUTF8WordTokenFactory tokenFactory = new HashedUTF8WordTokenFactory();
+        DelimitedUTF8StringBinaryTokenizer tokenizer = new DelimitedUTF8StringBinaryTokenizer(true, false, tokenFactory);
+
+        tokenizer.reset(inputBuffer, 0, inputBuffer.length);
+
+        int tokenCount = 0;
+
+        while (tokenizer.hasNext()) {
+            tokenizer.next();
+
+            // serialize token
+            ByteArrayOutputStream tokenBaos = new ByteArrayOutputStream();
+            DataOutput tokenDos = new DataOutputStream(tokenBaos);
+
+            IToken token = tokenizer.getToken();
+            token.serializeToken(tokenDos);
+
+            // deserialize token
+            ByteArrayInputStream bais = new ByteArrayInputStream(tokenBaos.toByteArray());
+            DataInput in = new DataInputStream(bais);
+
+            Integer hashedToken = in.readInt();
+
+            // System.out.println(hashedToken);
+
+            Assert.assertEquals(expectedHashedUTF8Tokens.get(tokenCount), hashedToken);
+
+            tokenCount++;
+        }
+    }
+
+    @Test
+    public void testWordTokenizerWithUTF8Tokens() throws IOException {
+
+        UTF8WordTokenFactory tokenFactory = new UTF8WordTokenFactory();
+        DelimitedUTF8StringBinaryTokenizer tokenizer = new DelimitedUTF8StringBinaryTokenizer(true, false, tokenFactory);
+
+        tokenizer.reset(inputBuffer, 0, inputBuffer.length);
+
+        int tokenCount = 0;
+
+        while (tokenizer.hasNext()) {
+            tokenizer.next();
+
+            // serialize hashed token
+            ByteArrayOutputStream tokenBaos = new ByteArrayOutputStream();
+            DataOutput tokenDos = new DataOutputStream(tokenBaos);
+
+            IToken token = tokenizer.getToken();
+            token.serializeToken(tokenDos);
+
+            // deserialize token
+            ByteArrayInputStream bais = new ByteArrayInputStream(tokenBaos.toByteArray());
+            DataInput in = new DataInputStream(bais);
+
+            String strToken = in.readUTF();
+
+            // System.out.println(strToken);
+
+            Assert.assertEquals(expectedUTF8Tokens.get(tokenCount), strToken);
+
+            tokenCount++;
+        }
+    }
+
+    // JAQL
+    public int tokenHash(String token, int tokenCount) {
+        int h = AbstractUTF8Token.GOLDEN_RATIO_32;
+        for (int i = 0; i < token.length(); i++) {
+            h ^= token.charAt(i);
+            h *= AbstractUTF8Token.GOLDEN_RATIO_32;
+        }
+        return h + tokenCount;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/AbstractDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/AbstractDataset.java
new file mode 100644
index 0000000..5ca6c6d
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/AbstractDataset.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+import java.io.File;
+import java.util.NoSuchElementException;
+
+public abstract class AbstractDataset {
+    public static enum Directory {
+        RAW_R,
+        RAW_S,
+        RECORDPAIRS,
+        RECORDS_R,
+        RECORDS_S,
+        RECORDSBULK_R,
+        RECORDSBULK_S,
+        RIDPAIRS,
+        SSJOININ,
+        SSJOINOUT,
+        TOKENS,
+        TOKENS_R,
+        TOKENS_R_AQL,
+    }
+
+    public static enum Relation {
+        R, S,
+    }
+
+    public static final String FILE_PART = "part-";
+    public static final String FILE_PART0 = FILE_PART + "00000";
+    public static final String FILE_EXPECTED = "expected.txt";
+    public static final String AQL = "aql";
+
+    public static final String PATH_RAW = "raw";
+    public static final String PATH_RECORDPAIRS = "recordpairs";
+    public static final String PATH_RECORDS = "records";
+    public static final String PATH_RECORDSBULK = "recordsbulk";
+    public static final String PATH_RIDPAIRS = "ridpairs";
+    public static final String PATH_SSJOININ = "ssjoin.in";
+    public static final String PATH_SSJOINOUT = "ssjoin.out";
+    public static final String PATH_TOKENS = "tokens";
+
+    public static final String DIRECTORY_ID_FORMAT = "%03d";
+
+    public void createDirecotries(String[] paths) {
+        createDirecotries(paths, 0);
+    }
+
+    public void createDirecotries(String[] paths, int crtCopy) {
+        (new File(paths[0] + getPathDirecotry(Directory.SSJOINOUT, 0))).mkdir();
+        (new File(paths[0] + getPathDirecotry(Directory.RECORDSBULK_R, crtCopy))).mkdir();
+        (new File(paths[0] + getPathDirecotry(Directory.RECORDSBULK_S, crtCopy))).mkdir();
+        (new File(paths[0] + getPathDirecotry(Directory.RECORDS_R, crtCopy))).mkdir();
+        (new File(paths[0] + getPathDirecotry(Directory.RECORDS_S, crtCopy))).mkdir();
+        (new File(paths[0] + getPathDirecotry(Directory.TOKENS, crtCopy))).mkdir();
+        (new File(paths[0] + getPathDirecotry(Directory.TOKENS_R, crtCopy))).mkdir();
+        (new File(paths[0] + getPathDirecotry(Directory.TOKENS_R_AQL, crtCopy))).mkdir();
+    }
+
+    public abstract String getName();
+
+    public abstract int getNoRecords();
+
+    public abstract String getPath();
+
+    public String getPathDirecotry(Directory directory, int crtCopy) {
+        return getPathDirectory(getPath(), directory, crtCopy);
+    }
+
+    private String getPathDirectory(Directory directory, int crtCopy, boolean expected) {
+        return getPathDirectory(getName() + (expected ? ".expected" : ""), directory, crtCopy);
+    }
+
+    public String getPathDirectory(String path, Directory directory, int crtCopy) {
+        path += '/';
+        switch (directory) {
+            case SSJOININ:
+                path += AbstractDataset.PATH_SSJOININ;
+                break;
+            case SSJOINOUT:
+                path += AbstractDataset.PATH_SSJOINOUT;
+                break;
+            case RAW_R:
+                path += AbstractDataset.PATH_RAW + "." + getSuffix(Relation.R);
+                break;
+            case RAW_S:
+                path += AbstractDataset.PATH_RAW + "." + getSuffix(Relation.S);
+                break;
+            case RECORDSBULK_R:
+                path += AbstractDataset.PATH_RECORDSBULK + "." + getSuffix(Relation.R);
+                break;
+            case RECORDSBULK_S:
+                path += AbstractDataset.PATH_RECORDSBULK + "." + getSuffix(Relation.S);
+                break;
+            case RECORDS_R:
+                path += AbstractDataset.PATH_RECORDS + "." + getSuffix(Relation.R);
+                break;
+            case RECORDS_S:
+                path += AbstractDataset.PATH_RECORDS + "." + getSuffix(Relation.S);
+                break;
+            case TOKENS:
+                path += AbstractDataset.PATH_TOKENS;
+                break;
+            case TOKENS_R:
+                path += AbstractDataset.PATH_TOKENS + "." + getSuffix(Relation.R);
+                break;
+            case TOKENS_R_AQL:
+                path += AbstractDataset.PATH_TOKENS + "." + getSuffix(Relation.R) + "." + AQL;
+                break;
+            case RIDPAIRS:
+                path += AbstractDataset.PATH_RIDPAIRS;
+                break;
+            case RECORDPAIRS:
+                path += AbstractDataset.PATH_RECORDPAIRS;
+                break;
+            default:
+                throw new NoSuchElementException();
+        }
+        return path + "-" + String.format(DIRECTORY_ID_FORMAT, crtCopy);
+    }
+
+    public String getPathExpected(Directory directory) {
+        return getPathDirectory(directory, 0, true) + '/' + FILE_EXPECTED;
+    }
+
+    public String getPathPart(Directory directory, int crtCopy) {
+        return getPathDirecotry(directory, crtCopy) + '/' + FILE_PART;
+    }
+
+    public String getPathPart0(Directory directory) {
+        return getPathDirectory(directory, 0, false) + '/' + FILE_PART0;
+    }
+
+    public String getPathPart0(Directory directory, boolean expected) {
+        return getPathDirectory(directory, 0, expected) + '/' + (expected ? FILE_EXPECTED : FILE_PART0);
+    }
+
+    public abstract String getSuffix(Relation relation);
+
+    public abstract float getThreshold();
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/AbstractTokenizableDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/AbstractTokenizableDataset.java
new file mode 100644
index 0000000..5333cad
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/AbstractTokenizableDataset.java
@@ -0,0 +1,5 @@
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+public abstract class AbstractTokenizableDataset extends AbstractDataset {
+    public abstract String getRecordData();
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/DBLPDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/DBLPDataset.java
new file mode 100644
index 0000000..3783829
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/DBLPDataset.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+
+public class DBLPDataset extends PublicationsDataset {
+    private static final String NAME = "dblp";
+    private static final int NO_RECORDS = 1268017;
+    private static final float THRESHOLD = .8f;
+    private static final String RECORD_DATA = "2,3";
+
+    public DBLPDataset() {
+        super(NAME, NO_RECORDS, THRESHOLD, RECORD_DATA, NAME, NAME);
+    }
+
+    public DBLPDataset(String recordData) {
+        super(NAME, NO_RECORDS, THRESHOLD, recordData, NAME, NAME);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/DBLPSmallDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/DBLPSmallDataset.java
new file mode 100644
index 0000000..5eaebd2
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/DBLPSmallDataset.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+public class DBLPSmallDataset extends PublicationsDataset {
+    public DBLPSmallDataset() {
+        super("dblp-small", 100, .5f, "2,3", "dblp", "dblp");
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/IntArrayBagSmallDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/IntArrayBagSmallDataset.java
new file mode 100644
index 0000000..38aad37
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/IntArrayBagSmallDataset.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+public class IntArrayBagSmallDataset extends AbstractDataset {
+    private final int NO_RECORDS = 4;
+    private final String NAME = "intarray-bag-small";
+    private final String PATH = NAME;
+    private final float THRESHOLD = .5f;
+
+    public IntArrayBagSmallDataset() {
+    }
+
+    @Override
+    public String getName() {
+        return NAME;
+    }
+
+    @Override
+    public int getNoRecords() {
+        return NO_RECORDS;
+    }
+
+    @Override
+    public String getPath() {
+        return PATH;
+    }
+
+    @Override
+    public String getSuffix(Relation relation) {
+        return "r";
+    }
+
+    @Override
+    public float getThreshold() {
+        return THRESHOLD;
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/IntArraySetSmallDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/IntArraySetSmallDataset.java
new file mode 100644
index 0000000..7c8c80d
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/IntArraySetSmallDataset.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+public class IntArraySetSmallDataset extends AbstractDataset {
+    private final int NO_RECORDS = 4;
+    private final String NAME = "intarray-set-small";
+    private final String PATH = NAME;
+    private final float THRESHOLD = .5f;
+
+    public IntArraySetSmallDataset() {
+    }
+
+    @Override
+    public String getName() {
+        return NAME;
+    }
+
+    @Override
+    public int getNoRecords() {
+        return NO_RECORDS;
+    }
+
+    @Override
+    public String getPath() {
+        return PATH;
+    }
+
+    @Override
+    public String getSuffix(Relation relation) {
+        return "r";
+    }
+
+    @Override
+    public float getThreshold() {
+        return THRESHOLD;
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/PUBDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/PUBDataset.java
new file mode 100644
index 0000000..e8c2f2a
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/PUBDataset.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+public class PUBDataset extends PublicationsDataset {
+    private static final String DBLP_SUFFIX = "dblp";
+    private static final String CSX_SUFFIX = "csx";
+    private static final String NAME = "pub";
+    private static final int NO_RECORDS = 1385532;
+    private static final float THRESHOLD = .8f;
+    private static final String RECORD_DATA = "2,3";
+
+    public PUBDataset() {
+        super(NAME, NO_RECORDS, THRESHOLD, RECORD_DATA, DBLP_SUFFIX, CSX_SUFFIX);
+    }
+
+    public PUBDataset(float threshold) {
+        super(NAME, NO_RECORDS, threshold, RECORD_DATA, DBLP_SUFFIX, CSX_SUFFIX);
+    }
+
+    public PUBDataset(float threshold, String recordData) {
+        super(NAME, NO_RECORDS, threshold, recordData, DBLP_SUFFIX, CSX_SUFFIX);
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/PUBSmallDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/PUBSmallDataset.java
new file mode 100644
index 0000000..eed28e4
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/PUBSmallDataset.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+public class PUBSmallDataset extends PublicationsDataset {
+    public PUBSmallDataset() {
+        super("pub-small", 100, .5f, "2,3", "dblp", "csx");
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/PublicationsDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/PublicationsDataset.java
new file mode 100644
index 0000000..e1653cd
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/PublicationsDataset.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+import java.util.NoSuchElementException;
+
+public class PublicationsDataset extends AbstractTokenizableDataset {
+    protected final String name;
+    protected final String path;
+    protected final int noRecords;
+    protected final float threshold;
+    protected final String recordData;
+    protected final String rSuffix, sSuffix;
+
+    public PublicationsDataset(String name, int noRecords, float threshold, String recordData, String rSuffix,
+            String sSuffix) {
+        this.name = name;
+        this.noRecords = noRecords;
+        this.threshold = threshold;
+        this.recordData = recordData;
+        this.rSuffix = rSuffix;
+        this.sSuffix = sSuffix;
+
+        path = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getNoRecords() {
+        return noRecords;
+    }
+
+    @Override
+    public String getPath() {
+        return path;
+    }
+
+    @Override
+    public String getRecordData() {
+        return recordData;
+    }
+
+    @Override
+    public String getSuffix(Relation relation) {
+        switch (relation) {
+            case R:
+                return rSuffix;
+            case S:
+                return sSuffix;
+            default:
+                throw new NoSuchElementException();
+        }
+    }
+
+    @Override
+    public float getThreshold() {
+        return threshold;
+    }
+}
diff --git a/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/UsersVisitorsSmallDataset.java b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/UsersVisitorsSmallDataset.java
new file mode 100644
index 0000000..6463b2d
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/java/edu/uci/ics/asterix/fuzzyjoin/tests/dataset/UsersVisitorsSmallDataset.java
@@ -0,0 +1,67 @@
+/**
+ * Copyright 2010-2011 The Regents of the University of California
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on
+ * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Author: Rares Vernica <rares (at) ics.uci.edu>
+ */
+
+package edu.uci.ics.asterix.fuzzyjoin.tests.dataset;
+
+import java.util.NoSuchElementException;
+
+public class UsersVisitorsSmallDataset extends AbstractDataset {
+    private final int NO_RECORDS = 4;
+    private final String NAME = "users-visitors-small";
+    private static final String USERS_SUFFIX = "users";
+    private static final String VISITORS_SUFFIX = "visitors";
+    private final String PATH = NAME;
+    private final float THRESHOLD = .5f;
+
+    public UsersVisitorsSmallDataset() {
+    }
+
+    @Override
+    public String getName() {
+        return NAME;
+    }
+
+    @Override
+    public int getNoRecords() {
+        return NO_RECORDS;
+    }
+
+    @Override
+    public String getPath() {
+        return PATH;
+    }
+
+    @Override
+    public String getSuffix(Relation relation) {
+        switch (relation) {
+            case R:
+                return USERS_SUFFIX;
+            case S:
+                return VISITORS_SUFFIX;
+            default:
+                throw new NoSuchElementException();
+        }
+    }
+
+    @Override
+    public float getThreshold() {
+        return THRESHOLD;
+    }
+
+}
diff --git a/asterix-fuzzyjoin/src/test/scripts/conf.sh b/asterix-fuzzyjoin/src/test/scripts/conf.sh
new file mode 100644
index 0000000..45e962c
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/scripts/conf.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# Copyright 2010-2011 The Regents of the University of California
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you
+# may not use this file except in compliance with the License.  You
+# may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS"; BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.  See the License for the specific language governing
+# permissions and limitations under the License.
+# 
+# Author: Rares Vernica <rares (at) ics.uci.edu>
+
+### http://www.cse.unsw.edu.au/~weiw/project/simjoin.html
+SSJOIN=/home/rares/workspace/ssjoin-bin
+DATA=../data
+
+IN=ssjoin.in-000
+OUT=ssjoin.out-000
diff --git a/asterix-fuzzyjoin/src/test/scripts/fuzzyjoin.sh b/asterix-fuzzyjoin/src/test/scripts/fuzzyjoin.sh
new file mode 100755
index 0000000..0cd6ccc
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/scripts/fuzzyjoin.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+#
+# Copyright 2010-2011 The Regents of the University of California
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you
+# may not use this file except in compliance with the License.  You
+# may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS"; BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.  See the License for the specific language governing
+# permissions and limitations under the License.
+# 
+# Author: Rares Vernica <rares (at) ics.uci.edu>
+
+DIR=`dirname $0`; if [ "${DIR:0:1}" == "." ]; then DIR=`pwd`"${DIR:1}"; fi
+source $DIR/conf.sh
+
+ARGS=1                   # Required number of arguments
+E_BADARGS=85             # Wrong number of arguments passed to script.
+if [ $# -lt "$ARGS" ]
+then
+  echo "Usage:   `basename $0` dataset"
+  echo "Example: `basename $0` dblp-small"
+  exit $E_BADARGS
+fi
+
+THR="0.80"
+if [ "$1" == "dblp-small" ]; then
+    THR="0.50"
+fi
+
+
+mkdir $DATA/$1.expected/$OUT
+$SSJOIN/ppjoinplus j $THR $DATA/$1/$IN/part-00000 | \
+    sed 's/0\.812/0\.813/' | \
+    sort > $DATA/$1.expected/$OUT/expected.txt
+
+mkdir $DATA/$1/$OUT
+java \
+    -Xmx2g \
+    -jar $DIR/../../../target/fuzzyjoin-core-0.0.1.jar \
+    $THR $DATA/$1/$IN/part-00000 | \
+    sort > $DATA/$1/$OUT/part-00000
+
+diff $DATA/$1.expected/$OUT/expected.txt $DATA/$1/$OUT/part-00000
diff --git a/asterix-fuzzyjoin/src/test/scripts/inmemory.sh b/asterix-fuzzyjoin/src/test/scripts/inmemory.sh
new file mode 100755
index 0000000..c9394d4
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/scripts/inmemory.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+#
+# Copyright 2010-2011 The Regents of the University of California
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you
+# may not use this file except in compliance with the License.  You
+# may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS"; BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.  See the License for the specific language governing
+# permissions and limitations under the License.
+# 
+# Author: Rares Vernica <rares (at) ics.uci.edu>
+
+DATA="/home/rares/data/fuzzyjoin/dblp/records-024"
+FUZZYJOIN="/home/rares/fuzzyjoin/fuzzyjoin-core/target/fuzzyjoin-core-0.0.2-SNAPSHOT.jar"
+
+echo "-- - Step 0: Project and append length - --"
+
+# java -cp $FUZZYJOIN edu.uci.ics.fuzzyjoin.FuzzyJoinAppendLength $DATA/part-00000 $DATA/part-00000-len
+
+date
+
+echo "== START =="
+
+echo "-- - Step 1: Sort by length - --"
+
+# time sort -n -k 5 -t ":" $DATA/part-00000-len > $DATA/part-00000-len-sorted
+
+echo "-- - Step 2: Tokenize - --"
+
+# time java -cp $FUZZYJOIN edu.uci.ics.fuzzyjoin.FuzzyJoinTokenize $DATA/part-00000-len-sorted $DATA/part-00000-tokens $DATA/part-00000-tokenized
+
+echo "-- - Step 3: RID pairs - --"
+
+time java -Xmx8g -cp $FUZZYJOIN edu.uci.ics.fuzzyjoin.FuzzyJoinMemory .8 $DATA/part-00000-tokenized > $DATA/part-00000-ridpairs
+
+echo "== END =="
+
+date
+
+
+### SSJoin ###
+# cut -d ":" -f 3,4 records-000/part-0000* > ! ssjoin.raw-000/part-00000
+# ~/workspace/ssjoin-bin/txtformat ssjoin.raw-000/part-00000 ssjoin.norm-000/part-00000 l
+# sed 's/_\+/ /g' ssjoin.norm-000/part-00000 > ! ssjoin.space-000/part-00000
+# ~/workspace/ssjoin-bin/tokenizer ssjoin.space-000/part-00000
+# ~/workspace/ssjoin-bin/ppjoinplus j .8 ssjoin.space-000/part-00000.bin > /dev/null
+# java -jar /fuzzyjoin/fuzzyjoin-core/target/fuzzyjoin-core-0.0.2-SNAPSHOT.jar .8 ssjoin.space-000/part-00000.bin > /dev/null
diff --git a/asterix-fuzzyjoin/src/test/scripts/tokenize.sh b/asterix-fuzzyjoin/src/test/scripts/tokenize.sh
new file mode 100755
index 0000000..5498d44
--- /dev/null
+++ b/asterix-fuzzyjoin/src/test/scripts/tokenize.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# Copyright 2010-2011 The Regents of the University of California
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you
+# may not use this file except in compliance with the License.  You
+# may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS"; BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.  See the License for the specific language governing
+# permissions and limitations under the License.
+# 
+# Author: Rares Vernica <rares (at) ics.uci.edu>
+
+DIR=`dirname $0`; if [ "${DIR:0:1}" == "." ]; then DIR=`pwd`"${DIR:1}"; fi
+source $DIR/conf.sh
+
+ARGS=1                   # Required number of arguments
+E_BADARGS=85             # Wrong number of arguments passed to script.
+if [ $# -lt "$ARGS" ]
+then
+  echo "Usage:   `basename $0` dataset"
+  echo "Example: `basename $0` dblp-small"
+  exit $E_BADARGS
+fi
+
+$SSJOIN/tokenizer $DATA/$1/raw-000/part-00000 $2
+mkdir $DATA/$1/$IN
+mv $DATA/$1/raw-000/part-00000.bin $DATA/$1/$IN/part-00000
+