Welcome!

Java IoT Authors: Zakia Bouachraoui, Liz McMillan, Kevin Benedict, Elizabeth White, Yeshim Deniz

Related Topics: Java IoT

Java IoT: Article

"Make Every PC a Server" - Is That JXTA's Killer App?

"Make Every PC a Server" - Is That JXTA's Killer App?

  • Read Daniel Brookshier's regular blog

    Some technologies don't gain wide adoption until there is an application used by a large number of users. We call them killer applications because they are so compelling or in fact kill a problem dead.

    For the personal computer, it was the spreadsheet (VisiCalc was the first and it was copied by the rest) and at about the same time, the word processor. What will be the killer application for JXTA? Is it already here?

    File Sharing - Capture and Death of a Serial Killer

    Napster was a killer application. Sadly it was done in a way that wasn't legal. I won't go into the politics of record companies and free speech - the fact is that Napster was taken out of play by the courts. Yes, there are other music sharing and purchasing applications, but nothing as big as Napster. But the other problem is that it was only about music (at least the killer part). There was no real big application associated with general business or entertainment based on the P2P/Central-Index scheme of Napster.

    Don't think that there aren't other file sharing applications doing quite well. In fact, there are file sharing applications written in JXTA that support thousands of users in legitimate business applications. They may become the new 'next big thing' - but I see it as just a better way to share files rather than the ultimate killer application.

    People Like to Save Time and Effort

    Sometimes a killer application just makes things easier. Struts is making it even easier to develop Web applications. Ant makes it easier to build and maintain projects. XDoclets reduces labor via its code generation capabilities. All these examples are starting to be widely adopted because of their productivity improvements. Can JXTA make things easier?

    JXTA has all the hallmarks of reduced effort. First, there is no real server involved. Imagine the time, money, and sweat equity saved by not dealing with the monolithic server and its support system. But that's just economics - where are the savings for the common man? Let's look a little at one of the key ideas about JXTA.

    It's a Candy / It's a Breath Mint

    What makes JXTA unique? It's not about Peer-to-Peer (P2P). P2P is just a fuzzy buzzword that means computers talking to to computers. What JXTA is about is that it places the Internet inside applications rather than the browser. This also means the gestalt of the application includes a real interface, storage, and can be run 24 hours a day if needed.

    The quote below is from Juan Taylor, which covers this quite nicely:

    What's the ONE thing that P2P can do that client/server can't?

    It's that the Client can be a Server.

    WHY would the client want to be a server?

    To share information. Easily and in different and even complex (only JXTA can do this) ways, in a 'User to User' way. In anonymous file-sharing there is an innate loss of wanting to share files. In a User to User perspective, there is an immediate desire to share.

    There's the Benefit, and the complexity which only JXTA can handle.

    What this means simply is that, unlike client/server, JXTA is client/server and server/client or even server-to-server or client-to-client. The information, storage, processing, and communications can start at either end. In the world of applications this also means that I don't have to work in a world of centralized resources where there are multiple issues. The worst problem of course is just the impedance mismatch between the world of application and the world of Web applications.

    Are You Thinking Differently?

    So, what if every client was a server? Sadly it's not all about efficiency. I say "sadly" because P2P is all about wasted space and CPU cycles. The sad part is the knee-jerk reaction many have to waste. But the fact is that replicating data and the power of your own CPU versus a shared server is far safer and can be orders of magnitude more efficient in getting the job done. The waste is insignificant in terms of the modern PC with their large disks and often idle CPUs. When you trade inefficiency in an area that is monetarily insignificant, the gain in productivity is essentially for free.

    P2P Forum

    The forum interface is similar to those on Java.net. Basically a forum is a threaded discussion. The oldest version of this is the old news forum, which still exists but has been taken over by spam. Think of it as a server-based e-mail forum that anyone can read or submit messages to.

    What would a P2P Forum look like? First the history of the messages needs to be available to anyone. This a great feature of the forum because it lets you search for a conversation in the past. Guess what, that has to be on a PC since there is no server. Here comes the duplication of effort: To make this work, keeping the history on as many computers as possible increases the speed of the search. The search is really fast if you have your own copy. If the forum history is very large, and is bigger than that free 5 gigabytes on your disk, we can share different sections of the data. We still need a lot of copies because some peers may go off line.

    Thinking Until It Hurts

    Ok, does it hurt your sense of efficient computing yet? I remember being unable to use linked lists and hash tables for years because my professor in college was so anal that memory was the most important thing in the world. He put speed and ease of use far far down the list of importance.

    Waste or Efficient Use?

    Ok, now back to killer applications. What if we added a P2P forum to a development tool? First, because it is part of the tools, the focus is like a laser. The efficiency of use is very close to the tool because it is the tool. Have a weird exception? It is a click to add it versus cut-and-paste and a little reformatting. Wondering what the correct settings are for a task? What if the expert could reply with his settings which you can just use, rather than interpret a poorly formatted and worded answer? Yes I have perhaps a couple gig of messages, but I have the world's greatest integrated help system.

    These ideas are Copyright Daniel Brookshier 2004, all rights and derivative patents cannot be used by Microsoft or its agents. Free use to those that use 100% Java and JXTA to implement the solution. Ideas like this need to be free to make life less like walking on broken glass.

    Killer Instinct

    JXTA is a killer capability that will make a good application a great application. Making every PC a server seems like a good idea. Not every solution will benefit, but there are a few thousand new ideas that JXTA makes possible. Look at the world upside down. Be the server.


  • More Stories By Daniel Brookshier

    Daniel Brookshier, JXTA Consultant, is a freelance consultant, speaker, author, and Java Geek since Java 1.0. Daniel is one of the core members at jxta.org and runs several open source projects including jxta-remote-desktop at java.net. Daniel's latest book is JXTA: Java P2P Programming, but he also writes articles for java.sun.com and P2PJournal where he is an editor. Daniel's blog covers the P2P world, tips, tricks, and musings on Java and JXTA. He can be contacted at [email protected]

    Comments (8)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    IoT & Smart Cities Stories
    New competitors, disruptive technologies, and growing expectations are pushing every business to both adopt and deliver new digital services. This ‘Digital Transformation’ demands rapid delivery and continuous iteration of new competitive services via multiple channels, which in turn demands new service delivery techniques – including DevOps. In this power panel at @DevOpsSummit 20th Cloud Expo, moderated by DevOps Conference Co-Chair Andi Mann, panelists examined how DevOps helps to meet the de...
    According to Forrester Research, every business will become either a digital predator or digital prey by 2020. To avoid demise, organizations must rapidly create new sources of value in their end-to-end customer experiences. True digital predators also must break down information and process silos and extend digital transformation initiatives to empower employees with the digital resources needed to win, serve, and retain customers.
    In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, will provide an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life ...
    Smart Cities are here to stay, but for their promise to be delivered, the data they produce must not be put in new siloes. In his session at @ThingsExpo, Mathias Herberts, Co-founder and CTO of Cityzen Data, discussed the best practices that will ensure a successful smart city journey.
    "Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    LogRocket helps product teams develop better experiences for users by recording videos of user sessions with logs and network data. It identifies UX problems and reveals the root cause of every bug. LogRocket presents impactful errors on a website, and how to reproduce it. With LogRocket, users can replay problems.
    @CloudEXPO and @ExpoDX, two of the most influential technology events in the world, have hosted hundreds of sponsors and exhibitors since our launch 10 years ago. @CloudEXPO and @ExpoDX New York and Silicon Valley provide a full year of face-to-face marketing opportunities for your company. Each sponsorship and exhibit package comes with pre and post-show marketing programs. By sponsoring and exhibiting in New York and Silicon Valley, you reach a full complement of decision makers and buyers in ...
    There are many examples of disruption in consumer space – Uber disrupting the cab industry, Airbnb disrupting the hospitality industry and so on; but have you wondered who is disrupting support and operations? AISERA helps make businesses and customers successful by offering consumer-like user experience for support and operations. We have built the world’s first AI-driven IT / HR / Cloud / Customer Support and Operations solution.
    Data Theorem is a leading provider of modern application security. Its core mission is to analyze and secure any modern application anytime, anywhere. The Data Theorem Analyzer Engine continuously scans APIs and mobile applications in search of security flaws and data privacy gaps. Data Theorem products help organizations build safer applications that maximize data security and brand protection. The company has detected more than 300 million application eavesdropping incidents and currently secu...
    Rafay enables developers to automate the distribution, operations, cross-region scaling and lifecycle management of containerized microservices across public and private clouds, and service provider networks. Rafay's platform is built around foundational elements that together deliver an optimal abstraction layer across disparate infrastructure, making it easy for developers to scale and operate applications across any number of locations or regions. Consumed as a service, Rafay's platform elimi...