JP6787576B2 - クラウド中継システムおよび中継サーバ - Google Patents

クラウド中継システムおよび中継サーバ Download PDF

Info

Publication number
JP6787576B2
JP6787576B2 JP2017029514A JP2017029514A JP6787576B2 JP 6787576 B2 JP6787576 B2 JP 6787576B2 JP 2017029514 A JP2017029514 A JP 2017029514A JP 2017029514 A JP2017029514 A JP 2017029514A JP 6787576 B2 JP6787576 B2 JP 6787576B2
Authority
JP
Japan
Prior art keywords
terminal
relay
relay server
terminals
server
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.)
Active
Application number
JP2017029514A
Other languages
English (en)
Other versions
JP2018136647A (ja
Inventor
甲 島澤
甲 島澤
博憲 渡辺
博憲 渡辺
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.)
Wingarc1st Inc
Original Assignee
Wingarc1st Inc
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 Wingarc1st Inc filed Critical Wingarc1st Inc
Priority to JP2017029514A priority Critical patent/JP6787576B2/ja
Priority to US15/880,880 priority patent/US10742540B2/en
Publication of JP2018136647A publication Critical patent/JP2018136647A/ja
Application granted granted Critical
Publication of JP6787576B2 publication Critical patent/JP6787576B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、クラウド中継システムおよび中継サーバに関し、特に、中継サーバが端末間のデータ通信を中継するシステムに用いて好適なものである。
近年では、オンプレミスだったかつての情報システムに代わり、クラウドコンピューティングの運用形態が広く用いられるようになってきている。クラウドコンピューティングによれば、インターネットに接続されたサーバファームなど、外部のリソースをオンデマンドで活用することが可能となる。
クラウドコンピューティングの多くの形態は、クライアント端末からインターネットを介してサーバにアクセスし、当該サーバが提供するサービスをクライアント端末で受けるといったものである。これに対し、インターネットを介して端末間を接続して通信するようにした形態もある。後者の形態によれば、ある端末に記憶されているデータを別の端末からのリクエストに応じて処理することが可能である。例えば、社外端末からサーバに与えられるリクエストに応じて、サーバが社内端末からデータを取得して処理し、そのデータ処理の結果をリクエスト元の社外端末に提供することが可能である。
この種のシステムにおいて、リクエストを出してからデータ処理の結果を得るまでのレスポンス時間を短縮化できるようにしたシステムも知られている(例えば、特許文献1参照)。この特許文献1に記載のデータ処理システムでは、サーバが端末からデータ処理に関するリクエストを受信した場合、リクエストに応じたデータ処理を実行するために必要な元データを別の端末からサーバに送信することに代えて、別の端末にリクエストを送信してデータ処理を実行させ、当該別の端末において実行されたデータ処理の結果をサーバが受信してリクエスト元の端末に提供するようにしている。これにより、別の端末からサーバに送信するデータ量を少なくし、データ送信にかかる時間を短縮できるようにしている。
さらに、端末間を接続して通信する形態の一例として、ファイアウォールを超えて、インターネットからローカルシステム内のネットワーク装置への通信、あるいは異なるローカルシステム内のネットワーク装置間の通信を実現するとともに、それぞれのネットワーク機器と中継サーバとの接続が複数存在する場合でも、各接続を正常に識別可能にすることを目的とした通信システムが知られている(例えば、特許文献2参照)。
特許文献2に記載の通信システムでは、一のローカルシステム内の第1の端末が中継サーバにログインすると、そのときの第1の接続に対して一意の接続識別子を付与し、返送する。同様に、別のローカルシステム内の第2の端末が中継サーバにログインすると、そのときの第2の接続に対して一意の接続識別子を付与し、返送する。第1の端末と第2の端末との通信は、中継サーバと第1の端末との間の接続識別子が付与された第1の接続を用いた通信と、中継サーバと第2の端末との間の接続識別子が付与された第2の接続を用いた通信を、中継サーバにおいてそれぞれ中継することによって実現する。
特開2016−91314号公報 特開2002−300220号公報
しかしながら、特許文献1,2の何れにおいても、端末間の通信を中継するサーバに障害が発生して稼動できなくなると、端末間の通信が継続できなくなってしまうという問題がある。この問題を回避するために、サーバを冗長化させておくことが一般的である。冗長化とは、サーバに何らかの障害が発生した場合に備えて、障害発生後でもシステム全体の機能を維持し続けられるように、予備のサーバを平常時からバックアップとして配置し運用しておくことをいう。
一般に、サーバを冗長化させたシステムを構築して運用するためには、通常の現用系サーバの他に、バックアップのための待機系サーバを備え、現用系サーバと待機系サーバとで情報を共有しておく必要がある。しかしながら、この場合、端末からのリクエストに応じた処理が現用系サーバに集中して負荷が重くなる一方で、待機系サーバのリソースを有効活用できていないという問題があった。また、現用系サーバと待機系サーバとで情報を共有するために、現用系サーバに保存されている情報を待機系サーバに常時コピーして保存させるための処理が必要となり、その処理負荷も更にかかるという問題があった。
本発明は、このような問題を解決するために成されたものであり、冗長化させた各サーバのリソースを有効活用して負荷分散をしつつ、サーバ間で情報を共有することを必要とせずに、中継に使用していたサーバに障害が発生しても端末間の通信を継続できるようにすることを目的とする。
上記した課題を解決するために、本発明のクラウド中継システムは、複数の中継サーバと複数の端末とを備え、第1の端末からm個(m≧2)の中継サーバに接続するとともに、第2の端末からn個(n≧2)の中継サーバに接続し、第1の端末および第2の端末に対して共通に接続された中継サーバの1つを現用中継サーバとして、第1の端末と現用中継サーバとの間の通信および第2の端末と現用中継サーバとの間の通信を中継することにより、端末間のデータ通信を行う。そして、現用中継サーバに障害が発生した場合には、第1の端末および第2の端末において、これらに共通に接続された他の中継サーバを探索して代替中継サーバとし、第1の端末と代替中継サーバとの間の通信および第2の端末と代替中継サーバとの間の通信を中継することにより、端末間のデータ通信を行うようにしている。
上記のように構成した本発明によれば、冗長化させた複数の中継サーバの中から任意に選択された中継サーバを介して端末間のデータ通信が行われるので、複数の組み合わせで端末間のデータ通信が行われるときも、複数の中継サーバがそれらデータ通信の現用中継サーバとして稼動することになる。これにより、1つの中継サーバだけに負荷が集中することはなく、各中継サーバのリソースを有効活用して負荷分散をすることが可能となる。また、現用中継サーバに障害が発生した場合には、他の中継サーバを代替中継サーバとして使用する調整が端末側で行われるので、中継サーバ間で情報を共有することを必要とせずに、データ通信の中継に使用していた中継サーバに障害が発生しても、端末間のデータ通信を継続することができる。
第1の実施形態によるクラウド中継システムの構成例を示す図である。 中継サーバを介して行われる端末間のデータ通信における接続関係の一例を示す図である。 第1の実施形態による中継サーバの機能構成例を示す図である。 第2の実施形態によるクラウド中継システムの構成例を示す図である。 第2の実施形態によるクラウド中継システムの他の構成例を示す図である。
(第1の実施形態)
以下、本発明の一実施形態を図面に基づいて説明する。図1は、第1の実施形態によるクラウド中継システムの構成例を示す図である。第1の実施形態によるクラウド中継システムは、第1の拠点100にある複数の端末CL11,CL12,・・・の何れかと、第2の拠点200にある複数の端末CL21,CL22,・・・の何れかとの間のデータ通信を中継サーバ300が中継するシステムである。第1の拠点100と第2の拠点200と中継サーバ300との間は、インターネット等の通信ネットワーク500で接続されている。
第1の拠点100には、ファイアウォールFW1が設置されており、外部から端末CL11,CL12への接続を阻止するようになされている。すなわち、第2の拠点200内の端末CL21,CL22から接続要求があった場合、ファイアウォールFW1によって拒否される。ただし、第1の拠点100の内部にある端末CL11,CL12から外部の中継サーバ300に対する接続要求はファイアウォールFW1を通過する。そして、いったん端末CL11,CL12と中継サーバ300との間で接続が確立すれば、端末CL11,CL12と中継サーバ300との間で相互にデータ通信を行うことが可能である。
第2の拠点200も同様に、ファイアウォールFW2が設置されており、外部から端末CL21,CL22への接続を阻止するようになされている。すなわち、第1の拠点100内の端末CL11,CL12から接続要求があった場合、ファイアウォールFW2によって拒否される。ただし、第2の拠点200の内部にある端末CL21,CL22から外部の中継サーバ300に対する接続要求はファイアウォールFW2を通過する。そして、いったん端末CL21,CL22と中継サーバ300との間で接続が確立すれば、端末CL21,CL22と中継サーバ300との間で相互にデータ通信を行うことが可能である。
すなわち、第1の実施形態によるクラウド中継システムでは、第1の拠点100内の端末CL11,CL12と中継サーバ300との間のデータ通信と、第2の拠点200内の端末CL21,CL22と中継サーバ300との間のデータ通信とを中継サーバ300が中継することにより、第1の拠点100内の端末CL11,CL12と第2の拠点200内の端末CL21,CL22との間でデータ通信を行うことを可能としている。
第1の実施形態では、複数の中継サーバRS1〜RS4を備えている。これら複数の中継サーバRS1〜RS4は互いに独立しており、何れも現用中継サーバとなる。すなわち、どれか1つのみが現用系サーバで、残りが待機系サーバとして使われるわけではなく、中継サーバRS1〜RS4の何れもが、端末CL11,CL12,CL21,CL22に対して現用中継サーバとなり得る。また、複数の中継サーバRS1〜RS4は、互いの情報を共有することは行っていない。すなわち、中継サーバRS1〜RS4は何れも、自分の保持している情報を他のサーバに常時コピーして保存させるための処理は行っていない。
第1の実施形態では、第1の拠点100内にある複数の端末CL11,CL12,・・・の中の第1の端末から、複数の中継サーバRS1〜RS4の中のm個(m≧2)の中継サーバに接続する。また、第2の拠点100内にある複数の端末CL21,CL22,・・・の中の第2の端末から、複数の中継サーバRS1〜RS4の中のn個(n≧2)の中継サーバに接続する。
このように、第1の端末と中継サーバとの間を1:1で接続するのではなく1:m(m≧2)で接続するとともに、第2の端末と中継サーバとの間を1:1で接続するのではなく1:n(n≧2)で接続するのが、本実施形態の特徴の1つである。なお、m=nであってもよいし、m≠nであってもよい。中継サーバRS1〜RS4はそれぞれ、自分がどの端末と接続しているかを示す接続情報を記憶しておく。
第1の端末が複数の中継サーバRS1〜RS4の中のどれと接続するかは、中継サーバ300において任意に決定する。すなわち、第1の端末から中継サーバ300に対して接続要求があったときに、中継サーバ300が複数の中継サーバRS1〜RS4の中から何れかを任意に選択して接続する。例えば、中継サーバ300がロードバランサ(図示せず)を備え、接続要求があった時点で負荷の小さい中継サーバを選択して接続するようにすることが可能である。あるいは、ランダムに何れかの中継サーバを選択するようにしてもよい。第2の端末から接続要求があったときも同様である。
中継サーバ300では、複数の中継サーバRS1〜RS4のうち、第1の拠点100内の第1の端末および第2の拠点200内の第2の端末に対して共通に接続された中継サーバの1つを現用中継サーバとして、第1の端末と現用中継サーバとの間の通信および第2の端末と現用中継サーバとの間の通信を中継することにより、端末間のデータ通信を行う。
図2は、中継サーバ300を介して行われる端末間のデータ通信における接続関係の一例を示す図である。図2(a)は、第1の端末が第1の拠点100内の端末CL11、第2の端末が第2の拠点200内の端末CL21であると仮定した場合に行われるデータ通信の接続関係を示す図である。また、図2(b)は、第1の端末が第1の拠点100内の端末CL12、第2の端末が第2の拠点200内の端末CL22であると仮定した場合に行われるデータ通信の接続関係を示す図である。
図2(a)の例では、第1の端末CL11は、2つの中継サーバRS2,RS3に接続している。また、第2の端末CL21は、3つの中継サーバRS1〜RS3に接続している。この場合、複数の中継サーバRS1〜RS4のうち、第1の端末CL11および第2の端末CL21に対して共通に接続された中継サーバは、RS2,RS3の2つである。この場合、中継サーバRS2,RS3の何れか一方(例えば、RS2)を現用中継サーバとして、第1の端末CL11と現用中継サーバRS2との間の通信および第2の端末CL21と現用中継サーバRS2との間の通信を中継することにより、端末CL11,CL21間のデータ通信を行う。
ここで、共通に接続された中継サーバが複数ある場合、その中継サーバRS2,RS3の中から何れを現用中継サーバとして用いるかは、中継サーバ300において任意に決定する。例えば、中継サーバ300がロードバランサ(図示せず)を備え、負荷の小さい中継サーバを選択して現用中継サーバとして決定することが可能である。あるいは、ランダムに何れかの中継サーバを選択するようにしてもよい。
図2(b)の例では、第1の端末CL12は、2つの中継サーバRS1,RS3に接続している。また、第2の端末CL22は、2つの中継サーバRS3,RS4に接続している。この場合、複数の中継サーバRS1〜RS4のうち、第1の端末CL12および第2の端末CL22に対して共通に接続された中継サーバは、RS3のみである。この場合は、中継サーバRS3を現用中継サーバとして、第1の端末CL12と現用中継サーバRS3との間の通信および第2の端末CL22と現用中継サーバRS3との間の通信を中継することにより、端末CL12,CL22間のデータ通信を行う。
データ通信の一例として、一方の端末から他方の端末に対してデータ処理のリクエストを送信し、他方の端末がその内部に保持するデータに対してリクエストに応じた処理を実行し、実行結果のデータをリクエスト元である一方の端末に返すといったことも実行可能である。第1の実施形態によれば、第1の拠点100と第2の拠点200との間にVPN(Virtual Private Network)を構築したり専用線を引いたりしなくても、一方の端末から他方の端末をリモート制御して、他方の端末から必要なデータを一方の端末で入手することが可能である。
以上のように、第1の実施形態では、データ通信を行う2つの端末の組み合わせに応じて現用中継サーバが変わる。すなわち、図2(a)のように端末CL11,CL21間でデータ通信を行う場合は中継サーバRS2が現用中継サーバとなり、図2(b)のように端末CL12,CL22間でデータ通信を行う場合は中継サーバRS3が現用中継サーバとなる。すなわち、複数の中継サーバRS1〜RS4は何れも、同時に現用中継サーバとして動作し得る。
以上のようにして決定された現用中継サーバに障害が発生した場合は、第1の端末および第2の端末において、これらに共通に接続された他の中継サーバを探索して代替中継サーバとし、第1の端末と代替中継サーバとの間の通信および第2の端末と代替中継サーバとの間の通信を中継することにより、端末間のデータ通信を行う。
例えば、図2(a)の例において、端末CL11,CL21間のデータ通信に関して現用中継サーバとして動作中の中継サーバRS2に障害が発生したとする。中継サーバRS2に障害が発生すると、第1の端末CL11から中継サーバRS2に送信したアクションに対してレスポンスが返らなくなるので、中継サーバRS2に何らかの障害が発生していることを第1の端末CL11にて検知することが可能である。同様に、中継サーバRS2に何らかの障害が発生していることを第2の端末CL21においても検知することが可能である。
この場合、第1の端末CL11および第2の端末CL21において、これらに共通に接続された他の中継サーバRS3を探索して代替中継サーバとする。具体的には、第1の端末CL11および第2の端末CL21うちリクエスト送信元の端末から、自分が既に接続している中継サーバに対して優先的にリクエストを送信することにより、リクエスト送信先の端末が既に接続されている他の中継サーバを探索し、探索した他の中継サーバを代替中継サーバとして決定する。
例えば、第1の端末CL11がリクエスト送信元の端末で、第2の端末CL21がリクエスト送信先の端末であるとする。この場合、リクエスト送信元の第1の端末CL11は、障害が発生した中継サーバRS2のほかに自分が接続している他の中継サーバRS3に対し、第2の端末CL21に宛てたデータ通信のリクエストを送信する。この場合、中継サーバRS3は、第2の端末CL21に接続されていることを接続情報として記憶しているから、リクエストを受け付ける。これにより、リクエスト送信元の第1の端末CL11は、リクエスト送信先である第2の端末CL21が既に接続されている他の中継サーバRS3を見つけることができる。
中継サーバ300では、このようにして探索された他の中継サーバRS3を代替中継サーバとして決定し、第1の端末CL11と代替中継サーバRS3との間の通信および第2の端末CL21と代替中継サーバRS3との間の通信を中継することにより、端末CL11,CL21間のデータ通信を行う。これにより、現用中継サーバとして動作中であった中継サーバRS2に障害が発生した場合でも、他の中継サーバRS3を代替中継サーバとして、端末CL11,CL21間のデータ通信を継続して行うことができる。
なお、第2の端末CL21がリクエスト送信元の端末で、第1の端末CL11がリクエスト送信先の端末であるとする。この場合、リクエスト送信元の第2の端末CL21は、障害が発生した中継サーバRS2のほかに自分が接続している他の中継サーバRS1に対し、第1の端末CL11に宛てたデータ通信のリクエストを送信する。この場合、中継サーバRS1は、第1の端末CL11に接続されていることを接続情報として記憶していないから、リクエストを拒否し、第2の端末CL21に通知する。
リクエスト拒否の通知を受けた第2の端末CL21は、自分が接続しているもう1つの中継サーバRS3に対し、第1の端末CL11に宛てたデータ通信のリクエストを送信する。この場合、中継サーバRS3は、第1の端末CL11に接続されていることを接続情報として記憶しているから、リクエストを受け付ける。これにより、リクエスト送信元の第2の端末CL21は、リクエスト送信先である第1の端末CL11が既に接続されている他の中継サーバRS3を見つけることができる。
また、図2(b)の例において、端末CL12,CL22間のデータ通信に関して現用中継サーバとして動作中の中継サーバRS3に障害が発生したとする。この場合、第1の端末CL12および第2の端末CL22において、これらに共通に接続された他の中継サーバを探索するが、見つからない。すなわち、第1の端末CL12がリクエスト送信元の端末となる場合は、自分が接続している他の中継サーバRS1からリクエスト拒否の通知を受ける。また、第2の端末CL22がリクエスト送信元の端末となる場合は、自分が接続している他の中継サーバRS4からリクエスト拒否の通知を受ける。
この場合は、リクエスト送信元の端末から中継サーバ300に対して追加の接続を実行する。例えば、第1の端末CL12がリクエスト送信元の端末で、自分が接続している他の中継サーバRS1からリクエスト拒否の通知を受けた場合、第1の端末CL12は、他の中継サーバRS2,RS4のうち何れか一方または両方に対して接続要求を行い、接続する。ここで、第1の端末CL12と中継サーバRS4との間が接続されると、第1の端末CL12から第2の端末CL22に宛てたリクエストが受け付けられるようになる。よって、この中継サーバRS4を代替中継サーバとして、端末CL12,CL22間のデータ通信を継続して行うことが可能となる。
図3は、以上のようなデータ通信を可能とするための中継サーバRS1〜RS4の機能構成例を示す図である。複数の中継サーバRS1〜RS4は何れも、図3に示す機能構成を有している。図3に示すように、第1の実施形態による中継サーバRS1〜RS4は、その機能構成として、接続処理部31および中継処理部32を備えている。また、中継サーバRS1〜RS4は、記憶媒体として、接続情報記憶部33を備えている。
上記各機能ブロック31,32は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック31,32は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
接続処理部31は、複数の端末(第1の拠点100内の端末CL11,CL12,・・・および第2の拠点200内の端末CL21,CL22,・・・)の中のi個(i≧1)の端末から成された接続要求を受け付けて、i個の端末との間にそれぞれ通信を接続する。例えば、図2(a)の場合、中継サーバRS2の接続処理部31は、第1の拠点100内の端末CL11および第2の拠点200内の端末CL21から成された接続要求を受け付けて、これら2個の端末CL11,CL21との間にそれぞれ通信を接続する。
接続情報記憶部33は、接続処理部31により接続された端末の情報を記憶する。すなわち、接続情報記憶部33は、どの端末と接続状態にあるのかを示す接続情報を記憶する。図2(a)に示す例の場合、中継サーバRS2の接続情報記憶部33は、第1の拠点100内の端末CL11および第2の拠点200内の端末CL21と接続状態にあることを示す接続情報を記憶する。
中継処理部32は、接続処理部31により接続されたi個の端末のうち第1の端末との間に接続された通信と、i個の端末のうち第2の端末との間に接続された通信とを中継することにより、第1の端末と第2の端末との間のデータ通信を行う。図2(a)に示す例の場合、中継サーバRS2の中継処理部32は、第1の拠点100内の第1の端末CL11との間に接続された通信と、第2の拠点200内の第2の端末CL21との間に接続された通信とを中継することにより、第1の端末CL11と第2の端末CL21との間のデータ通信を行う。
また、中継処理部32は、他の中継サーバに障害が発生した場合において、当該他の中継サーバと接続されていた端末の1つがi個の端末の中に含まれているとき、他の中継サーバにより行われていた端末間の通信を更に中継する。図2(a)に示す例の場合、中継サーバRS3の中継処理部32は、他の中継サーバRS2に障害が発生した場合において、当該他の中継サーバRS2と接続されていた端末CL11,CL21の両方が、中継サーバRS3に接続されているi個の端末CL11,CL21の中に含まれている。よって、この場合に中継サーバRS3の中継処理部32は、他の中継サーバRS2により行われていた端末CL11,CL21間の通信を引き継いで中継する。
また、図2(b)に示す例の場合、例えば、中継サーバRS4の中継処理部32は、他の中継サーバRS3に障害が発生した場合において、当該他の中継サーバRS3と接続されていた端末CL12,CL22の1つ(端末CL22)が、中継サーバRS3に接続されているi個の端末CL21の中に含まれている。よって、この場合に中継サーバRS4の中継処理部32は、第1の端末CL12から中継サーバRS4に対する追加接続を受け付けた後、他の中継サーバRS3により行われていた端末CL21,CL22間の通信を引き継いで中継する。
以上詳しく説明したように、第1の実施形態によれば、冗長化させた複数の中継サーバRS1〜RS4の中から任意に選択された中継サーバを介して端末間のデータ通信が行われるので、図2(a)や図2(b)のように複数の組み合わせで端末間のデータ通信が行われるときも、複数の中継サーバRS2,RS3がそれらデータ通信の現用中継サーバとして稼動することになる。図2(a)および図2(b)以外の組み合わせで端末間のデータ通信が行われる場合は、他の中継サーバRS1,RS4も現用中継サーバとして稼動することがある。
これにより、1つの中継サーバだけに負荷が集中することはなく、各中継サーバRS1〜RS4のリソースを有効活用して負荷分散をすることが可能となる。また、現用中継サーバに障害が発生した場合には、他の中継サーバを代替中継サーバとして使用する調整が端末側で行われるので、中継サーバRS1〜RS4間で接続情報等を共有することを必要とせずに、データ通信の中継に使用していた中継サーバに障害が発生しても、端末間のデータ通信を継続することができる。また、中継サーバRS1〜RS4間で情報をコピーして共有する処理が不要であるため、必要に応じて中継サーバを増築することも容易に行うことができる。
(第2の実施形態)
次に、本発明の第2の実施形態を図面に基づいて説明する。図4は、第2の実施形態によるクラウド中継システムの構成例を示す図である。なお、この図4において、図1に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
第2の実施形態では、第1の拠点100用の中継サーバ300-1と、第2の拠点200用の中継サーバ300-2とを備えている。第1の拠点100用の中継サーバ300-1には、複数の中継サーバRS1〜RS4のうち一部の中継サーバRS1,RS2が含まれている。第2の拠点200用の中継サーバ300-2には、他の一部の中継サーバRS3,RS4が含まれている。
第2の実施形態において、第1の拠点100内の端末CL11,CL12は、第1の拠点100用の中継サーバRS1,RS2の中の少なくとも1つと、第2の拠点200用の中継サーバRS3,RS4の中の少なくとも1つと接続する。第2の拠点200内の端末CL21,CL22も同様に、第1の拠点100用の中継サーバRS1,RS2の中の少なくとも1つと、第2の拠点200用の中継サーバRS3,RS4の中の少なくとも1つと接続する。
また、第2の実施形態では、端末CL11,CL12,CL21,CL22と中継サーバRS1〜RS4との接続関係を示す接続情報を、第1の拠点100用の中継サーバ300-1と第2の拠点200用の中継サーバ300-2との両方から共通にアクセス可能な接続情報記憶部33’に記憶する。すなわち、第2の実施形態では、図3に示した接続情報記憶部33に代えて接続情報記憶部33’を備える。
図4のように構成した場合、中継サーバ300-1,300-2(中継サーバRS1〜RS4の1つ1つ)に対して、データ通信の中継機能を持たせるだけでなく、端末CL11,CL12,CL21,CL22からのリクエストに応じて所望のデータ処理を行うための機能を持たせるようにすることが可能である。
例えば、中継サーバRS1〜RS4に対し、業務システムなどから蓄積される企業内のデータを分析するBI(Business Intelligence)ツールの機能を持たせることが可能である。具体的には、中継サーバRS1〜RS4は、BIツールの一形態として、ダッシュボードと呼ばれるソフトウェアを実装する。ダッシュボードは、企業を取り巻く様々なデータを社内の端末CL11,CL12,CL21,CL22から取得し、集計演算をしたり、チャートやグラフなどに加工して表示したりすることを主な機能として持つ。
例えば、第1の拠点100が企業の本社、第2の拠点200が企業の工場であったとする。この場合、第1の拠点100用の中継サーバRS1,RS2は、本社の端末CL11,CL12に記憶されているデータを用いて、本社の業務に関するデータの分析処理等を行う。このデータ処理の結果は、本社の端末CL11,CL12に記憶される。また、第2の拠点200用の中継サーバRS3,RS4は、工場の端末CL21,CL22に記憶されているデータを用いて、工場の業務に関するデータの分析処理等を行う。このデータ処理の結果は、工場の端末CL21,CL22に記憶される。
この場合において、例えば本社において工場の分析データが必要になったときは、本社の端末CL11,CL12から工場の端末CL21,CL22をリモート制御して、工場の端末CL21,CL22のデータを用いて中継サーバ300-2(中継サーバRS3,RS4の何れか)において分析した結果を、工場の端末CL21,CL22から中継サーバ300-2を介して本社の端末CL11,CL12にて入手することが可能である。なお、本社の端末CL11,CL12から中継サーバ300-2をリモート制御して、中継サーバ300-2からの指令により工場の端末CL21,CL22にデータ処理を実行させ、その実行結果を工場の端末CL21,CL22から中継サーバ300-2を介して入手するようにすることも可能である。
第2の実施形態において、現用中継サーバに障害が発生した場合の処理は、第1の実施形態と同様とすることが可能である。すなわち、現用中継サーバに障害が発生した場合は、第1の端末および第2の端末において、リクエスト送信元の端末からリクエストを送信して、リクエスト送信先の端末と共通に接続されている他の中継サーバを探索して代替中継サーバとし、第1の端末と代替中継サーバとの間の通信および第2の端末と代替中継サーバとの間の通信を中継することにより、端末間のデータ通信を行う。
この場合、リクエスト送信元の端末からリクエストを送信した中継サーバがリクエスト送信先の端末と接続されていないときは、中継サーバを変えてリクエストを送り直し、リクエスト送信先の端末と接続されている中継サーバが見つかるまでこの処理を繰り返す必要がある。これに対し、第2の実施形態では、複数の中継サーバRS1〜RS4から共通にアクセス可能な接続情報記憶部33’を備えているので、これを利用して、リクエスト送信元の端末とリクエスト送信先の端末とに共通に接続されている中継サーバを、中継サーバ側から端末側に通知するようにしてもよい。
すなわち、現用中継サーバに障害が発生した後、リクエスト送信元の端末から、リクエスト送信先の端末に宛てたリクエストが何れかの中継サーバに送信された場合において、当該リクエストを受信した中継サーバがリクエスト送信先の端末と未接続の場合、当該リクエストを受信した中継サーバは、接続情報記憶部33’に記憶されている接続情報を参照して、リクエスト送信先の端末が既に接続されている他の中継サーバを探索し、探索した他の中継サーバをリクエスト送信元の端末に通知する。
例えば、図2(a)のような接続関係がある状態において、第1の端末CL11と第2の端末CL21とのデータ通信を中継していた現用中継サーバRS2に障害が発生した後、第2の端末CL21から他の中継サーバRS1に対し、第1の端末CL11宛てのリクエストが送信されたとする。この場合、中継サーバRS1は、第1の端末CL11に接続されていることを接続情報として記憶していない。この場合、上述した第1の実施形態では、リクエスト拒否の通知を第2の端末CL21に通知していた。
これに対し、第2の実施形態では、第1の端末CL11宛てのリクエストを受信した中継サーバRS1は、接続情報記憶部33’に記憶されている接続情報を参照して、リクエスト送信先の第1の端末CL11が既に接続されている他の中継サーバRS3を探索し、探索した他の中継サーバRS3をリクエスト送信元の第2の端末CL21に通知する。この場合、当該通知した他の中継サーバRS3を代替中継サーバとして、第1の端末CL11と代替中継サーバRS3との間の通信および第2の端末CL21と代替中継サーバRS3との間の通信を中継することにより、端末CL11,CL21間のデータ通信を行う。
このようにすれば、第1の端末CL11および第2の端末CL21に共通に接続されている他の中継サーバRS3を効率的に探索して代替中継サーバとして決定することができ、中継サーバの切り替えをよりスムーズに行うことが可能となる。
なお、上記第2の実施形態では、中継サーバRS1〜RS4にBIツール等のデータ処理機能を持たせる例について説明したが、本発明はこれに限定されない。例えば、図5に示すように、BIツール等のデータ処理を行うためのサーバ400-1,400-2を中継サーバ300-1,300-2とは別に設けるようにしてもよい。この場合、データ処理サーバ400-1,400-2についても冗長化構成を採るようにしてもよい。
また、上記第1および第2の実施形態では、拠点が2つの例を示したが、拠点が3つ以上ある場合にも同様に適用することが可能である。
その他、上記第1および第2の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
31 接続処理部
32 中継処理部
33,33’ 接続情報記憶部
100 第1の拠点
200 第2の拠点
300 中継サーバ
400 データ処理サーバ
CL11,CL12,CL21,CL22 端末
RS1〜RS4 中継サーバ

