WO2015104854A1 - 中継装置 - Google Patents

中継装置 Download PDF

Info

Publication number
WO2015104854A1
WO2015104854A1 PCT/JP2014/061709 JP2014061709W WO2015104854A1 WO 2015104854 A1 WO2015104854 A1 WO 2015104854A1 JP 2014061709 W JP2014061709 W JP 2014061709W WO 2015104854 A1 WO2015104854 A1 WO 2015104854A1
Authority
WO
WIPO (PCT)
Prior art keywords
relay
communication
program
data communication
execution
Prior art date
Application number
PCT/JP2014/061709
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 SG11201605582XA priority Critical patent/SG11201605582XA/en
Priority to CN201480001039.3A priority patent/CN104904168B/zh
Priority to TW103137658A priority patent/TWI575905B/zh
Publication of WO2015104854A1 publication Critical patent/WO2015104854A1/ja

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

Definitions

  • the present invention relates to a technology for supporting the provision of various services via a communication network.
  • a computer 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), such as a router
  • an application program that implements the service that is, a program that causes a computer to execute data communication that implements the service
  • a router It is necessary to connect to a communication network via a relay device.
  • 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.
  • Patent Document 1 discloses an invention of a communication device in which an application program is incorporated in advance.
  • 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 technology that allows a user to freely and easily provide various services via a communication network.
  • 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.
  • 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, when the communication address is an IPv4 (Internet Protocol version 4) IP (Internet Protocol) address, the depletion is a big problem, and the merit of saving the IP address allocated to the server device is great. .
  • IPv4 Internet Protocol version 4
  • the application program memorize
  • 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 its 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.
  • 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.
  • 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.
  • 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.
  • 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
  • the above-described conflict avoidance is realized by using a priority order corresponding to the time acquired by the time acquisition unit. good.
  • 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.
  • the relay device may be a wireless LAN (Local Area Network) router.
  • LAN Local Area Network
  • FIG. 3 is a block diagram illustrating a configuration example of the relay device 10.
  • FIG. 3 is a functional block diagram for explaining functions realized by a control unit 110 of the relay apparatus 10.
  • FIG. It is a figure for demonstrating the execution process of API including the process which produces a trouble in the relay of data communication.
  • 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.
  • the in-store wireless LAN includes a DHCP (Dynamic Host Configuration Protocol) server for assigning an IP address to the wireless terminal 30.
  • 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.
  • MAC Media Access Control
  • 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
  • a server device functioning as a database server is generally provided separately from the relay device 10 in an in-store wireless LAN.
  • the present embodiment is characterized in that the relay apparatus 10 also serves as a database server.
  • the relay apparatus 10 that clearly shows the features of the present embodiment will be mainly described.
  • FIG. 2 is a block diagram illustrating a configuration example of the relay device 10.
  • 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.
  • I / F first communication interface
  • 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, for example, a NIC (Network Interface Card), 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.
  • 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.
  • the non-volatile storage unit 144 is a non-volatile memory capable of rewriting data.
  • a flash memory is used as the nonvolatile storage unit 144.
  • 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.
  • the OS program is a program for causing the control unit 110 to realize a so-called multitask OS.
  • Linux registered trademark
  • 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.
  • 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.
  • the relay control program is a program for causing the control unit 110 to execute a relay control process 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.
  • 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 library is a collection of various subprograms that are highly likely to be used in common regardless of the type of application program (that is, a subprogram library).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • the relay device 10 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.
  • 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.
  • 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.
  • a hard disk drive is generally used as this type of storage device.
  • an information sharing service for product information can be easily realized.
  • 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.
  • the information sharing service is also provided to the store visitor. May be.
  • the present invention may be applied to sharing other types of information.
  • 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. .
  • the relay apparatus 10 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.
  • the relay apparatus 10 functions as a file sharing server. be able to.
  • 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.
  • FIG. 5 is a flowchart showing the flow of the file sharing process executed by the relay apparatus 10.
  • 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).
  • 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.
  • an SSID may be used instead of the network address.
  • 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.
  • 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. Execute. 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.
  • 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.
  • 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.
  • APIs are called.
  • data communication is being relayed by relay means.
  • Some of them include specific processing that, when executed, causes trouble in relaying the data communication.
  • it is an API for restarting the relay device 10 or an API for rewriting parameters used for data communication relay.
  • 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.
  • 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.
  • control unit 110 first determines whether or not data communication is being relayed (step SC100).
  • the existing technology may be used to determine whether or not data communication is being relayed, and the determination processing in step SC100 is another API different from the API that executes the processing in FIG. It is also conceivable that the determination result is received from the other 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).
  • step SC100 determines whether the determination result in step SC100 is “No” or not.
  • control unit 110 restarts its own device (step SC120).
  • 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.
  • 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.
  • 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).
  • the nonvolatile storage unit 144 is configured by a flash memory. 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 application program may be stored in a storage unit capable of rewriting data.
  • the relay means for relaying data communication and the program execution means for executing the application program are realized by software modules.
  • the relay means is hardware independent of the program execution means. Of course, it may be realized by a module (ASIC or the like).
  • 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.
  • 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.
  • 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.
  • it may be an electronic mail service (that is, the relay apparatus 10 functions as a mail server).
  • any service provided by data communication via at least one of the Internet 20 and the in-store wireless LAN may be used.
  • 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 nonvolatile storage unit 144 as an application program to be executed by the control unit 110.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

 課題は、通信網を介した各種サービスの提供をユーザが手軽に実現できるようにすることである。第1および第2の通信網間のデータ通信を中継する中継手段と、データを書き換え可能に記憶する記憶手段であって、前記第1および第2の通信網の少なくとも一方を介したデータ通信により所定の通信サービスを実現するアプリケーションプログラムと当該アプリケーションプログラムの実行過程で呼び出されるサブプログラムの集合体であるサブプログラムライブラリとを記憶した記憶手段と、前記アプリケーションプログラムを実行するプログラム実行手段とを有することを特徴とする中継装置、を提供する。

