Watermill is a watermarking and fingerprinting software written in Java. It consists of a generic watermarking library which is used by other libraries to watermark relational databases (Postgresql,MySQL), XML Dbs (Xindice) and Web Services.
Watermill's aim is to bring watermarking functionalitites to classical database technologies. Watermarking is a classical tool for hiding information in a document, such that the owner's identity or the client's identity, for tracking purposes.
A wide class of watermarking algorithms exists for multimedia data such that image, sound and video. Recently, interest has evolved to the watermarking of structured data, like relational ones or Xml documents.
Here are some key features of "Watermill":
- A front-end for a classical RDBMS, that gives new SQL-commands to watermark databases
- A basic greedy watermarking system for numerical data
- Optimization for specific constraints, using integer programming technics
- Full management of identity information and identity services.
- JDK >= 5.0
- JavaCC: a parser/scanner generator for java.
- ANT: a java-based build tool.
- je.jar: Berkeley Db Java Edition ([link]).
- jdbc driver: either MySQL([link]) or PostgreSQL([link]).
- libreadline-java.ar: java bindings to GNU readline library (Unix only and optional).
- llog4j-1.2.jar: [Log4j], Java logging facility