Project descriptions for LARM

git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@150861 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
cmarschner 2002-12-01 23:48:00 +00:00
parent 16a54a317d
commit d75b377394
4 changed files with 1200 additions and 0 deletions

View File

@ -0,0 +1,282 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f4\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times;}
{\f5\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Helvetica;}{\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f28\froman\fcharset238\fprq2 Times New Roman CE;}{\f29\froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f31\froman\fcharset161\fprq2 Times New Roman Greek;}{\f32\froman\fcharset162\fprq2 Times New Roman Tur;}{\f33\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f34\froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f35\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f36\fswiss\fcharset238\fprq2 Arial CE;}{\f37\fswiss\fcharset204\fprq2 Arial Cyr;}{\f39\fswiss\fcharset161\fprq2 Arial Greek;}{\f40\fswiss\fcharset162\fprq2 Arial Tur;}
{\f41\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f42\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f43\fswiss\fcharset186\fprq2 Arial Baltic;}{\f60\froman\fcharset238\fprq2 Times CE;}{\f61\froman\fcharset204\fprq2 Times Cyr;}
{\f63\froman\fcharset161\fprq2 Times Greek;}{\f64\froman\fcharset162\fprq2 Times Tur;}{\f65\froman\fcharset177\fprq2 Times (Hebrew);}{\f66\froman\fcharset178\fprq2 Times (Arabic);}{\f67\froman\fcharset186\fprq2 Times Baltic;}
{\f68\fswiss\fcharset238\fprq2 Helvetica CE;}{\f69\fswiss\fcharset204\fprq2 Helvetica Cyr;}{\f71\fswiss\fcharset161\fprq2 Helvetica Greek;}{\f72\fswiss\fcharset162\fprq2 Helvetica Tur;}{\f73\fswiss\fcharset177\fprq2 Helvetica (Hebrew);}
{\f74\fswiss\fcharset178\fprq2 Helvetica (Arabic);}{\f75\fswiss\fcharset186\fprq2 Helvetica Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \snext0 Normal;}{\s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 1;}{\s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 2;}{\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 3;}{\s4\ql \fi-864\li864\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx864\aspalpha\aspnum\faauto\ls1\ilvl3\adjustright\rin0\lin864\itap0 \b\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 4;}{\s5\ql \fi-1008\li1008\ri0\sb240\sa60\widctlpar
\jclisttab\tx1008\aspalpha\aspnum\faauto\ls1\ilvl4\adjustright\rin0\lin1008\itap0 \b\i\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 5;}{\s6\ql \fi-1152\li1152\ri0\sb240\sa60\widctlpar
\jclisttab\tx1152\aspalpha\aspnum\faauto\ls1\ilvl5\adjustright\rin0\lin1152\itap0 \b\f4\fs22\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 6;}{\s7\ql \fi-1296\li1296\ri0\sb240\sa60\widctlpar
\jclisttab\tx1296\aspalpha\aspnum\faauto\ls1\ilvl6\adjustright\rin0\lin1296\itap0 \f4\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 7;}{\s8\ql \fi-1440\li1440\ri0\sb240\sa60\widctlpar
\jclisttab\tx1440\aspalpha\aspnum\faauto\ls1\ilvl7\adjustright\rin0\lin1440\itap0 \i\f4\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 8;}{\s9\ql \fi-1584\li1584\ri0\sb240\sa60\widctlpar
\jclisttab\tx1584\aspalpha\aspnum\faauto\ls1\ilvl8\adjustright\rin0\lin1584\itap0 \f5\fs22\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 9;}{\*\cs10 \additive Default Paragraph Font;}{
\s15\qc \li0\ri0\sb240\sa60\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f5\fs32\lang1033\langfe1031\kerning28\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext15 Title;}{
\s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext16 Heading1;}{\s17\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\i\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext17 Body Text;}{\s18\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 \sautoupd
toc 1;}{\s19\ql \li240\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin240\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 \sautoupd toc 2;}{
\s20\ql \li480\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin480\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 \sautoupd toc 3;}{
\s21\ql \li720\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 \sautoupd toc 4;}{
\s22\ql \li960\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin960\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 \sautoupd toc 5;}{
\s23\ql \li1200\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1200\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 \sautoupd toc 6;}{
\s24\ql \li1440\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1440\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 \sautoupd toc 7;}{
\s25\ql \li1680\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1680\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 \sautoupd toc 8;}{
\s26\ql \li1920\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin1920\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 \sautoupd toc 9;}{\*\cs27 \additive \ul\cf12 \sbasedon10 FollowedHyperlink;}{\*\cs28 \additive
\ul\cf2 \sbasedon10 Hyperlink;}{\s29\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \sbasedon0 \snext29 Body Text 2;}{
\s30\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \sbasedon0 \snext30 Body Text 3;}}{\*\listtable{\list\listtemplateid-100094782\listhybrid{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01-;}{\levelnumbers;}\loch\af0\hich\af0\dbch\af0\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720\jclisttab\tx720 }{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440\jclisttab\tx1440 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2160\jclisttab\tx2160 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2880\jclisttab\tx2880 }{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3600\jclisttab\tx3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4320\jclisttab\tx4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5040\jclisttab\tx5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5760\jclisttab\tx5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid72943879}{\list\listtemplateid1225178542\listhybrid
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\loch\af3\hich\af3\dbch\af0\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720
\jclisttab\tx720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440\jclisttab\tx1440 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2160\jclisttab\tx2160 }{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2880\jclisttab\tx2880 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3600\jclisttab\tx3600 }{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4320\jclisttab\tx4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5040\jclisttab\tx5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5760\jclisttab\tx5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid401611123}{\list\listtemplateid1804128586{\listlevel
\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s1\fi-432\li432\jclisttab\tx432 }{\listlevel\levelnfc0\levelnfcn0
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s2\fi-576\li576\jclisttab\tx576 }{\listlevel\levelnfc0\levelnfcn0\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s3\fi-720\li720\jclisttab\tx720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s4\fi-864\li864\jclisttab\tx864 }{\listlevel\levelnfc0\levelnfcn0
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s5\fi-1008\li1008\jclisttab\tx1008 }{\listlevel
\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s6\fi-1152\li1152
\jclisttab\tx1152 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1 \s7\fi-1296\li1296\jclisttab\tx1296 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers
\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s8\fi-1440\li1440\jclisttab\tx1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s9\fi-1584\li1584\jclisttab\tx1584 }{\listname ;}\listid854879813}{\list\listtemplateid-1571007954
\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01-;}{\levelnumbers;}\loch\af0\hich\af0\dbch\af0\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720
\jclisttab\tx720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440\jclisttab\tx1440 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2160\jclisttab\tx2160 }{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2880\jclisttab\tx2880 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3600\jclisttab\tx3600 }{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4320\jclisttab\tx4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5040\jclisttab\tx5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5760\jclisttab\tx5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid1061900166}{\list\listtemplateid358938326\listhybrid
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat4\levelspace0\levelindent0{\leveltext\'01-;}{\levelnumbers;}\loch\af0\hich\af0\dbch\af0\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li360
\jclisttab\tx360 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1080\jclisttab\tx1080 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1800\jclisttab\tx1800 }{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2520\jclisttab\tx2520 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3240\jclisttab\tx3240 }{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3960\jclisttab\tx3960 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4680\jclisttab\tx4680 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5400\jclisttab\tx5400 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6120\jclisttab\tx6120 }{\listname ;}\listid1318614571}{\list\listtemplateid375532796\listhybrid
{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1944109128\'02\'00.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720
\jclisttab\tx720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'01.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li1440
\jclisttab\tx1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'02.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-180\li2160
\jclisttab\tx2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'03.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li2880
\jclisttab\tx2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'04.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li3600
\jclisttab\tx3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'05.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-180\li4320
\jclisttab\tx4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'06.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li5040
\jclisttab\tx5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'07.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li5760
\jclisttab\tx5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'08.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-180\li6480
\jclisttab\tx6480 }{\listname ;}\listid1371959374}}{\*\listoverridetable{\listoverride\listid854879813\listoverridecount0\ls1}{\listoverride\listid1061900166\listoverridecount0\ls2}{\listoverride\listid401611123\listoverridecount0\ls3}
{\listoverride\listid72943879\listoverridecount0\ls4}{\listoverride\listid1318614571\listoverridecount0\ls5}{\listoverride\listid1371959374\listoverridecount0\ls6}}{\*\revtbl {Unknown;}{Peter Carlson;}{Clemens Marschner;}}{\info
{\title Create the ability to take data from different data sources including web pages, sql queries, and a file systems, and put them}{\author Peter Carlson}{\operator Clemens Marschner}{\creatim\yr2002\mo12\dy2\min41}{\revtim\yr2002\mo12\dy2\min41}
{\version2}{\edmins0}{\nofpages6}{\nofwords1570}{\nofchars8952}{\*\company Book and Hammer}{\nofcharsws10993}{\vern8249}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180
\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1\jexpand\viewkind1\viewscale133\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule \fet0\sectd
\linex0\endnhere\sectlinegrid360\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4
\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}
{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain
\s15\qc \li0\ri0\sb240\sa60\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f5\fs32\lang1033\langfe1031\kerning28\cgrid\langnp1033\langfenp1031 {\fs28\lang1040\langfe1031\langnp1040 Lucene Retrieval Machine
\par Lucene Framework
\par }{\fs28\lang1031\langfe1031\langnp1031 Mission Document
\par }\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\lang1040\langfe1031\langnp1040
\par }{\lang1031\langfe1031\langnp1031 Revision: 5 (cmarschn, 2002-12-01)
\par
\par Clemens Marschner - Otis Gospodnetic - Peter Carlson - Kelvin Tan
\par
\par
\par
\par
\par
\par
\par {\*\bkmkstart _Toc26539139}{\listtext\pard\plain\s1 \b\f1\fs32\lang1033\langfe1031\kerning32\langnp1033 \hich\af1\dbch\af0\loch\f1 1\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {Mission{\*\bkmkend _Toc26539139}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\fs56 \'93
\par }\pard \ql \fi720\li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {The }{\b Lucene Retrieval Machine}{ forms a complete and highly scalable search solut
ion for end-users of the Lucene search engine: Capable of intelligently indexing data from various sources, preprocessing of source documents configurable by the end user, up to a best-practice implementation of online search functionality.
\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {
\par }\pard \ql \fi720\li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {It will be based on the }{\b Lucene Framework }{
that provides implementations for data aggregation and indexing functionality utilizing the Lucene indexing API, while being easily extensible and constructible by application developers or researchers.
\par }\pard \qr \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\fs56 \'94}{
\par {\*\bkmkstart _Toc26539140}{\listtext\pard\plain\s1 \b\f1\fs32\lang1033\langfe1031\kerning32\langnp1033 \hich\af1\dbch\af0\loch\f1 2\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\outlinelevel0
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\outlinelevel0\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst0\pnrxst0\pnrstop4\pnrstart1\pnrrgb1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc0
\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc2\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr2\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {\page Background and goals{\*\bkmkend _Toc26539140}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {L
ucene 1.2 has become an increasingly popular library for incorporating search functionality into Java applications. As it stands, the Lucene codebase is an API, as opposed to a search framework, or a full-fledged search application. The consequence is tha
t developers (users of the API) often need to implement commonly-used but non-API functionality, in addition to any custom search requirements, to arrive at a working search application.
\par
\par This proposal is a plan to leverage existing contributions and integr
ate them into a Lucene search framework. We believe it will significantly reduce the time taken to implement a searching and indexing solution using Lucene, provide deeper functionality for a basic application and lower the time it takes for a new user to
be productive. It will also constitute a best-practice model of how the Lucene user community creates efficient, flexible search applications, by means of the framework.
\par
\par This framework is a foundation of what we call the Lucene Retrieval Machine (LARM). I
n contrast to the framework, the retrieval machine forms an application that can be installed and used by an end user. We think that the framework can be so modular that LARM can in fact form many different applications, from indexing database tables to f
ile systems, up to indexing a large portion of the web. Many of these configurations can come out-of-the box.
\par
\par To take a familiar example, the Apache Web Server provides a framework for pluggable modules (the Apache modules) that allow for easily extending
the web server using standard interfaces. On the other hand it is also easily configurable by an end user, and can be used without further programming. We want LARM to be even more flexible, to consist of merely a microkernel and consisting mainly of plug
gable components.
\par
\par {\*\bkmkstart _Toc26539142}{\listtext\pard\plain\s1 \b\f1\fs32\lang1033\langfe1031\kerning32\langnp1033 \hich\af1\dbch\af0\loch\f1 3\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {\page Fulfilled User Needs{\*\bkmkend _Toc26539142}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {The challenges faced by a typical Lucene user are:\line \line 1. Retrieving data from a myriad of data sources
\line 2. Processing this data to be added to the search index\line 3. Searching the index and displaying the search results
\par 4. Provide a consistent mechanism to access and display the detailed content\line \line Correspondingly, Lucene Framework addresses these challenges by \line providing\line \line - A data gather interface for retrieving data from various sources\line
- An indexing framework for updating indexes and indexing different kinds of data \line - A Search API which simplifies searching through abstraction, and provides display-related functionality\line \line In addition, Lucene Framework also provides\line
\line - IndexReader/IndexSearcher pooling mechanism (?)\line - Ability to run in single-VM or client/server mode (?)
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin360\itap0 {Ability to access multiple indexes to search
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}Provide consistent link between search and index analyzer\line \line
Hooks in the framework allow users to customize how the framework functions. These exist in the form of pluggable implementations of classes and user-defined "steps" in a pipeline. These are:\line \line
- Data sources which allows the user to abstract the data to be retrieved\line - Filters for pre- and post(?)-processing of what data needs to be indexed\line - Content handlers which define strategies for indexing different file types (e.g XML, PDF, etc)
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}Storage handlers so there can be a consistent way to access data from multiple data sources\line \line
With these, Lucene Framework should address most, if not all, of a developer's requirements for a Lucene application.
\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\lang2057\langfe1031\langnp2057
\par
\par {\*\bkmkstart _Toc26539143}{\listtext\pard\plain\s1 \b\f1\fs32\lang2057\langfe1031\kerning32\langnp2057 \hich\af1\dbch\af0\loch\f1 4\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {\lang2057\langfe1031\langnp2057 \page Scope/Requirements{\*\bkmkend _Toc26539143}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\lang2057\langfe1031\langnp2057 We see LARM to be comprised of the following major components:
\par 1) Data Gathering (web pages, database, file system)\line 2) Index creation (ability to handle data in different formats with \line configuration)\line 3) Search interface \line 4) Data display (ability to see content details of the data)
\par {\*\bkmkstart _Toc26539144}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang2057\langfe1031\langnp2057 \hich\af1\dbch\af0\loch\f1 4.1\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\lang2057\langfe1031\langnp2057 Data Gathering{\*\bkmkend _Toc26539144}
\par {\*\bkmkstart _Toc26539145}{\listtext\pard\plain\s3 \b\f1\fs26\lang2057\langfe1031\langnp2057 \hich\af1\dbch\af0\loch\f1 4.1.1\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\lang2057\langfe1031\langnp2057 Data Sources{\*\bkmkend _Toc26539145}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {
A major area of work will be the document sources section. It will comprise of components that may vary from very simple to complex
\par
\par {\listtext\pard\plain\f3\lang1033\langfe1031\langnp1033 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls3
\jclisttab\tx720\aspalpha\aspnum\faauto\ls3\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst183\pnrxst240\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 {Database
\par {\listtext\pard\plain\f3\lang1033\langfe1031\langnp1033 \loch\af3\dbch\af0\hich\f3 \'b7\tab}File System
\par {\listtext\pard\plain\f3\lang1033\langfe1031\langnp1033 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Web: This (assumingly large) subproject seeks for efficiently crawling the web. It\rquote s described elsewhere
\par {\listtext\pard\plain\f3\lang1033\langfe1031\langnp1033 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Something else: JMS Queues, Mailing lists, mail servers, or whatever else contains text or can be converted to text
\par {\*\bkmkstart _Toc26539146}{\listtext\pard\plain\s3 \b\f1\fs26\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.1.2\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Operating Modes{\*\bkmkend _Toc26539146}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {LARM will mostly be concerned with updating an already existing index. We don\rquote
t want a solution that has to rebuild the whole index from scratch. It should do only as little work as necessary while indexing. That means, if possible, only the data that has changed is updated. We see two modes
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls2
\jclisttab\tx720\aspalpha\aspnum\faauto\ls2\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst45\pnrxst0\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 {Scheduled full (re)indexing. The index is completely rebuilt from time to time. We want to avoid having to take external programs to do that, so a configurable scheduler that triggers the process should be incorporated
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}Increme
ntal re-indexing: If possible, re-indexing should take place incrementally: the index should only be updated if documents were added, modified or deleted. This requires a notification from the data source, e.g. by database triggers or file system notifica
tion. As data sources will typically not be aware of LARM indexing, LARM will poll these data sources periodically. LARM will check for any changes such as additions, modifications or deletions.
\par {\*\bkmkstart _Toc26539147}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.2\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Indexing{\*\bkmkend _Toc26539147}
\par {\*\bkmkstart _Toc26539148}{\listtext\pard\plain\s3 \b\f1\fs26\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.2.1\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Data Processing{\*\bkmkend _Toc26539148}
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard\plain \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls2
\jclisttab\tx720\aspalpha\aspnum\faauto\ls2\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst45\pnrxst0\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc2\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr2\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Preprocessing means making differen
t kinds of data available for the indexer. This means HTML, PDF etc. must first be transformed to a format that can be understood by the indexer and other storage devices. This means fielded data in text, number or date format.
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}The data is then put into a
pipeline of components that may work on the data in order to transform different input formats into a set of fields and tokens. This step can involve putting headings and body text into different fields, or doing linguistic analysis on the content. [I thi
nk a distinction needs to be made between the Lucene analyzer/tokenizer and the pre or post processor]
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}Also are we going to support field types?
\par {\*\bkmkstart _Toc26539149}{\listtext\pard\plain\s3 \b\f1\fs26\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.2.2\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Indexing Step{\*\bkmkend _Toc26539149}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {For indexing itself we want to use Lucene. One of the components in the data processing pipeline w
ill use the Lucene API to add incoming data to the index. It puts tokenized fields into a searchable index. It can also store the raw data or index the raw data. The index option will be configurable. No other components in the pipeline should know about
Lucene. For them this is just another step in the pipeline, another component.
\par {\*\bkmkstart _Toc26539150}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.3\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Searching{\*\bkmkend _Toc26539150}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {
The best practices way of searching and returning search results, including functionality such as index reader pooling, sorting search results and paging.
\par Proposed: SearchBean, in conjunction with the indexing framework.
\par Implementation:
\par Create a standard API to search the index. When items are updated, deleted or added, by the Indexing engine, have the index}{\revised\revauth2\revdttm107744546 }{automatically reflect this updated information including creati
ng new sorted indexes and not having to worry about which index searcher to use. Also, increase performance by using pooled index searchers, which get updated at the appropriate time.}{\f5\cf1
\par {\*\bkmkstart _Toc26539151}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.4\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Nonfunctional Requirements{\*\bkmkend _Toc26539151}
\par {\*\bkmkstart _Toc26539152}{\listtext\pard\plain\s3 \b\f1\fs26\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.4.1\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Scalability{\*\bkmkend _Toc26539152}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {We want the whole system to scal
e up to hundreds of millions of documents. This is what we see as one of the major challenges why we work on this project.
\par Scalability means
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls2
\jclisttab\tx720\aspalpha\aspnum\faauto\ls2\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst45\pnrxst0\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc4\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr4\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 {We have to avoid algorithms that have a higher than constant complexity,
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}We have to avoid internal I/O (hard drive or network accesses),
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}We will have to use efficient data structures and/or compression, where applicable.
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}In order to avoid more than necessary synchronization points between processes, we have to be able to exchange much of the data in }{\b batch mode}{, as
well to cater the several orders of magnitude slower communication through network or hard drive I/O.
\par {\*\bkmkstart _Toc26539153}{\listtext\pard\plain\s3 \b\f1\fs26\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.4.2\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Configuration{\*\bkmkend _Toc26539153}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {
LARM provides a standard way of configuration of all components in the system. Parameters that may be configured include:
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls2
\jclisttab\tx720\aspalpha\aspnum\faauto\ls2\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst45\pnrxst0\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc8\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr8\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 {Mapping of name extensions or MIME types to data handlers.
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}Index handler configuration
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}Sorted fields
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}Default conjunction operator
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}[Full list needs to be defined]}{\f5\cf1
\par {\*\bkmkstart _Toc26539154}{\listtext\pard\plain\s3 \b\f1\fs26\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.4.3\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Inherently Distributable{\*\bkmkend _Toc26539154}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Constrained system resources (hard drive & network I/O, CPU and RAM) require that dif
ferent components may be distributed over multiple machines. This calls for a message-oriented paradigm with coarse-grained data exchange packets.
\par {\*\bkmkstart _Toc26539155}{\listtext\pard\plain\s3 \b\f1\fs26\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.4.4\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Component-Based Approach{\*\bkmkend _Toc26539155}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Our intention is to use Avalon as the basis for the framework. Whilst we recognize t
hat this might significantly increase the learning curve to using the framework, we feel that its an acceptable tradeoff in exchange for a well-designed, production-quality server framework.
\par The component-based approach means different parts of the system
(e.g. data sources and the pipeline) are only loosely coupled. This will enable us to assemble a system using configuration files, not source code, to incorporate external developments more easily through standard interfaces, and to be able to break up di
fferent steps of the pipeline into several processes, connected by data exchange components.
\par {\*\bkmkstart _Toc26539156}{\listtext\pard\plain\s3 \b\f1\fs26\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.4.5\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Fail-Safety{\*\bkmkend _Toc26539156}/Check-pointing
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {
If LARM is to be used in a production environment there have to be possibilities to shut the system down at least at specified checkpoint
s, and to recover after a system crash. Since indexing operations may take days or even weeks, it must be possible to save the global status of an indexing operation, at least every now and then.
\par {\*\bkmkstart _Toc26539157}{\listtext\pard\plain\s3 \b\f1\fs26\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.4.6\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Other non-functional Requirements{\*\bkmkend _Toc26539157}
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard\plain \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls2
\jclisttab\tx720\aspalpha\aspnum\faauto\ls2\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst45\pnrxst0\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc13\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr13\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Common logging mechanism
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}Common configuration mechanism
\par {\*\bkmkstart _Toc26539158}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.5\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Out of Scope{\*\bkmkend _Toc26539158}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {We see the following aspects to be out of scope of our approach:
\par {\listtext\pard\plain\lang1033\langfe1031\langnp1033 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0 {
Complete transaction safety. This would involve an XA based architecture that would guarantee that a change, e.g. in a database table, would result in an index update in the LARM engine. Core-Lucene is not transaction safe at this time, so this wouldn
\rquote t make sense. In general, we favor a lean approach that allows slight differences between the index and the underlying data}{\b\f1\fs32\kerning32
\par }\pard \ql \li720\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 {
\par }{\i [Peter: }{\i\kerning32 I think we should include the transactional like updating. We need to be able to update a live index.]}{\kerning32
\par {\*\bkmkstart _Toc26539159}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\kerning32\langnp1033 \hich\af1\dbch\af0\loch\f1 4.6\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\kerning32 Development Standards{\*\bkmkend _Toc26539159}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\kerning32 - Coding Style: Every LARM developer agrees to use the Avalon guidelines avail
able at http://jakarta.apache.org/avalon/code-standards.html}{
\par }{\kerning32 - Logging: In case we use Avalon, Avalon LogKit is used. Otherwise we use Jakarta Log4J [configuration to be defined]}{
\par }}

View File

@ -0,0 +1,789 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f4\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times;}
{\f5\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Helvetica;}{\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f28\froman\fcharset238\fprq2 Times New Roman CE;}{\f29\froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f31\froman\fcharset161\fprq2 Times New Roman Greek;}{\f32\froman\fcharset162\fprq2 Times New Roman Tur;}{\f33\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f34\froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f35\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f36\fswiss\fcharset238\fprq2 Arial CE;}{\f37\fswiss\fcharset204\fprq2 Arial Cyr;}{\f39\fswiss\fcharset161\fprq2 Arial Greek;}{\f40\fswiss\fcharset162\fprq2 Arial Tur;}
{\f41\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f42\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f43\fswiss\fcharset186\fprq2 Arial Baltic;}{\f60\froman\fcharset238\fprq2 Times CE;}{\f61\froman\fcharset204\fprq2 Times Cyr;}
{\f63\froman\fcharset161\fprq2 Times Greek;}{\f64\froman\fcharset162\fprq2 Times Tur;}{\f65\froman\fcharset177\fprq2 Times (Hebrew);}{\f66\froman\fcharset178\fprq2 Times (Arabic);}{\f67\froman\fcharset186\fprq2 Times Baltic;}
{\f68\fswiss\fcharset238\fprq2 Helvetica CE;}{\f69\fswiss\fcharset204\fprq2 Helvetica Cyr;}{\f71\fswiss\fcharset161\fprq2 Helvetica Greek;}{\f72\fswiss\fcharset162\fprq2 Helvetica Tur;}{\f73\fswiss\fcharset177\fprq2 Helvetica (Hebrew);}
{\f74\fswiss\fcharset178\fprq2 Helvetica (Arabic);}{\f75\fswiss\fcharset186\fprq2 Helvetica Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \snext0 Normal;}{\s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 1;}{\s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 2;}{\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 3;}{\s4\ql \fi-864\li864\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx864\aspalpha\aspnum\faauto\ls1\ilvl3\adjustright\rin0\lin864\itap0 \b\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 4;}{\s5\ql \fi-1008\li1008\ri0\sb240\sa60\widctlpar
\jclisttab\tx1008\aspalpha\aspnum\faauto\ls1\ilvl4\adjustright\rin0\lin1008\itap0 \b\i\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 5;}{\s6\ql \fi-1152\li1152\ri0\sb240\sa60\widctlpar
\jclisttab\tx1152\aspalpha\aspnum\faauto\ls1\ilvl5\adjustright\rin0\lin1152\itap0 \b\f4\fs22\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 6;}{\s7\ql \fi-1296\li1296\ri0\sb240\sa60\widctlpar
\jclisttab\tx1296\aspalpha\aspnum\faauto\ls1\ilvl6\adjustright\rin0\lin1296\itap0 \f4\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 7;}{\s8\ql \fi-1440\li1440\ri0\sb240\sa60\widctlpar
\jclisttab\tx1440\aspalpha\aspnum\faauto\ls1\ilvl7\adjustright\rin0\lin1440\itap0 \i\f4\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 8;}{\s9\ql \fi-1584\li1584\ri0\sb240\sa60\widctlpar
\jclisttab\tx1584\aspalpha\aspnum\faauto\ls1\ilvl8\adjustright\rin0\lin1584\itap0 \f5\fs22\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 9;}{\*\cs10 \additive Default Paragraph Font;}{
\s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \i\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext15 Body Text;}{\s16\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \sbasedon0 \snext16 Body Text 3;}{\s17\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \sbasedon0 \snext17
Body Text 2;}{\s18\qc \li0\ri0\sb240\sa60\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f5\fs32\lang1033\langfe1031\kerning28\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext18 Title;}}{\*\listtable
{\list\listtemplateid-100094782\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01-;}{\levelnumbers;}\loch\af0\hich\af0\dbch\af0\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720\jclisttab\tx720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440\jclisttab\tx1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2160\jclisttab\tx2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2880\jclisttab\tx2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3600\jclisttab\tx3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4320\jclisttab\tx4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5040\jclisttab\tx5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5760\jclisttab\tx5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid72943879}{\list\listtemplateid1225178542\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext
\'01\u-3913 ?;}{\levelnumbers;}\loch\af3\hich\af3\dbch\af0\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720\jclisttab\tx720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440\jclisttab\tx1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2160\jclisttab\tx2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2880\jclisttab\tx2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3600\jclisttab\tx3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4320\jclisttab\tx4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5040\jclisttab\tx5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5760\jclisttab\tx5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid401611123}{\list\listtemplateid1804128586{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s1\fi-432\li432\jclisttab\tx432 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s2\fi-576\li576\jclisttab\tx576 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s3\fi-720\li720\jclisttab\tx720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s4\fi-864\li864\jclisttab\tx864 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s5\fi-1008\li1008\jclisttab\tx1008 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s6\fi-1152\li1152\jclisttab\tx1152 }{\listlevel\levelnfc0
\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s7\fi-1296\li1296
\jclisttab\tx1296 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1 \s8\fi-1440\li1440\jclisttab\tx1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers
\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s9\fi-1584\li1584\jclisttab\tx1584 }{\listname ;}\listid854879813}{\list\listtemplateid-1571007954\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01-;}{\levelnumbers;}\loch\af0\hich\af0\dbch\af0\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720\jclisttab\tx720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440\jclisttab\tx1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2160\jclisttab\tx2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2880\jclisttab\tx2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3600\jclisttab\tx3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4320\jclisttab\tx4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5040\jclisttab\tx5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5760\jclisttab\tx5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid1061900166}{\list\listtemplateid358938326\listhybrid{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat4\levelspace0\levelindent0{\leveltext\'01-;}{\levelnumbers;}\loch\af0\hich\af0\dbch\af0\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li360\jclisttab\tx360 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1080\jclisttab\tx1080 }{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1800\jclisttab\tx1800 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2520\jclisttab\tx2520 }{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3240\jclisttab\tx3240 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3960\jclisttab\tx3960 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4680\jclisttab\tx4680 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5400\jclisttab\tx5400 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6120\jclisttab\tx6120 }{\listname ;}\listid1318614571}{\list\listtemplateid375532796\listhybrid
{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1944109128\'02\'00.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720
\jclisttab\tx720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'01.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li1440
\jclisttab\tx1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'02.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-180\li2160
\jclisttab\tx2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'03.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li2880
\jclisttab\tx2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'04.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li3600
\jclisttab\tx3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'05.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-180\li4320
\jclisttab\tx4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'06.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li5040
\jclisttab\tx5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'07.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li5760
\jclisttab\tx5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'08.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-180\li6480
\jclisttab\tx6480 }{\listname ;}\listid1371959374}}{\*\listoverridetable{\listoverride\listid854879813\listoverridecount0\ls1}{\listoverride\listid1061900166\listoverridecount0\ls2}{\listoverride\listid401611123\listoverridecount0\ls3}
{\listoverride\listid72943879\listoverridecount0\ls4}{\listoverride\listid1318614571\listoverridecount0\ls5}{\listoverride\listid1371959374\listoverridecount0\ls6}}{\info{\title System Overview}{\author Clemens Marschner}{\operator Clemens Marschner}
{\creatim\yr2002\mo12\dy2\min42}{\revtim\yr2002\mo12\dy2\min42}{\version2}{\edmins0}{\nofpages6}{\nofwords1768}{\nofchars10078}{\*\company Dell Computer Corporation}{\nofcharsws12376}{\vern8249}}
\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1134 \deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1417\dgvorigin1417\dghshow1
\dgvshow1\jexpand\viewkind1\viewscale137\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule \fet0\sectd
\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang
{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7
\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain
\s18\qc \li0\ri0\sb240\sa60\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f5\fs32\lang1033\langfe1031\kerning28\cgrid\langnp1033\langfenp1031 {\fs28\lang1040\langfe1031\langnp1040 {\*\bkmkstart _Toc26538536}
Lucene Retrieval Machine
\par Lucene Framework
\par }{\fs28\lang1031\langfe1031\langnp1031 System Overview Document
\par }\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang1040\langfe1031\langnp1040
\par }{Revision: 5 (cmarschn, 2002-12-01)
\par
\par Clemens Marschner - Otis Gospodnetic - Peter Carlson - Kelvin Tan
\par
\par }\pard\plain \s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {System Overview{\*\bkmkend _Toc26538536}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang1033\langfe1031\langnp1033
\par {\*\bkmkstart _Toc26538537}{\listtext\pard\plain\s1 \b\f1\fs32\lang1033\langfe1031\kerning32\langnp1033 \hich\af1\dbch\af0\loch\f1 1\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {System Layers{\*\bkmkend _Toc26538537}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 The high level parts are not dependent on each other.
They communicate through the message system provided by existing solutions [Avalon Event] and processing pipelines. They may all have to use standard services, exposed to them by an external configuration mechanism [aka IOC pattern/Phoenix]
\par
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft4140\shptop35\shpright5400\shpbottom1475\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz28\shplid1069
{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 65536}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs20\lang2057\langfe1031\langnp2057
\par Services \line (e.g. Scheduler)
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8220\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs20\lang2057\langfe1031\langnp2057
\par Services \line (e.g. Scheduler)
\par }}\dpx4140\dpy35\dpxsize1260\dpysize1440\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft3060\shptop35\shpright3960\shpbottom575\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz30\shplid1071{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 131072}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs20 Search
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8222\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs20 Search
\par }}\dpx3060\dpy35\dpxsize900\dpysize540\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft1620\shptop35\shpright2880\shpbottom575\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz29\shplid1070{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 196608}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs20 Indexing}{
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8221\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs20 Indexing}{
\par }}\dpx1620\dpy35\dpxsize1260\dpysize540\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft540\shptop47\shpright1440\shpbottom587\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz27\shplid1068{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 262144}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs20 Source
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8219\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs20 Source
\par }}\dpx540\dpy47\dpxsize900\dpysize540\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft540\shptop215\shpright3960\shpbottom923\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz26\shplid1067
{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 327680}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs20\lang1036\langfe1031\langnp1036 LARM Message System (Messages, Sources, Pipelines etc.)
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8218\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs20\lang1036\langfe1031\langnp1036 LARM Message System (Messages, Sources, Pipelines etc.)
\par }}\dpx540\dpy215\dpxsize3420\dpysize708\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par
\par
\par }{{\*\bkmkstart _Toc26538538}
\par {\listtext\pard\plain\s1 \b\f1\fs32\lang1033\langfe1031\kerning32\langnp1033 \hich\af1\dbch\af0\loch\f1 2\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {Subsystem Interactivity{\*\bkmkend _Toc26538538}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 The following shows one possible LARM configuration:
\par
\par
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft6155\shptop146\shpright8315\shpbottom1928\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz35\shplid1076
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 393216}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18 Some Container
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8227\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18 Some Container
\par }}\dpx6155\dpy146\dpxsize2160\dpysize1782\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft395\shptop146\shpright4175\shpbottom1226\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz33\shplid1074{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 458752}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 Avalon Phoenix Container: Scheduler
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8225\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16
Avalon Phoenix Container: Scheduler
\par }}\dpx395\dpy146\dpxsize3780\dpysize1080\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft6335\shptop230\shpright8135\shpbottom950\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz42\shplid1083
{\sp{\sn shapeType}{\sv 16}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 524288}}{\sp{\sn adjustValue}{\sv 960}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18 Search&Sort component
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8234\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18 Search&Sort component
\par }}\dpx6335\dpy230\dpxsize1800\dpysize720\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft4535\shptop230\shpright5615\shpbottom1310\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz37\shplid1078{\sp{\sn shapeType}{\sv 22}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 589824}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \s16\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {Lucene Index
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8229\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \s16\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {Lucene Index
\par }}\dpx4535\dpy230\dpxsize1080\dpysize1080\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft755\shptop230\shpright2555\shpbottom770\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz36\shplid1077{\sp{\sn shapeType}{\sv 16}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 655360}}{\sp{\sn adjustValue}{\sv 960}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18
Scheduler
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8228\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18 Scheduler
\par }}\dpx755\dpy230\dpxsize1800\dpysize540\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft5580\shptop134\shpright6286\shpbottom494\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz69\shplid1110
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 720896}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 searches
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8261\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 searches
\par }}\dpx5580\dpy134\dpxsize706\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft2880\shptop134\shpright3586\shpbottom494\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz68\shplid1109{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 786432}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 get docs to reindex
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8260\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 get docs to reindex
\par }}\dpx2880\dpy134\dpxsize706\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft1655\shptop218\shpright2361\shpbottom578\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz64\shplid1105
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 851968}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 Request
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8256\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 Request
\par }}\dpx1655\dpy218\dpxsize706\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft8161\shptop112\shpright8701\shpbottom472\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz59\shplid1100{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 917504}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 HTTP
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8251\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 HTTP
\par }}\dpx8161\dpy112\dpxsize540\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft8135\shptop38\shpright8495\shpbottom38\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz54\shplid1095{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineWidth}{\sv 12700}}{\sp{\sn lineDashing}{\sv 2}}{\sp{\sn lineStartArrowhead}{\sv 2}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineStartArrowWidth}{\sv 0}}
{\sp{\sn lineEndArrowWidth}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8246\dpline\dpptx0\dppty0\dpptx360\dppty0\dpx8135\dpy38\dpxsize360\dpysize0
\dplinew20\dplinecor0\dplinecog0\dplinecob0}}}{\shp{\*\shpinst\shpleft2555\shptop38\shpright4535\shpbottom38\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz49\shplid1090
{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 1}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineEndArrowWidth}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8241\dpline\dpptx1980\dppty0\dpptx0\dppty0\dpx2555\dpy38\dpxsize1980\dpysize0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft5615\shptop38\shpright6335\shpbottom38\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz48\shplid1089{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 1}}{\sp{\sn fFlipV}{\sv 1}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineEndArrowWidth}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8240\dpline\dpptx0\dppty0\dpptx720\dppty0\dpx5615\dpy38\dpxsize720\dpysize0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft1655\shptop218\shpright1655\shpbottom758\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz43\shplid1084{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineEndArrowWidth}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8235
\dpline\dpptx0\dppty0\dpptx0\dppty540\dpx1655\dpy218\dpxsize0\dpysize540\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft7200\shptop105\shpright7200\shpbottom465\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz71\shplid1112
{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineWidth}{\sv 12700}}{\sp{\sn lineDashing}{\sv 2}}{\sp{\sn lineStartArrowhead}{\sv 2}}
{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineStartArrowWidth}{\sv 0}}{\sp{\sn lineEndArrowWidth}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8263
\dpline\dpptx0\dppty0\dpptx0\dppty360\dpx7200\dpy105\dpxsize0\dpysize360\dplinew20\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft6660\shptop105\shpright6660\shpbottom1185\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz55\shplid1096{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineStartArrowhead}{\sv 2}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineStartArrowWidth}{\sv 0}}{\sp{\sn lineEndArrowWidth}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8247\dpline\dpptx0\dppty0\dpptx0\dppty1080\dpx6660\dpy105\dpxsize0\dpysize1080\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft6300\shptop105\shpright6840\shpbottom465\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz58\shplid1099{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 983040}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 RPC
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8250\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 RPC
\par }}\dpx6300\dpy105\dpxsize540\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft395\shptop180\shpright4175\shpbottom1105\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz31\shplid1072{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 1048576}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang1036\langfe1031\langnp1036
Avalon Phoenix Container: Gatherer
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8223\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang1036\langfe1031\langnp1036 Avalon Phoenix Container: Gatherer
\par }}\dpx395\dpy180\dpxsize3780\dpysize925\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft6833\shptop137\shpright8093\shpbottom497\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz70\shplid1111
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 1114112}}{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18\lang2057\langfe1031\langnp2057 Local App
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8262\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs18\lang2057\langfe1031\langnp2057 Local App
\par }}\dpx6833\dpy137\dpxsize1260\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft5075\shptop206\shpright5075\shpbottom1106\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz47\shplid1088{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 1}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineEndArrowWidth}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8239
\dpline\dpptx0\dppty0\dpptx0\dppty900\dpx5075\dpy206\dpxsize0\dpysize900\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft755\shptop206\shpright2555\shpbottom746\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz38\shplid1079{\sp{\sn shapeType}{\sv 16}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 1179648}}{\sp{\sn adjustValue}{\sv 960}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18
Gatherer
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8230\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18 Gatherer
\par }}\dpx755\dpy206\dpxsize1800\dpysize540\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft-180\shptop169\shpright360\shpbottom830\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz66\shplid1107
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 1245184}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057
ext. Data Sources
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8258\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 ext. Data Sources
\par }}\dpx-180\dpy169\dpxsize540\dpysize661\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft-145\shptop107\shpright755\shpbottom107\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz65\shplid1106{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineWidth}{\sv 12700}}{\sp{\sn lineDashing}{\sv 2}}{\sp{\sn lineStartArrowhead}{\sv 2}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineStartArrowWidth}{\sv 0}}
{\sp{\sn lineEndArrowWidth}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8257\dpline\dpptx0\dppty0\dpptx900\dppty0\dpx-145\dpy107\dpxsize900\dpysize0
\dplinew20\dplinecor0\dplinecog0\dplinecob0}}}{\shp{\*\shpinst\shpleft5089\shptop-5\shpright5795\shpbottom355\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz60\shplid1101
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 1310720}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 Message
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8252\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 Message
\par }}\dpx5089\dpy-5\dpxsize706\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft1655\shptop194\shpright2361\shpbottom554\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz63\shplid1104
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 1376256}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 Message
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8255\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 Message
\par }}\dpx1655\dpy194\dpxsize706\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft1655\shptop194\shpright1655\shpbottom734\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz44\shplid1085{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineEndArrowWidth}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8236
\dpline\dpptx0\dppty0\dpptx0\dppty540\dpx1655\dpy194\dpxsize0\dpysize540\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft4355\shptop14\shpright5975\shpbottom1274\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz34\shplid1075{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 1441792}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \s17\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang1036\langfe1031\langnp1036
Avalon Phoenix Container: Indexer
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8226\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \s17\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang1036\langfe1031\langnp1036 Avalon Phoenix Container: Indexer
\par }}\dpx4355\dpy14\dpxsize1620\dpysize1260\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft6120\shptop81\shpright7248\shpbottom981\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz53\shplid1094
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 1507328}}{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18\lang2057\langfe1031\langnp2057 Servlet Runner / AppServer
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8245\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs18\lang2057\langfe1031\langnp2057 Servlet Runner / AppServer
\par }}\dpx6120\dpy81\dpxsize1128\dpysize900\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft395\shptop98\shpright4175\shpbottom998\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz32\shplid1073{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 1572864}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang1036\langfe1031\langnp1036
Avalon Phoenix Container: Processor
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8224\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang1036\langfe1031\langnp1036 Avalon Phoenix Container: Processor
\par }}\dpx395\dpy98\dpxsize3780\dpysize900\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft7380\shptop165\shpright8280\shpbottom525\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz57\shplid1098
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 1638400}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 e.g. HTTP
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8249\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 e.g. HTTP
\par }}\dpx7380\dpy165\dpxsize900\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft7200\shptop165\shpright8460\shpbottom165\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz56\shplid1097{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineWidth}{\sv 12700}}{\sp{\sn lineDashing}{\sv 2}}{\sp{\sn lineStartArrowhead}{\sv 2}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineStartArrowWidth}{\sv 0}}
{\sp{\sn lineEndArrowWidth}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8248\dpline\dpptx0\dppty0\dpptx1260\dppty0\dpx7200\dpy165\dpxsize1260\dpysize0
\dplinew20\dplinecor0\dplinecog0\dplinecob0}}}{\shp{\*\shpinst\shpleft2195\shptop182\shpright2901\shpbottom542\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz62\shplid1103
{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 1703936}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 Message
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8254\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 Message
\par }}\dpx2195\dpy182\dpxsize706\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft3995\shptop182\shpright4701\shpbottom542\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz61\shplid1102{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 1769472}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 Message
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8253\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 Message
\par }}\dpx3995\dpy182\dpxsize706\dpysize360\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft4477\shptop1\shpright5917\shpbottom582\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz41\shplid1082{\sp{\sn shapeType}{\sv 16}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 1835008}}{\sp{\sn adjustValue}{\sv 960}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \s17\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
Indexing Component
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8233\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \s17\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs18\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {Indexing Component
\par }}\dpx4477\dpy1\dpxsize1440\dpysize581\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft2539\shptop152\shpright3979\shpbottom692\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz40\shplid1081{\sp{\sn shapeType}{\sv 16}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 1900544}}{\sp{\sn adjustValue}{\sv 960}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18
Processor2
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8232\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18 Processor2
\par }}\dpx2539\dpy152\dpxsize1440\dpysize540\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft739\shptop152\shpright2179\shpbottom692\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz39\shplid1080{\sp{\sn shapeType}{\sv 16}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 1966080}}{\sp{\sn adjustValue}{\sv 960}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18
Processor1
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8231\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs18 Processor1
\par }}\dpx739\dpy152\dpxsize1440\dpysize540\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par }{\fs20\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft3995\shptop86\shpright4535\shpbottom86\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz46\shplid1087
{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineEndArrowWidth}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8238\dpline\dpptx0\dppty0\dpptx540\dppty0\dpx3995\dpy86\dpxsize540\dpysize0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft2195\shptop86\shpright2555\shpbottom86\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz45\shplid1086{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineEndArrowWidth}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8237
\dpline\dpptx0\dppty0\dpptx360\dppty0\dpx2195\dpy86\dpxsize360\dpysize0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par }\pard\plain \s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel1\s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel1\pnrauth1\pnrdate1718329868\pnrnot1\adjustright\rin0\lin0\itap0
\b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\fs20\lang1024\langfe1024\noproof {\*\bkmkstart _Toc25304172}{\*\bkmkstart _Toc25305858}{\*\bkmkstart _Toc25305958}{\*\bkmkstart _Toc25306039}{\*\bkmkstart _Toc25306869}
{\*\bkmkstart _Toc25306913}{\*\bkmkstart _Toc25306959}{\*\bkmkstart _Toc26538493}{\*\bkmkstart _Toc26538539}
{\shp{\*\shpinst\shpleft6515\shptop170\shpright7955\shpbottom1070\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz52\shplid1093{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2031616}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 (read) access
\par message passing
\par }{\fs16\lang1036\langfe1031\langnp1036 process boundary
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8244\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 (read) access
\par message passing
\par }{\fs16\lang1036\langfe1031\langnp1036 process boundary
\par }}\dpx6515\dpy170\dpxsize1440\dpysize900\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinehollow}}}
{\shp{\*\shpinst\shpleft6155\shptop530\shpright6515\shpbottom530\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz51\shplid1092{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineEndArrowWidth}{\sv 0}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8243
\dpline\dpptx0\dppty0\dpptx360\dppty0\dpx6155\dpy530\dpxsize360\dpysize0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft6155\shptop350\shpright6515\shpbottom350\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz50\shplid1091{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 1}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn lineEndArrowhead}{\sv 2}}{\sp{\sn lineEndArrowWidth}{\sv 0}}
{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8242\dpline\dpptx360\dppty0\dpptx0\dppty0\dpx6155\dpy350\dpxsize360\dpysize0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{
{\*\bkmkend _Toc25304172}{\*\bkmkend _Toc25305858}{\*\bkmkend _Toc25305958}{\*\bkmkend _Toc25306039}{\*\bkmkend _Toc25306869}{\*\bkmkend _Toc25306913}{\*\bkmkend _Toc25306959}{\*\bkmkend _Toc26538493}{\*\bkmkend _Toc26538539}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs20\lang1024\langfe1024\noproof
{\shp{\*\shpinst\shpleft6144\shptop19\shpright6504\shpbottom199\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz67\shplid1108{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2097152}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8259\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\par }}\dpx6144\dpy19\dpxsize360\dpysize180\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par
\par This diagram actually consists of two pipelines:
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls2
\jclisttab\tx720\aspalpha\aspnum\faauto\ls2\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst45\pnrxst0\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc16\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr16\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 {\lang2057\langfe1031\langnp2057 The first one between the Scheduler and the Gatherer, which conveys request
messages. Since, as in case of the web crawler, new requests may be put back at any time, this pipeline runs independently of the other one
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}The second one between the Gatherer and the Indexing component, which runs through several steps and (optionally) through process boundaries
\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\b\lang2057\langfe1031\langnp2057
The diagram is only an example on how process boundaries could be defined. These boundaries only make sense if there is an advantage, e.g. to provide a means for load balancing. It could all take place in only one container}{
\b\i\lang2057\langfe1031\langnp2057 .}{\lang2057\langfe1031\langnp2057 (the term \'93container\'94 meaning the same as in J2EE)
\par It is important to note that the most important dependency among the different parts is the message itself.
\par
\par Notes [Otis]:
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 1.\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin720\itap0 {\lang2057\langfe1031\langnp2057
Scheduler: Peter Donald recognized the need for this right away.\~ He also called it a Job Server.\~ The 'Cornerstone?' reference in the diagram refers to a Scheduler component that is a part of Cornerstone.\line
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 2.\tab}Scheduler gets documents that need to be re-indexed from an existing index, wraps them in a Request Container, and puts them in the Requ
est Queue of the Gatherer (or Fetcher, same thing, lets pick one name).\~ We could also provide an interface where a user can manually add Request Containers into the Request Queue.\~
We could also have an implementation of Scheduler that looks at some external locations for documents to index\line (e.g. it may occasionally pass a Request Container to the Gatherer telling it to fetch something that is not already in the index).\line
\line In this example with 3 components they all run under Avalon, just like Scheduler, and
Gatherer, but only the one that deals with Lucene-specific stuff (e.g. Fields, Documents, Analyzers, IndexWriter...) has the knowledge of Lucene and its classes. Some components may have multiple instances of itself in the Pipeline, some may not.\line
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 3.\tab}Index is a standard Lucene Index.\~ If we can process Messages that end up in multiple indices, that's great, but not needed right away, I think.\line
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 4.\tab}Finally, the search component doesn't participate in document processing, only index searching.\~ I am not sure what w
ould be hosting it, whether it would be a Servlet container (e.g. SearchBean would be called from a servlet, like it probably is currently in most places that use it), or whether it would be Avalon (how do we serve HTTP requests by a component that runs u
nder Avalon?\~ Apples and oranges?). I don\rquote t think we worry about this we just provide an interface.
\par {\*\bkmkstart _Toc26538540}{\listtext\pard\plain\s1 \b\f1\fs32\lang1033\langfe1031\kerning32\langnp1033 \hich\af1\dbch\af0\loch\f1 3\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {The Pipeline Framework{\*\bkmkend _Toc26538540}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057
The Lucene Framework is based on a set of components that provide complete data aggregation and indexing functionality. The integratio
n of these various components provide an ease of use for extracting data from various data source and indexing the information.
\par The Lucene Framework creates the ability to take data from different data sources including web pages, databases, and file syst
ems, and put them into a Lucene index. Optionally, take the data from the data source at a unit level (a web pages, a row or a file) and store that into a file in a standard format for later display.
\par For the Web pages, the framework includes a complete crawler with the ability to provide a link handling strategy that indicates how to handle embedded links within the web pages.
\par
\par The pipeline framework is a set of classes that allows for a separation of different \'93assembly\'94 parts of the whole system. That way different parts of the pipeline can be put in different classes and can be developed rather independently.
\par It\rquote s an in-process framework (compared to message queue systems which are mostly used for interprocess communications) and very low level: If it is
known that only thread is involved, the components need not even be thread safe. The aim is to be able to process a very large number of small messages rapidly.
\par It\rquote s also not a real workflow system, since it is a lot less complex and may become, for the sake of speed, more specialized.
\par {\*\bkmkstart _Toc26538541}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 3.1\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Active and Passive Components{\*\bkmkend _Toc26538541}
\par }\pard\plain \s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \i\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\i0
Active Components run in their own thread. They may respond to external events (socket calls, timer events or whatsoever). Passive Components just provide services to other passive or active com
ponents. MessageSources will mostly be active components. That is, they operate the subsequent pipeline.
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057
\par {\*\bkmkstart _Toc26538542}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 3.2\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {MessageProcessor{\*\bkmkend _Toc26538542}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057
A MessageProcessor (MP) is called by a pipeline to handle a message. It may alter the message, filter it, save it somewhere, etc. It
either returns null (forming a message sink) or it returns the message (most of the time the same message it got, but it may also return a different one). Examples of an MP would be a RobotExclusionFilter (filtering some of the URLs from the URL list), a
PDF to XML converter (reducing PDF to a common metaformat that is understood by the indexing component), a FileSystemStorage that saves incoming documents on disk, a JMSStorage that saves them to a message queue, or a LuceneStorage that adds a document to
a Lucene index. An MP could as well contain a BlockingPipeline (see below) forming a nested pipeline.
\par [Is the storage a required part of the pipeline? If so I think we should break it up into more distinct pieces to there can be some control programmatically. If not is there a required order?]
\par {\*\bkmkstart _Toc26538543}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 3.3\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {MessagePipelines{\*\bkmkend _Toc26538543}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 MessageProcessors are put together into message pipelines.
\par
\par A }{\b\lang2057\langfe1031\langnp2057 BlockingPipeline }{\lang2057\langfe1031\langnp2057 processes a message by calling (at most) all of its MessageProcessors in a row. A MessageProcessor gets the Message, may
alter it, and returns it again. The reference returned is passed to the next processor in the row. After the last MP the Message is discarded [why is the message discarded?] and the thread returns the message again.
\par BlockingPipeline may be designed not to be thread safe (i.e. because it is used from within an NonBlockingPipeline and thus only accessed by one thread), as do the MPs.
\par (A BlockingPipeline may as well be an MP, which allows for nesting pipelines).
\par
\par }{\lang1024\langfe1024\noproof {\shpgrp{\*\shpinst\shpleft720\shptop180\shpright5760\shpbottom1620\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz10\shplid1036
{\sp{\sn groupLeft}{\sv 2137}}{\sp{\sn groupTop}{\sv 1597}}{\sp{\sn groupRight}{\sv 7177}}{\sp{\sn groupBottom}{\sv 3037}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lidRegroup}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shp{\*\shpinst\shplid1037{\sp{\sn relLeft}{\sv 3037}}{\sp{\sn relTop}{\sv 1597}}{\sp{\sn relRight}{\sv 7177}}
{\sp{\sn relBottom}{\sv 3037}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 1}}{\sp{\sn lTxid}{\sv 2162688}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 (thread safe) BlockingPipeline
\par }}}}{\shp{\*\shpinst\shplid1038{\sp{\sn relLeft}{\sv 3479}}{\sp{\sn relTop}{\sv 2103}}{\sp{\sn relRight}{\sv 4379}}{\sp{\sn relBottom}{\sv 2823}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 1}}{\sp{\sn lTxid}{\sv 2228224}}
{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}}}{\shp{\*\shpinst\shplid1039{\sp{\sn relLeft}{\sv 4928}}{\sp{\sn relTop}{\sv 2103}}{\sp{\sn relRight}{\sv 5828}}{\sp{\sn relBottom}{\sv 2823}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 1}}{\sp{\sn lTxid}{\sv 2293760}}
{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}}}{\shp{\*\shpinst\shplid1040{\sp{\sn relLeft}{\sv 2497}}{\sp{\sn relTop}{\sv 1927}}{\sp{\sn relRight}{\sv 6997}}{\sp{\sn relBottom}{\sv 2887}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 0}}{\sp{\sn geoRight}{\sv 4500}}
{\sp{\sn geoBottom}{\sv 960}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn pVerticies}{\sv 8;28;(0,930);(540,840);(1080,750);(1440,750);(1800,750);(1920,930);(2160,930);(2400,930);(2670,750);(2880,750);(3090,750);(3210,900);(3420,930)
;(3630,960);(3960,960);(4140,930);(4320,900);(4500,840);(4500,750);(4500,660);(4440,510);(4140,390);(3840,270);(3360,60);(2700,30);(2040,0);(1110,105);(180,210)}}{\sp{\sn pSegmentInfo}{\sv 2;21;16384;44288
;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44032;32768}}{\sp{\sn fFillOK}{\sv 1}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineStartArrowhead}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 5}}
{\sp{\sn lineEndArrowWidth}{\sv 1}}{\sp{\sn lineEndArrowLength}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn lidRegroup}{\sv 0}}{\sp{\sn posh}{\sv 0}}{\sp{\sn posv}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}}{\shp{\*\shpinst\shplid1041{\sp{\sn relLeft}{\sv 2431}}{\sp{\sn relTop}{\sv 1990}}{\sp{\sn relRight}{\sv 6931}}{\sp{\sn relBottom}{\sv 2950}}{\sp{\sn fRelFlipH}{\sv 0}}
{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 0}}{\sp{\sn geoRight}{\sv 4500}}{\sp{\sn geoBottom}{\sv 960}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn pVerticies}{\sv 8;28;(0,930);(540,840);(1080,750);(1440,750);(1800,750);(1920,930);(2160,930)
;(2400,930);(2670,750);(2880,750);(3090,750);(3210,900);(3420,930);(3630,960);(3960,960);(4140,930);(4320,900);(4500,840);(4500,750);(4500,660);(4440,510);(4140,390);(3840,270);(3360,60);(2700,30);(2040,0)
;(1110,105);(180,210)}}{\sp{\sn pSegmentInfo}{\sv 2;21;16384;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44032;32768}}{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineStartArrowhead}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 5}}{\sp{\sn lineEndArrowWidth}{\sv 1}}{\sp{\sn lineEndArrowLength}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn lidRegroup}{\sv 0}}
{\sp{\sn posh}{\sv 0}}{\sp{\sn posv}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}}{\shp{\*\shpinst\shplid1042{\sp{\sn relLeft}{\sv 2137}}{\sp{\sn relTop}{\sv 2665}}
{\sp{\sn relRight}{\sv 3037}}{\sp{\sn relBottom}{\sv 2848}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 202}}{\sp{\sn lTxid}{\sv 2359296}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}
{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 Threads
\par }}}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8202\dpgroup\dpcount7\dpx720\dpy180\dpxsize5040\dpysize1440\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 (thread safe) BlockingPipeline
\par }}\dpx900\dpy0\dpxsize4140\dpysize1440\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0\dptxbx\dptxlrtb{\dptxbxtext\pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}\dpx1342\dpy506\dpxsize900\dpysize720\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0\dptxbx\dptxlrtb{\dptxbxtext\pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}\dpx2791\dpy506\dpxsize900\dpysize720\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0\dppolygon\dppolycount103\dpptx0\dppty929\dpptx202\dppty895\dpptx403\dppty863
\dpptx598\dppty833\dpptx785\dppty805\dpptx972\dppty782\dpptx1058\dppty773\dpptx1138\dppty765\dpptx1217\dppty759\dpptx1296\dppty754\dpptx1368\dppty751\dpptx1440\dppty750\dpptx1505\dppty751\dpptx1562\dppty757\dpptx1620\dppty766\dpptx1670\dppty777
\dpptx1721\dppty791\dpptx1764\dppty806\dpptx1843\dppty840\dpptx1922\dppty872\dpptx1958\dppty888\dpptx2002\dppty902\dpptx2038\dppty912\dpptx2074\dppty922\dpptx2117\dppty928\dpptx2160\dppty929\dpptx2203\dppty928\dpptx2254\dppty922\dpptx2297\dppty912
\dpptx2347\dppty902\dpptx2390\dppty888\dpptx2441\dppty872\dpptx2534\dppty840\dpptx2621\dppty806\dpptx2671\dppty791\dpptx2714\dppty777\dpptx2758\dppty766\dpptx2801\dppty757\dpptx2837\dppty751\dpptx2880\dppty750\dpptx2916\dppty751\dpptx2952\dppty756
\dpptx2988\dppty763\dpptx3024\dppty774\dpptx3053\dppty785\dpptx3089\dppty799\dpptx3154\dppty828\dpptx3211\dppty859\dpptx3276\dppty888\dpptx3312\dppty902\dpptx3348\dppty912\dpptx3384\dppty922\dpptx3420\dppty929\dpptx3506\dppty938\dpptx3593\dppty946
\dpptx3694\dppty949\dpptx3794\dppty951\dpptx3888\dppty949\dpptx3982\dppty946\dpptx4068\dppty938\dpptx4140\dppty929\dpptx4205\dppty917\dpptx4270\dppty900\dpptx4334\dppty883\dpptx4385\dppty862\dpptx4435\dppty837\dpptx4471\dppty811\dpptx4493\dppty782
\dpptx4500\dppty750\dpptx4500\dppty713\dpptx4486\dppty673\dpptx4464\dppty628\dpptx4435\dppty581\dpptx4385\dppty533\dpptx4327\dppty484\dpptx4241\dppty436\dpptx4140\dppty390\dpptx4082\dppty367\dpptx4018\dppty341\dpptx3881\dppty287\dpptx3730\dppty232
\dpptx3557\dppty177\dpptx3463\dppty151\dpptx3370\dppty126\dpptx3269\dppty103\dpptx3161\dppty83\dpptx3053\dppty65\dpptx2938\dppty49\dpptx2822\dppty38\dpptx2700\dppty31\dpptx2570\dppty26\dpptx2441\dppty25\dpptx2304\dppty26\dpptx2160\dppty31
\dpptx2009\dppty37\dpptx1858\dppty46\dpptx1699\dppty57\dpptx1541\dppty69\dpptx1375\dppty83\dpptx1210\dppty98\dpptx871\dppty134\dpptx526\dppty170\dpptx180\dppty210\dpx360\dpy330\dpxsize4500\dpysize960
\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinew15\dplinecor0\dplinecog0\dplinecob0\dppolygon\dppolycount103\dpptx0\dppty929\dpptx202\dppty895\dpptx403\dppty863\dpptx598\dppty833\dpptx785\dppty805
\dpptx972\dppty782\dpptx1058\dppty773\dpptx1138\dppty765\dpptx1217\dppty759\dpptx1296\dppty754\dpptx1368\dppty751\dpptx1440\dppty750\dpptx1505\dppty751\dpptx1562\dppty757\dpptx1620\dppty766\dpptx1670\dppty777\dpptx1721\dppty791\dpptx1764\dppty806
\dpptx1843\dppty840\dpptx1922\dppty872\dpptx1958\dppty888\dpptx2002\dppty902\dpptx2038\dppty912\dpptx2074\dppty922\dpptx2117\dppty928\dpptx2160\dppty929\dpptx2203\dppty928\dpptx2254\dppty922\dpptx2297\dppty912\dpptx2347\dppty902\dpptx2390\dppty888
\dpptx2441\dppty872\dpptx2534\dppty840\dpptx2621\dppty806\dpptx2671\dppty791\dpptx2714\dppty777\dpptx2758\dppty766\dpptx2801\dppty757\dpptx2837\dppty751\dpptx2880\dppty750\dpptx2916\dppty751\dpptx2952\dppty756\dpptx2988\dppty763\dpptx3024\dppty774
\dpptx3053\dppty785\dpptx3089\dppty799\dpptx3154\dppty828\dpptx3211\dppty859\dpptx3276\dppty888\dpptx3312\dppty902\dpptx3348\dppty912\dpptx3384\dppty922\dpptx3420\dppty929\dpptx3506\dppty938\dpptx3593\dppty946\dpptx3694\dppty949\dpptx3794\dppty951
\dpptx3888\dppty949\dpptx3982\dppty946\dpptx4068\dppty938\dpptx4140\dppty929\dpptx4205\dppty917\dpptx4270\dppty900\dpptx4334\dppty883\dpptx4385\dppty862\dpptx4435\dppty837\dpptx4471\dppty811\dpptx4493\dppty782\dpptx4500\dppty750\dpptx4500\dppty713
\dpptx4486\dppty673\dpptx4464\dppty628\dpptx4435\dppty581\dpptx4385\dppty533\dpptx4327\dppty484\dpptx4241\dppty436\dpptx4140\dppty390\dpptx4082\dppty367\dpptx4018\dppty341\dpptx3881\dppty287\dpptx3730\dppty232\dpptx3557\dppty177\dpptx3463\dppty151
\dpptx3370\dppty126\dpptx3269\dppty103\dpptx3161\dppty83\dpptx3053\dppty65\dpptx2938\dppty49\dpptx2822\dppty38\dpptx2700\dppty31\dpptx2570\dppty26\dpptx2441\dppty25\dpptx2304\dppty26\dpptx2160\dppty31\dpptx2009\dppty37\dpptx1858\dppty46\dpptx1699\dppty57
\dpptx1541\dppty69\dpptx1375\dppty83\dpptx1210\dppty98\dpptx871\dppty134\dpptx526\dppty170\dpptx180\dppty210\dpx294\dpy393\dpxsize4500\dpysize960
\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinew15\dplinecor0\dplinecog0\dplinecob0\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 Threads
\par }}\dpx0\dpy1068\dpxsize900\dpysize183\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow\dpendgroup\dpx0\dpy0\dpxsize0\dpysize0}}}}{\lang2057\langfe1031\langnp2057
\par
\par
\par
\par
\par
\par
\par
\par }\pard\plain \s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \i\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\i0 A NonBlockingPipeline has an extra thr
ead that handles the messages. Therefore, at a putMessage() call, the message is written into a message queue. The processor thread handles all messages until the queue is empty. Internally the AsynchronousProcessor consists of a BlockingPipeline that is
operated by the ProcessorThread.
\par In that scenario, an MP may create new messages and put them back into the same queue without causing the queue to block.
\par
\par The Queue implementation will usually be a FIFO queue, but may be exchanged depending on the needs. A queue may refuse a message (i.e. if it is full).
\par (This concept is currently implemented as the MessageHandler. There\rquote s currently no representation of a BlockingPipeline)}{
\par
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057
\par
\par }{\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft3377\shptop317\shpright4240\shpbottom951\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz7\shplid1033
{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn lTxid}{\sv 2424832}}{\sp{\sn hspNext}{\sv 1033}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8199\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}\dpx3377\dpy317\dpxsize863\dpysize634\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft4477\shptop321\shpright5209\shpbottom902\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz2\shplid1028{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2490368}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8194\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}\dpx4477\dpy321\dpxsize732\dpysize581\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft3240\shptop60\shpright5580\shpbottom960\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz1\shplid1027{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2555904}}{\sp{\sn dyTextTop}{\sv 18000}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 BlockingPipeline}{\fs12
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8193\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 BlockingPipeline}{\fs12
\par }}\dpx3240\dpy60\dpxsize2340\dpysize900\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft901\shptop280\shpright2341\shpbottom670\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz6\shplid1032{\sp{\sn shapeType}{\sv 0}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn geoRight}{\sv 1440}}{\sp{\sn geoBottom}{\sv 390}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn pVerticies}{\sv 8;10;(0,30);(435,15);(870,0);(1080,30);(1290,60);(1440,150);(1260,210);(1080,270);(540,330);(0,390)}}{\sp{\sn pSegmentInfo}{\sv 2;9
;16384;44288;8193;44288;8193;44288;8193;44032;32768}}{\sp{\sn fFillOK}{\sv 1}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineStartArrowhead}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 5}}{\sp{\sn lineStartArrowWidth}{\sv 1}}{\sp{\sn lineStartArrowLength}{\sv 1}}
{\sp{\sn lineEndArrowWidth}{\sv 1}}{\sp{\sn lineEndArrowLength}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn lidRegroup}{\sv 0}}{\sp{\sn posh}{\sv 0}}{\sp{\sn posv}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8198\dppolygon\dppolycount44\dpptx0\dppty30\dpptx164\dppty24\dpptx323\dppty19\dpptx477\dppty16\dpptx551\dppty14\dpptx624\dppty13\dpptx694\dppty12\dpptx760\dppty13\dpptx823\dppty14
\dpptx882\dppty15\dpptx938\dppty17\dpptx991\dppty21\dpptx1037\dppty25\dpptx1078\dppty30\dpptx1117\dppty36\dpptx1154\dppty44\dpptx1189\dppty52\dpptx1221\dppty62\dpptx1251\dppty73\dpptx1276\dppty84\dpptx1297\dppty96\dpptx1316\dppty109\dpptx1329\dppty122
\dpptx1336\dppty134\dpptx1339\dppty147\dpptx1336\dppty160\dpptx1327\dppty173\dpptx1311\dppty186\dpptx1288\dppty198\dpptx1258\dppty210\dpptx1221\dppty221\dpptx1175\dppty232\dpptx1122\dppty243\dpptx1062\dppty255\dpptx995\dppty266\dpptx924\dppty277
\dpptx846\dppty288\dpptx765\dppty300\dpptx677\dppty310\dpptx588\dppty321\dpptx495\dppty333\dpptx399\dppty344\dpptx200\dppty366\dpptx0\dppty389\dpx901\dpy280\dpxsize1440\dpysize390
\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft1530\shptop797\shpright3780\shpbottom1350\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz11\shplid1043{\sp{\sn shapeType}{\sv 0}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn geoRight}{\sv 2250}}{\sp{\sn geoBottom}{\sv 600}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn pVerticies}{\sv 8;13;(2250,180);(2250,330);(2250,480);(2070,540);(1890,600);(1500,600);(1170,540);(840,480);(180,270);(90,180);(0,90)
;(315,45);(630,0)}}{\sp{\sn pSegmentInfo}{\sv 2;11;16384;44288;8193;44288;8193;44288;8193;44288;8193;44032;32768}}{\sp{\sn fFillOK}{\sv 1}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineOpacity}{\sv 65536}}{\sp{\sn lineType}{\sv 0}}
{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn lineStartArrowhead}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 5}}{\sp{\sn lineEndArrowWidth}{\sv 1}}{\sp{\sn lineEndArrowLength}{\sv 1}}{\sp{\sn lineEndCapStyle}{\sv 2}}
{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn lidRegroup}{\sv 0}}{\sp{\sn posh}{\sv 0}}{\sp{\sn posv}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8203
\dppolygon\dppolycount59\dpptx2250\dppty166\dpptx2250\dppty217\dpptx2246\dppty268\dpptx2239\dppty317\dpptx2236\dppty340\dpptx2228\dppty362\dpptx2218\dppty384\dpptx2207\dppty405\dpptx2192\dppty424\dpptx2174\dppty441\dpptx2153\dppty457\dpptx2131\dppty473
\dpptx2102\dppty486\dpptx2070\dppty498\dpptx2034\dppty507\dpptx1994\dppty515\dpptx1948\dppty522\dpptx1901\dppty528\dpptx1847\dppty533\dpptx1793\dppty536\dpptx1735\dppty538\dpptx1674\dppty539\dpptx1613\dppty538\dpptx1552\dppty536\dpptx1487\dppty533
\dpptx1422\dppty528\dpptx1361\dppty522\dpptx1296\dppty515\dpptx1231\dppty507\dpptx1170\dppty498\dpptx1105\dppty485\dpptx1033\dppty471\dpptx954\dppty453\dpptx875\dppty433\dpptx792\dppty412\dpptx706\dppty389\dpptx623\dppty366\dpptx540\dppty342
\dpptx461\dppty317\dpptx385\dppty292\dpptx313\dppty268\dpptx252\dppty244\dpptx194\dppty222\dpptx148\dppty202\dpptx115\dppty182\dpptx90\dppty166\dpptx79\dppty150\dpptx76\dppty136\dpptx79\dppty123\dpptx94\dppty111\dpptx112\dppty100\dpptx137\dppty88
\dpptx169\dppty77\dpptx209\dppty67\dpptx248\dppty58\dpptx295\dppty49\dpptx400\dppty32\dpptx511\dppty16\dpptx630\dppty0\dpx1530\dpy797\dpxsize2250\dpysize553
\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft1696\shptop1341\shpright3856\shpbottom1524\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz12\shplid1044{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2621440}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 may put message into queue
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8204\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {
\fs16\lang2057\langfe1031\langnp2057 may put message into queue
\par }}\dpx1696\dpy1341\dpxsize2160\dpysize183\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft4500\shptop-150\shpright5940\shpbottom33\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz9\shplid1035{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2686976}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16
Processor Thread
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8201\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 Processor Thread
\par }}\dpx4500\dpy-150\dpxsize1440\dpysize183\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft1800\shptop-330\shpright5940\shpbottom1110\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz0\shplid1026{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2752512}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16
NonBlockingPipeline
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8192\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 NonBlockingPipeline
\par }}\dpx1800\dpy-330\dpxsize4140\dpysize1440\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft2808\shptop-16\shpright5940\shpbottom1094\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz8\shplid1034{\sp{\sn shapeType}{\sv 0}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn geoRight}{\sv 3390}}{\sp{\sn geoBottom}{\sv 1110}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn pVerticies}{\sv 8;31;(0,900);(195,990);(390,1080);(540,1080);(690,1080);(720,900);(900,900);(1080,900);(1410,1080);(1620,1080)
;(1830,1080);(1980,900);(2160,900);(2340,900);(2520,1110);(2700,1080);(2880,1050);(3180,870);(3240,720);(3300,570);(3390,300);(3060,180);(2730,60);(1710,0);(1260,0);(810,0);(570,60);(360,180);(150,300)
;(75,510);(0,720)}}{\sp{\sn pSegmentInfo}{\sv 2;23;16384;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44032;32768}}{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineStartArrowhead}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 5}}{\sp{\sn lineEndArrowWidth}{\sv 1}}{\sp{\sn lineEndArrowLength}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn lidRegroup}{\sv 0}}
{\sp{\sn posh}{\sv 0}}{\sp{\sn posv}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8200\dppolygon\dppolycount126\dpptx0\dppty899\dpptx70\dppty932\dpptx135\dppty964\dpptx200\dppty996
\dpptx265\dppty1023\dpptx331\dppty1046\dpptx391\dppty1064\dpptx416\dppty1071\dpptx446\dppty1076\dpptx476\dppty1078\dpptx501\dppty1080\dpptx527\dppty1078\dpptx546\dppty1073\dpptx566\dppty1064\dpptx587\dppty1051\dpptx606\dppty1037\dpptx622\dppty1023
\dpptx657\dppty989\dpptx692\dppty955\dpptx711\dppty941\dpptx732\dppty927\dpptx752\dppty915\dpptx777\dppty906\dpptx802\dppty900\dpptx832\dppty899\dpptx867\dppty900\dpptx902\dppty906\dpptx937\dppty915\dpptx977\dppty927\dpptx1022\dppty941\dpptx1062\dppty955
\dpptx1153\dppty989\dpptx1248\dppty1023\dpptx1293\dppty1037\dpptx1333\dppty1051\dpptx1378\dppty1064\dpptx1418\dppty1073\dpptx1458\dppty1078\dpptx1499\dppty1080\dpptx1534\dppty1078\dpptx1569\dppty1073\dpptx1598\dppty1064\dpptx1633\dppty1051
\dpptx1664\dppty1037\dpptx1693\dppty1023\dpptx1754\dppty989\dpptx1814\dppty955\dpptx1844\dppty941\dpptx1875\dppty927\dpptx1904\dppty915\dpptx1935\dppty906\dpptx1964\dppty900\dpptx1995\dppty899\dpptx2024\dppty900\dpptx2055\dppty908\dpptx2090\dppty918
\dpptx2119\dppty931\dpptx2150\dppty947\dpptx2179\dppty964\dpptx2245\dppty1000\dpptx2305\dppty1035\dpptx2336\dppty1050\dpptx2371\dppty1064\dpptx2400\dppty1074\dpptx2431\dppty1080\dpptx2466\dppty1083\dpptx2495\dppty1080\dpptx2526\dppty1073
\dpptx2561\dppty1062\dpptx2596\dppty1048\dpptx2636\dppty1032\dpptx2671\dppty1012\dpptx2711\dppty991\dpptx2746\dppty970\dpptx2786\dppty945\dpptx2857\dppty892\dpptx2917\dppty835\dpptx2962\dppty776\dpptx2977\dppty748\dpptx2992\dppty719\dpptx3002\dppty691
\dpptx3012\dppty659\dpptx3022\dppty625\dpptx3032\dppty590\dpptx3047\dppty515\dpptx3047\dppty439\dpptx3037\dppty401\dpptx3027\dppty364\dpptx3012\dppty329\dpptx2987\dppty293\dpptx2962\dppty261\dpptx2921\dppty231\dpptx2882\dppty204\dpptx2826\dppty179
\dpptx2762\dppty158\dpptx2686\dppty137\dpptx2596\dppty119\dpptx2495\dppty101\dpptx2390\dppty85\dpptx2275\dppty71\dpptx2034\dppty44\dpptx1789\dppty25\dpptx1674\dppty18\dpptx1553\dppty11\dpptx1443\dppty7\dpptx1343\dppty4\dpptx1248\dppty0\dpptx1162\dppty0
\dpptx1017\dppty4\dpptx887\dppty11\dpptx767\dppty25\dpptx666\dppty44\dpptx571\dppty71\dpptx486\dppty101\dpptx406\dppty137\dpptx331\dppty179\dpptx296\dppty202\dpptx265\dppty229\dpptx236\dppty256\dpptx211\dppty286\dpptx161\dppty348\dpptx120\dppty416
\dpptx85\dppty488\dpptx55\dppty563\dpptx25\dppty641\dpptx0\dppty719\dpx2808\dpy-16\dpxsize3132\dpysize1110\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft720\shptop30\shpright1620\shpbottom213\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz4\shplid1030{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2818048}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}
{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 Threads
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8196\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 Threads
\par }}\dpx720\dpy30\dpxsize900\dpysize183\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft2160\shptop210\shpright2880\shpbottom930\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz3\shplid1029{\sp{\sn shapeType}{\sv 22}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2883584}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 (FIFO)
\line Queue
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8195\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 (FIFO)\line Queue
\par }}\dpx2160\dpy210\dpxsize720\dpysize720\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft900\shptop180\shpright2340\shpbottom570\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz5\shplid1031{\sp{\sn shapeType}{\sv 0}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn geoRight}{\sv 1440}}{\sp{\sn geoBottom}{\sv 390}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn pVerticies}{\sv 8;10;(0,30);(435,15);(870,0);(1080,30);(1290,60);(1440,150);(1260,210);(1080,270);(540,330);(0,390)}}{\sp{\sn pSegmentInfo}{\sv 2;9
;16384;44288;8193;44288;8193;44288;8193;44032;32768}}{\sp{\sn fFillOK}{\sv 1}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineStartArrowhead}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 5}}{\sp{\sn lineStartArrowWidth}{\sv 1}}{\sp{\sn lineStartArrowLength}{\sv 1}}
{\sp{\sn lineEndArrowWidth}{\sv 1}}{\sp{\sn lineEndArrowLength}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn lidRegroup}{\sv 0}}{\sp{\sn posh}{\sv 0}}{\sp{\sn posv}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8197\dppolygon\dppolycount44\dpptx0\dppty30\dpptx164\dppty24\dpptx323\dppty19\dpptx477\dppty16\dpptx551\dppty14\dpptx624\dppty13\dpptx694\dppty12\dpptx760\dppty13\dpptx823\dppty14
\dpptx882\dppty15\dpptx938\dppty17\dpptx991\dppty21\dpptx1037\dppty25\dpptx1078\dppty30\dpptx1117\dppty36\dpptx1154\dppty44\dpptx1189\dppty52\dpptx1221\dppty62\dpptx1251\dppty73\dpptx1276\dppty84\dpptx1297\dppty96\dpptx1316\dppty109\dpptx1329\dppty122
\dpptx1336\dppty134\dpptx1339\dppty147\dpptx1336\dppty160\dpptx1327\dppty173\dpptx1311\dppty186\dpptx1288\dppty198\dpptx1258\dppty210\dpptx1221\dppty221\dpptx1175\dppty232\dpptx1122\dppty243\dpptx1062\dppty255\dpptx995\dppty266\dpptx924\dppty277
\dpptx846\dppty288\dpptx765\dppty300\dpptx677\dppty310\dpptx588\dppty321\dpptx495\dppty333\dpptx399\dppty344\dpptx200\dppty366\dpptx0\dppty389\dpx900\dpy180\dpxsize1440\dpysize390
\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang1024\langfe1024\noproof\langnp2057
\par
\par
\par
\par
\par
\par {\*\bkmkstart _Toc26538544}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1024\langfe1024\noproof\langnp1033 \hich\af1\dbch\af0\loch\f1 3.4\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\lang1024\langfe1024\noproof Message Sources{\*\bkmkend _Toc26538544}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 A MessageSource is an active component that (so
mehow) creates messages that are then processed, i. e. by a message queue. This view as a \'93source\'94 only reflects that the pipeline framework doesn\rquote
t know where the messages come from. In reality they may come from the network (i.e. a JMS topic or a web ser
vice call) such that a broader view may reveal that the source only forms a part of a larger assembly line. This can be compared to a car manufacturer that gets car parts from other manufacturers who also have assembly lines.
\par }{\lang1024\langfe1024\noproof {\shp{\*\shpinst\shpleft2160\shptop550\shpright3960\shpbottom1360\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz24\shplid1056
{\sp{\sn shapeType}{\sv 0}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn geoRight}{\sv 1800}}{\sp{\sn geoBottom}{\sv 810}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn pVerticies}{\sv 8;16;(0,60);(390,30);(780,0);(1080,60);(1380,120)
;(1800,300);(1800,420);(1800,540);(1350,750);(1080,780);(810,810);(360,690);(180,600);(0,510);(0,375);(0,240)}}{\sp{\sn pSegmentInfo}{\sv 2;13;16384;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44032
;32768}}{\sp{\sn fFillOK}{\sv 1}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineStartArrowhead}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 5}}{\sp{\sn lineEndArrowWidth}{\sv 1}}{\sp{\sn lineEndArrowLength}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn lidRegroup}{\sv 0}}{\sp{\sn posh}{\sv 0}}{\sp{\sn posv}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8216\dppolygon\dppolycount72\dpptx0\dppty60
\dpptx147\dppty49\dpptx291\dppty39\dpptx435\dppty31\dpptx573\dppty26\dpptx642\dppty25\dpptx708\dppty26\dpptx775\dppty27\dpptx841\dppty30\dpptx901\dppty35\dpptx965\dppty41\dpptx1022\dppty49\dpptx1080\dppty60\dpptx1138\dppty73\dpptx1198\dppty87
\dpptx1259\dppty105\dpptx1319\dppty124\dpptx1380\dppty145\dpptx1440\dppty168\dpptx1498\dppty192\dpptx1552\dppty216\dpptx1604\dppty242\dpptx1650\dppty268\dpptx1693\dppty295\dpptx1731\dppty321\dpptx1760\dppty347\dpptx1783\dppty372\dpptx1794\dppty397
\dpptx1800\dppty420\dpptx1794\dppty443\dpptx1780\dppty468\dpptx1757\dppty495\dpptx1725\dppty522\dpptx1688\dppty550\dpptx1642\dppty578\dpptx1593\dppty605\dpptx1541\dppty632\dpptx1483\dppty660\dpptx1426\dppty684\dpptx1365\dppty706\dpptx1305\dppty727
\dpptx1247\dppty745\dpptx1187\dppty759\dpptx1132\dppty771\dpptx1080\dppty779\dpptx1028\dppty783\dpptx971\dppty784\dpptx913\dppty781\dpptx850\dppty776\dpptx786\dppty769\dpptx723\dppty759\dpptx660\dppty748\dpptx596\dppty734\dpptx533\dppty719
\dpptx472\dppty704\dpptx415\dppty687\dpptx357\dppty670\dpptx305\dppty652\dpptx259\dppty634\dpptx216\dppty616\dpptx179\dppty599\dpptx147\dppty582\dpptx121\dppty564\dpptx95\dppty544\dpptx75\dppty524\dpptx58\dppty503\dpptx43\dppty481\dpptx23\dppty437
\dpptx9\dppty389\dpptx3\dppty340\dpptx0\dppty290\dpptx0\dppty240\dpx2160\dpy550\dpxsize1800\dpysize810\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft610\shptop653\shpright1690\shpbottom836\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz23\shplid1055{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 2949120}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn hspNext}{\sv 1055}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qr \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 some trigger
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8215\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qr \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 some trigger
\par }}\dpx610\dpy653\dpxsize1080\dpysize183\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft1260\shptop610\shpright1980\shpbottom610\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz22\shplid1054{\sp{\sn shapeType}{\sv 20}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn shapePath}{\sv 4}}{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn lineEndArrowhead}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}
{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8214\dpline\dpptx0\dppty0\dpptx720\dppty0\dpx1260\dpy610\dpxsize720\dpysize0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft2340\shptop610\shpright3420\shpbottom793\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz21\shplid1053{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 3014656}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn hspNext}{\sv 1053}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 SourceThread
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8213\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 SourceThread
\par }}\dpx2340\dpy610\dpxsize1080\dpysize183\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft1754\shptop212\shpright3374\shpbottom1652\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz20\shplid1052{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 3080192}}{\sp{\sn hspNext}{\sv 1052}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 MessageSource
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8212\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 MessageSource
\par }}\dpx1754\dpy212\dpxsize1620\dpysize1440\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft6300\shptop400\shpright7740\shpbottom583\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz19\shplid1051{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 3145728}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn hspNext}{\sv 1051}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}
{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 Processor Thread
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8211\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 Processor Thread
\par }}\dpx6300\dpy400\dpxsize1440\dpysize183\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}
{\shp{\*\shpinst\shpleft4608\shptop534\shpright7740\shpbottom1644\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz18\shplid1050{\sp{\sn shapeType}{\sv 0}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn geoRight}{\sv 3390}}{\sp{\sn geoBottom}{\sv 1110}}{\sp{\sn shapePath}{\sv 4}}{\sp{\sn pVerticies}{\sv 8;31;(0,900);(195,990);(390,1080);(540,1080);(690,1080);(720,900);(900,900);(1080,900);(1410,1080);(1620,1080)
;(1830,1080);(1980,900);(2160,900);(2340,900);(2520,1110);(2700,1080);(2880,1050);(3180,870);(3240,720);(3300,570);(3390,300);(3060,180);(2730,60);(1710,0);(1260,0);(810,0);(570,60);(360,180);(150,300)
;(75,510);(0,720)}}{\sp{\sn pSegmentInfo}{\sv 2;23;16384;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44288;8193;44032;32768}}{\sp{\sn fFillOK}{\sv 1}}
{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineStartArrowhead}{\sv 0}}{\sp{\sn lineEndArrowhead}{\sv 5}}{\sp{\sn lineEndArrowWidth}{\sv 1}}{\sp{\sn lineEndArrowLength}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn lidRegroup}{\sv 0}}
{\sp{\sn posh}{\sv 0}}{\sp{\sn posv}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8210\dppolygon\dppolycount126\dpptx0\dppty899\dpptx70\dppty932\dpptx135\dppty964\dpptx200\dppty996
\dpptx265\dppty1023\dpptx331\dppty1046\dpptx391\dppty1064\dpptx416\dppty1071\dpptx446\dppty1076\dpptx476\dppty1078\dpptx501\dppty1080\dpptx527\dppty1078\dpptx546\dppty1073\dpptx566\dppty1064\dpptx587\dppty1051\dpptx606\dppty1037\dpptx622\dppty1023
\dpptx657\dppty989\dpptx692\dppty955\dpptx711\dppty941\dpptx732\dppty927\dpptx752\dppty915\dpptx777\dppty906\dpptx802\dppty900\dpptx832\dppty899\dpptx867\dppty900\dpptx902\dppty906\dpptx937\dppty915\dpptx977\dppty927\dpptx1022\dppty941\dpptx1062\dppty955
\dpptx1153\dppty989\dpptx1248\dppty1023\dpptx1293\dppty1037\dpptx1333\dppty1051\dpptx1378\dppty1064\dpptx1418\dppty1073\dpptx1458\dppty1078\dpptx1499\dppty1080\dpptx1534\dppty1078\dpptx1569\dppty1073\dpptx1598\dppty1064\dpptx1633\dppty1051
\dpptx1664\dppty1037\dpptx1693\dppty1023\dpptx1754\dppty989\dpptx1814\dppty955\dpptx1844\dppty941\dpptx1875\dppty927\dpptx1904\dppty915\dpptx1935\dppty906\dpptx1964\dppty900\dpptx1995\dppty899\dpptx2024\dppty900\dpptx2055\dppty908\dpptx2090\dppty918
\dpptx2119\dppty931\dpptx2150\dppty947\dpptx2179\dppty964\dpptx2245\dppty1000\dpptx2305\dppty1035\dpptx2336\dppty1050\dpptx2371\dppty1064\dpptx2400\dppty1074\dpptx2431\dppty1080\dpptx2466\dppty1083\dpptx2495\dppty1080\dpptx2526\dppty1073
\dpptx2561\dppty1062\dpptx2596\dppty1048\dpptx2636\dppty1032\dpptx2671\dppty1012\dpptx2711\dppty991\dpptx2746\dppty970\dpptx2786\dppty945\dpptx2857\dppty892\dpptx2917\dppty835\dpptx2962\dppty776\dpptx2977\dppty748\dpptx2992\dppty719\dpptx3002\dppty691
\dpptx3012\dppty659\dpptx3022\dppty625\dpptx3032\dppty590\dpptx3047\dppty515\dpptx3047\dppty439\dpptx3037\dppty401\dpptx3027\dppty364\dpptx3012\dppty329\dpptx2987\dppty293\dpptx2962\dppty261\dpptx2921\dppty231\dpptx2882\dppty204\dpptx2826\dppty179
\dpptx2762\dppty158\dpptx2686\dppty137\dpptx2596\dppty119\dpptx2495\dppty101\dpptx2390\dppty85\dpptx2275\dppty71\dpptx2034\dppty44\dpptx1789\dppty25\dpptx1674\dppty18\dpptx1553\dppty11\dpptx1443\dppty7\dpptx1343\dppty4\dpptx1248\dppty0\dpptx1162\dppty0
\dpptx1017\dppty4\dpptx887\dppty11\dpptx767\dppty25\dpptx666\dppty44\dpptx571\dppty71\dpptx486\dppty101\dpptx406\dppty137\dpptx331\dppty179\dpptx296\dppty202\dpptx265\dppty229\dpptx236\dppty256\dpptx211\dppty286\dpptx161\dppty348\dpptx120\dppty416
\dpptx85\dppty488\dpptx55\dppty563\dpptx25\dppty641\dpptx0\dppty719\dpx4608\dpy534\dpxsize3132\dpysize1110\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft5177\shptop867\shpright6040\shpbottom1501\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz17\shplid1049{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 3211264}}{\sp{\sn hspNext}{\sv 1049}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8209\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}\dpx5177\dpy867\dpxsize863\dpysize634\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft3960\shptop760\shpright4680\shpbottom1480\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz16\shplid1048{\sp{\sn shapeType}{\sv 22}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 3276800}}{\sp{\sn hspNext}{\sv 1048}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 (FIFO)\line Queue
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8208\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 (FIFO)\line Queue
\par }}\dpx3960\dpy760\dpxsize720\dpysize720\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft6277\shptop871\shpright7009\shpbottom1452\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz15\shplid1047{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 3342336}}{\sp{\sn hspNext}{\sv 1047}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8207\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}\dpx6277\dpy871\dpxsize732\dpysize581\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft5040\shptop610\shpright7380\shpbottom1510\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz14\shplid1046{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 3407872}}{\sp{\sn dyTextTop}{\sv 18000}}{\sp{\sn hspNext}{\sv 1046}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 BlockingPipeline}{\fs12
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8206\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 BlockingPipeline}{\fs12
\par }}\dpx5040\dpy610\dpxsize2340\dpysize900\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}
{\shp{\*\shpinst\shpleft3600\shptop220\shpright7740\shpbottom1660\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz13\shplid1045{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lTxid}{\sv 3473408}}{\sp{\sn hspNext}{\sv 1045}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 NonBlockingPipeline
\par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8205\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 NonBlockingPipeline
\par }}\dpx3600\dpy220\dpxsize4140\dpysize1440\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0}}}}{\lang2057\langfe1031\langnp2057
\par
\par
\par
\par
\par
\par
\par
\par (MessageSources are not yet implemented in LARM. The only two message sources now are FetcherMain which puts URLs into the queue after the start, and the FetcherTasks which put extracted URLs into the queue after crawling)
\par {\*\bkmkstart _Toc26538545}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang2057\langfe1031\langnp2057 \hich\af1\dbch\af0\loch\f1 3.5\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\lang2057\langfe1031\langnp2057 Messages{\*\bkmkend _Toc26538545}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 The contents of a message may be
diverse, ranging from a single URL to a bunch of documents. A document should then be represented in a common form, regardless of where the data comes from (the web or the file system). That way, a document [let\rquote
s not call it a document] may consist of field/value pairs, just like a Lucene document
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls4
\jclisttab\tx720\aspalpha\aspnum\faauto\ls4\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst45\pnrxst0\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 {\lang2057\langfe1031\langnp2057
They must be very memory efficient, since there may be hundreds of thousands of them. A simple HashMap is definitely too high level, so there must be a distinction of different types of messages (just like in JMS, but not as complex)
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}There should be a object reuse as much as possible, i.e. by having an object pool of messages that Sources (acquire) and Pipelines (release) may access
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}There should also be a notion of a CompoundMessage that carries a lot of other (i.
e. similar) messages that are passed to the MPs in one turn. The reason for that is that this way a lot of synchronization may be prevented. [I think this will be tricky since for some data sources we want a message to be broken up, like a web site and ot
hers we want them in a single thread like a database query. We might have a pre-processor on the messageQueue?]
\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\lang2057\langfe1031\langnp2057
\par }\pard\plain \s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \i\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {\lang2057\langfe1031\langnp2057 (in LARM-old there is no message pooling and no compound messages)}{
\par {\*\bkmkstart _Toc26538546}{\listtext\pard\plain\s1 \b\f1\fs32\lang1033\langfe1031\kerning32\langnp1033 \hich\af1\dbch\af0\loch\f1 4\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\outlinelevel0\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {Document Sources{\*\bkmkend _Toc26538546}
\par {\*\bkmkstart _Toc26538547}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.1\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Request{\*\bkmkend _Toc26538547}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 Contains all the information required to obtain the
desired data from a data source and process it through pipeline. }{\i\lang2057\langfe1031\langnp2057 Is a}{\lang2057\langfe1031\langnp2057 Message.
\par {\*\bkmkstart _Toc26538548}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.2\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Data Source{\*\bkmkend _Toc26538548}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057
An abstract grouping of sources of data. Each data source must provide a way to obtain the data and then get information at a field level. }{\i\lang2057\langfe1031\langnp2057 Is a }{\lang2057\langfe1031\langnp2057 Source}{
\b\lang2057\langfe1031\langnp2057
\par {\*\bkmkstart _Toc26538549}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.3\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {File System Data Source{\*\bkmkend _Toc26538549}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 A data source that gets the data from a file system.
\par {\*\bkmkstart _Toc26538550}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.4\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {RDBMS Data Source{\*\bkmkend _Toc26538550}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 A data source that gets the data from a relational database.}{
\b\lang2057\langfe1031\langnp2057
\par {\*\bkmkstart _Toc26538551}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.5\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {FTP Data Source{\*\bkmkend _Toc26538551}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 A data source that gets the data from an FTP server.}{
\b\lang2057\langfe1031\langnp2057
\par }{\lang2057\langfe1031\langnp2057
\par
\par }\pard\plain \s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \i\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {(Are the following still consistent? No, but this document isn\rquote t either. Let\rquote
s add a terminology section)
\par {\listtext\pard\plain\f3\lang2057\langfe1031\langnp2057 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard\plain \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls3
\jclisttab\tx720\aspalpha\aspnum\faauto\ls3\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst183\pnrxst240\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc4\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr4\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\b\lang2057\langfe1031\langnp2057 Request Result\line }{\lang2057\langfe1031\langnp2057
An abstract grouping of results items. A request result contains the resulting single level unit from the data source, such as a file or database row. Each result must provide a
way to get an iterator of fields and values for each result. There can also be an analyzer associated with each request result type to handle indexing of certain data.}{\b\lang2057\langfe1031\langnp2057
\par {\listtext\pard\plain\f3\lang2057\langfe1031\langnp2057 \loch\af3\dbch\af0\hich\f3 \'b7\tab}HTML Request Result\line }{\lang2057\langfe1031\langnp2057 A request result which assumes the result as a single item. }{\b\lang2057\langfe1031\langnp2057
\par {\listtext\pard\plain\f3\lang2057\langfe1031\langnp2057 \loch\af3\dbch\af0\hich\f3 \'b7\tab}XML Request Result\line }{\lang2057\langfe1031\langnp2057 A request result that can be configured to put some or all xml tags into fields.}{
\b\lang2057\langfe1031\langnp2057
\par {\listtext\pard\plain\f3\lang2057\langfe1031\langnp2057 \loch\af3\dbch\af0\hich\f3 \'b7\tab}ZIP Request Result\line }{\lang2057\langfe1031\langnp2057
A request result that generates other request results depending on the data inside the file. [Is there a better way to do this, like having a wrapped zip reader?]}{\b\lang2057\langfe1031\langnp2057
\par {\listtext\pard\plain\f3\lang2057\langfe1031\langnp2057 \loch\af3\dbch\af0\hich\f3 \'b7\tab}Text Request Result}{\lang2057\langfe1031\langnp2057 \line A request result which assumes the result as a single item. That is, not fielded data.
\par {\listtext\pard\plain\f3\lang2057\langfe1031\langnp2057 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\b\lang2057\langfe1031\langnp2057 Row Request Result\line }{\lang2057\langfe1031\langnp2057
A request result which can be configured to index data from all desired fields resulting in a sql query.
\par {\*\bkmkstart _Toc26538552}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.6\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {The Data Unit processing framework{\*\bkmkend _Toc26538552}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057
In a queue where document objects are passed through the pipeline, a set of processing steps may be taken on the documents, depending on their types. That way a heterogeneous mass of documents (PDF, HTML, Word etc.) is transfor
med to Document objects consisting of name/value pairs with index terms for the search engine. Keeping this in a message pipeline (and not i.e. in a set of nested iterators that transform the documents on the fly) makes sure that this pipeline can always
be broken up and be distributed on different nodes.
\par
\par If a large switch/case block is to be avoided there must be at least a rudimentary way of dispatching a message to one of several MPs depending on a rule, i.e. the MIME type. The easiest implementation of
that would be if each MP is asked if it wants to work on that message. Can we do like the config in tomcat? I\rquote ll look, but think we can do it with reflection and dynamically handle this.
\par }{\lang1024\langfe1024\noproof {\shpgrp{\*\shpinst\shpleft3780\shptop58\shpright6300\shpbottom2750\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr3\shpwrk0\shpfblwtxt0\shpz25\shplid1057
{\sp{\sn groupLeft}{\sv 5197}}{\sp{\sn groupTop}{\sv 1475}}{\sp{\sn groupRight}{\sv 7717}}{\sp{\sn groupBottom}{\sv 4167}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}
{\sp{\sn lidRegroup}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shp{\*\shpinst\shplid1058{\sp{\sn relLeft}{\sv 5557}}{\sp{\sn relTop}{\sv 1475}}{\sp{\sn relRight}{\sv 7717}}
{\sp{\sn relBottom}{\sv 4167}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 1}}{\sp{\sn lTxid}{\sv 3538944}}{\sp{\sn hspNext}{\sv 1058}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 MessageDispatcher
\par }}}}{\shp{\*\shpinst\shplid1059{\sp{\sn relLeft}{\sv 6637}}{\sp{\sn relTop}{\sv 1827}}{\sp{\sn relRight}{\sv 7500}}{\sp{\sn relBottom}{\sv 2461}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 1}}{\sp{\sn lTxid}{\sv 3604480}}
{\sp{\sn hspNext}{\sv 1059}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}}}{\shp{\*\shpinst\shplid1060{\sp{\sn relLeft}{\sv 5737}}{\sp{\sn relTop}{\sv 2427}}{\sp{\sn relRight}{\sv 6457}}{\sp{\sn relBottom}{\sv 3147}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 1}}{\sp{\sn shapeType}{\sv 20}}{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn lineEndArrowhead}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shplid1061{\sp{\sn relLeft}{\sv 6637}}{\sp{\sn relTop}{\sv 2583}}{\sp{\sn relRight}{\sv 7500}}{\sp{\sn relBottom}{\sv 3217}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 1}}{\sp{\sn lTxid}{\sv 3670016}}
{\sp{\sn hspNext}{\sv 1061}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 2
\par }}}}{\shp{\*\shpinst\shplid1062{\sp{\sn relLeft}{\sv 6637}}{\sp{\sn relTop}{\sv 3430}}{\sp{\sn relRight}{\sv 7500}}{\sp{\sn relBottom}{\sv 4064}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 1}}{\sp{\sn lTxid}{\sv 3735552}}
{\sp{\sn hspNext}{\sv 1062}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 3
\par }}}}{\shp{\*\shpinst\shplid1063{\sp{\sn relLeft}{\sv 5737}}{\sp{\sn relTop}{\sv 3147}}{\sp{\sn relRight}{\sv 6457}}{\sp{\sn relBottom}{\sv 3147}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 1}}{\sp{\sn shapeType}{\sv 20}}{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn lineEndArrowhead}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shplid1064{\sp{\sn relLeft}{\sv 5737}}{\sp{\sn relTop}{\sv 3147}}{\sp{\sn relRight}{\sv 6457}}{\sp{\sn relBottom}{\sv 3867}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 20}}{\sp{\sn shapePath}{\sv 4}}
{\sp{\sn fFillOK}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn lineDashing}{\sv 6}}{\sp{\sn lineEndArrowhead}{\sv 1}}{\sp{\sn fArrowheadsOK}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}}
{\shp{\*\shpinst\shplid1065{\sp{\sn relLeft}{\sv 5737}}{\sp{\sn relTop}{\sv 2247}}{\sp{\sn relRight}{\sv 6277}}{\sp{\sn relBottom}{\sv 2430}}{\sp{\sn fRelFlipH}{\sv 0}}{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 202}}{\sp{\sn lTxid}{\sv 3801088}}
{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 [rule]
\par }}}}{\shp{\*\shpinst\shplid1066{\sp{\sn relLeft}{\sv 5197}}{\sp{\sn relTop}{\sv 3037}}{\sp{\sn relRight}{\sv 5737}}{\sp{\sn relBottom}{\sv 3220}}{\sp{\sn fRelFlipH}{\sv 0}}
{\sp{\sn fRelFlipV}{\sv 0}}{\sp{\sn shapeType}{\sv 202}}{\sp{\sn lTxid}{\sv 3866624}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 0}}{\sp{\sn fLine}{\sv 0}}
{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 Msg
\par }}}}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8217\dpgroup\dpcount10\dpx3780\dpy58\dpxsize2520\dpysize2692\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16 MessageDispatcher
\par }}\dpx360\dpy0\dpxsize2160\dpysize2692\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0\dptxbx\dptxlrtb{\dptxbxtext\pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 1
\par }}\dpx1440\dpy352\dpxsize863\dpysize634\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0\dpline\dpptx2520\dppty0\dpptx0\dppty2692\dpx540\dpy952\dpxsize720\dpysize720
\dplinew15\dplinecor0\dplinecog0\dplinecob0\dptxbx\dptxlrtb{\dptxbxtext\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 2
\par }}\dpx1440\dpy1108\dpxsize863\dpysize634\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0\dptxbx\dptxlrtb{\dptxbxtext\pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs14 MP 3
\par }}\dpx1440\dpy1955\dpxsize863\dpysize634\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat1\dplinew15\dplinecor0\dplinecog0\dplinecob0\dpline\dpptx2520\dppty0\dpptx0\dppty2692\dpx540\dpy1672\dpxsize720\dpysize0
\dplinew15\dplinecor0\dplinecog0\dplinecob0\dpline\dpptx0\dppty0\dpptx2520\dppty2692\dpx540\dpy1672\dpxsize720\dpysize720\dplinew15\dplinecor0\dplinecog0\dplinecob0\dptxbx\dptxlrtb{\dptxbxtext\pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 [rule]
\par }}\dpx540\dpy772\dpxsize540\dpysize183\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow\dptxbx\dptxlrtb{\dptxbxtext\pard\plain
\qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\fs16\lang2057\langfe1031\langnp2057 Msg
\par }}\dpx0\dpy1562\dpxsize540\dpysize183\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow\dpendgroup\dpx0\dpy0\dpxsize0\dpysize0}}}}{\lang2057\langfe1031\langnp2057
\par
\par
\par
\par
\par
\par
\par
\par
\par
\par {\*\bkmkstart _Toc26538553}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 4.7\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Services{\*\bkmkend _Toc26538553}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 MPs may need shared services, which may be activ
e or passive components on their own. MPs should tell which kind of services they rely on and should get a reference to them after the start-up.
\par (this can be modelled well with the Avalon)
\par
\par }}