Claims (7)

  1. 中継サーバが端末間のデータ通信を中継するシステムであって、
    複数の中継サーバと複数の端末とを備え、
    上記複数の端末の中の第1の端末から、上記複数の中継サーバの中のm個(m≧2)の中継サーバに接続するとともに、上記複数の端末の中の第2の端末から、上記複数の中継サーバの中のn個(n≧2)の中継サーバに接続し、
    上記第1の端末および上記第2の端末に対して共通に接続された中継サーバの1つを現用中継サーバとして、上記第1の端末と上記現用中継サーバとの間の通信および上記第2の端末と上記現用中継サーバとの間の通信を中継することにより、上記端末間のデータ通信を行うようにし、
    上記現用中継サーバに障害が発生した場合、上記第1の端末および上記第2の端末において、これらに共通に接続された他の中継サーバを探索して代替中継サーバとし、上記第1の端末と上記代替中継サーバとの間の通信および上記第2の端末と上記代替中継サーバとの間の通信を中継することにより、上記端末間のデータ通信を行うようにしたことを特徴とするクラウド中継システム。
  2. 上記現用中継サーバに障害が発生した場合、上記第1の端末および上記第2の端末のうちリクエスト送信元の端末から、リクエスト送信先の端末が既に接続されている上記他の中継サーバを探索し、探索した上記他の中継サーバを上記代替中継サーバとして、上記第1の端末と上記代替中継サーバとの間の通信および上記第2の端末と上記代替中継サーバとの間の通信を中継することにより、上記端末間のデータ通信を行うようにしたことを特徴とする請求項1に記載のクラウド中継システム。
  3. 上記複数の中継サーバはそれぞれ、自分がどの端末と接続状態にあるのかを示す接続情報を記憶する接続情報記憶部を備え、
    上記リクエスト送信元の端末から上記リクエスト送信先の端末に宛てたリクエストが上記他の中継サーバに送信された場合、当該リクエストを受信した上記他の中継サーバが上記接続情報記憶部に記憶されている上記接続情報を参照して、上記リクエスト送信先の端末にも接続されていることが確認された場合に、当該リクエストを受信した上記他の中継サーバを上記代替中継サーバとして、上記端末間のデータ通信を行うことを特徴とする請求項2に記載のクラウド中継システム。
  4. 上記複数の中継サーバと上記複数の端末との接続状況を示す接続情報を記憶する接続情報記憶部を備え、
    上記現用中継サーバに障害が発生した後、上記第1の端末および上記第2の端末のうちリクエスト送信元の端末から、リクエスト送信先の端末に宛てたリクエストが何れかの中継サーバに送信された場合において、当該リクエストを受信した中継サーバが上記リクエスト送信先の端末と未接続の場合、当該リクエストを受信した中継サーバは、上記接続情報記憶部に記憶されている上記接続情報を参照して、上記リクエスト送信先の端末が既に接続されている上記他の中継サーバを探索し、探索した上記他の中継サーバを上記リクエスト送信元の端末に通知することにより、当該通知した上記他の中継サーバを上記代替中継サーバとして、上記第1の端末と上記代替中継サーバとの間の通信および上記第2の端末と上記代替中継サーバとの間の通信を中継することにより、上記端末間のデータ通信を行うようにしたことを特徴とする請求項1に記載のクラウド中継システム。
  5. 複数の中継サーバのうち何れかが端末間のデータ通信を中継するようになされたクラウド中継システムに用いられる上記中継サーバであって、
    複数の端末の中のi個(i≧1)の端末から成された接続要求を受け付けて上記i個の端末との間にそれぞれ通信を接続する接続処理部と、
    上記i個の端末のうち第1の端末との間に接続された通信および上記i個の端末のうち第2の端末との間に接続された通信を中継することにより、上記第1の端末と上記第2の端末との間のデータ通信を行う中継処理部とを備え、
    上記中継処理部は、他の中継サーバに障害が発生した場合において、当該他の中継サーバと接続されていた端末の1つが上記i個の端末の中に含まれているとき、上記他の中継サーバにより行われていた端末間の通信を更に中継することを特徴とする中継サーバ。
  6. 自分がどの端末と接続状態にあるのかを示す接続情報を記憶する接続情報記憶部を更に備え、
    上記中継処理部は、上記他の中継サーバに障害が発生した後、上記他の中継サーバと接続されていた端末のうちリクエスト送信元の端末から、リクエスト送信先の端末に宛てたリクエストを受信した場合、上記接続情報記憶部に記憶されている上記接続情報を参照して、上記リクエスト送信先の端末にも接続されていることが確認された場合に、上記端末間の通信を更に中継することを特徴とする請求項5に記載の中継サーバ。
  7. 上記複数の中継サーバと上記複数の端末との接続状況を示す接続情報を記憶する接続情報記憶部を更に備え、
    上記中継処理部は、上記他の中継サーバに障害が発生した後、上記他の中継サーバと接続されていた端末のうちリクエスト送信元の端末から、リクエスト送信先の端末に宛てたリクエストを受信した場合において、当該リクエスト送信先の端末と未接続の場合は、上記接続情報記憶部に記憶されている上記接続情報を参照して、上記リクエスト送信先の端末が既に接続されている更に別の中継サーバを探索し、探索した上記更に別の中継サーバを上記リクエスト送信元の端末に通知することを特徴とする請求項5に記載の中継サーバ。
