Local area network for digital data processing system
6 claims: 2 independent, 4 dependent
- 1(57)【特許請求の範囲】 【請求項1】 サービス利用者と、サービス供給者とを相互接続するローカルエリアネットワークであって、サービス利用者に各々接続された複数の装置サーバーユニットと、サービス供給者に各々接続された複数のノードと、上記サービス利用者とサービス供給者が通信を行なえるように上記ノードと装置サーバーユニットとの間でメッセージの転送を果たす通信リンクとを備えたローカルエリアネットワークにおいて、各々の上記装置サーバーユニットは、 A.所定の時間間隔の終りにタイミング信号を発生するタイミング手段と、 B.上記サービス供給者へ送るために上記サービス利用者からのデータを累積するデータ記憶手段と、 C.上記データ記憶手段に接続されていて、上記データ記憶手段にデータが記憶されている場合のセット状態と前記データ記憶手段でデータが取り除かれている場合のリセット状態を有しているデータ待機フラグ手段と、 D.上記通信リンク、上記タイミング手段、上記データ記憶手段及び上記データ待機フラグ手段に接続され、上記タイミング手段がタイミング信号を発生した場合に上記データ待機フラグ手段がセット状態を有するのに応答して上記データ記憶手段から上記通信リンクを経てデータを転送するメッセージ送信手段とを備えていることを特徴とするローカルエリアネットワーク。
- 2【請求項2】 上記ノードは、装置サーバーユニットからのメッセージの受信に応答して装置サーバーユニットへメッセージを送信するように上記サービス供給者及び上記通信リンクに接続されたノードメッセージ送信手段を備えている請求項1に記載のローカルエリアネットワーク。
- 3【請求項3】 ノードにおいて発生される各メッセージは、選択された値を有する応答要求フラグフィールドを含み、上記装置サーバーユニットは、更に、メッセージを受け取るためのメッセージ受信手段を有し、このメッセージ受信手段は、所定の値を有するメッセージの応答要求フラグフィールドに応答して上記データ待機フラグ手段をセットする手段を備えている請求項2に記載のローカルエリアネットワーク。
- 4【請求項4】 上記ノードから上記装置サーバーユニットへ送られるメッセージは、上記ノードから上記装置サーバーユニットへデータを転送するためのデータフィールドを含み、上記ノードは、応答要求フラグフィールドを有するメッセージを送信し、この応答要求フラグフィールドは、上記データフィールドがデータを含む時には上記所定の値を有しそして上記データフィールドが空である時には他の所定の値を有し、その後、上記ノードのメッセージ送信手段は、上記応答要求フラグが上記第1の所定の値を有する時には上記ノードが上記通信リンクから次のメッセージを受け取るまで、別のメッセージを送信しないようにされ、上記ノードのメッセージ送信手段は、上記応答要求フラグが上記他の所定の値を有する時には、別のメッセージを送信できるようにされる請求項3に記載のローカルエリアネットワーク。
- 5【請求項5】 サービス利用者とサービス供給者とを相互接続するローカルエリアネットワークに接続される装置サーバーユニットにおいて、上記ネットワークは、サービス利用者に各々接続された複数の装置サーバーユニットと、サービス供給者に各々接続された複数のノードと、サービス利用者とサービス供給者が通信を行なえるように上記ノードと装置サーバーユニットとの間でメッセージの転送を果たす通信リンクとを備えており、各々の上記装置サーバーユニットは、 A.所定の時間間隔の終りにタイミング信号を発生するタイミング手段と、 B.上記サービス供給者へ送るために上記サービス利用者からのデータを累積するデータ記憶手段と、 C.上記データ記憶手段に接続されていて、上記データ記憶手段にデータが記憶されている場合のセット状態と前記記憶手段でデータが取り除かれている場合のリセット状態を有しているデータ待機フラグ手段と、 D.上記通信リンク、上記タイミング手段、上記データ記憶手段及び上記データ待機フラグ手段に接続され、上記タイミング手段がタイミング信号を発生した場合に上記データ待機フラグ手段がセット状態を有するのに応答して上記データ記憶手段から上記通信リンクを経てデータを転送するメッセージ送信手段とを備えていることを特徴とする装置サーバーユニット。
- 6【請求項6】 ノードから装置サーバーユニットへ送られるメッセージは、選択された値を有する応答要求フラグフィールドを含み、上記装置サーバーユニットは、更に、上記通信リンクからメッセージを受け取るメッセージ受信手段を備え、このメッセージ受信手段は、上記選択された値のうちの所定の値を有する応答要求フラグフィールドに応答して上記データ待機フラグ手段をセットする。手段を備えた請求項5に記載のサーバーユニット。
Independent claims6
167 paragraphs, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
【0001】
[Industrial application field]
The present invention generally relates to the field of digital data processing systems, and more particularly to local area networks in which a plurality of such systems are interconnected so as to provide a distribution processing function to a large number of users. More specifically, the present invention relates to improving the message forwarding protocol for a local area network so as to increase the message forwarding capacity of the network.
【0002】
[Conventional technology]
As small and medium-sized computer systems are becoming cheaper and more powerful, many computer systems are interconnected to form networks, and users with various processing needs have many different types. I am always ready to receive the services of. Such services may include any of the services normally available from such networks, such as electronic mail (mail storage and transportation), word processing, accounting services such as inventory control and pay slips, or telephone lines. And data communication via microwave link. When systems are interconnected to form a network, the availability of services to users is promoted by including a large number of service providers in the network and allowing each provider to provide one or more services. It helps, and thus reduces the risk that one service provider in the network will fail and users will not be able to receive many services at once. In reality, a local network is configured to provide services that are focused on by a large number of service providers, in which case one service provider fails or becomes saturated with service requests. Even so, many suppliers can provide a particular service.
【0003】
Typically, in a local area network, communication within the network takes place over one or a limited number of communication links. Such communication links include links defined by the X.25 communication protocol using data links such as well-known DECnet, SNA (System Network Architecture) or Ethernet (Ethernet). A large number of service users, such as a video terminal controlled by an operator, are connected to a communication link through an interface device known as a "terminal server". Similarly, service providers are connected to communication links through interface devices known as "nodes".
【0004】
If the operator wants to use the services provided by a unit connected to a node, he / she makes a connection request to the node and through the node to that unit so that he / she can receive the services provided by this unit. .. Generally, the operator must know which specific nodes (s) and units (s) (s) and units (s) provide the desired service. The operator selects a node and unit to provide the service, and issues a service request to the node and the service provider by the terminal server. The terminal server and node exchange messages can establish a "virtual circuit", which forms a data transfer mechanism between the operator terminal and the service provider. The virtual circuit essentially extends from the operator terminal, which is the service user, to the service provider via the terminal server, the communication link, and the node. When a large number of users use the local area network, a large number of virtual circuits are established via a communication link for communication between the user and the supplier. Furthermore, if many terminals connected to one terminal server request services from service providers connected to the same node, between each terminal and the service provider responding to the requested service. Usually, individual virtual circuits are established.
【0005】
[Problems to be Solved by the Invention]
The service data is transmitted between the terminal and the service provider via a virtual circuit in the form of a message. All messages are queued by the terminal server and sent over a single communication link. To ensure that the message is received, the networked unit repeatedly sends the message until it receives a confirmation from the recipient indicating correct reception. More specifically, the terminal server and node monitor the communication link for the confirmation signal after sending a message via the virtual circuit and communication link, and correct the operation if the confirmation signal is not received within the selected time. To execute. Each message sent over a virtual circuit is an individual through the virtual circuit, even if a series of messages are sent over the same communication link and between the same terminal server and node through different virtual circuits. Confirmed by a confirmation message. Each confirmation message must be generated individually, and therefore the receiving device must allocate time and equipment to generate the individual confirmation messages. Furthermore, the request for such individual messages quickly puts an unnecessarily burdensome burden on the communication link.
【0006】
In today's networks, the transfer of messages over virtual circuits and communication links is due to the occurrence of certain events, such as the presence of data to be transmitted (event-driven transmissions), or of some types. Triggered either by timer expiration ("timer-based" transmission). Both event-driven message forwarding systems and time-based message forwarding systems incorporate some assumptions about message transmission over communication links and virtual circuits. In event-driven systems, messages can be delivered from the terminal server to the node, messages can be processed by the service provider, and responses to the messages can be sent back to the terminal server, even when communication links are heavily used. It is assumed that the communication link has enough bandwidth to allow everything to be done within the maximum permissible delay time. However, if the communication link sends too many messages, the delay time will be unacceptably long. Furthermore, if the unit sends data each time it receives a few bytes of data from a service user or supplier, a significant number of messages will consist primarily of virtual circuit identification information. It is necessary to reliably and properly identify the virtual circuit that sends the message over the multiplexed communication link, or the purpose will be defeated.
【0007】
On the other hand, a timer-based message transmission system allows each unit connected to a communication link to transmit a message via the link at periodic intervals. In these systems, all units have relatively uniform access to the communication link. However, such a system also has a number of drawbacks. First, when it is time to transmit, each unit transmits a message through a virtual circuit, whether or not it has data to transmit, apparently consuming the bandwidth of the communication link. In addition, when a unit is added to the system, the timers of all units must be adjusted so that all units have reasonably equally accessible access to the communication link.
【0008】
[Means to solve problems]
The present invention increases the throughput of messages exchanged between a service user and a service provider via a communication link in a local area network, and at the same time, all units are relatively uniform on the communication link for message transfer. Provides a new local area network message transfer system that makes it accessible.
【0009】
In summary, the present invention allows multiple users, such as terminals and printers, to provide service providers, such as data processing systems, data storage devices such as disk or tape recorders, and data links such as telephone lines or microwave communication links. Provides a local area network that communicates with. One or more device servers are directly connected to the communication link. Each device server is an interface to a communication link for one or more users. Similarly, one or more nodes are connected to a communication link, and each node is an interface to the communication link to the communication link for one or more service providers. Each node periodically sends a service notification message over a communication link to identify the node, identify the services provided by the service provider connected to that node, and for each service. Rating and included. Each device server receives these messages and records them in the service dictionary. The services obtained by the user by the service provider of the network can be viewed by the operator from the service dictionary stored in the device server.
【0010】
When the operator wants to use the service of the service dictionary, the device server can issue a service request. The device server selects a particular supplier to provide the service based on the rating of the service dictionary and identifies the node capable of communicating with this service provider. At this time, if the device server is not communicating with the node, the device server and the node establish a virtual circuit for transferring a message. In addition, the device server establishes a service session between itself and the user making the service request from the operator, and the node is connected to itself and this node and requested by the user. A service session is established with the service provider that provides the service, and the service session of the device server and node is linked, respectively, and the identification of the session is the unit at the other end of the virtual circuit, that is, the device server or node. Will be informed. When another user requests a service provided by a service provider connected to the same node, a similar session is established for the user by the device server and for the service provider by the node. The message for all such sessions is transferred via the same virtual circuit multiplexed in the slot in the same virtual circuit message for all service users or suppliers. Therefore, the device server does not need to establish a new virtual circuit for each device that requests the service provided by the service provider connected to that node. In addition, only the virtual circuit message is confirmed, not the individual message between the service user and the supplier, which is required for the number of confirmation messages to be forwarded and to generate this confirmation message. The number of resources on the device server and node is reduced.
【0011】
Generally, the transfer of messages between the device server and the node via a virtual circuit is initiated by the device server, and each message sent from the device server to the node is confirmed by the message from the node. Each message contains a response request flag that is set or cleared by the node. This response request flag is set if the message contains session slot data, otherwise it is cleared. Each virtual circuit portion of the device server contains a server circuit timer and a data wait flag (DWF), which either comes from receiving a message from a node that has a set response request flag, or uses a virtual circuit. It is set in response to the reception of slot data from the service user. Normally, a node sends a message only in response to a message from the device server, but if the response request flag of the previous message is cleared (this means that the node does not send any data in the previous message). (In some cases), the node sends another message containing the data to the device server and then receives the next message from the device server. When the device server sends a message over a communication link and through a virtual circuit, the server circuit timer preset to the selected value begins to decrement. When the server circuit timer expires and the data wait flag is set, the device server sends a message via the virtual circuit. The device server is prohibited from sending new messages to the virtual circuit until the server circuit timer expires. In addition, the data wait flag indicates that it has been set to indicate that a message has been received from the node for which the response request flag has been set, or that it has new slot data to be sent by the service user. Prevent the device server from sending messages until instructed to do so.
【0012】
The response request flag allows the node to immediately see the message received from the device server, regardless of whether the node has data to send immediately, and if no data is sent in this first message. Keeps the node itself capable of sending a second message with data, which can be sent even if no intervening message is received from the device server. The response request flag and the data wait flag allow the node to check the message containing the data the next time the server circuit timer expires, regardless of whether the device server has data to send. To force. The server circuit timer establishes a minimum delay period after the device server sends a message and before sending the next message, thereby sending a message to a virtual circuit established by another device server over a communication link. To be able to send. Therefore, the device server and node have an effect on both the timer-based system based on the server circuit timer and the event-driven system based on the response request flag and the data wait flag.
【0013】
[Example]
FIG. 1 shows a local area network 10, in which a plurality of service users generally indicated by reference number 12 are connected to a plurality of service users generally indicated by reference number 14 via a common communication link 16. Communicate with the service provider. The communication link 16 takes the form of any of a number of communication links and interface circuits that transfer data between the service user and the service provider in the form of bit series or bit parallel. For example, a communication link is a form of coaxial cable and interface circuit that transmits a message using the well-known Ethernet local area network protocol. In this protocol, data is organized into messages in a predetermined format and transmitted in bit series form between stations via coaxial cable. There are also numerous other communication links using various protocols, which can also be used for the local area network in Figure 1. What particular communication link is selected is not within the scope of the present invention.
【0014】
The service user 12 includes a plurality of devices such as a video display terminal 18, a printer 20, and a personal computer 22. The network 10 also includes a plurality of device servers 24, each of which is connected to a large number of service users so that the service users can communicate with the service provider 14 via the communication link 16. The service provider 14 includes devices such as a processor 26, a disk drive 28, a tape storage unit 30, a data link 32 (eg, a telephone line or microwave link) and an analog / digital converter 33. The network 10 also includes a plurality of nodes 34, each of which is connected to a large number of service providers. Further, each node 34 is directly connected to the communication link 16 and performs communication between the service provider connected to the communication link 16 and the communication link. In some cases, it will be clear that the service provider and the node are integrated into one unit that performs both of these functions.
【0015】
The service provider 14 supplies the service to the service user 12. Such services include, for example, electronic mail storage and transport between service users, access to programs such as word processing functions, payroll calculations, inventory management, etc., and recording to disk and tape files. It includes functions for storing and searching, for communicating via telephone lines and microwave links, and for collecting data from scientific instruments via an analog / digital converter 33, for example. Such services and other services are known and will not be described further herein.
【0016】
As will be apparent to those skilled in the art, some service users may also provide services. For example, a personal computer 22 in network 10 is not only a service user, but also a program accessed and used by another user, such as terminal 18. In this case, the personal computer is connected to the node 34 and the device server 24 to make the program available to the service user. The unit that interfaces the personal computer to the communication link acts as both a node and a device server.
【0017】
Each node 34 periodically sends "notification" messages received by all device servers 24, which are themselves and the services provided by the service provider 14 connected to that node. Identify the "rating" for each service. Explaining FIG. 2, the service notification message has a plurality of fields including a heading 50 determined by the protocol used via the communication link 16 and a main body 54. In one embodiment, heading 50 includes a node identification field 51 that identifies the sending node, a protocol format field 52 that identifies the message as a service notification message, and a multicast that allows all device servers 24 to receive the message. It has an address field 53 and. Following heading 50, the node sends the body 54 of the message, which identifies the various services offered and the rating of each service. This rating indicates, for example, how quickly a service provider 14 can respond to a service request based on the number of service users 12 who are then using the service provided by a particular service provider, and thus request the service. Indicates a potential delay in responding to communications from other users of the service that may.
【0018】
After receiving the service notification message from node 34, each device server 24 (FIG. 1) forms a service dictionary as shown in FIG. This dictionary contains a table that stores the identification of nodes, the services given by the nodes and the ratings of services. Therefore, if the operator of the service user 12 wants to use one of the services shown in the dictionary, the device server uses the contents of the service dictionary shown in FIG. 3 and which node provides the service. Can be decided. If more than one node provides the requested service, the equipment server uses the rating in the rated field to determine which node has the highest rating for that service. Request that node be serviced.
【0019】
The various services obtained from the service provider are divided into groups or classes, and each user can access only the service to be used. The service names are organized into groups identified by the group name, and the device server displays only services within the group that the user can access to a particular user.
【0020】
When the user 12 requests the service provided by the service provider 14 identified in the service dictionary, the device server 24 is a virtual circuit between itself and the node 34 that provides the service at the most desirable service rating. Start establishing 58. Explaining FIG. 4, device server 24 establishes a virtual circuit state machine 60 in the usual way, which is a virtual circuit state machine established by node 34 via a pair of unidirectional data pipes. Gives 64 and two-way data communication. The virtual circuit state machines 60 and 64 and the data pipe 62 provide a means for transferring data in the form of a message between the device server 24 and the node 34 via the communication link 16. Message communication performed via a large number of data pipes 62 is multiplexed on the communication link 16, so that the communication link serves message communication for a large number of virtual circuits in the network 10.
【0021】
The virtual circuit state machine 60 in the device server 24 communicates with the individual service user 12 by a service session using the individual session state machines 66 that the device server establishes for each user in a general manner. Similarly, the node's virtual state machine 64 communicates with the service provider 14 using the individual session state machines 68.
【0022】
The device server 24 and the node 34 set the virtual circuit and the session state machine using the message sent via the communication link 16, which will be described below in relation to FIGS. 7 to 16. However, in summary, when user 12 requests service by service provider 14, device server 24 first determines whether there is a virtual circuit selected by device server between this and node 34. decide. If such a virtual circuit exists, the device server 24 sends a virtual circuit message to the node 34 via the communication link 16 so that the node establishes its virtual circuit state machine 64 and the virtual circuit. Supports 58 ends. A session state machine 66 is also set between the virtual circuit state machine 60 and the user 12 so that data and other information can be accumulated from the user and transferred to the user.
【0023】
In the next virtual circuit message, after the virtual circuit is configured, the session slot is sent by the device server 24 through the virtual circuit 58, especially via the communication link 16, to the node 34 to identify the requested service. Node 34 configures the session state machine 68, which is sent to the service provider to allow this supplier to perform the requested service and data between the virtual circuit state machine and the service provider. And other information can be transferred. Each session state machine collects information to be transferred from the user or service provider connected to it, sends information in the form of a session message to the virtual circuit state machine, and this state machine is with the same device server 24. Session messages to be transferred to and from node 34 are accumulated from various service user or supplier state machines to form a single virtual circuit message, which goes through virtual circuit 58 and communication link 16. Transferred. Upon receiving a virtual circuit message from virtual circuit 58, the receiving virtual circuit state machine sets to each session state machine, which is the intended receiver for forwarding to each service user 12 and service provider 14. The message is forwarded and a single confirmation message is sent back through the virtual circuit to confirm receipt of the virtual circuit message. Only one virtual circuit confirmation message is required for the multiplexed message between the service user and the supplier, which reduces the amount of confirmation message transmission often required by publicly known technology. It will be apparent that this reduces the transmission overhead of communication link 16 and also reduces the overhead required on the device server and node to generate the confirmation message.
【0024】
Virtual state machines 60 and 64 on device server 24 and node 34 contain the database of FIG. 5 used to send and receive messages via pipe 62, respectively. Database 70 contains remote identification word 72 and local identification word 74. These identification words 72 and 74 include the identification of the virtual circuit 58 designated by node 34 and device server 24. The content of the local identification word 74 is specified by the unit in which the database 70 resides, and the content of the remote identification word 72 is specified by another unit connected to the virtual circuit. Therefore, in the virtual circuit database 70 existing in the device server 24, the local identification word is specified by the device server, and the remote identification word is specified by the node 34 which is the other end of the virtual circuit. Similarly, in the virtual circuit database 70 (FIG. 5) existing at node 34, the content of the local identification word 74 is specified by the node and the content of the remote identification word 72 is specified by the device server. The contents of the two identification words 72 and 74 are transmitted in a virtual circuit message sent via the virtual circuit and the communication link, and the device server and the node send the message sent via the communication link 16 to a specific virtual circuit. Can be identified as related.
【0025】
The virtual circuit database 70 also includes a message format field 76 that identifies the format of the next virtual circuit message to be sent. Three types of virtual circuit messages are sent via the virtual circuit. That is, these messages are a START virtual circuit message, a RUN message, and a STOP virtual circuit message, which are described in detail below with reference to FIGS. 7, 9 to 12.
【0026】
The M field 78 identifies whether the unit containing the database 70 is a master unit or a slave unit. In network 10 (Figure 1), the device server 24 is always the master and the node 34 is always the slave, communication through the virtual circuit is always initiated by the device server, and the node is always the device. Responds to communications from the server, i.e. issues a confirmation.
【0027】
The R field 80, when set, indicates that the last message sent requires a response. The database 70 also includes a message counter 82 and a confirmation counter 84. Each message sent by device server 24 or node 34 contains a message sequence number that is checked by the receiving unit's virtual circuit state machine to ensure that successive messages are received in the proper order. The message is retransmitted so that it is properly received if this is not confirmed within the specified time, and the sequence number is retransmitted if the receiving device actually received the message correctly in the previous transmission. Do not process a message as a new message. The content of the message counter 82 identifies the number of messages sent and received, and the confirmation counter contains the message number of the confirmed message. Therefore, if the message numbers are skipped or the confirmations are not received in numerical order, the device server and node determine which message was not properly sent over communication link 16.
【0028】
The data wait flag (DWF) 86 is set when the session state machine has data to be transmitted through the virtual circuit. In the device server 24, the data wait flag is set when a message is received from the node requesting a response. The retransmission counter 88 and the retransmission timer 90 are used to retransmit a message that has not been confirmed within the time selected by the retransmission timer. The sending unit retransmits each unconfirmed message the number of times selected by the retransmission counter 88. If no message is confirmed after the retransmission counter counts out, the other end of the virtual circuit is excluded from service.
【0029】
The virtual circuit database 70 of the device server 24 also includes a server circuit timer 92. When sending a message, the device server 24 resets its server circuit timer 92 and is then prevented from sending the next message until the server circuit timer expires. Therefore, even if the data wait flag 86 is set to indicate that the device server has information to send in the virtual circuit message, the device server keeps the virtual circuit 58 until the server circuit timer expires. After that, the virtual circuit message is not sent. On the other hand, even if the server circuit timer 92 expires, the apparatus server 24 does not send any message unless the data standby flag 86 is set. If the virtual circuit data wait flag 86 is set after the server circuit timer expires and the message sent before it is confirmed, the device server 24 immediately goes through the virtual circuit 58 and a new virtual circuit message. To send. If the previously sent message is not confirmed, the device server or node waits for the time specified by the retransmission timer 90 and resends this unconfirmed message.
【0030】
Therefore, the server circuit timer 92 ensures at least a minimum delay time between the device server 24 transmitting a series of new virtual circuit messages via a particular virtual circuit. Therefore, when the amount of transmission through the virtual circuit is large and the data standby flag is set before the server circuit timer expires, the message transmission is based on the expiration of the server circuit timer 92. However, if the amount of transmission via the virtual circuit is not large, the message transmission of the virtual circuit is based on the setting of the data standby flag 86. With one exception described below, node 34 responds only to virtual circuit messages from the device server or otherwise only sees this, so the device server's server circuit timer and data wait flag are from the node to the virtual circuit. It also controls the transmission of messages via. Thus, network 10 (Figure 1) achieves the advantages of both time-based message forwarding and event-driven message forwarding, which is due to the presence of information sent from user 12 via a virtual circuit. Initiated, time-based message forwarding is based on the server circuit timer time-out and has no adverse effect on either.
【0031】
The virtual circuit database 70 of the device server 24 also includes a keep-alive timer 94, which allows the device server to send a message to the virtual circuit if it has not sent the message through the virtual circuit for a long time. Allows node 34 to continue to maintain that end of the virtual circuit. Therefore, the node 34 responds by notifying the device server that the connection has not been lost.
【0032】
As described above, the service user and the service provider who provides the service requested by the service user communicate with each other through the session slot. More specifically, the session state machines of the device server and the node transfer session slots that cause a transition between the states of each session state machine, and provide service data and state information between the service user and the supplier. To transfer.
【0033】
Each session state machine uses the session database 100 shown in Figure 6. This session database contains a remote identification field 102 and a local identification field 104, which are used in the same way that the virtual circuit state machine used the remote and local identification fields 72 and 74 of the virtual circuit database 70 (FIG. 5). Be done. In particular, each virtual circuit message sent over a virtual circuit has session slots for different service sessions (ie, session slots that should be used by different session state machines in device servers and nodes communicating through the same virtual circuit). Included, remote and local identification fields 102 and 104 identify the session and session state machines that are the intended recipients of the session slot. The contents of the local identification field are specified by the unit in which the database resides, and the contents of the remote database are specified by other units.
【0034】
Each session database 100 also includes a data buffer 106 that stores data exchanged with the service user 12 or service provider 14 associated with a particular session state machine. When data is loaded into this data buffer 106 from a user 12 or a service provider 14 connected to a particular session state machine, the data ready flag 108 is set, which causes the data standby flag of the virtual circuit database 70. 86 can be set. When the device server or subsequent node sends a message to the virtual circuit, it polls the data ready flag of the service session specified in the virtual circuit to determine if those data buffers have data to send. It is possible, and the contents of various fields containing data from the data buffer 106 set with the relevant data ready flag can be removed to generate a session slot that is transferred in the virtual circuit message.
【0035】
The byte count field 110 identifies the number of bytes of data in the data buffer 106 and is transmitted with the data in the session slot. The session slot format field 112 identifies the format of the session slot to be transmitted. You can send five types of session messages, including START, STOP, REJECT, DATA and STATUS messages. The contents of the session message will be described below with reference to FIGS. 8 and 13 to 16).
【0036】
The local and remote credit fields 114 and 116 of the session database 100 are related to the number of slots available, and each slot is associated with a certain amount of data. Each session slot sent through the virtual circuit has a credit field that identifies the amount of space available in the data buffer for the response information sent from the unit at the other end of the virtual circuit contained in the service session. The content of the credit field contained in the message is given by the content of the local credit field 114 contained in the session database 100 of the unit sending the message. The content of the remote credit field 116 is given by the content of the credit portion of the session slot received from the unit at the other end of the virtual circuit.
【0037】
FIG. 7 shows the various states of the virtual circuit state machines 60 and 64 (FIG. 4) and the various messages that can be transmitted through the virtual circuit during these states and cause a transition between these states. .. 9 to 12 show in detail the contents of various virtual circuit messages. As mentioned above, three types of virtual circuit messages are transmitted through the virtual circuit, which includes a start virtual circuit message, a stop virtual circuit message and a run message. Start and stop virtual circuit messages are used to establish and remove virtual circuits, and run messages are used to transfer information, including session slots, between service users and suppliers.
【0038】
Explaining FIG. 7, the state machines 60 and 64 in each of the device server 24 and the node 34 are initially in the HALTED state. When the user 12 requests the service provided by the service provider 14 connected to the node 34, if there is no virtual circuit between the device server 24 and this node 34, the device server 24 starts the virtual circuit. Send a message to node 34.
【0039】
Figure 9 shows a common format for virtual circuit messages. Explaining FIG. 9, the message begins with a communication link heading 120 and its format is based on a particular communication link 16 selected as network 10. In certain embodiments where the communication link matches the Esanet protocol, the communication link heading includes a destination address field 122 and a source address field 124, which identify a particular transmit and receive node and device server. And also includes field 126 in protocol form.
【0040】
After the communication link heading 120, the message includes a virtual circuit heading 130, which identifies the virtual circuit that sends the message. The virtual circuit heading includes a destination virtual circuit identification field 132 and a source virtual circuit identification field 134, the contents of which are given by remote and local identification fields 72 and 74 of database 70 (FIG. 5). These fields 132 and 134 identify the virtual circuit that sends the message. Since each receiving unit can have a large number of virtual circuits between itself and the same node or device server, fields 132 and 134 are specific virtual circuits associated with messages sent over communication link 16. Used to identify the circuit. If the message is a start virtual circuit message from device server 24, as shown in FIG. 10, the destination virtual circuit identification field 132 contains "0" and the source virtual circuit identification field was specified by device server 24. Includes identification.
【0041】
Also, the virtual circuit heading 130 includes a message format field, an M flag, and an R flag, the contents of which are given by fields 76, 78, and 80 of the virtual circuit database 70 (FIG. 5). Heading 130 also includes a message sequence and confirmation sequence number retrieved from counters 82 and 84 and a field 136 that identifies the number of session slots contained in the data field 140. The contents of the session number field 136 are used only for the run virtual circuit message (Fig. 11) described below. In the start virtual circuit message, the data field 140 contains information used by the receiver when configuring the virtual circuit, and in the stop virtual circuit message (Figure 12), the data field causes the virtual circuit to stop. Contains information about.
【0042】
The virtual circuit message (Figure 9) ends with an error check field 142 containing a repeat redundancy checkword used to confirm that the message was received without error. Explaining FIG. 7 again, the device server 24 shifts from the halt state to the starting state after transmitting the start virtual circuit message. Similarly, when node 34 receives a start virtual circuit message, it either transitions from the Holt state to the starting state and either supports the virtual circuit to indicate that it is involved in it, or Responds to one of the stop virtual circuit messages instructing that it does not support virtual circuits. In any case, the node 34 searches the message for the contents of the source virtual circuit identification field 134 and stores it in the remote identification field 72 of the virtual circuit database 70 as the device server identification of the virtual circuit.
【0043】
Again, in FIG. 10, when the node responds to the start virtual circuit message, the node sets the contents of the source virtual circuit identification field 134 from the start virtual circuit message of the device server to the destination in the response start virtual circuit message. Used as the content of virtual circuit field 132. Further, the node generates the contents of the source virtual circuit identification field 134 (FIG. 9) as the destination code of the virtual circuit. The device server looks up the contents of this field, stores it in the remote identification field of database 70 for this virtual circuit, and then uses it for the destination virtual circuit identification field 132 of subsequent messages sent through the virtual circuit. ..
【0044】
Explaining FIG. 12, when a node responds to a stop virtual circuit message, the node gives a source virtual circuit identifier and data field 140 identifies why the mode does not support virtual circuits. One of the reasons for this is that node 34 currently supports another virtual circuit, which is insufficient as a resource to support other virtual circuits. When node 34 sends a stop virtual circuit message to the device server, both the node and the device server return to the Holt state. The device server then establishes a virtual circuit for another node connected to a service provider that provides the desired service, or cannot receive service if the other node does not provide the service. Inform the user.
【0045】
In addition, the user determines that there is no need to use a particular service after the device server sends the start virtual circuit message. This is shown in Figure 7 by the USER HALT directed to the starting state of device server 24. When this happens, the device server sends a stop virtual circuit message (Figures 9 and 12) to node 34. The virtual circuit state machines 60 and 64 then return to the Holt state.
【0046】
If node 34 responds to the start virtual circuit message and there is no userhold on device server 24 in the start state, state machines 60 and 64 (Figure 4) go into the running state. In this state, the device server 24 and node 34 can send the run virtual circuit messages shown in FIGS. 9 and 11. In this state, the data field 140 includes the session slots described below (FIGS. 8 and 13-16). The number of session messages is identified in the session number field 136 of the virtual circuit heading 130 (FIG. 9). In the session message, the device server 24 and node 34 send service information between the service user 12 and the service provider 14 (Fig. 1), and in particular the service information is between the service state machines 66 and 68. Sent.
【0047】
When the user no longer needs the service, the user is disconnected from the service, and when other users do not use the virtual circuit, a user-holt state occurs. If both state machines 60 and 64 are in the running state, the device server sends a stop virtual circuit message (FIGS. 9 and 12) to node 34 to return to the Holt state.
【0048】
As mentioned above, when the virtual circuit state machines 60 and 64 are in the running state, the device server 24 and the node 34 can send a run virtual circuit message including a session slot. The session state machines 66 and 68 are established using the session slot, and service data and state information are transmitted between the service user and the supplier. When the service user no longer needs the service, the session state machine is removed and the service session ends. The session slots are shown in FIGS. 13-16. These session slots allow the session state machines 66 and 68 to transition between the various states shown in FIG.
【0049】
Explaining FIG. 8, the session state machine 66 of the apparatus server 24 has five states: a Holt state, a starting state, an abort start state, a running state, and a stopping state. The session state machine 68 of the node 34 has four states: a Holt state, a starting state, a running state, and a stopping state. Initially, both state machines 66 and 68 are in the Holt state, and when the user requests a particular service, the device server sends a start session message in the virtual circuit message through the virtual circuit.
【0050】
Explaining FIG. 13, the format of the session message includes a session heading 150, which includes a destination session identification field 152, a source session identification field 154, a byte count field 156, and a session slot format field 158. Includes credit field 160 and. The session data field 162 holds information for establishing and removing a session, service session data, and status information. The destination and source session identification fields 152 and 154 are used as in the case of the destination and source virtual circuit identification fields 122 and 124 (FIG. 9) above. The contents of these fields are stored and retrieved from the remote and local identification fields 102 and 104 of the session database 100 (FIG. 6).
【0051】
The contents of the byte count field 156 identify the length of the session data field 162 and are retrieved from the byte count field 110 of the database 100. The contents of the session slot format field are retrieved from field 112 of the session database to identify the format of the message to be sent. As mentioned above, five types of session slots are transmitted. The contents of the credit field 160 are retrieved from the local credit field 114 of the session database 100 (FIG. 6) and identify the number of slots available for the data buffer 106 for any response. When a unit receives a session slot, the contents of the credit field are stored in the remote credit field 116 of the session database 100, indicating the amount of space in the data buffer 106 that can be used for the next session slot transfer.
【0052】
In the start session slot (FIG. 14), the session data field 162 provides the information required by the session state machine on node 34 to set the session. Such information includes, for example, the type of service required to identify the service provider to join the service session, as well as the size of the data buffer aside from the device server session.
【0053】
After the device server 24 sends the start session slot, the session state machine 66 transitions to the starting state. After the node receives the start message, the node's session state machine 68 goes into the starting state, and the node responds to the start session slot and then the state machine 68 goes into the running state. Either the state machine then transitions to the Holt state in response to the rejection slot (Figure 16). In any case, node 34 supplies the session identification code in the source session identification field 154 (FIG. 13). If the node responds to a rejection slot, credit field 160 also includes the reason for excluding the service session. Such reasons include, for example, that the node cannot provide the service due to insufficient resources, or that the node or the service provider has stopped the service.
【0054】
Explaining FIG. 8 again, the apparatus server 24 receives a start session or rejection slot from the node 34 when the node 34 is in the starting state or the abort start state. The device server session state machine 66 receives a user disconnect request from the user instructing that the user does not want to use the previously selected service before the start session or rejection slot is received from the node 34. When it is received, it shifts from the starting state to the abort start state. If the session state machine 66 is in the abort start state and receives a rejection slot, the session state machine 66 simply returns to the holt state. However, when a start session slot is received, the device server 24 sends a stop session slot to the node via a virtual circuit so that the session state machine 68 returns to the Holt state. In either case, both session state machines 66 and 68 return to the Holt state.
【0055】
However, if the session state machine 66 of the device server is in the starting state and the device server receives a start message from node 34, the session state machine shifts to the running state. In this state, the session state machine 68 of the node is in the running state, and the session slot containing the service data and the state information is transmitted back and forth between the device server 24 and the node 34 via the virtual circuit. .. With reference to FIGS. 13 and 15, the session data field 162 of such a message includes user and service provider data and status information.
【0056】
After the operator determines that access to the service is no longer needed, the user's request is decoupled from the service and both state machines 66 and 68 shifts to the stopping state and then returns to the Holt state. FIG. 17 shows the timing of various messages transmitted between the device server 24 and the node 34 in response to the service circuit timer 92 and the R flag 80. The server's R flag is set or cleared by the R field in the virtual circuit heading contained in the message from the node. FIG. 17 also shows the timing of retransmitting various messages that are not received by the server and the node in response to the retransmission timer 90 of each unit. In particular, when a node receives a message from the device server, it responds with a message with the R field set or cleared, depending on whether the message contains data. If the message does not contain data, the R field is cleared, after which the node sends a second message containing data to the device server. This second message has a set R field. This is indicated by time (E). As shown in time (F) and (G), the second message is tolerated to another message from the device server, the device server is flagged for its data wait, and its service circuit timer is set to time. Send a message when it runs out. When the R field is set, the data wait flag is forced to set, which allows the server to send a confirmation message to the node regardless of whether it actually has the data to send. it can. Once the R field is cleared, the node can then send another message with the data, which constrains the node to send the message and thus the data only when it receives a message from the server. Can be removed.
【0057】
The operation of network 10 (Fig. 1) will be described in detail below. Each node 34 connected to the network 10 periodically sends a multicast service notification message (FIG. 2) identifying a specific service obtained through the node 34. All device servers receive this notification message and establish a service dictionary (Figure 3) that identifies the available services and nodes and the ratings of the services available through each node. Available services are displayed to the operator of the service user from the dictionary of the device server.
【0058】
When the service user 12 requests the use of a service, the device server 24 determines which node 34 provides the service and which has the highest service rating for the service. The device server 24 then determines whether it has a virtual circuit 58 between itself and its node. In the absence of such a virtual circuit, the device server sends a start virtual circuit message (FIGS. 9 and 10) to the node in an attempt to establish the virtual circuit over the communication link 16. If the node responds with a start virtual circuit message, the virtual circuit is established, and then the device server 24 establishes a session between the virtual circuit 58 and the user 12 requesting the service. .. If a virtual circuit already exists for the requested node, the device server does not need to set another virtual circuit, proceeds to the next step, and communicates using the existing virtual circuit. For some types of communication links, such as links that match the Ethernet protocol, the length of each virtual circuit message is limited, limiting the number of users using a single virtual circuit. Is desirable. Therefore, even if a virtual circuit has already been established between the device server and the node, if a large number of users are already using one virtual circuit, another virtual circuit is established. Is desirable.
【0059】
After the virtual circuit is established, the device server 24 transmits a virtual circuit message including a multiplexed session message from a large number of service sessions via the virtual circuit. The session begins at the start session slot (FIGS. 13 and 14), which is sent to the device server 24 and to node 34 to identify the requested service and provide this requested service. And tries to establish a service node through the virtual circuit 58. Once the service session is established, service data and status data can be sent in the cancellation message.
【0060】
The speed at which the device server can send virtual circuit messages over the communication link 16 is limited by the service circuit timer 92 (FIG. 5) so that messages from other virtual circuits can be multiplexed over the communication link. Further, the data standby flag 86 of each device server and node prevents the virtual circuit message from being transmitted through the virtual circuit until they have transmission information. Therefore, neither the device server nor the node sends the message through the virtual circuit 58 until the information to be sent is obtained, and therefore does not send the message more frequently than the server circuit timer allows.
【0061】
When it is finally determined that the user no longer requests the service, the session can be removed by the device server that sends the stop session slot. If all sessions have been removed for the virtual circuit, the device server 24 then removes the virtual circuit by sending a stop virtual circuit message. When yet another service user 12 requests the service provided by the node 34, the session slot is sent by the virtual circuit message sent via the virtual circuit 58. Thus, a single virtual circuit message sent via virtual circuit 58 can include messages between a large number of users 12 and service providers 14. Equipment server Reducing the number of confirmation messages to one response message for each virtual circuit message by establishing a virtual circuit between 24 and node 34 and multiplexing session slots into a single virtual circuit message. Can be done. This reduction reduces the amount of message transmission made over the communication link. This is because only the virtual circuit message between the node and the device server is confirmed, not the message between a particular service user and the service provider. Previously, each message between the service user and the service provider was confirmed by an individual confirmation message, which not only increased the message transmission volume of the communication link, but also the service user and service. Processing operations by the supplier were required, but these are not required in the network 10 used in the present invention.
【0062】
The specific examples of the present invention have been described above. However, it will be clear that some or all of the effects of the present invention can be obtained even when the present invention is carried out in a network having various basic configurations other than those disclosed herein. Therefore, all such changes and modifications that fall within the spirit and scope of the present invention shall be within the scope of the patent claim.
[Simple explanation of drawings]
[Figure 1]
The general block diagram of the local area network used in this invention.
[Figure 2]
The figure showing the content of the service notification message sent by the service provider in the network shown in Figure 1.
[Fig. 3]
A diagram showing a database established by a service user in response to the service notification message shown in Figure 2 in the network of Figure 1.
[Fig. 4]
The figure which shows the virtual circuit and the service session which is advantageous for understanding the operation of the network shown in FIG.
[Fig. 5]
The figure which shows the database used by the service provider and the service user in the network shown in FIG.
[Fig. 6]
The figure which shows the database used by the service provider and the service user in the network shown in FIG.
[Fig. 7]
A phase diagram that is advantageous for understanding the operation of the virtual circuit shown in Fig. 4.
[Fig. 8]
A state diagram useful for understanding the behavior of the service session shown in Figure 1.
[Fig. 9]
The figure which shows the format of the virtual circuit message sent through the virtual circuit shown in FIG.
[Fig. 10]
The figure which shows the format of the virtual circuit message sent through the virtual circuit shown in FIG.
[Fig. 11]
The figure which shows the format of the virtual circuit message sent through the virtual circuit shown in FIG.
[Fig. 12]
The figure which shows the format of the virtual circuit message sent through the virtual circuit shown in FIG.
[Fig. 13]
The figure which shows the format of the session slot message sent between the corresponding session of a device server and a node shown in FIG.
[Fig. 14]
The figure which shows the format of the session slot message sent between the corresponding session of a device server and a node shown in FIG.
[Fig. 15]
The figure which shows the format of the session slot message sent between the corresponding session of a device server and a node shown in FIG.
[Fig. 16]
The figure which shows the format of the session slot message sent between the corresponding session of a device server and a node shown in FIG.
[Fig. 17]
The figure which shows the timing of the message sent through the virtual circuit shown in FIG.
[Explanation of symbols]
10 Local area network 12 Service users 14 Service provider 16 common communication link 18 Video display terminal 20 printer 22 personal computer 24 device server 26 processor 28 Disk drive 30 tape storage unit 32 data link 33 Analog / Digital Converter 34 nodes
17 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP648812B2 | Cites | Japan |
63 members in 10 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 61655384 | United States of America | A | |
| 61655384 | United States of America | A | |
| 616553 | – | – | – |
| 616553 | United States of America | – | – |
| US19840616553 | – | – | – |
Members63
| Document | Office | Kind | |
|---|---|---|---|
| FI852198A0 | Finland | A0 | |
| IE851370L | Ireland | L | |
| FI852198L | Finland | L | |
| EP0163577A2 | European Patent Office (EPO) | A2 | |
| AU4266185A | Australia | A | |
| BR8502706A | Brazil | A | |
| JPS6156538A | Japan | A | |
| EP0163577A3 | European Patent Office (EPO) | A3 | |
| US4823122A | United States of America | A | |
| CA1257399A | Canada | A | |
| AU591057B2 | Australia | B2 | |
| AU4141689A | Australia | A | |
| AU4141789A | Australia | A | |
| MX160504A | Mexico | A | |
| EP0374131A2 | European Patent Office (EPO) | A2 | |
| EP0374132A2 | European Patent Office (EPO) | A2 | |
| EP0374133A2 | European Patent Office (EPO) | A2 | |
| EP0374134A2 | European Patent Office (EPO) | A2 | |
| EP0375664A2 | European Patent Office (EPO) | A2 | |
| EP0380141A2 | European Patent Office (EPO) | A2 | |
| EP0374133A3 | European Patent Office (EPO) | A3 | |
| EP0374134A3 | European Patent Office (EPO) | A3 | |
| EP0375664A3 | European Patent Office (EPO) | A3 | |
| EP0380141A3 | European Patent Office (EPO) | A3 | |
| EP0374131A3 | European Patent Office (EPO) | A3 | |
| EP0374132A3 | European Patent Office (EPO) | A3 | |
| US4975904A | United States of America | A | |
| US4975905A | United States of America | A | |
| CA1279933C | Canada | C | |
| US5058108A | United States of America | A | |
| EP0163577B1 | European Patent Office (EPO) | B1 | |
| DE3584853D1 | Germany | D1 | |
| FI86018B | Finland | B | |
| CA1301941C | Canada | C | |
| FI86018C | Finland | C | |
| EP0374131B1 | European Patent Office (EPO) | B1 | |
| EP0374132B1 | European Patent Office (EPO) | B1 | |
| EP0374133B1 | European Patent Office (EPO) | B1 | |
| EP0374134B1 | European Patent Office (EPO) | B1 | |
| DE3586430D1 | Germany | D1 | |
| DE3586431D1 | Germany | D1 | |
| DE3586433D1 | Germany | D1 | |
| DE3586434D1 | Germany | D1 | |
| EP0375664B1 | European Patent Office (EPO) | B1 | |
| EP0380141B1 | European Patent Office (EPO) | B1 | |
| IE57544B1 | Ireland | B1 | |
| DE3586633D1 | Germany | D1 | |
| DE3586634D1 | Germany | D1 | |
| AU633510B2 | Australia | B2 | |
| AU633511B2 | Australia | B2 | |
| JPH0563706A | Japan | A | |
| DE3586430T2 | Germany | T2 | |
| DE3586431T2 | Germany | T2 | |
| DE3586434T2 | Germany | T2 | |
| DE3586633T2 | Germany | T2 | |
| DE3586634T2 | Germany | T2 | |
| DE3586433T2 | Germany | T2 | |
| JPH0648812B2 | Japan | B2 | |
| JP2515075B2This record | Japan | B2 | |
| JPH08214003A | Japan | A | |
| US5621734A | United States of America | A | |
| JP2698336B2 | Japan | B2 | |
| US5734659A | United States of America | A |
Numbers
- Publication
- 2515075
- Publication, DOCDB
- 2515075
- Publication, EPODOC
- JP2515075B
- Application
- 4032437
- Application, DOCDB
- 3243792
- Application, EPODOC
- JP19920032437
Titles2
- Japanese
- デジタルデ―タ処理システムのためのロ―カルエリアネットワ―ク
- English
- Description: Local Area Network for Digital Data Processing Systems
Classification
- CPC, 10
- H04L69/326
- H04L69/18
- H04L69/28
- H04L69/24
- H04L69/329
- H04L69/00
- H04L67/54
- H04L67/51
- H04L9/40
- H04L67/01
- IPC, 5
- G06F13 00
- H04L12 413
- H04L29 00
- H04L29 06
- H04L29 08