View File

@ -0,0 +1,113 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f4\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times;}
{\f5\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Helvetica;}{\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f28\froman\fcharset238\fprq2 Times New Roman CE;}{\f29\froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f31\froman\fcharset161\fprq2 Times New Roman Greek;}{\f32\froman\fcharset162\fprq2 Times New Roman Tur;}{\f33\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f34\froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f35\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f36\fswiss\fcharset238\fprq2 Arial CE;}{\f37\fswiss\fcharset204\fprq2 Arial Cyr;}{\f39\fswiss\fcharset161\fprq2 Arial Greek;}{\f40\fswiss\fcharset162\fprq2 Arial Tur;}
{\f41\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f42\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f43\fswiss\fcharset186\fprq2 Arial Baltic;}{\f60\froman\fcharset238\fprq2 Times CE;}{\f61\froman\fcharset204\fprq2 Times Cyr;}
{\f63\froman\fcharset161\fprq2 Times Greek;}{\f64\froman\fcharset162\fprq2 Times Tur;}{\f65\froman\fcharset177\fprq2 Times (Hebrew);}{\f66\froman\fcharset178\fprq2 Times (Arabic);}{\f67\froman\fcharset186\fprq2 Times Baltic;}
{\f68\fswiss\fcharset238\fprq2 Helvetica CE;}{\f69\fswiss\fcharset204\fprq2 Helvetica Cyr;}{\f71\fswiss\fcharset161\fprq2 Helvetica Greek;}{\f72\fswiss\fcharset162\fprq2 Helvetica Tur;}{\f73\fswiss\fcharset177\fprq2 Helvetica (Hebrew);}
{\f74\fswiss\fcharset178\fprq2 Helvetica (Arabic);}{\f75\fswiss\fcharset186\fprq2 Helvetica Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \snext0 Normal;}{\s1\ql \fi-432\li432\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx432\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin432\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 1;}{\s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 2;}{\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\ilvl2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 3;}{\s4\ql \fi-864\li864\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx864\aspalpha\aspnum\faauto\ls1\ilvl3\adjustright\rin0\lin864\itap0 \b\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 4;}{\s5\ql \fi-1008\li1008\ri0\sb240\sa60\widctlpar
\jclisttab\tx1008\aspalpha\aspnum\faauto\ls1\ilvl4\adjustright\rin0\lin1008\itap0 \b\i\fs26\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 5;}{\s6\ql \fi-1152\li1152\ri0\sb240\sa60\widctlpar
\jclisttab\tx1152\aspalpha\aspnum\faauto\ls1\ilvl5\adjustright\rin0\lin1152\itap0 \b\f4\fs22\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 6;}{\s7\ql \fi-1296\li1296\ri0\sb240\sa60\widctlpar
\jclisttab\tx1296\aspalpha\aspnum\faauto\ls1\ilvl6\adjustright\rin0\lin1296\itap0 \f4\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 7;}{\s8\ql \fi-1440\li1440\ri0\sb240\sa60\widctlpar
\jclisttab\tx1440\aspalpha\aspnum\faauto\ls1\ilvl7\adjustright\rin0\lin1440\itap0 \i\f4\fs24\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 8;}{\s9\ql \fi-1584\li1584\ri0\sb240\sa60\widctlpar
\jclisttab\tx1584\aspalpha\aspnum\faauto\ls1\ilvl8\adjustright\rin0\lin1584\itap0 \f5\fs22\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext0 heading 9;}{\*\cs10 \additive Default Paragraph Font;}{
\s15\qc \li0\ri0\sb240\sa60\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f5\fs32\lang1033\langfe1031\kerning28\cgrid\langnp1033\langfenp1031 \sbasedon0 \snext15 Title;}}{\*\listtable{\list\listtemplateid-100094782
\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01-;}{\levelnumbers;}\loch\af0\hich\af0\dbch\af0\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720
\jclisttab\tx720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440\jclisttab\tx1440 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2160\jclisttab\tx2160 }{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2880\jclisttab\tx2880 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3600\jclisttab\tx3600 }{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4320\jclisttab\tx4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5040\jclisttab\tx5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5760\jclisttab\tx5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid72943879}{\list\listtemplateid1804128586{\listlevel
\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s1\fi-432\li432\jclisttab\tx432 }{\listlevel\levelnfc0\levelnfcn0
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s2\fi-576\li576\jclisttab\tx576 }{\listlevel\levelnfc0\levelnfcn0\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s3\fi-720\li720\jclisttab\tx720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0
\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s4\fi-864\li864\jclisttab\tx864 }{\listlevel\levelnfc0\levelnfcn0
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s5\fi-1008\li1008\jclisttab\tx1008 }{\listlevel
\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s6\fi-1152\li1152
\jclisttab\tx1152 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1 \s7\fi-1296\li1296\jclisttab\tx1296 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers
\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s8\fi-1440\li1440\jclisttab\tx1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s9\fi-1584\li1584\jclisttab\tx1584 }{\listname ;}\listid854879813}}{\*\listoverridetable
{\listoverride\listid854879813\listoverridecount0\ls1}{\listoverride\listid72943879\listoverridecount0\ls2}}{\info{\title Usage Scenarios}{\author Clemens Marschner}{\operator Clemens Marschner}{\creatim\yr2002\mo12\dy2\min42}
{\revtim\yr2002\mo12\dy2\min42}{\version2}{\edmins0}{\nofpages2}{\nofwords638}{\nofchars3642}{\*\company Dell Computer Corporation}{\nofcharsws4472}{\vern8249}}\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1134
\deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1417\dgvorigin1417\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale137\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule \fet0\sectd \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl
{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5
\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s15\qc \li0\ri0\sb240\sa60\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0
\b\f5\fs32\lang1033\langfe1031\kerning28\cgrid\langnp1033\langfenp1031 {\fs28\lang1040\langfe1031\langnp1040 {\*\bkmkstart _Toc26538554}Lucene Retrieval Machine
\par Lucene Framework
\par }{\fs28\lang1031\langfe1031\langnp1031 Usage Scenarios Document
\par }\pard\plain \qc \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang1040\langfe1031\langnp1040
\par }{Revision: 5 (cmarschn, 2002-12-01)
\par
\par Clemens Marschner - Otis Gospodnetic - Peter Carlson - Kelvin Tan
\par }\pard\plain \s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f1\fs32\lang1033\langfe1031\kerning32\cgrid\langnp1033\langfenp1031 {
\par Usage Scenarios{\*\bkmkend _Toc26538554}
\par {\*\bkmkstart _Toc26538555}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 1.1\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {File System Indexer{\*\bkmkend _Toc26538555}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 A file system indexer would work like the \'93Microsoft Index server\'94
. It may consist of only one pipeline.
\par The Scheduler puts document locations (i.e. file URLs) in an asynchronous (Request-) pipeline. The first MP loads the document, replacing the file URL message by a document message, and tries to detec
t a MIME type. After that, the MessageDispatcher component dispatches the messages to different MPs, depending on the MIME type, that extract the text of each document. In the end, a LuceneStorage takes the resulting message and saves it in a Lucene index
.
\par In an extension of that one MP first detects the Mime type, a second would check if that mime type can be handled by the application, the third then loads the doc, the fourth analyses the documents and the sixth saves them to a LuceneStorage.
\par In an incremental operation the Source is connected to the LuceneStorage and checks if documents have to be refreshed. An additional MP may check if the document loaded is newer than the one already indexed, and may discard the message if not.
\par
\par {\*\bkmkstart _Toc26538556}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 1.2\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Intranet Web Crawler{\*\bkmkend _Toc26538556}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 An
intranet web crawler (only a few hosts) is not that different than the file system indexer, except that the loading process may be multithreaded and loads document over the net instead of the file system. In this case there have to be at least two Messag
e
Pipelines, since the crawling parts are again active components. An additional processing step extracts links from the loaded documents and puts them back into the queue. A URLSeenFilter (called URLVisitedFilter at this time) makes sure no URL is put into
the pipeline twice. A RobotExclusionFilter makes sure the robot exclusion standard is followed, and filters URLs that are marked to be \'93disallowed\'94. At the end there is again that LuceneStorage.
\par (This is how LARM is implemented right now. There are already some efforts made to put some of the data structures on hard drive)
\par
\par {\*\bkmkstart _Toc26538557}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 1.3\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Small WWW Web Crawler{\*\bkmkend _Toc26538557}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057
If the system is supposed to scale to more than a few hosts, memory, efficiency and fault tolerance becomes a major concern, and it more and more becomes a matter
of juggling with the system resources (network bandwidth, CPU time, RAM, hard drive space). If one of them becomes a bottleneck, the whole system may become very slow or (in case of RAM or HD shortage) may crash.
\par Suppose LuceneStorage is much slower than t
he crawler. Since the indexer is pretty much CPU bound it becomes necessary to distribute that on to two hosts. This can be done easily with the pipeline framework if it the pipeline is broken up into two parts and connected via JMS. The loaded document i
s
put into a JMS topic which is configured such that the JMS messages are routed to one of the destinations in a round-robin manner. On the other side there are indexing components on different hosts that build Lucene indexes that are merged from time to t
ime.
\par {\*\bkmkstart _Toc26538558}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 1.4\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Large WWW Web Crawler{\*\bkmkend _Toc26538558}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 (todo)
\par If a web crawler is supposed to scale to the whole WWW a whole set of precautions have to be taken care of.
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls2
\jclisttab\tx720\aspalpha\aspnum\faauto\ls2\pnrauth1\pnrdate1718329849\pnrstart0\pnrxst1\pnrxst0\pnrxst45\pnrxst0\pnrstop4\pnrstart1\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrrgb0\pnrstop9\pnrstart2\pnrnfc23\pnrnfc23
\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc23\pnrnfc0\pnrnfc0\pnrnfc3\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrstop18\pnrstart3\pnrpnbr3\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrstop36
\adjustright\rin0\lin720\itap0 {\lang2057\langfe1031\langnp2057 The URLSeen structure must scale to billions of URLs (i.e. constant memory usage) and must also be distributed
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}Crawlers and indexers must be distributed
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}Most of the data must be kept on disk
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}The server must be able to save its state on disk and recover after failures
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}Exchange of messages should take place in batch operation
\par {\listtext\pard\plain\lang2057\langfe1031\langnp2057 \hich\af0\dbch\af0\loch\f0 -\tab}special services, i.e. DNS resolvers, have to be installed to prevent bottlenecks
\par }\pard \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\lang2057\langfe1031\langnp2057
\par {\*\bkmkstart _Toc26538559}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 1.5\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Database Indexer{\*\bkmkend _Toc26538559}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057
A database indexer may consist of a Message source that is connected to the messaging mechanism of the database (i.e. triggers). It then reads the contents of changed database fields and puts them alon
g to the indexer. That way Lucene may be integrated into HSSQL or even Oracle.
\par Problem here: Transaction safety may make it necessary to operate largely with disk based structures (i.e. transaction logs)
\par {\*\bkmkstart _Toc26538560}{\listtext\pard\plain\s2 \b\i\f1\fs28\lang1033\langfe1031\langnp1033 \hich\af1\dbch\af0\loch\f1 1.6\tab}}\pard\plain \s2\ql \fi-576\li576\ri0\sb240\sa60\keepn\widctlpar
\jclisttab\tx576\aspalpha\aspnum\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin576\itap0 \b\i\f1\fs28\lang1033\langfe1031\cgrid\langnp1033\langfenp1031 {Single Subsystem Test Scenario{\*\bkmkend _Toc26538560}
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 {\lang2057\langfe1031\langnp2057 For testing purposes
it may be viable to interface the SUT with dummy or utility components. That way, if the document processor subsystem is to be tested, the LuceneStorage may be replaced by a LogStorage, which does nothing but log everything it gets into log files. This lo
g storage may also be placed between different processing steps.
\par
\par }}

