JP2015130121A - relay device - Google Patents

relay device Download PDF

Info

Publication number
JP2015130121A
JP2015130121A JP2014001962A JP2014001962A JP2015130121A JP 2015130121 A JP2015130121 A JP 2015130121A JP 2014001962 A JP2014001962 A JP 2014001962A JP 2014001962 A JP2014001962 A JP 2014001962A JP 2015130121 A JP2015130121 A JP 2015130121A
Authority
JP
Japan
Prior art keywords
relay
communication
program
data communication
execution
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2014001962A
Other languages
Japanese (ja)
Inventor
剛 ▲高▼澤
剛 ▲高▼澤
Go Takazawa
充宏 小野田
Mitsuhiro Onoda
充宏 小野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2014001962A priority Critical patent/JP2015130121A/en
Priority to CN201480001039.3A priority patent/CN104904168B/en
Priority to SG11201605582XA priority patent/SG11201605582XA/en
Priority to PCT/JP2014/061709 priority patent/WO2015104854A1/en
Priority to TW103137658A priority patent/TWI575905B/en
Publication of JP2015130121A publication Critical patent/JP2015130121A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations

Abstract

PROBLEM TO BE SOLVED: To enable a user to provide various services via a communication network.SOLUTION: A relay device includes: relay means that relays data communication between a first and second communication networks; storage means for storing data in a rewritable manner, which stores an application program that implements a predetermined communication service by data communication via at least one of the first and second communication networks and a sub-program library that is an aggregate of sub-programs called during execution of the application program; and program execution means that executes the application program.

Description

この発明は、通信網を介した各種サービスの提供を支援する技術に関する。   The present invention relates to a technique for supporting provision of various services via a communication network.

近年では、電子メールサービスやファイル共有サービスなど通信網を介したデータ通信により実現される各種サービスの利用が可能となっている。また、企業等においてはこの種のサービスを従業者に提供し、業務効率を向上させることも一般に行われている。   In recent years, various services realized by data communication via a communication network such as an e-mail service and a file sharing service can be used. Further, companies and the like generally provide this type of service to employees to improve business efficiency.

特開2006−254430号公報JP 2006-254430 A

この種のサービスの提供を行うには、そのサービスを実現するアプリケーションプログラム(すなわち、そのサービスを実現するデータ通信をコンピュータに実行させるプログラム)を実行するコンピュータ(以下、サーバ装置)を、ルータなどの中継装置を介して通信網に接続しておく必要がある。また、提供するサービスの内容によって通信網における盗聴に充分に注意を払うなど、セキュリティの確保に充分に留意する必要がある。このため、個人や中小企業などの資力の乏しい者にとっては、アプリケーションプログラムを実行するサーバ装置を別途用意したり、セキュリティ確保に充分な注意を払うために専門技術者を雇ったりすることが難しい場合が多く、通信網を介した各種サービスの提供を手軽に行えないといった問題があった。   In order to provide this type of service, a computer (hereinafter referred to as a server device) that executes an application program that implements the service (that is, a program that causes a computer to execute data communication that implements the service) is connected to a router or the like. It is necessary to connect to a communication network via a relay device. In addition, it is necessary to pay sufficient attention to ensuring security, such as paying sufficient attention to eavesdropping on the communication network depending on the content of the service provided. For this reason, it is difficult for individuals and small and medium-sized enterprises who have limited resources, such as preparing a separate server device to execute application programs or hiring a professional engineer to pay sufficient attention to ensuring security In many cases, various services cannot be easily provided through the communication network.

特許文献1には、アプリケーションプログラムが予め組み込まれた通信機器の発明が開示されているが、特許文献1に開示の通信機器ではユーザがアプリケーションプログラムの追加や削除、変更等を自由に行うことはできない。このため、特許文献1に開示の通信機器を用いたとしても、ユーザが所望のサービスを自由に提供できる訳ではない。   Patent Document 1 discloses an invention of a communication device in which an application program is incorporated in advance. However, in the communication device disclosed in Patent Document 1, a user can freely add, delete, and change an application program. Can not. For this reason, even if the communication device disclosed in Patent Document 1 is used, the user cannot freely provide a desired service.

本発明は以上に説明した課題に鑑みて為されたものであり、通信網を介した各種サービスをユーザが自由かつ手軽に提供できるようにする技術を提供することを目的とする。   The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a technique that allows a user to freely and easily provide various services via a communication network.

上記課題を解決するために本発明は、第1および第2の通信網間のデータ通信を中継する中継手段と、データを書き換え可能に記憶する記憶手段であって、前記第1および第2の通信網の少なくとも一方を介したデータ通信により所定の通信サービスを実現するアプリケーションプログラムと当該アプリケーションプログラムの実行過程で呼び出されるサブプログラムの集合体であるサブプログラムライブラリとを記憶した記憶手段と、前記アプリケーションプログラムを実行するプログラム実行手段と、を有することを特徴とする中継装置、を提供する。   In order to solve the above problems, the present invention provides a relay means for relaying data communication between the first and second communication networks, and a storage means for storing data in a rewritable manner. Storage means for storing an application program that realizes a predetermined communication service by data communication via at least one of the communication networks, and a subprogram library that is a collection of subprograms that are called during the execution of the application program, and the application And a program execution means for executing the program.

このような中継装置によれば、アプリケーションプログラムを実行するためのサーバ装置を別途用意する必要はない。また、本発明では、中継装置においてアプリケーションプログラムが実行されるため、盗聴の心配がなく、セキュリティ確保に特段の配慮を払う必要もない。これに加えて、本発明によれば、サーバ装置に割り振る通信アドレスを確保する必要がなく、通信アドレスを節約することができるといった効果もある。特に、上記通信アドレスがIPv4(Internet Protocol
version 4)のIP(Internet Protocol)アドレスである場合には、その枯渇が大きな問題となっているため、サーバ装置に割り振るIPアドレスを節約できることのメリットは大きい。また、本発明によれば、従来の通信システムにおいて通信網を介して行われていた中継装置−サーバ間のデータ通信は中継装置内の内部バスを介した通信に置き換えられるため、上記通信網におけるトラヒックを軽減できるといった効果も期待される。そして、本発明の中継装置においては、引用文献1に開示の通信機器とは異なり、記憶手段に記憶させるアプリケーションプログラムをユーザの所望に応じて自由に書き換えることができる。また、上記サブプログラムライブラリとして、多様な種類のアプリケーションプログラムにおいて共通して実行される処理をプログラム実行手段に実行させるサブプログラムの集合体を用意しておき、その呼び出し仕様をAPI(Application Program Interface)として公開しておけば、当該サブプログラムをユーザが逐一作成する手間を省くことができる。このため、本発明によれば、通信網を介した各種サービスの提供をユーザが自由かつ手軽に実現できるようになる。
According to such a relay device, there is no need to separately prepare a server device for executing the application program. Further, in the present invention, since the application program is executed in the relay device, there is no worry of eavesdropping, and it is not necessary to pay special attention to ensuring security. In addition, according to the present invention, there is no need to secure a communication address to be allocated to the server device, and there is an effect that the communication address can be saved. In particular, the communication address is IPv4 (Internet Protocol
In the case of version 4) IP (Internet Protocol) addresses, the depletion is a big problem, and the merit of saving IP addresses allocated to server devices is great. Further, according to the present invention, data communication between the relay device and the server, which has been performed via the communication network in the conventional communication system, is replaced with communication via the internal bus in the relay device. The effect that traffic can be reduced is also expected. And in the relay apparatus of this invention, unlike the communication apparatus disclosed by the cited reference 1, the application program memorize | stored in a memory | storage means can be freely rewritten according to a user's request. Also, as the above-mentioned subprogram library, a set of subprograms that cause the program execution means to execute processes that are commonly executed in various types of application programs is prepared, and the call specification is API (Application Program Interface). , It is possible to save the user from creating each subprogram one by one. For this reason, according to the present invention, the user can freely and easily provide various services via the communication network.

