User Tools

Site Tools


pentominos:pentominos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pentominos:pentominos [2009/02/11 10:45] devapentominos:pentominos [2010/01/29 08:46] (current) deva
Line 1: Line 1:
-=====Pentominos - Data Collection System ===== +======Pentominos - Data Collection System ====== 
-====Network communication (protocol)==== +=====Overview===== 
-All network communication are done via XML documents.\\ +The Pentominos project consists of several sub-projectsthat all work together to produce full circle of data gatheringdata storage and data retrieval.\\ 
-<del>Every XML document is terminated by the zero character ('\0' in c/c++)\\ +Here is list of the current sub-projects
-Sending the zero character to a process will reset it, and thereby cleaning up all mess made by illegal documents.</del>\\ +  * [[Artefact]] - The data storage server. 
-A connection can only be created in client-mode, and will exists as long as the client intends it to.\\ +  [[Feed]] - A thin client data gathering application
-A server listen will run in a read loop until the client terminates the connection.\\ +  * [[Upload Server]] - Journal writer
-The server must reply to all request with an answer, no matter if the preceding processing went well or not. +  * [[Pidiod]] - The uid => patient ID mapper
- +  * [[Pidio]] The uid => patient ID mapper client (numpad/rfid). 
-====The client==== +  * [[libartefact]]
-The client reads its config fileand forks for each config section it encounters.\\ +
-Every fork handles a single apparatus according to the attached config section.\\ +
-The main thread runs infinitely and makes sure to terminate all client forks upon termination.\\ +
-Every client is connected physically to a port on the host computer, and a LUA program runs to determine whether data is ready to be read or not.\\ +
-The LUA programs hereafter sends this data to the server indirectly through number of exposed c methods.\\ +
-Each LUA program must run in an infinite loop, terminating only when the function stop() returns true, and it must not hang waiting on read, but rather have a time-out, and loop again. +
- +
-====Data types==== +
-Problem: An apparatus produces more than one type of data, but stores all measured values in the same data block. +
-How to make a query that will hit this multi-data block?\\ +
-Solutions+
-  * Make client send data one time pr. data type, thus storing it in the db under two different classes. +
-    * //Pros//: +
-      * We don't need to make any changes to the server code+
-    //Cons:// +
-      * The client needs to parse the data (no longer thin). +
-      * The data are stored multiple times in the file system. +
- +
-  * Make validator detects which types of data are contained in the block, adding a list of type tags in the database. +
-    * //Pros:// +
-      * The data are only stored once in the file system. +
-    * //Cons:// +
-      * Needs to query an entry in a list in the db. +
- +
-  * Make the validator insert one entry in the db for each data type, referring to the same data block (file). +
-    * //Pros:// +
-      * The data are only stored once in the file system. +
-      * We don't need to make drastic changes to the server code (or client for that matter). +
-    * //Cons:// +
-      * bleh +
- +
-====Links==== +
-  * http://xerces.apache.org/xerces-c/ +
- +
-====TODO==== +
-  * {{:check.png}} Make SQL comm functions for the LUA programs (e.g. for the cpr server). +
-  * {{:check.png}} Rewrite server to utilize read loop. +
-  * {{:check.png}} Replace xerces-c with eXpat. +
-  * {{:uncheck.png}} Make SQL comm functions for the LUA programs return all results and not just the first one. +
- +
pentominos/pentominos.1234345555.txt.gz · Last modified: 2009/02/11 10:45 by deva