View File

@ -0,0 +1,16 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f28\froman\fcharset238\fprq2 Times New Roman CE;}{\f29\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31\froman\fcharset161\fprq2 Times New Roman Greek;}{\f32\froman\fcharset162\fprq2 Times New Roman Tur;}
{\f33\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f34\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f35\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f36\fswiss\fcharset238\fprq2 Arial CE;}{\f37\fswiss\fcharset204\fprq2 Arial Cyr;}
{\f39\fswiss\fcharset161\fprq2 Arial Greek;}{\f40\fswiss\fcharset162\fprq2 Arial Tur;}{\f41\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f42\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f43\fswiss\fcharset186\fprq2 Arial Baltic;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1031\langfe1031\cgrid\langnp1031\langfenp1031 \snext0 Normal;}{\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \b\f1\fs32\lang1031\langfe1031\kerning32\cgrid\langnp1031\langfenp1031
\sbasedon0 \snext0 heading 1;}{\*\cs10 \additive Default Paragraph Font;}}{\info{\title Terminology}{\author Clemens Marschner}{\operator Clemens Marschner}{\creatim\yr2002\mo12\dy2\min42}{\revtim\yr2002\mo12\dy2\min42}{\version2}{\edmins0}{\nofpages1}
{\nofwords1}{\nofchars10}{\*\company Dell Computer Corporation}{\nofcharsws12}{\vern8249}}\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1134
\deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1417\dgvorigin1417\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale137\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule \fet0\sectd \linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl
{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5
\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang
{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0
\b\f1\fs32\lang1031\langfe1031\kerning32\cgrid\langnp1031\langfenp1031 {Terminology
\par }}