today implementation don't have problems!

maybe an new directory could help, see:

when we get from "/#OW SYSTEM#/#ANY FILE OR DIRECTORY#" (could be 
"/ow_device_manager/#ANY FILE OR DIRECTORY#")
OW SYSTEM:
    ow system that's connected direct to ds2480 or ds2490 or another dsxxxx

this directory could work like this:

init(" owserver ");
get(" settings values ");
put("/settings/timeout/network",0);
put("/settings/timeout/stable",0);
put("/settings/timeout/volatile",0);
put("/settings/timeout/ another timeout configurations ",0);
$value=get(" getting now will be expired cache value, we will get from 
owserver :) ");
put(" set settings back again ",setting_value);
echo "$value";

i can do it with php, but time to change and set again configuration is 
very big for a single read.

*****************
cache system ideas:

SQLITE
sqlite good things:
we can SEE the cache

good thinks about sqlite library (www.sqlite.org):
Small code footprint: less than 250KiB fully configured or less than 
150KiB with optional features omitted.
Supports databases up to 2 terabytes (2^41 bytes) in size. (no problem 
with 2^64 device)
A complete database is stored in a single disk file.
Implements most of SQL92.
Zero-configuration - no setup or administration needed.
Self-contained: *no external* dependencies.


*have windows and posix support!!!!*

SQLITE PROBLEMS:
    maybe anyone could delete file or change table values or put 
incorrect values on cache system, write lock on file must be done
    if sqlite is used with ":memory:" (in memory database) just owserver 
will see the database, may be it could be used only with filesystem cache

if sqlite is faster than today implementation AND with small footprint, 
we could change today implementation for non uclinux compilations too, 
we need to see if memory usage is bigger or small with sqlite library too

we don't need to delete expirate values, a field could say the last time 
that cache was updated and an SQL statment could filter the value like: 
"SELECT value FROM cache_table WHERE file='balbalbal' AND 
expiration_time>= current_time ", maybe when owserver end or start 
database could be cleaned...


ANOTHERS

anothers cache systems could be: the system used in MMTurck or 
eaccelerator or APC or memcache (php libraries from pecl.php.net) or  
Berkeley DB or
(http://www.danga.com/memcached/) :
Memcached is a caching daemon designed especially for dynamic web 
applications to decrease database load by storing objects in memory.
MEMCACHE PROBLEMS:
    server must run before ow,
    could be used for non uclinux too,
    maybe sqlite could be faster, if disk write and read is faster than 
IP communication.
    If memcache server die or don't work what could we do?
    i didn't see documentation of memcache, but i think that we can't 
see all cache contents like an "SELECT * FROM cache_table"

COMMENTS:

i don't know if database systems could help, we need fast systems and i 
don't like another program running like mysqld or oracle daemon or 
postgrees daemon or firebird daemon or XXX daemon, maybe embbeded 
solutions like sqlite or filebased databases could help. without server 
running cache is locked, using filebased database we just need file 
access to write and read, today i just run owserver with root... i don't 
have privileges problems for files, for windows the same thing just run 
like administrator
if we will use filebased, we need to remember that files can be 
shared... if we put it on network filesystems maybe many owserver can 
use the samefile and table conflicts could occur like duplicated 
settings values, we need to put mac address to know what server we are, 
or another unique ID...
just building to test and know if it really work...


Paul Alfille escreveu:
> Hi Robero. You certainly are exploring the entire program!
>
> Currently the cache is an in-memory binary tree. There is some 
> information at http://www.owfs.org/index.php?page=cache 
> <http://www.owfs.org/index.php?page=cache>
>
> Several different things are cached:
> 1. devices (basically if a serial number was found, and on which bus)
> 2. directory lists (lists of serial numbers for a given path)
> 3. "file" contents ( things like serialnumber/temperature )
> 4. Hidden properties (like cumulative counters, and barometer 
> calibration factors)
>
> Cached items also store their termination time.
>
> We actually use two binary trees, one for new entries, and one that is 
> older. The older one doesn't get updated, and eventually expires 
> entirely, and gets deleted. At that point, the newer one becomes the 
> older one, and a new one is started.
>
> This means that we never have to scan through all the items with see 
> which are too old, and stale entries are guarnteed to be deleted in a 
> reasonable time period.
>
> So, could the cache be stored in SQLite? Sure. Could it be backed up 
> by a physical file? Sure. What would the advantage be? Binary trees 
> are quite fast for adding and retrieving. Glibc and uClibc both have 
> support built in for binary trees so external libraries are needed.
>
> There are some problems with the current scheme. If you have owfs 
> connecting to owserver, each has it's own cache. It is possible for 
> the caches to be out of synch, especially if several programs are 
> connected to owserver. Reading "uncached" values will always work, and 
> cache problems time themselves out quickly in any case.
>
> An alternative design would be a separate owcache program. Cache would 
> be consistent, and not repeated, but communication efficiency might 
> swamp space efficiency. I didn't do it because of the complexity.
>
> Tell me what you see as the deficiencies of the current scheme.
>
> Paul Alfille
>
> On 10/14/06, *Roberto Spadim* <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
>
>     Hello guys, i was thinking about cache system...
>     can we use cache in filesystem?
>     like in sqlite we can use
>     sqlite_open(":memory:");
>     to use database on memory and
>     sqlite_open("/file.sqlite");
>     to open an file
>     could we set the "file_name" of cache system?
>     if we put "NULL" the cache system could be turned off
>     what you say?
>
>     have anyother database system that is fast than today database?
>     sqlite
>     could be used? we are using berkley?
>     could we select "file_name" for
>     Old Cache data
>     New Cache data
>     Persistent data
>
>     in diferent "files"??
>     thankx guys :)
>
>     "files" could be memory or real file
>
>     -------------------------------------------------------------------------
>     Using Tomcat but need to do more? Need to support web services,
>     security?
>     Get stuff done quickly with pre-integrated technology to make your
>     job easier
>     Download IBM WebSphere Application Server v.1.0.1 based on Apache
>     Geronimo
>     http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>     <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
>     _______________________________________________
>     Owfs-developers mailing list
>     [email protected]
>     <mailto:[email protected]>
>     https://lists.sourceforge.net/lists/listinfo/owfs-developers
>
>
> ------------------------------------------------------------------------
> Esta mensagem foi verificada pelo E-mail Protegido Terra 
> <http://mail.terra.com.br/>.
> Scan engine: McAfee VirusScan / Atualizado em 13/10/2006 / Versão: 
> 4.4.00/4873
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> ------------------------------------------------------------------------
>
> _______________________________________________
> Owfs-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>   


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to