特許第6787576号(P6787576)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ウイングアーク1st株式会社の特許一覧

<>
  • 特許6787576-クラウド中継システムおよび中継サーバ 図000002
  • 特許6787576-クラウド中継システムおよび中継サーバ 図000003
  • 特許6787576-クラウド中継システムおよび中継サーバ 図000004
  • 特許6787576-クラウド中継システムおよび中継サーバ 図000005
  • 特許6787576-クラウド中継システムおよび中継サーバ 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6787576
(24)【登録日】2020年11月2日
(45)【発行日】2020年11月18日
(54)【発明の名称】クラウド中継システムおよび中継サーバ
(51)【国際特許分類】
   G06F 11/20 20060101AFI20201109BHJP
   G06F 13/00 20060101ALI20201109BHJP
【FI】
   G06F11/20 602
   G06F13/00 520C
【請求項の数】7
【全頁数】14
(21)【出願番号】特願2017-29514(P2017-29514)
(22)【出願日】2017年2月20日
(65)【公開番号】特開2018-136647(P2018-136647A)
(43)【公開日】2018年8月30日
【審査請求日】2019年11月25日
(73)【特許権者】
【識別番号】316013389
【氏名又は名称】ウイングアーク1st株式会社
(74)【代理人】
【識別番号】100105784
【弁理士】
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】島澤 甲
(72)【発明者】
【氏名】渡辺 博憲
【審査官】 清木 泰
(56)【参考文献】
【文献】 特開2006−115260(JP,A)
【文献】 特開2002−217938(JP,A)
【文献】 特開2007−81933(JP,A)
【文献】 特開2007−124487(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F11/16−11/20
G06F13/00
G06F15/16−15/177
H04L12/00−12/955
H04L29/00−29/12
H04L13/02−13/18
H04W84/12
H04W 8/26
H04W28/02
H04W24/00
H04W72/04
H04W74/04
H04W74/08
H04W88/08
(57)【特許請求の範囲】
【請求項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に記載の中継サーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラウド中継システムおよび中継サーバに関し、特に、中継サーバが端末間のデータ通信を中継するシステムに用いて好適なものである。
【背景技術】
【0002】
近年では、オンプレミスだったかつての情報システムに代わり、クラウドコンピューティングの運用形態が広く用いられるようになってきている。クラウドコンピューティングによれば、インターネットに接続されたサーバファームなど、外部のリソースをオンデマンドで活用することが可能となる。
【0003】
クラウドコンピューティングの多くの形態は、クライアント端末からインターネットを介してサーバにアクセスし、当該サーバが提供するサービスをクライアント端末で受けるといったものである。これに対し、インターネットを介して端末間を接続して通信するようにした形態もある。後者の形態によれば、ある端末に記憶されているデータを別の端末からのリクエストに応じて処理することが可能である。例えば、社外端末からサーバに与えられるリクエストに応じて、サーバが社内端末からデータを取得して処理し、そのデータ処理の結果をリクエスト元の社外端末に提供することが可能である。
【0004】
この種のシステムにおいて、リクエストを出してからデータ処理の結果を得るまでのレスポンス時間を短縮化できるようにしたシステムも知られている(例えば、特許文献1参照)。この特許文献1に記載のデータ処理システムでは、サーバが端末からデータ処理に関するリクエストを受信した場合、リクエストに応じたデータ処理を実行するために必要な元データを別の端末からサーバに送信することに代えて、別の端末にリクエストを送信してデータ処理を実行させ、当該別の端末において実行されたデータ処理の結果をサーバが受信してリクエスト元の端末に提供するようにしている。これにより、別の端末からサーバに送信するデータ量を少なくし、データ送信にかかる時間を短縮できるようにしている。
【0005】
さらに、端末間を接続して通信する形態の一例として、ファイアウォールを超えて、インターネットからローカルシステム内のネットワーク装置への通信、あるいは異なるローカルシステム内のネットワーク装置間の通信を実現するとともに、それぞれのネットワーク機器と中継サーバとの接続が複数存在する場合でも、各接続を正常に識別可能にすることを目的とした通信システムが知られている(例えば、特許文献2参照)。
【0006】
特許文献2に記載の通信システムでは、一のローカルシステム内の第1の端末が中継サーバにログインすると、そのときの第1の接続に対して一意の接続識別子を付与し、返送する。同様に、別のローカルシステム内の第2の端末が中継サーバにログインすると、そのときの第2の接続に対して一意の接続識別子を付与し、返送する。第1の端末と第2の端末との通信は、中継サーバと第1の端末との間の接続識別子が付与された第1の接続を用いた通信と、中継サーバと第2の端末との間の接続識別子が付与された第2の接続を用いた通信を、中継サーバにおいてそれぞれ中継することによって実現する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2016−91314号公報
【特許文献2】特開2002−300220号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1,2の何れにおいても、端末間の通信を中継するサーバに障害が発生して稼動できなくなると、端末間の通信が継続できなくなってしまうという問題がある。この問題を回避するために、サーバを冗長化させておくことが一般的である。冗長化とは、サーバに何らかの障害が発生した場合に備えて、障害発生後でもシステム全体の機能を維持し続けられるように、予備のサーバを平常時からバックアップとして配置し運用しておくことをいう。
【0009】
一般に、サーバを冗長化させたシステムを構築して運用するためには、通常の現用系サーバの他に、バックアップのための待機系サーバを備え、現用系サーバと待機系サーバとで情報を共有しておく必要がある。しかしながら、この場合、端末からのリクエストに応じた処理が現用系サーバに集中して負荷が重くなる一方で、待機系サーバのリソースを有効活用できていないという問題があった。また、現用系サーバと待機系サーバとで情報を共有するために、現用系サーバに保存されている情報を待機系サーバに常時コピーして保存させるための処理が必要となり、その処理負荷も更にかかるという問題があった。
【0010】
本発明は、このような問題を解決するために成されたものであり、冗長化させた各サーバのリソースを有効活用して負荷分散をしつつ、サーバ間で情報を共有することを必要とせずに、中継に使用していたサーバに障害が発生しても端末間の通信を継続できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
上記した課題を解決するために、本発明のクラウド中継システムは、複数の中継サーバと複数の端末とを備え、第1の端末からm個(m≧2)の中継サーバに接続するとともに、第2の端末からn個(n≧2)の中継サーバに接続し、第1の端末および第2の端末に対して共通に接続された中継サーバの1つを現用中継サーバとして、第1の端末と現用中継サーバとの間の通信および第2の端末と現用中継サーバとの間の通信を中継することにより、端末間のデータ通信を行う。そして、現用中継サーバに障害が発生した場合には、第1の端末および第2の端末において、これらに共通に接続された他の中継サーバを探索して代替中継サーバとし、第1の端末と代替中継サーバとの間の通信および第2の端末と代替中継サーバとの間の通信を中継することにより、端末間のデータ通信を行うようにしている。
【発明の効果】
【0012】
上記のように構成した本発明によれば、冗長化させた複数の中継サーバの中から任意に選択された中継サーバを介して端末間のデータ通信が行われるので、複数の組み合わせで端末間のデータ通信が行われるときも、複数の中継サーバがそれらデータ通信の現用中継サーバとして稼動することになる。これにより、1つの中継サーバだけに負荷が集中することはなく、各中継サーバのリソースを有効活用して負荷分散をすることが可能となる。また、現用中継サーバに障害が発生した場合には、他の中継サーバを代替中継サーバとして使用する調整が端末側で行われるので、中継サーバ間で情報を共有することを必要とせずに、データ通信の中継に使用していた中継サーバに障害が発生しても、端末間のデータ通信を継続することができる。
【図面の簡単な説明】
【0013】
図1】第1の実施形態によるクラウド中継システムの構成例を示す図である。
図2】中継サーバを介して行われる端末間のデータ通信における接続関係の一例を示す図である。
図3】第1の実施形態による中継サーバの機能構成例を示す図である。
図4】第2の実施形態によるクラウド中継システムの構成例を示す図である。
図5】第2の実施形態によるクラウド中継システムの他の構成例を示す図である。
【発明を実施するための形態】
【0014】
(第1の実施形態)
以下、本発明の一実施形態を図面に基づいて説明する。図1は、第1の実施形態によるクラウド中継システムの構成例を示す図である。第1の実施形態によるクラウド中継システムは、第1の拠点100にある複数の端末CL11,CL12,・・・の何れかと、第2の拠点200にある複数の端末CL21,CL22,・・・の何れかとの間のデータ通信を中継サーバ300が中継するシステムである。第1の拠点100と第2の拠点200と中継サーバ300との間は、インターネット等の通信ネットワーク500で接続されている。
【0015】
第1の拠点100には、ファイアウォールFW1が設置されており、外部から端末CL11,CL12への接続を阻止するようになされている。すなわち、第2の拠点200内の端末CL21,CL22から接続要求があった場合、ファイアウォールFW1によって拒否される。ただし、第1の拠点100の内部にある端末CL11,CL12から外部の中継サーバ300に対する接続要求はファイアウォールFW1を通過する。そして、いったん端末CL11,CL12と中継サーバ300との間で接続が確立すれば、端末CL11,CL12と中継サーバ300との間で相互にデータ通信を行うことが可能である。
【0016】
第2の拠点200も同様に、ファイアウォールFW2が設置されており、外部から端末CL21,CL22への接続を阻止するようになされている。すなわち、第1の拠点100内の端末CL11,CL12から接続要求があった場合、ファイアウォールFW2によって拒否される。ただし、第2の拠点200の内部にある端末CL21,CL22から外部の中継サーバ300に対する接続要求はファイアウォールFW2を通過する。そして、いったん端末CL21,CL22と中継サーバ300との間で接続が確立すれば、端末CL21,CL22と中継サーバ300との間で相互にデータ通信を行うことが可能である。
【0017】
すなわち、第1の実施形態によるクラウド中継システムでは、第1の拠点100内の端末CL11,CL12と中継サーバ300との間のデータ通信と、第2の拠点200内の端末CL21,CL22と中継サーバ300との間のデータ通信とを中継サーバ300が中継することにより、第1の拠点100内の端末CL11,CL12と第2の拠点200内の端末CL21,CL22との間でデータ通信を行うことを可能としている。
【0018】
第1の実施形態では、複数の中継サーバRS1〜RS4を備えている。これら複数の中継サーバRS1〜RS4は互いに独立しており、何れも現用中継サーバとなる。すなわち、どれか1つのみが現用系サーバで、残りが待機系サーバとして使われるわけではなく、中継サーバRS1〜RS4の何れもが、端末CL11,CL12,CL21,CL22に対して現用中継サーバとなり得る。また、複数の中継サーバRS1〜RS4は、互いの情報を共有することは行っていない。すなわち、中継サーバRS1〜RS4は何れも、自分の保持している情報を他のサーバに常時コピーして保存させるための処理は行っていない。
【0019】
第1の実施形態では、第1の拠点100内にある複数の端末CL11,CL12,・・・の中の第1の端末から、複数の中継サーバRS1〜RS4の中のm個(m≧2)の中継サーバに接続する。また、第2の拠点100内にある複数の端末CL21,CL22,・・・の中の第2の端末から、複数の中継サーバRS1〜RS4の中のn個(n≧2)の中継サーバに接続する。
【0020】
このように、第1の端末と中継サーバとの間を1:1で接続するのではなく1:m(m≧2)で接続するとともに、第2の端末と中継サーバとの間を1:1で接続するのではなく1:n(n≧2)で接続するのが、本実施形態の特徴の1つである。なお、m=nであってもよいし、m≠nであってもよい。中継サーバRS1〜RS4はそれぞれ、自分がどの端末と接続しているかを示す接続情報を記憶しておく。
【0021】
第1の端末が複数の中継サーバRS1〜RS4の中のどれと接続するかは、中継サーバ300において任意に決定する。すなわち、第1の端末から中継サーバ300に対して接続要求があったときに、中継サーバ300が複数の中継サーバRS1〜RS4の中から何れかを任意に選択して接続する。例えば、中継サーバ300がロードバランサ(図示せず)を備え、接続要求があった時点で負荷の小さい中継サーバを選択して接続するようにすることが可能である。あるいは、ランダムに何れかの中継サーバを選択するようにしてもよい。第2の端末から接続要求があったときも同様である。
【0022】
中継サーバ300では、複数の中継サーバRS1〜RS4のうち、第1の拠点100内の第1の端末および第2の拠点200内の第2の端末に対して共通に接続された中継サーバの1つを現用中継サーバとして、第1の端末と現用中継サーバとの間の通信および第2の端末と現用中継サーバとの間の通信を中継することにより、端末間のデータ通信を行う。
【0023】
図2は、中継サーバ300を介して行われる端末間のデータ通信における接続関係の一例を示す図である。図2(a)は、第1の端末が第1の拠点100内の端末CL11、第2の端末が第2の拠点200内の端末CL21であると仮定した場合に行われるデータ通信の接続関係を示す図である。また、図2(b)は、第1の端末が第1の拠点100内の端末CL12、第2の端末が第2の拠点200内の端末CL22であると仮定した場合に行われるデータ通信の接続関係を示す図である。
【0024】
図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間のデータ通信を行う。
【0025】
ここで、共通に接続された中継サーバが複数ある場合、その中継サーバRS2,RS3の中から何れを現用中継サーバとして用いるかは、中継サーバ300において任意に決定する。例えば、中継サーバ300がロードバランサ(図示せず)を備え、負荷の小さい中継サーバを選択して現用中継サーバとして決定することが可能である。あるいは、ランダムに何れかの中継サーバを選択するようにしてもよい。
【0026】
図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間のデータ通信を行う。
【0027】
データ通信の一例として、一方の端末から他方の端末に対してデータ処理のリクエストを送信し、他方の端末がその内部に保持するデータに対してリクエストに応じた処理を実行し、実行結果のデータをリクエスト元である一方の端末に返すといったことも実行可能である。第1の実施形態によれば、第1の拠点100と第2の拠点200との間にVPN(Virtual Private Network)を構築したり専用線を引いたりしなくても、一方の端末から他方の端末をリモート制御して、他方の端末から必要なデータを一方の端末で入手することが可能である。
【0028】
以上のように、第1の実施形態では、データ通信を行う2つの端末の組み合わせに応じて現用中継サーバが変わる。すなわち、図2(a)のように端末CL11,CL21間でデータ通信を行う場合は中継サーバRS2が現用中継サーバとなり、図2(b)のように端末CL12,CL22間でデータ通信を行う場合は中継サーバRS3が現用中継サーバとなる。すなわち、複数の中継サーバRS1〜RS4は何れも、同時に現用中継サーバとして動作し得る。
【0029】
以上のようにして決定された現用中継サーバに障害が発生した場合は、第1の端末および第2の端末において、これらに共通に接続された他の中継サーバを探索して代替中継サーバとし、第1の端末と代替中継サーバとの間の通信および第2の端末と代替中継サーバとの間の通信を中継することにより、端末間のデータ通信を行う。
【0030】
例えば、図2(a)の例において、端末CL11,CL21間のデータ通信に関して現用中継サーバとして動作中の中継サーバRS2に障害が発生したとする。中継サーバRS2に障害が発生すると、第1の端末CL11から中継サーバRS2に送信したアクションに対してレスポンスが返らなくなるので、中継サーバRS2に何らかの障害が発生していることを第1の端末CL11にて検知することが可能である。同様に、中継サーバRS2に何らかの障害が発生していることを第2の端末CL21においても検知することが可能である。
【0031】
この場合、第1の端末CL11および第2の端末CL21において、これらに共通に接続された他の中継サーバRS3を探索して代替中継サーバとする。具体的には、第1の端末CL11および第2の端末CL21うちリクエスト送信元の端末から、自分が既に接続している中継サーバに対して優先的にリクエストを送信することにより、リクエスト送信先の端末が既に接続されている他の中継サーバを探索し、探索した他の中継サーバを代替中継サーバとして決定する。
【0032】
例えば、第1の端末CL11がリクエスト送信元の端末で、第2の端末CL21がリクエスト送信先の端末であるとする。この場合、リクエスト送信元の第1の端末CL11は、障害が発生した中継サーバRS2のほかに自分が接続している他の中継サーバRS3に対し、第2の端末CL21に宛てたデータ通信のリクエストを送信する。この場合、中継サーバRS3は、第2の端末CL21に接続されていることを接続情報として記憶しているから、リクエストを受け付ける。これにより、リクエスト送信元の第1の端末CL11は、リクエスト送信先である第2の端末CL21が既に接続されている他の中継サーバRS3を見つけることができる。
【0033】
中継サーバ300では、このようにして探索された他の中継サーバRS3を代替中継サーバとして決定し、第1の端末CL11と代替中継サーバRS3との間の通信および第2の端末CL21と代替中継サーバRS3との間の通信を中継することにより、端末CL11,CL21間のデータ通信を行う。これにより、現用中継サーバとして動作中であった中継サーバRS2に障害が発生した場合でも、他の中継サーバRS3を代替中継サーバとして、端末CL11,CL21間のデータ通信を継続して行うことができる。
【0034】
なお、第2の端末CL21がリクエスト送信元の端末で、第1の端末CL11がリクエスト送信先の端末であるとする。この場合、リクエスト送信元の第2の端末CL21は、障害が発生した中継サーバRS2のほかに自分が接続している他の中継サーバRS1に対し、第1の端末CL11に宛てたデータ通信のリクエストを送信する。この場合、中継サーバRS1は、第1の端末CL11に接続されていることを接続情報として記憶していないから、リクエストを拒否し、第2の端末CL21に通知する。
【0035】
リクエスト拒否の通知を受けた第2の端末CL21は、自分が接続しているもう1つの中継サーバRS3に対し、第1の端末CL11に宛てたデータ通信のリクエストを送信する。この場合、中継サーバRS3は、第1の端末CL11に接続されていることを接続情報として記憶しているから、リクエストを受け付ける。これにより、リクエスト送信元の第2の端末CL21は、リクエスト送信先である第1の端末CL11が既に接続されている他の中継サーバRS3を見つけることができる。
【0036】
また、図2(b)の例において、端末CL12,CL22間のデータ通信に関して現用中継サーバとして動作中の中継サーバRS3に障害が発生したとする。この場合、第1の端末CL12および第2の端末CL22において、これらに共通に接続された他の中継サーバを探索するが、見つからない。すなわち、第1の端末CL12がリクエスト送信元の端末となる場合は、自分が接続している他の中継サーバRS1からリクエスト拒否の通知を受ける。また、第2の端末CL22がリクエスト送信元の端末となる場合は、自分が接続している他の中継サーバRS4からリクエスト拒否の通知を受ける。
【0037】
この場合は、リクエスト送信元の端末から中継サーバ300に対して追加の接続を実行する。例えば、第1の端末CL12がリクエスト送信元の端末で、自分が接続している他の中継サーバRS1からリクエスト拒否の通知を受けた場合、第1の端末CL12は、他の中継サーバRS2,RS4のうち何れか一方または両方に対して接続要求を行い、接続する。ここで、第1の端末CL12と中継サーバRS4との間が接続されると、第1の端末CL12から第2の端末CL22に宛てたリクエストが受け付けられるようになる。よって、この中継サーバRS4を代替中継サーバとして、端末CL12,CL22間のデータ通信を継続して行うことが可能となる。
【0038】
図3は、以上のようなデータ通信を可能とするための中継サーバRS1〜RS4の機能構成例を示す図である。複数の中継サーバRS1〜RS4は何れも、図3に示す機能構成を有している。図3に示すように、第1の実施形態による中継サーバRS1〜RS4は、その機能構成として、接続処理部31および中継処理部32を備えている。また、中継サーバRS1〜RS4は、記憶媒体として、接続情報記憶部33を備えている。
【0039】
上記各機能ブロック31,32は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック31,32は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0040】
接続処理部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との間にそれぞれ通信を接続する。
【0041】
接続情報記憶部33は、接続処理部31により接続された端末の情報を記憶する。すなわち、接続情報記憶部33は、どの端末と接続状態にあるのかを示す接続情報を記憶する。図2(a)に示す例の場合、中継サーバRS2の接続情報記憶部33は、第1の拠点100内の端末CL11および第2の拠点200内の端末CL21と接続状態にあることを示す接続情報を記憶する。
【0042】
中継処理部32は、接続処理部31により接続されたi個の端末のうち第1の端末との間に接続された通信と、i個の端末のうち第2の端末との間に接続された通信とを中継することにより、第1の端末と第2の端末との間のデータ通信を行う。図2(a)に示す例の場合、中継サーバRS2の中継処理部32は、第1の拠点100内の第1の端末CL11との間に接続された通信と、第2の拠点200内の第2の端末CL21との間に接続された通信とを中継することにより、第1の端末CL11と第2の端末CL21との間のデータ通信を行う。
【0043】
また、中継処理部32は、他の中継サーバに障害が発生した場合において、当該他の中継サーバと接続されていた端末の1つがi個の端末の中に含まれているとき、他の中継サーバにより行われていた端末間の通信を更に中継する。図2(a)に示す例の場合、中継サーバRS3の中継処理部32は、他の中継サーバRS2に障害が発生した場合において、当該他の中継サーバRS2と接続されていた端末CL11,CL21の両方が、中継サーバRS3に接続されているi個の端末CL11,CL21の中に含まれている。よって、この場合に中継サーバRS3の中継処理部32は、他の中継サーバRS2により行われていた端末CL11,CL21間の通信を引き継いで中継する。
【0044】
また、図2(b)に示す例の場合、例えば、中継サーバRS4の中継処理部32は、他の中継サーバRS3に障害が発生した場合において、当該他の中継サーバRS3と接続されていた端末CL12,CL22の1つ(端末CL22)が、中継サーバRS3に接続されているi個の端末CL21の中に含まれている。よって、この場合に中継サーバRS4の中継処理部32は、第1の端末CL12から中継サーバRS4に対する追加接続を受け付けた後、他の中継サーバRS3により行われていた端末CL21,CL22間の通信を引き継いで中継する。
【0045】
以上詳しく説明したように、第1の実施形態によれば、冗長化させた複数の中継サーバRS1〜RS4の中から任意に選択された中継サーバを介して端末間のデータ通信が行われるので、図2(a)や図2(b)のように複数の組み合わせで端末間のデータ通信が行われるときも、複数の中継サーバRS2,RS3がそれらデータ通信の現用中継サーバとして稼動することになる。図2(a)および図2(b)以外の組み合わせで端末間のデータ通信が行われる場合は、他の中継サーバRS1,RS4も現用中継サーバとして稼動することがある。
【0046】
これにより、1つの中継サーバだけに負荷が集中することはなく、各中継サーバRS1〜RS4のリソースを有効活用して負荷分散をすることが可能となる。また、現用中継サーバに障害が発生した場合には、他の中継サーバを代替中継サーバとして使用する調整が端末側で行われるので、中継サーバRS1〜RS4間で接続情報等を共有することを必要とせずに、データ通信の中継に使用していた中継サーバに障害が発生しても、端末間のデータ通信を継続することができる。また、中継サーバRS1〜RS4間で情報をコピーして共有する処理が不要であるため、必要に応じて中継サーバを増築することも容易に行うことができる。
【0047】
(第2の実施形態)
次に、本発明の第2の実施形態を図面に基づいて説明する。図4は、第2の実施形態によるクラウド中継システムの構成例を示す図である。なお、この図4において、図1に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。
【0048】
第2の実施形態では、第1の拠点100用の中継サーバ300-1と、第2の拠点200用の中継サーバ300-2とを備えている。第1の拠点100用の中継サーバ300-1には、複数の中継サーバRS1〜RS4のうち一部の中継サーバRS1,RS2が含まれている。第2の拠点200用の中継サーバ300-2には、他の一部の中継サーバRS3,RS4が含まれている。
【0049】
第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つと接続する。
【0050】
また、第2の実施形態では、端末CL11,CL12,CL21,CL22と中継サーバRS1〜RS4との接続関係を示す接続情報を、第1の拠点100用の中継サーバ300-1と第2の拠点200用の中継サーバ300-2との両方から共通にアクセス可能な接続情報記憶部33’に記憶する。すなわち、第2の実施形態では、図3に示した接続情報記憶部33に代えて接続情報記憶部33’を備える。
【0051】
図4のように構成した場合、中継サーバ300-1,300-2(中継サーバRS1〜RS4の1つ1つ)に対して、データ通信の中継機能を持たせるだけでなく、端末CL11,CL12,CL21,CL22からのリクエストに応じて所望のデータ処理を行うための機能を持たせるようにすることが可能である。
【0052】
例えば、中継サーバRS1〜RS4に対し、業務システムなどから蓄積される企業内のデータを分析するBI(Business Intelligence)ツールの機能を持たせることが可能である。具体的には、中継サーバRS1〜RS4は、BIツールの一形態として、ダッシュボードと呼ばれるソフトウェアを実装する。ダッシュボードは、企業を取り巻く様々なデータを社内の端末CL11,CL12,CL21,CL22から取得し、集計演算をしたり、チャートやグラフなどに加工して表示したりすることを主な機能として持つ。
【0053】
例えば、第1の拠点100が企業の本社、第2の拠点200が企業の工場であったとする。この場合、第1の拠点100用の中継サーバRS1,RS2は、本社の端末CL11,CL12に記憶されているデータを用いて、本社の業務に関するデータの分析処理等を行う。このデータ処理の結果は、本社の端末CL11,CL12に記憶される。また、第2の拠点200用の中継サーバRS3,RS4は、工場の端末CL21,CL22に記憶されているデータを用いて、工場の業務に関するデータの分析処理等を行う。このデータ処理の結果は、工場の端末CL21,CL22に記憶される。
【0054】
この場合において、例えば本社において工場の分析データが必要になったときは、本社の端末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を介して入手するようにすることも可能である。
【0055】
第2の実施形態において、現用中継サーバに障害が発生した場合の処理は、第1の実施形態と同様とすることが可能である。すなわち、現用中継サーバに障害が発生した場合は、第1の端末および第2の端末において、リクエスト送信元の端末からリクエストを送信して、リクエスト送信先の端末と共通に接続されている他の中継サーバを探索して代替中継サーバとし、第1の端末と代替中継サーバとの間の通信および第2の端末と代替中継サーバとの間の通信を中継することにより、端末間のデータ通信を行う。
【0056】
この場合、リクエスト送信元の端末からリクエストを送信した中継サーバがリクエスト送信先の端末と接続されていないときは、中継サーバを変えてリクエストを送り直し、リクエスト送信先の端末と接続されている中継サーバが見つかるまでこの処理を繰り返す必要がある。これに対し、第2の実施形態では、複数の中継サーバRS1〜RS4から共通にアクセス可能な接続情報記憶部33’を備えているので、これを利用して、リクエスト送信元の端末とリクエスト送信先の端末とに共通に接続されている中継サーバを、中継サーバ側から端末側に通知するようにしてもよい。
【0057】
すなわち、現用中継サーバに障害が発生した後、リクエスト送信元の端末から、リクエスト送信先の端末に宛てたリクエストが何れかの中継サーバに送信された場合において、当該リクエストを受信した中継サーバがリクエスト送信先の端末と未接続の場合、当該リクエストを受信した中継サーバは、接続情報記憶部33’に記憶されている接続情報を参照して、リクエスト送信先の端末が既に接続されている他の中継サーバを探索し、探索した他の中継サーバをリクエスト送信元の端末に通知する。
【0058】
例えば、図2(a)のような接続関係がある状態において、第1の端末CL11と第2の端末CL21とのデータ通信を中継していた現用中継サーバRS2に障害が発生した後、第2の端末CL21から他の中継サーバRS1に対し、第1の端末CL11宛てのリクエストが送信されたとする。この場合、中継サーバRS1は、第1の端末CL11に接続されていることを接続情報として記憶していない。この場合、上述した第1の実施形態では、リクエスト拒否の通知を第2の端末CL21に通知していた。
【0059】
これに対し、第2の実施形態では、第1の端末CL11宛てのリクエストを受信した中継サーバRS1は、接続情報記憶部33’に記憶されている接続情報を参照して、リクエスト送信先の第1の端末CL11が既に接続されている他の中継サーバRS3を探索し、探索した他の中継サーバRS3をリクエスト送信元の第2の端末CL21に通知する。この場合、当該通知した他の中継サーバRS3を代替中継サーバとして、第1の端末CL11と代替中継サーバRS3との間の通信および第2の端末CL21と代替中継サーバRS3との間の通信を中継することにより、端末CL11,CL21間のデータ通信を行う。
【0060】
このようにすれば、第1の端末CL11および第2の端末CL21に共通に接続されている他の中継サーバRS3を効率的に探索して代替中継サーバとして決定することができ、中継サーバの切り替えをよりスムーズに行うことが可能となる。
【0061】
なお、上記第2の実施形態では、中継サーバRS1〜RS4にBIツール等のデータ処理機能を持たせる例について説明したが、本発明はこれに限定されない。例えば、図5に示すように、BIツール等のデータ処理を行うためのサーバ400-1,400-2を中継サーバ300-1,300-2とは別に設けるようにしてもよい。この場合、データ処理サーバ400-1,400-2についても冗長化構成を採るようにしてもよい。
【0062】
また、上記第1および第2の実施形態では、拠点が2つの例を示したが、拠点が3つ以上ある場合にも同様に適用することが可能である。
【0063】
その他、上記第1および第2の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0064】
31 接続処理部
32 中継処理部
33,33’ 接続情報記憶部
100 第1の拠点
200 第2の拠点
300 中継サーバ
400 データ処理サーバ
CL11,CL12,CL21,CL22 端末
RS1〜RS4 中継サーバ
図1
図2
図3
図4
図5