JP2017029514A 2017-02-20 2017-02-20 クラウド中継システムおよび中継サーバ Active JP6787576B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017029514A JP6787576B2 (ja) 2017-02-20 2017-02-20 クラウド中継システムおよび中継サーバ
US15/880,880 US10742540B2 (en) 2017-02-20 2018-01-26 Cloud relay system and relay server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017029514A JP6787576B2 (ja) 2017-02-20 2017-02-20 クラウド中継システムおよび中継サーバ

Publications (2)

Publication Number Publication Date
JP2018136647A JP2018136647A (ja) 2018-08-30
JP6787576B2 true JP6787576B2 (ja) 2020-11-18

Family

ID=63166672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017029514A Active JP6787576B2 (ja) 2017-02-20 2017-02-20 クラウド中継システムおよび中継サーバ

Country Status (2)

Country Link
US (1) US10742540B2 (ja)
JP (1) JP6787576B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333824B1 (en) * 2013-01-02 2019-06-25 8X8, Inc. Analysis of transmission characteristics in a voice-over-IP network

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4231985B2 (ja) * 2001-01-16 2009-03-04 村田機械株式会社 中継サーバおよび通信システム
US7206088B2 (en) * 2001-01-15 2007-04-17 Murata Kikai Kabushiki Kaisha Relay server, communication system and facsimile system
JP2002222160A (ja) * 2001-01-26 2002-08-09 Fujitsu Ltd 中継装置
JP3743500B2 (ja) 2001-04-03 2006-02-08 村田機械株式会社 中継サーバ
US7197661B1 (en) * 2003-12-05 2007-03-27 F5 Networks, Inc. System and method for dynamic mirroring of a network connection
JP4410082B2 (ja) * 2004-10-15 2010-02-03 株式会社山武 通信中継装置、通信中継方法および通信中継プログラム
JP4425841B2 (ja) * 2005-09-15 2010-03-03 株式会社日立製作所 中継システムおよび呼救済方法
JP2007124487A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 通信制御方法
JP4107676B2 (ja) * 2006-07-21 2008-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション トランザクション引継ぎシステム
US9569319B2 (en) * 2009-09-18 2017-02-14 Alcatel Lucent Methods for improved server redundancy in dynamic networks
US9118733B2 (en) * 2010-05-21 2015-08-25 Skype Multilevel routing
JP6218720B2 (ja) 2014-11-05 2017-10-25 ウイングアーク1st株式会社 データ処理システム、サーバおよびデータ処理管理用プログラム
JP6752440B2 (ja) * 2016-02-09 2020-09-09 富士ゼロックス株式会社 印刷制御装置、印刷システムおよびプログラム