Description

中継装置
 この発明は、通信網を介した各種サービスの提供を支援する技術に関する。
 近年では、電子メールサービスやファイル共有サービスなど通信網を介したデータ通信により実現される各種サービスの利用が可能となっている。また、企業等においてはこの種のサービスを従業者に提供し、業務効率を向上させることも一般に行われている。
日本国特開2006-254430号公報
 この種のサービスの提供を行うには、そのサービスを実現するアプリケーションプログラム(すなわち、そのサービスを実現するデータ通信をコンピュータに実行させるプログラム)を実行するコンピュータ(以下、サーバ装置)を、ルータなどの中継装置を介して通信網に接続しておく必要がある。また、提供するサービスの内容によって通信網における盗聴に充分に注意を払うなど、セキュリティの確保に充分に留意する必要がある。このため、個人や中小企業などの資力の乏しい者にとっては、アプリケーションプログラムを実行するサーバ装置を別途用意したり、セキュリティ確保に充分な注意を払うために専門技術者を雇ったりすることが難しい場合が多く、通信網を介した各種サービスの提供を手軽に行えないといった問題があった。
 特許文献1には、アプリケーションプログラムが予め組み込まれた通信機器の発明が開示されているが、特許文献1に開示の通信機器ではユーザがアプリケーションプログラムの追加や削除、変更等を自由に行うことはできない。このため、特許文献1に開示の通信機器を用いたとしても、ユーザが所望のサービスを自由に提供できる訳ではない。
 本発明は以上に説明した課題に鑑みて為されたものであり、通信網を介した各種サービスをユーザが自由かつ手軽に提供できるようにする技術を提供することを目的とする。
 上記課題を解決するために本発明は、第1および第2の通信網間のデータ通信を中継する中継手段と、データを書き換え可能に記憶する記憶手段であって、前記第1および第2の通信網の少なくとも一方を介したデータ通信により所定の通信サービスを実現するアプリケーションプログラムと当該アプリケーションプログラムの実行過程で呼び出されるサブプログラムの集合体であるサブプログラムライブラリとを記憶した記憶手段と、前記アプリケーションプログラムを実行するプログラム実行手段と、を有することを特徴とする中継装置、を提供する。
 このような中継装置によれば、アプリケーションプログラムを実行するためのサーバ装置を別途用意する必要はない。また、本発明では、中継装置においてアプリケーションプログラムが実行されるため、盗聴の心配がなく、セキュリティ確保に特段の配慮を払う必要もない。これに加えて、本発明によれば、サーバ装置に割り振る通信アドレスを確保する必要がなく、通信アドレスを節約することができるといった効果もある。特に、上記通信アドレスがIPv4(Internet Protocol version 4)のIP(Internet Protocol)アドレスである場合には、その枯渇が大きな問題となっているため、サーバ装置に割り振るIPアドレスを節約できることのメリットは大きい。また、本発明によれば、従来の通信システムにおいて通信網を介して行われていた中継装置-サーバ間のデータ通信は中継装置内の内部バスを介した通信に置き換えられるため、上記通信網におけるトラヒックを軽減できるといった効果も期待される。そして、本発明の中継装置においては、引用文献1に開示の通信機器とは異なり、記憶手段に記憶させるアプリケーションプログラムをユーザの所望に応じて自由に書き換えることができる。また、上記サブプログラムライブラリとして、多様な種類のアプリケーションプログラムにおいて共通して実行される処理をプログラム実行手段に実行させるサブプログラムの集合体を用意しておき、その呼び出し仕様をAPI(Application Program Interface)として公開しておけば、当該サブプログラムをユーザが逐一作成する手間を省くことができる。このため、本発明によれば、通信網を介した各種サービスの提供をユーザが自由かつ手軽に実現できるようになる。
 より好ましい態様においては、前記プログラム実行手段は、前記アプリケーションプログラムの実行過程で呼び出されるサブプログラムが前記中継手段によるデータ通信の中継に支障を生じさせる特定の処理を含むプログラムである場合には、前記中継手段によりデータ通信を中継中であるか否かを判定し、中継中である場合にはそのデータ通信が完了するまで前記特定の処理の実行を見合わせることを特徴とする。このような態様によれば、プログラム実行手段に実行させるアプリケーションプログラムに、中継手段によるデータ通信の中継に支障を生じさせる特定の処理が含まれていたとしても、中継手段によるデータ通信の中継中あれば、そのデータ通信が完了するまで当該特定の処理の実行は見合わせられる。ここで、中継手段によるデータ通信の中継に支障を生じさせる特定の処理の具体例としては、そのデータ通信の中継の際に使用されるパラメータ(例えば、当該中継装置の通信アドレスなど)を書き換える処理や中継装置を再起動する処理が挙げられる。このため、本発明によれば、ユーザが特段の注意を払わなくても、当該特定の処理の実行に起因する不具合(中継中のデータ通信の途絶など)の発生を回避することが可能になる。
 さらに別の好ましい態様においては、前記中継手段によるデータ通信の中継と前記プログラム実行手段にアプリケーションプログラムを実行させることで実現される通信サービスには各々優先順位が定められており、前記データ通信の中継と前記通信サービスとが競合した場合には、優先順位の高い方が完了するまで他方の実行を見合わせることを特徴とする。このような態様によれば、中継手段によるデータ通信の中継とアプリケーションプログラムの実行により実現されるサービスのうち優先順位の高い方が他方によって阻害されることを防止することができる。なお、さらに好ましい態様においては、前記中継手段によるデータ通信の中継と前記プログラム実行手段にアプリケーションプログラムを実行させることで実現される通信サービスの各々の優先順位を時刻毎に定めておくとともに、現在時刻を取得する時刻取得手段(例えば、リアルタイムクロックやGPS受信機)を上記中継装置に設け、当該時刻取得手段により取得された時刻に応じた優先順位を用いて上記競合回避を実現するようにしても良い。
 また、上記課題を解決するための別の態様としては、第1および第2の通信網間のデータ通信を中継する中継ステップと、前記第1および第2の通信網の少なくとも一方を介したデータ通信により所定の通信サービスを実現するアプリケーションプログラムと当該アプリケーションプログラムの実行過程で呼び出されるサブプログラムの集合体であるサブプログラムライブラリとが予め記憶された記憶手段から前記アプリケーションプログラムを読み出して実行するプログラム実行ステップを、前記第1および第2の通信網に接続された中継装置の制御部に並列に実行させる方法が考えられる。
 また、中継装置は無線LAN(Local Area Network)ルータであってもよい。
