September 18, 1998. Joseph
Revised: January 15, 1999 .
Given that the topic of this paper addresses both computer and legal agency, we believe an examination of the usage of the terms "agent" and "proxy" within each field is instructive. The technical use of the term agent can be characterized into three overlapping periods. During the earliest period (1960 onward) the term was used by the artificial intelligence community. During the same period, the community of Internet network designers used the term in a way similar to our own: a service that acted on the behalf of another. Finally, the 1990's has been the decade of the agents: where the concept of potentially intelligent, autonomous computer programs that interact with each other within a networked community is hyped. It was also during this latter period that the term proxy became widely used.
The technical concept of an agent was apparently first used in the artificial intelligence community in 1959 to describe the constituents (agents or demons) of a larger self-organizing behavior. [RR, Self] However, within AI its usage did not always relate to computer programs, but to linguistic analysis, particularly in Fillmore's case grammar [Fill]:
An agent is one who performs a particular action and this can be reflected in syntax. In English, in an active sentence, the agent is usually referred to by the subject.... A form used to indicate the agent is called 'agentive.' In case grammar, agentive or agent is one of the specified sets of cases. [Bear]
Agents were the subject of papers on intelligent information sharing systems and artificial intelligence throughout the 70 and 80s'. Occasionally, IT related papers used the term as any other discipline would, such as "Computers as an Agent of Change." [Dieb]. Consequently, the use of the term to denote an initiator of action both within the AI/linguistic community and its typical English usage led the term to be used as a substitute of the term "program" when the connotation of autonomy and network interaction were required.
<networking> In the client-server model, the part of the system that performs information preparation and exchange on behalf of a client or server. Especially in the phrase "intelligent agent" it implies some kind of automatic process which can communicate with other agents to perform some collective task on behalf of one or more humans. [Free On-line Dictionary of Computing]
While computer agents were the subject of papers for nearly two decades, it was in the 1990's that the term became worthy of appearing in the title. Previously, the key words of related publications were information sharing, computer mediation, collaboration, and cooperation. [Wood] Starting in 1994, specific venues for agent research and discussion, [EWMA, CIKM] as well as a special issue of the Communications of the ACM placed the term prominently in popular discourse. [Comm]
One of the best sources of information on how the terms agents and proxies came to be used in the context of the Internet and Web is the IETF's Request for Comments (RFC) archive. While the first occurrence of agent in an RFC was administrative, [RFC95] its technical debut was instructive in its use with respect to qualifying an agent as a program that resides on and communicates with other programs on a network.
The above premise is that the program (or agent) is doing the communicating with an NCP and thus needs to be identified for message traffic routing from an NCP. [RFC129]
During the 70's at the IETF the only other time agent was used in a technical sense was to refer to refer to the sender of an email. [RFC733] However, in 1980, with the arrival of the Transmission Control Protocol (TCP) [RFC761, RFC793] its usage was firmly established as a keyword in network protocol vernacular.
By 1987, the Internet TCP/IP protocol had matured sufficiently that the larger issue of network architecture and management became a focus of work at the IETF. Three critical RFCs related to this work include:
A concept integral to proxy was that of a gateway. Gateways often provide an interface between two networks -- each of which may use a different networking protocol. A proxy is often run on the gateway and acts as a go between, representing requests or services on behalf of one party in terms the second party can understand. The term proxy was seemingly first used in the network context by Shapiro [Shap] in 1986 to designate one object as a local representative of a remote object. However, both of our terms, agent and proxy, received their fullest treatment in 1989 in RFC 1095. Proxy is explicitly placed in a legal context.
3.1. Architectural Overview
The basic concepts underlying OSI network management are quite simple . There reside application processes called "managers" on managing systems (or management stations). There reside application processes called "agents" on managed systems (or network elements being managed). Network management occurs when managers and agents conspire (via protocols and a shared conceptual schema) to exchange monitoring and control information useful to the management of a network and its components. The terms "manager" and "agent" are also used in a loose and popular sense to refer to the managing and managed system, respectively.... The terms "manager" and "agent" are used to denote the asymmetric relationship between management application processes in which the manager plays the superior role and the agent plays the subordinate.
4.3. Proxy Management
Proxy is a term that originated in the legal community to indicate an entity empowered to perform actions on behalf of another. In our context, a proxy is a manager empowered to perform actions on behalf of another manager. This may be necessary because the manager cannot communicate directly with the managed devices either for security or other administrative reasons or because of incompatible communication mechanisms or protocols. In either case, the proxy assumes the agent role with respect to the requesting manager and the manager role with respect to the managed device. [RFC1090]
Subsequently, the terms agents and proxy have become integral to the nomenclature of networks and their applications. This includes email [ref], ftp [ref], the Web [HTTP], and firewalls [ref]. Professors [Maes, Mins, Negr] and students associated with the Agent Group at the MIT Media Lab have significantly contributed to the advancement of software agents in the popular scientific press. Others -- beyond the authors of this paper -- have begin to think about the social implications of autonomous network agents [Fried1-3, Niss]
[Bear] Beardon C. (Editor) Artificial Intelligence Terminology : A Reference Guide (Ellis Horwood Series in Artificial Intelligence Foundations and Concepts) (1989).
[CIKM] Third International Conference on Information and Knowledge Management (CIKM'94)
[Comm] Communications of the ACM. v.37 n.7, July1994.
[Dieb] Diebold, J. Man and the Computer; Technology as an Agent of Social Change. F. A. Praeger, New York. (1969).
[EWMA] European Workshop on Modeling Autonomous Agents in a Multi-Agent World (7th : 1996 : Eindhoven, Netherlands)
[Fill] Fillmore, "The Case for Case." Universals in Linguistic Theory. (Bach, E. and Harms, R., eds.) Holt, Rinehart, and Winston, New York. (1968) pp. 1-90.
[Fried1] Friedman B., and Millett L. "It's the computer's fault" -- Reasoning about computers as moral agents. Conference companion of the conference on Human Factors in Computing Systems, CHI '95. New York: Association for Computing Machinery. (May 1995) pp. 226- 227.
[Fried2] Friedman B, and Nissenbaum H. Bias in computer systems . ACM Trans. Inf. Syst. 14, 3 (Jul. 1996) pp. 330 - 347.
[Fried3] Friedman B, and Nissenbaum H Software agents and user autonomy. Autonomous agents. (1997) pp. 466 - 469.
[Maes] Maes, P. Agents that Reduce Work and Information Overload. Communications of the ACM. Vol. 37 No.7 (July 1994), pp. 31-40.
[Mins] Minsky, M, and D. Riecken. A Conversation with Marvin Minsky about Agents. Communications of the ACM Vol. 37, No. 7 (July 1994) pp. 22-29.
[Negr] Nicholas Negroponte. Agents: From Direct Manipulation to Delegation. Software Agents. (Jeffrey M. Bradshaw ed.), MIT Press 1997.
[Niss] Nissenbaum, H. Computing and accountability. Communications of the ACM. Vol. 37, No. 1 (Jan. 1994) pp. 72-80.
[RR] Rome, B. and Rome, S. Leviathan: A Simulation of Behavioral Systems, to Operate Dynamically on a Digital Computer, System Development Corporation report no. SP-50, 6 (Nov. 1959), pp 15.
[RFC1095] RFC1095 -- Common Management Information Services and Protocol over TCP/IP (CMOT). U.S. Warrier, L. Besaw. Apr-01-1989. (Obsoleted by RFC1189)
[RFC1067] RFC1067 -- Simple Network Management Protocol. J.D. Case, M. Fedor, M.L. Schoffstall, J. Davin. Aug-01-1988. (Obsoleted by RFC1098)
[RFC1027] RFC1027 -- Using ARP to implement transparent subnet gateways. S. Carl-Mitchell, J.S. Quarterman. Oct-01-1987.(Status: UNKNOWN)
[RFC1009] RFC1009 -- Requirements for Internet gateways. R.T. Braden, J. Postel. Jun-01-1987. (Obsoletes RFC0985) (Obsoleted by RFC1812)
[RFC733] RFC733 -- Standard for the format of ARPA network text messages. D. Crocker, J. Vittal, K.T. Pogran, D.A. Henderson. Nov-21-1977. (Obsoletes RFC0724) (Obsoleted by RFC0822)
[RFC761] RFC761 -- DoD standard Transmission Control Protocol. J. Postel. Jan-01-1980.
[RFC95] RFC95 -- Distribution of NWG/RFC's through the NIC. S.D. Crocker. Feb-04-1971. (Obsoleted by RFC0155)
[Self] Selfridge, O. "Pandemonium: A Paradigm for Learning." Mechanisation of Thought Processes. London: H. M. Stationery Off., 1959, pp. 511-527.
[Shap] Shapiro, M. Structure and encapsulation in distributed systems: The proxy principle. 6th International Conference on Distributed Computing Systems Proceedings (Cat. No. 86CH2293-9). (6th International Conference on Distributed Computing Systems Proceedings (Cat. No. 86CH2293-9), Cambridge, MA, USA, 19-23 May 1986). Washington, DC, USA: IEEE Comput. Soc. Press, 1986. pp. 198-204.
[Wood] Andy Wood. Agent Information and References. Available at http://www.cs.bham.ac.uk/~amw/agents/index.html
September 18, 1998. Reagle
Revised: January 15, 1999 .