Also Published As

Publication number Publication date
JP2018136647A (ja) 2018-08-30
US10742540B2 (en) 2020-08-11
US20180241662A1 (en) 2018-08-23

Similar Documents

Publication Publication Date Title
CN112840322B (zh) 网络路由环境中的单节点和多节点数据存储库系统
US9659075B2 (en) Providing high availability in an active/active appliance cluster
JP5450547B2 (ja) 自己管理型分散メディエーションネットワーク
CN112929285B (zh) 区块链网络的通信优化系统
US11394800B2 (en) Systems and methods for remote network topology discovery
CN108123901A (zh) 一种报文传输方法和装置
CN105635310A (zh) 一种存储资源的访问方法及装置
US8166100B2 (en) Cross site, cross domain session sharing without database replication
CN109952809B (zh) 四元全网状以维度驱动的网络架构
JP5754504B2 (ja) 管理装置、情報処理装置、情報処理システム及びデータ転送方法
CN109660458B (zh) 一种路由方法及设备
JP6787576B2 (ja) クラウド中継システムおよび中継サーバ
JP5526780B2 (ja) 負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラム
CN109981437B (zh) 一种基于vpc的多数据中心互通方法及相关设备
JP7107789B2 (ja) 情報処理システム、情報処理方法、及び、プログラム
JP6606032B2 (ja) 輻輳通知装置、および、輻輳通知方法
JP2018055226A (ja) クラスタシステム、サーバ、動作方法、及びプログラム
US9019964B2 (en) Methods and systems for routing application traffic
CN110958182B (zh) 一种通信方法及相关设备
JP5669179B2 (ja) 情報処理システム
WO2019181973A1 (ja) ネットワーク制御システム、方法、及び、プログラム
JP6259406B2 (ja) データ管理装置及びデータ管理方法
JP2009015488A (ja) 分散アプリケーションシステム
JP2022035057A (ja) 通信装置、情報処理方法及びプログラム
JP2009128987A (ja) 計算機管理システム、計算機管理方法および計算機管理制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200923

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201022

R150 Certificate of patent or registration of utility model

Ref document number: 6787576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250