WO2012132102A1 - ネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法 - Google Patents

ネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法 Download PDF

Info

Publication number
WO2012132102A1
WO2012132102A1 PCT/JP2011/076625 JP2011076625W WO2012132102A1 WO 2012132102 A1 WO2012132102 A1 WO 2012132102A1 JP 2011076625 W JP2011076625 W JP 2011076625W WO 2012132102 A1 WO2012132102 A1 WO 2012132102A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
processing program
program
waiting time
terminal
Prior art date
Application number
PCT/JP2011/076625
Other languages
English (en)
French (fr)
Inventor
小田利彦
押山浩之
Original Assignee
オムロン株式会社
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 オムロン株式会社 filed Critical オムロン株式会社
Priority to JP2013507051A priority Critical patent/JP5686184B2/ja
Publication of WO2012132102A1 publication Critical patent/WO2012132102A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Definitions

  • the present invention relates to a network system in which a plurality of processing terminals are connected so as to be able to communicate with each other, and each processing terminal selectively uses a processing program installed in an arbitrary processing terminal including its own terminal.
  • the present invention relates to a processing terminal, a waiting time setting program, and a waiting time setting method.
  • a network device that performs TCP / IP communication holds a routing table in order to perform communication using IP packets. In this routing table, an IP address, a subnet mask, a default gateway, an interface, and the like are set. The network device refers to the routing table and determines a transmission destination (communication partner terminal) to transmit the packet.
  • CORBA Common Object Request Request Broker Architecture
  • the processing terminal manages the logical name of the processing program and the physical location information of the processing terminal on which the processing program is installed in a table.
  • the processing terminal has a function (broker) for acquiring physical information for accessing the processing program by referring to the table when an arbitrary processing program is executed.
  • a processing program that performs asynchronous communication waits for a process from sending a message to the other party until a response is returned and a reception interrupt is made.
  • this waiting time is set as a fixed value (for example, 50 ms) in the processing program, and the process is always interrupted for the same time to wait for a reception interrupt.
  • command transmission / reception type system composed of a side that transmits a command and a side that receives a command and executes and returns a corresponding command process (see Patent Document 1).
  • the command transmission side receives information on the time required for command processing from the command reception side, and sets a response waiting time for that time.
  • a plurality of processing terminals equipped with processing programs are connected so that they can communicate with each other, and processing programs installed in any processing terminal can be used for various types of communication such as LAN communication, serial communication, and inter-processor communication.
  • the communication method differs depending on the processing terminal in which the processing program is installed. For this reason, the time required for communication varies depending on the processing terminal in which the processing program is mounted even if the processing program has the same processing content. Also, the processing time (execution time) varies depending on the performance of the processing terminal on which the processing program is mounted even if the processing program has the same processing content.
  • the execution time is different if the processing program has different processing contents even if the performance of the processing terminal on which the processing program is installed is the same.
  • the processing terminal uses a processing program installed in an arbitrary processing terminal including its own terminal, the time required from transmission of a request to the processing program until reception of the processing result is not constant. For this reason, when a processing terminal uses a processing program, the waiting time from the transmission of a request to the processing program to the reception of the processing result may be set short or conversely. If the waiting time is short, the processing terminal retransmits the request to the processing program because the waiting time elapses before receiving the processing result. On the other hand, when the processing terminal has a long waiting time, when the processing result is not sent from the processing program due to some trouble such as execution of the processing program or communication, the processing terminal executes the processing program again. The timing for resending the request is delayed.
  • a dynamic system that dynamically changes a processing program used by a processing terminal is dependent on the performance of the processing terminal on which the processing program to be used is mounted as described above even if the processing content is the same processing program.
  • the optimal waiting time is different. Therefore, the waiting time cannot be determined by the type of processing program.
  • An object of the present invention is to provide a network system and a processing terminal for appropriately setting a waiting time according to a selected processing program in a dynamic system in which the processing terminal selectively uses a processing program installed in an arbitrary processing terminal.
  • a waiting time setting program and a waiting time setting method are provided.
  • the network system of the present invention is configured as follows in order to solve the above-described problems and achieve the object.
  • This network system connects a plurality of processing terminals so that they can communicate with each other.
  • Each processing terminal can selectively use a processing program installed in an arbitrary processing terminal (including its own terminal).
  • the processing terminal stores the routing table in the storage unit.
  • the routing table for each available processing program, there are multiple items that affect the items that the processing program executes, the processing terminal on which the processing program is installed, and the waiting time when using the processing program.
  • the attribute values for each type of attribute are registered in association with each other.
  • the types of attributes that influence the waiting time are, for example, communication time, number of transmission retries, transmission retry waiting time, and execution time of the processing program.
  • the communication time is a time obtained by adding the communication time required for notification of processing contents and the communication time required for notification of processing results.
  • the number of transmission retries is an upper limit value of the number of times a response request is retransmitted when there is no ACK response to the response request due to a communication failure or the like.
  • the transmission retry waiting time is a waiting time until a response request is transmitted (retransmitted) again when there is no ACK response to the response request.
  • the execution time of a processing program is the time taken for execution
  • the processing time of the processing program varies depending on the performance of the processing terminal on which the processing program is installed, it is preferable to store it in the routing table as follows.
  • Each processing terminal measures the execution time of this processing program when it first executes the processing program installed in its own terminal, and stores it in the routing table of its own terminal. Then, if necessary, the processing time is notified to other processing terminals. Each processing terminal stores the notified processing time as the processing time of the corresponding processing program registered in the routing table of its own terminal when the processing time of the processing program is notified from another processing terminal.
  • the waiting time acquisition unit refers to the routing table for the processing program selected when the processing terminal performs the execution processing related to an arbitrary item. Get the waiting time at. Then, the request unit sets the acquired waiting time, and requests execution processing from the selected processing program.
  • the waiting time can be set appropriately according to the selected processing program. Therefore, it is possible to prevent the processing terminal from resending the request at an inappropriate timing with respect to the processing program, and to improve the processing efficiency.
  • the waiting time can be set appropriately according to the selected processing program. Therefore, it is possible to prevent the processing terminal from resending the request at an inappropriate timing with respect to the processing program, and to improve the processing efficiency.
  • FIG. 1 is a schematic diagram showing a network system. It is the schematic which shows the hierarchical structure of an information processing terminal. It is a figure which shows a routing table. It is a flowchart which shows operation
  • FIG. 1 is a schematic diagram showing a network system according to an embodiment of the present invention.
  • three information processing terminals 1 (1A to 1C) are shown.
  • the information processing terminals 1A and 1C are connected via an Ethernet (registered trademark) LAN and can communicate with each other. Further, the information processing terminal 1A and the information processing terminal 1B are communicably connected via RS232C.
  • the information processing terminal 1A is equipped with a processing program A and a processing program X.
  • the information processing terminal 1B is equipped with a processing program X.
  • the information processing terminal 1C is equipped with a processing program Y and a processing program Z.
  • the processing program A is an application program.
  • the processing programs X, Y, and Z are subroutine programs that the processing program A may use at the time of execution.
  • FIG. 2 is a schematic diagram showing the hierarchical structure of the information processing terminal.
  • the information processing terminal 1 includes an operating system layer 10 (hereinafter referred to as an OS layer 10), a communication virtualization layer 11, an application layer 14, a driver layer 15, and a hardware layer 16. .
  • the OS layer 10 is a layer that executes the OS of the information processing terminal 1.
  • the OS is stored in a storage medium such as a hard disk (not shown).
  • the OS layer 10 executes the OS read from the storage medium.
  • the communication virtualization layer 11 is located above the OS layer 10.
  • the application layer 14 is a hierarchy positioned above the communication virtualization layer 11.
  • the application layer 14 is a layer for executing an application program and a subroutine program used when executing the application program.
  • the application program and the subroutine program are stored in a storage medium such as a hard disk (not shown) like the OS.
  • This application program and subroutine program correspond to the processing program referred to in the present invention.
  • application programs executed in the application layer 14, subroutine programs, and the like are collectively referred to as processing programs.
  • the communication virtualization layer 11 considers the extensibility of this network system, and any processing program executed by the application layer 14 can use this other program without knowing the communication procedure with the other processing program. This is a hierarchy provided for this purpose.
  • the communication virtualization layer 11 plays a role of virtualizing communication procedures by absorbing differences in implementation methods such as serial communication and network communication in communication between programs. Therefore, the communication virtualization layer 11 executes a communication virtualization program that provides an interface that can transparently handle various communication methods to the application layer 14 that is the upper layer.
  • This communication virtualization program is also stored in a storage medium such as a hard disk (not shown) in the same manner as the OS, application program, and subroutine program.
  • the communication virtualization layer 11 uses the routing table 12 stored in a storage medium such as a hard disk (not shown) when executing the communication virtualization program.
  • FIG. 3 is a diagram showing a routing table.
  • the routing table 12 is not the same for all the information processing terminals 1 but is different for each information processing terminal 1.
  • FIG. 3 is an example of the routing table 12 included in the information processing terminal 1A shown in FIG.
  • the routing table 12 is a table in which a processing name, a communication method, an IP address / port number, a communication time, a number of transmission retries, a transmission retry waiting time, and a processing time are associated with each processing program that can be used by the information processing terminal 1. is there.
  • Process name is the name of the process executed by the processing program.
  • Processing programs having the same processing name are programs that have the same execution processing result for the same input, but are not necessarily the same program. That is, the processing program may have different specifications even if the processing name is the same.
  • the communication method is a communication method when using the processing program.
  • the IP address / port number indicates the position of the processing program on the network.
  • the communication time is the time required for a packet to return to and from the processing program. Specifically, it is a time obtained by adding the communication forward time for data communication related to the processing request and the communication return time for data communication related to the processing result.
  • the number of transmission retries is the number of times that the response request is retransmitted when the ACK response from the destination communication virtualization layer is no response.
  • the transmission retry wait time is the wait time from the time of sending the current response request until the next response request is sent when there is no response to the response request from the destination communication virtualization layer. .
  • the transmission time of the response request is included in the transmission retry waiting time.
  • the processing time is the time taken from the start to completion of the processing program.
  • the information processing terminal 1 When the information processing terminal 1 first executes a processing program installed in its own terminal, it measures the execution time of this processing program and stores it in the routing table 12 of its own terminal. Further, the processing time is notified to other information processing terminals 1 as necessary. When the processing time of the processing program is notified from the other information processing terminal 1, the information processing terminal 1 uses the notified processing time as the processing time of the corresponding processing program registered in the routing table 12 of the terminal itself.
  • the driver layer 15 is a layer in which a communication driver that controls network communication such as UDP and TCP and a communication driver that controls serial communication such as RS-232C are located.
  • the driver layer 15 is positioned below the OS layer 10 as shown in FIG.
  • the hardware layer 16 is a hierarchy in which hardware such as a CPU, a memory (RAM), a communication control device that performs communication, and an input / output device that performs input / output are located.
  • the hardware layer 16 is located below the driver layer 15.
  • FIG. 4 is a flowchart showing the operation of the information processing terminal on the requesting side (requesting side).
  • FIG. 5 is a flowchart showing the operation of the information processing terminal on the side where the execution of the processing program is requested (execution side).
  • the processing program A application program
  • the processing program A in the application layer 14 uses any of the processing programs X, Y, and Z (subroutine program) will be described as an example.
  • the requesting information processing terminal 1 executes the execution request in the communication virtualization layer 11. Notify the communication virtualization program.
  • the communication virtualization program executed in the communication virtualization layer 11 selects the processing program requested this time with reference to the routing table 12 (s2).
  • the processing program requested this time is extracted from the routing table 12, and one of the extracted processing programs is selected based on a predetermined condition or the like. For example, if the processing program requested to be executed is the processing program X shown in FIG. 1, the processing program X mounted on the information processing terminal 1B is selected. If the processing program requested to be executed is the processing program Y shown in FIG. 1, one of the processing program Y installed in the information processing terminal 1A or the processing program Y installed in the information processing terminal 1C is selected. The selection is made based on a predetermined condition. If the processing program requested to be executed is the processing program Z shown in FIG. 1, the processing program Z installed in the information processing terminal 1C is selected.
  • the communication virtualization program determines whether the processing time of the processing program selected in s2 is registered in the routing table 12 (s3). If the processing time of the selected processing program is not registered in the routing table 12, the communication virtualization program transmits an execution request including a notification of the processing time (s4). Conversely, if the processing time of the selected processing program is registered in the routing table 12, the communication virtualization program transmits an execution request that does not include the processing time notification (s5). In s4 or s5, the communication virtualization program transmits an execution request according to a communication procedure (communication procedure registered in the routing table 12) corresponding to the processing program selected in s2.
  • the execution-side information processing terminal 1 determines whether or not a processing time notification request is included. (S22). If the execution time information processing terminal 1 includes a processing time notification request, the execution side information processing terminal 1 refers to the routing table 12 to acquire the processing time of the processing program notified of the current execution request, The information processing terminal 1 is notified (s23).
  • the information processing terminal 1 on the execution side does not perform the processing related to s23 unless the processing time notification request is included.
  • the information processing terminal 1 on the request side transmits an execution request including the notification of the processing time in s4, it waits for the processing time notification from the information processing terminal 1 on the execution side, calculates the waiting time, This is notified to the application program (s6, s7).
  • the requesting information processing terminal 1 stores the processing time notified this time as the processing time of the corresponding processing program registered in the routing table 12. If the request-side information processing terminal 1 transmits an execution request that does not include the processing time notification in s5, the requesting information processing terminal 1 calculates a waiting time and notifies the application program of this (s8).
  • FIG. 6 is a diagram for explaining the waiting time for a processing program in which the number of transmission retries is set to two.
  • the waiting time for this processing program is maximized when the response request is retransmitted twice. That is, as shown in FIG. 6, the maximum waiting time is when two transmission retry waiting times, communication forward time, processing time, and communication return time occur.
  • the ACK response from the communication virtualization layer 11 on the execution side is not shown.
  • the sum of the communication forward time and the communication return time is the communication time registered in the routing table 12.
  • the number of transmission retries, the transmission retry waiting time, and the processing time are also registered in the routing table 12.
  • the processing time is acquired in s6.
  • the requesting information processing terminal 1 sets the waiting time calculated in s7 or s8 for the application program executed in the application layer 14 (s9).
  • the information processing terminal 1 on the execution side executes the processing program requested to be executed in the application layer 14 (s24), and the obtained processing result is sent to the information processing terminal 1 on the request side via the communication virtualization layer 11. Notification is made (s25), and this process is terminated.
  • the request-side information processing terminal 1 When the request-side information processing terminal 1 receives the processing result from the execution-side information processing terminal 1 in the application layer 14 (s10), the request-side information processing terminal 1 delivers the processing result in the interrupt processing for the application program executed in the application layer 14. (S11). That is, the application program executed in the application layer 14 receives the processing result by the processing program and restarts the processing.
  • the information processing terminal 1 on the requesting side can appropriately set the waiting time for execution of the processing program for the application program executed in the application layer 14. Processing efficiency can be improved.
  • FIG. 7 is a schematic diagram showing a station service system.
  • FIG. 8 is a diagram showing a routing table stored in the settlement machine.
  • the checkout machine 20, the automatic ticket gate 21, and the station server 22 are connected via a LAN so that they can communicate with each other.
  • the settlement machine 20 receives a ticket from a railroad user and settles the fare.
  • the automatic ticket gate 21 is installed at a ticket gate of a station and performs a ticket gate process for a user.
  • the station server 22 manages station equipment such as a payment machine 20, an automatic ticket gate 21, and a ticket machine installed in the station.
  • the settlement machine 20 is equipped with a settlement program (application program) that performs a settlement process and a fare calculation program (subroutine program) that calculates a fare.
  • the automatic ticket gate 21 and the station server 22 are equipped with a fare calculation program.
  • a fare calculation program (No1) installed in its own machine, a fare calculation program (No2) installed in the automatic ticket gate 21, a station A fare calculation program (No. 3) installed in the server 22 is registered.
  • This settlement machine 20 receives a ticket from a railroad user and starts executing a settlement program in order to settle the fare.
  • the fare adjustment machine 20 selects one of the fare calculation program installed in the own machine (the adjustment machine 20), the automatic ticket gate 21 or the station server 22. The execution request is made to the fare calculation program selected here.
  • the checkout machine 20 sets a waiting time corresponding to the selected fare calculation program for the checkout program being executed.
  • the network system of the present invention is not limited to the station service system described above, and can be applied to other systems.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

