WO2000028428A1 - Agent method and computer system - Google Patents

Agent method and computer system Download PDF

Info

Publication number
WO2000028428A1
WO2000028428A1 PCT/JP1998/004995 JP9804995W WO0028428A1 WO 2000028428 A1 WO2000028428 A1 WO 2000028428A1 JP 9804995 W JP9804995 W JP 9804995W WO 0028428 A1 WO0028428 A1 WO 0028428A1
Authority
WO
WIPO (PCT)
Prior art keywords
agent
computer system
subnet
unit
processing system
Prior art date
Application number
PCT/JP1998/004995
Other languages
English (en)
French (fr)
Inventor
Takashi Sakakura
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to JP2000581544A priority Critical patent/JP3731645B2/ja
Priority to EP98951707A priority patent/EP1067463A4/en
Priority to PCT/JP1998/004995 priority patent/WO2000028428A1/ja
Priority to US09/508,644 priority patent/US6785819B1/en
Publication of WO2000028428A1 publication Critical patent/WO2000028428A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates to a method for providing a service between computer systems such as a LAN (Portable Network) connected via a public line or the Internet, and a computer system used for the same, and provides services safely and smoothly.
  • the present invention relates to an age-based service providing method and a computer system used for the same.
  • low-cost Internet is used as a means of connecting LANs at each site instead of a dedicated line.
  • access from outside is generally restricted, and security inside the LAN is generally restricted.
  • a firewall is provided at the boundary between the outside and the inside. Fireall is a technology that allows external access only to specific destinations and applications, and there are examples disclosed in Japanese Patent Application Laid-Open No. Hei 7-87122.
  • the present invention has been made in order to eliminate the above-mentioned drawbacks of the prior art, and requests a service from an external computer system via the Internet or the like to a computer system such as a LAN provided with a firewall.
  • the purpose is to provide a safe and smooth way to receive services.
  • the agent is configured to move between the agent processing systems as necessary, and to execute processing based on the data and processing procedures held by the agent itself.
  • USPATENT005632001A sends e-mail to multiple LAN systems connected to the Internet via a firewall.
  • a technology has been disclosed in which a delivery destination database is provided for delivery of files, and the database is centrally managed. The system is configured to send updates to the destination database as email messages.
  • the present invention relates to an agent method for transferring an agent in a network system including a first computer system having an access restricting unit which is accessible when a predetermined communication condition is satisfied, and another second computer system.
  • Authenticating a second computer system transmitting the agent; and transmitting predetermined communication conditions of the first computer system to the authenticated second computer system,
  • the second computer system includes a step of receiving a predetermined communication condition; a step of storing the predetermined communication condition; a step of generating an agent; and a step of transmitting the agent according to the predetermined communication condition.
  • the first computer system has a step of receiving an agent via an access restriction unit and a step of executing the agent.
  • the above-mentioned agent method further comprises a step of authenticating the agent issuing user.
  • the first computer system can use a plurality of information exchange methods
  • the agent method further includes a step of selecting an information exchange method by the second computer system based on characteristics of the information exchange method of the first computer system. Still further, the first computer system has a plurality of agent processing systems capable of executing an agent,
  • the step of generating an agent includes a step of selecting an agent processing system based on characteristics of the agent processing system, and a step of writing identification information of the selected agent processing system to a part of the agent.
  • the step of executing the agent includes a step of reading identification information of the agent processing system from a part of the agent, and a step of transferring the agent to the agent processing system specified by the identification information. It is.
  • the step of generating an agent includes a step of writing identification information of an agent issuing user to a part of the agent
  • the step of executing the agent includes a step of reading the identification information of the agent issuing user from a part of the agent, and a step of accessing the service according to the access right of the agent issuing user specified by the identification information. It is assumed that.
  • the above-mentioned agent method further comprises a step of transmitting an agent execution status by the first computer system and a step of receiving the agent execution status by the second computer system. It is.
  • the above-mentioned agent method further comprises a step of encrypting at least a part of the agent by the second computer system, and a step of decrypting the encrypted part of the agent by the first computer system. It is characterized by having.
  • the above-mentioned agent method further includes a step of integrating predetermined communication conditions of the plurality of first computer systems.
  • the second computer system can use multiple information exchange methods,
  • the agent method further comprises: storing, by the second computer system, an agent transmission history including identification information of an information exchange method used for transmitting the agent; and exchanging information based on the agent transmission history.
  • the method has a step of selecting a method.
  • the step of certifying the second computer system includes a step of certifying by a third-party certification authority.
  • the agent method further includes a step of transmitting user authentication data; a step of receiving user authentication data by a plurality of second computer systems; and a step of storing user authentication data.
  • the step of authenticating the agent issuing user includes a step of reading out user authentication data by the second computer system.
  • agent method further comprises a step of integrating characteristic data of the agent processing system
  • the step of selecting the agent processing system includes a step of reading characteristic data of the integrated agent processing system.
  • agent method further comprises a step of integrating agent execution status.
  • the agent method further comprises a step of defining a management information transfer path based on the information exchange path information, and a step of determining a destination of the agent execution status according to the management information transfer path. That is what you do.
  • the above-mentioned agent method further comprises the step of: And a step of defining a management information transfer path, and a step of determining a transmission destination of a predetermined communication condition according to the management information transfer path.
  • the present invention has an access restriction unit that enables access when a predetermined communication condition is satisfied, and provides a computer system that communicates with another computer system.
  • a computer system authentication unit for authenticating another computer system that sends the agent
  • a communication condition transmitting unit for transmitting predetermined communication conditions to another authenticated computer system
  • An agent receiving unit that receives an agent via the access restriction unit
  • agent execution unit for executing an agent.
  • the present invention relates to a computer system that communicates with another computer system having an access restriction unit that allows access when a predetermined communication condition is satisfied.
  • a communication condition receiving unit for receiving predetermined communication conditions of another computer system
  • a communication condition storage unit for storing predetermined communication conditions of another computer system
  • An agent generation unit that generates an agent to be executed on another computer system
  • An agent transmitting unit for transmitting an agent according to a predetermined communication condition of another computer system is provided.
  • multiple computer systems It is characterized by constituting a network system.
  • FIG. 1 is a network configuration diagram of a computer system according to the present invention.
  • FIG. 2 is a configuration diagram of a group of agent service programs on a subnet according to the present invention.
  • FIG. 3 is a hardware configuration diagram of a subnet according to the present invention.
  • FIG. 4 is a functional configuration diagram of the agent processing system according to the present invention.
  • FIG. 5 is a diagram of an example of an agent mechanism user management table according to the present invention.
  • FIG. 6 is a functional configuration diagram of the user-one authentication unit according to the present invention.
  • FIG. 7 is a diagram of a command example of the file system according to the present invention.
  • FIG. 8 is a configuration diagram of a file system session according to the present invention.
  • FIG. 9 is a diagram of an example of an information exchange path management table according to the present invention.
  • FIG. 10 is a configuration diagram of the agent according to the present invention.
  • FIG. 11 is a diagram of an example of a resource information inquiry according to the present invention.
  • FIG. 12 is a diagram of an example of an agent processing system attribute inquiry according to the present invention.
  • FIG. 13 is a diagram of an example of information for subnetwork registration according to the present invention.
  • FIG. 14 is a diagram of an example of an information exchange path management table of the agent mechanism after participating in the subnet D according to the present invention.
  • FIG. 15 is a diagram of an algorithm for updating service management information according to the present invention.
  • FIG. 16 is a diagram illustrating an example of an agent execution status inquiry according to the present invention.
  • FIG. 17 is a conceptual diagram of a system configuration and a data flow according to the present invention.
  • FIG. 18 is a processing flow including authentication of a computer system and transmission of communication conditions by the registry server according to the present invention.
  • FIG. 19 is a processing flow including reception and storage of communication conditions by the agent transmitting computer system according to the present invention.
  • FIG. 20 is a processing flow including generation and transmission of an agent by the agent transmitting computer system according to the present invention.
  • FIG. 21 is a processing flow including reception and execution of an agent by the agent executing computer system according to the present invention.
  • FIG. 22 is a processing flowchart including integration of the execution status of the agent according to the present invention.
  • processing is performed on the configuration shown in the conceptual diagram of the data flow in FIG.
  • the processing flow including generation and transmission of an agent by the agent transmitting computer system 1702 shown in FIG. 20 and the agent executing computer system 1700 shown in FIG.
  • the processing flow including the reception and execution of the agent according to 3 will be described.
  • the following description assumes a specific network system.
  • the agent generation unit and the agent transmission unit of the computer system on the agent transmission side correspond to the subnet B 103 described later.
  • the agent processing system 205 of the sub-network A 102 which corresponds to the agent executing computer system 1703, is an agent of the subnet A 102 described later.
  • Gent processing system 205 is performed on the configuration shown in the conceptual diagram of the data flow in FIG.
  • the processing flow including generation and transmission of an agent by the agent transmitting computer system 1702 shown in FIG. 20 and the agent executing computer system 1700 shown in FIG.
  • the processing flow including the reception and execution of the agent according to 3 will be described.
  • the following description assumes
  • the network of the computer system shown in Fig. 1 is used, for example, by a company with 100 employees, and has subnet A102, subnet B103, subnet C106, subnet D111. 0 corresponds to a computer system using a LAN installed at each base.
  • the network is connected to the general public network 101 via a server that makes a modem connection on demand. It is connected.
  • IP Internet Protocol
  • a user on subnet A 102 can access an application program running on a computer on subnet C 106 as well as an application program running on a com- puter on subnet A 102.
  • the user of the subnet C106 can access an application program running on the computer of the subnet A102.
  • the transfer speed is about 1/1100 compared to the case in the same subnet, and it becomes even lower when communication is concentrated.
  • the subnet C 106 and the subnet D 110 are connected by a high-speed dedicated line 108, and the computers on each network are almost the same as when they are on the same network. You can do the same. However, it is necessary to limit the traffic on the leased line so that it will not become excessive due to the operation of the user.
  • Subnet and source B 103 are interconnected through firewall 105 Only connected to the socket.
  • the firewall 105 is configured to allow connection only for communication in accordance with SMTP (mail transmission protocol).
  • subnet A 102 is connected to the Internet via firewall 104.
  • the subnet D 110 is connected to the Internet via a firewall 109.
  • Each of these firewalls 104 and 109 is configured to allow connection only for communication in conformity with the SMTP as in the case of the firewall 105.
  • the mobile terminal A 107 can be connected to the subnet A 102 or the subnet C 106 via a public network via a modem.
  • the Internet connection service makes it possible to connect to the Internet via a public network.
  • Mobile terminal B 111 can also be connected to the Internet.
  • Route database 201 The configuration of the agent service program group on the subnet shown in Fig. 2 will be described.
  • Route database 201, authentication server 202, resource database 203, agent monitor 204, agent processing system 205, user authentication Z management 206 And runs on any computer in the subnet.
  • the route database 201 manages an information exchange route management table as shown in FIG.
  • the authentication server 202 authenticates that the specific subnet participates in this network system.
  • the resource database 203 manages resource information as shown in FIG.
  • the agent monitor 204 monitors the agent execution status.
  • Agent processing system 205 provides the functions necessary for agent processing.
  • User management Z management 206 is an agent mechanism as shown in Fig. 5. Manage user management tables.
  • the agent of the present invention which is an execution object that can be moved between agent processing systems, is provided by these services running on a subnet via an API (application programming interface) provided by the agent processing system 205. 210 to 206 can be used.
  • the hardware configuration of the subnet A 102 shown in FIG. 3 will be described as an example.
  • the LAN 302 of the subnet is connected to the Internet via a firewall 104. It is connected to the public network via the remote access server 301. Further, the servers 313 to 307 are connected to the LAN302.
  • Server 1-3 has a route database 2 0 1 and an authentication server 2 0 2, server-3 4 0 has a resource database 2 3 and an agent monitor 2 0 4, server 3 0 5 has a
  • the agent processing system 205 and the user authentication / management 206 are executed respectively.
  • Server 306 is a file server, and server 307 is a database server.
  • a PC (Personal Computer) client 308 and many other PC clients are connected to the LAN 302.
  • Fig. 4 shows the functional configuration of the agent processing system 205.
  • the agent processing system 205 includes a user authentication unit 401, an agent moving unit 402, a moving mode selecting unit 403, an information exchanging unit 404, a route information inquiry unit 405, and resource information. It comprises an inquiry section 406, an encryption / decryption section 407, an agent execution status report / query section 408, and an execution section 409.
  • the user authentication unit 401 authenticates the user when the user enters the agent into the agent processing system through an application program (for example, a file system) (Step 201).
  • the agent moving unit 402 is used when an agent is moved between agent processing systems as needed for an age job (step 2006, 2101).
  • the movement method selection unit 403 selects an optimal movement method for moving the agent between the agent processing systems (step 2005).
  • the information exchange unit 404 exchanges information for agent movement and data transmission and reception (steps 2006, 2101, 901, 1904, 1905, 1908, 1909, 1912, 1 9 1 3, 1 9 1 6, 1 9 1 7, 1 9 20, 1 8 1 3 to 18 1 6, 2 1 1 0, 2 1 1 2, 2 1 1 4, 2 1 1 6, 220 1, 2205).
  • the route information inquiry unit 405 makes an inquiry about the route information in order to select an optimal information exchange route for information exchange (steps 1811, 1812, 1903, 1907, 1911). , 1915, 1919, 2004).
  • the resource information inquiry unit 406 makes an inquiry about information about resources such as a file system and a database that can be used by the user on the agent processing system (step 2015).
  • the encryption / decryption unit 407 encrypts the data before transmission for confidentiality when exchanging information for moving the agent or transmitting / receiving data, and decrypts it after reception (steps 2003, 210). 2)
  • the agent execution status report Z inquiry unit 408 makes an inquiry about the execution status of the agent in the present system (steps 210, 2008).
  • the execution unit 409 executes the agent (Step 210).
  • the operation of the agent processing system and each service in the present system will be described by taking as an example the operation of a wide-area file system realized by the agent system according to the present invention.
  • the subnet D110 has not been registered in this agent mechanism system.
  • the subnet D 110 is registered in the agent mechanism according to an embodiment described later.
  • the operation of the file system is as follows. First, an agent is sent to an agent processing system that can access the file system, and then a peer-to-peer session is configured between agents using a secure communication mechanism by the agent mechanism. Done. In other words, it works by installing a dedicated file server at the required site.
  • agent processing system Prior to sending the agent, user authentication is performed in this system (step 201).
  • the agent processing system prepares a user interface and API for the agent's mouth and execution, but when the user interface is used, the agent processing system sends the information to the agent processing system. Prompts for a password at login, verifies the entered password, and authenticates the user as a valid user.
  • the agent processing system performs the same verification using the password that is an argument to the API, and authenticates that the user is an appropriate user.
  • Figure 5 shows an example of the agent mechanism user management table. This table is a database table used by the agent processing system for user authentication, and is managed by the user authentication / management 206.
  • This table contains the user name 501, the password 502 encrypted by the hash function, the common secret key 503 for encryption, the group ID 504 in this system, and the user ID 505 as well. Each item is provided for each user.
  • the user name 501 is composed of the user's name, the host name on which the agent processing system registered by the user runs, and the subnet name so that it is unique in the system.
  • the user authentication unit 410 of the agent processing system 205 acquires this table from the user authentication Z management function 206 of the subnet and uses it for user authentication (step 2009). User authentication for each subnet
  • the Z management 206 maintains the same latest table in accordance with the protocol described later (steps 182-1804, 1814, 1905-1908).
  • FIG. 6 shows a functional configuration of the user authentication unit 401 of the agent processing system 205.
  • the user authentication unit 401 includes an update unit 601 and an authentication execution unit 6002.
  • the updating unit 601 is configured to register and delete users with the authority of the supervisor of this system (steps 1802 to 1804), and to transmit and receive update data to and from the user authentication / management function 206 of each subnet. (Steps 18 14, 1 905, 190 8).
  • the authentication execution section 602 is configured to perform user authentication. More specifically, when an authentication request is received together with a user name and a password, user verification is performed using those, and an authentication result is returned (Step 2001).
  • the command shown in FIG. 7 is executed by the client PC 808 on the subnet B 103, and the file system 804 which is a part of the OS (operating system) on the client PC is used for another file to be used.
  • This command assigns the system. Specifically, "The directory / exportl of the machine A 805 on which the file server 801 of the subnet A 102 operates is stored on the client PC 808 on the client PC 808.
  • the OS sends an agent that transmits and receives file data in a peer-to-peer format to the agent processing system of the subnet B103. This transmission is performed via the listening port prepared by the agent processing system.
  • the client-side agent 803 secures a communication path with the client function of the OS file system 804 by a socket.
  • the client-side agent 803 generates the peer agent 802 (step 2002), and sends it to the destination using the agent mechanism (step 2006).
  • the agent processing system that is most suitable for the execution of the agent is selected as the destination agent processing system based on the results of inquiries such as the agent execution status, system resources, and the characteristics of the communication path (step 201). 0).
  • the peer agent is an agent that is one of the peer-to-peer peers, and will be described later in detail with reference to FIG.
  • the configuration of the file system session shown in FIG. 8 will be described.
  • the machine A 805 is a server machine on the subnet A 102 on which the file server 801 runs.
  • the machine C 806 is a server machine on the subnet A 102 on which the agent processing system that executes the peer agent 802 operates.
  • the client PC 808 is a client PC on the subnet B 103 that has issued the mount command, and the file system 804 is running as a part of ⁇ S.
  • Machine A 807 is a server machine on subnet B 103 on which an agent processing system for executing a client agent runs.
  • the file system 804 of the ⁇ S permits the application program on the client PC to access files under / netA / machineA / exportl.
  • the application program is the ⁇ S file system
  • an instruction such as file generation Z deletion, read / update, or directory reference is issued to the system 804
  • the OS file system 804 sends data related to the instruction to the client agent on the same subnet. Send to 8 03
  • the client-side agent 803 further transfers data relating to the command to the peer agent 802.
  • the client-side agent 803 selects a communication path suitable for this transfer, and transfers the data using a secure communication method by encryption.
  • the peer agent 802 acts as a client of the file server 801 to perform file operations (eg, create / delete / read / update files, refer to directories, etc.) related to the command.
  • file operations eg, create / delete / read / update files, refer to directories, etc.
  • the 802 transfers the result of the file operation to the agent 803.
  • the agent 803 further transfers the result of the file operation to the OS file system 804.
  • the OS file system 804 further returns the result of the file operation to the application program.
  • the agent issuer is identified from the owner name 104 in the agent, and the Access the service with the authority of the agent issuer (step 2108).
  • the agent mechanism according to the present invention operates roughly as in the above file system example.
  • Step 2005 select the agent movement method (Step 2005), generate the agent (Step 2002), select the agent processing system (Step 201), the movement of the agent (Step 2006, 2101), and the start of the service (Step 2103) will be described in detail.
  • the selection of the agent movement method (Step 2005) will be described.
  • Figure 9 shows an example of the information exchange path management table.
  • This table is a database table for managing information on an information exchange route between subnets, and is managed by a route database 201.
  • This table shows the information exchange method and standard transfer method for each information exchange route between subnets (for example, A-B shown on line 901; A-C shown on line 902; B-C shown on line 903). Items related to characteristics such as speed and dynamic transfer speed are provided.
  • the agent obtains information of this table by inquiring of the route database 201 via the route information inquiry unit 405 of the agent processing system (step 2004). Then, the agent selects an optimal information exchange route for moving the age unit and transmitting / receiving data (Step 2005, 2013).
  • the route of this sending starts from the entry A—B shown on line 901 of this table.
  • the A-B data exchange method is the SMTP communication method, and it can be seen that the latest transfer speed record is 38 kbps. In this way, the transmission history including the information exchange route used for transmission and the result of the transmission can be stored and used as a judgment factor for the next selection (steps 2007, 2014).
  • FIG 10 shows the configuration of the agent.
  • the agent is composed of management information (subnet name 1001, machine name 1002, dependency list 1003, owner name 1004) and execution object 1005.
  • the subnet name 1001 is the name of the subnet to which the server machine on which the agent processing system operates belongs (step 2101).
  • the machine name 1002 is the machine name of the server on which the agent processing system operates (Step 201).
  • the dependency list 1003 is a list indicating dependency conditions such as resources necessary for the agent to operate and the capability of the agent processing system.
  • the owner name 1004 is a user ID indicating the owner of the agent (step 201). These pieces of management information are given when the agent is created (step 2002).
  • the execution object 1005 is an object part to be executed as an agent. Note that the execution object 1005 is encrypted and Z-decrypted by a common secret key 503 registered for each user and an algorithm common to the agent mechanism (steps 2003 and 2102). .
  • the client-side agent 803 makes an inquiry to the resource database 203 via the resource information inquiry section 406 of the agent processing system in the same manner as the inquiry to the route database 201 (step 20). 1 5).
  • Figure 11 shows an example of a resource information inquiry.
  • An example is that the dependency required for the execution of the peer agent is that a file server on subnet A 102 can access files on machine A. I will explain.
  • Line 1 101 is a command for querying the resource database 203.
  • the meaning is "search for agent processing systems that can access files on subnet A102".
  • Lines 1102 to 1104 are the responses to it.
  • the meaning of the line 1 102 is “machineA of subnet A is a single word”. In other words, machineA on the subnet A102 having the agent processing system is the file server itself.
  • the meaning of line 1103 is "machineB is accessible as an SMB (server message block) client”.
  • the meaning of line 111 is that imachineC can be accessed as an NFS (network file system) client. " Since the peer agent created this time has only the function of using the NFS client interface provided by the agent processing system, the agent processing system to be moved is machineC (step 21010). Therefore, the agent selects machineC as the optimal agent processing system as the destination of the peer agent, and registers it in the machine name 1002 of the management information (step 201).
  • Figure 12 shows the result of querying the attributes related to the agent processing system machineC.
  • Line 1 201 indicates that the local file can be accessed.
  • Line 1222 indicates that access as an SMB client is possible.
  • Line 123 indicates that access is possible as an NFS client.
  • Line 124 indicates that no access to the database is possible.
  • Line 1 205 is the agent Indicates that the memory capacity available to the default processing system is 20 MB.
  • Line 1206 indicates that the processing speed of this agent processing system is about 1 MIPS.
  • Line 1207 indicates that the current load on the agent processing system is 32%.
  • the peer agent is moved after the setting of the management information in the sending peer agent is completed (steps 206, 2101).
  • the client-side agent 803 communicates to the agent processing section 402 of the agent processing system by using the communication method by SMTP selected as described above to the agent moving section 402 of the agent processing system. Ask to send the agent.
  • the agent moving unit 402 selects the information exchange unit 404 based on the S MTP, and hands over the information exchange unit 404 with the destination and the agent to be moved (object in a broad sense in this system).
  • the information exchange section 404 is a mailer count prepared by the S MTP communication section of machineC of subnet A102 as a port for connection generation.
  • Agentl istener achineC Sends a connection request message to netAj. At this time, it also sends the mail account name" agentporterl@machneA.netB "for the SMTP communication used on the client side. And a mail account for S MTP communication on the server side
  • the state in which the mailer counts are secured in this way is the connection state by the SMTP communication means, and thereafter, both sides use this connection to transmit and receive communication packets as mail messages.
  • the agent moving unit 402 marks the type of this object as an agent in an area associated with the object, and executes the execution object.
  • the object 1005 is encrypted with the user's common secret key (step 203), and the agent is passed to the information exchange unit 404.
  • the information exchange section 404 decomposes the received agent into buckets as object data, and transmits them as mail messages (step 2006). At this time, the message may be digitally signed in preparation for an external attack.
  • the information exchange section 404 of the agent processing system of the machine C of the subnet A 102 accumulates the bucket of the object data of the agent, determines that the object is the agent from the type of the object, and determines the object data. Is passed to the agent moving section 402 of the agent processing system (step 2101). At this time, the machine name 1002 in the management information can be read and the agent can be transferred to the agent processing system specified by the machine name (steps 210, 210).
  • the agent moving unit 402 identifies the user from the owner name 104 of the management information, and the encrypted information is encrypted by the encryption / decryption unit 407 using the user's common secret key. Decrypts the running object 1 0 5 Then, the execution object is loaded and starts executing as peer agent 802.
  • the peer agent 802 sends the client agent 803 a message indicating that the peer agent 802 has started execution and the secured mail account address.
  • This transmission is performed by designating the communication agent count address of the client side agent agent 803 previously held as internal data by the moved agent and instructing the information exchange unit 404.
  • Will be The information exchange unit 404 that has received the transmission instruction assumes that a connection has been created, and enters a connection state.
  • the client-side agent 803 is already in a receiving wait state, and the processing start
  • the communication mail address of the peer agent 802 is registered in the information exchange section 404, and the OS file system 804 is notified that the file system session generation has been completed. Thereafter, the file access service from the client PC 808 can be used.
  • processing flow including the authentication of the computer system and the transmission of the communication conditions by the registry server shown in FIG. 18 and the reception and storage of the communication conditions by the agent transmitting computer system shown in FIG. 19 are described. A description will be given of the processing flow including the processing.
  • the registry server 1701 corresponds to a route database 201 of the subnet A 102 described later.
  • the condition receiving unit and the condition storage unit of the computer system on the agent sending side correspond to the route database 201 of the newly authenticated subnet D 110 and the already authenticated subnet B.
  • a method of causing a new subnet to participate in the agent mechanism will be described.
  • the system administrator on subnet D110 obtains the software needed to participate in the agent mechanism. Then, the system administrator of the agent mechanism is requested to set up an account for the subnet D110 to the registry server.
  • the agent mechanism The administrator of the subnet A 102 also serves as the system administrator.
  • the registry server is a server that manages registry information of each subnet participating in the agent mechanism. In this example, the route database 201 of the subnet A 102 is also used.
  • the system administrator of the subnet D110 activates the necessary software and creates the subnet registration information as shown in Fig. 13 accordingly.
  • the system administrator of the subnet D110 after receiving the notification of the completion of the new account setting to the registry server, transmits the information for registering the subnet to the registry server.
  • the authentication server 202 on the subnet A 102 which is a certificate authority, checks the legitimacy of the subnet D 110 by referring to the account newly established in the registry server. (Step 1801). Also, the information for subnetwork registration is decoded before transmission.
  • the network registration information reported to the registry server when a service is introduced on the subnet includes the communication connection form of the subnets on lines 1301 and 1302 (step 1805).
  • the path database operating host on line 133, the resource database operating host on line 1304, the agent monitor operating host on line 135, the user authentication management server on line 1306 The operation host is included.
  • Line 1301 is connected to the Internet at a standard data rate of 32 Kbps through a firewall that allows this subnet to pass only SMTP. Connected to the port.
  • Line 1302 indicates that this subnet is connected to subnet C 106 by a dedicated line, and is connected at a standard data rate of 10 Mbps without any particular restriction on the communication protocol (step 1 805).
  • Line 1 303 indicates the host name on which the route database 201 operates (machineA of the subnet D 110). At this time, on the route database 201 operating at this time, each route is already on line 1. A listening port is prepared for the communication mode (SMTP and TCP) reported in 301 and 1302, and is in the listening state.
  • SMTP and TCP communication mode
  • the information exchange path management table of the agent mechanism shown in FIG. 9 is changed as shown in FIG. 14 (steps 1806 and 1807). . Specifically, as shown in FIG. 14, each of the route information entries A to D shown in line 1 404, B D shown in line 1 405, and C D shown in line 1 406 is added.
  • the registry server (the route database 201 of the subnet A102), according to the service dependency, stores the route database 201 of the subnet B103 and the route database 201 of the subnet C106. Notify the information exchange route management table of the change (steps 1812, 1815).
  • the service dependency is defined as the service provided by each subnet similarly (for example, collecting and distributing agent operation status data).
  • the service dependency is dynamically defined based on the information exchange route information (step 1811).
  • the registry server (route database of subnet A102) 20 1) transmits the information exchange route management table shown in FIG. 14 to the route database 201 of the subnet D 110 in the listening state (steps 18 12, 18 15). ).
  • the route at this time is determined from the contents of each route information entry of A—C shown on line 1402 and C_D shown on line 1406, and the route to be transmitted by TCP via subnet C 106 is determined. (Steps 1812, 1815, 1909 to 1912).
  • the service dependencies are also transmitted (steps 1813, 1901-1904).
  • the service of the subnet D 110 is defined to be located immediately below the service of the subnet C 106 (step 1811) due to the service dependency, and the subnet D 110
  • the route database 201 receives the above-mentioned information exchange route management table and service dependency.
  • Steps 1909, 1910, 1901, 1902 are started.
  • the management information is updated by the same mechanism for other services. Specifically, resource information managed by the resource database 203 (Fig. 11), agent execution status managed by the agent monitor 204 (Fig. 16), user authentication managed by the user authentication / management 206, and user management managed by the user 206 Each information in the table (Fig. 5) is to be updated. (For updating resource information, see steps 1808 to: L810, 1816, 1913 to 1916, execute agent Steps 2101 to 2205, 1917 to 1920 for updating the status, steps 1802 to 1804, 1814, 1905 to 1908 for updating the user management table)
  • the update procedure is as follows. First, the registry server (subnet The route database 201 1) of the packet A 102 notifies the host running each service of the subnet A 102 of the participation of the subnet D 110. Next, each service that received the notification updates its management information as needed (Steps 1808-: L810, 2201-2203, 1802-1804), and the service dependencies. (Steps 1811, 1812, 2204), and notifies the services of the subnet B 103 and the subnet C 106 of the change in the management information (steps 1816, 2205, 1818). 14) .
  • each service of the subnet C 106 is a service that is waiting for initial data of the subnet D 110, that is, a resource database 203 operating on the host indicated by the line 1 304, and a service indicated by the line 1 305.
  • Each management information serving as initial data is transmitted to the agent monitor 204 operating on the host and the user authentication management 206 operating on the host indicated by the line 1306 (steps 1916, 1920, 1 908).
  • the service dependency defined so that the service of the subnet D 110 is located immediately below the service of the subnet C 106 is also transmitted ( Step 1 904).
  • each service on the subnet D110 After receiving the management information and the service dependency (steps 1901, 1905, 1909, 1913, 1917), each service on the subnet D110 receives the management information and the service dependency. Start. In this example, among all the services, the service of the subnet A102 is registered at the top of the service dependency (step 1811).
  • the agent processing system is started after each service on the newly registered subnet D 110 starts.
  • the activation of the agent processing system is performed by the administrator of the host that executes the agent processing system.
  • the host administrator needs to know the listening port and resource information of the resource database 203 and agent monitor 204 on subnet D110. Information and start the agent processing system program.
  • the resource information has the same items as the agent processing system attributes shown in FIG.
  • the agent processing system program transmits resource information to the resource database 203 and the agent monitor 204 of the subnet D 110 as initialization processing, and reports new participation of the agent processing system.
  • the transmission to the resource database 203 is performed via the resource information inquiry unit 406.
  • the transmission to the agent monitor 204 is performed via an age execution status report inquiry unit 408.
  • the resource database 203 and the agent monitor 204 which have been notified of the participation of the new agent processing system, have the resource database 200 of the subnet A 102 at the top of the service dependency relationship. Report its participation to 3 and Agent Monitor 204. This report is sent to the services of each subnet in the same procedure as the update described above.
  • Fig. 15 shows an algorithm for updating service management information for each subnet.
  • the service of the subnet that accepts the update of the management information is in the state of waiting for the management information update request in step 1501.
  • this service updates the management information for its own service in step 1502.
  • the service that has not been updated it is confirmed in step 1506 that the service is not the service that requested the management information update, and in step 1507, the service that has not been updated is determined. Managed against Notify changes in information.
  • Embodiment 3 When a new agent processing system is added to the agent mechanism, a digital signature is obtained from a third-party certificate authority, the agent processing system is registered using this digital signature, and agent processing is performed after obtaining authorization. System processing can also be started (step 18 17).
  • Embodiment 3 When a new agent processing system is added to the agent mechanism, a digital signature is obtained from a third-party certificate authority, the agent processing system is registered using this digital signature, and agent processing is performed after obtaining authorization. System processing can also be started (step 18 17).
  • Load balancing is suitable, for example, for application programs that perform computation-intensive processing.
  • This application program is dynamically divided into tasks, and the divided tasks are configured in the form of agent objects that contain data and execution text. It is assumed that these tasks do not require resources such as a database file other than the agent processing system. Therefore, each task can be executed by any agent processing system, and it is possible to select an optimal agent processing system according to the system load obtained by inquiring the resource database 203.
  • This application program runs on subnet A 102 machinel is the agent processing system of the parent agent. Then, the parent agent issues an agent that constitutes the task (hereinafter, referred to as a task agent).
  • a task agent an agent processing system with a small load at the time of inquiry to the resource database 203 is selected, and the machineA of the subnet C106, the machineB of the subnet C106, the machineA of the subnet D110, and the subnet are selected.
  • G Issue each task agent divided into four to machine B of D110.
  • each task agent When each task agent completes its processing, it transmits the processing result information to the specified port of the parent agent by using the information exchange unit 404 (steps 210, 210 to 2116). After receiving the processing result information from all issued task agents, the parent agent integrates them and terminates the processing (steps 2201-2205).
  • the parent agent can inquire of the agent monitor 204 about the agent execution status of each task via the agent execution status report inquiry unit 408 of the agent processing system (Step 2008).
  • the agent execution status is transmitted as follows.
  • the agent processing system receives the task agent, it starts monitoring the agent agent monitor 204 of the subnet to which the agent processing system belongs when the task agent execution starts, when the task agent execution pauses, when the task agent execution resumes, and when the task agent execution ends. Report the situation (steps 2 109, 2 1 1 1, 2 1 1 1 3, 2 1 1 5).
  • the agent monitor 204 reports the execution status of the agent of the subnet to the uppermost agent monitor 204 in the service dependency relationship at an appropriate timing (211 0, 2 1 1 2, 2 1 1 4, 2 1 1 6). At this time, the agent monitor 204 that issued the report In exchange for this, it is also possible to obtain the agent execution status of another subnet from the highest-level agent monitor 204.
  • Each of the agent monitors 204 located below the highest level obtains the latest agent execution status by the service management information update algorithm shown in FIG. 15 (steps 1917 to 1920). .
  • Figure 16 shows the result of querying the execution status of the four task agents to the agent monitor 204 a certain time after the parent agent issued the task agent (step 2008). ). In this way, if the user issuing the query does not specify the content of the query, the execution status of the agent issued by that user is returned.
  • Line 1601 indicates the execution status of the parent agent, the agent ID of which is netA. Machinel. 0001, and the running agent processing system runs on the machinel of subnet A102 and sends an inquiry. It can be seen that the execution status immediately before the execution is a state of waiting for the processing result information from the child task.
  • Lines 1602 to 1665 show the execution status of the task agent divided into four, machineA of subnet C106, machineB of subnet C106, and subnet D1. It can be seen that each task agent is running on machineA at 10 and raachineB on subnet D110.
  • a method of managing the service operation status of a subnet participating in the agent mechanism according to the present invention and a method of deleting the subnet will be described.
  • the registry server accesses services on each subnet periodically to check whether those services are available. One for a certain service If the registry server is not accessible within the fixed time, the registry server considers the service "down" and notifies the service to all services that have a service dependency within the agent mechanism. The registry server also attempts access in the same manner, and if the service returns to an available state, sets the service to “in operation”, and similarly notifies all services.
  • the administrator of the subnet to be deleted requests the registry server to delete the subnet.
  • the registry server After setting all services on the subnet to be deleted to be “inactive”, the registry server notifies the “inactive” service and all services having a service dependency in the agent mechanism. All services that have been notified will remove “dormant” services from the service dependencies they maintain. In this way, the subnet is deleted from the agent mechanism.
  • the information exchange method using a communication medium has been described as an information exchange method, the method of directly moving a physical storage medium may be used. Can be implemented.
  • the user can use the public computer as if using a single virtual computer without being aware of network security restrictions and system configuration. Resources from computer systems interconnected by lines and the Internet can be used.
  • the processing requested by the agent can be reliably executed or deleted, mission-critical processing can be executed by the agent method.
  • the present invention is configured as described above, and has the following effects.
  • the agent transmitting computer system is notified of the predetermined communication conditions in advance, and the agent is transmitted according to the communication conditions, so as to eliminate the risk of unauthorized access, which is a drawback when using an inexpensive Internet as a connection means.
  • Authorization of the access control unit such as a firewall provided can be smoothly received, and a safe and smooth agent method can be adopted on an intranet constructed at low cost. This is particularly effective when performing mission-critical processing.
  • agent processing can be executed effectively.
  • agent processing system Since the services used by the agent processing system are accessed according to the access rights of the agent issuer, if the access rights are restricted for the purpose of confidentiality management etc. for the internal processing of the computer system on the agent execution side, the agent method But you can keep that limit and achieve that goal. Also, access right confirmation processing during agent processing can be automated, facilitating the age processing.
  • the agent issuer receives a report on the agent execution status using the computer system that issued the agent, and can take appropriate action if the agent processing fails.
  • each agent processing system is selected, there is an advantage that the agent processing system can be selected so that processing is efficiently distributed.
  • the agent's confidentiality is maintained even if it is monitored by a third party during communication. It is also possible to eliminate unauthorized agents and maintain security.
  • the agent executing computer system When there are a plurality of agent executing computer systems, when the agent executing computer system individually notifies the agent transmitting computer system of predetermined communication conditions, the communication conditions of the agent transmitting computer system are determined. Although the management becomes complicated, in the present invention, since the communication condition of another agent executing computer system is included in one notification, all the communication conditions can be updated collectively, and the communication condition management can be performed. The burden can be reduced.
  • the optimum information exchange method can be selected based on the agent transmission results for each information exchange method, and the transfer efficiency of the agent is actually improved. be able to.
  • the agent transmitting side computer system is certified based on the authentication result by the third party certificate authority, the legitimacy of the agent transmitting side computer system is secured and the security of the agent method is improved. Since multiple agent sending computer systems have the same user authentication data, the appropriate user can always send an agent to any of the agent sending computer systems by the same user authentication procedure, increasing user convenience. improves.
  • the agent sending computer system has the characteristics of the agent processing system as a database, the agent processing system can be selected quickly and comprehensively.
  • agent execution status of other agent execution computer systems can be acquired together, when the agent is distributed to multiple agent execution computer systems, the agent transmission computer system executes Can be obtained all at once, and the burden of execution status management is reduced. Also, user convenience is improved.
  • the agent execution status between the plurality of agent execution computer systems is transmitted according to the management information transfer route based on the information exchange route information, so that a wide range of agent execution status can be obtained safely and quickly.
  • the agent-executing computer system constitutes a network system having a plurality of computer systems, so that a user can remotely use various services provided by the network system.
  • the agent transmitting computer system constitutes a network system having a plurality of computer systems, many users can use services by the agent method using the computer system as an operation unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

