際際滷

際際滷Share a Scribd company logo
CrossTalk: Scalably
Interconnecting IM Networks
        Marti Motoyama
        George Varghese
         UC San Diego
Problem
 Growth of social sites relying onnetwork effect




 Consequences of the network effect:
    Quality does not necessarily drive adoption
    Popularity within social circles matters most
    Users subject to vendor lock-in for social apps?
 Mechanisms to mitigate vendor lock-inin social apps
Introduction/Motivation
 Case Study: IM Networks
   Simple social application, provides insight

   Scalably interconnects IM networks while allowing
    users to continue utilizing the client of their choice
 Benefits:
   Allows users to switch to new innovative clients
   Permits smaller IM networks to interoperate with
    larger IM services
   May rekindle interest in 3rd party applications by
    allowing inter-IM network message exchanges
      Examples include Chat Translator, Twitter Synch, etc
Outline

   Existing Approaches
   New Idea: Bypass Gateways
   Implementation
   Evaluation
   Future Work:
     Encryption
     General Architecture
Approach 1: Ignore Problem

        AIM Server         Yahoo Server


            AIM             Yahoo


hello
hello



 Alice            Dan   Claire        Bob

o Cannot communicate across boundaries
Approach 2: Client Consolidation

      AIM Server                             Yahoo Server


          AIM                                 Yahoo
                         Reverse
                         engineered
                         protocols,
                         features lost
                   hello in translation


  Alice       Dan/Dizzle                  Claire        Bob

  o Main problem: Feature Subtraction
  o Multiple identities
Client Consolidation Limitations
 Feature subtraction
       Never worked for   ..unable to use transfer
       me either          files using Trillian


 Multiple Identities



 Software/Network Overhead
                              13.7 MB
                                 vs
                              1.3 MB
Approach 3: Standard Gateway

        AIM Server    Alice and           Yahoo Server
                      Gateway 1
                       MUST be
        AIM            buddies
                                              Yahoo

                        hello
               Gateway 1          Gateway 2
hello


 Alice                                                Bob

  o Main problem: Scalability
  o Server can easily detect/disable
Standard Gateway Limitations

 Gateways subject to user restrictions:
    Limits on buddy list size (e.g. < 512)
    Limits on concurrent sessions (e.g. 1 for Skype)
 Suppose IM network with 50 million users:
    If maximum size of buddy list 500:
       100k Gateways to cover all users
 Need massive gateway replication to interconnect
  millions of users
 Thus, standard gateways do not scale
 Gateways employ awkward semantics:
    Ex: IM gtalk:user@domain.com hello
Outline

   Existing Approaches
   New Idea: Bypass Gateways
   Implementation
   Evaluation
   Future Work
Bypass Gateways
            Traffic flow through server
            causes scalability problems
         Gateway to Gateway Network
AIM Server                       Yahoo Server


   AIM                                    Yahoo


         Gateway 1        Gateway 2



Alice                                      Bob
Bypass Gateways
                         G2G Network



           AIM                              Yahoo

                 AIM Server    Yahoo Server

                 Hello
               Gateway 1        Gateway 2      Hello


 Scalable and no feature subtraction (in base network)
                   Hello

oBut, both Alice must be behind gatewayBob
           ends
Outline

   Existing Approaches
   Our New Idea: Bypass Gateways
   Implementation
   Evaluation
   Future Work
Crosstalk Components

 Unmodified clients
   Each user must have the ability to specify a proxy
   Simple naming convention
      ex: AOL user alice identified as alice@aol
 Bypass gateways
   Interpose between clients and servers
 Gateway-to-Gateway network
   Logical network
   Gateways connected via DHT
CrossTalk Architecture




 3 major functions:
    Translation between AIM, MSN, Yahoo, Jabber
    Bifurcating Presence Information
    Merging Buddy Information
Gateway Processing Steps
For each user:
1. Identify protocol, wait for user to
   authenticate to base server
2. Update users state in DHT
3. Retrieve foreign buddy list from DHT
4. Repeatedly : pass-through or intercept &
   translate
Lessons Learned

 Can use protocol version numbers to allow
  time for reverse engineering
 Must merge protocol packets carefully
   Ex: AOL embeds sequence numbers in messages
    that must be modified to merge information
 Must scale to many TCP connections per user
   Ex: MSN creates per conversation TCP connection