情報処理端末(1)が、通信可能に接続されている任意の処理端末(1)に搭載されている処理プログラムを選択的に利用する動的システムにおいて、選択した処理プログラムに応じて待ち時間を適正に設定する。 情報処理端末(1)は、利用可能な処理プログラム毎に、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている情報処理端末(1)と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけたルーティングテーブル(12)を記憶する。情報処理端末(1)は、任意の項目にかかる実行処理を行うとき、選択した処理プログラムについて、ルーティングテーブル(12)を参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する。情報処理端末(1)は、取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する。

Description

ネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法
 この発明は、複数の処理端末を相互に通信可能に接続し、各処理端末が自端末を含む任意の処理端末に搭載されている処理プログラムを選択的に利用するネットワークシステム、このネットワークシステムにかかる処理端末、待ち時間設定プログラム、および、待ち時間設定方法に関する。
 従来、複数の処理端末(ネットワーク機器)を相互に通信可能に接続したネットワークシステムがある。処理端末間の通信は、TCP/IP等の公知のプロトコルで行われる。TCP/IP通信を行うネットワーク機器は、IPパケットによる通信を行うために、ルーティング表を保持している。このルーティング表は、IPアドレス、サブネットマスク、デフォルトゲートウエイ、インターフェイス等が設定されている。ネットワーク機器は、このルーティング表を参照して、パケットを送信する送信先(通信相手端末)を決定する。
 また、処理プログラム(アプリケーションプログラムやサブルーチンプログラム等)を、ネットワークを介して動的に選択し、遠隔実行するCORBA(Common Object Request Broker Architecture)等の分散オブジェクトシステムがある。この分散オブジェクトシステムは、処理端末が処理プログラムの論理的な名前と、この処理プログラムが搭載されている処理端末の物理的な位置情報と、をテーブルで管理している。処理端末は、任意の処理プログラムを実行するとき、この処理プログラムにアクセスするための物理的な情報を上記テーブルを参照して取得する機能(ブローカ)を有している。
 また、非同期な通信を行う処理プログラムは、あるメッセージを相手先に送信してから、その応答が返ってきて受信割り込みが行われるまで、プロセスの状態を待ち状態にする。通常、この待ち時間は、処理プログラムの中で固定値(例えば50ms)として設定されており、常に同じ時間だけプロセスを中断して受信割り込みを待つ。
 さらに、コマンドを送信する側と、コマンドを受信して対応するコマンド処理を実行して返す側とで構成されるコマンド送受信型システムもある(特許文献1参照)。このコマンド送受信型システムは、コマンド送信側がコマンド受信側からコマンド処理に要する時間に関する情報を受け取り、その時間だけ応答の待ち時間を設定する。
