1 / 21

liquidlan/

http://www.liquidlan.net/. What is it?. File sharing system for LANs extends the functionality of Windows(/Samba) networks Runs on top of Windows networks Client-server based Windows client (eMule framework) Linux server/search engine (Seek42 fork) Rotting away on my hard drive The GUI….

dougal
Download Presentation

liquidlan/

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. http://www.liquidlan.net/

  2. What is it? • File sharing system for LANs • extends the functionality of Windows(/Samba) networks • Runs on top of Windows networks • Client-server based • Windows client (eMule framework) • Linux server/search engine (Seek42 fork) • Rotting away on my hard drive • The GUI…

  3. The client GUI

  4. Is this P2P? • Sorta… was Napster P2P? • My front-end requires centralized server. • Client-server approach better for LiquidLan • Instantaneous search results • No need for “Internet” scalability • Highly simplified implementation (more reliable too) • Less resilient to close-minded administrations  • However, underlying overlay network is P2P. • SMB/CIFS use client server approach • Network Neighborhood can be viewed as network of peers and ultrapeers (winners of master browser elections) • LiquidLan doesn’t care though.

  5. The system

  6. Quick background • Server Message Block (SMB) • Protocol used by Windows networks • Mainly file/printer sharing, IPC • MS extended it, renamed CIFS • Can run over NetBIOS or TCP/IP • Inefficient though (broadcasts to entire subnet) • Windows networks • SMB client and server, Network Neighborhood, etc. • free, open source implementation called Samba

  7. The server

  8. The server • Seek42 • GPL’d Windows network search engine • Scans LANs, indexes results, answers search queries (TCP/IP) • Uses modified smbclient (not for long though) • ~10,000 lines of code • Heavily extended • But new version just released, so I will need to merge my changes.

  9. The server (modifications) • search returns more than just exact substring matches • search creates pretty-printed stats • smbclient patch filters junk file types • tse can expire an entire class C • new ipfile syntax • optimized (struct res_t).host… now long int • dynamic data structures for run-time reconfig • added comments, documentation • configuration file (no more defs.h) • easy installation • Numerous bug-fixes

  10. The server (TODO) • Merge seek42-1.0 with mine • Add opt-in support • Implement an XML-based configuration • Remove need for modified smbclient • Remove legacy code • Finish the config request handler • …

  11. The client • No restrictive webpage interface, UNC resource paths… • A fully-functional, specialized, application client • eMule application framework (threw out core logic) • Written in Visual C++, uses MFC heavily • Heavily relies on the Windows API • So in other words, not very portable  • Multi-threaded search client and download manager • Integrated Web browser (special purpose) • Highly configurable (needs work though) • Faaassssst!

  12. The client • But perhaps the coolest feature of all… • DRUM ROLL PLEASE…

  13. DLCP • Dynamic LiquidLan Configuration Protocol • Not to be confused with DHCP ;) • Conceptually very similar though • Zero-conf solution… • Dynamically resolve server address • Dependent on database-driven program that runs on dlcp.liquidlan.net • LiquidLan server operators can create an account and manage their config • Therefore, users can install, open, and connect automagically! • That is my ultimate goal… complete transparency of the underlying system (end-users don’t wanna know!)

  14. DLCP continued...

  15. The client (TODO) • Implement the initial exchange of configuration between the client and server; this must run asynchronously (in a separate thread). • Isolate all the hard-coded policies and make them user options. • Add the “Search hard drive for media” feature which traverses the hard drive for media to share, respecting DRM when possible*** • Add an auto-update mechanism (maybe) • Add iTunes, Windows Media Player, and Winamp integration. • MBCS support (TCHAR instead of char) • Eventually add IPv6 support (maybe) • Finish DLCP! • …

  16. Current systems • PySMBSearch • UntzUntz LAN Scan • Strangesearch • Netropolis • Phynd • None of them come equipped with a usable application front end.

  17. Lit Review (quickly) • Incentives in BitTorrent Induce Free Riding • The Impact of DHT Routing Geometry on Resilience and Proximity • Tree-Based ALM using Proactive Route Maintenance • An XML-based Conversational Protocol for Web Services • Design Choices for Content Distribution in P2P Networks

  18. Design • Design Process Model similar to Waterfall • In general, good OOP design principles • Clean frameworks! • Loosely coupled (small interfaces) • Reusable/Extendable • The waterfall…

  19. The Waterfall

  20. THE END For more visit www.liquidlan.net

  21. ?

More Related