より好ましい態様においては、前記プログラム実行手段は、前記アプリケーションプログラムの実行過程で呼び出されるサブプログラムが前記中継手段によるデータ通信の中継に支障を生じさせる特定の処理を含むプログラムである場合には、前記中継手段によりデータ通信を中継中であるか否かを判定し、中継中である場合にはそのデータ通信が完了するまで前記特定の処理の実行を見合わせることを特徴とする。このような態様によれば、プログラム実行手段に実行させるアプリケーションプログラムに、中継手段によるデータ通信の中継に支障を生じさせる特定の処理が含まれていたとしても、中継手段によるデータ通信の中継中あれば、そのデータ通信が完了するまで当該特定の処理の実行は見合わせられる。ここで、中継手段によるデータ通信の中継に支障を生じさせる特定の処理の具体例としては、そのデータ通信の中継の際に使用されるパラメータ(例えば、当該中継装置の通信アドレスなど)を書き換える処理や中継装置を再起動する処理が挙げられる。このため、本発明によれば、ユーザが特段の注意を払わなくても、当該特定の処理の実行に起因する不具合(中継中のデータ通信の途絶など)の発生を回避することが可能になる。   In a more preferred aspect, when the program execution means is a program including a specific process that causes a trouble in relaying data communication by the relay means, the subprogram called in the process of executing the application program, It is characterized by determining whether or not data communication is being relayed by the relay means, and if the data communication is being relayed, the execution of the specific processing is postponed until the data communication is completed. According to such an aspect, even if the application program to be executed by the program execution unit includes a specific process that causes the relay of the data communication by the relay unit to be hindered, the relay unit may be relaying the data communication. For example, the execution of the specific process is postponed until the data communication is completed. Here, as a specific example of a specific process that causes a problem in relaying data communication by the relay unit, a process for rewriting a parameter (for example, a communication address of the relay apparatus) used in the relay of the data communication And a process of restarting the relay device. For this reason, according to the present invention, it is possible to avoid the occurrence of troubles (such as interruption of data communication during relay) caused by the execution of the specific processing without requiring the user to pay particular attention. .

さらに別の好ましい態様においては、前記中継手段によるデータ通信の中継と前記プログラム実行手段にアプリケーションプログラムを実行させることで実現される通信サービスには各々優先順位が定められており、前記データ通信の中継と前記通信サービスとが競合した場合には、優先順位の高い方が完了するまで他方の実行を見合わせることを特徴とする。このような態様によれば、中継手段によるデータ通信の中継とアプリケーションプログラムの実行により実現されるサービスのうち優先順位の高い方が他方によって阻害されることを防止することができる。なお、さらに好ましい態様においては、前記中継手段によるデータ通信の中継と前記プログラム実行手段にアプリケーションプログラムを実行させることで実現される通信サービスの各々の優先順位を時刻毎に定めておくとともに、現在時刻を取得する時刻取得手段(例えば、リアルタイムクロックやGPS受信機)を上記中継装置に設け、当該時刻取得手段により取得された時刻に応じた優先順位を用いて上記競合回避を実現するようにしても良い。   In still another preferred aspect, each communication service realized by relaying data communication by the relay unit and causing the program execution unit to execute an application program has a priority order, and relays the data communication. And the communication service compete with each other until the higher priority is completed. According to such an aspect, it is possible to prevent the higher priority among the services realized by relaying data communication by the relay unit and executing the application program from being obstructed by the other. In a further preferred aspect, the priority of each communication service realized by relaying data communication by the relay means and causing the program execution means to execute an application program is determined for each time, and the current time A time acquisition unit (for example, a real-time clock or a GPS receiver) for acquiring the above is provided in the relay device, and the above-described conflict avoidance is realized by using a priority order corresponding to the time acquired by the time acquisition unit. good.

また、上記課題を解決するための別の態様としては、第1および第2の通信網間のデータ通信を中継する中継ステップと、前記第1および第2の通信網の少なくとも一方を介したデータ通信により所定の通信サービスを実現するアプリケーションプログラムと当該アプリケーションプログラムの実行過程で呼び出されるサブプログラムの集合体であるサブプログラムライブラリとが予め記憶された記憶手段から前記アプリケーションプログラムを読み出して実行するプログラム実行ステップを、前記第1および第2の通信網に接続された中継装置の制御部に並列に実行させる方法が考えられる。   Further, as another aspect for solving the above problem, a relay step for relaying data communication between the first and second communication networks, and data via at least one of the first and second communication networks Program execution that reads and executes the application program from a storage unit that stores in advance an application program that realizes a predetermined communication service by communication and a subprogram library that is a collection of subprograms that are called in the execution process of the application program A method is conceivable in which the steps are executed in parallel by the control unit of the relay apparatus connected to the first and second communication networks.

本発明の一実施形態の中継装置10を含む通信システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the communication system containing the relay apparatus 10 of one Embodiment of this invention. 同中継装置10の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of the relay device 10. FIG. 同中継装置10の制御部110により実現される機能を説明するための機能ブロック図である。3 is a functional block diagram for explaining functions realized by a control unit 110 of the relay apparatus 10. FIG. 同中継装置10の動作例を説明するための図である。FIG. 6 is a diagram for explaining an operation example of the relay apparatus 10; 同中継装置10の他の動作例を説明するための図である。7 is a diagram for explaining another example of the operation of the relay device 10. FIG. データ通信の中継に支障を生じさせる処理を含むAPIの実行過程を説明するための図である。It is a figure for demonstrating the execution process of API including the process which produces a trouble in the relay of data communication.

以下図面を参照しつつ本発明の実施形態を説明する。
(A:構成)
図1は、本発明の一実施形態の中継装置10を含む通信システムの構成例を示す図である。この通信システムは、小売店などの店舗内に敷設された店舗内無線LAN(Local Area Network)を含んでいる。この店舗内無線LANは中継装置10を介してインターネット20に接続されている。中継装置10は無線LANルータであり、無線端末30を収容する。無線端末30は上記店舗の従業者の使用するタブレット端末である。図1では、無線端末30が1つだけ例示されているが、複数の無線端末30が上記店舗内無線LANに含まれていても良い。図1では、詳細な図示を省略したが、店舗内無線LANには無線端末30に対してIPアドレスの割り当てを行うためのDHCP(Dynamic
Host Configuration Protocol)サーバが含まれている。このDHCPサーバには、IPアドレスの割り当てを受けた無線端末30のMAC(Media Access Control)アドレスに対応付けて、その無線端末30に割り当てたIPアドレスが記憶されている。
Embodiments of the present invention will be described below with reference to the drawings.
(A: Configuration)
FIG. 1 is a diagram illustrating a configuration example of a communication system including a relay device 10 according to an embodiment of the present invention. This communication system includes an in-store wireless LAN (Local Area Network) laid in a store such as a retail store. This in-store wireless LAN is connected to the Internet 20 via the relay device 10. The relay device 10 is a wireless LAN router and accommodates the wireless terminal 30. The wireless terminal 30 is a tablet terminal used by an employee of the store. Although only one wireless terminal 30 is illustrated in FIG. 1, a plurality of wireless terminals 30 may be included in the in-store wireless LAN. Although detailed illustration is omitted in FIG. 1, DHCP (Dynamic) for assigning an IP address to the wireless terminal 30 in the in-store wireless LAN.
Host Configuration Protocol) server is included. This DHCP server stores the IP address assigned to the wireless terminal 30 in association with the MAC (Media Access Control) address of the wireless terminal 30 to which the IP address is assigned.