明細書 エージェント方法及びコンピュータシステム 技術分野
本発明は、 公衆回線やインターネッ トを介して接続される L A N (口 一力ルェリァネッ トワーク) 等のコンピュータシステム同士間のサービ ス提供方法及びそれに用いるコンピュータシステムに係り、 安全かつ円 滑にサービスを提供することを可能にするエージユント方式によるサー ビス提供方法及びそれに用いるコンピュータシステムに関するものであ る。 背景技術
近年、 企業内で L A Nを利用するコンピュータシステムが定着し、 複 数の拠点に設けられたこれらの L A Nを接続し社内ネッ トワークを構成 するイントラネッ トやそれを更に拡張し関連会社等を含めたネッ トヮ一 クを構成するェクストラネッ トが普及している。
各拠点の L A Nを接続する手段として、 専用線に替えて低コストのィ ンターネッ トを利用するケースもあり、 その場合には、 一般的に外部か らのアクセスを制限し、 L A Nの内部の安全性を高める為に、 外部と内 部の境界部分にファイアウォールを設けるようにしてレ、る。 ファイアゥ オールは、 特定の到達先やアプリケーションへ対してのみ、 外部からの アクセスを許す技術であり、 日本特許特開平 7 - 8 7 1 2 2号公報等の 開示例がある。
具体的には、 電子メール転送プロ トコルである S M T P (シンプルメ
—ノレトランスファープロ トコル) のみ通過を許すシステムが多い。 この 場合には、 ファイアウォールを通過できるのは電子メールメッセージの みとなる。 他に、 WWW (ヮ一ルドワイ ドウエブ)のデータ通信プロ トコ ルである H T T P (ハイパーテキス ト トランスファープロ トコル)の通過 を許すシステム、 通信を中継する代理サーバーを配置するシステムや C O R B A (コモンオブジェク トリ クエス トブローカーアーキテクチャ) 通信プロ トコノレ I I〇 P (インタ一ネッ トインターオーブプロ トコノレ) , J A V A処理系が用意する R M Iなどの通信プロ トコルを許可するシス テムなどもある。
し力 し、 これらのネッ トワークコンピュータシステムでは、 ファイア ウォールを越えて、 L A N環境で提供されているサービス (例えば、 フ アイル共用、 共用プリ ンタへの印刷、 あるいは C P Uサーバーの利用 等) を利用することができない。 従って、 他の拠点にあるデータやプロ グラムを得る場合でも、 孤立した回線を利用して送信するか、 あるいは テープなどのメディアを郵送するなどの方法に頼っていた。
本発明は、 上記従来技術の欠点を除くためになされたものであって、 ファイアウォールを設けた L A Nなどのコンピュータシステムに対して、 外部のコンピュータシステムからィンターネッ ト等を介してサービスを 要求し、 そのサービスを受けるための安全かつ円滑な方法を提供するこ とを目的とする。
尚、 本発明で用いるエージェント方式については、 日本特許特開平 7
- 1 8 2 1 7 4号公報 (米国ジェネラルマジック社、 USPATENT5603031 に対応する日本出願) に詳細例が開示されている。 エージェントは、 必 要に応じてエージユント処理系間を移動し、 自身が保持するデータと処 理手順に基づき処理を実行するように構成されている。
また、 参考技術として、 USPATENT005632001Aに、 ファイアウォール を介してインタ一ネッ トに接続された複数の L A Nシステムに電子メー ルの配送するために、 配送先データベースを設け、 そのデータベースを 一元的に管理するための技術が開示されている。 このシステムは、 配送 先データベースの更新データを電子メールメッセージとして送信するよ うに構成されている。
発明の開示
本発明は、 所定の通信条件を満たす場合にアクセス可能とするァクセ ス制限部を有する第一のコンピュータシステムと、 別の第二のコンビュ —タシステムを含むネッ トワークシステム内でエージェントを転送する エージェント方法において、
エージェントを送信する第二のコンピュータシステムを認証する工程 と、 認証した第二のコンピュータシステムに対して第一のコンピュータ システムの所定の通信条件を送信する工程を有し、
第二のコンピュータシステムにより、 所定の通信条件を受信する工程 と、 所定の通信条件を記憶する工程と、 エージェントを生成する工程と、 所定の通信条件に従ってエージェントを送信する工程を有し、
第一のコンピュータシステムにより、 アクセス制限部を介してエージ ェントを受信する工程と、 エージェントを実行する工程を有することを 特徴とするものである。
また更に、 上記エージェント方法は、 更に、 エージェント発行ユーザ の認証を行なう工程を有することを特徴とするものである。
また更に、 第一のコンピュータシステムは、 複数の情報交換方法を使 用可能であり、
上記エージェント方法は、 更に、 第二のコンピュータシステムにより、 第一のコンピュータシステムの情報交換方法の特性に基づいて情報交換 方法を選択する工程を有することを特徴とするものである。 また更に、 第一のコンピュータシステムは、 エージェントを実行でき る複数のエージェント処理系を有し、
エージユントを生成する工程は、 エージユント処理系の特性に基づい てエージェント処理系を選択する工程と、 選択したエージェント処理系 の識別情報をエージェントの一部に書き込む工程を有し、
エージェントを実行する工程は、 エージェントの一部からエージェン ト処理系の識別情報を読み出す工程と、 識別情報で特定されるェ一ジ ント処理系へエージユントを転送する工程を有することを特徴とするも のである。
また更に、 エージェントを生成する工程は、 エージェント発行ユーザ の識別情報をエージェントの一部に書き込む工程を有し、
エージェントを実行する工程は、 エージェントの一部からエージェン ト発行ユーザの識別情報を読み出す工程と、 識別情報で特定されるエー ジェント発行ュ一ザのアクセス権に従ってサービスにアクセスする工程 を有することを特徴とするものである。
また更に、 上記エージェント方法は、 更に、 第一のコンピュータシス テムにより、 エージェント実行状況を送信する工程と、 第二のコンビュ ータシステムにより、 エージェント実行状況を受信する工程を有するこ とを特徴とするものである。
また更に、 上記エージェント方法は、 更に、 第二のコンピュータシス テムにより、 エージェントの少なく とも一部を暗号化する工程を有し、 第一のコンピュータシステムにより、 エージェントの暗号部分を復号化 する工程を有することを特徴とするものである。
また更に、 上記エージェント方法は、 更に、 複数の第一のコンビユー タシステムの所定の通信条件を統合する工程を有することを特徴とする ものである。 また更に、 第二のコンピュータシステムは、 複数の情報交換方法を使 用可能であり、
上記エージェント方法は、 更に、 第二のコンピュータシステムにより、 エージェントの送信に用いた情報交換方法の識別情報を含むヱ一ジェン > ト送信履歴を記憶する工程と、 エージェント送信履歴に基づいて情報交 換方法を選択する工程を有することを特徴とするものである。
また更に、 第二のコンピュータシステムを認定する工程は、 第三者認 証局により、 認証する工程を有することを特徴とするものである。
また更に、 上記エージェント方法は、 更に、 ユーザ認証データを送信 する工程と、 複数の第二のコンピュータシステムにより、 ユーザ認証デ —タを受信する工程と、 ユーザ認証データを記憶する工程を有し、 エージェント発行ユーザの認証を行なう工程は、 第二のコンピュータ システムにより、 ユーザ認証データを読み出す工程を有することを特徴 とするものである。
また更に、 上記エージェント方法は、 更に、 エージェント処理系の特 性データを統合する工程を有し、
上記エージェント処理系を選択する工程は、 統合されたエージェント 処理系の特性データを読み出す工程を有することを特徴とするものであ る。
また更に、 上記エージェント方法は、 更に、 エージェント実行状況を 統合する工程を有することを特徴とするものである。
また更に、 上記エージェント方法は、 更に、 情報交換経路情報に基づ いて管理情報転送経路を定義する工程と、 エージ ント実行状況の送信 先を管理情報転送経路に従って決定する工程を有することを特徴とする ものである。
また更に、 上記エージ-ント方法は、 更に、 情報交換経路情報に基づ いて管理情報転送経路を定義する工程と、 所定の通信条件の送信先を管 理情報転送経路に従って決定する工程を有することを特徴とするもので める。
本発明は、 所定の通信条件を満たす場合にアクセス可能とするァクセ ス制限部を有し、 他のコンピュータシステムと通信するコンピュータシ ステムにぉレ、て、
エージヱントを送信する他のコンピュータシステムを認証するコンビ ュ一タシステム認証部と、
認証した他のコンピュータシステムに対して所定の通信条件を送信す る通信条件送信部と、
アクセス制限部を介してエージェントを受信するエージェント受信部 と、
エージェントを実行するエージェント実行部を有することを特徴とす るものである。
本発明は、 所定の通信条件を満たす場合にアクセス可能とするァクセ ス制限部を有する他のコンピュータシステムと通信するコンピュータシ ステムにおいて、
他のコンピュータシステムの所定の通信条件を受信する通信条件受信 部と、
他のコンピュータシステムの所定の通信条件を記憶する通信条件記憶 部と、
他のコンピュータシステムで実行されるエージェントを生成するェ一 ジェント生成部と、
他のコンピュ一タシステムの所定の通信条件に従ってエージェントを 送信するエージェント送信部を有することを特徴とするものである。 キ に コンピュータシステムは、 複数のコンピュータシステムを 有するネッ トワークシステムを構成することを特徴とするものである。 図面の簡単な説明
図 1は、 本発明に係るコンピュータシステムのネッ トワーク構成図で ある。
図 2は、 本発明に係るサブネッ ト上のエージェントサービスプログラ ム群の構成図である
図 3は、 本発明に係るサブネッ トのハード構成図である。
図 4は、 本発明に係るエージェント処理系の機能構成図である。 図 5は、 本発明に係るエージェント機構ユーザー管理テーブル例の図 である。
図 6は、 本発明に係るユーザ一認証部の機能構成図である。
図 7は、 本発明に係るファイルシステムのコマンド例の図である。 図 8は、 本発明に係るファイルシステムセッション構成図である。 図 9は、 本発明に係る情報交換経路管理テーブル例の図である。 図 1 0は、 本発明に係るエージェントの構成図である。
図 1 1は、 本発明に係るリ ソース情報問い合わせ例の図である。 図 1 2は、 本発明に係るエージェン ト処理系属性問い合わせ例の図で ある。
図 1 3は、 本発明に係るサブネッ トワーク登録用情報例の図である。 図 1 4は、 本発明に係るサブネッ ト D参加後のエージェント機構の情 報交換経路管理テーブル例の図である。
図 1 5は、 本発明に係るサービスの管理情報の更新アルゴリズムの図 である。
図 1 6は、 本発明に係るエージェント実行状況問い合わせ例の図であ る。 図 1 7は、 本発明に係るシステム構成及びデータフローの概念図であ る。
図 1 8は、 本発明に係るレジス トリサーバーによるコンピュータシス テムの認証及び通信条件の送信を含む処理フローである。
図 1 9は、 本発明に係るエージェント送信側コンピュータシステムに よる通信条件の受信及び記憶を含む処理フローである。
図 2 0は、 本発明に係るエージェント送信側コンピュータシステムに よるエージヱントの生成及び送信を含む処理フローである。
図 2 1は、 本発明に係るエージェント実行側コンピュータシステムに よるエージェントの受信及び実行を含む処理フローである。
図 2 2は、 本発明に係るエージ ン卜の実行状況の統合を含む処理フ 口一である。 発明を実施するための最良の形態
以下、 本発明の実施の形態を説明する。
実施の形態 1
本発明は、 図 1 7のデータフローの概念図に示す構成上で処理が行わ れる。 本実施の形態では、 特に、 図 2 0に示すエージェント送信側コン ピュ一タシステム 1 7 0 2によるエージェントの生成及び送信を含む処 理フローと、 図 2 1に示すエージェント実行側コンピュータシステム 1 7 0 3によるエージヱントの受信及び実行を含む処理フロ一について説 明する。 以下、 具体的なネッ トワークシステムを想定して説明するが、 この例でェ一ジェント送信側コンピュータシステムのエージェント生成 部とェ一ジェント送信部に相当するのは、 後述するサブネッ ト B 1 0 3 のエージェント処理系 2 0 5であり、 エージェント実行側コンピュータ システム 1 7 0 3に相当するのは、 後述するサブネッ ト A 1 0 2のエー ジェント処理系 2 0 5である。
実施例として、 図 1に示すようなコンピュータシステム間のネッ トヮ ーク上で、 広域的なファイルシステムを提供する方法及びそれに用いる ネッ トワークシステムについて説明する。
図 1に示すコンピュータシステムのネッ トワークは、 例えば 1 0 0 0 人規模の会社で利用され、 サブネッ ト A 1 0 2、 サブネッ ト B 1 0 3、 サブネッ ト C 1 0 6、 サブネッ ト D 1 1 0は、 それぞれの拠点に設置さ れる L A Nを利用したコンピュータシステムに相当する。
サブネッ ト A 1 0 2とサブネット C 1 0 6の間は、 お互いに到達すベ き I P (インターネッ トプロ トコル) パケッ トを受けとるとオンデマン ドでモデム接続を行なうサーバー経由で一般公衆網 1 0 1に接続されて いる。
サブネッ ト A 1 0 2のユーザーは、 サブネッ ト A 1 0 2のコンビユー タ上で動作するアプリケーションプログラムと同様に、 サブネッ ト C 1 0 6のコンピュータ上で動作するアプリケーションプログラムにァクセ スすることができる。 また、 サブネッ ト C 1 0 6のユーザーは、 逆にサ ブネッ ト A 1 0 2のコンピュータ上で動作するアプリケーションプログ ラムにアクセスすることができる。 但し、 転送速度は、 同一サブネッ ト 内の場合に比べ約 1 / 1 0 0となり、 通信が集中した場合はさらに低速 となる。
サブネッ ト C 1 0 6とサブネッ ト D 1 1 0の間は、 高速な専用線 1 0 8で接続されており、 お互いのネッ トワークのコンピュータ同士は、 同 一のネッ トワーク上にある場合とほぼ同様に极ぅことができる。 但し、 利用者の運用により、 専用線のトラフィックが過重にならぬよう制限す る必要がある。
サブネ、ソ ト B 1 0 3は、 ファイアウォール 1 0 5を介してインタ一ネ ッ トにのみ接続されている。 ファイアウォール 1 0 5は、 S M T P (メ ール送信プロ トコル) に則った通信のみ接続を許すように構成されてい る。
同様に、 サブネッ ト A 1 0 2は、 ファイアウォール 1 0 4を介してィ ンターネッ トに接続されている。 また、 サブネッ ト D 1 1 0は、 フアイ ァウォール 1 0 9を介してインターネッ トに接続されている。 これらの ファイアウォール 1 0 4, 1 0 9は、 いずれもファイアウォール 1 0 5 と同様に S M T Pに則った通信のみ接続を許すように構成されている。 携帯端末 A 1 0 7は、 モデムを介し公衆網経由でサブネッ ト A 1 0 2 あるいはサブネッ ト C 1 0 6に接続することができる。 また、 インター ネッ ト接続サービスによって公衆網経由でィンターネッ トに接続するこ とができる。 携帯端末 B 1 1 1も同様にインターネッ トに接続すること ができる。
図 2に示すサブネッ ト上のエージェントサービスプログラム群の構成 を説明する。 経路データベース 2 0 1、 認証サーバー 2 0 2、 リソース データべ一ス 2 0 3、 エージェントモニタ 2 0 4、 エージェント処理系 2 0 5、 ユーザー認証 Z管理 2 0 6は、 いずれもソフトウェアによるサ 一ビスであって、 サブネッ ト中のいずれかのコンピュータ上で実行され る。
経路データべ一ス 2 0 1は、 図 9に示すような情報交換経路管理テー ブルを管理する。 認証サーバ一 2 0 2は、 特定サブネッ トがこのネット ワークシステムに参加するものであることを認証する。 リソースデータ ベース 2 0 3は、 図 1 1に示すようなリ ソース情報を管理する。 エージ ェントモニタ 2 0 4は、 エージェント実行状況をモニタリングする。 ェ —ジェント処理系 2 0 5は、 エージェントの処理に必要な機能を提供す る。 ユーザ一認証 Z管理 2 0 6は、 図 5に示すようなエージェント機構 ユーザー管理テーブルを管理する。
エージェント処理系間を移動可能な実行オブジェク トである本発明の エージェントは、 エージェント処理系 2 0 5が提供する A P I (アプリ ケーシヨンプログラミングインターフェース) を介して、 サブネッ ト上 で稼動しているこれらサービス 2 0 1〜2 0 6を利用することができる。 図 3に示すサブネッ ト A 1 0 2のハード構成を例としてサブネッ トの ハード構成をについて説明する。 サブネッ トの L A N 3 0 2は、 フアイ ァウォール 1 0 4を介してインターネッ トに接続されている。 また、 リ モートアクセスサーバー 3 0 1を介して公衆網に接続されている。 更に、 L A N 3 0 2には、 サーバ一 3 0 3〜 3 0 7が接続されている。 サーバ 一 3 0 3は、 経路データべ一ス 2 0 1 と認証サーバー 2 0 2を、 サーバ — 3 0 4は、 リ ソースデータベース 2 0 3 とエージェントモニタ 2 0 4 を、 サーバー 3 0 5は、 エージェント処理系 2 0 5とユーザー認証/管 理 2 0 6をそれぞれ実行する。 サーバー 3 0 6はファイルサーバ一であ り、 サーバー 3 0 7はデータベースサーバーである。 加えて、 L A N 3 0 2には、 P C (パーソナルコンピュータ) クライアント 3 0 8の他多 数の P Cクライアントが接続されている。
図 4にエージユント処理系 2 0 5の機能構成を示す。
エージェント処理系 2 0 5は、 ユーザー認証部 4 0 1、 エージェント 移動部 4 0 2、 移動方式選択部 4 0 3、 情報交換部 4 0 4、 経路情報問 い合わせ部 4 0 5、 リ ソース情報問い合わせ部 4 0 6、 暗号/"復号化部 4 0 7、 エージェント実行状況報告/問い合わせ部 4 0 8及び実行部 4 0 9の各部分から構成されている。
ユーザー認証部 4 0 1は、 ユーザーがアプリケーションプログラム (例えばファイルシステム) を通してエージェントをエージェント処理 系に投入する際に、 そのユーザーの認証を行なう (ステップ 2 0 0 1 ) 。 エージェント移動部 402は、 エージ工ントの必要に応じて行われるェ 一ジェント処理系間のエージェントの移動の際に利用される (ステップ 2006, 2 1 0 1 ) 。 移動方式選択部 403は、 エージェント処理系 間のエージェントの移動に最適な移動方式を選択する (ステップ 200 5) 。 情報交換部 404は、 エージェントの移動やデータ送受信のため に情報交換を行なう (ステップ 2006, 2 1 0 1 , 1 90 1, 1 90 4, 1 905, 1 908, 1 909, 1 9 1 2, 1 9 1 3, 1 9 1 6, 1 9 1 7, 1 9 20, 1 8 1 3〜 1 8 1 6, 2 1 1 0, 2 1 1 2, 2 1 1 4, 2 1 1 6, 220 1 , 2205 ) 。 経路情報問い合わせ部 405 は、 情報交換に最適な情報交換経路の選択するために経路情報の問い合 わせを行なう (ステップ 1 8 1 1, 1 8 1 2, 1 903, 1 907, 1 9 1 1 , 1 9 1 5, 1 9 1 9, 2004) 。 リソース情報問い合わせ部 406は、 ェ一ジェント処理系上でユーザーが利用できるファイルシス テムやデータベースなどのリソースに関する情報の問い合わせを行なう (ステップ 20 1 5) 。 暗号/復号化部 40 7は、 エージェントの移動 やデータ送受信のための情報交換の際に秘匿化のために送信前のデータ を暗号化し、 受信後にそれを復号化する (ステップ 2003, 2 1 0 2) 。 エージェント実行状況報告 Z問い合わせ部 408は、 本システム におけるエージェントの実行状況問い合わせを行なう (ステップ 2 1 0 4, 2 008) 。 実行部 409は、 エージェントを実行する (ステップ 2 1 0 3) 。
次に、 本発明によるエージェント方式により実現する広域的なフアイ ルシステムの動作を例として、 本システムにおけるエージェント処理系 と各サービスの動作を説明する。 但し、 現段階でサブネッ ト D 1 1 0は 本エージェント機構システムに登録されていない。 サブネッ ト D 1 1 0 は、 後述する実施例によって本エージェント機構への登録される。 ファイルシステムの動作は、 まずファイルシステムにアクセス可能な エージェント処理系に対してエージェントを送り込み、 次にエージェン ト機構によるセキュアな通信機構を利用してエージェント間で peer- to - peerセッションを構成して行なわれる。 つまり、 必要なサイ トに専 用のファイルサーバーをィンストールするようにして動作する。
エージェントを送出するのに先立って、 本システムでのユーザー認証 を行なう (ステップ 2 0 0 1 ) 。 エージェント処理系は、 エージェント の口一ドと実行のために、 ユーザーィンターフェースと A P Iを用意し ているが、 そのうちユーザーインターフェースを利用する場合には、 ェ ージェント処理系は、 エージェント処理系へのログイン時にパスワード の入力を促し、 入力されたパスワードを照合し、 適正なユーザーである ことを認証する。 一方、 アプリケーションプログラムが A P Iを利用す る場合には、 エージェント処理系は、 A P Iへの引数であるパスワード を用いて、 同様に照合し、 適正なユーザーであることを認証する。 図 5にエージェント機構ユーザー管理テーブルの例を示す。 このテー ブルは、 エージェント処理系がユーザー認証のために利用するデータべ ースのテーブルであり、 ユーザー認証/管理 2 0 6により管理されてい る。 このテーブルには、 ユーザー名 5 0 1、 ハッシュ関数により暗号化 されたパスワード 5 0 2、 暗号用の共通秘密鍵 5 0 3、 このシステムに おけるグループ I D 5 0 4、 同じくユーザー I D 5 0 5の各項目がユー ザ一毎に備えられている。 尚、 ユーザー名 5 0 1は、 システムで一意と なるように、 ユーザーの名前とユーザー登録したエージェント処理系が 動作するホス ト名とサブネッ ト名で構成される。
エージェント処理系 2 0 5のユーザー認証部 4 0 1は、 このテーブル をサブネッ トのユーザー認証 Z管理機能 2 0 6から取得して、 ユーザー 認証に用いる (ステップ 2 0 0 9 ) 。 尚、 各サブネッ トのユーザー認証 Z管理 206は、 後述するプロ トコルにより、 いずれも同一の最新テー ブルを維持するようになっている (ステップ 1 802〜 1 804, 1 8 1 4, 1 905〜 1 908) 。
図 6にエージェント処理系 205のユーザー認証部 40 1の機能構成 を示す。 ユーザー認証部 40 1は、 更新部 60 1 と認証実行部 6 02か ら構成されている。 更新部 60 1は、 このシステムのスーパーバイザの 権限でユーザーの登録と削除を行ない (ステップ 1 802〜 1 804) 、 各サブネッ トのユーザー認証/管理機能 206との更新データの送受信 を行なうように構成されている (ステップ 1 8 1 4, 1 905, 1 90 8) 。 一方、 認証実行部 6 02は、 ユーザ一認証を行なうように構成さ れている。 具体的には、 ユーザー名とパスワードとともに認証要求を受 けると、 それらを用いてユーザー照合を行ない、 認証結果を返す (ステ ップ 200 1 ) 。
本ェ一ジェント機構を利用して、 図 7に示すコマンドを実行すると、 図 8に示すようなファイルシステムセッションを構成する。
図 7に示すコマンドは、 サブネッ ト B 1 03上のクライアント P C 8 08で実行され、 クライアント P C上の O S (オペレーティングシステ ム) の一部であるファイルシステム 804に対して、 利用したい他のフ アイルシステムを割りつけるコマンドである。 具体的には、 「サブネッ ト A 1 0 2のファイルサーバー 80 1の動作するマシン A 805の /exportl というディレク トリをクライアント PC 808上の
/netA/machineA/exportlに割りつける。 」 ことを意味するコマンドで ある。 このコマンドを実行することにより、 OSは、 peer- to- peer形 態でファイルデータの送受信を行なうエージェントをサブネッ ト B 1 0 3のエージェント処理系に送出する。 この送出は、 エージェント処理系 が用意するリスニングポート経由で行われる。 クライアント側エージェント 8 0 3は、 O Sのファイルシステム 8 0 4のクライアント機能との通信路をソケッ トにて確保する。 クライアン ト側エージェント 8 0 3は、 ピアエージェント 8 0 2を生成して (ステ ップ 2 0 0 2 ) 、 それをエージェント機構を用いて目的地へ送出する (ステップ 2 0 0 6 ) 。 目的地となるエージェント処理系には、 エージ ェント実行状況、 システムのリソース、 通信路の特性などの問い合わせ 結果から判断してエージェントの実行に最も適したエージェント処理系 が選択される (ステップ 2 0 1 0 ) 。 ピアエージェントは、 peer- to - peerの一方の peerとなるエージェントであるが、 詳しくは図 8に基づ いて後に説明する
図 8に示すファイルシステムセッションの構成について説明する。 マ シン A 8 0 5は、 ファイルサ一バー 8 0 1が動作するサブネッ ト A 1 0 2上のサーバーマシンである。 マシン C 8 0 6は、 ピアエージェント 8 0 2を実行するエージェント処理系が動作するサブネッ ト A 1 0 2上の サーバ一マシンである。 クライアント P C 8 0 8は、 mountコマンドを 発行したサブネッ ト B 1 0 3上のクライアント P Cであって、 〇 Sの一 部としてファイルシステム 8 0 4が動作している。 マシン A 8 0 7はク ライアント側ェ一ジェントを実行するエージェント処理系が動作するサ ブネッ ト B 1 0 3上のサーバーマシンである。
続いて、 クライアント P C上のアプリケーションプログラムから
/netA/machineA/export l以下のファイルへのアクセスする動作につい て説明する。
このようにしてセッションが確立し、 mountコマンドが終了すると、 〇Sのファイルシステム 8 0 4は、 クライアント P C上のアプリケーシ ヨンプログラムに対して/ netA/machineA/export l以下のファイルへの アクセス 許す。 アプリケーションプログラムが、 〇 Sのファイルシス テム 8 0 4に対してファイル生成 Z削除 読み出し/更新やディレク ト リ参照などの命令を発行すると、 O Sのファイルシステム 8 0 4は、 そ の命令に関するデータを同一サブネッ ト上のクライアント側エージェン ト 8 0 3に送信する。
クライアント側エージェント 8 0 3は、 更にその命令に関するデータ をピアエージェント 8 0 2に転送する。 クライアント側エージェント 8 0 3は、 この転送の為に適した通信経路を選択し、 暗号化によるセキュ ァな通信方法を用いて転送する。
ピアエージェント 8 0 2は、 ファイルサーバー 8 0 1のクライアント として、 その命令に関するファイル操作 (例えばファイル生成/削除 読みだし/更新、 ディレク トリ参照など) を行なう。 ピアエージェント
8 0 2は、 そのファイル操作の結果をエージェント 8 0 3に転送する。 エージェント 8 0 3は、 更に O Sのファイルシステム 8 0 4にそのフ アイル操作の結果を転送する。 O Sのファイルシステム 8 0 4は、 更に そのファイル操作の結果をアプリケーションプログラムに返す。 以上で、 アプリケーションプログラムが O Sのファイルシステム 8 0 4に対して 発行した命令に対する一連の処理は、 完了する。
尚、 エージェント処理系が利用できるサービス (例えば、 O Sのファ ィルシステム 8 0 4 ) に関してアクセス権が設定されている場合には、 エージェント中のオーナー名 1 0 0 4からエージェント発行者を特定し, そのエージェント発行者の権限でそのサービスにアクセスする (ステツ プ 2 1 0 8 ) 。
本発明によるェ—ジヱント機構は、 概略として上述のファイルシステ ムの例のように動作する
続いて、 特にエージェント移動方法の選択 (ステップ 2 0 0 5 ) 、 ェ ージェントの生成 (ステップ 2 0 0 2 ) 、 エージェント処理系の選択 (ステップ 20 1 0) 、 エージェントの移動 (ステップ 2006, 2 1 0 1 ) 及びサービスの開始 (ステップ 2 1 03) について詳説する。 まず、 エージェント移動方法の選択 (ステップ 2005) について説 明する。
図 9に情報交換経路管理テーブル例を示す。 このテーブルは、 サブネ ッ ト間の情報交換経路に関する情報を管理するためのデータベースのテ 一ブルであり、 経路データベース 20 1によって管理されている。 この テーブルには、 各サブネッ ト間の情報交換経路 (例えば、 ライン 90 1 に示す A— B、 ライン 902に示す A— C、 ライン 903に示す B— C) 毎に、 情報交換方式、 標準転送速度や動的転送速度などの特性に関 する項目が設けられている。
エージェントは、 エージェント処理系の経路情報問い合わせ部 405 を介して、 経路データベース 20 1に問い合わせることによって、 この テーブルの情報を得る (ステップ 2004) 。 そして、 エージェントは、 エージユントの移動やデータの送受信のためとして最適な情報交換経路 を選択する (ステップ 2005, 20 1 3) 。
サブネッ ト B 1 03上のクライアント側エージェント 803がサブネ ッ ト A 1 02にピアエージェントを送出する場合を例とすると、 本テー ブルのライン 90 1に示す A— Bのェントリから、 この送出の経路とな る A—Bのデータ交換手段は SMTPによる通信方式であり、 最新の転 送速度実績は 38 k b p sであることがわかる。 このように、 送信に用 いた情報交換経路とその送信の実績を含む送信履歴を記憶し、 次の選択 の判断要素とすることもできる (ステップ 200 7, 20 1 4) 。
尚、 サブネッ トの中をドメインに分けてエージェント処理系を管理す る等の事情がある場合には、 情報交換経路を更に階層化することも考え られ得る。 また、 エージェントに替えて、 エージェント処理系が自動的 に情報交換経路を選択する構成にすることも考え得る。
次に、 エージェントの生成について説明する。
図 1 0にエージェントの構成を示す。 エージェントは、 管理情報 (サ ブネッ ト名 1 0 0 1、 マシン名 1 0 0 2、 依存リス ト 1 0 0 3、 オーナ 一名 1 0 0 4 ) と実行オブジェク ト 1 0 0 5から構成されている。 サブネッ ト名 1 0 0 1は、 エージェント処理系が動作するサーバーマ シンの属するサブネッ ト名である (ステップ 2 0 1 1 ) 。 マシン名 1 0 0 2は、 エージェント処理系が動作するサーバーのマシン名である (ス テツプ 2 0 1 1 ) 。 依存リス ト 1 0 0 3は、 エージェントが動作するの に必要なリソースやエージェント処理系の能力等の依存条件を示したリ ス トである。 オーナー名 1 0 0 4は、 エージェントの所有者を示すユー ザ一 I Dである (ステップ 2 0 1 2 ) 。 これらの管理情報は、 エージェ ント生成時に与えられる (ステップ 2 0 0 2 ) 。
実行オブジェク ト 1 0 0 5は、 エージェントとして実行するオブジェ ク ト部分である。 尚、 実行オブジェク ト 1 0 0 5は、 ユーザー毎に登録 されている共通秘密鍵 5 0 3とエージェント機構に共通なアルゴリズム により暗号 Z復号化される (ステップ 2 0 0 3, 2 1 0 2 ) 。
次に、 ピアエージェントの移動先として最適なエージェント処理系を 選択する動作について説明する (ステップ 2 0 1 0 ) 。 クライアント側 エージェント 8 0 3は、 経路データベース 2 0 1に対する問い合わせと 同様に、 エージェント処理系のリソース情報問い合わせ部 4 0 6を介し て、 リソースデータベース 2 0 3に対して問い合わせを行なう (ステツ プ 2 0 1 5 ) 。
図 1 1にリ ソース情報の問い合わせの例を示す。 ピアエージェントの 実行のために必要な依存条件が、 サブネッ ト A 1 0 2のファイルサーバ 一 machineAのファイルに対してアクセスできることであることを例と して説明する。
ライン 1 1 0 1は、 リソースデータベース 2 0 3に対する問い合わせ のコマンドである。 その意味は、 「サブネッ ト A 1 0 2のファイルにァ クセスできるエージェント処理系の検索」 である。 ライン 1 1 0 2〜 1 1 0 4は、 それに対する応答である。 ライン 1 1 0 2の意味は、 「サブ ネッ ト Aの machineAは口一カル」 である。 つまり、 エージェント処理 系を備えているサブネッ ト A 1 0 2の machineAは、 ファイルサーバー 自身であることを意味する。 ライン 1 1 0 3の意味は 「machineBは S M B (サーバーメッセージブロック) クライアントとしてアクセス可 能」 である。 ライン 1 1 0 4の意味は、 i machineCは N F S (ネッ ト ワークファイルシステム) クライアントとしてアクセス可能」 である。 今回生成するピアエージェントは、 エージェント処理系が提供する N F Sクライアントインターフェースを利用する機能しか備えていないの で、 移動すべきエージェント処理系は machineCとなる (ステップ 2 0 1 0 ) 。 従って、 エージェントは、 ピアエージェントの移動先として最 適なエージェント処理系に、 machineCを選択し、 管理情報のマシン名 1 0 0 2に登録する (ステップ 2 0 1 1 ) 。
尚、 エージユント処理系のリソース情報問い合わせ部 4 0 6を介して、 リソースデータべ一ス 2 0 3に対して、 エージェント処理系がどのよう なリソースを備えているか (属性) を問い合わせること、 つまり逆引き もできる。 図 1 2にエージェント処理系 machineCに関する属性を問い 合わせた結果を示す。 ライン 1 2 0 1は、 ローカルファイルへアクセス できることを示す。 ライン 1 2 0 2は、 S M Bクライアントとしてのァ クセスができることを示す。 ライン 1 2 0 3は、 N F Sクライアントと してのアクセスができることを示す。 ライン 1 2 0 4は、 データベース へのアクセスはできないことを示す。 ライン 1 2 0 5は、 本エージェン ト処理系で利用できるメモリ容量が 2 0 M Bであることを示す。 ライン 1 2 0 6は、 本エージェント処理系の処理速度がおよそ 1 M I P Sであ ることを示す。 ライン 1 2 0 7は、 現在のエージェント処理系の負荷が 3 2 %であることを示す。
上述のようにして、 送出するピアエージェントに管理情報の設定が完 了した後にピアエージェントの移動を行なう (ステップ 2 0 0 6, 2 1 0 1 ) 。
クライアント側エージェント 8 0 3は、 エージェント処理系のエージ ェント移動部 4 0 2に対して、 上述のように選択した S M T Pによる通 信方式で、 サブネッ ト A 1 0 2の machineCのエージェント処理系にピ ァエージヱントを送出するように依頼する。 エージェント移動部 4 0 2 は、 S M T Pによる情報交換部 4 0 4を選択し、 その情報交換部 4 0 4 に移動先と移動するエージェント (本システムにおける広義のオブジェ ク ト) を渡す。
情報交換部 4 0 4は、 サブネッ ト A 1 0 2の machineCの S M T P通 信部がコネクション生成用のポートとして用意するメールァカウント
「agentl istener achineC. netAj にコネクション要求メ ッセーシを送 信する。 この時、 クライアント側で使用する S M T P通信用のメールァ カウント名 「agentporterl@machneA. netB」 も併せて送信する。 そして、 サーバー側の S M T P通信用メールアカウント
「agentporterl@machineC. netA」 得る。
このようにして、 お互いのメールァカウントを確保した状態が S M T P通信手段によるコネクション状態であり、 以後双方ともに、 このコネ クシヨンを利用して、 通信パケッ トをメールメッセージとし、 送受信す る。 エージェント移動部 4 0 2は、 オブジェク トに付随する領域にこの オブジェク トのタイプがエージユントであることをマークし、 実行ォブ ジェク ト 1 0 0 5をユーザーの共通秘密鍵にて暗号化して (ステップ 2 0 0 3 ) 、 エージェントを情報交換部 4 0 4に渡す。 情報交換部 4 0 4 は、 受けとつたエージェントをォブジェク トデータとしてバケツ トに分 解し、 メールメッセージとして送信する (ステップ 2 0 0 6 ) 。 このと き、 外部からの攻撃に備えメッセージにデジタル署名を付しても良い。 サブネッ ト A 1 0 2の machineCのエージェント処理系の情報交換部 4 0 4はエージェントのォブジェク トデータのバケツ トを集積し、 ォブ ジヱク トのタイプからエージェントであることを判別し、 そのオブジェ ク トデータをエージェント処理系のエージヱント移動部 4 0 2に渡す (ステップ 2 1 0 1 ) 。 このとき、 管理情報のマシン名 1 0 0 2を読み 出し、 マシン名によって特定されるエージェント処理系にエージェント を転送することもできる (ステップ 2 1 0 5, 2 1 0 6 ) 。
エージヱント移動部 4 0 2は、 管理情報のオーナー名 1 0 0 4からュ 一ザ一を特定し、 暗号/復号化部 4 0 7に、 そのユーザーの共通秘密鍵 を用いて、 暗号化されている実行オブジェク ト 1 0 0 5を復号化させる。 その後、 実行オブジェク トはロードされ、 ピアエージェント 8 0 2とし て実行を開始する。
このとき、 ピアエージェント 8 0 2は、 クライアント側エージェント 8 0 3に対して、 ピアエージェント 8 0 2が実行を開始した旨のメッセ ージと確保したメールアカウントア ドレスを送信する。 この送信は、 移 動したエージェントがあらかじめ内部データとして持っていたクライァ ント側エージ工ント 8 0 3の通信用メ一ルァカウントァドレスを指定し て、 情報交換部 4 0 4に命令することにより行われる。 送信命令を受け た情報交換部 4 0 4は、 コネクションが生成されたものとみなして、 コ ネクシヨン状態となる。 一方、 クライアント側エージェント 8 0 3は、 既にレシーブ待ち状態であり、 ピアエージヱント 8 0 2から処理開始メ ッセージを受けとると、 ピアエージェント 8 0 2の通信用メールァカゥ ントァ ドレスを情報交換部 4 0 4に登録し、 ファイルシステムのセッシ ョ ン生成が完了した旨を O Sのファイルシステム 8 0 4に通知する。 これ以後、 クライアント P C 8 0 8からのファイルアクセスサービス が利用可能となる。
実施の形態 2
本実施の形態では、 特に、 図 1 8に示すレジストリサーバーによるコ ンピュータシステムの認証及び通信条件の送信を含む処理フローと、 図 1 9に示すエージェント送信側コンピュータシステムによる通信条件の 受信及び記憶を含む処理フローについて説明する。
以下、 具体的なネッ トワークシステムを想定して説明するが、 この例 でレジストリサーバー 1 7 0 1に相当するのは、 後述するサブネッ ト A 1 0 2の経路データベース 2 0 1である。 また、 エージェント送信側コ ンピュ一タシステムの条件受信部と条件記憶部に相当するのは、 新規に 認証されるサブネッ ト D 1 1 0の経路データベース 2 0 1、 既に認証さ れているサブネッ ト B 1 0 3の経路データベース 2 0 1、 及び同じく既 に認証されているサブネッ ト C 1 0 6の経路データベース 2 0 1である。 実施例として、 エージェント機構に対して新たなサブネッ トを参加さ せる方法について説明する。 ここでは、 図 1に示すコンピュータシステ ムのネッ トワークのうちサブネッ ト A 1 0 2とサブネッ ト B 1 0 3とサ ブネッ ト C 1 0 6のみが参加するエージェント機構を想定し、 それに対 して新たなサブネッ ト D l 1 0を参加させる場合について説明する。 サブネッ ト D 1 1 0のシステム管理者は、 エージェント機構に参加す るのに必要なソフ トウェアを入手する。 そして、 エージェント機構のシ ステム管理者に、 レジス トリサーバーへのサブネッ ト D 1 1 0に関する アカウントの新設を依頼する。 この例では、 エージェント機構のシステ ム管理者は、 サブネッ ト A 1 0 2の管理者が兼ねる。 また、 レジストリ サーバ一は、 エージェント機構に参加する各サブネッ トのレジストリ情 報を管理するサーバーであって、 この例では、 サブネッ ト A 1 0 2の経 路データベース 2 0 1が兼ねる。
サブネッ ト D 1 1 0のシステム管理者は、 必要なソフトウエアを起動 し、 それに従って図 1 3に示すようなサブネッ トワーク登録用情報を作 成する。 サブネッ ト D 1 1 0のシステム管理者は、 レジストリサーバー へのァカウント新設完了の通知を受けとつた後に、 このサブネッ トヮー ク登録用情報をレジストリサーバーへ送信する。 尚、 このとき、 認証局 であるサブネッ ト A 1 0 2上の認証サーバー 2 0 2は、 レジストリサ一 バーに新設されたァカウントを参照してサブネッ ト D 1 1 0に関する正 当性を確認する (ステップ 1 8 0 1 ) 。 また、 サブネッ トワーク登録用 情報は送信の前に喑号化される。
この例では、 サブネッ ト Cを経由して T C Pにて送信することを想定 しているが、 新たなサブネッ トの参加時に送信手段がない場合には、 文 書ゃフロッピーディスク等のメディアを介して、 ェ一ジェントシステム 管理者にサブネッ トワーク登録用情報を伝え、 直接入力するように依頼 しても良い。
このようにサブネッ トでのサービス導入時にレジス トリサーバーに報 告されるサブネッ トワーク登録用情報には、 ライン 1 3 0 1, 1 3 0 2 のサブネッ トの通信接続形態 (ステップ 1 8 0 5 ) 、 ライン 1 3 0 3の 経路データべ一ス動作ホスト、 ライン 1 3 0 4のリ ソースデータベース 動作ホス ト、 ライン 1 3 0 5のエージェントモニタ動作ホス ト、 ライン 1 3 0 6のユーザー認証 管理サーバー動作ホストが含まれる。
ライン 1 3 0 1は、 このサブネッ トが S M T Pのみ通過させるフアイ ァウォールを介して、 標準データ転送速度 3 2 K b p sでィンタ一ネッ トに接続されていることを示している。 ライン 1 302は、 このサブネ ッ トがサブネッ ト C 1 06に専用線接続されており、 特に通信プロ トコ ルの制限なく標準データ転送速度 1 0Mb p sで接続されていることを 示している (ステップ 1 805) 。
ライン 1 303は、 経路データベース 20 1が動作するホスト名 (サ ブネッ ト D 1 1 0の machineA) を示しているが、 この時動作している 経路データベース 20 1上では、 既に各経路がライン 1 30 1, 1 30 2で報告する通信形態 (SMT Pと TC P) のリスニングポートを用意 して、 リスニング状態になっている。
このように、 サブネッ ト D 1 1 0がシステムに参加することにより、 図 9に示すエージェント機構の情報交換経路管理テーブルは、 図 1 4に 示すように変更される (ステップ 1 806, 1 807) 。 具体的には、 図 1 4に示すように、 ライン 1 404に示す A— D、 ライン 1 405に 示す B— D、 ライン 1 406に示す C一 Dの各経路情報ェントリが追加 される。
そして、 レジストリサーバー (サブネッ ト A 1 02の経路データべ一 ス 20 1 ) は、 サービス依存関係に従って、 サブネッ ト B 1 03の経路 データべ—ス 20 1 とサブネッ ト C 1 06の経路データベース 20 1に この情報交換経路管理テーブルの変更を通知する (ステップ 1 8 1 2, 1 8 1 5) 。
ここで、 サービス依存関係とは、 各サブネッ ト間で同様に提供される サービス (例えば、 エージェント稼働状況データの採集および配布) 同 士の依存関係を定義したものである。 これによつて、 同一内容を担保す べき管理情報の転送経路が決定される。 尚、 このサービス依存関係は、 情報交換経路情報に基づいて動的に定義される (ステップ 1 8 1 1 ) 。 更に、 レジス トリサーバー (サブネッ ト A 1 02の経路データべ一ス 20 1) は、 リスニング状態にあるサブネッ ト D 1 1 0の経路データべ ース 20 1に、 図 1 4に示す情報交換経路管理テーブルを送信する (ス テツプ 1 8 1 2, 1 8 1 5) 。 このときの経路は、 ライン 1 402に示 す A— Cとライン 1 406に示す C_Dの各経路情報ェントリの内容か ら判断して、 サブネッ ト C 1 06経由で TC Pにて送信する経路を用い る (ステップ 1 8 1 2, 1 8 1 5, 1 909〜 1 9 1 2) 。 またこのと き、 サービスの依存関係も併せて送信される (ステップ 1 8 1 3, 1 9 0 1〜 1 904) 。
このようにして、 サブネッ ト D 1 1 0のサービスは、 サービス依存関 係上サブネッ ト C 1 06のサービスの直下に位置するように定義され (ステップ 1 8 1 1 ) 、 サブネッ ト D 1 1 0の経路データベース 20 1 は、 上述の情報交換経路管理テーブルとサービス依存関係を受け取り
(ステップ 1 909, 1 9 1 0, 1 90 1, 1 902) 、 これらを用い るサービスを開始する。
経路データベース 20 1の管理情報として情報交換経路管理テーブル が更新されるように、 他のサービスについても同様のメカニズムで管理 情報が更新される。 具体的には、 リ ソースデータベース 203の管理す るリソース情報 (図 1 1 ) 、 エージェントモニタ 204が管理するエー ジェント実行状況 (図 1 6) 、 ユーザー認証/管理 206の管理するュ 一ザ一管理テーブル (図 5) の各情報が更新の対象となる (リソース情 報の更新については、 ステップ 1 808〜: L 8 1 0, 1 8 1 6, 1 9 1 3〜1 9 1 6、 エージェント実行状況の更新については、 ステップ 22 0 1〜 2205, 1 9 1 7〜 1 9 20、 ユーザー管理テーブルの更新に ついては、 ステップ 1 802〜 1 804, 1 8 1 4, 1 905〜 1 90 8)
更新の手順は、 以下の通りである。 まずレジストリサーバー (サブネ ッ ト A 1 02の経路データベース 20 1 ) は、 サブネッ ト A 1 02の各 サービスが動作するホス トにサブネッ ト D 1 1 0の参加を通知する。 次 に、 通知を受けた各サービスは、 必要に応じて各管理情報を更新し (ス テツプ 1 808〜: L 8 1 0, 220 1〜 2 203, 1 802〜 1 80 4) 、 サービス依存関係に従って (ステップ 1 8 1 1, 1 8 1 2, 22 04) 、 サブネッ ト B 1 03とサブネッ ト C 1 06の各サービスに管理 情報の変更を通知する (ステップ 1 8 1 6, 2205, 1 8 1 4) 。 更 に、 サブネッ ト C 1 06の各サービスは、 サブネッ ト D 1 1 0の初期デ ータ待ち状態の各サービスつまり、 ライン 1 304に示すホストで動作 するリ ソースデータベース 203、 ライン 1 305に示すホス トで動作 するェ一ジェントモニタ 204、 及びライン 1 306に示すホス卜で動 作するユーザー認証 管理 206に、 初期データとなる各管理情報を送 信する (ステップ 1 9 1 6, 1 920, 1 908) 。 このとき、 経路デ ータベース 20 1の場合と同様に、 サブネッ ト D 1 1 0のサービスがサ ブネッ ト C 1 06のサービスの直下に位置するように定義したサービス 依存関係も併せて送信される (ステップ 1 904) 。
サブネッ ト D 1 1 0の各サービスは、 これらの管理情報とサービス依 存関係を受信した後に (ステップ 1 90 1, 1 905, 1 909, 1 9 1 3, 1 9 1 7) 、 各サービスを開始する。 尚、 この例では、 すべての サービスにおいて、 サブネッ ト A 1 02のサービスがサービス依存関係 上の最上位に登録されている (ステップ 1 8 1 1) 。
上述のようにして、 新たに登録したサブネッ ト D 1 1 0上の各サービ スが開始した後に、 エージェント処理系を起動する。 エージェント処理 系の起動は、 エージェント処理系を実行するホス トの管理者によって行 なわれる。 ホス ト管理者は、 サブネッ ト D 1 1 0のリソースデータべ一 ス 203とエージェントモニタ 204のリスニングポートとリソース情 報を与えて、 エージェント処理系プログラムを起動する。 リソース情報 は、 図 1 2に示すエージェント処理系属性と同様の項目を有する。 エージェント処理系プログラムは、 初期化処理として、 サブネッ ト D 1 1 0のリ ソースデータベース 2 0 3 とエージェントモニタ 2 0 4にリ ソース情報を送信して、 エージェント処理系の新たな参加を報告する。 このとき、 リ ソースデータベース 2 0 3への送信は、 リ ソース情報問い 合わせ部 4 0 6を介して行われる。 また、 エージェントモニタ 2 0 4へ の送信は、 エージユント実行状況報告 問い合わせ部 4 0 8を介して行 われる。
新たなエージェント処理系の参加の報告を受けたリソースデータべ一 ス 2 0 3とェ一ジェントモニタ 2 0 4は、 サービス依存関係上最上位に あるサブネッ ト A 1 0 2のリ ソースデータベース 2 0 3とエージェント モニタ 2 0 4にその参加を報告する。 この報告は、 前述の更新と同様の 手順で各サブネッ トのサービスに通知される。
上述のように、 各サブネッ トのサービスは、 転送される情報に基づい て次々に管理情報の更新を繰り返す。 そこで、 図 1 5にサブネッ ト毎に サービスの管理情報を更新するアルゴリズムを示す。
図 1 5では、 当初、 管理情報の更新を受け入れるサブネッ トのサービ スは、 ステップ 1 5 0 1の管理情報更新要求待ち受け状態にある。 この サービスは、 管理情報の変更の通知を受けると、 ステップ 1 5 0 2で自 らのサービスのための管理情報の更新を行なう。 その後ステップ 1 5 0 3で、 サービス依存関係上直下に未更新のサービスがあるかを判断し、 無い場合には他のサービスに対して管理情報の変更を通知することなく 処理を終了する。 一方、 未更新のサービスがある場合には、 ステップ 1 5 0 6で、 そのサービスが管理情報更新の要求元のサービスではないこ とを確認の上、 ステップ 1 5 0 7でその未更新のサービスに対して管理 情報の変更を通知する。 これらの処理をサービス依存関係上上位のサー ビスから下位のサービスの方向へ連鎖的に継続することによって、 全て のサブネッ トのサ一ビスの管理情報を更新することができる。
尚、 エージェント機構に対して新たなエージェント処理系を追加する 場合に、 第三者認証局からデジタル署名を取得し、 このデジタル署名を 用いてエージェント処理系を登録し、 認可を得てからエージェント処理 系の処理を開始するようにすることもできる (ステップ 1 8 1 7 ) 。 実施の形態 3
本実施の形態では、 特に、 図 2 1に示すステップ 2 1 0 4のエージ工 ント実行状況の送信の処理フローと、 図 2 2に示すエージェントの実行 状況の統合を含む処理フローと、 図 1 9に示すステップ 1 9 1 7〜1 9 1 2 0のエージェント実行状況の転送の処理フローと、 図 2 0に示すス テツプ 2 0 0 8のエージヱント実行状況の読み出しの処理について説明 する。
実施例として、 アプリケーションプログラムの負荷分散のために、 本 発明によるエージェント機構を利用する場合を説明する。 負荷分散は、 例えば計算中心の処理を行なうアプリケーションプログラムに適してい る。
このアプリケーションプログラムは、 動的にタスク分割され、 分割さ れたタスクは、 データと実行テキス トを含むエージェントオブジェク ト の形式で構成される。 尚、 これらのタスクは、 エージェント処理系以外 にデータべ—スゃファイル等のリソースを必要としないと想定する。 従 つて、 各タスクはいずれのエージェント処理系でも実行可能であり、 リ ソースデータベース 2 0 3に問い合わせて得たシステムの負荷状況に応 じて最適なエージェント処理系を選択することが可能である。
このアプリケーションプログラムは、 サブネッ ト A 1 0 2の machinelを親エージェントのエージェント処理系とする。 そして、 親 エージェントは、 タスクを構成するエージェント (以下、 タスクエージ ェントという。 ) を発行する。 この例では、 リソースデータベース 20 3への問い合わせ時点における負荷の少ないエージェント処理系を選択 し、 サブネッ ト C 1 06の machineA、 サブネッ ト C 1 06の machineB、 サブネッ ト D 1 1 0の machineA、 及びサブネッ ト D 1 1 0の machineB に 4分割した各タスクエージェントを発行する。
各タスクエージェントは、 その処理を終了すると、 情報交換部 404 を用いて親エージェン卜の規定ポートに処理結果情報を送信する (ステ ップ 2 1 04, 2 1 09〜2 1 1 6) 。 親エージェントは、 発行したす ベてのタスクエージユントから処理結果情報を受信した後に、 これらを 統合して処理を終了する (ステップ 220 1〜 2205) 。
この間、 親エージェントは、 エージェント処理系のエージェント実行 状況報告ノ問い合わせ部 408を介して、 エージェントモニタ 204に 各タスクのエージェント実行状況を問い合わせることができる (ステツ プ 2008 ) 。
エージェント実行状況は、 以下のようにして伝達される。 タスクエー ジェントを受け取ったエージェント処理系は、 タスクエージ工ント実行 開始時、 タスクエージェント実行休止時、 タスクエージェント実行再開 時、 及びタスクエージェント実行終了時に、 エージェント処理系自身の 属するサブネッ トのエージ工ントモニタ 204にその状況を報告する (ステップ 2 1 09, 2 1 1 1 , 2 1 1 3, 2 1 1 5) 。
更にそのエージェントモニタ 204は、 適当なタイミングでそのサブ ネッ 卜のエージユント実行状況をサービス依存関係上最上位のエージェ ントモニタ 204に報告する (2 1 1 0, 2 1 1 2, 2 1 1 4, 2 1 1 6) 。 尚、 このとき、 報告を発したエージェントモニタ 204は、 報告 と引き換えに、 最上位のエージェントモニタ 2 0 4から他のサブネッ ト のエージェント実行状況を得ることも可能である。
最上位より下位に位置するエージユントモニタ 2 0 4は、 それぞれ図 1 5に示すサービスの管理情報の更新アルゴリズムにより最新のエージ ェント実行状況を得る (ステップ 1 9 1 7〜 1 9 2 0 ) 。
図 1 6は、 親エージェントがタスクェ一ジェントを発行してからある 時間経過後にエージェントモニタ 2 0 4に対して 4つのタスクエージェ ントの実行状況の問い合わせを行なった結果である (ステップ 2 0 0 8 ) 。 このように、 問い合わせを発行するユーザーが特に問い合わせの 内容を指定しない場合には、 そのユーザーが発行したエージェントの実 行状況が返される。
ライン 1 6 0 1は、 親エージェン卜の実行状況を示し、 そのエージェ ント I Dは netA. machinel. 0001であり、 実行中のエージヱント処理系 はサブネッ ト A 1 0 2の machinelで動作し、 問い合わせを行なう直前 の実行状況は子タスクからの処理結果情報を待つ状態であることが読み とれる。 ライン 1 6 0 2からライン 1 6 0 5は、 4つに分割されたタス クエージェントの実行状況を示し、 サブネッ ト C 1 0 6の machineA、 サブネッ ト C 1 0 6の machineB、 サブネッ ト D 1 1 0の machineA、 及 びサブネッ ト D 1 1 0の raachineBでそれぞれのタスクエージェントが 実行中であることが読みとれる。
実施の形態 4
本発明によるエージェント機構に参加しているサブネッ トのサービス 稼動状態の管理方法及びサブネッ トの削除方法について説明する。
レジス トリサーバ一は、 サービス依存関係を管理する他に、 定期的に 各サブネッ トのサービスにアクセスすることにより、 それらのサ一ビス が利用可能かどうかをチェックしている。 あるサービスに対してある一 定時間内にアクセスできない場合には、 レジストリサーバーはそのサー ビスを 「休止中」 と判断し、 その旨をそのサービスとエージェント機構 内のサービス依存関係を有するすべてのサービスに通知する。 また、 レ ジス トリサーバ一は、 その後も同様にアクセスを試み、 サービスが利用 可能な状態に復帰したならば 「稼働中」 とし、 同様にすベてのサービス にその旨を通知する。
エージェント機構に参加しているサブネッ トを削除する場合には、 削 除するサブネッ トの管理者がレジストリサーバーに対してサブネッ トの 削除を依頼する。 レジストリサーバ一は、 削除するサブネッ ト上のすべ てのサービスを 「休止中」 としたのち、 その旨を 「休止中」 のサービス とエージヱント機構内のサービス依存関係を有するすべてのサービスに 通知する。 通知を受けたすべてサービスは、 その内部に保持するサービ ス依存関係から 「休止中」 のサービスを削除する。 このようにして、 サ ブネッ トはエージェント機構から削除される。
尚、 上述の全ての実施の形態において、 エージェントを送出するコン ピュータシステムとエージェントを受け入れるコンピュータシステムと もに、 L A Nを利用するサブネッ トを構成している例を想定して説明し た。 しかし、 サブネッ ト上の各サービスに相当する機能を有するコンビ ユータシステムであれば、 必ずしもサブネッ トを構成している必要はな レ、。 従って、 エージェントを送出するコンピュータシステムとェ—ジェ ントを受け入れるコンピュータシステムのいずれか一方または双方が、 サブネッ トを構成しない単体のコンピュータシステムとしてネッ トヮー クコンピュータシステムに参加し、 エージェント機構の一部となること が可能である。
また、 情報交換の方法として、 通信媒体による情報交換方法を用いて 説明したが、 物理的な記憶媒体を直接移動させる方法を用いても、 本発 明を実施することができる。
以上のように、 本発明によるエージェント方式を用いることにより、 ユーザーは、 ネッ トワークのセキュリティ上の制約やシステムの構成を 意識することなく、 あたかも仮想的な単一の計算機を利用するように、 公衆回線やインターネッ トで相互接続されたコンピュータシステムの資 源を利用することができる。 また、 エージェントに依頼する処理を確実 に実行し、 または削除することができるので、 エージェント方式によつ てミ ッションクリティカルな処理を実行することができる。 産業上の利用可能性
本発明は、 以上説明したように構成されているので、 以下に示すよう な効果を奏する。
エージェント送信側コンピュータシステムに対してあらかじめ所定の 通信条件を通知し、 その通信条件に従ってエージユントを送信するので、 安価なインターネッ トを接続手段とする場合の欠点である不正アクセス の恐れを解消する為に設けられたファイアウォール等のアクセス制御部 の認可が円滑に受けられるようになり、 安価に構築されるイントラネッ ト等で安全かつ円滑なエージェント方法を採用することができる。 特に、 ミツションクリティカルな処理を行なう場合に有効である。
認証されたユーザーのみがエージェントを送信できるので、 不適正な ユーザーによるエージェントの送信を防止し、 安全性を高めることがで きる。
情報交換部の特性に応じ、 適切な情報交換方法を選択できるので、 デ ータ転送に要する時間や経費、 安全性等の観点から最適なエージェント の転送を行なうことができる。
エージェント処理系の特性に応じ、 エージヱント処理の内容に適した エージェント処理系を選択できるので、 エージェント処理を効果的に実 行することができる。
エージェント処理系が利用するサービスに対してエージェント発行者 のアクセス権に従ってアクセスするので、 エージェント実行側コンビュ —タシステムの内部処理について機密管理等の目的からアクセス権を制 限している場合に、 エージェント方法でもその制限を維持し、 その目的 を達成することができる。 また、 エージェント処理中のアクセス権確認 の処理を自動化し、 エージユント処理の円滑化を図ることができる。 エージェント発行者は、 エージェントを発行したコンピュータシステ ムを用いてエージェント実行状況の報告を受けるので、 エージェント処 理を失敗した場合に適切な対応を取ることができる。 また、 各エージェ ント処理系を選択する場合に、 効率的に処理を配分するようにエージェ ント処理系を選択することができる等の利点がある。
エージェントの少なく とも一部を暗号化して転送するので、 通信中に 第三者に監視されてもエージェントの秘密が保たれる。 また、 不正なェ —ジヱントを排除し、 安全性を維持することができる。
エージヱント実行側コンピュータシステムが複数存在する場合に、 ェ 一ジェント送信側コンピュータシステムに対してエージェント実行側コ ンピュータシステムが個別に所定の通信条件を通知すると、 エージェン ト送信側コンピュータシステムでの通信条件の管理が複雑になるが、 本 発明では 1回の通知に他のエージェント実行側コンピュータシステムの 通信条件も含めるようにしたので、 全ての通信条件を一括して更新する ことができ、 通信条件の管理負担を軽減することができる。
情報交換方法の識別情報を含むエージユント送信履歴を記憶するので、 情報交換方法毎のエージェント送信実績に基づいて最適な情報交換方法 を選択することができ、 実際的にエージェン卜の転送効率を向上させる ことができる。
第三者認証局による認証結果に基づいて、 エージ ント送信側コンビ ユータシステムの認定を行なうので、 エージェント送信側コンピュータ システムの正当性が担保され、 エージェント方法の安全性が向上する。 複数のエージェント送信側コンピュータシステムで同一のユーザー認 証データを有するので、 適正なユーザーは常にいずれのエージェント送 信側コンピュータシステムにおいても同様のユーザー認証手続きにより、 エージェントを送信でき、 ユーザーの利便性が向上する。
エージェント送信側コンピュータシステムは、 エージェント処理系の 特性をデータベースとして保有するので、 迅速かつ網羅的にエージェン ト処理系を選択することができる。
他のエージェント実行側コンピュータシステムのエージェント実行状 況を合わせて取得することができるので、 複数のエージェント実行側コ ンピュータシステムにエージェントを分散処理させる場合に、 エージェ ント送信側コンピュータシステムはそれぞれの実行状況を一括して取得 することができ、 実行状況管理の負担が軽減される。 また、 ユーザーの 利便性が向上する。
複数のエージェント送信側コンピュータシステム間で同一に保たれる 通信条件は、 情報交換経路情報に基づく管理情報転送経路に従って送信 されるので、 安全かつ早く最新の通信条件をすベてのエージェント送信 側コンピュータシステムで共有でき、 エージェントの送信が円滑に行わ れる。
複数のエージェント実行側コンピュータシステム間でのエージェント 実行状況は、 情報交換経路情報に基づく管理情報転送経路に従って送信 されるので、 安全かつ早く、 広範囲のエージェント実行状況を得ること ができ 。 エージェント実行側コンピュータシステムは、 複数のコンピュータシ ステムを有するネッ トワークシステムを構成するので、 ユーザは、 ネッ トワークシステムで提供される多様なサービスを遠隔操作で利用するこ とができる。
エージェント送信側コンピュータシステムは、 複数のコンピュータシ ステムを有するネッ トワークシステムを構成するので、 ユーザは、 多く コンピュータシステムを操作部としてエージェント方法によるサービス を利用することができる。

