1 Reply Latest reply on Feb 10, 2014 2:53 PM by Michael Thornburgh

    Creating a Private Cirrus Server

    mjrich79

      Hi all

       

      I am really excited about the possiblities with Cirrus. I have a few questions

       

      1) It seems like the Cirrus is just generating keys etc.... for match making. Since my intended application would only exchange data ( no video or audio information) would I need a Flash Media server to get going, assuming this tech was released?

       

      2) My users would be on the same wifi network, will i have any of the issues others have reported about different NATs. I am new to this space so I wanna say no but correct me if I am wrong?

       

      3) Are there any instructions that document how make your own Cirrus Server? From what it sounds like all Cirrus does is generate keys, I am more than likely oversimplfiying but correct me if I am wrong

       

      4) Lastly, 2 users connect and want to communicate. Is the only way to pass the key to users is via the text message service. How does Cirrus dicern 1 user from another to make the pair match?

       

       

      Thanks in advance.

        • 1. Re: Creating a Private Cirrus Server
          Michael Thornburgh Adobe Employee

          1) Cirrus (codename) doesn't generate any keys. peers generate their own peer IDs.  peer IDs are cryptographic hashes of per-peer data that includes a cryptographic public key.  Cirrus only performs P2P introduction. it is up to your application and own servers to locate and exchange peer IDs.  Cirrus helps peers establish communication once peer IDs are known.  FMS/AMS can perform the same peer introduction service.

           

          2) peers on the same WiFi network may have trouble connecting to each other in some circumstances, especially if the NAT is a symmetric NAT and/or the NAT doesn't do "hairpinning", and the web browser hosting the Flash content doesn't allow Flash to see the computer's local (behind-NAT) interface IP address. i believe the Google Chrome Pepper plug-in API currently has this restriction.  for best results for same-LAN connections, try to have both peers connect to each other simultaneously.

           

          3) no. Cirrus is a custom-built application that is not currently publicly available -- it is not built on top of FMS/AMS.  it was designed to do one thing (P2P introduction) as efficiently and scalably as possible.  however, as i mentioned, FMS/AMS also performs this P2P introduction service, and you can deploy and use that today.

           

          4) Cirrus doesn't make a "match". that is up to your application logic and your own back-end servers.  Cirrus only helps the peers initiate their communication once they known each others' peer IDs.  to get an idea of what's really happening, read Section 3.5.1, and especially Sections 3.5.1.4, 3.5.1.5, and  3.5.1.6 of RFC 7016:

           

            http://tools.ietf.org/html/rfc7016#section-3.5.1

            http://tools.ietf.org/html/rfc7016#section-3.5.1.4

             http://tools.ietf.org/html/rfc7016#section-3.5.1.5

            http://tools.ietf.org/html/rfc7016#section-3.5.1.6

           

          Cirrus is acting as an "Introducer" in those sections' terminology. Cirrus performs both Redirector and Forwarder functions.  that's all* it does.  everything else is up to your application.

           

          * Cirrus also performs a short message relay service and a group bootstrap service, but those don't appear to be relevant to this query.