特開2005-346175号公報
 しかしながら、処理プログラムを搭載した複数の処理端末を相互に通信可能に接続し、LAN通信、シリアル通信、プロセッサ間通信等の様々な方式の通信で任意の処理端末に搭載されている処理プログラムが利用できるネットワーク分散システムにおいては、同じ処理内容の処理プログラムであっても、その処理プログラムが搭載されている処理端末によって通信方式が異なる。このため、通信に要する時間は、同じ処理内容の処理プログラムであっても、その処理プログラムが搭載されている処理端末によって異なる。また、処理時間(実行時間)は、同じ処理内容の処理プログラムであっても、その処理プログラムが搭載されている処理端末の性能によって異なる。
 なお、実行時間は、処理内容が異なる処理プログラムであれば、その処理プログラムが搭載されている処理端末の性能が同じであったとしても異なる。
 したがって、処理端末は、自端末を含む任意の処理端末に搭載されている処理プログラムを利用する場合、その処理プログラムに対する要求の送信から、処理結果を受信するまでの所要時間が一定ではない。このため、処理端末は、処理プログラムを利用する場合、その処理プログラムに対する要求の送信から、処理結果を受信するまでの待ち時間が短く設定されたり、逆に長く設定されたりすることがあった。処理端末は、待ち時間が短い場合、待ち時間が処理結果を受信する前に経過するので、処理プログラムに対して要求を再送することになる。反対に、処理端末は、待ち時間が長い場合は、処理プログラムの実行上あるいは通信上など何らかの障害で処理プログラムから処理結果が送られてこないときに、この処理プログラムに対して再度実行させるための要求を再送するタイミングが遅れる。
 特に、処理端末が利用する処理プログラムを動的に変更する動的システムは、処理内容が同じ処理プログラムであっても、上述したように、利用する処理プログラムが搭載されている処理端末の性能によって、最適な待ち時間が異なる。したがって、処理プログラムの種類で待ち時間を決めることができない。
 この発明の目的は、処理端末が任意の処理端末に搭載されている処理プログラムを選択的に利用する動的システムにおいて、選択した処理プログラムに応じて待ち時間を適正に設定するネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法を提供することにある。
 この発明のネットワークシステムは、上記課題を解決し、その目的を達するために以下のように構成している。
 このネットワークシステムは、複数の処理端末を相互に通信可能に接続している。各処理端末は、任意の処理端末(自端末を含む)に搭載されている処理プログラムを選択的に利用することができる。
 処理端末は、ルーティングテーブルを記憶部に記憶する。ルーティングテーブルには、利用可能な処理プログラム毎に、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、が対応づけて登録されている。待ち時間に影響を与える属性の種類は、例えば、通信時間、送信リトライ回数、送信リトライ待ち時間、処理プログラムの実行時間である。通信時間は、処理内容の通知にかかる通信時間と、処理結果の通知にかかる通信時間と、を加算した時間である。送信リトライ回数は、通信障害などで応答要求に対するACK応答がない場合に、応答要求を再送信する回数の上限値である。送信リトライ待ち時間は、応答要求に対するACK応答がない場合に、再度応答要求を送信(再送信)するまでの待ち時間である。処理プログラムの実行時間は、その処理プログラムの実行処理にかかる時間である。
 処理プログラムの処理時間は、この処理プログラムが搭載されている処理端末の性能によって異なるので、以下のようにして、ルーティングテーブルに記憶するのが好ましい。
 各処理端末は、自端末に搭載されている処理プログラムを最初に実行したときに、この処理プログラムの実行時間を計測し、自端末のルーティングテーブルに記憶する。そして、必要に応じて、他の処理端末に対して処理時間を通知する。各処理端末は、他の処理端末から処理プログラムの処理時間が通知されたとき、通知された処理時間を、自端末のルーティングテーブルに登録されている該当する処理プログラムの処理時間として記憶する。
 処理端末が任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、待ち時間取得部がルーティングテーブルを参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する。そして、要求部が、取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する。
 したがって、待ち時間が、選択した処理プログラムに応じて適正に設定できる。これにより、処理端末が、処理プログラムに対して不適正なタイミングで要求を再送するのを防止し、処理効率を向上させることができる。
 この発明によれば、待ち時間の設定が、選択した処理プログラムに応じて適正に行える。したがって、処理端末が、処理プログラムに対して不適正なタイミングで要求を再送するのを防止し、処理効率を向上させることができる。