Claims

請求の範囲
1 . 所定の通信条件を満たす場合にアクセス可能とするァク セス制限部を有する第一のコンピュータシステムと、 別の第二のコンビ ユータシステムを含むネッ トワークシステム内でエージェントを転送す るエージェント方法において、
エージェントを送信する第二のコンピュータシステムを認証する工程 と、 認証した第二のコンピュータシステムに対して第一のコンピュータ システムの所定の通信条件を送信する工程を有し、
第二のコンピュータシステムにより、 所定の通信条件を受信する工程 と、 所定の通信条件を記憶する工程と、 エージェントを生成する工程と、 所定の通信条件に従ってエージェントを送信する工程を有し、
第一のコンピュータシステムにより、 アクセス制限部を介してエージ ェントを受信する工程と、 エージ: ントを実行する工程を有することを 特徴とするエージ ント方法。
2 . 上記エージェント方法は、 更に、 エージェント発行ユー ザの認証を行なう工程を有することを特徴とする請求項 1記載のエージ ェント方法。
3 . 第一のコンピュータシステムは、 複数の情報交換方法を 使用可能であり、
上記エージェント方法は、 更に、 第二のコンピュータシステムにより、 第一のコンピュータシステムの情報交換方法の特性に基づいて情報交換 方法を選択する工程を有することを特徴とする請求項 1記載のエージェ ン ト方法。
4 . 第一のコンピュータシステムは、 エージェントを実行で きる複数のエージェント処理系を有し、
エージェントを生成する工程は、 エージェント処理系の特性に基づい てエージェント処理系を選択する工程と、 選択したエージェント処理系 の識別情報をエージェントの一部に書き込む工程を有し、
エージェントを実行する工程は、 エージェントの一部からエージェン ト処理系の識別情報を読み出す工程と、 識別情報で特定されるエージェ ント処理系へエージェントを転送する工程を有することを特徴とする請 求項 1記載のエージユント方法。
5 . エージェントを生成する工程は、 エージェント発行ユー ザの識別情報をエージェントの一部に書き込む工程を有し、
エージェントを実行する工程は、 エージェン卜の一部からエージェン ト発行ユーザの識別情報を読み出す工程と、 識別情報で特定されるエー ジェント発行ユーザのアクセス権に従ってサービスにアクセスする工程 を有することを特徴とする請求項 1記載のエージ ント方法。
6 . 上記エージェント方法は、 更に、 第一のコンピュータシ ステムにより、 エージェント実行状況を送信する工程と、 第二のコンビ ユータシステムにより、 エージェント実行状況を受信する工程を有する ことを特徴とする請求項 1記載のエージ ント方法。
7 . 上記エージェント方法は、 更に、 第二のコンピュータシ ステムにより、 エージェントの少なく とも一部を暗号化する工程を有し、 第一のコンピュータシステムにより、 エージェントの暗号部分を複号化 する工程を有することを特徴とする請求項 1記載のエージェント方法。
8 . 上記エージェント方法は、 更に、 複数の第一のコンビュ ータシステムの所定の通信条件を統合する工程を有することを特徴とす る請求項 1記載のエージ ント方法。
9 . 第二のコンピュータシステムは、 複数の情報交換方法を 使用可能であり、
上記エージェント方法は、 更に、 第二のコンピュータシステムにより、 エージユン卜の送信に用いた情報交換方法の識別情報を含むェ一ジェン ト送信履歴を記憶する工程と、 エージニント送信履歴に基づいて情報交 換方法を選択する工程を有することを特徴とする請求項 1記載のエージ ェント方法。
1 0 . 第二のコンピュータシステムを認定する工程は、 第三 者認証局により、 認証する工程を有することを特徴とする請求項 1記載 のエージェント方法。
1 1 . 上記エージェント方法は、 更に、 ユーザ認証データを 送信する工程と、 複数の第二のコンピュータシステムにより、 ユーザ認 証データを受信する工程と、 ユーザ認証データを記憶する工程を有し、 エージヱント発行ユーザの認証を行なう工程は、 第二のコンピュータ システムにより、 ユーザ認証データを読み出す工程を有することを特徴 とする請求項 2記載のエージユント方法。
1 2 . 上記エージェント方法は、 更に、 エージェント処理系 の特性デ一タを統合する工程を有し、
上記エージェント処理系を選択する工程は、 統合されたエージェント処 理系の特性データを読み出す工程を有することを特徴とする請求項 4記 載のエージェント方法。
1 3 . 上記エージェント方法は、 更に、 エージェント実行状 況を統合する工程を有することを特徴とする請求項 6記載のエージェン ト方法。
1 4 . 上記エージ ント方法は、 更に、 情報交換経路情報に 基づいて管理情報転送経路を定義する工程と、 エージェント実行状況の 送信先を管理情報転送経路に従って決定する工程を有することを特徴と する請求項 6記載のエージェント方法。
1 5 . 上記エージェント方法は、 更に、 情報交換経路情報に 基づいて管理情報転送経路を定義する工程と、 所定の通信条件の送信先 を管理情報転送経路に従って決定する工程を有することを特徴とする請 求項 8記載のエージユント方法。
1 6 . 所定の通信条件を満たす場合にアクセス可能とするァ クセス制限部を有し、 他のコンピュータシステムと通信するコンビユー タシステムにおいて、
エージェントを送信する他のコンピュータシステムを認証するコンビ ユータシステム認証部と、
認証した他のコンピュータシステムに対して所定の通信条件を送信す る通信条件送信部と、
アクセス制限部を介してエージェントを受信するエージェント受信部 と、
エージェントを実行するエージェント実行部を有することを特徴とす るコンピュータシステム。
1 7 . 所定の通信条件を満たす場合にアクセス可能とするァ クセス制限部を有する他のコンピュータシステムと通信するコンビュ— タシステムにおいて、
他のコンピュータシステムの所定の通信条件を受信する通信条件受信 部と、
他のコンピュータシステムの所定の通信条件を記憶する通信条件記憶 部と、
他のコンピュータシステムで実行されるエージェントを生成するエー ジェント生成部と、
他のコンピュータシステムの所定の通信条件に従ってエージェントを 送信するエージェント送信部を有することを特徴とするコンピュータシ ステム。
1 8. コンピュータシステムは、 複数のコンピュータシステ ムを有するネッ トワークシステムを構成することを特徴とする請求項 1 6記載のコンピュータシステム。
1 9. コンピュータシステムは、 複数のコンピュータシステ ムを有するネッ トワークシステムを構成することを特徴とする請求項 1 7記載のコンピュータシステム。
PCT/JP1998/004995 1998-11-06 1998-11-06 Agent method and computer system WO2000028428A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000581544A JP3731645B2 (ja) 1998-11-06 1998-11-06 エージェント方法及びコンピュータシステム
EP98951707A EP1067463A4 (en) 1998-11-06 1998-11-06 METHOD AND COMPUTER SYSTEM AGENT
PCT/JP1998/004995 WO2000028428A1 (en) 1998-11-06 1998-11-06 Agent method and computer system
US09/508,644 US6785819B1 (en) 1998-11-06 1998-11-06 Agent method and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1998/004995 WO2000028428A1 (en) 1998-11-06 1998-11-06 Agent method and computer system

