JP2016197281A - サービス冗長化方法、情報処理装置、及びプログラム - Google Patents

サービス冗長化方法、情報処理装置、及びプログラム Download PDF

Info

Publication number
JP2016197281A
JP2016197281A JP2015075852A JP2015075852A JP2016197281A JP 2016197281 A JP2016197281 A JP 2016197281A JP 2015075852 A JP2015075852 A JP 2015075852A JP 2015075852 A JP2015075852 A JP 2015075852A JP 2016197281 A JP2016197281 A JP 2016197281A
Authority
JP
Japan
Prior art keywords
terminal
service
information
server
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015075852A
Other languages
English (en)
Inventor
西口 直樹
Naoki Nishiguchi
直樹 西口
藤井 彰
Akira Fujii
彰 藤井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015075852A priority Critical patent/JP2016197281A/ja
Priority to EP16158123.6A priority patent/EP3076635B1/en
Priority to US15/074,642 priority patent/US20160292252A1/en
Publication of JP2016197281A publication Critical patent/JP2016197281A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Hardware Redundancy (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】サービスの冗長化の効率性を向上させること。
【解決手段】情報処理装置が、当該情報処理装置に無線通信を介して接続された端末が検出した、無線通信網ごとの識別情報を受信し、受信された識別情報に対応付く、当該情報処理装置と異なる情報処理装置を、当該情報処理装置が前記端末に対して提供するサービスの代替先に決定し、前記端末による前記サービスの利用の開始に応じ、決定された代替先に前記サービスを冗長化し、代替先に決定された情報処理装置を示す情報を、前記端末に送信する処理を実行し、前記端末は、当該情報処理装置を利用できない場合には、前記代替先の情報処理装置に接続する。
【選択図】図11

Description

本発明は、サービス冗長化方法、情報処理装置、及びプログラムに関する。
ハードウェアを冗長化させ、ハードウェアが故障しても冗長化されたハードウェアに切り替えることで、サービスを継続することが、大規模なサーバでは行われている。また、ソフトウェアでは、サーバ間でサービスを冗長化し、サービスの状態を同期することで、サーバの故障時にサーバを切替えてサービスを継続することが行われている。
特開2014−112908号公報 特開2007−11569号公報
しかしながら、ハードウェアの冗長化は高価であるため、現場毎に設置するような小型のサーバへの搭載は難しい。また、ソフトウェアの冗長化においては、サービスへのアクセスがあるごとに、サービスの冗長化の多重度に応じた同期処理が必要とされる。したがって、常にサービスを冗長化するようにサーバを構成すると、サービスの提供に必要な性能以上の性能が、サーバに求められる。更に、冗長化するサーバは、利用されるか否かにかかわらず、固定的に用意される必要が有るため、冗長化のためのシステム構成が非効率である。
そこで、本発明は、一側面では、サービスの冗長化の効率性を向上させることを目的とする。
一つの案では、サービス冗長化方法は、情報処理装置が、当該情報処理装置に無線通信を介して接続された端末が検出した、無線通信網ごとの識別情報を受信し、受信された識別情報に対応付く、当該情報処理装置と異なる情報処理装置を、当該情報処理装置が前記端末に対して提供するサービスの代替先に決定し、前記端末による前記サービスの利用の開始に応じ、決定された代替先に前記サービスを冗長化し、代替先に決定された情報処理装置を示す情報を、前記端末に送信する処理を実行し、前記端末は、当該情報処理装置を利用できない場合には、前記代替先の情報処理装置に接続する。
一側面によれば、サービスの冗長化の効率性を向上させることを目的とする。
本発明の実施の形態におけるシステム構成例を示す図である。 初期状態を示す図である。 或る端末が或るサーバに接続した際に実行される処理を説明するための図である。 別の端末が同じサーバへ接続した際に実行される処理を説明するための図である。 更に別の端末が同じサーバへ接続した際に実行される処理を説明するための図である。 接続先のサーバが故障せずにサービス11が正常に提供されている状態を示す図である。 一部の端末がサーバとの接続を切断した場合に実行される処理を説明するための図である。 全ての端末がサーバとの接続を切断した場合に実行される処理を説明するための図である。 接続先のサーバが故障した場合に実行される処理を説明するための図である。 本発明の実施の形態におけるサーバのハードウェア構成例を示す図である。 本発明の実施の形態における端末及びサーバの機能構成例を示す図である。 接続管理部がサーバへの接続時に実行する処理手順の一例を説明するためのフローチャートである。 接続先情報の構成例を示す図である。 接続管理部が接続要求の送信後に実行する処理手順の一例を説明するためのフローチャートである。 アプリ接続先記憶部の構成例を示す図である。 故障時接続先情報の構成例を示す図である。 プロキシ部が実行する処理手順の一例を説明するためのフローチャートである。 アプリ情報記憶部の構成例を示す図である。 端末接続管理部が実行する処理手順の一例を説明するためのフローチャートである。 端末接続情報の構成例を示す図である。 SSID/サーバ対応記憶部の構成例を示す図である。 冗長化先決定部が実行する処理手順の一例を説明するためのフローチャートである。 冗長化先情報の構成例を示す図である。 冗長化管理部が実行する処理手順の一例を説明するためのフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を示す図である。図1において、サーバ10a、サーバ10b、及びサーバ10c等の複数のサーバ10は、一定区画ごとに配置されるPC(Personal Computer)等のコンピュータである。但し、各サーバ10の間隔は、一定間隔でなくてもよい。各サーバ10は、それぞれに専用の無線通信用のアクセスポイントAPに接続されている。すなわち、各サーバ10と、アクセスポイントAPとは対になっている。例えば、各アクセスポイントAPは、各サーバ10に内蔵されていてもよい。各サーバ10は、自らのアクセスポイントAPの電波の範囲内に含まれる端末20に対して、所定のサービスを提供可能である。各サーバ10が提供するサービスは同じであってもよいし、異なっていてもよい。但し、いずれかのサーバ10が故障すると、当該サーバ10によるサービスが、他のサーバ10によって継続して提供可能であるように構成されている。そのために、各サーバ10は、LAN(Local Area Network)等のネットワークN1を介して通信可能に接続されている。
例えば、本システムが、学校で運用される場合には、教室ごとにサーバ10が配置されてもよい。この場合、各サーバ10は、学習用のサービスを提供してもよい。各端末20は、各生徒によって利用されてもよい。端末20の一例として、スマートフォン、タブレット端末、又はPC(Personal Computer)等が挙げられる。なお、各サーバ10は、学校以外において利用されてもよい。例えば、店舗やイベント会場等の一定区画ごとにサーバ10が配置されてもよい。この場合、各サーバ10は、当該サーバ10が配置された区画において扱われている商品又はイベントに関する情報を端末20に対して提供してもよい。
図2〜図9を用いて、本発明の実施の形態の概要を説明する。図2は、初期状態を示す図である。図2では、各サーバ10の(アクセスポイントAPの)無線の電波の範囲が破線の楕円によって示されている。すなわち、エリアA1は、サーバ10aの電波の範囲であり、エリアA2は、サーバ10bの電波の範囲であり、エリアA3は、サーバ10cの電波の範囲である。なお、サーバ10aのアクセスポイントAPのSSID(Service Set Identifier)は、「SSIDA」であるとする。また、サーバ10bのアクセスポイントAPのSSIDは、「SSIDB」であるとする。サーバ10cのアクセスポイントAPのSSIDは、「SSIDC」であるとする。
また、図2では、サーバ10aにおいてサービスAが起動されていることが示されている。なお、サーバ10b及びサーバ10cのそれぞれにおいても、それぞれに固有のサービス11が起動されていてもよい。
図3は、或る端末が或るサーバに接続した際に実行される処理を説明するための図である。図3では、端末20aが、サーバ10aに接続した例が示されている。端末20aは、サーバ10aに接続すると、端末20aにおいて検出可能な無線のSSID(SSIDA及びSSIDB)をサーバ10aに通知する(S11)。サーバ10aは、SSIDBからサーバ10bを特定し、サーバ10bへサービスAの冗長化を開始する(S12)。すなわち、各サーバ10は、SSIDとサーバ10との対応情報を保持している。サーバ10aは、また、サーバ10aの故障時(利用不可時)の代替サーバとして、サーバ10bを選択して、端末20aに対して、故障時の接続先として、SSIDBとサーバ10bの識別情報(例えば、IPアドレス)とを通知する(S13)。当該通知は、SSIDBで識別されるアクセスポイントAPを経由してサーバ10bに接続すべきことを示す。
図4は、別の端末が同じサーバへ接続した際に実行される処理を説明するための図である。図4では、更に、端末20bが、サーバ10aに接続した例が示されている。端末20bは、サーバ10aに接続すると、端末20bにおいて検出可能な無線のSSID(SSIDA及びSSIDC)をサーバ10aに通知する(S21)。サーバ10aは、SSIDCからサーバ10cを特定し、サーバ10cへサービスAの冗長化を開始する(S22)。サーバ10aは、また、サーバ10aの故障時の代替サーバとして、サーバ10bを選択して、端末20bに対して、故障時の接続先として、SSIDCとサーバ10bの識別情報(例えば、IPアドレス)とを通知する(S23)。当該通知は、SSIDCで識別されるアクセスポイントAPを経由してサーバ10bに接続すべきことを示す。なお、代替サーバとしてサーバ10cが選択されてもよい。また、サーバ10bが代替サーバとして選択される場合、サーバ10cへの冗長化は、必ずしも実行されなくてもよい。
図5は、更に別の端末が同じサーバへ接続した際に実行される処理を説明するための図である。図5では、更に、端末20cが、サーバ10aに接続した例が示されている。端末20cは、サーバ10aに接続すると、端末20cにおいて検出可能な無線のSSID(SSIDA及びSSIDC)をサーバ10aに通知する(S31)。サーバ10aは、SSIDCからサーバ10cを特定するが、サーバ10cへサービスAの冗長化は開始済みであるため、冗長化処理は実行しない。また、サーバ10aは、サーバ10aの故障時のサーバ10aの代替サーバとして、サーバ10cを選択する。ここで、サーバ10cが選択されるのは、例えば、現時点において、サーバ10cに係るエリアA3内に含まれる端末20が最多だからである。サーバ10aは、故障時の接続先として、端末20aに対し、SSIDB及びサーバ10cの識別情報を通知し(S32)、端末20bに対し、SSIDC及びサーバ10cの識別情報を通知し(S33)、端末20cに対し、SSIDC及びサーバ10cの識別情報を通知する(S34)。すなわち、代替サーバが変化したため、端末20a及び端末20bに対しても、サーバ10cが代替サーバであることが通知される。この時点において、サーバ10bへの冗長化は終了してもよい。
図6は、接続先のサーバが故障せずにサービス11が正常に提供されている状態を示す図である。図6では、端末20a、端末20b、及び端末20cがサーバ10aに接続している状態において、各端末20に対して正常にサービスAが提供されている状態が示されている。なお、各端末20には、図5において通知された、サーバ10aの故障時の接続先を示す情報が保持されている。
図7は、一部の端末がサーバとの接続を切断した場合に実行される処理を説明するための図である。図7では、端末20bと端末20cとが、サーバ10aとの接続を切断した例が示されている。この場合、サーバ10aは、故障時の代替サーバとしてサーバ10bを選択し、サーバ10cの冗長化を解除する(S41)。サーバ10aは、端末20aに対して、故障時の接続先として、SSIDB及びサーバ10bの識別情報を通知する(S42)。代替サーバが、サーバ10cからサーバ10bへ変更されるのは、例えば、サーバ10bに係るエリアA2に含まれる端末20の数が最多であるからである。
図8は、全ての端末がサーバとの接続を切断した場合に実行される処理を説明するための図である。更に、端末20aがサーバ10aとの接続を切断すると、サーバ10aは、サーバ10bへの冗長化を解除し、冗長化を終了する。
図9は、接続先のサーバが故障した場合に実行される処理を説明するための図である。図9には、図6の状態において、サーバ10aが故障した状態が示されている。この場合、端末20a、端末20b、及び端末20cは、SSIDAに係るアクセスポイントAPから切断される。そこで、各端末20は、最後に通知された、サーバ10aの故障時の接続先の情報を参照して、接続先を切り替える。具体的には、端末20aはSSIDBに係るサーバ10bのアクセスポイントAP経由でサーバ10cに接続する(S51、S54)。端末20bと端末20cとはSSIDCに係るサーバ10cのアクセスポイントAP経由でサーバ10cに接続する(S52、S55、S53、S56)。その結果、各端末20は、サーバ10cに冗長化されているサービスAを利用することができる。
上記のように、本実施の形態では、或る端末20のサーバ10aの利用を契機に、サービスAを冗長化し、全ての端末20のサーバ10aの利用の終了を契機にサービスAの冗長化を終了することにより、冗長化のコストを抑えつつサーバ10の故障時におけるサービス11を継続が可能とされる。
続いて、端末20及びサーバ10について具体的に説明する。
図10は、本発明の実施の形態におけるサーバのハードウェア構成例を示す図である。図10のサーバ10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
サーバ10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってサーバ10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
なお、端末20も、図10に示されるようなハードウェアを有している。但し、端末20は、液晶パネル等の表示装置や、タッチパネル、キーボード、又はマウス等の入力装置を備えているのが望ましい。
図11は、本発明の実施の形態における端末及びサーバの機能構成例を示す図である。図11において、端末20は、プロキシ部22及び接続管理部23等を有する。これら各部は、端末20にインストールされたプログラムが、端末20のCPUに実行させる処理により実現される。端末20は、また、アプリ情報記憶部211、故障時接続先情報記憶部212、アプリ接続先記憶部213、及び接続先情報記憶部214等を有する。これら各記憶部は、例えば、端末20のメモリ又は端末20の補助記憶装置等を用いて実現可能である。また、端末20では、1以上のアプリ21が起動される。
アプリ21は、アプリケーションプログラムである。アプリ21は、サーバ10において起動されているサービス11の利用を、端末20に実行させる。
プロキシ部22は、アプリ21が利用するサービス11の接続先を、アプリ情報記憶部211を参照して制御する。アプリ情報記憶部211には、起動されているアプリ21ごとに、現時点における接続先のサービス11の宛先を示す情報が記憶される。
接続管理部23は、サーバ10との無線通信を介した接続を管理する。故障時接続先情報記憶部212には、接続先のサーバ10の利用が不可能となった場合の代替先のサーバ10を示す情報が記憶される。当該情報は、接続先のサーバ10から通知される。
アプリ接続先記憶部213は、アプリ21ごとに、接続先のサービス11の宛先を示す情報が、予め記憶されている。接続先情報記憶部214は、当該端末20が接続先とすべきサーバ10のアドレス情報が、予め記憶されている。
一方、サーバ10は、端末接続管理部12、冗長化先決定部13、及び冗長化管理部14等を有する。これら各部は、サーバ10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。サーバ10は、また、端末接続情報記憶部121、SSID/サーバ対応記憶部122、及び冗長化先情報記憶部123等を利用する。これら各記憶部は、サーバ10が有するメモリ装置103若しくは補助記憶装置102、又はサーバ10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。また、サーバ10では、1以上のサービス11が起動されている。
サービス11は、端末20に対して提供されるサービス11である。端末接続管理部12は、当該サーバ10のサービス11を利用する端末20との接続を管理する。端末接続情報記憶部121には、当該サーバ10に接続されている端末20ごとに、当該端末20の接続先や代替先のサーバ10を示す情報等が記憶される。冗長化先決定部13は、当該サーバ10が利用できなくなった場合の冗長化先の決定等を行う。冗長化管理部14は、冗長化先決定部13によって決定された冗長化先へのサービス11の冗長化や、冗長化先におけるサービス11の冗長化の解除等を実行する。冗長化先情報記憶部123には、各冗長化先に関する情報が記憶される。SSID/サーバ対応記憶部122には、SSIDとサーバ10との対応情報が記憶されている。
以下、端末20及びサーバ10のそれぞれが実行する処理手順について説明する。まず、端末20が実行する処理について説明する。
図12は、接続管理部がサーバへの接続時に実行する処理手順の一例を説明するためのフローチャートである。
例えば、ユーザによる、サーバ10への接続指示の入力に応じ、接続管理部23は、接続先情報記憶部214から接続先情報を取得する(S101)。
図13は、接続先情報の構成例を示す図である。図13に示されるように、接続先情報は、端末ID、SSID、及びサーバ接続先等の項目を含む。端末IDは、当該端末20の識別情報である。SSIDは、接続すべきアクセスポイントAPのSSIDである。SSIDと共にパスフレーズが記憶されていてもよい。サーバ接続先は、接続すべきサーバ10を示す情報である。サーバ接続先は、例えば、IPアドレス又はURL等である。
なお、接続先情報は、予め設定されて接続先情報記憶部214に記憶されている。すなわち、各端末20には、接続先のサーバ10が予め設定されている。例えば、学校において、或るクラスに属する生徒の端末20には、当該クラスに設置されているサーバ10が接続先として設定されていてもよい。
続いて、接続管理部23は、取得された接続先情報のSSIDのアクセスポイントAPに無線接続し、当該接続先情報のサーバ接続先によって特定されるサーバ10に接続する(S102)。続いて、接続管理部23は、接続先のサーバ10の端末接続管理部12に対し、当該接続先情報に含まれている端末IDを含む接続要求を送信する(S103)。
なお、端末IDは、接続先情報に含まれていなくてよい。例えば、端末IDは、端末20ごとに固有の情報に基づいて自動的に生成されてもよい。また、図12の処理は、サーバ10への接続時において1回実行されればよい。
続いて、接続管理部23が、接続要求の送信後に実行する処理について説明する。図14は、接続管理部が接続要求の送信後に実行する処理手順の一例を説明するためのフローチャートである。
接続管理部23は、プロキシ部22からの要求(S201)、サーバ10の端末接続管理部12からの通知(S211)、又は無線接続状況の変化(S221)等を契機に処理を実行する。また、接続管理部23は、定期的に(S221でNO)、無線通信用の電波をスキャンし、端末20から検出できる電波のSSIDのリストを取得する(S231)。
定期的にSSIDのリストを取得した場合、接続管理部23は、当該端末20の端末IDと当該SSIDのリストとを含む、SSIDリストの更新要求を、図12において接続したサーバ10の端末接続管理部12に送信する(S232)。これは、例えば、図3のステップS11において、端末20aが、SSIDA及びSSIDBをサーバ10aに通知する処理に相当する。
また、プロキシ部22からの要求(S201)とは、サービス11へのアクセス要求をアプリ21から受けたプロキシ部22からの、当該アプリ21がアクセス先とすべきサービス11の照会要求である。当該照会要求には、アクセス要求元のアプリ21の識別情報であるアプリIDが含まれている。斯かる照会要求が受信されると(S201でYES)、接続管理部23は、当該照会要求に含まれているアプリIDに対応するサービス接続先を、アプリ接続先記憶部213から取得する(S202)。
図15は、アプリ接続先記憶部の構成例を示す図である。図15に示されるように、アプリ接続先記憶部213には、端末20にインストールされているアプリ21ごとに、アプリIDとサービス接続先とが対応付けられて記憶されている。アプリIDは、アプリ21ごとの識別情報である。サービス接続先情報は、アプリ21が利用するサービス11の宛先である。サービス11の宛先の一例として、URL(Uniform Resource Locator)が挙げられる。なお、サービス接続先は、複数の値(例えば、複数のURL)を含んでもよい。例えば、アプリ21のインストール時等に、当該アプリ21に関するレコードがアプリ接続先記憶部213に記憶されてもよい。
続いて、接続管理部23は、当該端末20の端末IDと、照会要求に含まれているアプリIDと、取得されたサービス接続先とを含むサービス11の利用要求を、図12において接続したサーバ10の端末接続管理部12へ送信する(S203)。続いて、接続管理部23は、当該サービス接続先を、プロキシ部22に返却する(S204)。
また、サーバ10の端末接続管理部12からの通知(S211)とは、例えば、図3のステップS13において説明した、サーバ10の故障時の接続先を示す情報(故障時接続先情報)の通知である。当該通知が受信されると(S211でYES)、接続管理部23は、当該通知に含まれている故障時接続先情報を取得する(S212)。
図16は、故障時接続先情報の構成例を示す図である。図16において、故障時接続先情報は、SSID、サーバ接続先、アプリ接続先情報等を含む。SSIDは、現在接続中のサーバ10の故障時にアクセスすべきアクセスポイントAPのSSIDである。サーバ接続先は、代替サーバのIPアドレス又はURL等である。アプリ接続先情報は、アプリID及びサービス接続先を含む。アプリIDは、当該アプリ接続先情報が対象とするアプリ21のアプリIDである。サービス接続先は、現在接続中のサーバ10の故障時に、当該アプリ21がアクセス先とすべきサービス11の宛先である。すなわち、サービス接続先は、代替サーバ上におけるサービス11の宛先である。アプリ接続先情報は、端末20において起動されているアプリ21ごとに故障時接続先情報に含まれる。例えば、アプリ接続先情報は、配列又はリスト構造を形成する。
なお、故障時接続先情報にアプリ接続先情報が含まれるのは、本実施の形態では、アプリ21ごとにサービス11の接続先が管理されるからである。
続いて、接続管理部23は、取得された故障時接続先情報によって、故障時接続先情報記憶部212の記憶内容を更新する(S213)。すなわち、故障時接続先情報が既に故障時接続先情報記憶部212に記憶されている場合には、既存の故障時接続先情報が、新たな故障時接続先情報によって上書きされる。
また、無線接続状況の変化(S221)とは、接続中のサーバ10の故障等により、当該サーバ10のアクセスポイントAPとの無線接続の切断が検知されることである。接続管理部23は、無線接続の切断を検知すると(S221でYES)、故障時接続先情報記憶部212から故障時接続先情報を取得する(S222)。続いて、接続管理部23は、故障時接続先情報のSSIDに係るアクセスポイントAPに無線接続し、当該故障時接続先情報のサーバ接続先によって特定されるサーバ10に接続する(S223)。続いて、接続管理部23は、当該故障時接続先情報のアプリ接続先情報をプロキシ部22へ通知する(S224)。アプリ21に、代替先のサーバ10のサービス11にアクセスさせるためである。
なお、ここでは、無線接続の切断の例を挙げたが、プロキシ部22でサービス11へのアクセスが失敗したような場合に、プロキシ部22から接続管理部23に対してサービス11の利用不可が通知されてもよい。この場合に、接続管理部23は、ステップS222〜S224を実行してもよい。つまり、接続中のサーバ10の故障(利用不可)の判断は、無線切断以外に基づいて行われてもよい。
続いて、端末20のプロキシ部22が実行する処理について説明する。図17は、プロキシ部が実行する処理手順の一例を説明するためのフローチャートである。
プロキシ部22は、アプリ21からのサービス11へのアクセス要求又は接続管理部23からのアプリ接続先情報の通知を待機している(S301)。アプリ21からのサービス11へのアクセス要求には、アクセスの内容(サービス11に対する要求の内容)と、当該アプリ21を識別するアプリIDとが含まれている。プロキシ部22は、アプリ21からのサービス11へのアクセス要求を受信すると(S301でYES)、アプリ情報記憶部211に、当該アプリ21に対応するアプリ情報が記憶されているか否かを判定する(S302)。
アプリ21が最初にサービス11にアクセスする場合、当該アプリ21に対応するアプリ情報は、アプリ情報記憶部211には記憶されてない(S302でNO)。したがって、この場合、プロキシ部22は、当該アプリ21に対応する接続先のサービス11を示す情報(サービス接続先)の照会要求を、接続管理部23に送信する(S302)。当該照会要求には、当該アプリ21の識別情報であるアプリIDが指定される。当該照会要求に応じて、接続管理部23によって、図14のステップS202〜S204が実行される。
接続管理部23から接続先情報が返却されると、プロキシ部22は、当該アプリ21のアプリIDと当該サービス接続先とを対応付けて、アプリ情報記憶部211に記憶する(S304)。
図18は、アプリ情報記憶部の構成例を示す図である。アプリ情報記憶部211の構成は、アプリ接続先記憶部213(図15)と同様である。但し、アプリ情報記憶部211には、起動中のアプリ21に関する情報のみが記憶される。図18における各行が、アプリ情報に相当する。
ステップS304の実行後、ステップS305に進む。
一方、アクセス要求に含まれているアプリIDに対応するアプリ情報が、アプリ情報記憶部211に記憶されている場合(S302でYES)、ステップS303及びS304は実行されずに、ステップS305に進む。
ステップS305において、プロキシ部22は、アプリ情報記憶部211から、アクセス要求に含まれているアプリIDに対応するアプリ情報を取得する。続いて、プロキシ部22は、当該アプリ情報のサービス接続先によって識別されるサービス11へアクセス要求に応じたアクセスを行い、アクセス結果をアプリ21に返却する(S306)。アクセス要求に応じたアクセスとは、アクセス要求に含まれている要求をサービス11に対して送信することである。アクセス結果とは、当該要求に応じてサービス11から返信される応答である。
一方、図14のステップS224において、接続管理部23からアプリ接続先情報が通知されると(S301でNO)、プロキシ部22は、当該アプリ接続先情報に基づいて、アプリ情報記憶部211に記憶されているアプリ情報を更新する(S307)。すなわち、アプリ情報記憶部211において、当該アプリ接続先情報のアプリIDに一致するアプリIDに対応付けられて記憶されているサービス接続先の値が、当該アプリ接続先情報のサービス接続先に更新される。その結果、次回のアクセス時には、更新後のサービス接続先がアクセス先となる。なお、複数のアプリ接続先情報が通知される可能性も有る。
続いて、サーバ10が実行する処理について説明する。図19は、端末接続管理部が実行する処理手順の一例を説明するためのフローチャートである。端末接続管理部12は、端末20の接続管理部23からの要求を契機に動作する。接続管理部23からの要求とは、図12のステップS103において送信される接続要求、図14のステップS203において送信されるサービス11の利用要求、切断要求、及び図14のステップS232において送信されるSSIDリストの更新要求である。なお、切断要求については後述される。
端末接続管理部12は、図12のステップS103において端末20の接続管理部23から送信された接続要求を受信すると(S401でYES)、新たな端末接続情報を生成し、当該接続要求に含まれている端末ID等を当該端末接続情報に設定する(S402)。
図20は、端末接続情報の構成例を示す図である。端末接続情報は、サーバ10に接続されている端末20ごとに生成される情報であり、端末ID、SSIDリスト、接続先情報、及び故障時接続先情報等の項目を含む。端末IDは、当該端末接続情報に対応する端末20の端末IDである。SSIDリストは、端末IDに係る端末20によって検出されているSSIDのリストである。
接続先情報は、端末IDに係る端末20の現在の接続先に関する情報であり、SSID、サーバ接続先、アプリ接続先情報等を含む。SSIDは、端末IDに係る端末20の現在の接続先のアクセスポイントAPのSSIDである。サーバ接続先は、端末IDに係る端末20の現在の接続先のサーバ10のIPアドレス又はURL等である。アプリ接続先情報は、端末IDに係る端末20で起動されている各アプリ21の接続先のサービス11を示す情報である。なお、アプリ接続先情報の構成は図16と同様であり、端末20において起動されているアプリ21ごとに接続先情報に含まれる。
故障時接続先情報は、接続先情報に係るサーバ10の故障時における接続先に関する情報であり、その構成は、基本的に、図16と同じである。但し、端末接続情報に属する故障時接続先情報は、更新フラグを含む点において、図16と異なる。更新フラグは、後述される冗長化先決定部13が実行する処理において当該故障時接続先情報が更新されたか否かを判定するためのフラグである。冗長化先決定部13によって当該故障時接続先情報が更新された場合には、更新フラグの値が真に変更される。なお、端末接続情報に属する接続先情報のアプリ接続先情報と、当該端末接続情報に属する故障時接続先情報のアプリ接続先情報との数は一致する。前者のアプリ接続先情報に係るサービス11ごとに、冗長化が行われ、冗長化先のサービス11に係る情報が、後者のアプリ接続先情報だからである。すなわち、前者の各アプリ接続先情報と、後者の各アプリ接続先情報とは対をなす。
ステップS402では、端末接続情報の端末IDに値が設定される。また、端末接続情報の接続先情報のSSID及びサーバ接続先のそれぞれに当該サーバ10に対応するSSID、当該サーバ10のIPアドレス又はURL等が設定される。端末接続情報の他の項目の値は、後述の処理で設定される。
続いて、端末接続管理部12は、生成された端末接続情報を、端末接続情報記憶部121に記憶する(S403)。したがって、端末接続情報記憶部121には、サーバ10に接続されている端末20ごとに、端末接続情報が記憶される。
また、端末接続管理部12は、図14のステップS203において端末20の接続管理部23から送信されたサービス11の利用要求を受信すると(S411でYES)、端末接続情報記憶部121において、当該利用要求に含まれている端末IDに係る端末接続情報(図20)の接続先情報に新たなアプリ接続先情報を追加し、当該アプリ接続先情報に、当該利用要求に含まれているアプリIDとサービス接続先とを設定する(S412)。なお、この時点において、当該端末接続情報の故障時接続先情報には、当該アプリ接続先情報と対をなすアプリ接続先情報は追加されない。当該対をなすアプリ接続先情報は、ステップS412における利用要求に係るサービス11が冗長化された際に追加される。
続いて、端末接続管理部12は、冗長化先決定部13に対して冗長化先の決定を要求する(S441)。冗長化先決定部13では、端末接続情報記憶部121に記憶されている端末接続情報の一覧に基づいて、冗長化先を決定する。冗長化先の決定に伴って、いずれかの端末接続情報の故障時接続先情報が更新される場合が有る。図5において説明したように、サービス11を利用する端末20の増加に伴って、故障時の接続先が変更される場合が有るからである。この場合、更新された故障時接続先情報の更新フラグは真に変更される。
冗長化先決定部13による処理が終了すると、端末接続管理部12は、端末接続情報記憶部121に記憶されている端末接続情報のうち、故障時接続先情報の更新フラグが真である端末接続情報を特定し、特定された端末接続情報の端末IDに係る端末20に対し、当該端末接続情報の故障時接続先情報を送信する(S442)。端末接続管理部12は、送信された故障時接続先情報の更新フラグを偽に変更する。なお、ここで送信された故障時接続先情報は、図14のステップS211において受信される。
また、端末接続管理部12は、端末20の接続管理部23から送信された切断要求を受信すると(S421でYES)、当該切断要求に含まれている端末IDに係る端末接続情報(図20)を、端末接続情報記憶部121から削除する(S422)。続いて、ステップS441及びS442が実行される。図7において説明したように、いずれかの端末20の切断によって、他の端末20の故障時の接続先が変更される可能性が有るからである。
また、端末接続管理部12は、図14のステップS232において送信されるSSIDリストの更新要求を受信すると(S421でNO)、SSID/サーバ対応記憶部122を参照して、受信したSSIDのリストから、いずれのサーバ10にも対応しないSSIDを除去する(S431)。
図21は、SSID/サーバ対応記憶部の構成例を示す図である。図21に示されるように、SSID/サーバ対応記憶部122には、サーバ10ごとに、当該サーバ10に対応するSSIDと当該サーバ10に係るサーバ接続先とが対応付けられて記憶されている。なお、図21における「サーバa」、「サーバb」、「サーバc」は、実際には、サーバ10a、サーバ10b、サーバ10cのそれぞれのIPアドレス又はURL等を示す。
したがって、SSID/サーバ対応記憶部122に記憶されていないSSIDは、サーバ10のSSIDではないということになる。したがって、ステップS431では、受信されたSSIDのリストから、サーバ10には対応しないSSIDが除去される。なお、この際、当該サーバ10(自サーバ10)に対応するSSIDも、受信されたSSIDのリストから除去される。
続いて、端末接続管理部12は、端末接続情報記憶部121において、受信された更新要求に含まれている端末IDに係る端末接続情報のSSIDリストを、ステップS431の実行後のSSIDのリストによって更新する(S432)。
続いて、ステップS441及びS442が実行される。各端末20が検出しているSSIDが変化した場合にも、他の端末20の故障時の接続先が変更される可能性が有るからである。
続いて、冗長化先決定部13が実行する処理について説明する。図22は、冗長化先決定部が実行する処理手順の一例を説明するためのフローチャートである。冗長化先決定部13は、図19のステップS441における端末接続管理部12からの要求を契機に動作する。すなわち、サーバ10に接続している端末20によって検出されるSSIDに変化が有ったり、新たにサービス11を利用する端末20が発生したりといったように、端末20の環境やサーバ10に接続される端末20の構成等に何らかの変化が発生した場合に、図22の処理が実行される。
ステップS501において、冗長化先決定部13は、端末接続情報記憶部121から全ての端末接続情報を取得する。続いて、冗長化先決定部13は、SSID/サーバ対応記憶部122からSSIDとサーバ接続先との対応情報を取得する(S502)。
続いて、冗長化先決定部13は、各端末接続情報のSSIDリストの値に基づいて、端末接続情報ごと(すなわち、端末20ごと)に、故障時の接続先のSSIDとサーバ接続先(代替サーバ)とを決定する(S503)。或る端末20の故障時の接続先のSSIDは、当該端末20に係る端末接続情報のSSIDリストに含まれているSSIDであれば、いずれのSSIDであってもよい。また、故障時の接続先のSSIDに対応するサーバ10が代替サーバとして選択されてもよい。または、所定の規則に基づいて、SSID及びサーバ接続先が決定されてもよい。
例えば、各端末接続情報のSSIDリストに含まれているSSIDの内訳に基づいて、接続先のSSIDが決定されてもよい。一例として、最も多くの端末20によって検出されているSSIDが優先して選択されるようにしてもよい。これは、多くの端末20に近いサーバ10で代替することがネットワークの効率がいいと判断する例である。この場合、当該SSIDに対応するサーバ10が代替サーバとして決定される。但し、当該SSIDを検出できていない端末20については、当該端末20において検出されているSSIDの中から別のSSIDが選択される。但し、代替サーバについては、最も多くの端末20によって検出されているSSIDに対応するサーバ10が選択される。この場合、当該別のSSIDに係るサーバ10は、代替サーバへのアクセスをルーティングするために利用される。
他の例として、冗長化先の各サーバ10の利用状況(負荷状況)や、無線の混み具合などから、代替先が決定されてもよい。冗長化先の各サーバ10の利用状況に基づいて、代替先が決定される場合、サーバ10間において、それぞれの利用状況を示す情報(例えば、それぞれに記憶されている端末接続情報)が交換されてもよい。この場合、それぞれの端末接続情報の数に基づいて、それぞれのサーバ10の利用状況(負荷状況)が判定されてもよい。又は、各サーバ10のCPU104の負荷等が、サーバ10間で交換されてもよい。なお、各端末20によって検出されているSSIDは、各端末20に対応する端末接続情報のSSIDリストに基づいて特定可能である。
なお、ステップS503において端末接続情報ごとに決定されたSSIDとサーバ接続先は、各端末接続情報の故障時接続先情報のSSID及びサーバ接続先に設定される。但し、設定される値が、当該故障時接続先情報に既に設定されているSSID及びサーバ接続先と同じである場合、当該故障時接続先情報の更新は行われなくてもよい。
続いて、冗長化先決定部13は、自サーバ10で提供しているサービス11のうち、現在利用されている(アクセス対象とされている)サービス11に対応するサービス接続先をリストアップする(S504)。現在利用されているサービス11は、各端末接続情報の接続先情報のアプリ接続先情報のサービス接続先を参照することで特定可能である。ステップS504では、当該サービス接続先の重複が除去された状態のリストが生成される。以下、当該リストを「サービスリスト」という。
続いて、冗長化先決定部13は、サービスリストに含まれているサービス接続先のうち、当該サービス接続先に対応する冗長化先情報が冗長化先情報記憶部123に記憶されていないサービス接続先の有無を判定する(S505)。
図23は、冗長化先情報の構成例を示す図である。冗長化先情報は、利用されているサービス11ごとに冗長化先等を示す情報であり、利用されているサービス11ごとに生成される。図23に示されるように、冗長化先情報は、サービス接続先、サービス冗長化先、指示(冗長化/解除)、更新フラグ(真/偽)等の項目を含む。
サービス接続先は、利用されているサービス11(すなわち、冗長化の対象とされるサービス11)の宛先である。サービス冗長化先は、利用されているサービス11の冗長化先を示す宛先(例えば、URL)である。指示は、当該冗長化先情報によって示される冗長化を行うのか解除するのかを示す、冗長化管理部14に対する指示であり、「冗長化」又は「解除」が設定される。更新フラグは、当該冗長化先情報の更新の有無を示すフラグである。
サービスリストに含まれているサービス接続先のうち、当該サービス接続先に対応する冗長化先情報が冗長化先情報記憶部123に記憶されていないサービス接続先(以下、「対象サービス接続先」という。)が有る場合(S505でYES)、冗長化先決定部13は、新たな冗長化先情報を生成し、当該冗長化先情報を冗長化先情報記憶部123に記憶する(S506)。当該冗長化先情報のサービス接続先には、対象サービス接続先が設定される。当該冗長化先情報のサービス冗長化先には、新たに決定される冗長化先のサービス11の宛先が設定される。例えば、各端末接続情報(図20)の中で、接続先情報のアプリ接続先情報のサービス接続先に対象サービス接続先を含む端末接続情報のSSIDリストに含まれるいずれかのSSIDに対応するサーバ接続先に基づくサービス接続先が、サービス冗長化先に設定されてもよい。SSIDに対応するサーバ接続先は、SSID/サーバ対応記憶部122を参照して特定可能である。
また、新たに生成された冗長化先情報の指示には「冗長化」が設定され、更新フラグには「真」が設定される。なお、ステップS506は、当該サーバ10において新たなサービス11の利用が開始された際に実行される。新たなサービス11とは、現時点まで利用が開始されていなかったサービス11をいう。
続いて、冗長化先決定部13は、サービスリストに含まれているいずれのサービス接続先にも対応しない冗長化先情報が冗長化先情報記憶部123に記憶されているか否かを判定する(S507)。すなわち、利用されなくなったサービス11の冗長化先情報が記憶されているか否かが判定される。該当する冗長化先情報が記憶されている場合(S507でYES)、冗長化先決定部13は、当該冗長化先情報の指示に「解除」を設定し、当該冗長化先情報の更新フラグに「真」を設定する(S508)。
続いて、冗長化先決定部13は、冗長化管理部14に対して処理の実行を要求する(S509)。冗長化管理部14は、後述されるように、冗長化先情報記憶部123に記憶されている冗長化先情報に基づいて、サービス11の冗長化又は冗長化の解除を実行する。
冗長化管理部14による処理が終了すると、冗長化先決定部13は、指示が「解除」であり、更新フラグが「偽」である冗長化先情報を冗長化先情報記憶部123から削除する(S510)。続いて、冗長化先決定部13は、端末接続情報(図20)ごとに、当該端末接続情報(以下、「対象端末接続先情報」という。)の接続先情報の故障時接続先情報のアプリ接続先情報を更新する(S511)。具体的には、冗長化先決定部13は、対象端末接続先情報の接続先情報の各アプリ接続先情報について、当該アプリ接続先情報(以下、「対象アプリ接続先情報」という。)のサービス接続先と同じサービス接続先を含む冗長化先情報を冗長化先情報記憶部123から検索する。冗長化先決定部13は、対象端末接続先情報の故障時接続先情報に、対象アプリ接続先情報のアプリIDと同じアプリIDを含むアプリ接続先情報が含まれている場合には、当該アプリ接続先情報のサービス接続先に対し、検索された冗長化先情報のサービス冗長化先を設定する。対象端末接続先情報の故障時接続先情報に、対象アプリ接続先情報のアプリIDと同じアプリIDを含むアプリ接続先情報が含まれていない場合には、冗長化先決定部13は、対象アプリ接続先情報のアプリIDを含み、検索された冗長化先情報のサービス冗長化先をサービス接続先とするアプリ接続先情報を、当該故障時接続先情報に追加する。
続いて、冗長化先決定部13は、各端末接続情報の故障時接続先情報のうち、ステップS503又はステップS511においていずれかの項目が更新された故障時接続先情報の更新フラグに「真」を設定する(S512)。ここで、更新フラグに「真」が設定された故障時接続先情報は、図19のステップS442において、当該故障時接続先情報を含む端末接続情報の端末IDに係る端末20に対して送信される。
続いて、冗長化管理部14が実行する処理について説明する。図24は、冗長化管理部が実行する処理手順の一例を説明するためのフローチャートである。冗長化管理部14は、図22のステップS509における、冗長化先決定部13からの要求を契機に動作する。
ステップS601において、冗長化管理部14は、更新フラグの値が「真」である冗長化先情報が、冗長化先情報記憶部123に記憶されているか否かを判定する(S601)。該当する冗長化先情報が1以上記憶されている場合(S601でYES)、冗長化管理部14は、該当する冗長化先情報を一つ取得する(S602)。以下、取得された冗長化先情報を「対象冗長化先情報」という。
続いて、冗長化管理部14は、対象冗長化先情報の指示の値が「冗長化」であるか否かを判定する(S603)。当該指示の値が、「冗長化」である場合(S603でYES)、冗長化管理部14は、対象冗長化先情報のサービス接続先に係るサービス11を、対象冗長化先情報のサービス冗長化先が示す宛先に冗長化する(S604)。一方、当該指示が「解除」である場合(S603でNO)、冗長化管理部14は、対象冗長化先情報のサービス冗長化先によって特定されるサービス11による冗長化を解除する(S605)。続いて、冗長化管理部14は、対象冗長化先情報の更新フラグに「偽」を設定し(S606)、ステップS601以降を繰り返す。ステップS601において、該当する冗長化先情報が記憶されていない場合(S601でNO)、図24の処理は終了する。
なお、冗長化や冗長化の解除は、公知の技術が用いられて実行されればよい。例えば、冗長化については、サービス11をDockerやServlet等のように配備可能な形で用意し、冗長化の際に、それらを冗長化先に配備し、冗長化開始後には、サービス11の状態を同期するという方法が採用されてもよい。また、サービス11へのアクセスの履歴をプロキシ部22にて保存しておき、サーバ10の故障時には、冗長化先のサービス11に対して、保存しておいた履歴をリプレイすることで、冗長化先のサービス11において、元のサービス11の故障前の状態を再現するといった方法が採用されてもよい。また、公知の他の方法が採用されてもよい。
続いて、アプリ21の利用終了時の処理について説明する。アプリ21は、自身の終了前に、プロキシ部22へ終了を通知する。当該通知には当該アプリ21のアプリIDが含まれている。プロキシ部22は、当該アプリIDに係るアプリ情報をアプリ情報記憶部211から削除し、当該アプリIDに係るアプリ21の終了を接続管理部23に通知する。接続管理部23は、故障時接続先情報記憶部212に記憶されている故障時接続先情報(図16)から、当該アプリIDを含むアプリ接続先情報を削除する。続いて、接続管理部23は、当該端末20の端末IDと当該アプリIDとを含む、アプリ21の終了通知を、接続先のサーバ10の端末接続管理部12に送信する。
当該端末接続管理部12は、アプリ21の終了通知を受信すると、当該終了通知に含まれている端末IDを含む端末接続情報(図20)を端末接続情報記憶部121から取得する。端末接続管理部12は、取得された端末接続情報の接続先情報から、当該終了通知に含まれているアプリIDを含むアプリ接続先情報を削除する。続いて、端末接続管理部12は、冗長化先決定部13に処理の実行を要求する。冗長化先決定部13は、当該要求に応じ、図22において説明した処理手順を実行する。その結果、アプリ21の終了により或るサービス11が利用されなくなった場合には、図22のステップS508が実行され、その効果により、図24の処理において、当該サービス11の冗長化が解除される。但し、他のアプリ21又は他の端末20から当該サービス11が利用されている場合には、ステップS508は実行されないため、当該サービス11の冗長化は継続する。端末接続管理部12は、図22の処理の実行により、端末接続情報記憶部121に記憶されているいずれかの端末接続情報の故障時接続先情報が更新されれば、当該端末接続情報の端末IDに係る端末20に対し、当該故障時接続先情報を送信する。当該故障時接続先情報を受信した端末20の接続管理部23は、図14のステップS212及びS213を実行する。
以上により、アプリ21終了時に、利用されなくなったサービス11の冗長化が解除される。
続いて、端末20がサーバ10との接続を切断する際の処理について説明する。端末20の接続管理部23は、例えば、ユーザによって切断指示が入力されると、当該端末20の端末IDを指定して、接続先のサーバ10の端末接続管理部12に、切断要求を送信する。また、接続管理部23は、故障時接続先情報記憶部212から故障時接続先情報を削除する。
接続先のサーバ10の端末接続管理部12は、当該切断要求に応じ、図19のステップS422、S441、及びS442を実行する。その結果、当該端末20が利用していたサービス11が利用されなくなった場合には、図22のステップS508が実行され、その効果により、図24の処理において、当該サービス11の冗長化が解除される。一方、他の端末20から利用されているサービス11の冗長化は継続する。
以上により、端末20がサーバ10との接続を切断したときに、利用されなくなったサービス11の冗長化が解除される。
上述したように、本実施の形態によれば、サービス11を提供するサーバ10は、端末20によるサービス11の利用の開始に応じて当該サービス11を冗長化する。したがって、常に代替サーバにおいてサービス11が冗長化される場合に比べて、サービス11の冗長化の効率性を向上させることができる。また、冗長化先は、端末20が検出しているSSIDや、各サーバ10の負荷状況等に基づいて動的に決定され、端末20に通知される。したがって、サービス11の冗長化の柔軟性を向上させることができる。
また、サービス11を利用する全ての端末20が当該サービス11の利用を終了すると、当該サービス11の冗長化が解除される。斯かる点においても、サービス11の冗長化の効率性を向上させることができる。
なお、本実施の形態では、端末20によって検出される、無線通信網ごとの識別情報がSSIDである例を説明したが、当該識別情報は、無線通信の方式に応じて適宜変更されてもよい。例えば、BSSIDやMACアドレスが当該識別情報として利用されてよい。また、無線通信の方式としても、無線LANに限定されない。Bluetooth(登録商標)等、他の通信方式が利用されてもよい。
なお、本実施の形態において、サーバ10は、情報処理装置の一例である。端末接続管理部12は、受信部及び送信部の一例である。冗長化先決定部13は、決定部の一例である。冗長化管理部14は、冗長化部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
情報処理装置が、
当該情報処理装置に無線通信を介して接続された端末が検出した、無線通信網ごとの識別情報を受信し、
受信された識別情報に対応付く、当該情報処理装置と異なる情報処理装置を、当該情報処理装置が前記端末に対して提供するサービスの代替先に決定し、
前記端末による前記サービスの利用の開始に応じ、決定された代替先に前記サービスを冗長化し、
代替先に決定された情報処理装置を示す情報を、前記端末に送信する処理を実行し、
前記端末は、当該情報処理装置を利用できない場合には、前記代替先の情報処理装置に接続する、
ことを特徴とするサービス冗長化方法。
(付記2)
前記受信する処理は、前記サービスを利用する複数の端末のそれぞれから、当該端末が検出した、無線通信網ごとの識別情報を受信し、
前記決定する処理は、当該情報処理装置と異なる情報処理装置に対応付く、複数の識別情報が受信された場合には、前記複数の識別情報のそれぞれに対応付く情報処理装置の利用状況及び前記各端末から受信された識別情報の内訳の少なくともいずれか一方に基づいて、前記サービスの代替先を決定する、
ことを特徴とする付記1記載のサービス冗長化方法。
(付記3)
サービスを利用する全ての端末による当該サービスの利用の終了に応じ、当該サービスの冗長化を解除する、
処理を前記情報処理装置が実行することを特徴とする付記1又は2記載のサービス冗長化方法。
(付記4)
情報処理装置であって、
当該情報処理装置に無線通信を介して接続された端末が検出した、無線通信網ごとの識別情報を受信する受信部と、
受信された識別情報に対応付く、当該情報処理装置と異なる情報処理装置を、当該情報処理装置が前記端末に対して提供するサービスの代替先に決定する決定部と、
前記端末による前記サービスの利用の開始に応じ、決定された代替先に前記サービスを冗長化する冗長化部と、
代替先に決定された情報処理装置を示す情報を、前記端末に送信する送信部とを有し、
前記端末は、前記情報処理装置を利用できない場合には、前記代替先の情報処理装置に接続する、
ことを特徴とする情報処理装置。
(付記5)
前記受信部は、前記サービスを利用する複数の端末のそれぞれから、当該端末が検出した、無線通信網ごとの識別情報を受信し、
前記決定部は、当該情報処理装置と異なる情報処理装置に対応付く、複数の識別情報が受信された場合には、前記複数の識別情報のそれぞれに対応付く情報処理装置の利用状況及び前記各端末から受信された識別情報の内訳の少なくともいずれか一方に基づいて、前記サービスの代替先を決定する、
ことを特徴とする付記4記載の情報処理装置。
(付記6)
サービスを利用する全ての端末による当該サービスの利用の終了に応じ、当該サービスの冗長化を解除する解除部、
を有することを特徴とする付記4又は5記載の情報処理装置。
(付記7)
情報処理装置に、
当該情報処理装置に無線通信を介して接続された端末が検出した、無線通信網ごとの識別情報を受信し、
受信された識別情報に対応付く、当該情報処理装置と異なる情報処理装置を、当該情報処理装置が前記端末に対して提供するサービスの代替先に決定し、
前記端末による前記サービスの利用の開始に応じ、決定された代替先に前記サービスを冗長化し、
代替先に決定された情報処理装置を示す情報を、前記端末に送信する処理を実行させ、
前記端末は、当該情報処理装置を利用できない場合には、前記代替先の情報処理装置に接続する、
ことを特徴とするプログラム。
(付記8)
前記受信する処理は、前記サービスを利用する複数の端末のそれぞれから、当該端末が検出した、無線通信網ごとの識別情報を受信し、
前記決定する処理は、当該情報処理装置と異なる情報処理装置に対応付く、複数の識別情報が受信された場合には、前記複数の識別情報のそれぞれに対応付く情報処理装置の利用状況及び前記各端末から受信された識別情報の内訳の少なくともいずれか一方に基づいて、前記サービスの代替先を決定する、
ことを特徴とする付記7記載のプログラム。
(付記9)
サービスを利用する全ての端末による当該サービスの利用の終了に応じ、当該サービスの冗長化を解除する、
処理を前記情報処理装置に実行させることを特徴とする付記7又は8記載のプログラム。
10、10a、10b、10c サーバ
11 サービス
12 端末接続管理部
13 冗長化先決定部
14 冗長化管理部
20、20a、20b、20c 端末
21 アプリ
22 プロキシ部
23 接続管理部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 端末接続情報記憶部
122 SSID/サーバ対応記憶部
123 冗長化先情報記憶部
211 アプリ情報記憶部
212 故障時接続先情報記憶部
213 アプリ接続先記憶部
214 接続先情報記憶部
B バス

Claims (5)

  1. 情報処理装置が、
    当該情報処理装置に無線通信を介して接続された端末が検出した、無線通信網ごとの識別情報を受信し、
    受信された識別情報に対応付く、当該情報処理装置と異なる情報処理装置を、当該情報処理装置が前記端末に対して提供するサービスの代替先に決定し、
    前記端末による前記サービスの利用の開始に応じ、決定された代替先に前記サービスを冗長化し、
    代替先に決定された情報処理装置を示す情報を、前記端末に送信する処理を実行し、
    前記端末は、当該情報処理装置を利用できない場合には、前記代替先の情報処理装置に接続する、
    ことを特徴とするサービス冗長化方法。
  2. 前記受信する処理は、前記サービスを利用する複数の端末のそれぞれから、当該端末が検出した、無線通信網ごとの識別情報を受信し、
    前記決定する処理は、当該情報処理装置と異なる情報処理装置に対応付く、複数の識別情報が受信された場合には、前記複数の識別情報のそれぞれに対応付く情報処理装置の利用状況及び前記各端末から受信された識別情報の内訳の少なくともいずれか一方に基づいて、前記サービスの代替先を決定する、
    ことを特徴とする請求項1記載のサービス冗長化方法。
  3. サービスを利用する全ての端末による当該サービスの利用の終了に応じ、当該サービスの冗長化を解除する、
    処理を前記情報処理装置が実行することを特徴とする請求項1又は2記載のサービス冗長化方法。
  4. 情報処理装置であって、
    当該情報処理装置に無線通信を介して接続された端末が検出した、無線通信網ごとの識別情報を受信する受信部と、
    受信された識別情報に対応付く、当該情報処理装置と異なる情報処理装置を、当該情報処理装置が前記端末に対して提供するサービスの代替先に決定する決定部と、
    前記端末による前記サービスの利用の開始に応じ、決定された代替先に前記サービスを冗長化する冗長化部と、
    代替先に決定された情報処理装置を示す情報を、前記端末に送信する送信部とを有し、
    前記端末は、当該情報処理装置を利用できない場合には、前記代替先の情報処理装置に接続する、
    ことを特徴とする情報処理装置。
  5. 情報処理装置に、
    当該情報処理装置に無線通信を介して接続された端末が検出した、無線通信網ごとの識別情報を受信し、
    受信された識別情報に対応付く、当該情報処理装置と異なる情報処理装置を、当該情報処理装置が前記端末に対して提供するサービスの代替先に決定し、
    前記端末による前記サービスの利用の開始に応じ、決定された代替先に前記サービスを冗長化し、
    代替先に決定された情報処理装置を示す情報を、前記端末に送信する処理を実行させ、
    前記端末は、当該情報処理装置を利用できない場合には、前記代替先の情報処理装置に接続する、
    ことを特徴とするプログラム。
JP2015075852A 2015-04-02 2015-04-02 サービス冗長化方法、情報処理装置、及びプログラム Pending JP2016197281A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015075852A JP2016197281A (ja) 2015-04-02 2015-04-02 サービス冗長化方法、情報処理装置、及びプログラム
EP16158123.6A EP3076635B1 (en) 2015-04-02 2016-03-01 Service redundancy method, program, storage medium, information processing apparatus, and system
US15/074,642 US20160292252A1 (en) 2015-04-02 2016-03-18 Service redundancy method, system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015075852A JP2016197281A (ja) 2015-04-02 2015-04-02 サービス冗長化方法、情報処理装置、及びプログラム

Publications (1)

Publication Number Publication Date
JP2016197281A true JP2016197281A (ja) 2016-11-24

Family

ID=55587027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015075852A Pending JP2016197281A (ja) 2015-04-02 2015-04-02 サービス冗長化方法、情報処理装置、及びプログラム

Country Status (3)

Country Link
US (1) US20160292252A1 (ja)
EP (1) EP3076635B1 (ja)
JP (1) JP2016197281A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7489183B2 (ja) 2019-11-19 2024-05-23 三菱重工業株式会社 演算装置、冗長化システムおよびプログラム、ならびに冗長化構成の構築方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117386B2 (en) * 2002-08-21 2006-10-03 Emc Corporation SAR restart and going home procedures
CN100459569C (zh) * 2005-01-14 2009-02-04 华为技术有限公司 网络节点设备路由快速切换的方法及装置
US8495244B2 (en) * 2005-06-29 2013-07-23 Jumpstart Wireless Corporation System and method for dynamic automatic communication path selection, distributed device synchronization and task delegation
JP4669747B2 (ja) 2005-06-29 2011-04-13 Necインフロンティア株式会社 二重化通信システムおよびサーバ選定方法
JP5463738B2 (ja) * 2008-09-22 2014-04-09 沖電気工業株式会社 無線通信システム、アクセスポイント、コントローラ、ネットワーク管理装置及びアクセスポイントのネットワーク識別子設定方法
JP5925223B2 (ja) 2008-09-22 2016-05-25 沖電気工業株式会社 アクセスポイント、管理装置、コントローラ、プログラム、及びアクセスポイントの設定方法
US8880103B2 (en) * 2009-10-12 2014-11-04 Qualcomm Incorporated Method and apparatus for transmitting indoor context information
US8671206B2 (en) * 2011-02-28 2014-03-11 Siemens Enterprise Communications Gmbh & Co. Kg Apparatus and mechanism for dynamic assignment of survivability services to mobile devices
EP2789138B1 (en) * 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
US8964533B2 (en) * 2011-12-14 2015-02-24 Verizon Patent And Licensing Inc. Method and system for providing mobile wireless call failover
US9276807B2 (en) * 2013-10-23 2016-03-01 Verizon Patent And Licensing Inc. Redundant communication framework
US9667500B2 (en) * 2014-12-29 2017-05-30 Verizon Patent And Licensing Inc. Contextual virtual routing updates
US9842029B2 (en) * 2015-03-25 2017-12-12 Kabushiki Kaisha Toshiba Electronic device, method and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7489183B2 (ja) 2019-11-19 2024-05-23 三菱重工業株式会社 演算装置、冗長化システムおよびプログラム、ならびに冗長化構成の構築方法

Also Published As

Publication number Publication date
EP3076635B1 (en) 2017-08-30
EP3076635A1 (en) 2016-10-05
US20160292252A1 (en) 2016-10-06

Similar Documents

Publication Publication Date Title
JP6855573B2 (ja) ユーザ端末の位置エリアの更新方法、アクセスネットワークエンティティ、ユーザ端末およびコアネットワークエンティティ
JP2016208175A (ja) 通信方法、通信システム、情報処理装置、及びプログラム
JP2013178624A (ja) 情報処理装置、クライアント管理システムおよびクライアント管理方法
CN111935236B (zh) 促进屏幕设备与客户端设备间互操作性的方法、设备和介质
WO2013190737A1 (ja) サーバシステム、サーバ、サーバ制御方法、及びサーバ制御プログラムが格納された非一時的なコンピュータ可読媒体
KR20110093087A (ko) 원격 접속에 기초해 홈 네트워크 디바이스의 서비스를 이용하는 방법 및 장치
WO2018207674A1 (ja) 通信制御方法および通信システム
EP2078385B1 (en) Method and apparatus for preventing duplicate saving of resource between universal plug and play devices providing content directory service
JP2016197281A (ja) サービス冗長化方法、情報処理装置、及びプログラム
EP2981122A1 (en) Information processing system
CN111106966B (zh) 一种信息处理方法及装置、设备、存储介质
JP2018078527A (ja) 無線通信装置、その制御方法、およびプログラム
JP5687255B2 (ja) 端末装置、方法、プログラム及び無線通信システム
KR20130078220A (ko) 사용자 단말기 및 그의 애플리케이션 간 데이터 공유 방법
CN113076125B (zh) 直播业务升级处理方法、装置、介质和服务器
JP5745658B1 (ja) Pbx装置、加入者登録方法、および加入者登録プログラム
JP2009245322A (ja) ネットワークブートシステム、ネットワークブート方法
JP6733417B2 (ja) 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
JP5337899B2 (ja) ネットワークブートシステム、ネットワークブート方法、ネットワークストレージ管理装置
JP2008141478A (ja) 同報検索システム及び同報検索プログラム
JP5694900B2 (ja) 無線通信システム及び無線通信方法
JP5826950B2 (ja) Httpプロトコルを使用したデバイス電力最適化によるデバイスコンテンツのリモートアクセスおよび管理
JP6314696B2 (ja) ネットワークシステム、ネットワークシステムにおけるアドレスの通知方法、情報処理装置、および、装置
JP2015052991A (ja) 無線通信システム、データバックアップ方法、収容局装置および基地局装置
JP2023028351A (ja) 計算機システム及び更新制御方法