中継装置10は、一般的な無線LANルータとして機能するとともに、所謂データベースサーバとして機能する。より詳細に説明すると、図1の中継装置10の記憶部には、上記店舗において販売される各種商品の情報(商品を一意に示す商品識別子(例えば、商品の名称や型番を表す文字列等)や商品の仕様を説明した説明文の文字列、価格など:以下、商品情報)を記憶したデータベース(以下、商品データベース:図1では図示略)が格納されている。インターネット20には商品の製造・販売元等によって運営される製造・販売元データベース40が接続されている。製造・販売元データベース40にはその運営元の製造・販売する商品についての最新の商品情報が格納されている。中継装置10は、製造・販売元データベース40にアクセスし、商品データベースの格納内容を最新の状態に更新(すなわち、新たな商品情報の追加等)するとともに、更新後の商品データベースの格納内容を無線端末30に送信し、ローカル商品データベースとして記憶させる。無線端末30のユーザ(すなわち、上記店舗の従業者)は、ローカル商品データベースの格納内容を参照することで、各種商品の仕様等を顧客に対して迅速かつ手軽に説明することができる。つまり、図1に示す店舗内無線LANは、最新の商品情報を各従業者に共有させる情報共有サービスを実現するためのものである。   The relay device 10 functions as a general wireless LAN router and also functions as a so-called database server. More specifically, the storage unit of the relay device 10 in FIG. 1 stores information on various products sold in the store (a product identifier that uniquely indicates the product (for example, a character string that represents the name or model number of the product). And a database (hereinafter referred to as a product database: not shown in FIG. 1) in which character strings, prices, etc. of description items describing product specifications are stored. A manufacturer / seller database 40 operated by a manufacturer / seller of goods is connected to the Internet 20. The manufacturer / seller database 40 stores the latest product information about products manufactured and sold by the management company. The relay device 10 accesses the manufacturer / seller database 40 to update the stored content of the product database to the latest state (that is, to add new product information, etc.), and wirelessly store the stored content of the updated product database. The data is transmitted to the terminal 30 and stored as a local product database. The user of the wireless terminal 30 (that is, the employee of the store) can quickly and easily explain the specifications of various products to the customer by referring to the stored content of the local product database. That is, the in-store wireless LAN shown in FIG. 1 is for realizing an information sharing service that allows each employee to share the latest product information.

従来、このような情報共有サービスを実現するには、データベースサーバとして機能するサーバ装置を中継装置10とは別個に店舗内無線LANに設けて置くことが一般的であった。これに対して、本実施形態では、中継装置10にデータベースサーバの役割を兼ねさせている点に特徴がある。以下、本実施形態の特徴を顕著に示す中継装置10を中心に説明する。   Conventionally, in order to realize such an information sharing service, a server device that functions as a database server is generally provided separately from the relay device 10 in an in-store wireless LAN. In contrast, the present embodiment is characterized in that the relay apparatus 10 also serves as a database server. Hereinafter, the relay apparatus 10 that clearly shows the features of the present embodiment will be mainly described.

図2は、中継装置10の構成例を示すブロック図である。
図2に示すように中継装置10は、制御部110、第1通信インターフェース(以下、「I/F」と略記)部120、第2通信I/F部130、記憶部140、およびこれら構成要素間のデータ授受を仲介するバス150を有している。
FIG. 2 is a block diagram illustrating a configuration example of the relay device 10.
As shown in FIG. 2, the relay apparatus 10 includes a control unit 110, a first communication interface (hereinafter abbreviated as “I / F”) unit 120, a second communication I / F unit 130, a storage unit 140, and components thereof. And a bus 150 that mediates data exchange between them.

制御部110は例えばCPU(Central Processing Unit)である。制御部110は記憶部140に記憶されている各種プログラムを実行することで中継装置10の制御中枢として機能する。第1通信I/F部120は無線通信I/Fであり、無線端末30との間に無線通信リンクを確立し、無線通信リンクの確立先の無線端末を収容する。第1通信I/F部120は無線区間を介して無線端末30から送信されてくるパケットを受信して制御部110へ引き渡す一方、制御部110から与えられるパケットを無線区間へと送出する。第2通信I/F部130は例えばNIC(Network Interface Card)であり、インターネット20に接続されている。第2通信I/F部130は、インターネット20から送信されてくるパケットを受信して制御部110に引き渡す一方、制御部110から引き渡されたパケットをインターネット20へ送出する。   The control unit 110 is, for example, a CPU (Central Processing Unit). The control unit 110 functions as a control center of the relay device 10 by executing various programs stored in the storage unit 140. The first communication I / F unit 120 is a wireless communication I / F, establishes a wireless communication link with the wireless terminal 30, and accommodates a wireless terminal to which the wireless communication link is established. The first communication I / F unit 120 receives a packet transmitted from the wireless terminal 30 through the wireless section and delivers the packet to the control unit 110, while transmitting a packet provided from the control unit 110 to the wireless section. The second communication I / F unit 130 is a NIC (Network Interface Card), for example, and is connected to the Internet 20. The second communication I / F unit 130 receives a packet transmitted from the Internet 20 and delivers the packet to the control unit 110, while transmitting the packet delivered from the control unit 110 to the Internet 20.

記憶部140は、図2に示すように、揮発性記憶部142と、不揮発性記憶部144とを含んでいる。揮発性記憶部142は例えばRAM(Random Access Memory)である。この揮発性記憶部142は、各種プログラムを実行する際のワークエリアとして制御部110によって利用される。一方、不揮発性記憶部144は、データの書き換えが可能な不揮発性メモリである。本実施形態では、不揮発性記憶部144としてフラッシュメモリが用いられている。   As shown in FIG. 2, the storage unit 140 includes a volatile storage unit 142 and a nonvolatile storage unit 144. The volatile storage unit 142 is, for example, a RAM (Random Access Memory). The volatile storage unit 142 is used by the control unit 110 as a work area when executing various programs. On the other hand, the non-volatile storage unit 144 is a non-volatile memory capable of rewriting data. In the present embodiment, a flash memory is used as the nonvolatile storage unit 144.

不揮発性記憶部144には、前述した商品データベースが格納されている。また、不揮発性記憶部144には、中継装置10の機能(すなわち、無線LANルータ機能および上記情報共有サービスにおけるデータベースサーバ機能)を実現するための各種プログラムが記憶されている。不揮発性記憶部144に記憶されているプログラムの具体例としては、OS(Operating System)プログラム、中継制御プログラム、データベースサーバプログラムおよびAPIライブラリが挙げられる。   The non-volatile storage unit 144 stores the above-described product database. The nonvolatile storage unit 144 stores various programs for realizing the functions of the relay device 10 (that is, the wireless LAN router function and the database server function in the information sharing service). Specific examples of programs stored in the nonvolatile storage unit 144 include an OS (Operating System) program, a relay control program, a database server program, and an API library.

OSプログラムは、所謂マルチタスクOSを制御部110に実現させるプログラムである。本実施形態では、OSプログラムとしてLinux(登録商標)が用いられているが、マルチタスクOSを制御部110に実現させるものであれば、Linux(登録商標)に限定されるものではない。制御部110は、中継装置10の電源(図示略)投入を契機として、OSプログラムを不揮発性記憶部144から揮発性記憶部142に読み出し、その実行を開始する。OSプログラムにしたがって作動し、OSを実現している状態の制御部110は、予め定められたスケジュールにしたがって、或いは外部から与えられる指示に応じて、記憶手段(本実施形態では、不揮発性記憶部144)に記憶されている他のプログラムを実行するプログラム実行手段(図3参照)として機能する。OSを実現している状態の制御部110は、複数のプログラムを並列に実行することができる。本実施形態では、OSの実現後、即座に、中継制御プログラムとデータベースサーバプログラムとを不揮発性記憶部144から揮発性記憶部142に読み出して実行するように予めスケジューリングが為されている。   The OS program is a program that causes the control unit 110 to realize a so-called multitask OS. In the present embodiment, Linux (registered trademark) is used as the OS program. However, the OS program is not limited to Linux (registered trademark) as long as the multitask OS is realized by the control unit 110. The control unit 110 reads the OS program from the non-volatile storage unit 144 to the volatile storage unit 142 when the relay device 10 is powered on (not shown), and starts executing the OS program. The control unit 110 operating according to the OS program and realizing the OS is a storage unit (in the present embodiment, a non-volatile storage unit) according to a predetermined schedule or according to an instruction given from the outside. 144) functions as program execution means (see FIG. 3) for executing another program stored in 144). The control unit 110 that implements the OS can execute a plurality of programs in parallel. In this embodiment, scheduling is performed in advance so that the relay control program and the database server program are read from the nonvolatile storage unit 144 to the volatile storage unit 142 and executed immediately after the OS is realized.

