Comments (2)
The client will, for that API call session, maintain fogs that do not have adequate edge count capacity at a given quadrant. If a fog that it contacts does not have edges at that quad, the fog will return an alternative fog which it thinks has capacity. The client will pass the blacklist as part of this exchange so that the alternative fog is not part of this.
from elfstore.
The client will initially get the list of fogs which will take part in writing of a data block. Initially the client will not be aware of any fogs which doesn't have adequate edge count capacity as we are doing it on an api call session basis. While performing the write operation, it might fail and client on an error response can populate the list of blacklisted fogs and the fog it communicated with can return an alternative fog. The client can then communicate with the alternative fog passing the blacklisted fogs as a parameter. However, the writes by the client are parallel and the blacklisted fogs list is building up as the writes are performed, so need to take care of parallelism in the write operation.
from elfstore.
Related Issues (20)
- Add retry mechanism to handle write failures of fog
- MD5 checksum for blocks should be part of metadata HOT 2
- Handle metadata updates when edge dies HOT 1
- Support for edge rejoining with previous blocks and their metadata
- Priority based recovery of blocks on edge failure
- Bloom filter needs to have number of bits based on required false positive % HOT 1
- Construct DHT for fog, buddy, neighbors, edge from scratch
- Use PKI for encryption of blocks in untrusted environment
- Support for in-place updates of blocks HOT 1
- Support for metadata update for blocks HOT 2
- Can we use fog as a storage medium as well? HOT 1
- What role does erasure coding place instead of replication? HOT 1
- Use of compressed bloom filters to reduce the transmission cost
- Include a simple commandline shell
- StreamMetadata object should also contain the mapping of blockId and its MD5 checksum as a dynamic property
- StreamMetadata should have a mechanism to allow sequential access to the blocks
- Efficient use of bloom filter to optimise for the number of network calls during GetBlock HOT 1
- Add support for updating the block data HOT 1
- Support AND queries over metadata over multiple predicates
- Notification from fog when new blocks are added to stream
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elfstore.