Showing posts with label skype. Show all posts
Showing posts with label skype. Show all posts

Tuesday, February 17, 2009

What's on my iPhone: Fring (Skype and IM's)

When I want to make an international call from my iPhone (or from my home phone) I use Skype. There is no native Skype application for the iPhone, so I use Fring,
although today's announcement of a deal with Nokia includes hints that they are working on more mobile platforms. They support Android already, so their main missing link at this point is the iPhone.

Fring is a decent substitute for now. I mostly use it to keep up with Skype and YIM chat sessions when I'm away from my laptop.

Monday, July 28, 2008

Skype Downloads Approach One Billion

About eighteen months ago I wrote a blog post about Skype as it approached 500 million downloads. They have continued at around a million a day, and now, nearly 500 days later we are coming up on the one billion mark. I predict at the current rate that the last 42 million downloads will happen in 37 days, so it will pass a billion around September 3rd.

The usual caveats apply, most of the downloads are version upgrades, but there are over 300 million different registered skype names, and concurrent user counts peak at 12 million most days.

At the time I got a nice mention from Skype Journal, and you can find good analysis of the Skype usage levels at Jean Mercier's Skype Numerology blog. As ever, you can track the actual numbers via an RSS feed that Skype provides, or just view them at this graph.

Why does this matter? It matters because this is the kind of critical mass that the rest of the Telco industry and VOIP startups are only dreaming of. I'm about to turn off my long distance and international phone plans and just have local calls on my home phone. The home phone I just ordered will redirect long distance and international calls over Skype, and make local calls on the land line. This will save me hundreds of dollars a year in telco service costs, so it pays for itself in less than six months. There is even a special offer on the hardware right now. I fully expect that in a few years time I will also be making the bulk of my mobile calls over Skype as well.

All I want from the Telco's is reliable unlimited raw bandwidth at a fixed low price, which is a terrifying prospect for the dinosaurs of this industry...

Thursday, March 27, 2008

Patents on Peer to Peer Trading Platform

While working at eBay Research Labs I did some work using Skype that resulted in four patents in the area of P2P trading and reputation systems. I just noticed that they are now public, as of late 2007, and here they are:

Peer-to-peer trading platform

Peer-to-peer trading platform with relative reputation-based item search and buddy rating

Peer-to-peer trading platform with search caching

Peer-to-peer trading platform with roles-based transactions

The seed of the idea came from my good friend Josep Ferrandiz, who still works at PayPal. The ideas were developed with help from Zahid Ahmed who is now working for EMC, and with a lot of help from Neel Sundaresan who manages eBay Research labs. The patents are in all of our names.

I think we came up with some cool ideas, we also stress tested the Skype API's in some novel ways and got some things fixed. The lasting legacy of this work is more robust application to application messaging API's and improvements in Skype4Java.

Tuesday, June 12, 2007

Using Occam to Simulate p2p Web Services

About a year ago I gave a paper at an IEEE E-Commerce conference that described how I used the latest pi-calculus enhanced version of the old Inmos Transputer language Occam to build a very efficient massively threaded simulator for large scale p2p web services that ran on my laptop.

I blogged this at the time, but The paper itself is subject to the rules IEEE sets out for peer-reviewed conference papers and you need to be a member or pay a fee to get it from http://doi.ieeecomputersociety.org/10.1109/CEC-EEE.2006.81

However, I wanted to share this more widely and have just posted a pdf of the presentation slides for my IEEE paper. Here are the first few slides, and a description of the Tools section:

Simulation of Skype Peer-to-peer Web Services Choreography Using Occam-Pi

Abstract
Complex web services are very difficult to test and verify before deployment on a large scale.
A semantically equivalent in-memory simulation can be built using Occam-pi that runs up to 100,000 nodes about a million times faster than real life.
Rapid protocol development and detailed behavioral analysis using simulation supports the development of robust services that can scale.
The implementation of a simulator that models centralized web services and application to application messaging over the Skype Peer to Peer network is described.

Overview

  • The Landscape
  • The Problem
  • The Tools
  • The Solution
  • Implementation
  • Running the Simulation
  • Conclusion
  • References