中継制御プログラムは、第1通信I/F部120または第2通信I/F部130の一方を介して受信したパケットを他方へと転送する中継制御処理を制御部110に実行させるプログラムである。中継制御プログラムにしたがって作動している制御部110は、第1の通信網(本実施形態では、店舗内無線LAN)および第2の通信網(本実施形態では、インターネット20)間のデータ通信を中継する中継手段(図3参照)として機能する。なお、中継制御プログラムにしたがって制御部110が実行する中継処理ついては一般的な無線LANルータにおけるものと特段に変わるところはないため、詳細な説明を省略する。データベースサーバプログラムは、製造・販売元データベース40の格納内容を参照して商品データベースの格納内容を最新の状態に更新するとともに、各無線端末30のローカル商品データベースの格納内容を最新の状態に更新する処理を制御部110に実行させるアプリケーションプログラムである。制御部110がデータベースサーバプログラムにしたがって実行する処理の詳細については重複を避けるため、動作例において明らかにする。本実施形態では、中継手段(図3参照)によるデータ通信の中継とプログラム実行手段(図3参照)によるアプリケーションプログラム(本実施形態では、データベースサーバプログラム)の実行とが並列に実行される。   The relay control program is a program that causes the control unit 110 to execute relay control processing for transferring a packet received via one of the first communication I / F unit 120 or the second communication I / F unit 130 to the other. The control unit 110 operating according to the relay control program performs data communication between the first communication network (in-store wireless LAN in this embodiment) and the second communication network (in this embodiment, the Internet 20). It functions as relay means for relaying (see FIG. 3). Note that the relay process executed by the control unit 110 according to the relay control program is not particularly different from that in a general wireless LAN router, and thus detailed description thereof is omitted. The database server program refers to the stored content of the manufacturer / seller database 40 and updates the stored content of the product database to the latest state, and updates the stored content of the local product database of each wireless terminal 30 to the latest state. An application program that causes the control unit 110 to execute processing. Details of processing executed by the control unit 110 in accordance with the database server program will be clarified in an operation example in order to avoid duplication. In the present embodiment, the relay of data communication by the relay means (see FIG. 3) and the execution of the application program (in this embodiment, the database server program) by the program execution means (see FIG. 3) are executed in parallel.

APIライブラリは、アプリケーションプログラムの種類を問わずに共通して利用される可能性の高い各種サブプログラムの集合体(すなわち、サブプログラムライブラリ)である。APIとは、本来、これらサブプログラムを呼び出す際の書式のことを意味するが、本明細書では慣習にしたがい、これらサブプログラムそのものについてもAPIと称する。本実施形態のAPIライブラリに含まれるAPIの一例としては、ハードウェア(本実施形態では、中継装置10)の機器情報やハードウェアの周囲の環境情報を取得するAPI、ハードウェアの動作設定の変更を行うためのAPIが挙げられる。具体的には、制御部110(すなわち、CPU)の使用率や揮発性記憶部142(すなわち、メモリ)の使用率を取得するAPI、中継装置10の筐体内の温度を計測するAPI、ランニングconfigの読み出し更新および保存を行うAPI、動作ログを読み出すAPI、中継装置10を再起動させるAPIなどが挙げられる。   The API library is a collection of various subprograms (that is, subprogram libraries) that are likely to be used in common regardless of the type of application program. API originally means a format for calling these subprograms, but in the present specification, these subprograms themselves are also called APIs in accordance with the custom. As an example of an API included in the API library of the present embodiment, an API for acquiring device information of hardware (in this embodiment, the relay device 10) and environment information around the hardware, and a change in hardware operation settings API for performing the above. Specifically, an API that acquires the usage rate of the control unit 110 (that is, the CPU) and the usage rate of the volatile storage unit 142 (that is, the memory), an API that measures the temperature in the casing of the relay device 10, and the running config APIs for reading and updating and saving, APIs for reading operation logs, APIs for restarting the relay device 10, and the like.

また、APIライブラリには、そのインストール先のハードウェアならではのAPIが含まれている。すなわち、本実施形態のAPIライブラリには、通信機器ならではAPIが含まれている。通信機器ならではのAPIの具体例としては、中継装置10に接続している無線端末30のMACアドレス一覧を取得するAPI(以下、MACアドレスリスト取得API)、第1通信I/F部120或いは第2通信I/F部130のIPアドレスを取得・変更するAPIが挙げられる。本実施形態では、これら各種のAPIが予めAPIライブラリとして用意され、各APIの呼び出し仕様が公開されている。このため、アプリケーションプログラムの作成の際には各APIを呼び出すためのコードを上記仕様にしたがってコーディングしておけば良く、これらAPIにより実現される処理の手順を逐一コーディングする必要はない。このため、アプリケーションプログラムの作成の手間が軽減される。
以上が中継装置10の構成である。
The API library includes an API unique to the hardware of the installation destination. That is, the API library of the present embodiment includes an API that is unique to a communication device. Specific examples of the API unique to the communication device include an API for acquiring a MAC address list of the wireless terminal 30 connected to the relay device 10 (hereinafter, MAC address list acquisition API), the first communication I / F unit 120 or the first 2 API for acquiring / changing the IP address of the communication I / F unit 130. In the present embodiment, these various APIs are prepared in advance as API libraries, and the calling specifications for each API are disclosed. For this reason, when creating an application program, code for calling each API may be coded according to the above specifications, and it is not necessary to code processing procedures realized by these APIs one by one. For this reason, the trouble of creating an application program is reduced.
The above is the configuration of the relay device 10.

(B:動作)
次いで、データベースサーバプログラムにしたがって制御部110が実行する動作について図4を参照しつつ説明する。データベースサーバプログラムにしたがって作動している制御部110は、まず、インターネット20を介して製造・販売元データベース40と通信し、最新のデータをダウンロードして商品データベースの格納内容を更新する(図4:ステップSA100)。ここで、最新のデータであるか否かの判定については、データ毎にそのデータのバージョン(版数)を示すバージョン情報を対応付けて製造・販売元データベース40に格納しておき、商品データベースに格納されているものより新しいバージョンを示すバージョン情報を対応付けられているデータを最新のデータと判定するようにすれば良い。なお、製造・販売元データベース40に最新のデータが格納されていない場合には、ステップSA100以降の処理をスキップしても良い。
(B: Operation)
Next, operations performed by the control unit 110 according to the database server program will be described with reference to FIG. The control unit 110 operating according to the database server program first communicates with the manufacturer / sales source database 40 via the Internet 20 to download the latest data and update the stored contents of the product database (FIG. 4: Step SA100). Here, with regard to the determination of whether or not the data is the latest, version information indicating the version (version number) of the data is associated with each data and stored in the manufacturer / seller database 40, and stored in the product database. Data associated with version information indicating a newer version than that stored may be determined as the latest data. If the latest data is not stored in the manufacturer / sales source database 40, the processing after step SA100 may be skipped.

次いで、制御部110は、自装置に接続している無線端末30のIPアドレスを取得する(図4:ステップSA110)。より詳細に説明すると、制御部110は、自装置に接続している無線端末30のMACアドレスの一覧を前述したMACアドレスリスト取得APIを用いて取得する。そして、制御部110は、このようにして取得した各MACアドレスに対応するIPアドレスを店舗内無線LANのDHCPサーバ(図示略)より取得する。なお、IPアドレスを取得できない無線端末30があった場合には、当該無線端末30のMACアドレスを宛先としてスリープ解除信号を送信し、当該無線端末30によるIPアドレスの取得を待って再度DHCPサーバへの問い合わせを行う。   Next, the control unit 110 acquires the IP address of the wireless terminal 30 connected to the own device (FIG. 4: Step SA110). More specifically, the control unit 110 acquires a list of MAC addresses of the wireless terminals 30 connected to the own apparatus using the MAC address list acquisition API described above. And the control part 110 acquires the IP address corresponding to each MAC address acquired in this way from the DHCP server (not shown) of store wireless LAN. If there is a wireless terminal 30 that cannot acquire an IP address, a sleep release signal is transmitted with the MAC address of the wireless terminal 30 as a destination, and after waiting for the wireless terminal 30 to acquire an IP address, the DHCP server again transmits to the DHCP server. Make an inquiry.

