(57)【要約】【課題】中継サーバにおいて、効率よく適切に機器間の通信を中継する。【解決手段】中継サーバ３は、ネットワークインタフェース３４と、記憶装置３５と、制御部と、を備える。ネットワークインタフェース３４は、ユーザ端末５及び機器との通信を行う。記憶装置３５は、ログイン情報ＬＩを記憶する。制御部は、ユーザ端末５がログインしたときに、特定したサブＩＤのデバイスリストを当該ユーザ端末５に送信する。また、ユーザ端末５から接続要求を受信したときに、制御部は、接続要求先の機器がログイン中の場合には、当該機器とユーザ端末５との間で通信セッションを確立させ、接続要求先の機器がログインしていない場合には、当該機器に対してログインを促し、当該機器がログイン後、ユーザ端末５との間で通信セッションを確立する。【選択図】図１２
2019153034.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末及び接続対象機器との通信を行うネットワークインタフェースと、
ユーザＩＤと、前記ユーザＩＤが属するユーザ種別と、前記ユーザ種別に属する前記接続対象機器の機器ＩＤと、を互いに関連付けて記憶したログイン情報を記憶する記憶装置と、
前記ユーザ端末がログインしたときに、当該ログイン時に用いられた前記ユーザＩＤが属する前記ユーザ種別と、当該ユーザ種別に属する前記機器ＩＤとを、前記ログイン情報を用いて特定し、
特定した前記機器ＩＤのリストをログイン中の前記ユーザ端末に送信し、
前記ユーザ端末から前記機器ＩＤの選択を受信したとき、前記ユーザ端末にて選択された機器ＩＤを用いて前記接続対象機器がログインしている場合には、ログイン中の当該接続対象機器とログイン中の当該ユーザ端末との間で通信セッションを確立させ、
前記ユーザ端末にて選択された機器ＩＤを用いて前記接続対象機器がログインしていない場合には、当該接続対象機器に対してログインを促し、当該接続対象機器がログイン後、ログイン中の前記ユーザ端末との間で通信セッションを確立させる、
制御部と、
を備える中継サーバ。
【請求項２】
前記制御部は、ログインしていない前記接続対象機器の機器ＩＤがユーザ端末において選択された場合には、当該接続対象機器が接続されるゲートウェイ装置に対して、当該接続対象機器のログインを促すログイン要求信号を送信する、請求項１に記載の中継サーバ。
【請求項３】
前記制御部は、前記ゲートウェイ装置に接続される前記接続対象機器に関する情報を前記ゲートウェイ装置から受信し、当該ゲートウェイ装置に接続される前記接続対象機器に変更があった場合には前記ログイン情報を更新する、請求項２に記載の中継サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムに含まれる機器間の通信を中継する中継サーバに関する。
【背景技術】
【０００２】
従来、所定のシステムに含まれる複数の機器と外部のユーザ端末との通信を中継する中継サーバが知られている。例えば、特許文献１には、ＬＡＮ内の複数のＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ）と、クライアントなどのユーザ端末との間の通信を中継する管理サーバ及びゲートウェイが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−４４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような従来のシステムにおいては、当該システムに含まれる複数の機器が常時中継サーバに接続されていた。このような構成を採用した場合、システムに含まれる機器の数が膨大となると、膨大な機器が中継サーバに常時ログインすることとなる結果、中継サーバの処理負荷が増加し、機器とユーザ端末との間の中継処理に遅延が生じる。
【０００５】
また、従来の中継サーバは、ユーザ端末が通信可能な機器について制限を設けていなかったため、例えば、チャットサービスを実行中のユーザ端末が、チャットサービスを実行できない機器に誤って接続することを防止できなかった。
【０００６】
本発明の目的は、システム内の多数の機器とユーザ端末との間の通信を中継する中継サーバにおいて、効率よく適切に機器とユーザ端末との通信を中継することにある。
【課題を解決するための手段】
【０００７】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
中継サーバは、ネットワークインタフェースと、記憶装置と、制御部と、を備える。ネットワークインタフェースは、ユーザ端末及び接続対象機器との通信を行う。記憶装置は、ログイン情報を記憶する。ログイン情報は、ユーザＩＤと、ユーザＩＤが属するユーザ種別と、ユーザ種別に属する接続対象機器の機器ＩＤと、を互いに関連付けて記憶した情報である。
【０００８】
制御部は、ユーザ端末がログインしたときに、当該ログイン時に用いられたユーザＩＤが属するユーザ種別と、当該ユーザ種別に属する機器ＩＤとを、ログイン情報を用いて特定し、特定した機器ＩＤのリストをログインしているユーザ端末に送信する。
【０００９】
また、ユーザ端末から機器ＩＤの選択を受信したときに、制御部は、ユーザ端末にて選択された機器ＩＤを用いて接続対象機器がログイン中の場合には、ログイン中の当該接続対象機器と、ログイン中の当該ユーザ端末と、の間で通信セッションを確立させる。
一方、ユーザ端末にて選択された機器ＩＤを用いて接続対象機器がログインしていない場合には、制御部は、当該接続対象機器に対してログインを促し、当該接続対象機器がログイン後、ログイン中のユーザ端末との間で通信セッションを確立させる。
【００１０】
上記の中継サーバにおいては、制御部は、ユーザ端末と接続対象機器との間の通信の中継を開始する際に、ユーザ端末に対して、当該ユーザ端末と通信可能な接続対象機器の機器ＩＤのリストを送信する。
これにより、ユーザ端末を使用中のユーザは、表示された上記の機器ＩＤを選択することにより、無関係又は不適切な接続対象機器とユーザ端末とを接続することがなくなる。
【００１１】
また、上記の中継サーバにおいて、制御部は、機器ＩＤが選択された場合、すなわち、ユーザ端末を用いて所定の接続対象機器と通信したい旨の要求があった場合にのみ、当該接続対象機器とユーザ端末との間に通信セッションを確立する。
一方、通信セッションを確立したい接続対象機器が中継サーバにログインしていない場合に、制御部は、当該接続対象機器に対してログインを促し、当該接続対象機器がログイン後に通信セッションを確立する。
このようにして、中継サーバは、ユーザ端末との間で通信をする必要がない接続対象機器を中継サーバにログインさせないことで、ログインさせておく接続対象機器の数を必要最小限とできる。その結果、中継サーバにおける中継処理の負荷を軽減できる。
【００１２】
ログインしていない接続対象機器の機器ＩＤがユーザ端末において選択された場合には、制御部は、当該接続対象機器が接続されるゲートウェイ装置に対して、当該接続対象機器のログインを促すログイン要求信号を送信してもよい。
これにより、中継サーバは、ゲートウェイ装置に対して、接続対象機器のログインの催促機能を担当させることができる。
【００１３】
制御部は、ゲートウェイ装置に接続される接続対象機器に関する情報をゲートウェイ装置から受信し、当該ゲートウェイ装置に接続される接続対象機器に変更があった場合には、ログイン情報を更新してもよい。
これにより、中継サーバは、ゲートウェイ装置への機器の最新の接続状態をログイン情報に反映できる。
【発明の効果】
【００１４】
上記の中継サーバは、システム内の多数の機器とユーザ端末との間の通信を、効率よく適切に中継できる。
【図面の簡単な説明】
【００１５】
【図１】通信システムの全体構成の一例を示す図。
【図２】自動倉庫システムの構成を示す図。
【図３】保守拠点の構成を示す図。
【図４】中継サーバのハードウェア構成を示す図。
【図５Ａ】第１機器リストのデータ構成の一例を示す図。
【図５Ｂ】第２機器リストのデータ構成の一例を示す図。
【図６】ログイン可能機器リストのデータ構成の一例を示す図。
【図７】ログイン情報のデータ構成の一例を示す図。
【図８】ログイン処理を示すフローチャート。
【図９】デバイスリストの送信処理を示すフローチャート。
【図１０Ａ】ユーザ端末のために作成されたデバイスリストの一例を示す図。
【図１０Ｂ】ゲートウェイ装置のために作成されたデバイスリストの一例を示す図。
【図１１】ユーザ端末間の通信セッションの確立処理を示すフローチャート。
【図１２】ユーザ端末とカメラ又はセンサとの間の通信セッションの確立処理を示すフローチャート。
【図１３】ゲートウェイ装置間の通信セッションの確立処理を示すフローチャート。
【図１４】通信セッションを通じたデータの送受信の中継処理を示すフローチャート。
【図１５】通信セッションの監視処理を示すフローチャート。
【図１６】ログアウト処理を示すフローチャート。
【図１７】機器リストの更新の監視処理を示すフローチャート。
【発明を実施するための形態】
【００１６】
１．第１実施形態
（１）通信システムの全体構成
以下、図１を用いて、第１実施形態に係る通信システム１００の全体構成について説明する。図１は、通信システムの全体構成の一例を示す図である。
第１実施形態に係る通信システム１００は、複数の拠点のそれぞれに設けられた自動倉庫の保守及び管理を、各種端末から行うためのシステムであり、具体的には、自動倉庫システム１と、保守拠点２と、中継サーバ３と、ユーザ端末５と、を備える。
自動倉庫システム１は、例えば、物流センターなどに配置され、荷物の入出庫を行うためのシステムである。
保守拠点２は、例えば、自動倉庫システム１の保守等を行う担当者が存在する拠点に設けられ、自動倉庫システム１の保守を行うための端末（保守端末２１ａ、２１ｂ）を備える。
中継サーバ３は、自動倉庫システム１、保守拠点２、及び／又はユーザ端末５相互の通信を中継し管理するサーバである。
【００１７】
ユーザ端末５は、例えば、パーソナルコンピュータ、タブレット端末などの端末である。
ユーザは、ユーザ端末５を用いて中継サーバ３にログインすることで、他のユーザ端末５を用いるユーザとビデオチャット通話できる。また、中継サーバ３にログインしたユーザ端末５により、自動倉庫システム１に設置されたカメラ（後述）にて取得された画像データ、及び、センサにて取得された測定データを参照できる。
【００１８】
なお、本実施形態に係る通信システム１００において、ユーザ端末５、後述するゲートウェイ装置、及び、自動倉庫システム１のカメラ及びセンサと中継サーバ３との間のコマンド等の送受信は、例えば、ＷｅｂＳｏｃｋｅｔプロトコルを用いて実行される。
また、自動倉庫システム１のカメラ及びセンサとユーザ端末５との間で通信セッションを確立後、カメラ及びセンサからユーザ端末５へのデータ（画像データ、測定データ）の取得は、例えば、ＷｅｂＲＴＣ（Ｗｅｂ  Ｒｅａｌ−Ｔｉｍｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）を用いて実行される。
【００１９】
（２）自動倉庫システム
（２−１）自動倉庫
以下、図２を用いて、通信システム１００に含まれる自動倉庫システム１の具体的構成について説明する。図２は、自動倉庫システムの構成を示す図である。
自動倉庫システム１は、自動倉庫１１を有する。自動倉庫１１は、ラック、スタッカクレーン、コンベヤなどを有し、荷物の入出庫、移載、保管などを行う。
【００２０】
本実施形態において、自動倉庫１１のスタッカクレーン及びコンベヤには、例えば、静止画、及び、所定時間の長さを有する動画を撮影可能なカメラＣＡ１〜ＣＡ４（接続対象機器の一例）が設けられ、スタッカクレーン及びコンベヤの状況を視覚的な情報として取得可能となっている。カメラＣＡ１〜ＣＡ４は、例えば、魚眼カメラである。
また、スタッカクレーンには、所定の物理量を測定するセンサＳＥ（接続対象機器の一例）が設けられ、スタッカクレーンにて荷崩れなどが発生したときに、当該荷崩れなどにより発生した振動及び／又は音の大きさを測定可能となっている。このようなセンサＳＥとしては、例えば、加速度センサ、音センサ、などがある。
さらに、自動倉庫１１の近傍には、周囲の温度及び湿度を測定するセンサＳＥ（例えば、温湿度センサ）が設けられている。
なお、図２に示す自動倉庫システム１においては、４台のカメラＣＡ１〜ＣＡ４、及び、１つのセンサＳＥが設けられているが、自動倉庫１１に設けられるカメラ及びセンサの数は、上記に限られず、自動倉庫システム１の規模等に応じて任意とできる。
【００２１】
（２−２）自動倉庫システムのネットワーク構成
以下、自動倉庫システム１において各機器が互いに通信するためのネットワーク構成について、説明する。
自動倉庫システム１のネットワーク構成は、第１スイッチングハブＳＨ１を有する。第１スイッチングハブＳＨ１は、図２に示すように、カメラＣＡ１、ＣＡ２と、第１外部記憶装置１３ａと、を接続する。第１外部記憶装置１３ａは、例えばＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）装置であり、カメラＣＡ１、ＣＡ２により取得された画像データを保存する。
【００２２】
また、第１スイッチングハブＳＨ１は、搬送管理サーバ１５を接続する。搬送管理サーバ１５は、ＣＰＵ、記憶装置（ＲＡＭ、ＲＯＭ、ＳＳＤ、ハードディスクなど）、ネットワークインタフェースなどの各種インターフェースを有するコンピュータシステムであり、自動倉庫１１のスタッカクレーン、コンベヤなどと通信可能となっている。
搬送管理サーバ１５は、自動倉庫１１に備わるスタッカクレーン及びコンベヤを制御することで、自動倉庫１１における荷物の入出庫を制御・管理する。
【００２３】
自動倉庫システム１のネットワーク構成は、第２スイッチングハブＳＨ２を有する。第２スイッチングハブＳＨ２は、カメラＣＡ３、ＣＡ４、センサＳＥ、及び、第２外部記憶装置１３ｂを接続する。第２外部記憶装置１３ｂは、例えばＮＡＳ装置であり、カメラＣＡ３、ＣＡ４により取得された画像データ、及び、センサＳＥにより取得された測定データを保存する。
【００２４】
第２スイッチングハブＳＨ２は、第１スイッチングハブＳＨ１にも接続されており、カメラＣＡ１、ＣＡ２にて取得した画像データは第２外部記憶装置１３ｂにも保存でき、カメラＣＡ３、ＣＡ４にて取得した画像データ、及び、センサＳＥにて取得したデータは第１外部記憶装置１３ａにも保存できる。
【００２５】
また、第２スイッチングハブＳＨ２は、情報管理サーバ１７を接続する。情報管理サーバ１７は、ＣＰＵ、記憶装置（ＲＡＭ、ＲＯＭ、ＳＳＤ、ハードディスクなど）、ネットワークインタフェースなどの各種インターフェースを有するコンピュータシステムであり、第１外部記憶装置１３ａ及び第２外部記憶装置１３ｂに保存された各種データ（例えば、カメラＣＡ１〜ＣＡ４及びセンサＳＥにて取得されたデータ）を管理する。情報管理サーバ１７は、必要に応じて、搬送管理サーバ１５が管理している情報を取得する。
【００２６】
自動倉庫システム１のネットワーク構成は、第１ゲートウェイ装置１９を有する。第１ゲートウェイ装置１９は、ＣＰＵ、記憶装置（ＲＡＭ、ＲＯＭ、ＳＳＤ、ハードディスクなど）、ネットワークインタフェースなどの各種インターフェースを有するコンピュータシステムである。また、第１ゲートウェイ装置１９は、その機能の一部又は全部をＳｏＣなどにより実現したハードウェアであってもよい。
第１ゲートウェイ装置１９は、第２スイッチングハブＳＨ２、及び、外部のネットワーク（例えば、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ））に接続され、自動倉庫システム１のネットワーク構成中の各機器と外部との通信を中継できる。
【００２７】
また、第１ゲートウェイ装置１９は、その記憶装置に第１機器リストＥＬ１を記憶する。第１機器リストＥＬ１は、自動倉庫システム１に含まれ、かつ、第１ゲートウェイ装置１９と接続されている各機器を管理するための情報である。
後述するように、第１ゲートウェイ装置１９は、他のゲートウェイ装置（例えば、第２ゲートウェイ装置２３）との間に通信セッションを確立する際に、第１機器リストＥＬ１を相手方のゲートウェイ装置に送信する。
【００２８】
第１ゲートウェイ装置１９は、第１ゲートウェイ装置１９に接続された機器のうち、サブＩＤを有し中継サーバ３にログイン可能な機器のリスト（「ログイン可能機器リストＥＬ３」と呼ぶ）を、中継サーバ３に送信する。
また、第１ゲートウェイ装置１９は、所定の時間毎に、自動倉庫システム１のネットワーク構成中の機器の接続状態を確認し、機器の接続状態に変更があった場合には、第１機器リストＥＬ１の内容を更新する。上記確認時に、サブＩＤを有する機器の接続状態が変化していれば、第１ゲートウェイ装置１９は、中継サーバ３に対し、サブＩＤを有する機器の接続状態が変化したことを通知する。
これにより、中継サーバ３は、最新の接続状態を示したログイン可能機器リストＥＬ３を保存できる。
【００２９】
後述するように、第１機器リストＥＬ１に含まれる各機器には、「１９２．１６８．０．＊」とのＩＰアドレスが割り当てられており、当該各機器と同一のＬＡＮに属する第１ゲートウェイ装置１９にも、「１９２．１６８．０．＊」とのＩＰアドレスが割り当てられている。それと同時に、第１ゲートウェイ装置１９には、外部のネットワークと接続するためのグローバルアドレスが割り当てられる。
なお、上記の「＊」は、いわゆる「ワイルドカード」であり、任意の数（１〜２５５の間の整数）を表すものである。
【００３０】
なお、図２に示すネットワーク構成において、カメラＣＡ１〜ＣＡ４及びセンサＳＥは、中継サーバ３と直接通信できる。この場合に、第１ゲートウェイ装置１９が、デフォルトゲートウェイとして、カメラＣＡ１〜ＣＡ４及びセンサＳＥと中継サーバ３との通信を中継してもよい。
【００３１】
（３）保守拠点
以下、図３を用いて、通信システム１００に含まれる保守拠点２の具体的構成について説明する。図３は、保守拠点の構成を示す図である。
保守拠点２は、保守端末２１ａ、２１ｂを有する。保守端末２１ａ、２１ｂは、第３スイッチングハブＳＨ３に接続される。保守端末２１ａ、２１ｂは、例えば、パーソナルコンピュータであり、保守担当者が自動倉庫システム１の上記機器等の保守をする際に使用される。
【００３２】
保守拠点２は、第２ゲートウェイ装置２３を有する。第２ゲートウェイ装置２３は、ＣＰＵ、記憶装置（ＲＡＭ、ＲＯＭ、ＳＳＤ、ハードディスクなど）、ネットワークインタフェースなどの各種インターフェースを有するコンピュータシステムである。また、第２ゲートウェイ装置２３は、その機能の一部又は全部をＳｏＣなどにより実現したハードウェアであってもよい。
第２ゲートウェイ装置２３は、第３スイッチングハブＳＨ３、及び、外部のネットワークに接続され、保守端末２１ａ、２１ｂと外部との通信を中継する。
【００３３】
第２ゲートウェイ装置２３は、その記憶装置に第２機器リストＥＬ２を記憶する。第２機器リストＥＬ２は、第２ゲートウェイ装置２３に接続可能な保守端末２１ａ、２１ｂを管理するための情報である。後述するように、第２ゲートウェイ装置２３は、他のゲートウェイ装置（例えば、第１ゲートウェイ装置１９）との間に通信セッションを確立する際に、第２機器リストＥＬ２を相手方のゲートウェイ装置に送信する。
【００３４】
後述するように、第２機器リストＥＬ２に含まれる保守端末２１ａ、２１ｂには、「１７２．２８．０．＊」とのＩＰアドレスが割り当てられ、保守端末２１ａ、２１ｂと同一のＬＡＮに属する第２ゲートウェイ装置２３にも、「１７２．２８．０．＊」とのＩＰアドレスが割り当てられる。それと同時に、第２ゲートウェイ装置２３には、外部のネットワークと接続するためのグローバルアドレスが割り当てられる。
【００３５】
（４）中継サーバ
以下、図４を用いて、通信システム１００に含まれる中継サーバ３の具体的なハードウェア構成について説明する。図４は、中継サーバのハードウェア構成を示す図である。
図４に示すように、中継サーバ３は、プロセッサ３１と、ＲＡＭ３２と、ＲＯＭ３３と、ネットワークインタフェース３４と、記憶装置３５と、を有するコンピュータシステムである。
プロセッサ３１は、ＣＰＵ、又は、ＣＰＵと各種インターフェースとを１つのチップに集積したＳｏＣである。プロセッサ３１は、記憶装置３５などに記憶されたプログラムを実行し、中継サーバ３において行われる各種情報処理を行う。
【００３６】
ＲＡＭ３２は、記憶装置３５に記憶されたプログラムなど一時的に必要な情報を記憶する。ＲＯＭ３３は、中継サーバ３を制御するためのプログラム及び設定などを記憶する。
ネットワークインタフェース３４は、外部の端末及び／又は機器などとの通信を実行する。ネットワークインタフェース３４は、例えば、有線通信により外部の端末及び／又は機器と通信をするイーサネット（登録商標）カード、及び／又は、無線通信により外部の端末及び／又は機器と通信をする無線ＬＡＮインターフェースなどである。
【００３７】
記憶装置３５は、中継サーバ３にて実行されるプログラム、ログイン情報ＬＩ、及び、ログイン可能機器リストＥＬ３を記憶する、例えば、ハードディスク、ＳＳＤなどの記憶装置である。また、記憶装置３５は、中継サーバ３を動作させるために必要な設定を記述した設定ファイルなどを記憶する。
ログイン情報ＬＩは、中継サーバ３にログインするためのユーザＩＤを管理するための情報である。ログイン可能機器リストＥＬ３は、ゲートウェイ装置にて管理されている機器リストのうち、中継サーバ３にログイン可能な機器、すなわち、サブＩＤを有する機器のリストである。
【００３８】
他の実施形態において、中継サーバ３は、ディスプレイ３６を有してもよい。ディスプレイ３６は、中継サーバ３についての各種情報を表示する、例えば、液晶ディスプレイ、有機ＥＬディスプレイなどのディスプレイである。これにより、ユーザは、例えば、ディスプレイ３６に表示された情報を参照しながら、中継サーバ３を管理できる。
【００３９】
他の実施形態において、中継サーバ３は、ユーザからの入力を受け付ける入力インターフェース３７を有してもよい。入力インターフェース３７は、例えば、キーボード、マウス、タッチパネルなどの入力機器である。これにより、ユーザは、入力インターフェース３７を用いて、中継サーバ３を直接管理できる。
【００４０】
なお、中継サーバ３は、上記の入力インターフェース３７及び／又はディスプレイ３６がなくとも、例えば、ネットワークインタフェース３４を介してアクセス可能な端末を用いて、中継サーバ３に関する情報を参照しつつ中継サーバ３を管理できる。
【００４１】
（５）通信システムにて管理される情報
（５−１）機器リスト
以下、中継サーバ３、第１ゲートウェイ装置１９、及び、第２ゲートウェイ装置２３に記憶されている機器リスト及びログイン情報ＬＩの具体的なデータ構成について説明する。最初に、図５Ａ及び図５Ｂを用いて、ゲートウェイ装置が記憶する機器リストのデータ構成について説明する。図５Ａは、第１機器リストのデータ構成の一例を示す図である。図５Ｂは、第２機器リストのデータ構成の一例を示す図である。
機器リストは、ゲートウェイ装置に接続された機器を管理するための情報であり、具体的には、図５Ａ及び図５Ｂに示すように、機器名記録部分Ｒ１と、アドレス記録部分Ｒ２と、サブＩＤ記録部分Ｒ３と、サブタイプ記録部分Ｒ４と、状態記録部分Ｒ５と、を有する。
【００４２】
機器名記録部分Ｒ１は、機器名を記録する。
第１ゲートウェイ装置１９が管理する第１機器リストＥＬ１においては、図５Ａに示すように、機器名記録部分Ｒ１には、カメラＣＡ１〜ＣＡ４の名称（カメラ＃１〜カメラ＃４）と、センサＳＥの名称（センサ＃１）と、第１外部記憶装置１３ａの名称（外部記憶装置＃１）と、第２外部記憶装置１３ｂの名称（外部記憶装置＃２）と、情報管理サーバ１７の名称（情報管理サーバ）と、搬送管理サーバ１５の名称（搬送管理サーバ）と、が記録される。
一方、第２ゲートウェイ装置２３が管理する第２機器リストＥＬ２においては、図５Ｂに示すように、機器名記録部分Ｒ１には、保守端末２１ａの名称（保守端末＃１）と、保守端末２１ｂの名称（保守端末＃２）と、が記録される。
【００４３】
アドレス記録部分Ｒ２は、ゲートウェイ装置に接続可能な機器に割り当てられたネットワークアドレスを記録する。
第１機器リストＥＬ１においては、図５Ａに示すように、アドレス記録部分Ｒ２には、カメラ＃１〜カメラ＃４との機器名を有する行のそれぞれに、「１９２．１６８．０．１」〜「１９２．１６８．０．４」とのＩＰアドレスが記録されている。また、センサ＃１との機器名を有する行に、「１９２．１６８．０．１１」とのＩＰアドレスが記録されている。
さらに、外部記憶装置＃１〜外部記憶装置＃２との機器名を有する行に、それぞれ、「１９２．１６８．０．２１」〜「１９２．１６８．０．２２」とのＩＰアドレスが記録されている。
また、情報管理サーバ及び搬送管理サーバとの機器名を有する行に、それぞれ、「１９２．１６８．０．３１」〜「１９２．１６８．０．３２」とのＩＰアドレスが記録されている。
【００４４】
すなわち、本実施形態の自動倉庫システム１においては、カメラＣＡ１〜ＣＡ４には、それぞれ、「１９２．１６８．０．１」〜「１９２．１６８．０．４」とのＩＰアドレスが割り当てられ、センサＳＥには、「１９２．１６８．０．１１」とのＩＰアドレスが割り当てられている。
また、第１外部記憶装置１３ａ及び第２外部記憶装置１３ｂには、それぞれ、「１９２．１６８．０．２１」及び「１９２．１６８．０．２２」とのＩＰアドレスが割り当てられ、情報管理サーバ１７及び搬送管理サーバ１５には、それぞれ、「１９２．１６８．０．３１」及び「１９２．１６８．０．３２」とのＩＰアドレスが割り当てられている。
【００４５】
一方、第２機器リストＥＬ２においては、図５Ｂに示すように、アドレス記録部分Ｒ２には、保守端末＃１〜＃２との機器名を有する行のそれぞれに、「１７２．２８．０．２」〜「１７２．２８．０．３」とのＩＰアドレスが記録されている。
すなわち、本実施形態の保守拠点２においては、保守端末２１ａ、２１ｂには、それぞれ、「１７２．２８．０．２」、「１７２．２８．０．３」とのＩＰアドレスが割り当てられている。
【００４６】
後述するように、上記アドレス記録部分Ｒ２に記録されたＩＰアドレスは、ゲートウェイ装置間で通信セッションを確立したときに、当該ゲートウェイ装置に接続された機器同士が、ゲートウェイ装置を介して通信する際に使用される。
【００４７】
サブＩＤ記録部分Ｒ３は、機器が中継サーバ３にログインするためのログインＩＤ（サブＩＤ）を記録する。
第１機器リストＥＬ１においては、図５Ａに示すように、カメラ＃１〜カメラ＃４との機器名を有する行に、それぞれ、「ｃａｍ００１」〜「ｃａｍ００４」とのサブＩＤが記録され、センサ＃１との機器名を有する行に「ｓｅｎ００１」とのサブＩＤが記録されている。
すなわち、カメラＣＡ１〜ＣＡ４は、「ｃａｍ００１」〜「ｃａｍ００４」との中継サーバ３にログインするためのＩＤ（サブＩＤ）を有し、センサＳＥは「ｓｅｎ００１」とのサブＩＤを有する。
【００４８】
サブタイプ記録部分Ｒ４は、ゲートウェイ装置に接続された機器の種別を表すユーザタイプ（サブタイプ）を記録する。
第１機器リストＥＬ１においては、図５Ａに示すように、カメラ＃１〜カメラ＃４との機器名を有する行に「ｃａｍｅｒａ」とのサブタイプが記録され、センサ＃１との機器名を有する行に「ｓｅｎｓｏｒ」とのサブタイプが記録されている。
すなわち、カメラＣＡ１〜ＣＡ４は「ｃａｍｅｒａ」との共通のサブタイプを有し、センサＳＥは「ｓｅｎｓｏｒ」とのサブタイプを有する。
【００４９】
一方、第１機器リストＥＬ１において、外部記憶装置＃１、外部記憶装置＃２、情報管理サーバ、及び、搬送管理サーバとの機器名を有する行には、サブＩＤ及びサブタイプが記録されていない。これは、自動倉庫システム１の第１外部記憶装置１３ａ、第２外部記憶装置１３ｂ、搬送管理サーバ１５、及び、情報管理サーバ１７は、サブＩＤ及びサブタイプが割り当てられておらず、中継サーバ３にログインできないことを示している。
また、第２機器リストＥＬ２は、サブＩＤ及びサブタイプを全く記憶していない。これは、第２機器リストＥＬ２に含まれる保守端末２１ａ、２１ｂは、中継サーバ３にログインできないことを示している。
【００５０】
状態記録部分Ｒ５は、機器リストに記録された各機器がゲートウェイ装置と通信可能な状態にあるか否かを記録する。
図５Ａに示す第１機器リストＥＬ１の例では、カメラ＃３及びカメラ＃４との機器名を有する行において「ＮＧ」と記録されている一方、その他の行においては「ＯＫ」と記録されている。すなわち、図５Ａに示す第１機器リストＥＬ１の例では、自動倉庫システム１のカメラＣＡ３、ＣＡ４が第１ゲートウェイ装置１９と通信可能となっていない。
【００５１】
その一方、第２機器リストＥＬ２においては、状態記録部分Ｒ５には情報が記録されていない。これは、第２機器リストＥＬ２にて管理されている保守端末２１ａ、２１ｂについては、第２ゲートウェイ装置２３と通信可能か否かを監視しないことを示している。
【００５２】
上記のデータ構成を有することにより、機器リストは、ゲートウェイ装置に接続された機器が中継サーバ３にログインするためのサブＩＤ、当該機器の種別（サブタイプ）、及び、各機器とゲートウェイ装置との接続状態などを記録できる。また、ゲートウェイ装置間で通信セッションを確立した際に使用されるアドレスを管理できる。
【００５３】
（５−２）ログイン可能機器リスト
次に、図６を用いて、中継サーバ３にて管理されるログイン可能機器リストＥＬ３のデータ構成を説明する。図６は、ログイン可能機器リストのデータ構成の一例を示す図である。
ログイン可能機器リストＥＬ３は、自動倉庫システム１に含まれるゲートウェイ装置により作成され、中継サーバ３に送信される。したがって、中継サーバ３にて管理されるログイン可能機器リストＥＬ３のそれぞれは、当該ログイン可能機器リストＥＬ３を作成したゲートウェイ装置のユーザＩＤと関連付けられる。
図６に示すログイン可能機器リストＥＬ３は、自動倉庫システム１の第１ゲートウェイ装置１９が作成し、中継サーバ３に送信したものである。
【００５４】
ログイン可能機器リストＥＬ３は、ゲートウェイ装置が管理する機器リストとは、サブＩＤを有しない機器の情報を記録しない点、及び、各機器のアドレス（ＩＰアドレス）を記録しない点で異なる。
具体的には、図６に示すように、ログイン可能機器リストＥＬ３は、機器名記録部分Ｒ１’と、サブＩＤ記録部分Ｒ２’と、サブタイプ記録部分Ｒ３’と、状態記録部分Ｒ４’と、を有する。
【００５５】
機器名記録部分Ｒ１’、サブＩＤ記録部分Ｒ２’、サブタイプ記録部分Ｒ３’、及び、状態記録部分Ｒ４’は、それぞれ、機器リストの機器名記録部分Ｒ１、サブＩＤ記録部分Ｒ３、サブタイプ記録部分Ｒ４、及び、状態記録部分Ｒ５と同一内容を記録する。よって、ここでは詳細な説明を省略する。
【００５６】
（５−３）ログイン情報
以下、図７を用いて、中継サーバ３にて管理されるログイン情報ＬＩについて説明する。図７は、ログイン情報のデータ構成の一例を示す図である。
ログイン情報ＬＩは、中継サーバ３にログイン可能なユーザＩＤ等を管理する情報であり、具体的には、ユーザＩＤ記録部分Ｒ６と、ユーザタイプ記録部分Ｒ７と、グループ記録部分Ｒ８と、サブＩＤ記録部分Ｒ９と、サブタイプ記録部分Ｒ１０と、ログイン状態記録部分Ｒ１１と、を有する。
ユーザＩＤ記録部分Ｒ６は、各機器が中継サーバ３にログインするためのログインＩＤ（ユーザＩＤ）を記録する。図７に示す例では、「ｓｅｒｖｉｃｅ００１」〜「ｓｅｒｖｉｃｅ００４」と、「ｖｐｎ００１」〜「ｖｐｎ００６」と、が当該記録部分にユーザＩＤとして記録されている。
「ｓｅｒｖｉｃｅ＊＊＊」とのユーザＩＤは、ユーザがユーザ端末５を用いて中継サーバ３にログインするために使用される。一方、「ｖｐｎ＊＊＊」とのユーザＩＤは、ゲートウェイ装置が中継サーバ３にログインするために使用される。
なお、図７に示すログイン情報ＬＩでは、第１ゲートウェイ装置１９は「ｖｐｎ００５」とのユーザＩＤにて中継サーバ３にログインし、第２ゲートウェイ装置２３は「ｖｐｎ００１」とのユーザＩＤにて中継サーバ３にログインする。
【００５７】
ユーザタイプ記録部分Ｒ７は、各ユーザＩＤのユーザタイプを記録する。
「ｓｅｒｖｉｃｅ＊＊＊」とのユーザＩＤに対して、ユーザタイプ記録部分Ｒ７は、「ｖｉｄｅｏＣｈａｔ」とのユーザタイプを記録している。これは、「ｓｅｒｖｉｃｅ＊＊＊」とのユーザＩＤにてログインしているユーザ端末５が、ビデオチャットによる通信が可能であることを示している。すなわち、当該ユーザ端末５が、ビデオチャットクライアントとして機能することを示している。
また、このユーザタイプが関連付けられたユーザＩＤにてログインしたユーザ端末５は、自動倉庫システム１のカメラＣＡ１〜ＣＡ４及びセンサＳＥなどにて取得したデータを受信できる。
【００５８】
一方、「ｖｐｎ＊＊＊」とのユーザＩＤに対して、ユーザタイプ記録部分Ｒ７は、「ｇａｔｅｗａｙ」とのユーザタイプを記録している。これは、当該ユーザタイプを有するユーザＩＤ（ｖｐｎ＊＊＊）にてログインするゲートウェイ装置が、他のゲートウェイ装置との通信が可能であることを示す。
【００５９】
グループ記録部分Ｒ８は、各ユーザＩＤが属するグループ（ユーザ種別の一例）を記憶する。
図７に示す例では、各ユーザＩＤが属するグループとして３つのグループ「Ｇ１」〜「Ｇ３」が存在し、例えば、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤは、全てのグループに属している。一方、「ｖｐｎ００１」とのユーザＩＤは、Ｇ２及びＧ３とのグループに属している。さらに、「ｖｐｎ００５」とのユーザＩＤは、Ｇ２とのグループのみに属している。
【００６０】
サブＩＤ記録部分Ｒ９及びサブタイプ記録部分Ｒ１０は、それぞれ、機器リストのサブＩＤ記録部分Ｒ３及びサブタイプ記録部分Ｒ４と同一の情報を記録する。したがって、ここでは、説明を省略する。
ログイン状態記録部分Ｒ１１は、各ユーザＩＤ及び／又は各サブＩＤによる中継サーバ３へのログインがなされているか否かを記録する。ログイン状態記録部分Ｒ１１において、「ＯＫ」は、当該記録がされている行のユーザＩＤにて中継サーバ３へのログインがなされていることを示す。一方、「ＮＧ」は、当該記録がなされている行のユーザＩＤにて中継サーバ３へのログインがなされていないことを示す。
すなわち、図７に示す例では、「ｓｅｒｖｉｃｅ００３」、「ｖｐｎ００１」〜「ｖｐｎ００４」、「ｃａｍ００１」、「ｃａｍ００２」、「ｓｅｎ００１」、「ｃａｍ０１１」、「ｓｅｎ０１２」とのユーザＩＤ又はサブＩＤにて中継サーバ３へのログインがされている。
なお、ログイン情報ＬＩは、各ユーザＩＤに対して個別のパスワードを関連付けて記録してもよい。
【００６１】
上記のようなデータ構成を有することにより、ログイン情報ＬＩは、中継サーバ３にログインするためのユーザＩＤと、各ユーザＩＤのユーザタイプと、各ユーザＩＤが属するグループ（ユーザ種別）と、各グループに属するカメラＣＡ１〜ＣＡ４、センサＳＥなどのサブＩＤと、を互いに関連付けて記憶できる。すなわち、ログイン情報ＬＩは、中継サーバ３にログインするためのログインＩＤと、各ログインＩＤに関する情報と、を記録できる。
【００６２】
（６）中継サーバの動作
（６−１）中継サーバの動作概略
以下、本実施形態に係る通信システム１００における中継サーバ３の動作について、説明する。本実施形態において、中継サーバ３は、各機器（ユーザ端末５、ゲートウェイ装置、自動倉庫システム１に含まれるカメラ、センサなど）からの要求に応じて、（ｉ）中継サーバ３へのログイン処理、（ｉｉ）ログイン中の機器（ユーザ端末５、ゲートウェイ装置）へのデバイスリストの送信処理、（ｉｉｉ）機器間の通信セッションの確立処理、及び、（ｉｖ）その他の制御処理、を実行する。
【００６３】
中継サーバ３のログイン処理は、各機器を中継サーバ３にログインさせる処理である。
デバイスリストの送信処理は、ユーザ端末５又はゲートウェイ装置からの要求に応じて、これら端末及び装置が接続可能な機器のリストを作成し、これら端末及び装置に送信する処理である。以後、ユーザ端末５及びゲートウェイ装置が接続可能な機器のリストを「デバイスリスト」と呼ぶことにする。
機器間の通信セッションの確立処理は、ユーザ端末５又はゲートウェイ装置と接続要求をした機器との間の通信セッションを確立する処理である。
その他の制御処理には、通信セッションの監視処理、通信セッションの切断処理、通信セッションを用いたデータ送受信処理、ログイン情報ＬＩ及び機器リストの更新に関する処理、等が含まれる。
【００６４】
上記の各処理は、中継サーバ３のプロセッサ３１、ＲＡＭ３２、及びＲＯＭ３３などからなる制御部が、記憶装置３５に記憶されたプログラムを実行することにより実現される。
以下、上記（ｉ）〜（ｉｖ）における具体的な処理の流れについて説明していく。
【００６５】
（６−２）ログイン処理
以下、図８を用いて、中継サーバ３において実行されるログイン処理の詳細について説明する。図８は、ログイン処理を示すフローチャートである。以下においては、ユーザ端末５において「ｓｅｒｖｉｃｅ００１」とのユーザＩＤを用いて中継サーバ３にログインする例を説明する。ゲートウェイ装置、及び、自動倉庫システム１に含まれるカメラ及びセンサも、ほぼ同様にして中継サーバ３にログインする。
まず、ユーザが、例えば、ユーザ端末５のＷｅｂブラウザ又は専用のアプリケーションなどを用いて、中継サーバ３へアクセスする。その後、中継サーバ３は、アクセスしてきたユーザ端末５に対して、ユーザＩＤ及びパスワードの入力を要求する。
当該要求に対して、Ｗｅｂブラウザ上にてユーザＩＤ（及びパスワード）がユーザによって入力されると、ユーザ端末５が入力されたユーザＩＤ（及びパスワード）を中継サーバ３に送信する。
【００６６】
ユーザ端末５、ゲートウェイ装置、又は、自動倉庫システム１のカメラ又はセンサからユーザＩＤを受信すると（ステップＳ１１において、「Ｙｅｓ」の場合）、ログイン処理は、ステップＳ１２に進む。
ステップＳ１２において、中継サーバ３は、受信したユーザＩＤとパスワードにより、ユーザ認証処理を実行する。
具体的には、中継サーバ３は、まず、ログイン情報ＬＩのユーザＩＤ記録部分Ｒ６及びサブＩＤ記録部分Ｒ９を参照し、受信したユーザＩＤがログイン情報ＬＩ中に存在していなければ、ユーザ認証に失敗したと判断する。
ログイン情報ＬＩ中に受信したユーザＩＤが存在していれば、中継サーバ３は、受信したパスワードが、ログイン情報ＬＩ中のユーザＩＤに関連付けられたパスワードと一致するか否かを判断し、一致すればユーザ認証に成功したと判断する。一方、入力したパスワードと記憶されているパスワードとが一致しなければ、ユーザ認証に失敗したと判断する。
【００６７】
ユーザ認証に失敗した場合（ステップＳ１２において「Ｎｏ」の場合）、中継サーバ３は、アクセスしてきたユーザ端末５に対して、ユーザＩＤ及びパスワードの再入力を要求する。
なお、中継サーバ３は、ユーザＩＤ及びパスワードの再入力を何度でも要求してもよいし、所定の回数だけ要求してもよい。また、所定の回数だけユーザＩＤ及びパスワードの再入力を要求してもユーザ認証に失敗する場合、中継サーバ３は、ユーザ端末５に対してユーザ認証に失敗した旨の通知をさせてもよい。
【００６８】
一方、受信したユーザＩＤとパスワードによりユーザ認証に成功した場合（ステップＳ１２において「Ｙｅｓ」の場合）、ステップＳ１３において、中継サーバ３は、当該ユーザＩＤを送信したユーザ端末５との接続を保持する処理を実行する。その後、ログイン処理は、ステップＳ１４に進む。
【００６９】
ステップＳ１４において、中継サーバ３は、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤによるログインがなされたことに伴い、ログイン情報ＬＩを更新する。
具体的には、中継サーバ３は、ログイン情報ＬＩのログイン状態記録部分Ｒ１１において、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤについてのログイン状態が記録されている行を、「ＮＧ」から「ＯＫ」に書き換える。
これにより、中継サーバ３は、受信したユーザＩＤによるログインがなされたことをログイン情報ＬＩに反映できる。
【００７０】
ログイン情報ＬＩを更新後、ステップＳ１５において、中継サーバ３は、ログイン情報ＬＩのユーザタイプ記録部分Ｒ７を参照し、ログインに成功したユーザＩＤのユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるか否かを判断する。
ログインに成功したユーザＩＤのユーザタイプが「ｖｉｄｅｏＣｈａｔ」である場合（ステップＳ１５において「Ｙｅｓ」の場合）、ログイン処理は、ステップＳ１６に進む。
一方、ログインに成功したユーザＩＤのユーザタイプが「ｖｉｄｅｏＣｈａｔ」でない場合（ステップＳ１５において「Ｎｏ」の場合）、中継サーバ３は、ログイン処理を終了する。
【００７１】
ステップＳ１６において、中継サーバ３は、ユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤ（すなわち、「ｓｅｒｖｉｃｅ＊＊＊」とのユーザＩＤ）にてログイン中の各ユーザ端末５に対して、ビデオチャットに参加できるユーザＩＤが新たにログインしたこと（接続状態更新）を通知する。
これにより、ビデオチャットクライアントであるユーザ端末５は、例えば、ビデオチャットアプリケーション上にて、新たなユーザが参加可能であることを表示できる。
【００７２】
上記のステップＳ１１〜Ｓ１６をログイン処理として実行することにより、中継サーバ３は、ユーザ端末５、ゲートウェイ装置、自動倉庫システム１に含まれるカメラ、センサを、ログイン情報ＬＩに登録されたユーザＩＤを用いて、中継サーバ３にログインさせることができる。
【００７３】
（６−３）デバイスリストの送信処理
次に、図９を用いて、デバイスリストの送信処理について説明する。図９は、デバイスリストの送信処理を示すフローチャートである。
中継サーバ３にログイン中のユーザ端末５又はゲートウェイ装置からデバイスリストの送信要求がなされると、中継サーバ３は、最初に、当該ユーザ端末５又はゲートウェイ装置のためのデバイスリストを作成する。
具体的には、以下のステップを実行することにより、デバイスリストが作成される。
【００７４】
まず、ステップＳ２１において、中継サーバ３は、ログイン情報ＬＩのユーザＩＤ記録部分Ｒ６を参照し、デバイスリストの送信要求をしてきたユーザ端末５又はゲートウェイ装置のユーザＩＤを特定する。その後、ログイン情報ＬＩのユーザタイプ記録部分Ｒ７を参照し、特定したユーザＩＤのユーザタイプを判断する。
特定したユーザタイプが「ｖｉｄｅｏＣｈａｔ」である場合（ステップＳ２１において「ｖｉｄｅｏＣｈａｔ」の場合）、すなわち、デバイスリストの送信要求がユーザ端末５からされた場合、デバイスリストの送信処理はステップＳ２２に進む。
一方、特定したユーザタイプが「ｇａｔｅｗａｙ」である場合（ステップＳ２１において「ｇａｔｅｗａｙ」の場合）、すなわち、デバイスリストの送信要求がゲートウェイ装置からされた場合、デバイスリストの送信処理はステップＳ２３に進む。
さらに、特定したユーザタイプが上記以外である場合（ステップＳ２１において「その他」の場合）、デバイスリストの送信処理はステップＳ２４に進む。
【００７５】
特定したユーザタイプが「ｖｉｄｅｏＣｈａｔ」及び「ｇｅｔｅｗａｙ」以外となる場合とは、以下のように、ユーザ端末５にて実行されているアプリケーションからデバイスリストの送信要求がなされる場合である。
一つの例としては、ユーザ端末５がカメラＣＡ１〜ＣＡ４からの画像を取得する画像取得アプリケーションを実行中の場合がある。この場合、画像取得アプリケーションは、「ｃａｍｅｒａ」をユーザタイプとして、デバイスリストの送信要求を行う。
他の例としては、ユーザ端末５がセンサＳＥにて取得した測定データを取得するデータ取得アプリケーションを実行中の場合がある。この場合、データ取得アプリケーションは、「ｓｅｎｓｏｒ」をユーザタイプとして、デバイスリストの送信要求を行う。
【００７６】
ステップＳ２２において、中継サーバ３は、デバイスリストの送信要求をしたユーザ端末５のためのデバイスリストを作成する。
具体的には、中継サーバ３は、まず、デバイスリストの送信要求をしたユーザ端末５のユーザＩＤが属するグループを特定する。その後、ログイン情報ＬＩにおいてユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤから上記の特定したグループに属するものを選択し、デバイスリストに含める。
また、中継サーバ３は、特定したグループに属するゲートウェイ装置のログイン可能機器リストＥＬ３に含まれるサブＩＤとサブタイプをデバイスリストに含める。
【００７７】
例えば、デバイスリストの送信要求をしたユーザ端末５が「ｓｅｒｖｉｃｅ００１」とのユーザＩＤにてログインしている場合において、上記ステップＳ２２を実行することにより、例えば、図１０Ａに示すようなデバイスリストが作成される。図１０Ａは、ユーザ端末のために作成されたデバイスリストの一例を示す図である。
図７のログイン情報ＬＩに示されるように、「ｓｅｒｖｉｃｅ００１」は全てのグループに属しているので、中継サーバ３は、「Ｇ１」〜「Ｇ３」とのグループのいずれかに属する「ｓｅｒｖｉｃｅ００２」〜「ｓｅｒｖｉｃｅ００４」とのユーザＩＤと、「ｃａｍ００１」〜「ｃａｍ００４」、「ｓｅｎ００１」、「ｃａｍ０１１」、「ｓｅｎ０１１」、及び、「ｓｅｎ０１２」とのサブＩＤとを含むデバイスリストを作成する。
【００７８】
また、ステップＳ２２にて作成されるデバイスリストは、図１０Ａに示すように、各ユーザＩＤ及びサブＩＤのユーザタイプ名を含んでいる。これにより、ユーザ端末５のユーザは、適切な機器のユーザＩＤ及び／又はサブＩＤを選択できる。
【００７９】
一方、ステップＳ２３において、中継サーバ３は、デバイスリストの送信要求をしたゲートウェイ装置のためのデバイスリストを作成する。
具体的には、中継サーバ３は、デバイスリストの送信要求をしたゲートウェイ装置のユーザＩＤが属するグループを特定し、ユーザタイプが「ｇａｔｅｗａｙ」であるユーザＩＤのうち当該特定したグループに属するものを選択し、デバイスリストに含める。
【００８０】
例えば、第２ゲートウェイ装置２３（ユーザＩＤ：ｖｐｎ００１）がデバイスリストの送信要求をした場合において、上記ステップＳ２３を実行することにより、例えば、図１０Ｂに示すようなデバイスリストが作成される。図１０Ｂは、ゲートウェイ装置のために作成されたデバイスリストの一例を示す図である。
図７のログイン情報ＬＩに示されるように、「ｖｐｎ００１」とのユーザＩＤは、「Ｇ２」とのグループ、及び、「Ｇ３」とのグループに属しているので、中継サーバ３は、図１０Ｂに示すような、「ｖｐｎ００２」〜「ｖｐｎ００６」をユーザＩＤとして含むデバイスリストを作成する。
【００８１】
さらに、ステップＳ２４において、中継サーバ３は、ユーザ端末５において実行中のアプリケーションなどに応じて、適切なデバイスリストを作成する。
例えば、画像取得アプリケーションからデバイスリストの送信要求があった場合には、中継サーバ３は、当該画像取得アプリケーションを実行しているユーザ端末５が属するグループに属し、かつ、サブタイプが「ｃａｍｅｒａ」であるサブＩＤを選択して、デバイスリストを作成する。
一方、データ取得アプリケーションからデバイスリストの送信要求があった場合には、当該データ取得アプリケーションを実行しているユーザ端末５が属するグループに属し、かつ、サブタイプが「ｓｅｎｓｏｒ」であるサブＩＤを選択して、デバイスリストを作成する。
【００８２】
上記のステップＳ２１〜Ｓ２４を実行してデバイスリストを作成後、ステップＳ２５において、中継サーバ３は、作成したデバイスリストを、デバイスリストの送信要求をしたユーザ端末５又はゲートウェイ装置に送信する。
【００８３】
中継サーバ３が上記のデバイスリストをユーザ端末５又はゲートウェイ装置に送信することにより、ユーザ端末５又はゲートウェイ装置配下の保守端末２１ａ、２１ｂを使用するユーザは、接続したい所望の機器をデバイスリストから選択できる。つまり、ユーザ端末５又は保守端末２１ａ、２１ｂのユーザは、ユーザ端末５又はゲートウェイ装置を、ユーザ端末５又はゲートウェイ装置に無関係であるか又は不適切である機器に誤って接続することがなくなる。これにより、中継サーバ３は、ユーザ端末５又はゲートウェイ装置と機器との間の通信を適切に中継できる。
【００８４】
（６−４）通信セッション確立処理
（６−４−１）ユーザ端末間の通信セッション確立処理
以下、中継サーバ３にて実行される通信セッション確立処理について説明する。本実施形態において、中継サーバ３は、ユーザ端末５間、及び、ユーザ端末５と自動倉庫システム１のカメラ又はセンサとの間で通信するための通信セッションを確立する。また、中継サーバ３は、ゲートウェイ装置間の通信セッションの確立に関与する。
以下では、これら３つの場合における通信セッションの確立処理について具体的に説明していく。
【００８５】
まず、図１１を用いて、ユーザ端末５間の通信セッションの確立処理について説明する。図１１は、ユーザ端末間の通信セッションの確立処理を示すフローチャートである。
本実施形態においては、ユーザ端末５間の通信セッションは、ユーザ端末５間でビデオチャット通信をするときに確立される。
よって、以下の説明では、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤでログインしているユーザ端末５（「第１ユーザ端末」と呼ぶ）と、「ｓｅｒｖｉｃｅ００２」とのユーザＩＤでログインしているユーザ端末５（「第２ユーザ端末」と呼ぶ）との間でビデオチャット通信する場合を例にとって、ユーザ端末５間の通信セッションの確立処理について説明する。
【００８６】
まず、第１ユーザ端末が中継サーバ３にデバイスリストの送信要求をすると、中継サーバ３は、図１０Ａに示すようなデバイスリストを作成し、第１ユーザ端末に送信する。なぜなら、第１ユーザ端末は、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤにて中継サーバ３にログインしているからである。当該デバイスリストを受信した第１ユーザ端末は、当該デバイスリストをディスプレイに表示する。
その後、ステップＳ３１において、第１ユーザ端末のユーザが、当該デバイスリストから「ｓｅｒｖｉｃｅ００２」とのユーザＩＤを選択すると、第１ユーザ端末は、接続要求先である第２ユーザ端末の「ｓｅｒｖｉｃｅ００２」とのユーザＩＤと、接続要求元である「ｓｅｒｖｉｃｅ００１」とのユーザＩＤと、を含む接続要求を中継サーバ３に送信する。
【００８７】
上記接続要求を受信した中継サーバ３は、ステップＳ３２において、ログイン情報ＬＩのユーザＩＤ記録部分Ｒ６を参照して、接続要求先のユーザＩＤにてログインしている第２ユーザ端末を特定する。
その後、中継サーバ３は、第１ユーザ端末からビデオチャット通信の要求があった旨の接続要求を、特定した第２ユーザ端末に送信する。このとき、中継サーバ３が送信する接続要求には、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤ、すなわち、第１ユーザ端末を特定するためのＩＤが含まれる。
【００８８】
中継サーバ３から上記接続要求を受信した第２ユーザ端末は、ステップＳ３３において、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤをビデオチャットの相手として受け入れるか否かを決定する。
例えば、第２ユーザ端末のユーザが、第２ユーザ端末にて実行されているビデオチャットクライアントにおいて、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤをビデオチャットの相手として拒絶した場合（ステップＳ３３において「Ｎｏ」の場合）、第２ユーザ端末は、中継サーバ３に「ｓｅｒｖｉｃｅ００１」とのユーザＩＤをビデオチャット通信の相手として受け入れない旨を通知する。
当該通知を受信した中継サーバ３は、第１ユーザ端末と第２ユーザ端末との間に通信セッションを確立することなく、通信セッションの確立処理を終了する。このとき、中継サーバ３は、第１ユーザ端末に対して、ビデオチャット通信が拒絶された旨を通知する。
【００８９】
一方、第２ユーザ端末のユーザが「ｓｅｒｖｉｃｅ００１」とのユーザＩＤをビデオチャットの相手として受け入れた場合（ステップＳ３３において「Ｙｅｓ」の場合）、ステップＳ３４において、第２ユーザ端末は、中継サーバ３に、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤのビデオチャット通信を受け入れた旨の信号を送信する。
【００９０】
「ｓｅｒｖｉｃｅ００１」とのユーザＩＤのビデオチャット通信を受け入れた旨の信号を受信した中継サーバ３は、ステップＳ３５において、第１ユーザ端末と第２ユーザ端末と間に通信セッションを確立する。
これにより、第１ユーザ端末と第２ユーザ端末は、当該確立した通信セッションを用いて、互いにビデオチャット通信可能となる。
【００９１】
（６−４−２）ユーザ端末とカメラ／センサとの間の通信セッション確立処理
以下、図１２を用いて、ユーザ端末５と、自動倉庫システム１のカメラ及びセンサとの間の通信セッションの確立処理について説明する。図１２は、ユーザ端末とカメラ又はセンサとの間の通信セッションの確立処理を示すフローチャートである。
ユーザ端末５とカメラ及びセンサとの間の通信セッションは、例えば、カメラにて取得した画像データ、又は、センサにて取得した測定データを、ユーザ端末５を用いて監視したい場合などに確立される。
以下では、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤにより中継サーバ３にログインしたユーザ端末５が、自動倉庫システム１のカメラＣＡ１（サブＩＤ：ｃａｍ００１）に接続要求をした場合を例にとって、ユーザ端末とカメラ／センサ間の通信セッションの確立処理を説明する。
【００９２】
ユーザ端末５が中継サーバ３にデバイスリストの送信要求をすると、中継サーバ３は、図１０Ａに示すようなデバイスリストを作成し、このユーザ端末５に送信する。なぜなら、ユーザ端末５は、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤにて中継サーバ３にログインしているからである。当該デバイスリストを受信したユーザ端末５は、当該デバイスリストをディスプレイに表示する。
このユーザ端末５のユーザが、デバイスリストから「ｃａｍ００１」とのサブＩＤを選択すると、ステップＳ４１において、当該ユーザ端末５は、接続要求先である「ｃａｍ００１」とのサブＩＤを含む接続要求を中継サーバ３に送信する。
【００９３】
上記接続要求を受信した中継サーバ３は、ステップＳ４２において、「ｃａｍ００１」とのサブＩＤにて中継サーバ３にログインがされているか否かを判断する。
具体的には、中継サーバ３は、ログイン情報ＬＩのログイン状態記録部分Ｒ１１を参照して、ログイン状態記録部分Ｒ１１の「ｃａｍ００１」とのサブＩＤに対応する行が「ＯＫ」となっていれば、当該サブＩＤにより中継サーバ３へのログインがされていると判断する。一方、「ＮＧ」となっていれば、当該サブＩＤによる中継サーバ３へのログインがなされていないと判断する。
【００９４】
「ｃａｍ００１」とのサブＩＤにより中継サーバ３へのログインがなされている場合（ステップＳ４２において「Ｙｅｓ」の場合）、通信セッションの確立処理は、ステップＳ４８に進む。
一方、当該サブＩＤにより中継サーバ３へのログインがされていない場合（ステップＳ４２において「Ｎｏ」の場合）、通信セッションの確立処理は、ステップＳ４３に進む。
【００９５】
ステップＳ４３において、中継サーバ３は、ログイン情報ＬＩ及び／又は機器リスト（第１機器リストＥＬ１、第２機器リストＥＬ２）を参照して、「ｃａｍ００１」とのサブＩＤを有するカメラＣＡ１が接続されたゲートウェイ装置を特定する。本実施形態では、カメラＣＡ１が接続されたゲートウェイ装置として、第１ゲートウェイ装置１９が特定される。
その後、ステップＳ４４において、中継サーバ３は、特定した第１ゲートウェイ装置１９に、カメラＣＡ１に対して中継サーバ３へのログインを促す信号（「ログイン要求信号」と呼ぶ）を送信する。なお、このログイン要求信号には、接続要求がされた機器（カメラＣＡ１）のサブＩＤ（ｃａｍ００１）が含まれている。これにより、第１ゲートウェイ装置１９は、接続されたどの機器にログインを促すべきかを判断できる。
【００９６】
上記のログイン要求信号を受信した第１ゲートウェイ装置１９は、ステップＳ４５において、ログイン要求信号に含まれるサブＩＤから、接続要求がされている機器がカメラＣＡ１であることを特定する。次に、第１ゲートウェイ装置１９は、特定したカメラＣＡ１に対して、中継サーバ３にログインするよう指令するログイン指令信号を送信する。
なお、第１ゲートウェイ装置１９が記憶する第１機器リストＥＬ１の状態記録部分Ｒ５においてカメラＣＡ１に対応する行が「ＮＧ」となっている場合、すなわち、カメラＣＡ１が第１ゲートウェイ装置１９と通信可能となっていない場合には、第１ゲートウェイ装置１９は、例えば、「Ｗａｋｅ  Ｏｎ  ＬＡＮ」機能などにより、カメラＣＡ１の起動を試みてもよい。そして、カメラＣＡ１と通信可能となった後に、ログイン指令信号をカメラＣＡ１に送信してもよい。
また、カメラＣＡ１が起動して第１ゲートウェイ装置１９と通信可能となったときに、第１ゲートウェイ装置１９は、状態記録部分Ｒ５のカメラＣＡ１に対応する行を「ＮＧ」から「ＯＫ」に変更して、第１機器リストＥＬ１を更新する。
【００９７】
上記ステップＳ４５を実行後、ステップＳ４６において、ログイン指令信号を受信したカメラＣＡ１は、カメラＣＡ１のサブＩＤ（ｃａｍ００１）及び中継サーバ３にログインするためのパスワードを、中継サーバ３に送信する。
その後、ステップＳ４７において、上記サブＩＤ及びパスワードを受信した中継サーバ３は、上記のステップＳ１１〜Ｓ１６によりログイン処理を実行し、カメラＣＡ１を「ｃａｍ００１」とのサブＩＤにてログインさせる。
カメラＣＡ１のログインに成功後、又は、上記のステップＳ４２においてカメラＣＡ１がすでにログインしていると判断された場合、ステップＳ４８において、中継サーバ３は、ユーザ端末５とカメラＣＡ１との間に、通信セッションを確立する。
【００９８】
上記のステップＳ４１〜Ｓ４８を実行することにより、中継サーバ３は、ユーザ端末５にてサブＩＤが選択された場合のみ、すなわち、ユーザ端末５を用いてカメラ又はセンサと通信したい旨の接続要求があった場合にのみ、当該カメラ又はセンサとユーザ端末５との間に通信セッションを確立できる。
また、ユーザ端末５との間に通信セッションを確立したい機器が中継サーバ３にログインしていない場合には、中継サーバ３は、当該機器に対してログインを促し、当該機器がログイン後に通信セッションを確立する。
つまり、接続要求がなかった機器は、中継サーバ３にログインしていなければ、その状態を維持する。このようにして、中継サーバ３は、ログインさせておく機器の数を必要最小限とできるので、機器とユーザ端末５との間の中継処理の負荷を軽減できる。
【００９９】
また、上記のステップＳ４３〜Ｓ４４を実行して、接続要求のあった機器を中継サーバ３にログインさせるログイン要求信号をゲートウェイ装置に送信することで、中継サーバ３は、ゲートウェイ装置に対して、当該ゲートウェイ装置に接続された機器のログインの催促機能を担当させることができる。
【０１００】
上記のステップＳ４１〜Ｓ４８を実行後、ユーザ端末５と自動倉庫システム１のカメラＣＡ１とは、ステップＳ４１〜Ｓ４８の実行により確立した通信セッションを用いて、互いに通信可能となる。
【０１０１】
（６−４−３）ゲートウェイ装置間の通信セッション確立処理
以下、ゲートウェイ装置間の通信セッションの確立処理について、図１３を用いて説明する。図１３は、ゲートウェイ装置間の通信セッションの確立処理を示すフローチャートである。
以下では、保守拠点２の第２ゲートウェイ装置２３から、自動倉庫システム１の第１ゲートウェイ装置１９に対して接続要求があった場合において、第１ゲートウェイ装置１９と第２ゲートウェイ装置２３との間で通信セッションを確立する場合を例にとって、ゲートウェイ装置間の通信セッションの確立処理を説明する。
【０１０２】
例えば、保守端末２１ａにて、自動倉庫システム１の保守アプリケーションが実行され、当該保守アプリケーションから第２ゲートウェイ装置２３に、自動倉庫システム１のゲートウェイ装置への接続要求がされる。
その後、ステップＳ５１において、第２ゲートウェイ装置２３は、中継サーバ３に対して、第２ゲートウェイ装置２３が接続可能な他のゲートウェイ装置のデバイスリストの送信要求を送信する。当該送信要求には、どのゲートウェイ装置からの送信要求であるかを示すために、第２ゲートウェイ装置２３の「ｖｐｎ００１」とのユーザＩＤが情報として含まれる。
【０１０３】
上記送信要求を受信した中継サーバ３は、ステップＳ５２において、上記のステップＳ２１〜２５によりデバイスリストの送信処理を実行して、第２ゲートウェイ装置２３のためのデバイスリストを作成し、第２ゲートウェイ装置２３に送信する。
第２ゲートウェイ装置２３からのデバイスリストの送信要求に対して、中継サーバ３は、図１０Ｂに示すようなデバイスリストを作成し送信する。
【０１０４】
デバイスリストを受信した第２ゲートウェイ装置２３は、ステップＳ５３において、当該デバイスリストを保守端末２１ａに転送する。これにより、保守端末２１ａにおいて、第２ゲートウェイ装置２３が接続可能な他のゲートウェイ装置のリストが表示される。
保守端末２１ａのユーザが、デバイスリストから「ｖｐｎ００５」とのユーザＩＤを接続先として選択すると、ステップＳ５４において、当該保守端末２１ａは、第２ゲートウェイ装置２３に対して、「ｖｐｎ００５」とのユーザＩＤを情報に含んだ接続要求を送信する。
【０１０５】
上記接続要求を受信した第２ゲートウェイ装置２３は、ステップＳ５５において、当該接続要求を中継サーバ３に送信する。
この接続要求を受信した中継サーバ３は、ステップＳ５６において、接続要求先の「ｖｐｎ００５」とのユーザＩＤから第１ゲートウェイ装置１９を特定し、当該接続要求を第１ゲートウェイ装置１９に送信する。
【０１０６】
上記の接続要求を受信した第１ゲートウェイ装置１９は、ステップＳ５７において、当該接続要求を受け入れるか否かを決定する。接続要求を受け入れないと決定した場合（ステップＳ５７において「Ｎｏ」の場合）、第１ゲートウェイ装置１９と第２ゲートウェイ装置２３との間に通信セッションを確立することなく、通信セッションの確立処理は終了する。
一方、接続要求を受け入れると決定した場合（ステップＳ５７において「Ｙｅｓ」の場合）、ステップＳ５８において、第１ゲートウェイ装置１９は、接続要求を受け入れる旨の通知を、第２ゲートウェイ装置２３に送信する。
【０１０７】
上記通知を受信した第２ゲートウェイ装置２３は、ステップＳ５９において、第１ゲートウェイ装置１９との間で通信セッション（例えば、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）セッション）を確立する処理を実行する。
具体的には、まず、第１ゲートウェイ装置１９と第２ゲートウェイ装置２３は、互いが有する第１機器リストＥＬ１と第２機器リストＥＬ２を交換する。これにより、第１ゲートウェイ装置１９と第２ゲートウェイ装置２３は、共に、第１機器リストＥＬ１と第２機器リストＥＬ２を有することとなる。
その後、第１ゲートウェイ装置１９と第２ゲートウェイ装置２３との間の通信セッションが確立される。
【０１０８】
上記のように第１ゲートウェイ装置１９と第２ゲートウェイ装置２３との間で通信セッションを確立することにより、保守端末２１ａは、第２ゲートウェイ装置２３と第１ゲートウェイ装置１９とを介して、第１ゲートウェイ装置１９に接続された全ての機器にアクセスできる。
【０１０９】
すなわち、保守端末２１ａは、自動倉庫システム１のカメラＣＡ１〜ＣＡ４及びセンサＳＥだけでなく、第１外部記憶装置１３ａ、第２外部記憶装置１３ｂ、搬送管理サーバ１５、及び、情報管理サーバ１７へもアクセスできる。
さらに言い換えると、中継サーバ３へログインできない保守端末２１ａが、自動倉庫システム１の中継サーバ３へログイン可能な機器だけでなく、中継サーバ３へログインできない機器にもアクセスできる。
【０１１０】
また、第１ゲートウェイ装置１９と第２ゲートウェイ装置２３との間に通信セッションを確立後、保守端末２１ａ及び自動倉庫システム１の各機器は、交換した第１機器リストＥＬ１及び第２機器リストＥＬ２のアドレス記録部分Ｒ２に記録されているＩＰアドレスを用いて、互いに通信できる。
例えば、保守端末２１ａは、「１９２．１６８．０．２１」とのＩＰアドレスを用いて第２ゲートウェイ装置２３と通信することで、第１外部記憶装置１３ａにアクセスできる。
一方、例えば、第１外部記憶装置１３ａは、「１７２．２８．０．２」とのＩＰアドレスをデータの宛先として第１ゲートウェイ装置１９と通信することで、当該データを保守端末２１ａに送信できる。
【０１１１】
（６−５）中継サーバにおけるその他の制御処理
（６−５−１）その他の制御処理の概略
以下、ログイン処理、デバイスリストの送信処理、通信セッションの確立処理以外の、中継サーバ３にて実行されるその他の制御処理について説明する。
本実施形態において、中継サーバ３は、その他の制御処理として、（ｉ）通信セッションを通じたデータ送受信の中継、（ｉｉ）確立した通信セッションが接続状態となっているか否かの監視、（ｉｉｉ）ユーザ端末５等からログアウト要求があったときのログアウト処理、及び、（ｉｖ）各ゲートウェイ装置の機器リストの更新の監視を、保持している通信セッションにおいて各機器からなされた要求に応じて実行する。
以下、上記の各処理について詳細に説明する。
【０１１２】
（６−５−２）通信セッションを通じたデータ送受信の中継処理
最初に、通信セッションを通じたデータの送受信を中継する処理について、図１４を用いて説明する。図１４は、通信セッションを通じたデータの送受信の中継処理を示すフローチャートである。
以下においては、自動倉庫システム１のカメラＣＡ１から「ｓｅｒｖｉｃｅ００１」とのユーザＩＤにてログインしているユーザ端末５へデータ送信を実行する場合を例にとって説明する。
また、本実施形態において、通信セッションが確立されたユーザ端末５及びカメラＣＡ１は、通信の宛先としてユーザＩＤ又はサブＩＤを用いて、互いに通信するものとする。
【０１１３】
ステップＳ６１において、カメラＣＡ１から「ｓｅｒｖｉｃｅ００１」とのユーザＩＤを宛先としたデータ送信の要求が中継サーバ３にされた場合（ステップＳ６１において「Ｙｅｓ」の場合）、中継サーバ３は、ステップＳ６２において、ログイン情報ＬＩのユーザＩＤ記録部分Ｒ６及び／又は機器リストのサブＩＤ記録部分Ｒ３を参照し、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤ又はサブＩＤから、データの送信先の機器を特定する。
上記の場合、中継サーバ３は、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤから、データの送信先であるユーザ端末５を特定する。
【０１１４】
その後、ステップＳ６３において、中継サーバ３は、当該データの送信先であるユーザ端末５の接続状態を確認する。
具体的には、ログイン情報ＬＩのログイン状態記録部分Ｒ１１を参照し、ログイン状態記録部分Ｒ１１の「ｓｅｒｖｉｃｅ００１」とのユーザＩＤに対応する行の記載が「ＮＧ」となっている場合（ステップＳ６３において「Ｎｏ」の場合）、すなわち、「ｓｅｒｖｉｃｅ００１」とのユーザＩＤを用いて中継サーバ３にログインされていない場合、ステップＳ６４において、中継サーバ３は、データを当該ユーザ端末５に送信できないとして、送信元であるカメラＣＡ１にエラーを通知する。
一方、上記のログイン状態記録部分Ｒ１１の記載が「ＯＫ」となっている場合（ステップＳ６３において「Ｙｅｓ」の場合）、ステップＳ６５において、中継サーバ３は、宛先であるユーザ端末５に、カメラＣＡ１からのデータを送信する。
【０１１５】
上記のステップＳ６１〜Ｓ６５を実行することにより、データの送信宛先を中継サーバ３にログインするためのユーザＩＤ又はサブＩＤとして、ユーザ端末５間、ユーザ端末５と自動倉庫システム１のカメラ及び／又はセンサとの間でデータの送受信が可能となる。
【０１１６】
（６−５−３）通信セッションの監視処理
次に、通信セッションの接続状態を監視する処理について、図１５を用いて説明する。図１５は、通信セッションの監視処理を示すフローチャートである。
ステップＳ７１において、通信セッションの監視を開始する中継サーバ３は、まず、通信セッションが「アクティブ」状態であるか否かを判定する。通信セッションが「アクティブ」であるとは、通信セッションを確立した機器間が通信可能であることを意味する。
例えば、中継サーバ３に通信セッションを確立したユーザ端末５、ゲートウェイ装置などに対して、定期的に接続確認の信号を送信し、当該信号に対して応答があればアクティブ状態であると判定する。
【０１１７】
監視対象の通信セッションがアクティブでない、すなわち、上記の接続確認の信号に対して応答がないと判定した場合（ステップＳ７１において「Ｎｏ」の場合）、ステップＳ７２において、中継サーバ３は、接続監視タイマーを加算する。具体的には、中継サーバ３は、接続監視タイマーに１を加算する。その後、通信セッションの監視処理は、ステップＳ７４に進む。
このように、接続監視タイマーは、監視対象の通信セッションのいずれかの機器が接続確認の信号に応答しなかった回数として定義される。この接続確認の信号は、特定の時間間隔を空けて出力されるものであるので、接続監視タイマーは、監視対象の通信セッションがアクティブでない状態が継続している時間に対応するものである。
【０１１８】
一方、監視対象の通信セッションがアクティブであると判定された場合（ステップＳ７１において「Ｙｅｓ」の場合）、ステップＳ７３において、中継サーバ３は、当該監視対象の通信セッションについての接続監視タイマーをリセットし（接続監視タイマーの値を０とし）、通信セッションの監視を継続する。
【０１１９】
通信セッションがアクティブ状態でないと判定後、ステップＳ７４において、中継サーバ３は、監視対象の通信セッションが所定の時間以上アクティブ状態となっていないか否かを判定する。以後、通信セッションが所定の時間以上アクティブ状態となっていないことを、「通信セッションがタイムアウトした」と呼ぶことにする。
【０１２０】
中継サーバ３は、通信セッションがタイムアウトしたか否かを、接続監視タイマーの値に基づいて判定する。
具体的には、中継サーバ３は、接続監視タイマーが所定の値よりも小さい場合には、監視対象の通信セッションがタイムアウトしていないと判定する。この場合（ステップＳ７４において「Ｎｏ」の場合）、中継サーバ３は、当該通信セッションの接続を維持し、当該通信セッションの監視を継続する。
一方、中継サーバ３は、接続監視タイマーが所定の値以上である場合には、監視対象の通信セッションがタイムアウトしていると判定する。この場合（ステップＳ７４において「Ｙｅｓ」の場合）、中継サーバ３は、ステップＳ７５において、タイムアウトした通信セッションを切断する処理を実行する。
【０１２１】
以下、ステップＳ７５におけるタイムアウトした通信セッションを切断する処理について説明する。以下では、ユーザ端末５とカメラＣＡ１との間に確立された通信セッションにおいて、ユーザ端末５が中継サーバ３からログアウトしたため、当該通信セッションがタイムアウトした場合を例にとって説明する。
まず、中継サーバ３が、カメラＣＡ１と他のユーザ端末５等との間で確立されたアクティブ状態である通信セッションが存在するかを判定する。
次に、カメラＣＡ１と他のユーザ端末５等との間にアクティブな通信セッションが存在していなければ、中継サーバ３が、当該カメラＣＡ１に対して中継サーバ３からログアウトする指令を送信する。当該指令を受信したカメラＣＡ１は、中継サーバ３からログアウトする。
【０１２２】
このようにして、中継サーバ３は、タイムアウトした通信セッションに含まれるユーザ端末５及び／又は機器を無駄にログイン状態のままにすることを回避できる。その結果、中継サーバ３における通信の中継処理に対する処理負担を軽減できる。
【０１２３】
その後、中継サーバ３は、ステップＳ７６において、ログアウトさせたユーザ端末５及び／又は機器に対応するログイン状態記録部分Ｒ１１に「ＮＧ」を記録して、ログイン情報ＬＩを更新する。
【０１２４】
上記のステップＳ７５〜Ｓ７６を実行して監視対象であった通信セッションを切断後、ステップＳ７７において、中継サーバ３は、切断した通信セッションを確立していたユーザ端末５中に、ユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤにてログインしていたユーザ端末５が存在していたか否かを判定する。
【０１２５】
ユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤにてログインしていたユーザ端末５が存在していたと判定した場合（ステップＳ７７において「Ｙｅｓ」の場合）、ステップＳ７８において、中継サーバ３は、ビデオチャットクライアントを実行中のユーザ端末５に、当該ログアウトしたユーザＩＤに対してビデオチャットの参加を呼びかけることができなくなった旨を通知する。
これにより、ビデオチャットクライアントであるユーザ端末５は、例えば、ビデオチャットアプリケーション上にて、参加可能であったユーザがビデオチャットから抜けたことを表示できる。
【０１２６】
一方、ユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤにてログインしていたユーザ端末５が存在していなかったと判定した場合（ステップＳ７７において「Ｎｏ」の場合）、中継サーバ３は、接続状態の更新を通知することなく、切断した通信セッションの監視処理を終了する。
【０１２７】
（６−５−４）ログアウト処理
以下、ユーザ端末５等からのログアウト要求に応じて、当該ユーザ端末５等を中継サーバ３からログアウトさせる処理について、図１６を用いて説明する。図１６は、ログアウト処理を示すフローチャートである。
図１６のステップＳ８１において、ユーザ端末５又は自動倉庫システム１の機器からログアウト要求を受信すると、中継サーバ３は、ステップＳ８２において、当該要求があったユーザ端末５又は機器をログアウトさせる処理を実行する。
【０１２８】
ユーザ端末５又は機器をログアウトさせた後、ステップＳ８３において、中継サーバ３は、当該ログアウトさせたユーザ端末５又は機器に対応するログイン状態記録部分Ｒ１１の記載を「ＮＧ」と変更して、ログイン情報ＬＩを更新する。
【０１２９】
その後、ステップＳ８４において、中継サーバ３は、ログアウトさせたユーザ端末５に、ユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤにてログインしていたユーザ端末５が存在していたか否かを判定する。
【０１３０】
ユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤにてログインしていたユーザ端末５が存在していたと判定した場合（ステップＳ８４において「Ｙｅｓ」の場合）、ステップＳ８５において、中継サーバ３は、ビデオチャットクライアントを実行中のユーザ端末５に、当該ログアウトしたユーザＩＤに対してビデオチャットの参加を呼びかけることができなくなった旨を通知する。
これにより、ビデオチャットクライアントであるユーザ端末５は、例えば、ビデオチャットアプリケーション上にて、参加可能であったユーザがビデオチャットから抜けたことを表示できる。
【０１３１】
一方、ユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤにてログインしていたユーザ端末５が存在していなかったと判定した場合（ステップＳ８４において「Ｎｏ」の場合）、中継サーバ３は、接続状態の更新を通知することなく、ログアウト処理を終了する。
【０１３２】
（６−５−５）ログイン可能機器リストの更新処理
以下、ゲートウェイ装置が有する機器リストに更新があったときの中継サーバ３側での処理について、図１７を用いて説明する。図１７は、ログイン可能機器リストの更新処理を示すフローチャートである。
自動倉庫システム１のゲートウェイ装置のいずれかから、中継サーバ３にログイン可能な機器の接続状態が変化した旨の通知があった場合（ステップＳ９１において「Ｙｅｓ」の場合）、ステップＳ９２において、中継サーバ３は、記憶装置３５に記憶しているログイン可能機器リストＥＬ３を更新する。
具体的には、中継サーバ３は、ログイン可能機器リストＥＬ３において、接続状態が変化した機器のサブＩＤに対応する状態記録部分Ｒ４’の行の記載を「ＯＫ」から「ＮＧ」へ、又はその逆に書き換える。
【０１３３】
また、例えば、新たな自動倉庫システム１が追加された、自動倉庫システム１において新たなゲートウェイ装置が追加された、及び／又は、既存の自動倉庫システム１においてカメラＣＡ／センサＳＥなどの中継サーバ３にログイン可能な機器が除去及び／又は追加された場合などには、ステップＳ９１において、上記通知とともに、新たなログイン可能機器リストＥＬ３がゲートウェイ装置にて作成され送信されてくる。
その後、ステップＳ９２において、中継サーバ３は、当該新たなログイン可能機器リストＥＬ３を記憶装置３５に記憶するとともに、更新のあった機器リストに対応するように、ログイン情報ＬＩを更新する  。
これにより、自動倉庫システム１におけるカメラ及び又はセンサ等の追加又は除去等をログイン情報ＬＩにも反映できる。
【０１３４】
ログイン可能機器リストＥＬ３及びログイン情報ＬＩを更新後、ステップＳ９３において、中継サーバ３は、ユーザＩＤ及び／又はサブＩＤのログイン情報ＬＩへの登録状態に変化があった場合には、新たなデバイスリストを作成し、ユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤ（すなわち、ユーザ端末５）、及び／又は、ユーザタイプが「ｇａｔｅｗａｙ」であるユーザＩＤ（すなわち、ゲートウェイ装置）に送信する。 
上記の「ユーザＩＤ及び／又はサブＩＤのログイン情報ＬＩへの登録状態に変化があった場合」とは、例えば、通信システム１００におけるゲートウェイ装置及び／又はカメラ／センサの設置数に増減があったためにログイン情報ＬＩに記録されているユーザＩＤ及び／又はサブＩＤの数が増減した場合、及び／又は、ログイン情報ＬＩに記録されているユーザＩＤ及び／又はサブＩＤの記載内容が変化した場合、などである。
【０１３５】
具体的には、例えば、通信システム１００におけるゲートウェイ装置の設置数に増減があった場合、ゲートウェイ装置に設定されていたユーザＩＤに変更があった場合などには、ユーザタイプが「ｇａｔｅｗａｙ」であるユーザＩＤを含む新たなデバイスリストが作成され、中継サーバ３にログイン中のゲートウェイ装置に送信される。
一方、例えば、自動倉庫システム１のカメラ及び／又はセンサの設置数に増減があった場合、カメラ及び／又はセンサに設定されていたサブＩＤに変更があった場合などには、ユーザタイプが「ｖｉｄｅｏＣｈａｔ」であるユーザＩＤ、サブタイプが「ｃａｍｅｒａ」であるサブＩＤ、及びサブタイプが「ｓｅｎｓｏｒ」であるサブＩＤを含む新たなデバイスリストが作成され、中継サーバ３にログイン中のユーザ端末５に送信される。
【０１３６】
上記のステップＳ９３を実行することにより、中継サーバ３にログイン中のユーザ端末５を使用するユーザ、及び／又は、保守端末２１ａ、２１ｂを使用するユーザは、通信できるカメラ、センサ、ゲートウェイ装置に変化（増減など）があったことを知ることができる。
【０１３７】
２．実施形態の共通事項
上記第１実施形態は、下記の構成及び機能を有している。
中継サーバ３（中継サーバの一例）は、ネットワークインタフェース３４（ネットワークインタフェースの一例）と、記憶装置３５（記憶装置の一例）と、制御部（制御部の一例）と、を備える。ネットワークインタフェース３４は、ユーザ端末５（ユーザ端末の一例）及びカメラ及び／又はセンサなどの機器（接続対象機器の一例）との通信を行う。記憶装置３５は、ログイン情報ＬＩ（ログイン情報の一例）を記憶する。ログイン情報ＬＩは、ユーザＩＤと、ユーザＩＤが属するグループ（ユーザ種別の一例）と、サブＩＤ（機器ＩＤの一例）と、を関連付けて記憶した情報である。
【０１３８】
制御部は、ユーザ端末５がログインしたときに、当該ログイン時に用いられたユーザＩＤが属するグループと、当該グループに属するサブＩＤとを、ログイン情報ＬＩを用いて特定し、特定したサブＩＤのデバイスリスト（機器ＩＤのリストの一例）を、当該ログインしているユーザ端末５に送信する。
【０１３９】
また、ユーザ端末５からサブＩＤを含む接続要求（機器ＩＤの選択の一例）を受信したときに、制御部は、ユーザ端末５にて選択されたサブＩＤを用いて接続要求先の機器がログイン中の場合には、ログイン中の当該機器と、ログイン中のユーザ端末５と、の間で通信セッションを確立させる。一方、ユーザ端末５にて選択されたサブＩＤを用いて接続要求先の機器がログインしていない場合には、制御部は、当該機器に対してログインを促し、当該機器がログイン後、ログイン中のユーザ端末５との間で通信セッションを確立させる。
【０１４０】
中継サーバ３においては、ユーザ端末５と機器との間の通信の中継を開始する際に、ユーザ端末５に対して、ユーザ端末５と通信可能な機器のサブＩＤのリスト（デバイスリスト）を送信する。これにより、ユーザ端末を使用中ユーザは、表示された上記のサブＩＤを選択することにより、無関係又は不適切な機器とユーザ端末５とを接続することがなくなる。すなわち、中継サーバ３は、機器とユーザ端末５との間の通信を適切に中継できる。
【０１４１】
また、中継サーバ３において、制御部は、サブＩＤが選択された場合、すなわち、ユーザ端末５を用いて所定の機器と通信したい旨の要求があった場合にのみ、機器とユーザ端末５との間に通信セッションを確立する。
一方、通信セッションを確立したい機器が中継サーバ３にログインしていない場合に、制御部は、当該機器に対してログインを促し、当該機器がログイン後に、当該機器とユーザ端末５との間に通信セッションを確立する。
このようにして、中継サーバ３は、ログインさせておく機器の数を必要最小限とできるので、中継サーバ３における中継処理の負荷を軽減できる。
【０１４２】
３．他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
上記の第１実施形態においてフローチャートなどを用いて説明した各処理において、各ステップの処理の内容、各ステップの順番、などは、発明の要旨を逸脱しない範囲で任意に変更できる。
【０１４３】
（Ａ）１つの自動倉庫システム１に対して２以上のゲートウェイ装置が設けられてもよい。ゲートウェイ装置の数は、例えば、自動倉庫システム１に設けられるカメラ及び／又はセンサの数、自動倉庫システム１の管理サーバの数、などに応じた任意の数とできる。
【０１４４】
（Ｂ）例えば、ファイヤーウォールの設定上ゲートウェイ装置同士で通信ができない場合などに、これら２つのゲートウェイ装置間の通信セッションを、中継サーバ３を介して確立してもよい。この場合、中継サーバ３は、当該２つのゲートウェイ装置に対して、上記のステップＳ６１〜Ｓ６５を実行して、当該２つのゲートウェイ装置間のデータの送受信を中継してもよい。
【０１４５】
（Ｃ）サブＩＤを含むデバイスリストには、当該サブＩＤに対応するカメラ及び／又はセンサがゲートウェイ装置と通信可能な状態にあるか否かの情報が含まれていてもよい。
これにより、ゲートウェイ装置と通信可能となっていない機器をデバイスリスト上で確認可能となる。
【０１４６】
４．付記事項
ユーザ端末と、接続対象機器を接続するゲートウェイ装置と、前記ユーザ端末と前記接続対象機器との間の通信を中継する中継サーバと、を備える通信システムであって、
前記中継サーバは、
前記ユーザ端末及び前記接続対象機器との通信を行うネットワークインタフェースと、
ユーザＩＤと、前記ユーザＩＤが属するユーザ種別と、前記ユーザ種別に属する前記接続対象機器の機器ＩＤと、を互いに関連付けて記憶したログイン情報を記憶する記憶装置と、
前記ユーザ端末がログインしたときに、当該ログイン時に用いられた前記ユーザＩＤが属する前記ユーザ種別と、当該ユーザ種別に属する前記機器ＩＤとを、前記ログイン情報を用いて特定し、
特定した前記機器ＩＤのリストをログイン中の前記ユーザ端末に送信し、
前記ユーザ端末から前記機器ＩＤの選択を受信したとき、前記ユーザ端末にて選択された機器ＩＤを用いて前記接続対象機器がログインしている場合には、ログイン中の当該接続対象機器とログイン中の当該ユーザ端末との間で通信セッションを確立させ、
前記ユーザ端末にて選択された機器ＩＤを用いて前記接続対象機器がログインしていない場合には、前記ゲートウェイ装置に対して当該接続対象機器のログインを促す信号を送信するよう指令し、当該接続対象機器がログイン後、ログイン中の前記ユーザ端末との間で通信セッションを確立させる、
処理を実行する制御部と、
を有する、
通信システム。
【産業上の利用可能性】
【０１４７】
本発明は、システムに含まれる機器間の通信を中継する中継サーバに広く適用できる。
【符号の説明】
【０１４８】
１００ 通信システム
１     自動倉庫システム
１１   自動倉庫
１３ａ 第１外部記憶装置
１３ｂ 第２外部記憶装置
１５   搬送管理サーバ
１７   情報管理サーバ
１９   第１ゲートウェイ装置
ＣＡ１〜ＣＡ４カメラ
ＳＥ   センサ
ＳＨ１ 第１スイッチングハブ
ＳＨ２ 第２スイッチングハブ
２     保守拠点
２１ａ、２１ｂ保守端末
２３   第２ゲートウェイ装置
ＳＨ３ 第３スイッチングハブ
３     中継サーバ
３１   プロセッサ
３２   ＲＡＭ
３３   ＲＯＭ
３４   ネットワークインタフェース
３５   記憶装置
３６   ディスプレイ
３７   入力インターフェース
５     ユーザ端末
ＥＬ１ 第１機器リスト
ＥＬ２ 第２機器リスト
Ｒ１   機器名記録部分
Ｒ２   アドレス記録部分
Ｒ３   サブＩＤ記録部分
Ｒ４   サブタイプ記録部分
Ｒ５   状態記録部分
ＥＬ３ ログイン可能機器リスト
Ｒ１’ 機器名記録部分
Ｒ２’ サブＩＤ記録部分
Ｒ３’ サブタイプ記録部分
Ｒ４’ 状態記録部分
ＬＩ   ログイン情報
Ｒ６   ユーザＩＤ記録部分
Ｒ７   ユーザタイプ記録部分
Ｒ８   グループ記録部分
Ｒ９   サブＩＤ記録部分
Ｒ１０ サブタイプ記録部分
Ｒ１１ ログイン状態記録部分
【図１】
2019153034.tif 000003
【図２】
2019153034.tif 000004
【図３】
2019153034.tif 000005
【図４】
2019153034.tif 000006
【図５Ａ】
2019153034.tif 000007
【図５Ｂ】
2019153034.tif 000008
【図６】
2019153034.tif 000009
【図７】
2019153034.tif 000010
【図８】
2019153034.tif 000011
【図９】
2019153034.tif 000012
【図１０Ａ】
2019153034.tif 000013
【図１０Ｂ】
2019153034.tif 000014
【図１１】
2019153034.tif 000015
【図１２】
2019153034.tif 000016
【図１３】
2019153034.tif 000017
【図１４】
2019153034.tif 000018
【図１５】
2019153034.tif 000019
【図１６】
2019153034.tif 000020
【図１７】
2019153034.tif 000021