ネットワークシステムを示す概略図である。 情報処理端末の階層構造を示す概略図である。 ルーティングテーブルを示す図である。 処理プログラムの実行を要求する側の動作を示すフローチャートである。 処理プログラムの実行が要求される側の動作を示すフローチャートである。 待ち時間を説明する図である。 駅務システムを示す概略図である。 精算機が記憶するルーティングテーブルを示す図である。
 以下、この発明の実施形態について説明する。
 図1は、この発明の実施形態であるネットワークシステムを示す概略図である。図1では、3台の情報処理端末1(1A~1C)を示している。情報処理端末1A、1Cは、イーサネット(登録商標)によるLANで接続しており、相互に通信できる。また、情報処理端末1Aと、情報処理端末1Bとは、RS232Cで通信可能に接続している。
 図1に示す例では、情報処理端末1Aは、処理プログラムA、および処理プログラムXを搭載している。情報処理端末1Bは、処理プログラムXを搭載している。情報処理端末1Cは、処理プログラムY、および処理プログラムZを搭載している。
 ここでは、処理プログラムAは、アプリケーションプログラムである。また、処理プログラムX、Y、Zは、処理プログラムAが実行時に利用することがあるサブルーチンプログラムである。
 図2は、情報処理端末の階層構造を示す概略図である。情報処理端末1は、オペレーティングシステム層10(以下、OS層10と言う。)と、通信仮想化層11と、アプリケーション層14と、ドライバ層15と、ハードウェア層16と、を有している。
 OS層10は、情報処理端末1のOSを実行する階層である。OSは、ハードディスク(不図示)等の記憶媒体に記憶している。OS層10は、記憶媒体から読み出したOSを実行する。
 通信仮想化層11は、OS層10の上位に位置する。アプリケーション層14は、この通信仮想化層11の上位に位置する階層である。アプリケーション層14は、アプリケーションプログラムや、このアプリケーションプログラムの実行時に使用するサブルーチンプログラム等を実行する階層である。アプリケーションプログラムや、サブルーチンプログラムは、OSと同様に、ハードディスク(不図示)等の記憶媒体に記憶している。このアプリケーションプログラムや、サブルーチンプログラムが、この発明で言う処理プログラムに相当する。以下、アプリケーション層14で実行するアプリケーションプログラムや、サブルーチンプログラム等を総称して処理プログラムと言う。
 通信仮想化層11は、このネットワークシステムの拡張性を考え、アプリケーション層14で実行する任意の処理プログラムが、他の処理プログラムとの通信手順を知らなくても、この他のプログラムを利用可能にするために設けた階層である。通信仮想化層11は、プログラム間の通信において、シリアル通信やネットワーク通信などの実装方式の違いを吸収して通信手順を仮想化する役割を果たす。このため、通信仮想化層11は、様々な通信方式を透過的に扱えるインターフェイスを上位層であるアプリケーション層14に提供する通信仮想化プログラムを実行する。この通信仮想化プログラムも、OS、アプリケーションプログラム、サブルーチンプログラムと同様に、ハードディスク(不図示)等の記憶媒体に記憶している。
 また、この通信仮想化層11は、通信仮想化プログラムの実行に際して、ハードディスク(不図示)等の記憶媒体に記憶している、ルーティングテーブル12を使用する。
 図3は、ルーティングテーブルを示す図である。ルーティングテーブル12は、全ての情報処理端末1で同じではなく、情報処理端末1毎に異なる。図3は、図1に示す情報処理端末1Aが有するルーティングテーブル12の例である。ルーティングテーブル12は、情報処理端末1が利用できる処理プログラム毎に、処理名、通信方式、IPアドレス/ポート番号、通信時間、送信リトライ回数、送信リトライ待ち時間、および処理時間を対応づけたテーブルである。
 処理名は、処理プログラムが実行する処理の名前である。処理名が同じである処理プログラムは、同じ入力に対する実行処理の結果が同じになるプログラムであるが、同一のプログラムであるとは限らない。すなわち、処理プログラムは、処理名が同じであっても、そのスペックが異なる場合がある。通信方式は、その処理プログラムを利用するときの通信方式である。IPアドレス/ポート番号は、その処理プログラムのネットワーク上の位置を示す。
 また、通信時間は、その処理プログラムとの間でパケットが往復するのに要する時間である。具体的に、処理要求にかかるデータの通信にかかる通信往路時間と、処理結果にかかるデータの通信にかかる通信復路時間と、を加算した時間である。送信リトライ回数は、送信先の通信仮想化層からのACK応答が無応答の場合に、応答要求を再送する回数である。送信リトライ待ち時間は、送信先の通信仮想化層からの応答要求に対して無応答であった場合に、今回の応答要求の送信時から、次回の応答要求を送信するまでの待ち時間である。応答要求の送信時間は、送信リトライ待ち時間に含まれている。処理時間は、その処理プログラムの実行開始から完了までにかかる時間である。情報処理端末1は、自端末に搭載されている処理プログラムを最初に実行したときに、この処理プログラムの実行時間を計測し、自端末のルーティングテーブル12に記憶する。また、必要に応じて、他の情報処理端末1に対して処理時間を通知する。情報処理端末1は、他の情報処理端末1から処理プログラムの処理時間が通知されると、通知された処理時間を、自端末のルーティングテーブル12に登録されている該当する処理プログラムの処理時間として記憶する。
 ドライバ層15は、UDPやTCP等のネットワーク通信を制御する通信ドライバや、RS-232C等のシリアル通信を制御する通信ドライバが位置する階層である。ドライバ層15は、図2に示すように、OS層10の下位に位置する。
 ハードウェア層16は、CPU、メモリ(RAM)、通信を実行する通信制御装置、入出力を行う入出力装置等のハードウェアが位置する階層である。ハードウェア層16は、ドライバ層15の下位に位置する。
 次に、情報処理端末1が、自端末を含む任意の情報処理端末1に搭載されている処理プログラムを利用するときの動作について説明する。図4は、処理プログラムの実行を要求する側(要求側)の情報処理端末の動作を示すフローチャートである。図5は、処理プログラムの実行が要求される側(実行側)の情報処理端末の動作を示すフローチャートである。ここでは、情報処理端末1Aがアプリケーション層14で実行している処理プログラムA(アプリケーションプログラム)が、処理プログラムX、Y、Z(サブルーチンプログラム)のいずれかを利用する場合を例示しながら説明する。
 なお、ここで説明する各種プログラムの動作は、そのプログラム自体が実際に動作するわけではなく、そのプログラムを実行している情報処理端末1の動作である。
 要求側の情報処理端末1は、アプリケーション層14で実行しているアプリケーションプログラムにおいて、サブルーチンである処理プログラムの実行要求が発生すると(s1)、この実行要求を通信仮想化層11で実行されている通信仮想化プログラムに通知する。
 通信仮想化層11で実行されている通信仮想化プログラムは、ルーティングテーブル12を参照して、今回要求された処理プログラムを選択する(s2)。s2では、ルーティングテーブル12から今回要求された処理プログラムを抽出し、予め定められている条件等に基づいて、抽出した処理プログラムの中から1つを選択する処理である。例えば、実行が要求された処理プログラムが、図1に示す処理プログラムXであれば情報処理端末1Bに搭載されている処理プログラムXを選択する。また、実行が要求された処理プログラムが、図1に示す処理プログラムYであれば情報処理端末1Aに搭載されている処理プログラムY、または情報処理端末1Cに搭載されている処理プログラムYの一方を、予め定められている条件に基づいて選択する。また、実行が要求された処理プログラムが、図1に示す処理プログラムZであれば情報処理端末1Cに搭載されている処理プログラムZを選択する。
 通信仮想化プログラムは、s2で選択した処理プログラムの処理時間がルーティングテーブル12に登録されているかどうかを判定する(s3)。通信仮想化プログラムは、選択した処理プログラムの処理時間がルーティングテーブル12に登録されていなければ、処理時間の通知を含む実行要求を送信する(s4)。反対に、通信仮想化プログラムは、選択した処理プログラムの処理時間がルーティングテーブル12に登録されていれば、処理時間の通知を含まない実行要求を送信する(s5)。s4、またはs5では、通信仮想化プログラムは、s2で選択した処理プログラムに応じた通信手順(ルーティングテーブル12に登録されている通信手順)で実行要求を送信する。
 実行側の情報処理端末1は、通信仮想化層11で実行している通信仮想化プログラムが、処理プログラムの実行要求を受信すると(s21)、処理時間の通知要求が含まれているかどうかを判定する(s22)。実行側の情報処理端末1は、処理時間の通知要求が含まれていれば、ルーティングテーブル12を参照して、今回実行要求が通知された処理プログラムの処理時間を取得し、これを要求側の情報処理端末1に通知する(s23)。
 なお、実行側の情報処理端末1は、処理時間の通知要求が含まれていなければ、s23にかかる処理を行わない。
 要求側の情報処理端末1は、s4で処理時間の通知を含む実行要求を送信した場合は、実行側の情報処理端末1から処理時間が通知されるのを待って、待ち時間を計算し、これをアプリケーションプログラムに通知する(s6、s7)。また、要求側の情報処理端末1は、s7では、今回通知された処理時間を、ルーティングテーブル12に登録されている該当する処理プログラムの処理時間として記憶する。要求側の情報処理端末1は、s5で処理時間の通知を含まない実行要求を送信した場合は、待ち時間を計算し、これをアプリケーションプログラムに通知する(s8)。
 図6は、送信リトライ回数が2回に設定されている処理プログラムに対する待ち時間を説明する図である。この処理プログラムに対する待ち時間は、応答要求を2回再送したときが最大になる。すなわち、最大の待ち時間は、図6に示すように、2回の送信リトライ待ち時間、通信往路時間、処理時間、および通信復路時間が発生したときである。この図6では、実行側の通信仮想化層11からのACK応答については、図示を省略している。
 上述したように、通信往路時間と、通信復路時間との和が、ルーティングテーブル12に登録されている通信時間である。また、送信リトライ回数、送信リトライ待ち時間、および処理時間もルーティングテーブル12に登録されている。
 なお、処理時間は、ルーティングテーブル12に登録されていなければ、s6で取得している。
 s7、またはs8では、要求側の情報処理端末1は、
 待ち時間=送信リトライ回数×送信リトライ待ち時間+通信時間+処理時間