The Tools – Pi Calculus

  • WS-BPEL, SSDL and WS-CDL are based on Pi-Calculus
  • Pi-Calculus is based on Communicating Sequential Processes (CSP)
  • Pi-Calculus provides a formal model of parallel message based computing
  • Occam-Pi
  • The Occam language is based on CSP, and has been extended to add the Pi-Calculus extensions to form the Occam-Pi language.
  • The primary implementation of this language is known as KROC, the Kent Re-targetable Occam Compiler
  • KROC is freely available from the University of Kent at Canterbury, UK
  • Runs on Intel architecture Linux, MacOS X, and Microsoft Windows/Cygwin platforms. Older versions exist for SPARC, PPC etc.

The Tools – Occam Language Constructs

  • The constructs that are used in Web Services choreography map directly to Occam language constructs
  • The Occam language has direct support for sequential, parallel and alternate processing blocks, complex protocols, and channel based communications
  • Occam-Pi adds more dynamic constructs to the language
  • Mobile channels - pass a channel end over another channel
  • Mobile processes - suspend a process, pass it over a channel and resume it in a new context
  • Dynamic process forking with barrier synchronization
  • Rigorous Occam-Pi Compile-time Checks
  • Processes or expressions are not allowed to have any “side effects”
  • Syntax and usage of all protocols, data and constructs is checked
  • Occam is designed to allow very comprehensive static analysis

The Tools – Occam Runtime Characteristics

  • There is no need to use XML message encoding or namespaces
  • since the compiler can check that a protocol is being communicated correctly
  • At runtime, the Occam-Pi language is fast small compiled code
  • with its own threading model, in a single process
  • The Occam-Pi runtime detects and reports deadlock
  • including the line number in the code at which each process was stalled
  • Occam-Pi is very efficient
  • All communication takes place in a single address space at memory bus speeds
  • Basic process creation takes 20 nanoseconds on an 800MHz PC
  • Basic channel communications takes 70 nanoseconds
  • Compared to typical web services transactions over the internet these transactions are about a million times faster
  • The language is also very compact, and one hundred thousand to one million threads can be created within a 2 GByte address space.
Works Cited
  • [Cygwin] “GNU + Cygnus + Windows”, http://www.cygwin.com/
  • [GraphML] “Graph Modeling Language “, http://graphml.graphdrawing.org/
  • [Hoare78] C. A. R. Hoare. “Communicating Sequential Processes.” Communications of the ACM 1978.
  • [Hoare85] C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.
  • [KROC]. “Kent Retargetable Occam Compiler” http://www.cs.kent.ac.uk/projects/ofa/kroc/
  • [Occam2] Inmos Ltd, Occam 2 Reference Manual. Prentice Hall, 1988.
  • [Milner99] Robin Milner, “Communicating and Mobile Systems: the Pi-Calculus”, Cambridge University Press, 1999.
  • [Skype]. “Skype Developers API” https://developer.skype.com
  • [SSDL] Webber et al. “Asynchronous Messaging between Web Services using SSDL.” IEEE Internet Computing Vol10, No1 2006.
  • [WS-BPEL]. “OASIS Web Services Business Process Execution Language” http://www.oasis-open.org
  • [WS-CDL] “Web Services Choreography Description Language”, http://www.w3.org
  • [yEd] “Graph visualization and editing tool”, http://www.yworks.com/

Friday, February 16, 2007

Skype downloads approach 500 Million

In the next few days, Skype will pass the 500 million downloads mark. I seem to remember someone saying that Kazaa was the most downloaded program ever, and looking at the Kazaa home page, they currently show 389 Million. Skype is at 498 Million as I write this, and is downloading at almost a million a day. The download rate was over 1M a day when they made a new release available and existing users were getting updates. Compared to Kazaa, Skype is downloading every day, what Kazaa is downloading every week.

How are the competition doing? Vonage added a few hundred thousand users last quarter. Thats a few orders of magnitude away from being a competitor!

Of course, Kazaa is based on an earlier version of the P2P technology that powers Skype, and which is about to come to the world again via Joost. Joost just released a new beta for Windows, and their first beta for Intel based OSX. I still can't justify upgrading from my own Powerbook G4 (it just works) so I'll have to wait for them to backport to the older systems, and use my work laptop.

Sunday, November 19, 2006

Skype on Solaris

http://blogs.sun.com/darren/entry/skype_1.3.0.53_on_solaris_via

Solaris has a Linux compatible subsystem called BrandZ for running Linux binaries that don't have Solaris builds (like Skype). Darren figured out how to get the Linux build of Skype to run on Opensolaris.

Thanks to Alec for pointing this out.