Here is some progress on the Major/Minor Data Protocol that I am developing to make a two-way Outernet access which, once completed, will be implemented into a package which I will be releasing for people to use to make access points.
Here is a diagram. The algorithm is similar to LinkedList algorithms, but with some different aspects:
Essentially, what will happen is the program will search for any connection to another similar device(most likely through different types of checks). Once it finds random devices, it will record their pings, store the information both about the device and connection name. It will compare the pings of each device, and store it so other devices that connect to it will know the best connection to use.
Then, when a device connects to any of these connective devices, the device will be able to connect and request a website page and data required to fill it out. When the request is made, the device first will check if the file exists on it. If not, it will refer to the other devices it is connected to through a recursive method. The device will make requests to both of its devices it is connected to see if they have the files. If so, the devices will send the files to that device making the request, then that device will send the data to the original device that requested the information.
I hope that is understandable. If there are any questions just ask.