Applications Built on CrossTalk

 Built 2 example applications:
   IP geolocation
   Last.fm information
 Suppose AOL user A wants to know Yahoo user
  Ys location or listening habits:
   User A types /music or /location as an IM
   User Ys client responds with Shakira or San Diego
 Works because bypass gateways allows IMs to
  reach other networks
Outline

   Existing Approaches
   New Idea: Bypass Gateways
   Implementation
   Evaluation
   Future Work
Evaluation Questions

 Two metrics
   1. Latency: How much delay for translation?
        Baseline delays vary from 5msec  230msec
  2. Throughput:
       What size enterprise can a single Bypass
        Gateway support?
Latency: < 25 msec
Throughput: 1 desktop PC, greater than 4000 person workload
IM Traffic Model

 Guo et. al monitored MSN, AIM traffic in an
  enterprise network with > 4000 employees
 Heaviest load usage characteristics:
   ~130 online users per protocol
   ~20 concurrent conversations per user
   Message length of ~150 characters
   ~1 second interval between successive chat
    messages
Evaluation Methodology

 Modeled cross/same-to-same IM traffic
  using market shares
 Implemented mock IM servers to handle
  same-to-same traffic
 Spread clients/servers across local VMs
 Gateway run on P4 3.2 Ghz, 1Gb
Translation Latency Results
              Latency
            experienced
             by Yahoo
              receiver




     AIM      JABBER      MSN   YAHOO

           SENDER PROTOCOL
  Max cross traffic latency < 25 msec
Outline

   Existing Approaches
   Our New Idea: Bypass Gateways
   Implementation
   Evaluation
   Future Work
Future Work: Handling Encryption

                          G2G Network



           Skype                        SIP


                  Gateway Box


   Skype Binary                         SIP Binary
   Gateway Shim                         Gateway Shim
     Skype UI           bob
                  dial: skype user        SIP UI
      alice                                bob
Future Work: General Architecture

 Migrate to a new abstract client layer
   Ask for services using abstract calls
      Send IM, Dial Call, Get File
 Insulate users from changes in technology
   Protocol intelligence in the cloud
 Make use of bypass gateways or shim layers to
  achieve interconnectivity for unmodified clients
 Use a DHT to store mappings on behalf of all
  applications
 Enable service composition by modeling services
  as nodes in graph
Conclusion

 Introduced new technique (bypass gateways)
  that overcomes vendor lock-in and avoids
  scaling limits of standard gateways
   May foster third-party innovation
   Larger providers cannot easily hinder and smaller
    providers have incentives to join
   IM gateway prototype can support throughput for
    enterprise IM benchmark

More Related Content