により、最大の待ち時間を計算する。
 なお、処理結果が得られるまでの時間は、送信リトライの発生回数が減少することにより、短くなる。
 要求側の情報処理端末1は、アプリケーション層14で実行しているアプリケーションプログラムに対して、s7、またはs8で計算した待ち時間を設定する(s9)。
 実行側の情報処理端末1は、アプリケーション層14で実行要求された処理プログラムを実行し(s24)、得られた処理結果を、通信仮想化層11を介して、要求側の情報処理端末1に通知し(s25)、本処理を終了する。
 要求側の情報処理端末1は、アプリケーション層14で、実行側の情報処理端末1から処理結果を受信すると(s10)、アプリケーション層14で実行しているアプリケーションプログラムに対する割り込み処理で処理結果を受け渡す(s11)。すなわち、アプリケーション層14で実行しているアプリケーションプログラムが、処理プログラムによる処理結果を受け取り、処理を再開する。
 このように、要求側の情報処理端末1は、アプリケーション層14で実行しているアプリケーションプログラムに対して、処理プログラムの実行にかかる待ち時間を適正に設定することができるので、情報処理端末1の処理効率を向上させることができる。
 ここで、上記のネットワークシステムを駅務システムに適用した場合の例について説明する。図7は、駅務システムを示す概略図である。図8は、精算機が記憶するルーティングテーブルを示す図である。図7では、精算機20、自動改札機21、および駅サーバ22をLANで接続し、相互に通信可能にしている。精算機20は、鉄道利用者から乗車券を受け付けて、運賃を精算する。自動改札機21は、駅の改札口に設置され、利用者に対して改札処理を行う。駅サーバ22は、駅に設置されている精算機20、自動改札機21、券売機等の駅務機器を管理する。
 精算機20は、精算処理を行う精算プログラム(アプリケーションプログラム)、および、運賃を計算する運賃計算プログラム(サブルーチンプログラム)を搭載している。自動改札機21、および駅サーバ22は、運賃計算プログラムを搭載している。
 精算機20が記憶するルーティングテーブル12には、図8に示すように、自機に搭載されている運賃計算プログラム(No1)、自動改札機21に搭載されている運賃計算プログラム(No2)、駅サーバ22に搭載されている運賃計算プログラム(No3)が登録されている。
 この精算機20は、鉄道利用者から乗車券を受け付けて、運賃を精算するために、精算プログラムの実行を開始する。精算器20は、この精算プログラムにおいて運賃計算プログラムの実行要求が発生すると、自機(精算機20)、自動改札機21、または駅サーバ22に搭載されている運賃計算プログラムのいずれかを選択し、ここで選択した運賃計算プログラムに対して実行要求を行う。
 このとき、精算器20は、自機の運賃計算プログラムを選択した場合、
 待ち時間=1×1+1+10=12ms
