客户端服务器模型的起源是什么?


Answers:


17

这是一个很好的问题。

看来服务器一词在1960年代就已经普遍使用。例如,发布于1969年的RFC 5已经使用了该术语,并且似乎在那时已经是一种普遍使用的术语。

但是,在这种情况下,“ 客户 ”一词似乎是最近的。我能找到的最早参考文献是1978年。以下论文似乎是最早的论文:

  • Jay E. Israel等。(1978):从分布式文件系统中的功能中分离数据。

我没有找到本文的全文。看来,这是发表在的论文集第二届国际研讨会上的操作系统理论与实践,这是在10月举行的1978年预览可在这里 ; 我引用相关部分(重点是我的):

之所以使用分布式文件系统(DFS),是因为它是在一组协作的服务器计算机上实现的,这些服务器计算机共同构成了单个逻辑系统的错觉。网络中使用DFS创建,销毁和随机访问文件的其他计算机称为其客户端(我们使用术语“用户”仅代表人类用户;访问DFS的程序始终称为客户端)。

这看起来像是使用客户端-服务器术语的第一篇论文的不错候选者。请注意它的书写方式:作者清楚地假设读者熟悉术语“服务器”,但在这里引入的是陌生的术语“客户端”,这很奇怪,以至于他们不得不证明其用法合理。


我检查了各种资源,包括IEEE和ACM的数字图书馆,但找不到1978年以前的热门歌曲。但是,在1979年,至少有一篇论文在其论文中大胆使用了新术语“客户端”。标题。毫不奇怪,它引用了Israel等。(1978)。

OED知道该术语,但最早的用法是Isreal等人。


编辑:这是对术语“服务器”的一些进一步评论。回顾1960年代的各种论文,似乎“服务器”一词主要用于排队论。“服务器”可以是提供某种服务的任何种类的实体。

每当在1960年代撰写的计算机科学论文中提到“服务器计算机”时,它通常都与排队论在计算机系统中的应用有关。也许这是我们领域中术语的起源?

如果不确定与排队论没有任何直接联系,我不确定在这种意义上使用的“服务器”的第一个实例是什么。

但是,我上面提到的1969年的RFC 5在客户端-服务器系统和计算机网络的上下文中似乎已经使用了“服务器”一词,而没有对排队理论的任何明确引用。当然,还没有引入术语“客户端”,因此他们使用了“服务器主机”和“用户主机”这两个词。


0

最初,“客户端-服务器”计算模型与笨拙的终端与大型机模型以及后来的Web浏览器与后端Web服务器模型有些不同。

使用客户端服务器系统时,系统各部分之间共享处理,服务器处理数据,客户端检索数据,然后对其进行附加处理并管理其图形显示。

最早的例子之一是1992年发布的Oracle Forms4.0。Oracle数据库服务器通过TCP / IP网络响应来自运行Oracle Forms应用程序的基于PC的客户端的请求。数据管理和检索由服务器处理,客户端处理返回的数据以及与此相关的用户界面。

正是在Oracle Forms 4.0的开发过程中,我第一次听到1991年5月在Redwood Shores CA的Oracle总部的一次客户熟悉活动中使用的“ Client-Server”一词。经常提到“ server”和“ client”一词,但是以前没有被硬币链接在一起。英国公司BT的Richard Molding在讨论中首先开始使用“客户端-服务器”一词。其他参与者很快就意识到了这一点,然后将其运用于产品文献中,从而进入了计算机界的普遍使用。

由于可用的简单网络浏览器,后来基于Web的客户端-服务器系统最初具有较轻的客户端。然后,客户端被限制为显示服务器上准备好的界面。后来使用Java和脚本工具的浏览器使数据可以在浏览器中进行操作,该模型与公司客户服务器系统(如Oracle Forms)更相似。


Telnet和FTP是运行于1970年代初期的客户端-服务器系统,尽管指定它们的RFC不使用“客户端”一词。该DNS在1983年指定,不谈论客户端和服务器。因此,我认为Oracle Forms并不是客户端-服务器计算的早期示例。[ en.wikipedia.org/wiki/…将该术语的起源追溯到 1960年代。
David Richerby 2014年

我同意术语的根源肯定是在60年代。关于60年代和70年代的主机,终端以及后来的客户端和服务器的讨论很多。不过,何时将Client-Server放在一起描述系统是一个问题。就像我说的那样,我不记得90年代初之前使用过这个术语,尽管我很高兴地同意它很容易在更早的时候被创造出来。
Carol Post

..oh和Telnet,FTP甚至早期的基于Web的系统最初都不是Client-Server系统的含义。CS系统专门意味着在客户端和服务器之间共享应用程序,每个应用程序都发挥各自的优势。这意味着服务器负责数据更新和检索,客户端负责进一步的数据操作和排序以及GUI。哑终端系统(如Telnet)几乎没有终端端处理。
Carol Post

0

如果看一下网络的历史,也许更容易理解客户端-服务器的计算和分布式处理。ARPAnet始于1960年代,当时使用Honeywell小型计算机作为消息处理器。到1973年,ARPAnet支持在整个网络上传输文件。

数字设备公司(DEC)于1975年发布了DECnet 1.0。它支持小型计算机和大型机之间的网络连接(LAN和WAN),并提供文件传输,远程登录和虚拟终端等功能。在70年代后期,Datapoint推出了ARCnet,它是一种支持资源共享和文件服务的LAN。

在IBM PC到达之前,许多公司都在销售CP / M系统(8位计算机)。那些微型系统通常具有软盘驱动器。由于硬盘驱动器价格昂贵,因此需要一种共享硬盘的解决方案。几家公司使用文件服务器产品进入市场,这些产品将使CP / M计算机共享硬盘驱动器。在IBM PC获得广泛认可之前,Novell和Corvus的局域网操作系统支持CP / M计算机进行文件共享,后来又为PC添加了磁盘和打印机共享。

13

Novell之所以以Nexus产品而闻名,是因为它们最终将连接到正在开发的Novell LAN。Novell的打印机,终端和Nexus计算机的销售情况不佳,因此Novell的领导层决定重新组织公司,并于1983年后将重点放在用于网络的软件,文件服务器和主板上。Novell NetWare的销量在1980年代激增。就销售而言,Novell具有主要的文件服务器,但它不是第一台文件服务器

Sybase于1984年成立,它引入了SQL客户端-服务器体系结构,在服务器上使用SQL数据库进行分布式处理以及在将查询请求发送到服务器的客户端上运行的应用程序。


欢迎来到计算机科学!这是一个很好的历史,但实际上并不能回答这个问题,该问题与客户端-服务器计算的起源以及该术语有关,而与网络的整个历史无关。您并没有声称您提到的任何系统都是所要的源。
David Richerby
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.