次いで、制御部110は、ステップSA110にて取得した各IPアドレスを宛先として商品データベースの格納内容を店舗内無線LAN経由で送信し、当該IPアドレスの示す無線端末30に対してローカル商品データベースの更新を指示する(ステップSA120)。なお、商品データベースの格納内容の送信に先立って各無線端末30にローカル商品データベースに格納されているデータのバージョンを問い合わせ、最新のバージョンのローカル商品データベースを有している無線端末30に対しては商品データベースの格納内容の送信を省略しても勿論良い。以上に説明する動作が為される結果、中継装置10の商品データベースの格納内容と各無線端末30のローカル商品データベースの格納内容とが最新の状態に一括更新される。   Next, the control unit 110 transmits the stored contents of the product database via the in-store wireless LAN with each IP address acquired in step SA110 as the destination, and updates the local product database to the wireless terminal 30 indicated by the IP address. (Step SA120). Prior to the transmission of the stored contents of the product database, each wireless terminal 30 is inquired about the version of data stored in the local product database, and the wireless terminal 30 having the latest version of the local product database is inquired. Of course, transmission of the contents stored in the product database may be omitted. As a result of the operations described above, the stored content of the product database of the relay device 10 and the stored content of the local product database of each wireless terminal 30 are collectively updated to the latest state.

本実施形態によれば、店舗の開店時刻前の所定の時刻に中継装置10の電源を投入し、閉店時刻後に中継装置10の電源を切断するようにすれば、営業時間中は常に最新の商品情報を上記店舗の従業者に共有させることが可能となる。なお、上記所定の時刻にデータベースサーバプログラムが実行されるようにスケジューリングを行っておけば、中継装置10の電源を常時投入しておいたとしても同様の効果が得られる。   According to the present embodiment, if the relay device 10 is turned on at a predetermined time before the store opening time and the relay device 10 is turned off after the store closing time, the latest product is always available during business hours. Information can be shared with the employees of the store. If scheduling is performed so that the database server program is executed at the predetermined time, the same effect can be obtained even if the relay device 10 is always turned on.