Publications (1)

Publication Number Publication Date
WO2000028428A1 true WO2000028428A1 (en) 2000-05-18

Family

ID=14209350

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/004995 WO2000028428A1 (en) 1998-11-06 1998-11-06 Agent method and computer system

Country Status (4)

Country Link
US (1) US6785819B1 (ja)
EP (1) EP1067463A4 (ja)
JP (1) JP3731645B2 (ja)
WO (1) WO2000028428A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003001837A1 (fr) * 2001-06-22 2003-01-03 Sumitomo Heavy Industries, Ltd. Appareil d'authentification et procede d'authentification d'informations d'acces par un telephone cellulaire, appareil d'enregistrement, systeme de reseau et logiciel
JP2010033580A (ja) * 2000-11-10 2010-02-12 Sightsound Technolegies Inc 信頼性のある分散型ピアツーピアネットワークを確立する方法及びシステム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147784A1 (en) * 2001-04-06 2002-10-10 Stephen Gold User account handling on aggregated group of multiple headless computer entities
EP1488300A1 (en) * 2002-03-28 2004-12-22 BRITISH TELECOMMUNICATIONS public limited company Method and apparatus for network security
US7676541B2 (en) * 2002-05-30 2010-03-09 Microsoft Corporation Peer communication channel partitioning
US8583739B2 (en) * 2004-03-02 2013-11-12 International Business Machines Corporation Facilitating the sending of mail from a restricted communications network
US20060190999A1 (en) * 2004-11-22 2006-08-24 David Chen Method and apparatus for two-way transmission of medical data
EP3257885A4 (en) * 2015-02-09 2018-05-09 Asahi Glass Company, Limited Method for producing fluorine-containing polymer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2701580B1 (fr) * 1993-02-10 1995-03-24 Bull Sa Procédé d'administration d'applications avec des protocoles standards.
US5603031A (en) 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
JPH0787122A (ja) 1993-09-13 1995-03-31 Nissin Electric Co Ltd ルータ形式ネットワーク間接続装置
US5632011A (en) 1995-05-22 1997-05-20 Sterling Commerce, Inc. Electronic mail management system for operation on a host computer system
US5678002A (en) * 1995-07-18 1997-10-14 Microsoft Corporation System and method for providing automated customer support
US5727950A (en) * 1996-05-22 1998-03-17 Netsage Corporation Agent based instruction system and method
KR20010020382A (ko) * 1997-04-30 2001-03-15 비센트 비.인그라시아, 알크 엠 아헨 전용 컴퓨터로부터 정보를 액세스하고 전송하기 위한 시스템

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
P. HEYWOOD.: "Filters Without Fuss", DATA COMMUNICATIONS,, vol. 27, no. 8, 21 May 1998 (1998-05-21), pages 29 - 30, XP002927027 *
SAKURADA, SHIMOMA, KURODA, SAKURAI, B. PEET.: "Virtual Mobile Office (in Japanese)", MITSUBISHI DENKI TECHNICAL REVIEW,, vol. 71, no. 2, 25 February 1997 (1997-02-25), pages 22 - 25, XP002927028 *
See also references of EP1067463A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033580A (ja) * 2000-11-10 2010-02-12 Sightsound Technolegies Inc 信頼性のある分散型ピアツーピアネットワークを確立する方法及びシステム
JP4705990B2 (ja) * 2000-11-10 2011-06-22 サイトサウンド テクノロジーズ,インコーポレイテッド 信頼性のある分散型ピアツーピアネットワークを確立するシステム
WO2003001837A1 (fr) * 2001-06-22 2003-01-03 Sumitomo Heavy Industries, Ltd. Appareil d'authentification et procede d'authentification d'informations d'acces par un telephone cellulaire, appareil d'enregistrement, systeme de reseau et logiciel

