We treat the internet as a totalized and unified identity, but what hidden behind its simplified GUI is a designed complex sociotechnical system that is consisted of multiple layers and modules, Like the internet, Spotify, a music streaming service platform, can be also understood as a complex sociotechnical system. According to the top-level view of the major dependencies of the internet, the operation of the Internet service on our PC and devices is based on the interconnection of many system modules. Streaming service, belonging to the digital media and the “content” companies module, is a part of the internet service and is also supported by the internet.
As a whole, Spotify has two types of licenses for its music, “Sound Recording License agreements, which cover the rights to a particular recording, and Musical Composition License Agreements, which cover the people who own the rights to the song” (CNBC). For the first category, Spotify has deals with three big record labels — Universal Music Group, Sony Music Entertainment Group and Warner Music Group. For the second category, there are two main type of licenses Spotify has to secure: performance rights, basically paid to song publishers when the song is streamed, and mechanical royalties, generally paid to songwriters when a song is reproduced. Performance license is managed through two main firms in the U.S. — BMI and ASCAP. Mechanical rights for streaming services are governed in the U.S. by a government agency known as the Copyright Royalty Board.
The origin of Spotify has a lot to do with Pirate Bay, a website that provides file-sharing links, from which Spotify borrows many technologies of music sharing. Spotify is based on a client-server structure and follows an “end-to end” design rule. It streams music in three ways: local cache, peer-to-peer and Spotify servers. Spotify has its own server, where the music data are stored. Before 2014, Spotify mainly adopted peer-to-peer service, the mode that does not require a dedicated server for the internet. “When the user plays a track from the desktop client, the audio stream comes from three sources: a cached file on the computer, one of Spotify’s servers, or from other subscribers through P2P”. In this case, each Spotify’s user could both be a server to provide service, and a client that enjoy the service.
According to the video from Code Academy, when the user requests a song, Spotify’s server sends a song broken up into many packets. Then, they choose the “cheapest” path, in the perspective of time, politics and relationships, based on the client’s IP address for the packet. When packets arrive, the transmission control protocol/ TCP does an inventory, sends back information acknowledging the acceptance of the packets and confirms the delivery. If TCP finds out that there are missing packets, the quality of the song will be lowered, or the song will be incomplete. Then TCP will send the missing signal back to the server, who then resends the packets. As long as the TCP confirms that all packets arrived, the song will start to play.
Spotify used to operates its own data centers and stores data on physical server. In 2016, Spotify announced to transform much of their data from their own server to Google Cloud Platform, but Spotify’s music files will still be hosted on a storage service from Amazon, a dominant cloud hosting player. The transformation from physical server to cloud server makes the hosting of information more scalable and reliable.
“The Internet: Packet, Routing & Reliability”
Martin Irvine, The Internet: Design Principles and Extensible Futures
Denning and Martell, Great Principles of Computing, Chap. 11, “Networking.”