Older Version Newer Version

GerdIsenberg GerdIsenberg Jan 20, 2018

[[toc]]
**[[Home]] * Protocols**

A **Protocol** is a [[https://en.wikipedia.org/wiki/Formal_methods|formal description]] of [[https://en.wikipedia.org/wiki/Digital|digital]] [[https://en.wikipedia.org/wiki/Message_format|message formats]] and the rules for exchanging those [[https://en.wikipedia.org/wiki/Message|messages]] in or between computing systems. A protocol describes the [[https://en.wikipedia.org/wiki/Syntax|syntax]], [[https://en.wikipedia.org/wiki/Semantics|semantics]], and [[https://en.wikipedia.org/wiki/Synchronization|synchronization]] of [[https://en.wikipedia.org/wiki/Communication|communication]]. The nature of the communication, the actual [[Data|data]] exchanged and any state-dependent behaviors are defined by a protocol [[https://en.wikipedia.org/wiki/Specification_%28technical_standard%29|specification]], the rules can be expressed by [[Algorithms|algorithms]] and data structures.

=Computer Chess Protocols= 
The aim of computer chess protocols is to define a standard to let a chess engine communicate with a [[User Interface|user-]] or [[GUI|graphical user interfaces]] (GUI), including a game- or match controller to let engines play automatically on a computer, inside a [[https://en.wikipedia.org/wiki/Computer_network|computer network]] or over the [[https://en.wikipedia.org/wiki/Internet|internet]]. Chess engines, usually instantiated as [[https://en.wikipedia.org/wiki/Child_process|child process]] of the GUI application, use [[https://en.wikipedia.org/wiki/Standard_streams|standard streams]] or [[https://en.wikipedia.org/wiki/Pipeline_%28Unix%29|pipelines]] to receive and respond [[https://en.wikipedia.org/wiki/ASCII|ASCII]] [[https://en.wikipedia.org/wiki/String_%28computer_science%29|strings]] as messages.
* [[Auto232]] (deprecated)
* [[Chess Engine Communication Protocol]] as used by the [[XBoard]] or [[WinBoard]] [[GUI]]
* [[icsdrone]]
* [[TLCS-TLCV|TLCS/TLCV]] ([[Web Broadcast]])
* [[UCI|Universal Chess Interface]] (UCI)

=See also= 
* [[Chess Server]]
* [[GUI]]
* [[InBetween]]
* [[Web Broadcast]]

=Publications= 
* [[http://www.informatik.uni-trier.de/~ley/pers/hd/k/Koning:Jean=Luc.html|Jean-Luc Koning]], [[Marc-Philippe Huget]] (**2000**). //A Semi-Formal Specification Language Dedicated to Interaction Protocols//. [[http://www.informatik.uni-trier.de/~ley/db/conf/ejc/ejc2000.html#KoningH00|EJC 2000]]
* [[Chih-Hung Chen]], [[Shun-Shii Lin]], [[Min-Huei Huang]] (**2012**). //Volunteer Computing System Applied to Computer Games//. [[TCGA 2012|TCGA 2012 Workshop]], [[http://www.tcga.tw/tcgapaper/2012/P2.pdf|pdf]]

=Forum Posts= 
==2000 ...==
* [[http://www.stmintz.com/ccc/index.php?id=128608|Communication between two program versions]] by [[Leen Ammeraal]], [[CCC]], September 07, 2000
==2005 ...==
* [[http://www.stmintz.com/ccc/index.php?id=416701|Extensible Chess Interface (XCI) : updated draft]] by [[Michael Yee]], [[CCC]], March 14, 2005
> [[http://www.stmintz.com/ccc/index.php?id=416733|Re: Extensible Chess Interface (XCI) : updated draft]] by [[Lance Perkins]], [[CCC]], March 14, 2005
* [[http://www.stmintz.com/ccc/index.php?id=417331|XCI (Extensible Chess Interface) new draft]] by [[Michael Yee]], [[CCC]], March 18, 2005
==2010 ...==
* [[http://www.talkchess.com/forum/viewtopic.php?t=43402|What should I support, UCI or Winboard?]] by Asim Pereira, [[CCC]], April 22, 2012
* [[http://www.talkchess.com/forum/viewtopic.php?t=53734|for Chess-variant authors]] by [[Harm Geert Muller]], [[CCC]], September 17, 2014  » [[Chess Engine Communication Protocol]], [[WinBoard]], [[XBoard]]
* [[http://www.talkchess.com/forum/viewtopic.php?t=54124|XBoard and chess variants]] by [[Evert Glebbeek]], [[CCC]], October 28, 2014
* [[http://www.talkchess.com/forum/viewtopic.php?t=54162|UCCI2WB]] by [[Harm Geert Muller]], [[CCC]], October 27, 2014 » [[Chinese Chess]], [[UCI]]
* [[http://www.talkchess.com/forum/viewtopic.php?t=54167|UCI protocol for chess variants]] by [[Evert Glebbeek]], [[CCC]], October 28, 2014 » [[UCI]]
==2015 ...==
* [[http://www.talkchess.com/forum/viewtopic.php?t=56935|Crafty UCI version]] by [[Marek Soszynski]], July 10, 2015 » [[Crafty]], [[UCI]]
* [[http://www.talkchess.com/forum/viewtopic.php?t=65113|communication protocols/servers for other games]] by [[Robert Pope]], [[CCC]], September 08, 2017

=External Links= 
* [[https://en.wikipedia.org/wiki/Protocol|Protocol from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Communications_protocol|Communication protocol from Wikipedia]]
* [[http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:gui_protocol_support_list|GUI Protocol List]] from [[http://computer-chess.org/doku.php?id=home|Computer-Chess Wiki]] by [[Ron Murawski]]
==Layers and Protocols== 
* [[https://en.wikipedia.org/wiki/OSI_model|OSI model from Wikipedia]]
* [[https://en.wikipedia.org/wiki/TCP/IP_model|TCP/IP model from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Protocol_stack|Protocol stack from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Internet_Protocol_Suite|Internet Protocol Suite from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Application_Layer|Application Layer from Wikipedia]]
> [[https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol|Hypertext Transfer Protocol (HTTP) from Wikipedia]]
> [[https://en.wikipedia.org/wiki/File_Transfer_Protocol|File Transfer Protocol (FTP) from Wikipedia]]
> [[https://en.wikipedia.org/wiki/Post_Office_Protocol|Post Office Protocol (POP) from Wikipedia]]
> [[https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol|Internet Message Access Protocol (IMAP) from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Transport_Layer|Transport Layer from Wikipedia]]
> [[https://en.wikipedia.org/wiki/Transmission_Control_Protocol|Transmission Control Protocol (TCP) from Wikipedia]]
> [[https://en.wikipedia.org/wiki/User_Datagram_Protocol|User Datagram Protocol (UDP) from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Internet_Layer|Internet Layer from Wikipedia]]
> [[https://en.wikipedia.org/wiki/Internet_Protocol|Internet Protocol (IP) from Wikipedia]]
> [[https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol|Internet Control Message Protocol (ICMP) from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Link_Layer|Link Layer from Wikipedia]]
> [[https://en.wikipedia.org/wiki/Point-to-Point_Protocol|Point-to-Point Protocol from Wikipedia]]
==Related Standards== 
* [[https://en.wikipedia.org/wiki/Message_Passing_Interface|Message Passing Interface (MPI) from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture|Common Object Request Broker Architecture (Corba) from Wikipedia]]
* [[https://en.wikipedia.org/wiki/JSON|JSON from Wikipedia]]
* [[https://en.wikipedia.org/wiki/SOAP|SOAP from Wikipedia]]
* [[https://en.wikipedia.org/wiki/XML|XML from Wikipedia]]
* [[https://en.wikipedia.org/wiki/XML_Protocol|XML Protocol from Wikipedia]]
==Misc== 
* [[https://en.wikipedia.org/wiki/Datagram|Datagram]]
* [[https://en.wikipedia.org/wiki/Alpha_Protocol|Alpha Protocol]] the [[https://en.wikipedia.org/wiki/Role-playing_video_game|Role-playing video game]]

==Simon Phillips== 
* [[Videos#SimonPhillips|Simon Phillips]], [[Videos#AnthonyJackson|Anthony Jackson]] and [[https://en.wikipedia.org/wiki/Ray_Russell_%28musician%29|Ray Russell]] - [[https://en.wikipedia.org/wiki/Protocol_%28album%29|Protocol]] from [[http://www.amazon.com/Simon-Phillips-Returns-VHS/dp/0769220541|Simon Phillips Returns]] 1992, [[https://en.wikipedia.org/wiki/YouTube|YouTube]] Video
>  [[media type="youtube" key="3H0tm-Hs9qo"]]
* [[Videos#SimonPhillips|Simon Phillips]] &  Protocol, with [[https://en.wikipedia.org/wiki/Leon_%22Ndugu%22_Chancler|Ndugu Chancler]] and [[http://www.billyward.com|Billy Ward]] - Biplane to Bermuda, MD Drumfestival 2008, [[https://en.wikipedia.org/wiki/YouTube|YouTube]] Video
> featuring [[https://en.wikipedia.org/wiki/Andy_Timmons|Andy Timmons]], [[https://en.wikipedia.org/wiki/Everette_Harp|Everette Harp]], [[https://en.wikipedia.org/wiki/Steve_Weingart|Steve Weingart]], [[http://www.allmusic.com/artist/del-atkins-mn0000237644|Del Atkins]]
> [[media type="youtube" key="ohs9_rVFbuY"]]

=What links here?= 
[[include page="Protocols" component="backlinks" limit="100"]]
**[[Home|Up one Level]]**