PSYC
From Wikipedia, the free encyclopedia
For the Sony CD player, see Walkman.
PSYC (Protocol for SYnchronous Conferencing) is a flexible text-based protocol for delivery of data to a large number of recipients or people. It is used for text chat, instant messaging, presence display, newscasting and social networking.
Contents |
[edit] History
PSYC theory and protocol was first published in 1995 by Carlo von Loesch.[1][2] It was heavily influenced by IRC and the shortcomings in network clusters, such as netsplits and high traffic consumption between servers. Since 1997 the first software implementations were in productive use at T-Online, Gruner + Jahr and other companies in Germany. Since 2003 PSYC is being employed at the MTV Europe Music Awards for the hosted backstage video chat show.[3] The version 1.0 of the protocol definition and software implementation are still taking time to be released.
[edit] Network structure
The PSYC network resembles more the Web rather than IRC, which it once was inspired by. Each administrator of a machine on the Internet can install a PSYC server which has equal rights in the worldwide network, there are no hierarchies or boundaries. The administrator then has the right to decide which rooms or people to host, without interfering with other PSYC servers. Should an administrator behave incorrectly towards his users, these will simply move on to a different server. Thus, administrators must behave to remain a popular host for their friends.
[edit] Features
- Scalability: The protocol has been designed to handle large numbers of recipients and traffic with little overhead. PSYC uses both unicast and multicast for transporting data.
- Programmable chat rooms: All multicast distribution channels have a programmable master that is in charge of conference control but can also host any kind of function that is otherwise frequently implemented using bots. For example, if an application wants to send data to one person or a group of people, it just needs to drop a few lines of text into a TCP connection or local UDP packet to a static address. The master will then forward the data down the tree of recipients.
- Binary friendly: Message payload can be unescaped transparent binary data.
- Extensible: All protocol keywords have an extensible naming strategy which allows to define new ones which inherit the behaviour of existing ones.
- Inter-server strengths: PSYC has an unusual focus on inter-server protocol optimization
[edit] Software
The reference server implementation is called psyced. It is written in the LPC programming language, is available as open-source and provides beside native PSYC protocol also other protocols such as IRC, XMPP and TELNET.
On the client side PSYC is still experimental. Since PSYC typically offers multiple protocols it is recommended to use an IRC or XMPP client instead. One relevant client is the Firefox-Addon PsycZilla, other implementations exist in programming languages such as Perl and Python.