を待ち時間として算出し、精算プログラムに設定する。
 また、精算器20は、自動改札機21の運賃計算プログラムを選択した場合、
 待ち時間=2×10+1+10=31ms
を待ち時間として算出し、精算プログラムに設定する。
 さらに、精算器20は、駅サーバ22の運賃計算プログラムを選択した場合、
 待ち時間=3×5+1+10=26ms
を待ち時間として算出し、精算プログラムに設定する。
 このように、精算機20は、実行している精算プログラムに対して、選択した運賃計算プログラムに応じた待ち時間を設定する。
 なお、この発明のネットワークシステムは、上述の駅務システムに限らず、他のシステムにも適用できる。
 1(1A、1B、1C)…情報処理端末
 10…オペレーティングシステム層(OS層)
 11…通信仮想化層
 12…ルーティングテーブル
 14…アプリケーション層
 15…ドライバ層
 16…ハードウェア層
 20…精算機
 21…自動改札機
 22…駅サーバ

Claims (8)

  1.  複数の処理端末を相互に通信可能に接続し、前記処理端末が任意の処理端末に搭載されている処理プログラムを選択的に利用するネットワークシステムにおいて、
     前記処理端末は、
      利用可能な前記処理プログラムについて、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけて登録したテーブルを記憶する記憶部と、
      任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記記憶部が記憶するテーブルを参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する待ち時間取得部と、
      前記待ち時間取得部が取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求部と、を備えている、
     ネットワークシステム。
  2.  前記テーブルは、少なくとも、通信時間、リトライ回数、リトライ待ち時間、処理プログラムの実行時間の4つを属性とし、これらの属性の属性値を登録している、請求項1に記載のネットワークシステム。
  3.  前記処理端末は、
      自端末に搭載されている処理プログラムを実行したときに、この処理プログラムの実行時間を記憶する実行時間記憶部と、
      他の処理端末から自端末に搭載されている処理プログラムの実行時間の通知要求があったときに、前記実行時間記憶部に記憶している当該処理プログラムの実行時間を通知する実行時間通知部と、を備えている、
     請求項2に記載のネットワークシステム。
  4.  前記処理端末は、
      前記テーブルに、処理プログラムの実行時間にかかる属性値が登録されていない処理プログラムについて、この処理プログラムが搭載されている処理端末に対して当該処理プログラムの実行時間の通知要求を送信する通知要求送信部を備えている、
     請求項3に記載のネットワークシステム。
  5.  前記処理端末は、駅に設置され、駅務処理を行う駅務機器である、請求項1~4のいずれかに記載のネットワークシステム。
  6.  通信可能に接続されている他の処理端末に搭載されている処理プログラムを選択的に利用する処理端末において、
     利用可能な前記処理プログラムについて、その処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけて登録したテーブルを記憶する記憶部と、
     任意の項目にかかる実行処理を行うときに選択した処理プログラムについて、前記記憶部が記憶するテーブルを参照し、登録されている各属性の属性値に基づいて、この処理プログラムの利用時における待ち時間を取得する待ち時間取得部と、
     前記待ち時間取得部が取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求部と、を備えている処理端末。
  7.  通信可能に接続されている他の処理端末に搭載されている処理プログラムを選択的に利用する処理端末の制御部に、
     任意の項目にかかる実行処理を行うときに、処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけて登録したテーブルを参照し、選択した処理プログラムの利用時における待ち時間を取得する待ち時間取得ステップと、
     前記待ち時間取得ステップが取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求ステップと、を実行させる待ち時間設定プログラム。
  8.  通信可能に接続されている他の処理端末に搭載されている処理プログラムを選択的に利用する処理端末が、
     任意の項目にかかる実行処理を行うときに、処理プログラムが実行処理する項目と、その処理プログラムが搭載されている前記処理端末と、その処理プログラムを利用するときの待ち時間に影響を与える複数種類の属性毎の属性値と、を対応づけて登録したテーブルを参照し、選択した処理プログラムの利用時における待ち時間を取得する待ち時間取得ステップと、
     前記待ち時間取得ステップが取得した待ち時間を設定し、選択した処理プログラムに対して実行処理を要求する要求ステップと、を実行する待ち時間設定方法。
