Main  /  Edit version 3  /  Edit version 4  /   /  Users Area

Difference "Plans For Future" ver. 3 versus ver. 4

Content:

## Remove libmm
OSSP mm is licensed under 4 clause BSD license that is
not compatible with GPL. It should be replaced with
Boost.Interprocess that is available starting from 1.35
and have anonymous map for forked processes starting from
1.36.
## Improve Widgets
Improve widgets to cover _all_ options available in
standard (X)HTML.
## L1 Cache based on frequency of access
## Documentation
### Problem
### Terminology
Line Up Everything with consistent terminology --- don't mix view/skin/template etc.
### Internals
All internal features should be documented in order
to allow transparent extension of various features.
## Improve Cache system
Today cache system uses:
- std::map as primary and secondary key
- Implements additional secondary key for explicit removal
based on timeouts.
- LRU algorithm for cache
This solution works with O(log n) complexity and not scan
resistant.
Following Required:
- Remove timeout index in order to remove log complexity.
- Replaces key/value search container of std::map to `unordered_map` in order to achieve O(1) complexity.
- Test possibility of replacement of LRU algorithm with 2Q that is scan resistant algorithm. (Is this relevant for Web?)
## Improve TCP Cache
Problem:
Today distributed cache system works very similarly to memcached --- every fetch requires round-trip to remote server. This significantly reduces cache performance in case
of distributed system in comparison to in-memroy cache.
Thus in the process of scale-up performance/cost factor becomes much lower when use of distributed cache is started.
### Solution
Solution:
Implement L1-in-memory cache that would cache most frequently used cached entries in memory of each of the nodes of distributed system.
How to manage consistency of such cache? Probably the size of L1 cache should be quite small and it should not be updated frequently. Cache servers should be aware of entries stored in L1 cache and thus broadcast "rises" only for cached keys --- this would remove all unnecessary traffic of removed entries.
## Cache Debugging utilities
### Problem
Problem:
Debugging of application that uses trigger based cache can be quite painful due to problematic access to internal structures of cache system
### Solution
Solution:
Implement simple CppCMS application that would create a browser based access to cache content.
## Degraded Mode of work
### Problem
Problem:
What happens when one of cache/session servers fails?
### Solution
Solution:
Provide automatic servers fail-detection procedures and continue to work in degraded mode.
## Logging
Provide simple logging framework for CppCMS applications
## Crontab
Implement "crontab" facilities --- and ability to run some task periodically
## XSS Filters
Provide some efficient anti-XSS filters. It is very important part of web development but there is no tools written in C/C++ that does this.
## Native Windows Support
- Consider how much effort should be put to make CppCMS support windows naively
- How degraded this mode would be?
- Is it feasible to do only withing Mingw environment or VS may be applicable as well?

About

CppCMS is a web development framework for performance demanding applications.

Support This Project

SourceForge.net Logo

Поддержать проект

CppCMS needs You


Navigation

Main Page


Valid CSS | Valid XHTML 1.0