Also Published As

Publication number Publication date
US6785819B1 (en) 2004-08-31
JP3731645B2 (ja) 2006-01-05
EP1067463A1 (en) 2001-01-10
EP1067463A4 (en) 2005-08-03

Similar Documents

Publication Publication Date Title
EP1418728B1 (en) Security communication method, system, and apparatus permitting to change the security type
US6981139B2 (en) Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program
US10623272B2 (en) Authenticating connections and program identity in a messaging system
US5680461A (en) Secure network protocol system and method
JP4988362B2 (ja) ワイヤレス・ネットワーク・パスワードを更新するためのシステム及び方法
US9270661B2 (en) Communication network system, gateway, data communication method and program providing medium
US8332464B2 (en) System and method for remote network access
US7631181B2 (en) Communication apparatus and method, and program for applying security policy
US20060126603A1 (en) Information terminal remote operation system, remote access terminal, gateway server, information terminal control apparatus, information terminal apparatus, and remote operation method therefor
RU2412480C2 (ru) Система и способ установления того, что сервер и корреспондент имеют согласованную защищенную почту
JP4339234B2 (ja) Vpn接続構築システム
WO2001043393A2 (en) Decoupling access control from key management in a network
US20040243837A1 (en) Process and communication equipment for encrypting e-mail traffic between mail domains of the internet
US7694015B2 (en) Connection control system, connection control equipment and connection management equipment
WO2004112312A1 (ja) ユーザ認証システム
JP3731645B2 (ja) エージェント方法及びコンピュータシステム
WO2003021464A2 (en) Secure remote access between peers
JP4389145B2 (ja) クライアントサーバシステムおよびその装置
WO2004001630A1 (ja) ネットワークシステムおよびプログラム
Cisco Configuring Digital Certification
JP5018128B2 (ja) ネットワークシステム、ネットワークシステムの通信制御方法およびプログラム
JP4878043B2 (ja) アクセス制御システム、接続制御装置および接続制御方法
JP2008287587A (ja) 電子メールシステム
JP2001127759A (ja) 情報配布システム及び記憶媒体
JP2005215797A (ja) 端末装置、サーバ、グループウェアシステム、グループウェア方法、および、グループウェアプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 09508644

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1998951707

Country of ref document: EP

AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998951707

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1998951707

Country of ref document: EP