Morpheus Out of the Underworldby Kelly Truelove and Andrew Chasin
The age of Napster officially ended last week, when Napster released beta 10.3 of the 2.0 client for Windows. According to the Napster site: "All previous versions of Napster have been disabled. We're making this change as part of our ongoing effort to comply with the court's orders." Besides disabling previous versions, the new beta also shows a count of what appears to be all users connected to all servers -- in other words, one can get an accurate assessment of the size of the Napster network simply by running the client.
As of this writing, the size of the Napster network is 160,000 simultaneous users, down from a peak of 1.6 million reported by Webnoize in February, a tenfold decrease.
So where are all the file sharers going? In terms of simultaneous users, the Morpheus-KaZaA network has risen to far eclipse not only the hobbled Napster, but also Gnutella, which Clip2 and Lime Wire have independently estimated with simultaneous users of about 40,000 (mean). The Morpheus-KaZaA count stands at over 300,000 at present, up over tenfold in two months.
Morpheus, available from MusicCity Networks, Inc. and the KaZaA Media Desktop, available from KaZaA are two functionally similar interfaces to the same underlying network. Both are based on technology developed by FastTrack. As the somewhat more popular of the near-equivalent pair, we focus in this article on Morpheus.
Like Gnutella but unlike Napster, Morpheus does not maintain a central content index and is not currently subject to content filtering. Like Napster but unlike Gnutella, Morpheus is formally a closed system, requiring centralized user registration and logon. In this article, we review the origins of Morpheus, cover its major features, and take a look under the hood at its architecture. We conclude with some comments on its technical significance.
For some time, MusicCity operated one of the largest sets of Napster-like OpenNap servers, typically supporting well over 10,000 simultaneous users across the set. In late April, MusicCity pulled the plug on these servers and launched the downloadable Morpheus application as a decentralized replacement. This action furthered a general decline of OpenNap that began two months earlier. By the numbers, it appears the existing user base quickly and successfully migrated to Morpheus, from which point it began to grow considerably.
To create Morpheus, MusicCity licensed the FastTrack P2P Stack, a product of Amsterdam-based startup FastTrack. The FastTrack P2P Stack also underlies the KaZaA Media Desktop, Morpheus' sister application launched many months earlier in late 2000 by KaZaA. KaZaA is "owned and developed" by FastTrack and amounts to the consumer-facing side of the FastTrack business. In fact, the KaZaA name appears during the Morpheus installation and, as we shall see, under the hood in the headers of messages sent by the application. The KaZaA site refers to the underlying platform as "KaZaALib," and notes that while there is no formalized "open development" program, KaZaA is interested to hear from parties wishing to develop upon it. At present, then, the FastTrack system is closed-protocol, closed-source.
Interestingly, the KaZaA and Morpheus user populations have mutual visibility -- the two applications are windows into a shared underlying network that harbors two user populations. Presumably, other parties might license the FastTrack platform and add new populations to the mix.
Superior Metadata, Web Interface
|Kelly Truelove is a featured speaker at the O'Reilly P2P & Web Services Conference, Sept. 18-20 in Washington, DC.|
Unlike Napster, which only supports the sharing of MP3 audio files, Morpheus provides support for the full gamut of audio, video, image, document, and software files. Morpheus' judicious use of metadata to describe the contents of a file (derived automatically from the file if possible, or user-provided via the application's file import wizard) means that files can be searched by such attributes as title, artist, category, language, resolution, and user rating. While Morpheus is largely a decentralized system, the speed of its query engine rivals that of centralized systems like Napster.
Morpheus, a 1.4-MB download, is presently only available for Windows. Like a variety of recent file-sharing and workgroup applications, Morpheus has a user interface that more closely resembles a Web browser than a conventional Windows GUI. Many of the application's key functions (search, chat, etc.) can be accessed via either HTML hyperlinks in an embedded browser window or the familiar array of Windows buttons and pull-down menus. All help text is HTML-based and displayed in the browser window; Morpheus never launches the system's default Web browser. An embedded Windows Media Player is included which handles the playback of media files from within the Morpheus user interface.
As a result of Morpheus' use of metadata to annotate media files, its integrated file manager is superior to that of most other file-sharing applications. Downloading an audio file, for example, causes a folder called
Audio to be created in the file tree (rooted at a folder called
My Media) into which the file is placed. Also created are two subfolders called
Group by Artist and
Group by Category, which themselves contain subfolders named for the artist and musical genre ("Rock", "Soundtrack", etc.) associated with the file. This makes for a powerful cross-reference system providing different views of the user's media library.
Aside from its metadata-based search and its cross-referencing media manager, two of the more interesting features found in Morpheus are its so-called SmartStream and FastStream technologies. SmartStream is intended to address the issue of incomplete file downloads which can plague systems like Napster and Gnutella. Files may fail to download intact for a variety of reasons, such as a loss of network connectivity at the machine serving the download. SmartStream implements a type of fail-over system that attempts to locate another peer sharing the same file, and automatically resume the download where it left off at the failed host.
FastStream, on the other hand, is intended to solve one of the other primary issues facing decentralized peer-to-peer file-sharing systems -- slow downloads. When the Morpheus search engine finds that more than one active peer is serving a particular file, it associates the list of peers with the file for later reference. This association is made manifest in the Morpheus user interface by the existence of a
+ to the left of the file's name. Clicking the
+ will display the list of peers making the file available for download. If the user instructs Morpheus to download the file, it can distribute the download task over this list of peers, thus relieving any one peer from serving the entire file and, therefore, improving download performance. Mojo Nation's "swarm distribution" and OpenCola's SwarmCast technologies are based on similar principles.
Morpheus utilizes a number of tactics, some straight from the Napster playbook, to maximize the number of peers available to serve files. By default, users become points of redistribution for any files they download -- the download folder is the shared folder. Also by default, Morpheus is launched and run in the background when the PC is booted. Further, the Morpheus application does not close when its window is closed; it simply minimizes to the system tray and keeps running in the background. Finally, because Morpheus contains a media player, users may launch it simply to play their audio and video files, passively acting as servers while doing so. By way of comparison, it is speculated that much of the remaining Napster user population is online simply because they are making use of the embedded MP3 player, rather than because they are downloading files.
Pages: 1, 2