本発明の一実施形態の中継装置10を含む通信システムの構成例を示すブロック図である。 同中継装置10の構成例を示すブロック図である。 同中継装置10の制御部110により実現される機能を説明するための機能ブロック図である。 同中継装置10の動作例を説明するための図である。 同中継装置10の他の動作例を説明するための図である。 データ通信の中継に支障を生じさせる処理を含むAPIの実行過程を説明するための図である。
 以下図面を参照しつつ本発明の実施形態を説明する。
(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アドレスが記憶されている。
 中継装置10は、一般的な無線LANルータとして機能するとともに、所謂データベースサーバとして機能する。より詳細に説明すると、図1の中継装置10の記憶部には、上記店舗において販売される各種商品の情報(商品を一意に示す商品識別子(例えば、商品の名称や型番を表す文字列等)や商品の仕様を説明した説明文の文字列、価格など:以下、商品情報)を記憶したデータベース(以下、商品データベース:図1では図示略)が格納されている。インターネット20には商品の製造・販売元等によって運営される製造・販売元データベース40が接続されている。製造・販売元データベース40にはその運営元の製造・販売する商品についての最新の商品情報が格納されている。中継装置10は、製造・販売元データベース40にアクセスし、商品データベースの格納内容を最新の状態に更新(すなわち、新たな商品情報の追加等)するとともに、更新後の商品データベースの格納内容を無線端末30に送信し、ローカル商品データベースとして記憶させる。無線端末30のユーザ(すなわち、上記店舗の従業者)は、ローカル商品データベースの格納内容を参照することで、各種商品の仕様等を顧客に対して迅速かつ手軽に説明することができる。つまり、図1に示す店舗内無線LANは、最新の商品情報を各従業者に共有させる情報共有サービスを実現するためのものである。
 従来、このような情報共有サービスを実現するには、データベースサーバとして機能するサーバ装置を中継装置10とは別個に店舗内無線LANに設けて置くことが一般的であった。これに対して、本実施形態では、中継装置10にデータベースサーバの役割を兼ねさせている点に特徴がある。以下、本実施形態の特徴を顕著に示す中継装置10を中心に説明する。
 図2は、中継装置10の構成例を示すブロック図である。
 図2に示すように中継装置10は、制御部110、第1通信インターフェース(以下、「I/F」と略記)部120、第2通信I/F部130、記憶部140、およびこれら構成要素間のデータ授受を仲介するバス150を有している。
 制御部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へ送出する。
 記憶部140は、図2に示すように、揮発性記憶部142と、不揮発性記憶部144とを含んでいる。揮発性記憶部142は例えばRAM(Random Access Memory)である。この揮発性記憶部142は、各種プログラムを実行する際のワークエリアとして制御部110によって利用される。一方、不揮発性記憶部144は、データの書き換えが可能な不揮発性メモリである。本実施形態では、不揮発性記憶部144としてフラッシュメモリが用いられている。
 不揮発性記憶部144には、前述した商品データベースが格納されている。また、不揮発性記憶部144には、中継装置10の機能(すなわち、無線LANルータ機能および上記情報共有サービスにおけるデータベースサーバ機能)を実現するための各種プログラムが記憶されている。不揮発性記憶部144に記憶されているプログラムの具体例としては、OS(Operating System)プログラム、中継制御プログラム、データベースサーバプログラムおよびAPIライブラリが挙げられる。
 OSプログラムは、所謂マルチタスクOSを制御部110に実現させるプログラムである。本実施形態では、OSプログラムとしてLinux(登録商標)が用いられているが、マルチタスクOSを制御部110に実現させるものであれば、Linux(登録商標)に限定されるものではない。制御部110は、中継装置10の電源(図示略)投入を契機として、OSプログラムを不揮発性記憶部144から揮発性記憶部142に読み出し、その実行を開始する。OSプログラムにしたがって作動し、OSを実現している状態の制御部110は、予め定められたスケジュールにしたがって、或いは外部から与えられる指示に応じて、記憶手段(本実施形態では、不揮発性記憶部144)に記憶されている他のプログラムを実行するプログラム実行手段(図3参照)として機能する。OSを実現している状態の制御部110は、複数のプログラムを並列に実行することができる。本実施形態では、OSの実現後、即座に、中継制御プログラムとデータベースサーバプログラムとを不揮発性記憶部144から揮発性記憶部142に読み出して実行するように予めスケジューリングが為されている。
 中継制御プログラムは、第1通信I/F部120または第2通信I/F部130の一方を介して受信したパケットを他方へと転送する中継制御処理を制御部110に実行させるプログラムである。中継制御プログラムにしたがって作動している制御部110は、第1の通信網(本実施形態では、店舗内無線LAN)および第2の通信網(本実施形態では、インターネット20)間のデータ通信を中継する中継手段(図3参照)として機能する。なお、中継制御プログラムにしたがって制御部110が実行する中継処理ついては一般的な無線LANルータにおけるものと特段に変わるところはないため、詳細な説明を省略する。データベースサーバプログラムは、製造・販売元データベース40の格納内容を参照して商品データベースの格納内容を最新の状態に更新するとともに、各無線端末30のローカル商品データベースの格納内容を最新の状態に更新する処理を制御部110に実行させるアプリケーションプログラムである。制御部110がデータベースサーバプログラムにしたがって実行する処理の詳細については重複を避けるため、動作例において明らかにする。本実施形態では、中継手段(図3参照)によるデータ通信の中継とプログラム実行手段(図3参照)によるアプリケーションプログラム(本実施形態では、データベースサーバプログラム)の実行とが並列に実行される。
 APIライブラリは、アプリケーションプログラムの種類を問わずに共通して利用される可能性の高い各種サブプログラムの集合体(すなわち、サブプログラムライブラリ)である。APIとは、本来、これらサブプログラムを呼び出す際の書式のことを意味するが、本明細書では慣習にしたがい、これらサブプログラムそのものについてもAPIと称する。本実施形態のAPIライブラリに含まれるAPIの一例としては、ハードウェア(本実施形態では、中継装置10)の機器情報やハードウェアの周囲の環境情報を取得するAPI、ハードウェアの動作設定の変更を行うためのAPIが挙げられる。具体的には、制御部110(すなわち、CPU)の使用率や揮発性記憶部142(すなわち、メモリ)の使用率を取得するAPI、中継装置10の筐体内の温度を計測するAPI、ランニングconfigの読み出し更新および保存を行うAPI、動作ログを読み出すAPI、中継装置10を再起動させるAPIなどが挙げられる。
 また、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の構成である。
(B:動作)
 次いで、データベースサーバプログラムにしたがって制御部110が実行する動作について図4を参照しつつ説明する。データベースサーバプログラムにしたがって作動している制御部110は、まず、インターネット20を介して製造・販売元データベース40と通信し、最新のデータをダウンロードして商品データベースの格納内容を更新する(図4:ステップSA100)。ここで、最新のデータであるか否かの判定については、データ毎にそのデータのバージョン(版数)を示すバージョン情報を対応付けて製造・販売元データベース40に格納しておき、商品データベースに格納されているものより新しいバージョンを示すバージョン情報を対応付けられているデータを最新のデータと判定するようにすれば良い。なお、製造・販売元データベース40に最新のデータが格納されていない場合には、ステップSA100以降の処理をスキップしても良い。
 次いで、制御部110は、自装置に接続している無線端末30のIPアドレスを取得する(図4:ステップSA110)。より詳細に説明すると、制御部110は、自装置に接続している無線端末30のMACアドレスの一覧を前述したMACアドレスリスト取得APIを用いて取得する。そして、制御部110は、このようにして取得した各MACアドレスに対応するIPアドレスを店舗内無線LANのDHCPサーバ(図示略)より取得する。なお、IPアドレスを取得できない無線端末30があった場合には、当該無線端末30のMACアドレスを宛先としてスリープ解除信号を送信し、当該無線端末30によるIPアドレスの取得を待って再度DHCPサーバへの問い合わせを行う。
 次いで、制御部110は、ステップSA110にて取得した各IPアドレスを宛先として商品データベースの格納内容を店舗内無線LAN経由で送信し、当該IPアドレスの示す無線端末30に対してローカル商品データベースの更新を指示する(ステップSA120)。なお、商品データベースの格納内容の送信に先立って各無線端末30にローカル商品データベースに格納されているデータのバージョンを問い合わせ、最新のバージョンのローカル商品データベースを有している無線端末30に対しては商品データベースの格納内容の送信を省略しても勿論良い。以上に説明する動作が為される結果、中継装置10の商品データベースの格納内容と各無線端末30のローカル商品データベースの格納内容とが最新の状態に一括更新される。
 本実施形態によれば、店舗の開店時刻前の所定の時刻に中継装置10の電源を投入し、閉店時刻後に中継装置10の電源を切断するようにすれば、営業時間中は常に最新の商品情報を上記店舗の従業者に共有させることが可能となる。なお、上記所定の時刻にデータベースサーバプログラムが実行されるようにスケジューリングを行っておけば、中継装置10の電源を常時投入しておいたとしても同様の効果が得られる。
 本実施形態では、データベースサーバとして機能するサーバ装置を店舗内無線LANに別途設けることなく、商品データベースの格納内容と各無線端末30のローカル商品データベースの格納内容とを最新の状態に一括更新し、各従業者に最新の商品情報を共有させることが可能になる。このようにデータベースサーバとして機能するサーバ装置を別途用意する必要がないため、上記店舗の経営者が個人または中小企業などの資力の乏しい者であっても、商品情報についての情報共有サービスを手軽に実現することが可能になる。また、本実施形態では、中継装置10における商品データベースの格納先の記憶装置としてフラッシュメモリが用いられており、この点にも本実施形態の特徴の1つがある。従来のサーバ装置では、この種の記憶装置としてハードディスクドライブが用いられることが一般的であったが、ハードディスドライブに関してはモータなどの機構部の故障に充分に注意を払わなければならない(例えば、ハードディスクドライブの格納内容を定期的に他の記録媒体に記録する等)という欠点があった。これに対して、フラッシュメモリはモータなどの機構部を有していないため、上記のような注意を払う必要はない。この点から見ても、本実施形態によれば、商品情報についての情報共有サービスを手軽に実現することが可能になる。なお、本実施形態では、店舗内無線LANの敷設された店舗の従業者を対象として情報共有サービスを行う場合について説明したが、上記店舗の来店者に対しても情報共有サービスを提供するようにしても良い。また、本実施形態では商品情報の共有を実現する場合について説明したが、他の種類の情報の共有に本発明を適用しても良いことは言うまでもない。
 前述したように、中継装置10をデータベースサーバとして機能させるアプリケーションプログラムであるデータベースサーバプログラムは不揮発性記憶部144に記憶されており、不揮発性記憶部144はデータの書き換えが可能な不揮発性メモリである。このため、本実施形態では、不揮発性記憶部144に記憶されているアプリケーションプログラムを差し替えることで、中継装置10に他の通信サービスを提供させることが可能である。例えば、不揮発性記憶部144に記憶されているデータベースサーバプログラムを、図5に示すファイル共有処理を制御部110に実行させるファイル共有サーバプログラムに差し替えることで、中継装置10をファイル共有サーバとして機能させることができる。なお、中継装置10にインストールする各種アプリケーションプログラムについては、中継装置10の製造元或いは当該製造元よる許諾を受けたサードパーティにインターネット20経由で適宜配布させるようにすれば良い。
 図5は、中継装置10で実行されるファイル共有処理の流れを示すフローチャートである。ファイル共有サーバプログラムにしたがって作動している制御部110は、図5に示すように、無線端末30からのファイルへのアクセス要求を待ち受けている(ステップSB100)。制御部110は、店舗内無線LAN経由でアクセス要求を受信する(ステップSB100:Yes)と当該無線端末30が属するネットワークアドレスを特定する(ステップSB110)。このネットワークアドレスの特定についても、予めAPIを用意しておけば良い。なお、アクセス要求の送信元となる端末を収容する通信網が本実施形態におけるもののように無線LANである場合には、ネットワークアドレスの代わりにSSIDを用いても良い。ネットワークアドレスの代わりにSSIDを用いる場合には、例えば上記店舗の従業者にはスタッフ用SSIDを割り当てておき、来客にはスタッフ用SSIDとは異なるゲスト用SSIDを割り当てておけば良い。
 制御部110は、ステップSB110にて特定したネットワークアドレスがゲスト用のアドレスであるか否かを判定し(ステップSB120)、その判定結果がNoであればアクセス要求を受け入れ、ステップSB130以降の処理を実行する。逆に、ゲスト用のアドレスであれば(ステップSB120:Yes)、制御部110はアクセス要求を破棄し(ステップSB150)、ステップSB100以降の処理を繰り返す。
 ステップSB120の判定結果がNoである場合に実行されるステップSB130では、制御部110は、アクセス要求によるアクセス先のファイルをそのアクセス要求の送信元の無線端末30へ送信し、当該ファイルの内容を表示させる。なお、アクセス要求によるアクセス先のファイルが自身の公開ディレクトリに格納されていない場合には、制御部110は当該ファイルをインターネット20経由で取得し、上記公開ディレクトリへ格納した後にアクセス要求の送信元への転送を行う。このようにして公開ディレクトリに格納したファイルについては、制御部110は、上記アクセス要求の送信元との通信セッションの切断を契機として公開ディレクトリから削除する。以降、制御部110は、ファイル共有サービスの終了を指示されたか否かを判定し(ステップSB140)、その判定結果がNoであればステップSB100以降の処理を繰り返す。これにより、ファイル共有サービスが実現される。
 前述したように、データベースサーバプログラムやファイル共有サーバプログラムなどのアプリケーションプログラムの実行過程では、各種のAPIの呼び出しが行われるのであるが、これらAPIの中には、中継手段によるデータ通信の中継中に実行されるとそのデータ通信の中継に支障を生じさせる特定の処理を含むものがある。具体的には、中継装置10の再起動をするAPIや、データ通信の中継の際に使用されるパラメータを書き換えるAPIである。本実施形態では、これらデータ通信に支障を生じさせる特定の処理を実行するAPIについては、データ通信の中継中に呼び出されたとしても、そのデータ通信が完了するまでその処理の実行を見合わせるように構成されており、この点にも本実施形態の特徴の一つがある。
 例えば、図6は、自装置を再起動するAPIにしたがって制御部110が実行する処理の流れを示すフローチャートである。このAPIがアプリケーションプログラムから呼び出されると、制御部110は、まず、データ通信を中継中であるか否かを判定する(ステップSC100)。ここで、データ通信を中継中であるか否かの判定については、既存の技術を用いれば良く、また、ステップSC100の当該判定処理は、図6の処理を実行するAPIとは異なる他のAPIにより実行させ、当該他のAPIからその判定結果を受け取る態様も考えられる。ステップSC100の判定結果が“Yes”であれば、制御部110は所定時間(例えば、1秒など)のスリープ(ステップSC110)を行った後に再度ステップSC100以降の処理を実行する。逆に、ステップSC100の判定結果が“No”であれば、制御部110は、自装置の再起動を行う(ステップSC120)。なお、中継手段によるデータ通信の中継の際に使用されるパラメータを書き換えるAPIについても同様の流れ(ステップSC120にてパラメータの更新を行う)で良いが、この場合はパラメータの更新に先立って中継制御プロセスを一旦休眠させ、パラメータ更新後に再開させるようにすることが好ましい。パラメータの更新中に新たなデータ通信の中継が開始されることを回避するためである。
 このように、本実施形態では、データ通信に支障を生じさせる特定の処理を実行するAPIについては、データ通信の中継中に呼び出されたとしても、そのデータ通信が完了するまでその処理の実行を見合わせるように構成されているため、中継装置10のユーザは、中継装置10にインストールしようとするアプリケーションプログラムがこれらAPIを呼び出すものであるか否か(すなわち、アプリケーションプログラムの実行過程で中継装置10の再起動等を発生させるプログラムであるか否か)に配慮する必要はない。このため、本実施形態によれば、通信網を介した各種サービスをユーザが手軽に実現することが可能になる。
(C:変形)
 以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても勿論良い。
(1)上記実施形態では、データ通信の中継に支障を生じさせる特定の処理の一例として、中継装置10を再起動する処理、および通信アドレス等の通信パラメータの書き換えを発生させる処理を挙げた。これらの他にも、第1通信I/F部120或いは第2通信I/F部130の起動/停止、ルーティング情報の更新、VoIPパラメータの更新や暗号化アルゴリズムの更新を行う場合には、同様の不具合が発生し得るため、中継中のデータ通信が完了するまでこれらの処理の実行を見合わせるようにすることが好ましい。また、制御部110に複数種のアプリケーションプログラムを並列に実行させる場合には、システム時刻を参照するアプリケーションプログラムの実行中にシステム時刻を更新するアプリケーションプログラムが実行される場合や、不揮発性記憶部144へのデータの書き込みを行うアプリケーションプログラムの実行中に中継装置10の再起動を行うアプリケーションプログラムが実行される場合などに同様の不具合が生じ得る。このため、アプリケーションプログラム間でも同様の調停(他のアプリケーションプログラムが実行中であればシステム時刻の更新を見合わせるなど)を行うようにしても良い。
(2)中継手段によるデータ通信の中継とプログラム実行手段にアプリケーションプログラムを実行させることで実現される通信サービスの各々に予め優先順位を定めておき、データ通信の中継と通信サービスとが競合した場合には、優先順位の高い方が完了するまで他方の実行を見合わせるようにしても良い。例えば、アプリケーションプログラムにより実現される通信サービスがリアルタイム性の要求されるものでないならば、中継制御の優先順位を高くしておくことで、データ通信の閑散期にアプリケーションプログラムが集中的に実行されるようにすることができ、アプリケーションプログラムの実行による中継制御への影響を最小限に抑えることが可能になる。また、店舗の営業時間内は通信サービスの優先順位を中継制御の優先順位よりも高く設定しておき、営業時間外では逆に設定するなど時刻毎に上記優先順位を定めておけば、よりきめ細やかな優先制御を実現することが可能になる。
(3)上記実施形態では不揮発性記憶部144をフラッシュメモリにより構成する場合について説明したが、ハードディスクドライブにより構成しても勿論良い。また、不揮発性記憶部144を、データの書き換えが可能な不揮発性メモリ(例えば、フラッシュメモリ)とデータの書き換えができない不揮発性メモリ(例えば、ROM)により構成し、アプリケーションプログラムなどユーザが自由に更新できることが好ましいプログラムを前者に記憶させ、OSプログラムや中継制御プログラムなど更新の必要性の低いプログラムを後者に記憶させるようにして良い。要は、アプリケーションプログラムが、データの書き換えが可能な記憶部に記憶されている態様であれば良い。
(4)上記実施形態では、APIライブラリを予め用意しておくことで、アプリケーションプログラムの開発に要する手間を軽減する場合について説明したが、APIライブラリの実装を省略しても勿論良い。ただし、この場合、データ通信に支障を生じさせる特定の処理を含むアプリケーションプログラムについては、当該特定の処理の実行に先立って、中継手段によりデータ通信を中継中であるか否かを判定し、中継中であればそのデータ通信が完了するまで当該特定の処理の実行を見合わせるように作成されていることが好ましい。
(5)上記実施形態では、データ通信を中継する中継手段とアプリケーションプログラムを実行するプログラム実行手段とをソフトウェアモジュールにより実現する場合について説明したが、中継手段をプログラム実行手段とは別個独立のハードウェアモジュール(ASICなど)により実現しても勿論良い。また、上記実施形態では有線通信網と無線通信網に接続される無線LANルータへの本発明の適用例を説明したが、2つの無線通信網に接続される無線ルータや2つの有線通信網に有線接続されるルータに本発明を適用しても良い。また、本発明の適用対象となる中継装置は、ルータ(すなわち、OSI参照モデルの第3層においてデータ通信を中継する中継装置)に限定されるものではなく、スイッチングハブ(OSI参照モデルの第2層においてデータ通信を中継する中継装置)やゲートウェイ(OSI参照モデルの第4層以上の階層においてデータ通信を中継する中継装置)、無線アクセスポイント装置などのブリッジに本発明を適用しても良い。
(6)上記実施形態では、制御部110にアプリケーションプログラムを実行させることで実現されるサービスの一例として、データベース等の一括更新による情報共有サービス、およびファイル共有サービスを説明したが、これらに限られるものではなく、例えば、電子メールサービス(すなわち、中継装置10をメールサーバとして機能させる)であっても良い。要は、インターネット20と店舗内無線LANの少なくとも一方を介したデータ通信により実現されるサービスであれば良い。なお、インターネット20と店舗内無線LANの少なくとも一方を介したデータ通信により実現されるサービスを制御部110に実現させるプログラムの他に(或いは、当該プログラムに代えて)、中継装置10の設定情報ファイルを書き換えるためのテキストエディッタや、住所録管理プログラムを、制御部110に実行させるアプリケーションプログラムとして不揮発性記憶部144に記憶させておいても良い。
 本出願は、2014年1月8日付で出願された日本特許出願(特願2014-001962)に基づくものであり、その内容はここに参照として取り込まれる。
 10…中継装置、110…制御部、120…第1通信I/F部、130…第2通信I/F部、140…記憶部、142…揮発性記憶部、144…不揮発性記憶部、20…インターネット、30…無線端末、40…製造・販売元データベース。

Claims (6)

  1.  第1および第2の通信網間のデータ通信を中継する中継手段と、
     データを書き換え可能に記憶する記憶手段であって、前記第1および第2の通信網の少なくとも一方を介したデータ通信により所定の通信サービスを実現するアプリケーションプログラムと当該アプリケーションプログラムの実行過程で呼び出されるサブプログラムの集合体であるサブプログラムライブラリとを記憶した記憶手段と、
     前記アプリケーションプログラムを実行するプログラム実行手段と、
     を有することを特徴とする中継装置。
  2.  前記プログラム実行手段は、
     前記アプリケーションプログラムの実行過程で呼び出されるサブプログラムが前記中継手段によるデータ通信の中継に支障を生じさせる特定の処理を含むプログラムである場合には、前記中継手段によりデータ通信を中継中であるか否かを判定し、中継中である場合にはそのデータ通信が完了するまで前記特定の処理の実行を見合わせることを特徴とする請求項1に記載の中継装置。
  3.  前記特定の処理は、自装置を再起動する処理、または前記中継手段によるデータ通信の中継の際に使用されるパラメータを書き換える処理であることを特徴とする請求項2に記載の中継装置。
  4.  前記中継手段によるデータ通信の中継と前記通信サービスとには各々優先順位が定められており、
     前記中継手段によるデータ通信の中継と前記プログラム実行手段による前記アプリケーションプログラムの実行の一方の実行中に他方の実行が発生した場合には、優先順位の高い方の実行が完了するまで他方の実行を見合わせる
     ことを特徴とする請求項1~3の何れか1項に記載の中継装置。
  5.  前記第1の通信網と前記第2の通信網の少なくとも一方は、無線通信網であることを特徴とする請求項1~4の何れか1項に記載の中継装置。
  6.  前記中継装置は、無線LANルータである請求項1~5の何れか1項に記載の中継装置。
PCT/JP2014/061709 2014-01-08 2014-04-25 中継装置 WO2015104854A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SG11201605582XA SG11201605582XA (en) 2014-01-08 2014-04-25 Relay device
CN201480001039.3A CN104904168B (zh) 2014-01-08 2014-04-25 中继装置
TW103137658A TWI575905B (zh) 2014-01-08 2014-10-30 Relay device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014001962A JP2015130121A (ja) 2014-01-08 2014-01-08 中継装置
JP2014-001962 2014-01-08

Publications (1)

Publication Number Publication Date
WO2015104854A1 true WO2015104854A1 (ja) 2015-07-16

Family

ID=53523699

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/061709 WO2015104854A1 (ja) 2014-01-08 2014-04-25 中継装置

Country Status (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112655175A (zh) * 2018-11-28 2021-04-13 欧姆龙株式会社 控制装置、支持装置及通信系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6662136B2 (ja) * 2016-03-22 2020-03-11 日本電気株式会社 中継装置、通信システム、中継方法及び中継プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006165884A (ja) * 2004-12-06 2006-06-22 Denso Corp データ中継装置,多重通信システム,電子制御ユニット
JP2010262480A (ja) * 2009-05-07 2010-11-18 Hitachi Ltd 制御盤
WO2012002154A1 (ja) * 2010-06-28 2012-01-05 三菱電機株式会社 ホームゲートウェイ
JP2012227805A (ja) * 2011-04-21 2012-11-15 Sumitomo Electric Ind Ltd 中継装置とこれを有する通信システム及びコンピュータプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1178441A (zh) * 1996-09-17 1998-04-08 村田机械株式会社 通信终端装置及通信方法
JP2004158044A (ja) * 2000-09-12 2004-06-03 Nippon Telegr & Teleph Corp <Ntt> モジュールサーバおよびモジュール提供方法ならびにそのコンピュータプログラム
TW200417852A (en) * 2002-12-19 2004-09-16 Komatsu Mfg Co Ltd Rewrite control apparatus for onboard program
JP3932199B2 (ja) * 2003-11-07 2007-06-20 旭化成ケミカルズ株式会社 難燃剤組成物
KR100657326B1 (ko) * 2005-07-07 2006-12-14 삼성전자주식회사 통신 장치의 전력관리 모드에 따라 네트워크애플리케이션을 작동시키는 방법 및 이를 위한 장치
FR2913838A1 (fr) * 2007-03-13 2008-09-19 France Telecom Procede de controle dynamique du nombre de flux de donnees transistant dans une architecture reseau
US8761010B2 (en) * 2010-05-31 2014-06-24 Jin-Magic Inc. Communication apparatus and communication method
JP5002719B1 (ja) * 2011-03-10 2012-08-15 株式会社東芝 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法
JP4957853B1 (ja) * 2011-03-15 2012-06-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
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
JP2006165884A (ja) * 2004-12-06 2006-06-22 Denso Corp データ中継装置,多重通信システム,電子制御ユニット
JP2010262480A (ja) * 2009-05-07 2010-11-18 Hitachi Ltd 制御盤
WO2012002154A1 (ja) * 2010-06-28 2012-01-05 三菱電機株式会社 ホームゲートウェイ
JP2012227805A (ja) * 2011-04-21 2012-11-15 Sumitomo Electric Ind Ltd 中継装置とこれを有する通信システム及びコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112655175A (zh) * 2018-11-28 2021-04-13 欧姆龙株式会社 控制装置、支持装置及通信系统
CN112655175B (zh) * 2018-11-28 2022-12-27 欧姆龙株式会社 控制装置、支持装置及通信系统

Also Published As

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

Similar Documents

Publication Publication Date Title
US20130145356A1 (en) Automatic software update on network devices
JP4411222B2 (ja) ネットワーク、ネットワーク端末装置及びそれらに用いるipアドレス管理方法並びにそのプログラム
CN108958742A (zh) 一种批量安装操作系统的方法、相关设备及系统
JP2007334898A (ja) データ配信システム及びデータ配信方法
KR20130111531A (ko) 운송수단과 원격 애플리케이션 서버 간의 통신을 위한 방법 및 시스템
CN103955348A (zh) 一种网络打印系统和打印方法
US20160373268A1 (en) Information processing system, information processing method, and storage medium
WO2015104854A1 (ja) 中継装置
CN108134705B (zh) 一种dcn管理方法、网元及计算机存储介质
JP7183356B2 (ja) 通信装置、サーバ、通信システム、通信方法及びプログラム
JP6652160B2 (ja) 中継装置
JP6576491B2 (ja) 制御機器、制御システム、方法及びプログラム
JP6576492B2 (ja) 制御システム、方法及びプログラム
JP2007323653A (ja) データ配信システム、データ配信方法及びデータ配信プログラム
JP5540951B2 (ja) 情報を収集するための装置、システム、方法、および、プログラム
US20190052347A1 (en) Communication system, control device, relay device, control method, and storage medium in which program is stored
WO2018078878A1 (ja) システム設計支援装置、制御機器、制御システム及び操作画面
JP5329747B2 (ja) Ip−pbxシステム、ip−pbx及びそれらに用いるip端末ログイン方法
US20230134535A1 (en) Information processing apparatus, information processing method, and information processing program
WO2013046321A1 (ja) 周期送信制御装置、周期送信制御方法、および周期送信制御プログラム
JP6760894B2 (ja) 再起動指示通知装置および再起動指示通知方法
JP7018359B2 (ja) 中継サーバ、および、中継方法
JP4186954B2 (ja) ネットワーク、端末装置及びそれらに用いる再起動方法並びにそのプログラム
WO2015146215A1 (ja) ネットワークアドレス変換装置、ネットワークアドレス変換システム、ネットワークアドレス変換方法、及びコンピュータ読み取り可能な記録媒体
JP2005196345A (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: 14878044

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: IDP00201605099

Country of ref document: ID

122 Ep: pct application non-entry in european phase

Ref document number: 14878044

Country of ref document: EP

Kind code of ref document: A1