本実施形態では、データベースサーバとして機能するサーバ装置を店舗内無線LANに別途設けることなく、商品データベースの格納内容と各無線端末30のローカル商品データベースの格納内容とを最新の状態に一括更新し、各従業者に最新の商品情報を共有させることが可能になる。このようにデータベースサーバとして機能するサーバ装置を別途用意する必要がないため、上記店舗の経営者が個人または中小企業などの資力の乏しい者であっても、商品情報についての情報共有サービスを手軽に実現することが可能になる。また、本実施形態では、中継装置10における商品データベースの格納先の記憶装置としてフラッシュメモリが用いられており、この点にも本実施形態の特徴の1つがある。従来のサーバ装置では、この種の記憶装置としてハードディスクドライブが用いられることが一般的であったが、ハードディスドライブに関してはモータなどの機構部の故障に充分に注意を払わなければならない(例えば、ハードディスクドライブの格納内容を定期的に他の記録媒体に記録する等)という欠点があった。これに対して、フラッシュメモリはモータなどの機構部を有していないため、上記のような注意を払う必要はない。この点から見ても、本実施形態によれば、商品情報についての情報共有サービスを手軽に実現することが可能になる。なお、本実施形態では、店舗内無線LANの敷設された店舗の従業者を対象として情報共有サービスを行う場合について説明したが、上記店舗の来店者に対しても情報共有サービスを提供するようにしても良い。また、本実施形態では商品情報の共有を実現する場合について説明したが、他の種類の情報の共有に本発明を適用しても良いことは言うまでもない。   In the present embodiment, the storage content of the product database and the storage content of the local product database of each wireless terminal 30 are collectively updated to the latest state without separately providing a server device functioning as a database server in the in-store wireless LAN, Each employee can share the latest product information. Since there is no need to separately prepare a server device that functions as a database server in this way, even if the manager of the store is a poor person such as an individual or a small business, an information sharing service for product information can be easily performed. Can be realized. In this embodiment, a flash memory is used as a storage device for storing the product database in the relay apparatus 10, and this is another feature of this embodiment. In a conventional server device, a hard disk drive is generally used as this type of storage device. However, with regard to a hard disk drive, sufficient attention must be paid to failure of a mechanism unit such as a motor (for example, For example, the contents stored in the hard disk drive are periodically recorded on another recording medium. On the other hand, since the flash memory does not have a mechanism such as a motor, it is not necessary to pay attention to the above. Even from this point of view, according to the present embodiment, an information sharing service for product information can be easily realized. In this embodiment, the case where the information sharing service is provided for the employees of the store where the in-store wireless LAN is installed is described. However, the information sharing service is also provided to the store visitor. May be. Moreover, although the case where sharing of merchandise information has been described in the present embodiment, it goes without saying that the present invention may be applied to sharing other types of information.

前述したように、中継装置10をデータベースサーバとして機能させるアプリケーションプログラムであるデータベースサーバプログラムは不揮発性記憶部144に記憶されており、不揮発性記憶部144はデータの書き換えが可能な不揮発性メモリである。このため、本実施形態では、不揮発性記憶部144に記憶されているアプリケーションプログラムを差し替えることで、中継装置10に他の通信サービスを提供させることが可能である。例えば、不揮発性記憶部144に記憶されているデータベースサーバプログラムを、図5に示すファイル共有処理を制御部110に実行させるファイル共有サーバプログラムに差し替えることで、中継装置10をファイル共有サーバとして機能させることができる。なお、中継装置10にインストールする各種アプリケーションプログラムについては、中継装置10の製造元或いは当該製造元よる許諾を受けたサードパーティにインターネット20経由で適宜配布させるようにすれば良い。   As described above, the database server program, which is an application program that causes the relay apparatus 10 to function as a database server, is stored in the nonvolatile storage unit 144, and the nonvolatile storage unit 144 is a nonvolatile memory capable of rewriting data. . For this reason, in this embodiment, it is possible to cause the relay apparatus 10 to provide another communication service by replacing the application program stored in the nonvolatile storage unit 144. For example, by replacing the database server program stored in the nonvolatile storage unit 144 with a file sharing server program that causes the control unit 110 to execute the file sharing process illustrated in FIG. 5, the relay apparatus 10 functions as a file sharing server. be able to. Note that various application programs to be installed in the relay apparatus 10 may be appropriately distributed via the Internet 20 to the manufacturer of the relay apparatus 10 or a third party that has received a license from the manufacturer.

図5は、ファイル共有処理の流れを示すフローチャートである。ファイル共有サーバプログラムにしたがって作動している制御部110は、図5に示すように、無線端末30からのファイルへのアクセス要求を待ち受けている(ステップSB100)。制御部110は、店舗内無線LAN経由でアクセス要求を受信する(ステップSB100:Yes)と当該無線端末30が属するネットワークアドレスを特定する(ステップSB110)。このネットワークアドレスの特定についても、予めAPIを用意しておけば良い。なお、アクセス要求の送信元となる端末を収容する通信網が本実施形態におけるもののように無線LANである場合には、ネットワークアドレスの代わりにSSIDを用いても良い。ネットワークアドレスの代わりにSSIDを用いる場合には、例えば上記店舗の従業者にはスタッフ用SSIDを割り当てておき、来客にはスタッフ用SSIDとは異なるゲスト用SSIDを割り当てておけば良い。   FIG. 5 is a flowchart showing the flow of file sharing processing. As shown in FIG. 5, the control unit 110 operating according to the file sharing server program waits for a file access request from the wireless terminal 30 (step SB100). When the access request is received via the in-store wireless LAN (step SB100: Yes), the control unit 110 specifies the network address to which the wireless terminal 30 belongs (step SB110). An API may be prepared in advance for specifying the network address. If the communication network that accommodates the terminal that is the source of the access request is a wireless LAN, as in the present embodiment, an SSID may be used instead of the network address. When using an SSID instead of a network address, for example, a staff SSID may be assigned to the store employee, and a guest SSID different from the staff SSID may be assigned to a visitor.

制御部110は、ステップSB110にて特定したネットワークアドレスがゲスト用のアドレスであるか否かを判定し(ステップSB120)、その判定結果がNoであればアクセス要求を受け入れ、ステップSB130以降の処理を実行する。逆に、ゲスト用のアドレスであれば(ステップSB120:Yes)、制御部110はアクセス要求を破棄し(ステップSB150)、ステップSB100以降の処理を繰り返す。   The control unit 110 determines whether or not the network address identified in step SB110 is a guest address (step SB120). If the determination result is No, the control unit 110 accepts the access request, and performs the processing from step SB130 onward. Run. Conversely, if the address is for a guest (step SB120: Yes), the control unit 110 discards the access request (step SB150) and repeats the processing after step SB100.

ステップSB120の判定結果がNoである場合に実行されるステップSB130では、制御部110は、アクセス要求によるアクセス先のファイルをそのアクセス要求の送信元の無線端末30へ送信し、当該ファイルの内容を表示させる。なお、アクセス要求によるアクセス先のファイルが自身の公開ディレクトリに格納されていない場合には、制御部110は当該ファイルをインターネット20経由で取得し、上記公開ディレクトリへ格納した後にアクセス要求の送信元への転送を行う。このようにして公開ディレクトリに格納したファイルについては、制御部110は、上記アクセス要求の送信元との通信セッションの切断を契機として公開ディレクトリから削除する。以降、制御部110は、ファイル共有サービスの終了を指示されたか否かを判定し(ステップSB140)、その判定結果がNoであればステップSB100以降の処理を繰り返す。これにより、ファイル共有サービスが実現される。   In step SB130, which is executed when the determination result in step SB120 is No, the control unit 110 transmits the access destination file by the access request to the wireless terminal 30 that is the transmission source of the access request, and the contents of the file are stored. Display. When the access destination file by the access request is not stored in its own public directory, the control unit 110 acquires the file via the Internet 20 and stores it in the public directory, and then sends it to the source of the access request. Transfer. The file stored in the public directory in this way is deleted from the public directory by the control unit 110 when the communication session with the access request source is disconnected. Thereafter, the control unit 110 determines whether or not the end of the file sharing service has been instructed (step SB140). If the determination result is No, the processing after step SB100 is repeated. Thereby, a file sharing service is realized.

前述したように、データベースサーバプログラムやファイル共有サーバプログラムなどのアプリケーションプログラムの実行過程では、各種のAPIの呼び出しが行われるのであるが、これらAPIの中には、中継手段によるデータ通信の中継中に実行されるとそのデータ通信の中継に支障を生じさせる特定の処理を含むものがある。具体的には、中継装置10の再起動をするAPIや、データ通信の中継の際に使用されるパラメータを書き換えるAPIである。本実施形態では、これらデータ通信に支障を生じさせる特定の処理を実行するAPIについては、データ通信の中継中に呼び出されたとしても、そのデータ通信が完了するまでその処理の実行を見合わせるように構成されており、この点にも本実施形態の特徴の一つがある。   As described above, in the course of executing application programs such as a database server program and a file sharing server program, various APIs are called. Among these APIs, data communication is being relayed by relay means. Some of them include specific processing that, when executed, causes trouble in relaying the data communication. Specifically, it is an API for restarting the relay device 10 or an API for rewriting parameters used for data communication relay. In the present embodiment, the API that executes a specific process that interferes with the data communication is suspended until the data communication is completed even if the API is called during the relay of the data communication. This is one of the features of this embodiment.

例えば、図6は、自装置を再起動するAPIにしたがって制御部110が実行する処理の流れを示すフローチャートである。このAPIがアプリケーションプログラムから呼び出されると、制御部110は、まず、データ通信を中継中であるか否かを判定する(ステップSC100)。ここで、データ通信を中継中であるか否かの判定については、既存の技術を用いれば良く、また、当該判定処理をAPI化しておいても良い。ステップSC100の判定結果が“Yes”であれば、制御部110は所定時間(例えば、1秒など)のスリープ(ステップSC110)を行った後に再度ステップSC100以降の処理を実行する。逆に、ステップSC100の判定結果が“No”であれば、制御部110は、自装置の再起動を行う(ステップSC120)。なお、中継手段によるデータ通信の中継の際に使用されるパラメータを書き換えるAPIについても同様の流れ(ステップSC120にてパラメータの更新を行う)で良いが、この場合はパラメータの更新に先立って中継制御プロセスを一旦休眠させ、パラメータ更新後に再開させるようにすることが好ましい。パラメータの更新中に新たなデータ通信の中継が開始されることを回避するためである。   For example, FIG. 6 is a flowchart showing a flow of processing executed by the control unit 110 in accordance with an API for restarting the own apparatus. When this API is called from an application program, control unit 110 first determines whether or not data communication is being relayed (step SC100). Here, for determining whether or not data communication is being relayed, an existing technique may be used, and the determination process may be converted into an API. If the determination result in step SC100 is “Yes”, control unit 110 executes the processing after step SC100 again after sleeping (step SC110) for a predetermined time (for example, 1 second). Conversely, if the determination result in step SC100 is “No”, control unit 110 restarts its own device (step SC120). Note that an API for rewriting parameters used when data communication is relayed by the relay means may be performed in the same flow (updating parameters in step SC120), but in this case, relay control is performed prior to parameter updating. The process is preferably paused and resumed after the parameter update. This is to avoid starting a new data communication relay during the parameter update.

このように、本実施形態では、データ通信に支障を生じさせる特定の処理を実行するAPIについては、データ通信の中継中に呼び出されたとしても、そのデータ通信が完了するまでその処理の実行を見合わせるように構成されているため、中継装置10のユーザは、中継装置10にインストールしようとするアプリケーションプログラムがこれらAPIを呼び出すものであるか否か(すなわち、アプリケーションプログラムの実行過程で中継装置10の再起動等を発生させるプログラムであるか否か)に配慮する必要はない。このため、本実施形態によれば、通信網を介した各種サービスをユーザが手軽に実現することが可能になる。   As described above, in this embodiment, an API that executes a specific process that causes a problem in data communication is executed until the data communication is completed even if it is called during the relay of the data communication. Since it is configured to match, the user of the relay device 10 determines whether or not the application program to be installed in the relay device 10 calls these APIs (that is, the relay device 10 in the process of executing the application program). It is not necessary to consider whether or not the program causes a restart or the like. For this reason, according to the present embodiment, the user can easily realize various services via the communication network.

(C:変形)
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態では、データ通信の中継に支障を生じさせる特定の処理の一例として、中継装置10を再起動する処理、および通信アドレス等の通信パラメータの書き換えを発生させる処理を挙げた。これらの他にも、第1通信I/F部120或いは第2通信I/F部130の起動/停止、ルーティング情報の更新、VoIPパラメータの更新や暗号化アルゴリズムの更新を行う場合には、同様の不具合が発生し得るため、中継中のデータ通信が完了するまでこれらの処理の実行を見合わせるようにすることが好ましい。また、制御部110に複数種のアプリケーションプログラムを並列に実行させる場合には、システム時刻を参照するアプリケーションプログラムの実行中にシステム時刻を更新するアプリケーションプログラムが実行される場合や、不揮発性記憶部144へのデータの書き込みを行うアプリケーションプログラムの実行中に中継装置10の再起動を行うアプリケーションプログラムが実行される場合などに同様の不具合が生じ得る。このため、アプリケーションプログラム間でも同様の調停(他のアプリケーションプログラムが実行中であればシステム時刻の更新を見合わせるなど)を行うようにしても良い。
(C: deformation)
Although one embodiment of the present invention has been described above, it goes without saying that the following modifications may be added to this embodiment.
(1) In the above-described embodiment, as an example of the specific process that causes a trouble in relaying data communication, the process of restarting the relay apparatus 10 and the process of generating rewriting of communication parameters such as a communication address are given. In addition to these, the same applies when starting / stopping the first communication I / F unit 120 or the second communication I / F unit 130, updating routing information, updating VoIP parameters, and updating encryption algorithms. Therefore, it is preferable to postpone the execution of these processes until the data communication being relayed is completed. In addition, when causing the control unit 110 to execute a plurality of types of application programs in parallel, the application program that updates the system time is executed while the application program that refers to the system time is executed, or the nonvolatile storage unit 144. A similar problem may occur when an application program for restarting the relay device 10 is executed during execution of an application program for writing data to the network. For this reason, the same arbitration may be performed between application programs (for example, the update of the system time is postponed if another application program is being executed).

(2)中継手段によるデータ通信の中継とプログラム実行手段にアプリケーションプログラムを実行させることで実現される通信サービスの各々に予め優先順位を定めておき、データ通信の中継と通信サービスとが競合した場合には、優先順位の高い方が完了するまで他方の実行を見合わせるようにしても良い。例えば、アプリケーションプログラムにより実現される通信サービスがリアルタイム性の要求されるものでないならば、中継制御の優先順位を高くしておくことで、データ通信の閑散期にアプリケーションプログラムが集中的に実行されるようにすることができ、アプリケーションプログラムの実行による中継制御への影響を最小限に抑えることが可能になる。また、店舗の営業時間内は通信サービスの優先順位を中継制御の優先順位よりも高く設定しておき、営業時間外では逆に設定するなど時刻毎に上記優先順位を定めておけば、よりきめ細やかな優先制御を実現することが可能になる。 (2) When priority is set in advance for each of the communication services realized by relaying data communication by the relay means and causing the program execution means to execute the application program, and the data communication relay and the communication service compete Alternatively, the other execution may be postponed until the higher priority is completed. For example, if the communication service realized by the application program does not require real-time performance, the application program is executed intensively in the quiet period of data communication by increasing the priority of relay control. Thus, it is possible to minimize the influence on the relay control by executing the application program. In addition, if the priority order of the communication service is set higher than the priority order of relay control during the store's business hours, and the reverse priority is set outside the business hours, the above priority order is determined more accurately. Detailed priority control can be realized.

(3)上記実施形態では不揮発性記憶部144をフラッシュメモリにより構成する場合について説明したが、ハードディスクドライブにより構成しても勿論良い。また、不揮発性記憶部144を、データの書き換えが可能な不揮発性メモリ(例えば、フラッシュメモリ)とデータの書き換えができない不揮発性メモリ(例えば、ROM)により構成し、アプリケーションプログラムなどユーザが自由に更新できることが好ましいプログラムを前者に記憶させ、OSプログラムや中継制御プログラムなど更新の必要性の低いプログラムを後者に記憶させるようにして良い。要は、アプリケーションプログラムが、データの書き換えが可能な記憶部に記憶されている態様であれば良い。 (3) In the above embodiment, the case where the nonvolatile storage unit 144 is configured by a flash memory has been described. Further, the nonvolatile storage unit 144 is configured by a nonvolatile memory (for example, flash memory) that can rewrite data and a nonvolatile memory (for example, ROM) that cannot rewrite data, and the user can freely update application programs and the like. A program that can be preferably stored in the former may be stored in the former, and a program that needs less updating such as an OS program or a relay control program may be stored in the latter. The point is that the application program may be stored in a storage unit capable of rewriting data.

(4)上記実施形態では、APIライブラリを予め用意しておくことで、アプリケーションプログラムの開発に要する手間を軽減する場合について説明したが、APIライブラリの実装を省略しても勿論良い。ただし、この場合、データ通信に支障を生じさせる特定の処理を含むアプリケーションプログラムについては、当該特定の処理の実行に先立って、中継手段によりデータ通信を中継中であるか否かを判定し、中継中であればそのデータ通信が完了するまで当該特定の処理の実行を見合わせるように作成されていることが好ましい。 (4) In the above embodiment, the case has been described in which the API library is prepared in advance to reduce the effort required for developing the application program. However, the implementation of the API library may of course be omitted. However, in this case, for an application program including a specific process that interferes with data communication, prior to the execution of the specific process, it is determined whether or not the data communication is being relayed by the relay means. If it is in the middle, it is preferable that it is created so as to postpone execution of the specific processing until the data communication is completed.

(5)上記実施形態では、データ通信を中継する中継手段とアプリケーションプログラムを実行するプログラム実行手段とをソフトウェアモジュールにより実現する場合について説明したが、中継手段をプログラム実行手段とは別個独立のハードウェアモジュール(ASICなど)により実現しても勿論良い。また、上記実施形態では有線通信網と無線通信網に接続される無線LANルータへの本発明の適用例を説明したが、2つの無線通信網に接続される無線ルータや2つの有線通信網に有線接続されるルータに本発明を適用しても良い。また、本発明の適用対象となる中継装置は、ルータ(すなわち、OSI参照モデルの第3層においてデータ通信を中継する中継装置)に限定されるものではなく、スイッチングハブ(OSI参照モデルの第2層においてデータ通信を中継する中継装置)やゲートウェイ(OSI参照モデルの第4層以上の階層においてデータ通信を中継する中継装置)、無線アクセスポイント装置などのブリッジに本発明を適用しても良い。 (5) In the above embodiment, the case where the relay means for relaying data communication and the program execution means for executing the application program are realized by software modules has been described. However, the relay means is hardware independent of the program execution means. Of course, it may be realized by a module (ASIC or the like). In the above embodiment, the application example of the present invention to the wired LAN and the wireless LAN router connected to the wireless communication network has been described. However, the wireless router connected to the two wireless communication networks and the two wired communication networks The present invention may be applied to a router connected by wire. The relay device to which the present invention is applied is not limited to a router (that is, a relay device that relays data communication in the third layer of the OSI reference model), but is a switching hub (second OSI reference model). The present invention may be applied to a bridge such as a relay device that relays data communication in a layer), a gateway (relay device that relays data communication in a layer higher than the fourth layer of the OSI reference model), and a wireless access point device.