PCT/JP2011/076625 2011-03-29 2011-11-18 ネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法 WO2012132102A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013507051A JP5686184B2 (ja) 2011-03-29 2011-11-18 ネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-071701 2011-03-29
JP2011071701 2011-03-29

Publications (1)

Publication Number Publication Date
WO2012132102A1 true WO2012132102A1 (ja) 2012-10-04

Family

ID=46929901

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/076625 WO2012132102A1 (ja) 2011-03-29 2011-11-18 ネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法

Country Status (2)

Country Link
JP (1) JP5686184B2 (ja)
WO (1) WO2012132102A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103247A (ja) * 1992-09-21 1994-04-15 Hitachi Ltd クライアント/サーバシステムにおける通信方式
JP2002342193A (ja) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> データ転送先サーバ選定方法及び装置及びデータ転送先サーバ選定プログラム及びデータ転送先サーバ選定プログラムを格納した記憶媒体
JP2006268166A (ja) * 2005-03-22 2006-10-05 Fuji Xerox Co Ltd 情報処理装置、方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103247A (ja) * 1992-09-21 1994-04-15 Hitachi Ltd クライアント/サーバシステムにおける通信方式
JP2002342193A (ja) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> データ転送先サーバ選定方法及び装置及びデータ転送先サーバ選定プログラム及びデータ転送先サーバ選定プログラムを格納した記憶媒体
JP2006268166A (ja) * 2005-03-22 2006-10-05 Fuji Xerox Co Ltd 情報処理装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP5686184B2 (ja) 2015-03-18
JPWO2012132102A1 (ja) 2014-07-24

