Grapevine grapevine implementation in Python
- Simplifying the ContextSummary class hierarchy
- Only ContextSummary/GroupContextSummary
- Make some of the API names clear
- writeSummaries/readSummaries instead of "writeObjectData/readObjectData"
- Use my own serializer instead of Java library Kryo/ByteStream
- Every serialized data is now byte stream (in other words, string).
- We have our own format for the serialization, and we can be smarter
- We can use C type string, instead of Pascal type to save more space
- We can strip off the first bytes of timestamp data - it will be the same all the time
- We can use zip to reduce the size of the byte stream
- Can be cross-platform as we use byte stream (string) for payload
- Remove not used code: observer pattern
- The network test uses only UDP broadcasting, no TCP/IP networking implemented.
- No network interface search code implemented, just uses local ip and port.
- id is just given as number, but we need a feature to assign id based on network.
- Do we really need GroupDefinition?
- How good or bad in using Bloomier Filters
- Under what conditions Bloomier Filters shine?
- What's the number in size comparison?
- Why we don't zip the buffer to shrink the size? I tested with simple example to shrink from 180 bytes to 70 bytes.
- I need to get the cross platform hasher function that will give me the same numbers under all circimstances.
- Serialize bloomier filter
- Zip the serialize data
- C++ implementation
- Design documentation - with beamer
- Using MD5 algorithm, make the hash code generator for grapevine
- Rewrite the Java code based on the simplified code
- We need a checker for contextHandler
- input: data for contextHandler
- output: true/false if the contextHandler data is well organized - group member connection for example.
- Internal state debugger. We need some debugging environment to trace the inner workings of grapevine
- The current group formation is good enough? What other strategies?
- Understand how to network communicate between grapevine devices. Just broadcasting is good?
- Do we need special protocol for grapevine network communication? broadcasting_tcp