(6)上記実施形態では、制御部110にアプリケーションプログラムを実行させることで実現されるサービスの一例として、データベース等の一括更新による情報共有サービス、およびファイル共有サービスを説明したが、これらに限られるものではなく、例えば、電子メールサービス(すなわち、中継装置10をメールサーバとして機能させる)であっても良い。要は、インターネット20と店舗内無線LANの少なくとも一方を介したデータ通信により実現されるサービスであれば良い。なお、インターネット20と店舗内無線LANの少なくとも一方を介したデータ通信により実現されるサービスを制御部110に実現させるプログラムの他に(或いは、当該プログラムに代えて)、中継装置10の設定情報ファイルを書き換えるためのテキストエディッタや、住所録管理プログラムを、制御部110に実行させるアプリケーションプログラムとして不揮発性記憶部144に記憶させておいても良い。 (6) In the above embodiment, the information sharing service and the file sharing service by batch update of a database or the like have been described as an example of a service realized by causing the control unit 110 to execute an application program. For example, it may be an electronic mail service (that is, the relay apparatus 10 functions as a mail server). In short, any service provided by data communication via at least one of the Internet 20 and the in-store wireless LAN may be used. In addition to the program that causes the control unit 110 to implement a service that is realized by data communication via at least one of the Internet 20 and the in-store wireless LAN (or instead of the program), a setting information file of the relay device 10 A text editor for rewriting and an address book management program may be stored in the non-volatile storage unit 144 as an application program to be executed by the control unit 110.

10…中継装置、110…制御部、120…第1通信I/F部、130…第2通信I/F部、140…記憶部、142…揮発性記憶部、144…不揮発性記憶部、20…インターネット、30…無線端末、40…製造・販売元データベース。   DESCRIPTION OF SYMBOLS 10 ... Relay apparatus, 110 ... Control part, 120 ... 1st communication I / F part, 130 ... 2nd communication I / F part, 140 ... Memory | storage part, 142 ... Volatile memory part, 144 ... Nonvolatile memory part, 20 ... Internet, 30 ... Wireless terminal, 40 ... Manufacturer / vendor database.

Claims (5)