Similar Documents

Publication Publication Date Title
US10868767B2 (en) Data transmission method and apparatus in optoelectronic hybrid network
US8583831B2 (en) Thin client discovery
EP3352431B1 (en) Network load balance processing system, method, and apparatus
US10257024B2 (en) Data transmission method, apparatus, and terminal
JP2019506072A (ja) データ伝送方法および関連するデバイス
US8792489B2 (en) Communication transport protocol for distributed information technology architectures
US20140082180A1 (en) Information processor apparatus, information processing method, and recording medium
US8959171B2 (en) Method and apparatus for acknowledging a request for data transfer
US20140297791A1 (en) Communication apparatus, method of controlling the same, and storage medium
JP5686184B2 (ja) ネットワークシステム、処理端末、待ち時間設定プログラム、および、待ち時間設定方法
US20220400074A1 (en) System to transmit messages using multiple network paths
JP2006260543A (ja) データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置
JP5723808B2 (ja) 通信装置、通信方法、及びプログラム
KR20200051196A (ko) 추가의 네트워크 주소 변환 테이블을 참조하여 빠른 패킷 포워딩을 제공하는 전자 장치
WO2012132100A1 (ja) ネットワークシステム、処理端末、処理プログラム動的選択プログラム、および処理プログラム動的選択方法
JP5577978B2 (ja) 通信装置、画像形成装置及びプログラム
JP5791564B2 (ja) 画像形成装置
CN113973086B (zh) 一种数据传输方法、装置及存储介质
WO2024024280A1 (ja) 通信処理装置および通信方法
WO2020184381A1 (ja) 処理装置、情報処理システム、情報処理方法、及びプログラム
KR20160024762A (ko) 컨트롤러와 네트워크 장치 간에 번들 능력을 통보하는 방법 및 장치
EP3386166A1 (en) Technique for managing communications at a router
TW202414214A (zh) 測速方法及測速系統
CN103905453A (zh) 一种基于地址映射多路复用的通信模型及方法
JP6074148B2 (ja) 通信装置、通信装置の制御方法、プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11862171

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013507051

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11862171

Country of ref document: EP

Kind code of ref document: A1