Ap61

  • 1. CrossTalk: Scalably Interconnecting IM Networks Marti Motoyama George Varghese UC San Diego
  • 2. Problem Growth of social sites relying onnetwork effect Consequences of the network effect: Quality does not necessarily drive adoption Popularity within social circles matters most Users subject to vendor lock-in for social apps? Mechanisms to mitigate vendor lock-inin social apps
  • 3. Introduction/Motivation Case Study: IM Networks Simple social application, provides insight Scalably interconnects IM networks while allowing users to continue utilizing the client of their choice Benefits: Allows users to switch to new innovative clients Permits smaller IM networks to interoperate with larger IM services May rekindle interest in 3rd party applications by allowing inter-IM network message exchanges Examples include Chat Translator, Twitter Synch, etc
  • 4. Outline Existing Approaches New Idea: Bypass Gateways Implementation Evaluation Future Work: Encryption General Architecture
  • 5. Approach 1: Ignore Problem AIM Server Yahoo Server AIM Yahoo hello hello Alice Dan Claire Bob o Cannot communicate across boundaries
  • 6. Approach 2: Client Consolidation AIM Server Yahoo Server AIM Yahoo Reverse engineered protocols, features lost hello in translation Alice Dan/Dizzle Claire Bob o Main problem: Feature Subtraction o Multiple identities
  • 7. Client Consolidation Limitations Feature subtraction Never worked for ..unable to use transfer me either files using Trillian Multiple Identities Software/Network Overhead 13.7 MB vs 1.3 MB
  • 8. Approach 3: Standard Gateway AIM Server Alice and Yahoo Server Gateway 1 MUST be AIM buddies Yahoo hello Gateway 1 Gateway 2 hello Alice Bob o Main problem: Scalability o Server can easily detect/disable
  • 9. Standard Gateway Limitations Gateways subject to user restrictions: Limits on buddy list size (e.g. < 512) Limits on concurrent sessions (e.g. 1 for Skype) Suppose IM network with 50 million users: If maximum size of buddy list 500: 100k Gateways to cover all users Need massive gateway replication to interconnect millions of users Thus, standard gateways do not scale Gateways employ awkward semantics: Ex: IM gtalk:user@domain.com hello
  • 10. Outline Existing Approaches New Idea: Bypass Gateways Implementation Evaluation Future Work
  • 11. Bypass Gateways Traffic flow through server causes scalability problems Gateway to Gateway Network AIM Server Yahoo Server AIM Yahoo Gateway 1 Gateway 2 Alice Bob
  • 12. Bypass Gateways G2G Network AIM Yahoo AIM Server Yahoo Server Hello Gateway 1 Gateway 2 Hello Scalable and no feature subtraction (in base network) Hello oBut, both Alice must be behind gatewayBob ends
  • 13. Outline Existing Approaches Our New Idea: Bypass Gateways Implementation Evaluation Future Work
  • 14. Crosstalk Components Unmodified clients Each user must have the ability to specify a proxy Simple naming convention ex: AOL user alice identified as alice@aol Bypass gateways Interpose between clients and servers Gateway-to-Gateway network Logical network Gateways connected via DHT
  • 15. CrossTalk Architecture 3 major functions: Translation between AIM, MSN, Yahoo, Jabber Bifurcating Presence Information Merging Buddy Information
  • 16. Gateway Processing Steps For each user: 1. Identify protocol, wait for user to authenticate to base server 2. Update users state in DHT 3. Retrieve foreign buddy list from DHT 4. Repeatedly : pass-through or intercept & translate
  • 17. Lessons Learned Can use protocol version numbers to allow time for reverse engineering Must merge protocol packets carefully Ex: AOL embeds sequence numbers in messages that must be modified to merge information Must scale to many TCP connections per user Ex: MSN creates per conversation TCP connection
  • 18. Applications Built on CrossTalk Built 2 example applications: IP geolocation Last.fm information Suppose AOL user A wants to know Yahoo user Ys location or listening habits: User A types /music or /location as an IM User Ys client responds with Shakira or San Diego Works because bypass gateways allows IMs to reach other networks
  • 19. Outline Existing Approaches New Idea: Bypass Gateways Implementation Evaluation Future Work
  • 20. Evaluation Questions Two metrics 1. Latency: How much delay for translation? Baseline delays vary from 5msec 230msec 2. Throughput: What size enterprise can a single Bypass Gateway support? Latency: < 25 msec Throughput: 1 desktop PC, greater than 4000 person workload
  • 21. IM Traffic Model Guo et. al monitored MSN, AIM traffic in an enterprise network with > 4000 employees Heaviest load usage characteristics: ~130 online users per protocol ~20 concurrent conversations per user Message length of ~150 characters ~1 second interval between successive chat messages
  • 22. Evaluation Methodology Modeled cross/same-to-same IM traffic using market shares Implemented mock IM servers to handle same-to-same traffic Spread clients/servers across local VMs Gateway run on P4 3.2 Ghz, 1Gb
  • 23. Translation Latency Results Latency experienced by Yahoo receiver AIM JABBER MSN YAHOO SENDER PROTOCOL Max cross traffic latency < 25 msec
  • 24. Outline Existing Approaches Our New Idea: Bypass Gateways Implementation Evaluation Future Work
  • 25. Future Work: Handling Encryption G2G Network Skype SIP Gateway Box Skype Binary SIP Binary Gateway Shim Gateway Shim Skype UI bob dial: skype user SIP UI alice bob
  • 26. Future Work: General Architecture Migrate to a new abstract client layer Ask for services using abstract calls Send IM, Dial Call, Get File Insulate users from changes in technology Protocol intelligence in the cloud Make use of bypass gateways or shim layers to achieve interconnectivity for unmodified clients Use a DHT to store mappings on behalf of all applications Enable service composition by modeling services as nodes in graph
  • 27. Conclusion Introduced new technique (bypass gateways) that overcomes vendor lock-in and avoids scaling limits of standard gateways May foster third-party innovation Larger providers cannot easily hinder and smaller providers have incentives to join IM gateway prototype can support throughput for enterprise IM benchmark