第1および第2の通信網間のデータ通信を中継する中継手段と、
データを書き換え可能に記憶する記憶手段であって、前記第1および第2の通信網の少なくとも一方を介したデータ通信により所定の通信サービスを実現するアプリケーションプログラムと当該アプリケーションプログラムの実行過程で呼び出されるサブプログラムの集合体であるサブプログラムライブラリとを記憶した記憶手段と、
前記アプリケーションプログラムを実行するプログラム実行手段と、
を有することを特徴とする中継装置。
Relay means for relaying data communication between the first and second communication networks;
Storage means for storing data in a rewritable manner, and is called in an execution process of an application program for realizing a predetermined communication service by data communication via at least one of the first and second communication networks Storage means for storing a subprogram library that is a collection of subprograms;
Program execution means for executing the application program;
A relay apparatus comprising:
前記プログラム実行手段は、
前記アプリケーションプログラムの実行過程で呼び出されるサブプログラムが前記中継手段によるデータ通信の中継に支障を生じさせる特定の処理を含むプログラムである場合には、前記中継手段によりデータ通信を中継中であるか否かを判定し、中継中である場合にはそのデータ通信が完了するまで前記特定の処理の実行を見合わせることを特徴とする請求項1に記載の中継装置。
The program execution means includes
If the subprogram called in the process of executing the application program is a program including a specific process that causes a problem in relaying data communication by the relay unit, whether or not data communication is being relayed by the relay unit The relay apparatus according to claim 1, wherein if the relay is in progress, the execution of the specific process is postponed until the data communication is completed.
前記特定の処理は、自装置を再起動する処理、または前記中継手段によるデータ通信の中継の際に使用されるパラメータを書き換える処理であることを特徴とする請求項2に記載の中継装置。   3. The relay apparatus according to claim 2, wherein the specific process is a process of restarting the own apparatus or a process of rewriting a parameter used when data communication is relayed by the relay unit. 前記中継手段によるデータ通信の中継と前記通信サービスとには各々優先順位が定められており、
前記中継手段によるデータ通信の中継と前記プログラム実行手段による前記アプリケーションプログラムの実行の一方の実行中に他方の実行が発生した場合には、優先順位の高い方の実行が完了するまで他方の実行を見合わせる
ことを特徴とする請求項1〜3の何れか1項に記載の中継装置。
Priorities are defined for the relay of data communication by the relay means and the communication service,
If the other execution occurs during one execution of the data communication relay by the relay means and the execution of the application program by the program execution means, the other execution is executed until the execution with the higher priority is completed. The relay device according to any one of claims 1 to 3, wherein the relay device is arranged.
前記第1の通信網と前記第2の通信網の少なくとも一方は、無線通信網であることを特徴とする請求項1〜4の何れか1項に記載の中継装置。   The relay apparatus according to claim 1, wherein at least one of the first communication network and the second communication network is a wireless communication network.
JP2014001962A 2014-01-08 2014-01-08 relay device Pending JP2015130121A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014001962A JP2015130121A (en) 2014-01-08 2014-01-08 relay device
CN201480001039.3A CN104904168B (en) 2014-01-08 2014-04-25 Relay
SG11201605582XA SG11201605582XA (en) 2014-01-08 2014-04-25 Relay device
PCT/JP2014/061709 WO2015104854A1 (en) 2014-01-08 2014-04-25 Relay device
TW103137658A TWI575905B (en) 2014-01-08 2014-10-30 Relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014001962A JP2015130121A (en) 2014-01-08 2014-01-08 relay device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018132908A Division JP6652160B2 (en) 2018-07-13 2018-07-13 Relay device

Publications (1)

Publication Number Publication Date
JP2015130121A true JP2015130121A (en) 2015-07-16

Family

ID=53523699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014001962A Pending JP2015130121A (en) 2014-01-08 2014-01-08 relay device

Country Status (5)

Country Link
JP (1) JP2015130121A (en)
CN (1) CN104904168B (en)
SG (1) SG11201605582XA (en)
TW (1) TWI575905B (en)
WO (1) WO2015104854A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017163541A1 (en) * 2016-03-22 2017-09-28 日本電気株式会社 Relay device, communication system, relay method, and non-transitory computer-readable medium with relay program stored thereon

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7159818B2 (en) * 2018-11-28 2022-10-25 オムロン株式会社 Controllers and communication systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004158044A (en) * 2000-09-12 2004-06-03 Nippon Telegr & Teleph Corp <Ntt> Module server, module provision method, and its computer program
JP2006165884A (en) * 2004-12-06 2006-06-22 Denso Corp Data relay device, multiple communication system, and electronic control unit
JP2010262480A (en) * 2009-05-07 2010-11-18 Hitachi Ltd Control board
JP2012227805A (en) * 2011-04-21 2012-11-15 Sumitomo Electric Ind Ltd Relay device, communication system having the same, and computer program

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1178441A (en) * 1996-09-17 1998-04-08 村田机械株式会社 Communication terminal device and communication method
TW200417852A (en) * 2002-12-19 2004-09-16 Komatsu Mfg Co Ltd Rewrite control apparatus for onboard program
JP3932199B2 (en) * 2003-11-07 2007-06-20 旭化成ケミカルズ株式会社 Flame retardant composition
KR100657326B1 (en) * 2005-07-07 2006-12-14 삼성전자주식회사 Device and method for operating network application according to power management mode of communication device
FR2913838A1 (en) * 2007-03-13 2008-09-19 France Telecom METHOD OF DYNAMICALLY CONTROLLING THE NUMBER OF TRANSISTOR DATA STREAMS IN A NETWORK ARCHITECTURE
JP5059976B2 (en) * 2010-05-31 2012-10-31 株式会社Jin−Magic Communication apparatus and communication method
US20130039276A1 (en) * 2010-06-28 2013-02-14 Mitsubishi Electric Corporation Home gateway
JP5002719B1 (en) * 2011-03-10 2012-08-15 株式会社東芝 Information processing device, external storage device, host device, relay device, control program, and information processing device control method
JP4957853B1 (en) * 2011-03-15 2012-06-20 オムロン株式会社 PLC CPU unit, PLC system program, and recording medium storing PLC system program
EP2509382A1 (en) * 2011-04-08 2012-10-10 Telefonaktiebolaget LM Ericsson (publ) Green relay scheduler

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004158044A (en) * 2000-09-12 2004-06-03 Nippon Telegr & Teleph Corp <Ntt> Module server, module provision method, and its computer program
JP2006165884A (en) * 2004-12-06 2006-06-22 Denso Corp Data relay device, multiple communication system, and electronic control unit
JP2010262480A (en) * 2009-05-07 2010-11-18 Hitachi Ltd Control board
JP2012227805A (en) * 2011-04-21 2012-11-15 Sumitomo Electric Ind Ltd Relay device, communication system having the same, and computer program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017163541A1 (en) * 2016-03-22 2017-09-28 日本電気株式会社 Relay device, communication system, relay method, and non-transitory computer-readable medium with relay program stored thereon
JP2017175264A (en) * 2016-03-22 2017-09-28 日本電気株式会社 Relay device, communication system, relay method and relay program

Also Published As

Publication number Publication date
CN104904168B (en) 2019-01-15
CN104904168A (en) 2015-09-09
WO2015104854A1 (en) 2015-07-16
SG11201605582XA (en) 2016-08-30
TW201528726A (en) 2015-07-16
TWI575905B (en) 2017-03-21

Similar Documents

Publication Publication Date Title
CN106888233B (en) Data updating system and method
JP2007334898A (en) System and method for distributing data
CN103955348A (en) Network printing system and printing method
JP2013091182A (en) Image forming system, image forming device, and program
JP2013152666A (en) Management system, image forming apparatus, control method of management system, control method of image forming apparatus and program
CN101471843B (en) Relay server and relay communication system
WO2015104854A1 (en) Relay device
JP6652160B2 (en) Relay device
JP6576491B2 (en) Control device, control system, method and program
JP2007323653A (en) Data delivery system, data delivery method and data delivery program
JP7183356B2 (en) Communication device, server, communication system, communication method and program
US20190052347A1 (en) Communication system, control device, relay device, control method, and storage medium in which program is stored
JP5329747B2 (en) IP-PBX system, IP-PBX, and IP terminal login method used therefor
JP2012018575A (en) Device, system, method and program for collecting information
JP6856048B2 (en) Control system and control method
JP2017017631A (en) Packet transmission equipment, communication network system and address allocation confirmation method
WO2013046321A1 (en) Periodic transmission control apparatus, periodic transmission control method, and periodic transmission control program
WO2014027479A1 (en) Management system, and management device as well as management method and management program used therein
US20230134535A1 (en) Information processing apparatus, information processing method, and information processing program
JP4186954B2 (en) NETWORK, TERMINAL DEVICE, RESTART METHOD USED FOR THEM, AND PROGRAM THEREOF
JP6249114B2 (en) Image forming system and program
JP7018359B2 (en) Relay server and relay method
JPWO2018078878A1 (en) System design support apparatus, method and program
JP2005196345A (en) Automatic vending machine
TWI466023B (en) System and method for a server in communication with a plurality of client devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180713

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180724

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20181005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190925