# 2019-03-02 "IRP" Project Status ## Naming For complete lack of a better name, I'm going to continue using the placeholder "IRP" name suggested by Stephen (W8BSD): "IRP." I don't even remember what it stood for now. Inter-radio-protocol maybe? Plan is to rename. Not getting hung up on that for now. ## Survey of existing research: Working through skim-level reading of available research, focusing on topics like routing for Delay Tolerant Networks. Learning terminology. Current keywords that may be useful: - MANET (Mobile ad hoc network) - VANET (Vehicular ad hoc network) - DTN (Disruption or Delay Tolerant Network) - VDTN (Vehicular DTN) - Hybrid V2I and I2V networks (communication between vehicle nodes and fixed location "infrastructure" nodes) - Ferries (mobile nodes in a hybrid network that can carry messages) - Store-Carry-Forward (SCF) In skimming research, I'm still casting a broad net in chasing citations, and not reading deeply yet. There are at least a couple survey papers that already look very useful, in particular, "Routing in Delay/Disruption Tolerant Networks: A Taxonomy, Survey and Challenges" - I've starting methodically chasing down some of the 146 citations from that paper in a subcollection. I plan to eventually pull together the most useful papers I find from casting this broad net into another smaller subcollection. Eventually, I'll likely move this to a group library published to Zotero, to share with collaborators. Informal survey of existing projects: - ActivityPub - Mastodon (implementation) - (Secure) Scuttlebutt - Patchwork (implementation) - Rumble (implementation) - APRS - LoraWAN and HamLora ## Project scope ### Use cases: #### Uses Not (yet) in scope: I'm intentionally allowing myself a fair amount of flexibility in terms of project scope at this stage, allowing my interests to carry me afield into new domains or clarify requirements wherever seems appropriate. At this stage, I'm not interesting in ruling out _eventual_ support for use-cases like carrying the private communications and public propaganda of political dissidents in more dangerous contexts, but I'm attaching the initial design goals to an amateur radio implementation, so any encryption that obscures meaning will necessarily be omitted for legal reasons. I'm also not _initially_ targeting emergency communications, though given the centrality of designing around DTNs, the project may very well lend itself to such adaptations in the future. I'd like to make geodata an _optional_ component of this system rather than a required one so that privacy-preserving applications may _eventually_ be built on an adapted network. This may significatly limit our recourse to information-based routing algorithms though, so I haven't yet set this in stone. #### Uses in scope: - Informal social networks for local communities of licensed amateur radio operators. (Something like Twitter over the air for local ham radio clubs) - Distribution of small messages. - Possible authentication of said messages via lightweight signatures? (i.e. I know this message about the change to our Field Day location came from W8TAU because he signed it, and I can verify with his public key) The implementation details of this could be punted on, but authentication security should be legally feasible for an amateur radio implementation as it would not obscure the meaning of the messages. - Eventual support for an ISM-band implementation for unlicensed use as a DTN for local communities (e.g. community event announcements, local business advertisements, garage sales, etc.) - Sharing of updates to collective knowledge bases like wikis and documentation websites. [Insert hand-waving about things like IPFS and DAT here] ### Layer scope: Several layers are very much still in scope for this project. It may deal with the bundle and/or application layer in terms of adaptors to existing decentralized or federated social networking protocols and applications like ActivityPub or Scuttlebutt. This project will also deal with routing protocols for a hybrid VANET. PHY layer details may also be in scope, but it's possible we may be able to re-use existing digital modes as our transport. Essentially the whole network stack is still in scope, but as routing is likely the most interesting problem, we may lean on existing implementations for as many of the other layers as possible. ### Software scope: It is quite likely that software will need to be written. ### Hardware scope: Ideally, a design for low-cost BoM infrastructure and mobile nodes would be included in this project as well. That may take the form of Raspberry Pis with additional transceiver or filtering circuitry, or it may take the form of new microprocessor-based fixed-band QRP transceiver circuit designs. The ideal design would be a standarized, small, batteries-included, solar-powered transceiver + antenna package. That is, there will likely be not only (some) circuit design and layout needs, but also integration considations, antenna system tradeoffs to be made, and some mechanical design considarations for long term project housing. ## Project Goals ### Learning The primary goal of this project is to learn new and interesting things. Therefore, this is a research project. The new and interesting things do not necessarily need to be 100% novel to be worthwhile, they only need to be new and interesting to me personally. ### Implementation A secondary goal is to actually implement a network described by the eventual research design so that further research can be done. ### Publication A tertiary goal is to publish research findings from this project in order to advance the radio art and share the excitement of learning new and interesting things. ## Planning At this point, I'm still mostly just chasing what seems most interesting to learn or work on at the moment, but I'm starting to see a number of things that may be needed in order to implement the complete project. ### Research tasks - Identify and summarize relevent routing protocols - Formalize characterization of the desired network in precise terms congruous with the existing research body of knowledge. - Identify any network layers requiring novel protocol designs - Formalize requirements for specific protocols ### Experimentation tasks - Learn to use various simulation tools: - ns-3 - MANE / CORE ? - SUMO (for traffic modelling?) - Extract or record historic real-world APRS data from aprs.fi or some other service for use in modeling possible traffic flows on hypothetical "IRP" networks - (The thought here is that if successful, initial adoption of "IRP" may look a lot like APRS) - Experiment with local digital-mode propagation on various bands with various hardware - i.e. can we put a LPF and a small antenna on an RPi and reliably get something like MT63 down the street and back on 1.25cm using rpitx? - Experiment with small and inexpensive antenna systems - Even very short distances may be useful! - Creative inexpensive antenna designs are very much in play still - Experiment with inexpensive transciever options - What all can be done with rpitx? - What's possible with low-cost IC transceivers? - Experiment with existing digital modes - What are the bandwidth, latency, and reliability characteristics of existing digital modes: - on various bands - at various distances - under various conditions - Experiment with novel layering of existing protocols - Can we deliver ActivityPub over HTTP over Bundle and make any existing applications work? - Experiment with new implementations of protocols found in research - Bundle Protocol https://tools.ietf.org/html/rfc5050 - HTTP over Bundle Protocol for Delay-Tolerant Networks (DTN) https://tools.ietf.org/id/draft-perreault-dtnrg-http-00.html - various routing protocols for MANETs and VDTNs