JP6864936B1 - 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム - Google Patents

情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP6864936B1
JP6864936B1 JP2020130170A JP2020130170A JP6864936B1 JP 6864936 B1 JP6864936 B1 JP 6864936B1 JP 2020130170 A JP2020130170 A JP 2020130170A JP 2020130170 A JP2020130170 A JP 2020130170A JP 6864936 B1 JP6864936 B1 JP 6864936B1
Authority
JP
Japan
Prior art keywords
service
unit
information
state
terminal
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
JP2020130170A
Other languages
English (en)
Other versions
JP2022026612A (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.)
Diarkis Inc
Original Assignee
Diarkis 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 Diarkis Inc filed Critical Diarkis Inc
Priority to JP2020130170A priority Critical patent/JP6864936B1/ja
Priority to JP2021042794A priority patent/JP6929582B1/ja
Application granted granted Critical
Publication of JP6864936B1 publication Critical patent/JP6864936B1/ja
Priority to US18/018,998 priority patent/US11771983B2/en
Priority to PCT/JP2021/028561 priority patent/WO2022025295A1/ja
Priority to JP2021127166A priority patent/JP2022027747A/ja
Publication of JP2022026612A publication Critical patent/JP2022026612A/ja
Priority to US18/363,354 priority patent/US20230372811A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】従来、サービスサーバの障害に強い情報システムを提供できなかった。【解決手段】自己の状態情報が格納される自己状態格納部と、他のサービスサーバの状態情報が格納される他状態格納部と、端末装置に対してサービスを提供するサービス部と、自己の状態情報を管理サーバに送信する状態送信部と、管理サーバから他の状態情報を受信する状態受信部と、自己の状態情報が第一条件を満たすか否かを判断する第一判断部と、第一条件を満たすと判断した場合に、サービス部がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理部とを具備する情報システムにより、サービスサーバの障害に強い情報システムを提供できる。【選択図】図3

Description

本発明は、複数の端末装置に対してサービスを提供する情報システム等に関するものである。
従来、通信ネットワークを介して複数のプレイヤが同じゲームを簡単に楽しめる仕組みを提供するシステムが存在した(特許文献1参照)。
かかるシステムを構成するゲームサーバは、複数のゲーム端末と通信ネットワークを介して接続される。ゲームサーバは、グループ要求を送信した第1のゲーム端末から所定距離内に第1のゲーム端末と同一のルームIDにてグループ要求をしている第2のゲーム端末が存在しないときには、第1のゲーム端末に対応するエリアルームを開設し、そのような第2のゲーム端末が存在するときには第2のゲーム端末が対応づけられているエリアルームに第1のゲーム端末を対応づける。エリアルームにおいて複数のゲーム端末のマッチングが成立したとき、エリアルームに対応づけられているゲーム端末に共通のゲーム設定情報を提供する。
特開2020−110674号公報
しかしながら、従来技術においては、端末装置に対してサービスを提供するサービスサーバの障害に強い情報システムを提供できなかった。つまり、従来技術においては、例えば、ゲームサーバがダウンした場合、端末装置へのゲームというサービスの提供が継続できなかった。
本第一の発明の情報システムは、1以上の端末装置に対してサービスを提供する2以上のサービスサーバと管理サーバとを具備する情報システムであって、サービスサーバは、サービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部と、1以上の端末装置に対してサービスを提供するサービス部と、自己の状態情報を管理サーバに送信する状態送信部と、管理サーバから1以上の他の状態情報を受信する状態受信部と、状態受信部が受信した1以上の他の状態情報を他状態格納部に蓄積する他状態蓄積部と、自己の状態情報が第一条件を満たすか否かを判断する第一判断部と、第一判断部が第一条件を満たすと判断した場合に、サービス部がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理部とを具備し、管理サーバは、2以上の各サービスサーバから自己の状態情報を受信する管理受信部と、管理受信部が受信した2以上の自己の状態情報のうち、少なくとも送信先のサービスサーバの状態情報ではない1以上の他の状態情報を、2以上の各サービスサーバに送信する管理送信部とを具備する情報システムである。
かかる構成により、端末装置に対してサービスを提供するサービスサーバの障害に強い情報システムを提供できる。
また、本第二の発明の情報システムは、第一の発明に対して、移管処理部は、1以上の他の状態情報を用いて、サービス部がサービスを提供している1以上の端末装置のうち、いずれか1以上の端末装置がサービスを受ける他のサービスサーバを決定する移管サーバ決定手段と、サービス部がサービスを提供しているいずれか1以上の端末装置が、移管サーバ決定手段が決定した他のサービスサーバからサービスを受けるための移管処理を行う移管処理手段とを具備する情報システムである。
かかる構成により、端末装置に対してサービスを提供するサービスサーバの障害に強い情報システムを提供できる。
また、本第三の発明の情報システムは、第一または第二の発明に対して、移管処理部は、端末識別子に対応付けられた情報であり、サービス部がサービスを提供している端末装置の状態に関する情報である端末サービス情報を含む移管依頼を受信する移管依頼受信手段と、移管依頼に対応する端末識別子で識別される端末装置との通信を開始する通信開始手段とを具備し、サービス部は、移管依頼に含まれる端末サービス情報を用いて、移管依頼に対応する端末識別子で識別される端末装置に対してサービスを提供する情報システムである。
かかる構成により、端末装置に対してサービスを提供するサービスサーバの障害に強い情報システムを提供できる。
また、本第四の発明の情報システムは、第一から第三いずれか1つの発明に対して、状態送信部は、状態受信部が受信した、最新の1以上の他の状態情報のバージョンを特定する特定情報をも管理サーバに送信し、管理受信部は、サービスサーバから特定情報をも受信し、管理送信部は、管理受信部が受信した特定情報が示すバージョンが、管理受信部が受信した、最新の2以上の状態情報に対応するバージョンと一致しない場合に、1以上の他の状態情報を、2以上の各サービスサーバに送信する、情報システムである。
かかる構成により、サービスサーバと管理サーバとの通信量を減らすことができる。
また、本第五の発明の情報システムは、第一から第四いずれか1つの発明に対して、状態受信部は、管理サーバから2以上のすべてのサービスサーバの状態情報を受信し、管理送信部は、管理受信部が受信した2以上のすべての自己状態情報を、2以上の各サービスサーバに送信する、情報システムである。
かかる構成により、管理サーバの処理量を減らすことができる。
また、本第六の発明の情報システムは、第一から第五いずれか1つの発明に対して、状態送信部は、自己の状態情報を管理サーバに、概ね定期的に送信し、管理送信部は、1以上の他の状態情報を、2以上の各サービスサーバに、概ね定期的に送信する情報システムである。
かかる構成により、サービスサーバと管理サーバとの通信量を減らすことができる。
また、本第七の発明の情報システムは、第一から第六いずれか1つの発明に対して、サービスサーバは、サービスサーバの自己の状態情報を取得し、自己状態格納部に蓄積する状態更新部をさらに具備する情報システムである。
かかる構成により、自己の状態情報を更新できる。
また、本第八の発明の情報システムは、第一から第七いずれか1つの発明に対して、サービスサーバは、第二条件を満たす場合に、ダウンするためのダウン処理を行うダウン部をさらに具備する情報システムである。
かかる構成により、サービスサーバを適切にダウンさせることができる。
また、本第九の発明の情報システムは、第八の発明に対して、ダウン部は、移管処理部が、サービス部がサービスを提供しているすべての端末装置に対する移管処理が完了した後に、ダウン処理を行う、情報システムである。
かかる構成により、サービスサーバをダウンさせる前に、サービス提供先の端末装置を他のサービスサーバに移管することにより、サービスサーバを適切にダウンさせることができる。
また、本第十の発明の情報システムは、第一から第九いずれか1つの発明に対して、サービスサーバは、端末装置からリクエストを受信するリクエスト受信部をさらに具備し、第一判断部は、自己の状態情報を参照し、リクエストが第一条件を満たすか否かを判断する、情報システムである。
かかる構成により、サービス提供先の端末装置を他のサービスサーバに、適切に移管することできる。
また、本第十一の発明の情報システムは、第一から第十いずれか1つの発明に対して、サービスサーバは、第三条件を満たす場合に、休止中のサービスサーバを起動させるための起動処理を行う起動部とをさらに具備する情報システムである。
かかる構成により、サービスサーバを適切に起動できる。
また、本第十二の発明の情報システムは、第一から第十一いずれか1つの発明に対して、サービスサーバは、端末装置から1以上のユーザ属性値を受信するユーザ属性値受信部と、ユーザ属性値受信部が受信した1以上のユーザ属性値に対応する属性値条件を満たす端末装置を識別する2以上の端末識別子を取得し、2以上の端末識別子を有するグループリストを取得するグループ化部と、グループリストを端末装置に送信するグループリスト送信部とをさらに具備する情報システムである。
かかる構成により、端末装置のグループを適切に作成できる。
また、本第十三の発明の情報システムは、第十二の発明に対して、グループ化部は、ユーザ属性値受信部が受信した1以上のユーザ属性値を含む端末選択要求を1以上の他のサービスサーバに送信する要求送信手段と、端末選択要求の送信に応じて、属性値条件を満たす1以上の端末装置の端末識別子を受信する端末識別子受信手段と、端末識別子受信手段が受信した1以上の端末識別子を含むグループリストを構成するグループリスト構成手段とを具備する情報システムである。
かかる構成により、端末装置のグループをより適切に作成できる。
また、本第十四の発明の情報システムは、第十三の発明に対して、サービス部がサービス提供している端末装置の1以上のユーザ属性値を、端末識別子に対応付けて格納しているユーザ属性値格納部と、端末選択要求を他のサービスサーバから受信する選択要求受信部をさらに具備し、グループ化部は、サービス部がサービスを提供している端末装置の中から、選択要求受信部が受信した端末選択要求に合致するユーザ属性値に対応する1以上の端末装置を選択し、1以上の各端末装置4を識別する端末識別子を取得する端末選択手段と、端末選択手段が取得した1以上の端末識別子を、端末選択要求を送信してきたサービスサーバに送信する端末識別子送信手段とをさらに具備する、情報システムである。
かかる構成により、端末装置のグループをより適切に作成できる。
また、本第十五の発明の情報システムは、第一から第十四いずれか1つの発明に対して、サービスサーバが1以上の端末装置に対して提供するサービスは、ゲームである、情報システムである。
かかる構成により、端末装置に対してサービスを提供する一のサービスサーバに障害が発生しても、継続して、ゲームを楽しむことができる。
本発明による情報システムによれば、端末装置に対してサービスを提供するサービスサーバの障害に強い情報システムを提供できる。
実施の形態1における情報システムAの概念図 同情報システムAのブロック図 同情報システムAを構成するサービスサーバ1のブロック図 同サービスサーバ1の動作例について説明するフローチャート 同第一判断処理の例について説明するフローチャート 同移管処理の例について説明するフローチャート 同リスト構成処理の例について説明するフローチャート 同端末選択処理の例について説明するフローチャート 同ダウン処理の例について説明するフローチャート 同被移管処理の例について説明するフローチャート 同管理サーバ2の動作例について説明するフローチャート 同外部サーバ3の動作例について説明するフローチャート 同端末装置4の動作例について説明するフローチャート 同コンピュータシステムの概観図 同コンピュータシステムのブロック図
以下、情報システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、2以上のサービスサーバと管理サーバとを具備する情報システムについて説明する。サービスサーバは、1以上の端末装置にサービスを提供するとともに、管理サーバに状態情報を送信する。また、サービスサーバは、管理サーバから他のサービスサーバの状態情報を受信する。管理サーバは、各サービスサーバから状態情報を受信し、かつ各サービスサーバに他のサービスサーバの状態情報を送信する。その結果、各サービスサーバでは、他のサービスサーバの状態情報をも管理する。そして、一のサービスサーバの状態情報が第一条件を満たす場合、サービスサーバは、他のサービスサーバの状態情報を参照し、当該一のサービスサーバからサービスを受けている端末装置、または当該一のサービスサーバにアクセスした端末装置が、サービスを受けるべき他のサービスサーバを決定し、当該一の端末装置が当該他のサービスサーバからサービスを受けるための移管処理を行う。なお、サービスサーバと管理サーバとの通信方法、通信の頻度等について、種々の方法等が考えられる。また、サービスサーバにおいて、通常、頻度高く、または常時、自己の状態情報を更新する。
また、本実施の形態において、サービスサーバが第二条件を満たす場合、当該サービスサーバをダウンさせるための処理を行う情報システムについて説明する。
また、本実施の形態において、サービスサーバが第三条件を満たす場合、休止中のサービスサーバを起動させるための処理を行う情報システムについて説明する。
また、本実施の形態において、2以上の端末装置のマッチメイキングを行う情報システムについて説明する。
さらに、本実施の形態において、サービスサーバの起動やダウンをコントロールする外部サーバをさらに具備する情報システムについて説明する。
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、2以上のサービスサーバ1、管理サーバ2、外部サーバ3、および2以上の端末装置4を備える。
サービスサーバ1は、端末装置4にサービスを提供するサーバである。サービスサーバ1が提供するサービスは問わない。サービスは、例えば、ゲームである。つまり、端末装置のユーザは、サービスサーバ1と管理サーバ2とを用いて、ゲームを行える。ただし、サービスサーバ1が端末装置4に提供するサービスは、ゲームに限らない。サービスサーバ1が端末装置4に提供するサービスは、例えば、AR(拡張現実感)を用いた情報の表示サービス、VR(仮想現実)を用いた情報の表示サービス、チャット、TV会議でも良く、その内容は問わない。
管理サーバ2は、2以上の各サービスサーバ1の状態を管理するサーバである。管理サーバ2は、2以上の各サービスサーバ1から状態情報を受信し、各サービスサーバ1に他のサービスサーバ1の状態情報を送信する。管理サーバ2が送信する状態情報は、全サービスサーバ1の状態情報である状態情報群でも良い。
外部サーバ3は、2以上の各サービスサーバ1の状態情報を受信し、サービスサーバ1にダウン指示や起動指示を送信するサーバである。なお、管理サーバ2が受信する状態情報と外部サーバ3が受信する状態情報とは、同じ種類の情報でなくても良い。
端末装置4は、サービスの提供を受ける端末である。端末装置4は、通常、サービスサーバ1から、サービスの提供を受ける端末である。
サービスサーバ1、管理サーバ2、および外部サーバ3は、例えば、ASPのサーバ、クラウドサーバ等である。但し、サービスサーバ1、管理サーバ2、および外部サーバ3の種類は問わない。
端末装置4は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン等であり、その種類は問わない。
2以上のサービスサーバ1、管理サーバ2、外部サーバ3、および2以上の端末装置4は、通常、インターネット、LAN等のネットワークにより、相互に通信可能である。
図2は、本実施の形態における情報システムAのブロック図である。図3は、情報システムAを構成するサービスサーバ1のブロック図である。
サービスサーバ1は、格納部11、処理部12、送信部13、および受信部14を備える。格納部11は、例えば、自己状態格納部111、他状態格納部112、端末サービス情報格納部113、およびユーザ属性値格納部114を備える。
処理部12は、例えば、サービス部121、状態更新部122、他状態蓄積部123、第一判断部124、移管処理部125、ダウン部126、起動部127、およびグループ化部128を備える。移管処理部125は、例えば、移管サーバ決定手段1251、移管処理手段1252、移管依頼受信手段1253、端末サービス情報蓄積手段1254、および通信開始手段1255を備える。グループ化部128は、例えば、要求送信手段1281、端末識別子受信手段1282、グループリスト構成手段1283、端末選択手段1284、および端末識別子送信手段1285を備える。送信部13は、例えば、状態送信部131、およびグループリスト送信部132を備える。受信部14は、例えば、状態受信部141、リクエスト受信部142、ユーザ属性値受信部143、および選択要求受信部144を備える。
管理サーバ2は、管理格納部21、管理受信部22、管理処理部23、および管理送信部24を備える。
外部サーバ3は、外部格納部31、外部受信部32、外部処理部33、および外部送信部34を備える。
端末装置4は、端末格納部41、端末受付部42、端末処理部43、端末送信部44、端末受信部45、および端末出力部46を備える。
サービスサーバ1を構成する格納部11には、各種の情報が格納される。各種の情報とは、例えば、後述する状態情報、後述する端末サービス情報、後述するユーザ属性値、後述する属性値条件、自己のサービスサーバ識別子、1以上の他のサービスサーバ識別子である。
サービスサーバ識別子は、サービスサーバ1を識別する情報である。サービスサーバ識別子は、例えば、ID、IPアドレス、MACアドレスである。ただし、サービスサーバ識別子は、サービスサーバ1を識別できる情報であれば良く、問わない。
自己状態格納部111には、自己の状態情報が格納される。状態情報とは、サービスサーバ1の状態に関する情報である。自己の状態情報は、サービスサーバ1自身の状態情報である。
状態は、常時、変化する情報ではない静的状態、概ね常時変化し得る動的状態の2種類の状態のうちの1種類または2種類の状態である。つまり、状態情報は、静的状態情報、動的状態情報、または静的状態情報と動的状態情報である。
静的状態情報は、例えば、処理対象情報、処理能力情報である。処理対象情報は、サービスサーバ1が提供できるサービスを特定する情報である。処理対象情報は、サービスサーバ1が対応可能なサービスの守備範囲を特定する情報である、と考えても良い。処理対象情報は、例えば、処理可能な命令を識別する命令識別子、サービス提供可能なゲームのルームを識別するルーム識別子、サービス提供可能なゲームのステージを識別するステージ識別子である。処理能力情報は、サービスサーバ1の処理能力を特定する情報である。処理能力情報は、例えば、サービス提供が可能な最大の端末装置4の数、プロセッサの能力を示す情報(例えば、CPUのクロック数、コア数)である。なお、静的状態情報は、例えば、システムの管理者の端末装置4から受信部14が受信し、処理部12により、蓄積された情報である。
動的状態情報は、例えば、負荷情報である。負荷情報は、サービスサーバ1の負荷に関する情報である。負荷情報は、例えば、端末数、プロセッサの稼働率(例えば、CPU稼働率)、負荷のレベルである。端末数は、サービスサーバ1がサービスを提供している端末装置4の数である。
他状態格納部112は、1または2以上の他の状態情報が格納される。他の状態情報とは、他のサービスサーバ1の状態情報である。通常、自己の態情報と他の状態情報とは同じ種類の情報である。他の状態情報は、通常、他のサービスサーバ1の他のサービスサーバ識別子に対応付いている。
端末サービス情報格納部113には、1以上の各端末装置4の端末サービス情報が格納される。端末サービス情報は、通常、端末装置4を識別する端末識別子に対応付けられている。1以上の各端末装置4は、サービス部121がサービスを提供している端末装置である。なお、端末識別子は、端末装置4を識別する情報である。端末識別子は、端末装置4を使用するユーザを識別するユーザ識別子でも良い。端末識別子は、例えば、ID、IPアドレス、MACアドレス、電話番号、ユーザID、メールアドレスである。
端末サービス情報は、サービスを提供している端末装置4に関する情報である。端末サービス情報は、サービス部121がサービスを提供している端末装置4の状態に関する情報である。端末サービス情報は、例えば、進行中のゲームの状態に関する情報である。端末サービス情報は、例えば、ゲームの再開を可能にするための情報である。端末サービス情報は、例えば、VRで出力されている情報または場面を特定する情報である。端末サービス情報は、例えば、ARで出力されている情報または場面を特定する情報である。端末サービス情報は、例えば、チャットにおける相手先の端末装置4を識別する端末識別子および今までのチャットの内容を含む。
ユーザ属性値格納部114には、1以上の各ユーザの1以上のユーザ属性値が格納される。1以上の各ユーザとは、1以上の各端末装置4を使用するユーザである。1以上のユーザ属性値は、端末識別子に対応付けられている。1以上の各端末装置4は、サービス部121がサービスを提供している端末装置である。ユーザ属性値は、ユーザの属性値である。ユーザ属性値は、例えば、ユーザのゲームのレベル、氏名、性別、年齢、所属する組織の識別子(例えば、会社名、会社ID)等である。ユーザ属性値は、ユーザに関する情報であれば何でも良い。
処理部12は、各種の処理を行う。各種の処理とは、例えば、サービス部121、状態更新部122、他状態蓄積部123、第一判断部124、移管処理部125、ダウン部126、起動部127、グループ化部128が行う処理である。
処理部12は、例えば、後述する第二条件を満たすか否かを判断する。また、処理部12は、例えば、後述する第三条件を満たすか否かを判断する。
処理部12は、例えば、受信された1以上のユーザ属性値を、端末識別子に対応付けて、ユーザ属性値格納部114に蓄積する。1以上のユーザ属性値は、例えば、ユーザ属性値受信部143が受信する。1以上のユーザ属性値は、例えば、受信されたリクエストに含まれている。
サービス部121は、1以上の端末装置4に対してサービスを提供する。上述した通り、 サービスの内容は問わない。サービスは、例えば、ゲーム、VR、AR等である。
サービス部121は、通常、1以上の端末装置4に対してサービスを提供し、当該サービスの提供の結果を含む端末サービス情報を取得し、当該端末サービス情報を、端末識別子と対にして端末サービス情報格納部113に蓄積する。なお、端末サービス情報の内容やデータ構造等は、通常、サービスにより異なる。また、サービス部121がサービスを提供し、端末サービス情報を取得する処理は、種々の公知技術により実現可能である。
サービスの提供とは、例えば、端末装置4から受信したリクエストに対する処理を行うことである。かかる処理の結果は、例えば、端末装置4に送信される。
状態更新部122は、サービスサーバ1の自己の状態情報を取得し、自己状態格納部111に蓄積する。状態更新部122は、例えば、常時、自己の状態情報を取得し、自己状態格納部111に蓄積する。状態更新部122は、例えば、定期的に状態情報を取得し、自己状態格納部111に蓄積する。状態更新部122が状態情報を更新するタイミングは問わない。また、定期的に情報を取得することは、常時、情報を取得することを含むと考えても良い。定期的に情報を取得することは、略定期的であれば良く、情報の取得の間隔が、多少、異なっていても良い趣旨である。
状態更新部122は、例えば、サービスを提供している端末装置4の数である端末数を取得する。状態更新部122は、例えば、プロセッサの稼働率を取得する。端末数やプロセッサの稼働率を取得する技術は公知技術であるので、詳細な説明は省略する。
状態更新部122が行う更新処理の結果、自己状態格納部111には、通常、自己の最新の状態情報が格納されている。
他状態蓄積部123は、状態受信部141が受信した1または2以上の他の状態情報を他状態格納部112に蓄積する。 他状態蓄積部123は、状態受信部141が受信した1以上の各状態情報を、サービスサーバ識別子に対応付けて、他状態格納部112に蓄積する。他状態蓄積部123は、通常、状態受信部141が受信したすべての状態情報を他状態格納部112に蓄積する。かかるすべての状態情報の中に、自己の状態情報が含まれていても良い。
他状態蓄積部123の処理の結果、他状態格納部112には、通常、1以上の他のサービスサーバ1の最新の状態情報が、サービスサーバ識別子に対応付けて格納されている。
第一判断部124は、自己の状態情報が第一条件を満たすか否かを判断する。第一判断部124は、例えば、自己の状態情報のみを使用して、第一条件を満たすか否かを判断する。
第一条件は、リクエストを送信してきた端末装置4を他のサービスサーバ1に移管するための条件である。第一条件は、サービス提供中の端末装置4または新たにアクセスしてきた端末装置4を他のサービスサーバ1に移管するための条件である。
第一判断部124は、例えば、自己の状態情報が有する端末数が第一条件を満たすか否かを判断する。かかる場合、第一条件は、例えば、「端末数が閾値以下」、「端末数が閾値未満」、「全サービスサーバ1が対応している端末装置4の数(以下、適宜、「全端末数」という)のうちの端末数の割合が閾値以下」、「全端末数のうちの端末数の割合が閾値未満」、または「端末数が自己の対応可能な端末数と比較して予め決められた条件を満たすほど多い(例えば、同じ、または多い等)」、である。
第一判断部124は、例えば、自己の状態情報と受信されたリクエストとを使用して、第一条件を満たすか否かを判断する。第一判断部124は、例えば、自己の状態情報を参照し、リクエストが第一条件を満たすか否かを判断する。
第一判断部124は、例えば、リクエストが有する処理対象情報が、自己の状態情報が有する処理対象情報の中に含まれるか否か(サービス部121がリクエストに対応するサービスの提供が可能か否か)を判断する。かかる場合、第一条件は、「リクエストが有する処理対象情報が自己の状態情報が有する処理対象情報に含まれないこと」である。例えば、ゲームが進行していき、ゲームが次のステージになった場合に、第一判断部124は、端末装置4から送信されたリクエストが有する処理対象情報が自己の状態情報が有する処理対象情報に含まれないと判断する。
第一判断部124は、例えば、提供しているサービス(例えば、ゲーム)におけるカレントの段階の処理が完了したことを判断する。かかる場合、第一条件は、例えば、一の段階の処理が完了すること、ゲームにおいて他のルームに移動する必要が生じたことである。また、かかる場合、格納部11には、例えば、サービス(例えば、ゲーム)の段階の処理を判断するための情報が格納されている。
移管処理部125は、移管処理を行う。移管処理とは、サービス部121がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である。移管処理は、例えば、サービス部121がサービスを提供しているいずれか1以上の端末装置4が、移管サーバ決定手段1251が決定した他のサービスサーバ1からサービスを受けるための処理である。
移管処理は、例えば、移管する端末装置4の端末識別子に対応する端末サービス情報を端末サービス情報格納部113から取得し、当該端末サービス情報を、移管先のサービスサーバ1に送信する処理である。移管処理は、例えば、移管される端末装置4との通信を切断する処理も含む。移管先のサービスサーバ1に送信する処理は、移管サーバ決定手段1251が取得した他のサービスサーバ識別子を用いて、当該サービスサーバ識別子で識別されるサービスサーバ1に送信する処理である。
移管サーバ決定手段1251は、1以上の他の状態情報を用いて、移管先のサービスサーバ1を決定する。移管先のサービスサーバ1とは、端末装置4に対して、サービスを提供するべきサービスサーバ1である。
移管サーバ決定手段1251は、1以上の他の状態情報を用いて、例えば、サービス部121がサービスを提供している1以上の端末装置4のうち、いずれか1以上の端末装置4がサービスを受ける他のサービスサーバ1を決定する。
移管サーバ決定手段1251は、1以上の他の状態情報を用いて、例えば、アクセスが開始された端末装置4がサービスを受けるべき他のサービスサーバ1を決定する。アクセスが開始された端末装置4とは、通常、1以上の一連のリクエストの送付の中での初めてのリクエストを送付してきた端末装置4である。
移管サーバ決定手段1251は、通常、第一判断部124が第一条件を満たすと判断した場合に、端末装置4がサービスを受けるべき他のサービスサーバ1を決定する。
決定される他のサービスサーバ1は、例えば、端末装置4からのリクエストに対応可能なサービスサーバ1である。移管サーバ決定手段1251は、例えば、受信されたリクエストに含まれる処理対象情報に対応するサービスの提供が可能なサービスサーバ1を、移管先のサービスサーバ1として決定する。移管サーバ決定手段1251は、例えば、受信されたリクエストに含まれる処理対象情報に対応する処理対象情報を含む他の状態情報を、他状態格納部112から検出し、当該他の状態情報と対になる他のサービスサーバ識別子を取得する。
移管サーバ決定手段1251は、例えば、受信されたリクエストに含まれる処理対象情報に対応するサービスの提供が可能なサービスサーバ1のうち、負荷情報が示す負荷が最も小さい他の状態情報に対応するサービスサーバ1を移管先のサービスサーバ1として決定する。
移管処理手段1252は、サービス部121がサービスを提供しているいずれか1以上の端末装置が、移管サーバ決定手段1251が決定した他のサービスサーバ1からサービスを受けるための移管処理を行う。
移管処理手段1252は、例えば、移管対象の端末装置4の端末識別子を取得する。また、移管処理手段1252は、当該端末識別子と対になる端末サービス情報を端末サービス情報格納部113から取得する。次に、移管処理手段1252は、端末識別子と端末サービス情報とが対応付いた移管依頼を構成する。次に、移管処理手段1252は、当該移管医大を移管サーバ決定手段1251が決定した他のサービスサーバ1に送信する。次に、移管処理手段1252は、当該端末装置4との通信を切断する。
移管依頼受信手段1253は、移管依頼を受信する。移管依頼受信手段1253は、他のサービスサーバ1から送信された移管依頼を受信する。
端末サービス情報蓄積手段1254は、移管依頼受信手段1253が受信した移管依頼に含まれる端末サービス情報を、当該移管依頼に含まれる端末識別子と対にして、端末サービス情報格納部113に蓄積する。
通信開始手段1255は、移管依頼に含まれる端末識別子で識別される端末装置4との通信を開始する。以後、リクエスト受信部142は、当該端末装置4からリクセスとを受信することができる。
ダウン部126は、第二条件を満たす場合に、ダウン処理を行う。ダウン処理とは、サービスサーバ1がダウンするための処理である。ダウン処理は、例えば、サービスサーバ1のシャットダウンの処理である。ダウン処理は、例えば、サービスサーバ1をスリープ状態にする処理である。スリープ状態とは、起動信号の受け付けにより起動できる状態である。
第二条件は、例えば、外部の装置からダウン指示を受信したことである。ダウン指示とは、ダウンすることの指示である。また、外部の装置は、例えば、外部サーバ3である。外部の装置は、例えば、他のサービスサーバ1、または管理サーバ2でも良い。
第二条件は、例えば、自己の状態情報に関する条件である。第二条件は、例えば、自己の状態情報が有する負荷情報の負荷が予め決められた条件を満たすほど小さいことである。第二条件は、例えば、サービスを提供している端末装置4の数または割合が、予め決められた条件を満たすほど少ないことである。第二条件は、例えば、サービスを提供している端末装置4の数が「0」であることである。
ダウン部126は、移管処理部125が、サービス部121がサービスを提供しているすべての端末装置4に対する移管処理が完了した後に、ダウン処理を行うことは好適である。
なお、処理部12は、第二条件を満たすか否かを判断する第二判断部(図示しない)を具備しても良い。
起動部127は、第三条件を満たす場合に、休止中のサービスサーバ1を起動させるための起動処理を行う。起動処理は、例えば、スリープ状態から、通常のサービス提供可能な状態とすることである。
第三条件は、例えば、外部の装置から起動指示を受信したことである。また、外部の装置は、例えば、外部サーバ3である。外部の装置は、例えば、他のサービスサーバ1、または管理サーバ2でも良い。休止中のサービスサーバ1は、自己である。起動処理とは、サービスサーバ1を起動する処理である。起動処理は、スリープ状態から、サービス提供が可能な状態とする処理でも良い。
なお、処理部12は、第三条件を満たすか否かを判断する第三判断部(図示しない)を具備しても良い。
グループ化部128は、属性値条件を満たす端末装置4を識別する2以上の端末識別子を取得し、2以上の端末識別子を有するグループリストを取得する。属性値条件とは、ユーザ属性値受信部143が受信した1以上のユーザ属性値に対する条件である。属性値条件は、例えば、ユーザ属性値受信部143が受信した1以上のユーザ属性値を用いた条件である。例えば、ユーザ属性値受信部143が受信した1以上のユーザ属性値がユーザのゲームのレベルである場合、属性値条件は、例えば、「レベルが一致すること」「レベルが予め決められた条件を満たすほど近似すること」である。「レベルが予め決められた条件を満たすほど近似すること」は、例えば、「レベルの差が閾値以下」「レベルの差が閾値未満」「「レベルの差が上位N人以内(差が無いほど上位)」である。
グループ化部128は、例えば、要求送信手段1281、端末識別子受信手段1282、グループリスト構成手段1283の処理により、上記の処理を実現する。
要求送信手段1281は、端末選択要求を1以上の他のサービスサーバ1に送信する。端末選択要求とは、ユーザ属性値受信部143が受信した1以上のユーザ属性値に対応するユーザとグループを構成するユーザを選択する要求である。ユーザの選択は、端末装置4の選択である。端末選択要求は、ユーザ属性値受信部143が受信した1以上のユーザ属性値を含む。端末選択要求は、例えば、端末装置4から送信された命令である。
端末識別子受信手段1282は、端末選択要求の送信に応じて、属性値条件を満たす1以上の端末装置4の端末識別子を受信する。なお、端末選択要求は、端末装置4から送信されたリクエストの一例であっても良いし、他のサービスサーバ1から送信されても良い。
グループリスト構成手段1283は、ユーザ属性値受信部143が受信した1以上のユーザ属性値に対応するユーザとグループを構成する2以上の各ユーザに対応する端末識別子を含むグループリストを構成する。
グループリスト構成手段1283は、例えば、端末識別子受信手段1282が受信した1以上の端末識別子を含むグループリストを構成する。
グループリスト構成手段1283は、例えば、ユーザ属性値受信部143が受信した1以上のユーザ属性値に対応するユーザとグループを構成するユーザを、サービス部121がサービスを提供している端末装置4に対応する1以上のユーザから選択し、当該選択したユーザに対応する端末識別子を取得する。グループリスト構成手段1283は、例えば、サービス部121がサービスを提供している端末装置4を識別する端末識別子を取得し、当該端末識別子と対になる1以上のユーザ属性値をユーザ属性値格納部114から取得し、当該1以上のユーザ属性値が属性値条件を満たす場合に、当該端末識別子を、グループリストを構成する情報として取得する。
グループリスト構成手段1283は、ユーザ属性値受信部143が受信した1以上のユーザ属性値に対応するユーザに対応する端末識別子と、自ら選択した1以上の各ユーザに対応する端末識別子のみを含むグループリストを構成しても良い。
グループリスト構成手段1283は、自ら選択した1以上の各ユーザに対応する端末識別子と、端末識別子受信手段1282が受信した1以上の端末識別子とを含むグループリストを構成しても良い。
端末選択手段1284は、サービス部121がサービスを提供している端末装置4の中から、後述する選択要求受信部144が受信した端末選択要求に合致するユーザ属性値に対応する1以上の端末装置4を選択し、当該1以上の各端末装置4を識別する端末識別子を取得する。端末選択手段1284は、例えば、サービス部121がサービスを提供している端末装置4の端末識別子と対になる1以上のユーザ属性値が、端末選択要求に含まれる1以上のユーザ属性値に基づいた属性値条件を満たすか否かを判断し、満たす1以上のユーザ属性値と対になる端末識別子を取得する。
端末識別子送信手段1285は、端末選択手段1284が取得した1以上の端末識別子を、端末選択要求を送信してきたサービスサーバ1に送信する。
送信部13は、各種の情報を送信する。各種の情報は、例えば、自己の状態情報、グループリスト、サービス部121における処理結果である。
状態送信部131は、自己の状態情報を管理サーバ2に送信する。状態送信部131は、自己の状態情報を管理サーバ2に、概ね定期的に送信することは好適である。ただし、状態送信部131が自己の状態情報を管理サーバ2に送信するタイミングは問わない。概ね定期的とは、少しの送信間隔の差異は許容する趣旨である。概ね定期的とは、常時でも良い。
状態送信部131は、自己状態格納部111から、最新の自己の状態情報を取得し、当該状態情報を管理サーバ2に送信することは好適である。
状態送信部131は、特定情報をも管理サーバ2に送信することは好適である。特定情報とは、状態受信部141が受信した、最新の1以上の他の状態情報のバージョンを特定する情報である。特定情報は、例えば、最新の1以上の他の状態情報、または最新の1以上の他の状態情報と最新の自己の状態情報から作成されたハッシュ値である。特定情報は、例えば、最新の1以上の他の状態情報、または最新の1以上の他の状態情報と最新の自己の状態情報を暗号化した情報である。ただし、特定情報は、最新の1以上の他の状態情報のバージョンを特定できる情報であれば良く、そのデータ構造等は問わない。
状態送信部131は、自己の状態情報と特定情報とを一緒に送信することは好適であるが、別々に送信しても良い。
グループリスト送信部132は、グループリストを端末装置4に送信する。グループリスト送信部132は、通常、グループリスト要求を送信してきた端末装置4に、グループリスト構成手段1283が構成したグループリストを送信する。
受信部14は、各種の情報を受信する。各種の情報とは、例えば、他の状態情報、リクエスト、ユーザ属性値、選択要求である。
状態受信部141は、管理サーバ2から1以上の他の状態情報を含む状態情報群を受信する。状態受信部141は、管理サーバ2から2以上のすべてのサービスサーバ1の状態情報を受信しても良い。すべてのサービスサーバ1の状態情報は、自己の状態情報を含む。状態受信部141が受信する状態情報は、サービスサーバ識別子に対応付いている。
リクエスト受信部142は、端末装置4からリクエストを受信する。リクエストとは、サービス提供のためのリクエストである。リクエスト受信部142が受信するリクエストは、端末識別子に対応付いている。リクエストの内容、データ構造等は、種々のものがあり得、問わない。
ユーザ属性値受信部143は、端末装置4から1以上のユーザ属性値を受信する。ユーザ属性値受信部143は、通常、端末識別子に対応付けられた1以上のユーザ属性値を受信する。
選択要求受信部144は、端末選択要求を他のサービスサーバ1から受信する。端末選択要求は、通常、1以上のユーザ属性値を含む。
管理サーバ2を構成する管理格納部21には、各種の情報が格納される。各種の情報とは、例えば、2以上の各サービスサーバ1の状態情報を有する状態情報群である。2以上の各状態情報は、サービスサーバ1を識別するサービスサーバ識別子に対応付いている。また、各種の情報とは、特定情報である。特定情報は、最新の状態情報群に対応付いている。最新の状態情報群は、2以上の各サービスサーバ1の状態情報を含む。
管理受信部22は、2以上の各サービスサーバ1から自己の状態情報を受信する。管理受信部22は、サービスサーバ1から特定情報をも受信することは好適である。管理受信部22は、サービスサーバ1のサービスサーバ識別子に対応付けて、サービスサーバ1から、状態情報または特定情報を受信する。
管理処理部23は、各種の処理を行う。各種の処理は、例えば、管理受信部22が受信した状態情報を管理格納部21に蓄積する処理である。管理処理部23は、例えば、管理受信部22が受信した状態情報を、サービスサーバ識別子に対応付けて管理格納部21に蓄積する。
管理処理部23は、2以上のサービスサーバ1の状態情報を用いて、特定情報を構成し、当該特定情報に対応付けて、当該2以上の状態情報を管理格納部21に蓄積することは好適である。なお、管理処理部23は、例えば、2以上の状態情報を用いて、特定情報を取得する。管理処理部23は、例えば、2以上の状態情報をハッシュ関数に与え、ハッシュ値である特定情報を取得する。管理処理部23は、例えば、2以上の状態情報を暗号化して、特定情報を取得する。
管理処理部23は、サービスサーバ1から受信した特定情報が、管理格納部21に格納されている特定情報と予め決められた関係を有するか否かを判断しても良い。かかる判断処理を特定情報判断という。なお、予め決められた関係は、例えば、一致すること、一方の特定情報を所定の関数に与えて出力された値が他方の特定情報と一致すること等である。
管理送信部24は、管理受信部22が受信した2以上の自己の状態情報のうち、少なくとも送信先のサービスサーバ1の状態情報ではない1以上の他の状態情報を、2以上の各サービスサーバに送信する。
管理送信部24は、管理受信部22が受信した2以上の状態情報のすべてを、2以上の各サービスサーバに送信することは好適である。
管理送信部24は、例えば、サービスサーバ1から受信した特定情報が、管理格納部21に格納されている特定情報と予め決められた関係を有しない場合に、最新の2以上の状態情報を、特定情報を送信してきたサービスサーバ1に送信する。
管理送信部24は、管理受信部22が受信した特定情報が示すバージョンが、管理受信部22が受信した、最新の2以上の状態情報に対応するバージョンと一致しない場合に、1以上の他の状態情報を、2以上の各サービスサーバ1に送信することは好適である。
管理送信部24は、管理受信部22が受信した2以上のすべての自己の状態情報を、2以上の各サービスサーバ1に送信することは好適である。
管理送信部24は、1以上の状態情報を、2以上の各サービスサーバ1に、概ね定期的に送信することは好適である。
管理送信部24は、サービスサーバ1からの要求に応じて、1以上の状態情報を送信することは好適である。
管理送信部24は、サービスサーバ1からの要求に応じて、管理処理部23が行った特定情報判断の結果、予め決められた関係を有しない、と管理処理部23が判断した場合に、1以上の状態情報を送信することは好適である。
管理処理部23が、サービスサーバ1から受信した特定情報が、管理格納部21に格納されている特定情報と予め決められた関係を有しない、と判断した場合に、管理送信部24は、1以上の他の状態情報を、当該サービスサーバ1に送信することは好適である。
外部サーバ3を構成する外部格納部31には、各種の情報が格納される。各種の情報は、例えば、2以上の各サービスサーバ1の負荷情報である。負荷情報は、サービスサーバ識別子に対応付いていることは好適である。
外部受信部32は、2以上の各サービスサーバ1から負荷情報を受信する。外部受信部32は、サービスサーバ識別子に対応付けられた負荷情報を受信する。
外部処理部33は、各種の処理を行う。各種の処理は、例えば、外部受信部32が受信した負荷情報を、サービスサーバ識別子に対応付けて外部格納部31に蓄積する処理である。各種の処理は、例えば、外部格納部31の1以上の負荷情報を用いて、休止中のサービスサーバ1に起動指示を送信するか否かを判断する処理である。各種の処理は、例えば、外部格納部31の1以上の負荷情報を用いて、サービスサーバ1にダウン指示を送信するか否かを判断する処理である。
外部処理部33は、例えば、負荷情報が予め決められた第二条件(例えば、「サービス提供中の端末数が閾値以下」)を満たすか否かを判断し、第二条件を満たす負荷情報と対になるサービスサーバ識別子を、ダウン指示を送信する先の情報として取得する。
外部処理部33は、例えば、1または2以上のサービスサーバ1の負荷情報が予め決められた第三条件(例えば、「総負荷量が予め決められた条件を満たすほど大きい」)を満たすか否かを判断し、第三条件を満たす場合に、ダウン中であることを示す負荷情報と対になるサービスサーバ識別子を、起動指示を送信する先の情報として取得する。
外部送信部34は、例えば、外部処理部33がダウン指示を送信すると判断したサービスサーバ1に対して、ダウン指示を送信する。
外部送信部34は、例えば、外部処理部33が起動指示を送信すると判断したサービスサーバ1に対して、起動指示を送信する。
外部送信部34は、例えば、ダウン指示を送信する先として取得したサービスサーバ識別子で識別されるサービスサーバ1にダウン指示を送信する。
外部送信部34は、例えば、外部処理部33が起動指示を送信する先として取得したサービスサーバ識別子で識別されるサービスサーバ1に起動指示を送信する。
端末装置4を構成する端末格納部41には、各種の情報が格納される。各種の情報は、例えば、端末識別子、1以上のユーザ属性値である。
端末受付部42は、各種の指示や情報を受け付ける。各種の指示や情報は、例えば、各種のリクエスト、端末選択要求である。なお、端末選択要求もリクエストの一例である、と考えても良い。
各種の指示や情報の入力手段は、タッチパネルやゲームコントローラやキーボードやマウスやメニュー画面によるもの等、何でも良い。
端末処理部43は、各種の処理を行う。各種の処理は、例えば、端末受付部42が受け付けた各種の指示や情報を送信する指示や情報に構成する処理である。各種の処理は、例えば、末受信部45が受信した情報を送信する情報に構成する処理である。各種の処理は、例えば、端末受付部42が受け付けたリクエストと、端末格納部41の端末識別子とを用いて、端末識別子に対応付いたリクエストを構成する。
端末送信部44は、各種の指示や情報をサービスサーバ1に送信する。各種の指示や情報は、例えば、端末識別子に対応付いたリクエストである。
端末受信部45は、各種の情報をサービスサーバ1から受信する。各種の情報は、例えば、
リクエストに対する処理の結果、グループリストである。
端末出力部46は、各種の情報を出力する。各種の情報は、例えば、リクエストに対する処理の結果、グループリストである。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
格納部11、自己状態格納部111、他状態格納部112、端末サービス情報格納部113、ユーザ属性値格納部114、管理格納部21、外部格納部31、および端末格納部41は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
処理部12、サービス部121、状態更新部122、他状態蓄積部123、第一判断部124、移管サーバ決定手段1251、移管処理部125、ダウン部126、起動部127、グループ化部128、グループリスト構成手段1283、端末選択手段1284、管理処理部23、外部処理部33、および端末処理部43は、通常、プロセッサやメモリ等から実現され得る。処理部12等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。プロセッサは、例えば、CPU、MPU、GPU等であるが、その種類は問わない。
要求送信手段1281、端末識別子送信手段1285、送信部13、状態送信部131、グループリスト送信部132、管理送信部24、外部送信部34、および端末送信部44は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
端末識別子受信手段1282、受信部14、状態受信部141、リクエスト受信部142、ユーザ属性値受信部143、選択要求受信部144、管理受信部22、外部受信部32、および端末受信部45は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
端末受付部42は、タッチパネルやゲームコントローラやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末出力部46は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部46は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報システムAの動作例について説明する。まず、サービスサーバ1の動作例について、図4のフローチャートを用いて説明する。
(ステップS401)リクエスト受信部142は、端末装置4から、端末識別子に対応付けて、リクエストを受信したか否かを判断する。リクエストを受信した場合はステップS402に行き、リクエストを受信しなかった場合はステップS414に行く。
(ステップS402)処理部12は、ステップS401で受信されたリクエストが端末選択要求であるか否かを判断する。端末選択要求である場合はステップS412に行き、端末選択要求でない場合はステップS403に行く。
(ステップS403)第一判断部124は、リクエストを送信した端末装置4を、他のサービスサーバ1に移管するか否かの判断である第一判断処理を行う。第一判断処理の例について、図5のフローチャートを用いて説明する。
(ステップS404)第一判断の結果が「移管する」場合はステップS411に行き、「移管しない」場合はステップS405に行く。
(ステップS405)サービス部121は、ステップS401で受信されたリクエストに対する処理を行う。なお、通常、リクエストに対する処理の結果は、端末装置4に送信される。
(ステップS406)サービス部121は、ステップS405における処理の結果を含む端末サービス情報を取得し、当該端末サービス情報を、受信されたリクエストに対応付く端末識別子に対応付けて、端末サービス情報格納部113に蓄積する。
(ステップS407)処理部12は、ステップS401で受信したリクエストに、当該リクエストを送信した端末装置4のユーザの1以上のユーザ属性値が含まれるか否かを判断する。1以上のユーザ属性値が含まれる場合はステップS408に行き、1以上のユーザ属性値が含まれない場合はステップS409に行く。
(ステップS408)処理部12は、ステップS401で受信したリクエストに対応付く端末識別子に対応付けて、当該リクエストに含まれる1以上のユーザ属性値を、ユーザ属性値格納部114に蓄積する。
(ステップS409)状態更新部122は、サービスサーバ1の状態情報を取得する。なお、ここで取得する状態情報は、通常、動的状態情報である。
(ステップS410)状態更新部122は、ステップS409で取得した状態情報を自己状態格納部111に蓄積し、自己の状態情報を更新する。ステップS401に戻る。
(ステップS411)移管処理部125等は、移管処理を行う。ステップS401に戻る。移管処理の例について、図6のフローチャートを用いて説明する。
(ステップS412)グループ化部128は、グループリストを構成する処理を行う。かかるリスト構成処理の例について、図7のフローチャートを用いて説明する。
(ステップS413)端末識別子送信手段1285は、リクエストを送信した端末装置4に、ステップS412で構成されたグループリストを送信する。ステップS401に戻る。
(ステップS414)処理部12は、1以上の他のサービスサーバ1の状態情報を含む状態情報群の送信を要求するタイミングであるか否かを判断する。状態情報群の送信を要求するタイミングであればステップS415に行き、状態情報群の送信を要求するタイミングでなければステップS419に行く。なお、状態情報群の送信を要求するタイミングは、例えば、定期的、常時等である。また、ステップS414の判断処理は無く、常に、状態情報群の送信が要求されても良い。
(ステップS415)処理部12は、他状態格納部112に格納されている現在の最新の状態情報群に対応する特定情報を取得する。なお、特定情報は、現在の最新の状態情報群に対応付けられて他状態格納部112に格納されていても良いし、送信の直前に、現在の最新の状態情報群を用いて取得されても良い。
(ステップS416)送信部13は、ステップS415で取得した特定情報を管理サーバ2に送信する。なお、かかる特定情報の送信は、状態情報群の要求である。
(ステップS417)状態受信部141は、管理サーバ2から状態情報群を受信したか否かを判断する。状態情報群を受信した場合はステップS418に行き、状態情報群を受信しなかった場合はステップS401に戻る。なお、状態情報群を受信しなかった場合とは、例えば、予め決められたタイムアウトする時間を待って状態情報群を受信しなかった場合である。
(ステップS418)他状態蓄積部123は、ステップS417で受信された状態情報群を他状態格納部112に蓄積する。ステップS401に戻る。
なお、ステップS417で受信された状態情報群を構成する各状態情報は、当該状態情報に対応するサービスサーバ1を識別するサービスサーバ識別子に対応付いている。つまり、他状態蓄積部123は、ステップS417で受信された状態情報群を構成する各状態情報を、サービスサーバ識別子に対応付けて他状態格納部112に蓄積する。
また、他状態蓄積部123は、ステップS417で受信された状態情報群を用いて特定情報を取得し、当該特定情報と対にして、状態情報群を他状態格納部112に蓄積することは好適である。
(ステップS419)ユーザ属性値受信部143は、端末装置4から1以上のユーザ属性値を受信したか否かを判断する。1以上のユーザ属性値を受信した場合はステップS420に行き、1以上のユーザ属性値を受信しなかった場合はステップS421に行く。なお、ユーザ属性値受信部143は、通常、端末識別子に対応付く、1以上のユーザ属性値を受信する。なお、1以上のユーザ属性値を送信した端末装置4は、通常、サービス部121がサービスを提供している端末装置4である。
(ステップS420)処理部12は、端末識別子に対応付けて、ステップS419で受信された1以上のユーザ属性値を、ユーザ属性値格納部114に蓄積する。ステップS401に戻る。
(ステップS421)選択要求受信部144は、他のサービスサーバ1から、選択要求を受信したか否かを判断する。選択要求を受信した場合はステップS422に行き、選択要求を受信しなかった場合はステップS424に行く。
(ステップS422)処理部12は、端末選択処理を行う。端末選択処理の例について、図8のフローチャートを用いて説明する。端末選択処理とは、選択要求に対応するグループリストを構成する端末識別子を取得する処理である。
(ステップS423)端末識別子送信手段1285は、選択要求を送信してきた他のサービスサーバ1に、ステップS422で取得された1以上の端末識別子を送信する。ステップS401に戻る。なお、ここで、1以上の端末識別子を送信できない場合もあり得る。
(ステップS424)処理部12は、第二条件を満たすか否かを判断する。第二条件を満たす場合はステップS425に行き、第二条件を満たさない場合はステップS426に行く。なお、第二条件は、例えば、外部サーバ3からダウン指示を受信したこと、負荷情報が示す負荷が条件を満たすほど小さい(例えば、サービス部121がサービスを提供している端末装置4が閾値以下)ること等である。
(ステップS425)ダウン部126は、ダウン処理を行う。ステップS401に戻る。
ダウン処理の例について、図9のフローチャートを用いて説明する。
(ステップS426)処理部12は、第三条件を満たすか否かを判断する。第三条件を満たす場合はステップS427に行き、第三条件を満たさない場合はステップS428に行く。なお、第三条件は、例えば、外部サーバ3から起動指示を受信したことである。
(ステップS427)起動部127は、サービスサーバ1を起動する。ステップS401に戻る。
(ステップS428)受信部14は、移管依頼を受信したか否かを判断する。移管依頼を受信した場合はステップS429に行き、移管依頼を受信しなかった場合はステップS401に戻る。
(ステップS429)処理部12は、移管依頼に対応する処理である被移管処理を行う。被移管処理の例について、図10のフローチャートを用いて説明する。ステップS401に戻る。
なお、図4のフローチャートにおいて、処理部12は、例えば、サービスサーバ1の負荷情報を、定期的または常時、取得する。そして、送信部13は、取得された負荷情報を、定期的または常時、外部サーバ3に送信することは好適である。
また、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS403の第一判断処理の例について、図5のフローチャートを用いて説明する。
(ステップS501)第一判断部124は、自己状態格納部111から、現在の自己の状態情報を取得する。
(ステップS502)第一判断部124は、第一条件を取得する。第一判断部124は、例えば、受信されたリクエストから処理対象情報を取得し、当該処理対象情報を有する第一条件(例えば、処理対象情報)を構成する。第一判断部124は、例えば、格納部11から第一条件(例えば、サービス提供できる最大の端末数)を読み出す。
(ステップS503)第一判断部124は、ステップS501で取得した自己の状態情報が、ステップS502で取得した第一条件を満たすか否かを判断する。第一条件を満たす場合はステップS504に行き、第一条件を満たさない場合はステップS505に行く。
第一判断部124は、例えば、受信されたリクエストに含まれる処理対象情報が、自己の状態情報に含まれる1以上の処理対象情報に含まれるか否か(リクエストがサービスサーバ1の処理可能な範囲か否か)を判断する。
第一判断部124は、例えば、受信されたリクエストが最初のアクセスであって、当該リクエストを受け付けた場合には、サービス提供の端末装置4が増える場合に、自己の状態情報が有する「サービス提供できる最大の端末数」を超えるか否かを判断する。
(ステップS504)第一判断部124は、変数「判断結果」に「移管しない」旨の情報を代入する。
(ステップS505)第一判断部124は、変数「判断結果」に「移管する」旨の情報を代入する。上位処理にリターンする。
次に、ステップS411の移管処理の例について、図6のフローチャートを用いて説明する。
(ステップS601)移管サーバ決定手段1251は、カウンタiに1を代入する。
(ステップS602)移管サーバ決定手段1251は、他状態格納部112に、i番目の他の状態情報が格納されているか否かを判断する。i番目の他の状態情報が格納されている場合はステップS603に行き、i番目の他の状態情報が格納されていない場合はステップS607に行く。
(ステップS603)移管サーバ決定手段1251は、i番目の他の状態情報を他状態格納部112から取得する。
(ステップS604)移管サーバ決定手段1251は、i番目の他の状態情報を用いて、当該他の状態情報に対応する他のサービスサーバ1が、移管対象の端末装置4に対してサービス提供が可能であるか否かを判断する。サービス提供が可能であればステップS605に行き、サービス提供が可能でなければステップS606に行く。
(ステップS605)移管サーバ決定手段1251は、i番目の他の状態情報と対になるサービスサーバ識別子を他状態格納部112から取得し、当該サービスサーバ識別子を図示しないバッファに一時蓄積する。
(ステップS606)移管サーバ決定手段1251は、カウンタiを1、インクリメントする。ステップS602に戻る。
(ステップS607)移管サーバ決定手段1251は、図示しないバッファに一時蓄積された1以上の各サービスサーバ識別子と対になる負荷情報を他状態格納部112から取得する。そして、移管サーバ決定手段1251は、取得した負荷情報が最小のサービスサーバのサービスサーバ識別子を取得する。
(ステップS608)移管処理手段1252は、移管対象の端末装置4の端末識別子を取得する。また、移管処理手段1252は、当該端末識別子と対になる端末サービス情報を端末サービス情報格納部113から取得する。また、当該端末装置4から送信されたリクエストで、未処理のリクエストがあれば、そのリクエストを取得する。そして、移管処理部125は、端末サービス情報を含む、送信する情報を構成する。送信する情報は、例えば、端末識別子、端末サービス情報、リクエストを含む。
(ステップS609)移管処理手段1252は、ステップS608で取得した端末サービス情報等を、ステップS607で取得されたサービスサーバ識別子で識別される他のサービスサーバ1に送信する。
(ステップS610)移管処理手段1252は、当該端末装置4との通信を切断する。上位処理にリターンする。
次に、ステップS412のリスト構成処理の例について、図7のフローチャートを用いて説明する。
(ステップS701)グループ化部128は、サービス部121がサービスを提供している端末装置4の中から端末を選択する端末選択処理を行う。端末選択処理の例について、図8のフローチャートを用いて説明する。
(ステップS702)グループ化部128は、ステップS701において選択した端末より多い端末が必要であるか否かを判断する。端末が必要である場合はステップS703に行き、端末が必要でない場合はステップS707に行く。なお、端末が必要であることは、グループリストを構成するグループのユーザが必要であることである。また、かかる判断の条件は、格納部11に格納されている。また、かかる判断の条件は、例えば、「グループを構成する最大人数」である。
(ステップS703)要求送信手段1281は、1以上の他のサービスサーバ1に、選択要求を送信する。なお、選択要求は、1以上のユーザ属性値、または属性値条件を有する。
(ステップS704)端末識別子受信手段1282は、他のサービスサーバ1から、選択結果を受信したか否かを判断する。選択結果を受信した場合はステップS705に行き、選択結果を受信しなかった場合はステップS704に戻る。なお、選択結果は、1以上の端末識別子、または選択なしの旨の情報を含む。
(ステップS705)グループ化部128は、選択要求を送信したすべての他のサービスサーバ1から選択結果を受信したか否かを判断する。すべての他のサービスサーバ1から選択結果を受信した場合はステップS706に行き、すべての他のサービスサーバ1から受信していない場合はステップS704に戻る。
(ステップS706)グループリスト構成手段1283は、ステップS701で取得した端末識別子、ステップS704で受信した選択結果に含まれる端末識別子を用いて、グループリストを構成する端末識別子を取得する。
なお、ここで取得する端末識別子は、通常、端末選択要求を送信してきた端末装置4の端末識別子を含む。また、グループリストを構成する予め決められた端末数が存在する場合であり、ステップS701で取得した端末識別子とステップS704で受信した選択結果に含まれる端末識別子との合計数が予め決められた端末数を超える場合は、グループリスト構成手段1283は、例えば、端末選択要求に対応するユーザ属性値との差異がより小さい(例えば、同一)ユーザ属性値に対応する端末識別子を選択する。
(ステップS707)グループリスト構成手段1283は、ステップS706で取得した2以上の端末識別子が含まれるグループリストを構成する。上位処理にリターンする。
なお、図7のフローチャートにおいて、ステップS701の処理は無くても良い。
次に、ステップS422の端末選択処理の例について、図8のフローチャートを用いて説明する。
(ステップS801)端末選択手段1284は、選択要求に含まれる1以上のユーザ属性値を用いて、属性値条件を取得する。なお、選択要求に属性値条件が含まれる場合、端末選択手段1284は、選択要求に含まれる属性値条件を取得する。
例えば、選択要求に含まれる1以上のユーザ属性値が「ユーザのゲームのレベル」である場合、端末選択手段1284は、例えば、属性値条件「ユーザのゲームのレベルと一致すること」または「ユーザのゲームのレベルとの差異が閾値以下であること」または「ユーザのゲームのレベルとの差異が閾値未満であること」を取得する。
(ステップS802)端末選択手段1284は、カウンタiに1を代入する。
(ステップS803)端末選択手段1284は、サービス部121がサービスを提供しているi番目の端末装置4が存在するか否かを判断する。i番目の端末装置4が存在する場合はステップS804に行き、i番目の端末装置4が存在しない場合はステップS808に行く。
端末選択手段1284は、例えば、端末サービス情報格納部113に格納されているi番目の端末識別子が存在するか否かを判断する。つまり、サービス部121がサービスを提供中のみ、端末サービス情報格納部113に端末識別子と端末サービス情報とが格納されている。
(ステップS804)端末選択手段1284は、i番目の端末装置4を識別する端末識別子と対になる1以上のユーザ属性値を、ユーザ属性値格納部114をから取得する。なお、かかる1以上のユーザ属性値は、例えば、「ユーザのゲームのレベル」である。
(ステップS805)端末選択手段1284は、ステップS804で取得した1以上のユーザ属性値が、ステップS801で取得した属性値条件を満たすか否かを判断する。属性値条件を満たす場合はステップS806に行き、属性値条件を満たさない場合はステップS807に行く。
(ステップS806)端末選択手段1284は、i番目の端末装置4に対応する端末識別子を端末サービス情報格納部113から取得し、当該端末識別子を図示しないバッファに一時蓄積する。
(ステップS807)端末選択手段1284は、カウンタiを1、インクリメントする。ステップS803に戻る。
(ステップS808)端末選択手段1284は、図示しないバッファに端末識別子が存在するか否かを判断する。端末識別子が存在する場合はステップS809に行き、端末識別子が存在しない場合はステップS810に行く。
(ステップS809)端末選択手段1284は、変数「選択結果」に図示しないバッファに格納されている1以上の端末識別子を代入する。上位処理にリターンする。
(ステップS810)端末選択手段1284は、変数「選択結果」に「選択なし」の旨の情報を代入する。上位処理にリターンする。
次に、ステップS425のダウン処理の例について、図9のフローチャートを用いて説明する。
(ステップS901)ダウン部126は、サービス部121がサービスを提供中の端末装置4が存在するか否かを判断する。サービスを提供中の端末装置4が存在する場合はステップS902に行き、サービスを提供中の端末装置4が存在しない場合はステップS911に行く。
(ステップS902)ダウン部126は、サービスを提供中のすべての端末装置4の端末識別子と対になる端末サービス情報を端末サービス情報格納部113から取得する。
(ステップS903)ダウン部126は、カウンタiに1を代入する。
(ステップS904)ダウン部126は、i番目の端末識別子と対になる端末サービス情報に基づいて、サービスを中断しても良いか否かを判断する。サービスを中断しても良いと判断した場合はステップS905に行き、サービスを中断できないと判断した場合はステップS908に行く。
なお、中断するための条件は、ダウン部126は、格納部11に格納されており、かかる条件に合致するか否かを判断する。また、中断するための条件は、端末サービス情報に関する条件(例えば、サービスの提供が格納されている区切りの段階になったこと)であることは好適である。ただし、中断するための条件は、問わない。
(ステップS905)移管処理部125等は、i番目の端末識別子で識別される端末装置4の移管処理を行う。
(ステップS906)ダウン部126は、カウンタiを1、インクリメントする。
(ステップS907)ダウン部126は、サービス部121がサービスを提供中の端末装置4に対応するi番目の端末サービス情報が存在するか否かを判断する。i番目の端末サービス情報が存在する場合はステップS904に戻り、i番目の端末サービス情報が存在しない場合はステップS901に戻る。
(ステップS908)ダウン部126は、i番目の端末識別子で識別される端末装置4からリクエストを受信したか否かを判断する。リクエストを受信した場合はステップS909に行き、リクエストを受信していない場合はステップS906に行く。
(ステップS909)サービス部121は、受信したリクエストを処理する。
(ステップS910)サービス部121は、ステップS909における処理の結果を含む端末サービス情報を取得し、当該端末サービス情報を、受信されたリクエストに対応付く端末識別子に対応付けて、端末サービス情報格納部113に蓄積する。ステップS906に行く。
(ステップS911)ダウン部126は、サービスサーバ1のダウンのための処理を行う。上位処理にリターンする。
なお、図9のフローチャートにおいて、ダウンのための処理を行う前に、サービス提供中のすべての端末装置4に対する移管処理を行えば良く、その手順は問わない。
次に、ステップS429の被移管処理の例について、図10のフローチャートを用いて説明する。
(ステップS1001)端末サービス情報蓄積手段1254は、受信された移管依頼に含まれる端末サービス情報を取得する。
(ステップS1002)端末サービス情報蓄積手段1254は、受信された移管依頼に含まれる端末識別子を取得する。
(ステップS1003)端末サービス情報蓄積手段1254は、ステップS1001で取得した端末サービス情報を、ステップS1002で取得した端末識別子に対応付けて、端末サービス情報格納部113に蓄積する。
(ステップS1004)通信開始手段1255は、ステップS1002で取得した端末識別子で識別される端末装置4との通信を開始する。
(ステップS1005)移管処理部125は、受信された移管依頼にリクエストが存在するか否かを判断する。リクエストが存在する場合は図4のステップS405に行き、リクエストが存在しない場合は上位処理にリターンする。
次に、管理サーバ2の動作例について、図11のフローチャートを用いて説明する。
(ステップS1101)管理受信部22は、サービスサーバ識別子に対応付けて、サービスサーバ1から状態情報を受信したか否かを判断する。状態情報を受信した場合はステップS1102に行き、状態情報を受信しなかった場合はステップS1104に行く。
(ステップS1102)管理処理部23は、ステップS1101で受信された状態情報を、サービスサーバ識別子に対応付けて管理格納部21に蓄積する。
(ステップS1103)管理処理部23は、ステップS1101で受信された状態情報を含む状態情報群であり、2以上のサービスサーバ1の状態情報を含む状態情報群を用いて、特定情報を取得する。そして、管理処理部23は、当該特定情報を、ステップS1101で受信された状態情報を含む状態情報群に対応付けて管理格納部21に蓄積する。ステップS1101に戻る。
(ステップS1104)管理受信部22は、サービスサーバ1から特定情報を受信したか否かを判断する。特定情報を受信した場合はステップS1105に行き、特定情報を受信しなかった場合はステップS1101に戻る。なお、ここでの特定情報の受信は、状態情報群の送信の依頼である。
(ステップS1105)管理処理部23は、管理格納部21に格納されている最新の特定情報を取得する。
(ステップS1106)管理処理部23は、ステップS1104で受信された特定情報と、ステップS1105で取得した最新の特定情報とが予め決められた関係(例えば、一致)にあるか否かを判断する。予め決められた関係にある場合は上位処理にリターンし、予め決められた関係にない場合はステップS1107に行く。
(ステップS1107)管理処理部23は、最新の特定情報に対応する状態情報群を取得する。なお、取得した状態情報群を構成する各状態情報は、サービスサーバ識別子に対応付いている。
(ステップS1108)管理送信部24は、ステップS1107で取得した状態情報群であり、サービスサーバ識別子に対応付いた状態情報の集合である状態情報群を、特定情報を送信してきたサービスサーバ1に送信する。ステップS1101に戻る。
なお、図11のフローチャートにおいて、管理送信部24は、最新の状態情報群を保持していないサービスサーバ1に、最新の状態情報群を送信した。しかし、管理送信部24は、適切なタイミングで、最新の状態情報群をサービスサーバ1に送信しても良い。適切なタイミングとは、例えば、概ね定期的、常時等である。
また、図11のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、外部サーバ3の動作例について、図12のフローチャートを用いて説明する。
(ステップS1201)外部受信部32は、サービスサーバ識別子に対応付けて、負荷情報を受信したか否かを判断する。負荷情報を受信した場合はステップS1202に行き、負荷情報を受信しなかった場合はステップS1203に行く。
(ステップS1202)外部処理部33は、ステップS1201で受信された負荷情報を、サービスサーバ識別子に対応付けて、外部格納部31に蓄積する。
(ステップS1203)外部処理部33は、外部格納部31に格納されている第二条件を取得する。なお、第二条件は、サービスサーバ1をダウンさせるための条件である。第二条件は、例えば、「サービス提供先の端末装置4の端末数が0」である。
(ステップS1204)外部処理部33は、外部格納部31に格納されている第三条件を取得する。なお、第三条件は、サービスサーバ1を起動させるための条件である。第三条件は、例えば、2以上のサービスサーバ1の総負荷情報が示す負荷が予め決められた条件を満たすほど大きいことである。第三条件は、例えば、2以上のサービスサーバ1の総負荷情報である総端末数が閾値以上であることである。
(ステップS1205)外部処理部33は、カウンタiに1を代入する。
(ステップS1206)外部処理部33は、i番目の負荷情報が外部格納部31に存在するか否かを判断する。i番目の負荷情報が存在する場合はステップS1207に行き、i番目の負荷情報が存在しない場合はステップS1201に戻る。
(ステップS1207)外部処理部33は、i番目の負荷情報がステップS1203で取得した第二条件を満たすか否かを判断する。第二条件を満たす場合はステップS1208に行き、第二条件を満たさない場合はステップS1211に行く。
(ステップS1208)外部処理部33は、i番目の負荷情報と対になるサービスサーバ識別子を外部格納部31から取得する。
(ステップS1209)外部送信部34は、ステップS1208で取得したサービスサーバ識別子で識別されるサービスサーバ1に、ダウン指示を送信する。外部処理部33は、ステップS1208で取得したサービスサーバ識別子と対になる負荷情報を、ダウンしている旨の情報に書き換える。
(ステップS1210)外部処理部33は、カウンタiを1、インクリメントする。ステップS1206に戻る。
(ステップS1211)外部処理部33は、外部格納部31に格納されている1または2以上の負荷情報(例えば、総負荷情報)が、ステップS1204で取得した第三条件を満たすか否かを判断する。第三条件を満たす場合はステップS1212に行き、第三条件を満たさない場合はステップS1210に行く。
(ステップS1212)外部処理部33は、現在、スリープしており、起動対象のサービスサーバ1が存在するか否かを、外部格納部31の負荷情報を用いて判断する。起動対象のサービスサーバ1が存在する場合はステップS1213に行き、起動対象のサービスサーバ1が存在しない場合はステップS1210に行く。
(ステップS1213)外部処理部33は、現在、スリープしており、起動対象のサービスサーバ1のサービスサーバ識別子を外部格納部31から取得する。
(ステップS1214)外部送信部34は、ステップS1213で取得したサービスサーバ識別子で識別されるサービスサーバ1に、起動指示を送信する。ステップS1210に行く。
なお、図12のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、端末装置4の動作例について、図13のフローチャートを用いて説明する。
(ステップS1301)端末受付部42は、ユーザから指示等を受け付けたか否かを判断する。指示等を受け付けた場合はステップS1302に行き、指示等を受け付けなかった場合はステップS1306に行く。
(ステップS1302)端末処理部43は、ステップS1301で受け付けられた指示等を用いて、リクエストを構成する。なお、端末処理部43は、例えば、端末格納部41の端末識別子を読み出し、当該端末識別子に対応付いたリクエストを構成する。なお、リクエストは、通常、ユーザの端末装置4に対する操作により発生する。ただし、リクエストは、端末装置4の自律的な処理により発生しても良い。
(ステップS1303)端末送信部44は、ステップS1302で構成されたリクエストを、端末識別子に対応付けて、サービスの提供を受けるサービスサーバ1に送信する。なお、端末格納部41には、サービスサーバ1のサービスサーバ識別子(例えば、IPアドレス)が格納されており、端末送信部44は、かかるサービスサーバ識別子を用いて、リクエストを送信する。
(ステップS1304)端末受付部42は、リクエストの送信に応じた処理結果を受信したか否かを判断する。処理結果を受信した場合はステップS1305に行き、処理結果を受信しなかった場合はステップS1304に戻る。
(ステップS1305)端末処理部43は、ステップS1304で受信された処理結果を用いて、出力する処理結果を構成する。端末出力部46は、当該処理結果を出力する。ステップS1301に戻る。
(ステップS1306)端末処理部43は、1以上のユーザ属性値を送信するか否かを判断する。ユーザ属性値を送信する場合はステップS1307に行き、ユーザ属性値を送信しない場合はステップS1301に戻る。
(ステップS1307)端末処理部43は、端末格納部41に格納されている1以上のユーザ属性値を取得する。
(ステップS1308)端末送信部44は、ステップS1307で取得された1以上のユーザ属性値を、端末格納部41に格納されている端末識別子に対応付けて、サービスサーバ1に送信する。ステップS1301に戻る。なお、1以上のユーザ属性値は、最初にリクエストを送信するタイミングで送信される。また、1以上のユーザ属性値は、ユーザ登録の際に送信される。1以上のユーザ属性値が送信されるタイミングは問わない。
なお、図13のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以上、本実施の形態によれば、端末装置4に対してサービスを提供するサービスサーバの障害に強い情報システムAを提供できる。
また、本実施の形態によれば、特定情報を用いて、状態情報群を送信するか否かを決定することにより、サービスサーバ1と管理サーバ2との通信量を減らすことができる。
また、本実施の形態によれば、管理サーバ2が全サービスサーバ1に同一の状態情報群を送信することにより、管理サーバ2の処理量を減らすことができる。
また、本実施の形態によれば、サービスサーバを1適切にダウンさせることができる。特に、サービスサーバ1をダウンさせる前に、サービス提供先の端末装置4を他のサービスサーバ1に移管することにより、サービスサーバ1を適切にダウンさせることができる。
また、本実施の形態によれば、サービス提供先の端末装置4を他のサービスサーバ1に、適切に移管することできる。
また、本実施の形態によれば、サービスサーバ1を適切に起動できる。そのことにより、情報システムA全体の処理が適切に継続できる。
また、本実施の形態によれば、端末装置4のグループを適切に作成できる。
さらに、本実施の形態によれば、情報システムAをゲームに使用した場合、端末装置4に対してサービスを提供する一のサービスサーバ1に障害が発生しても、ユーザは、継続して、ゲームを楽しむことができる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるサービスサーバ1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、当該サービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部とにアクセス可能なコンピュータを、1以上の端末装置に対してサービスを提供するサービス部と、前記自己の状態情報を前記管理サーバに送信する状態送信部と、前記管理サーバから1以上の他の状態情報を受信する状態受信部と、前記状態受信部が受信した前記1以上の他の状態情報を前記他状態格納部に蓄積する他状態蓄積部と、前記自己の状態情報が第一条件を満たすか否かを判断する第一判断部と、前記第一判断部が前記第一条件を満たすと判断した場合に、前記サービス部がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理部として機能させるためのプログラムである。
また、本実施の形態における管理サーバ2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、2以上の各サービスサーバから自己の状態情報を受信する管理受信部と、前記管理受信部が受信した2以上の自己の状態情報のうち、少なくとも送信先のサービスサーバの状態情報ではない1以上の他の状態情報を、前記2以上の各サービスサーバに送信する管理送信部として機能させるためのプログラムである。
また、図14は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のサービスサーバ1等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図14は、このコンピュータシステム300の概観図であり、図15は、システム300のブロック図である。
図14において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図15において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、CD−ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態のサービスサーバ1等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態のサービスサーバ1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかる情報システムは、端末装置に対してサービスを提供するサービスサーバの障害に強い情報システムを提供できるという効果を有し、情報システム等として有用である。
1 サービスサーバ
2 管理サーバ
3 外部サーバ
4 端末装置
11 格納部
12 処理部
13 送信部
14 受信部
21 管理格納部
22 管理受信部
23 管理処理部
24 管理送信部
31 外部格納部
32 外部受信部
33 外部処理部
34 外部送信部
41 端末格納部
42 端末受付部
43 端末処理部
44 端末送信部
45 端末受信部
45 末受信部
46 端末出力部
111 自己状態格納部
112 他状態格納部
113 端末サービス情報格納部
114 ユーザ属性値格納部
121 サービス部
122 状態更新部
123 他状態蓄積部
124 第一判断部
125 移管処理部
126 ダウン部
127 起動部
128 グループ化部
131 状態送信部
132 グループリスト送信部
141 状態受信部
142 リクエスト受信部
143 ユーザ属性値受信部
144 選択要求受信部
1251 移管サーバ決定手段
1252 移管処理手段
1253 移管依頼受信手段
1254 端末サービス情報蓄積手段
1255 通信開始手段
1281 要求送信手段
1282 端末識別子受信手段
1283 グループリスト構成手段
1284 端末選択手段
1285 端末識別子送信手段

Claims (23)

  1. 1以上の端末装置に対してサービスを提供する2以上のサービスサーバと管理サーバとを具備する情報システムであって、
    前記サービスサーバは、
    当該サービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、
    他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部と、
    1以上の端末装置に対してサービスを提供するサービス部と、
    前記自己の状態情報を前記管理サーバに送信する状態送信部と、
    前記管理サーバから1以上の他の状態情報を受信する状態受信部と、
    前記状態受信部が受信した前記1以上の他の状態情報を前記他状態格納部に蓄積する他状態蓄積部と、
    前記自己の状態情報が第一条件を満たすか否かを判断する第一判断部と、
    前記第一判断部が前記第一条件を満たすと判断した場合に、前記サービス部がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理部とを具備し、
    前記管理サーバは、
    前記2以上の各サービスサーバから自己の状態情報を受信する管理受信部と、
    前記管理受信部が受信した2以上の自己の状態情報のうち、少なくとも送信先のサービスサーバの状態情報ではない1以上の他の状態情報を、前記2以上の各サービスサーバに送信する管理送信部とを具備し、
    前記状態送信部は、
    前記状態受信部が受信した、最新の前記1以上の他の状態情報のバージョンを特定する特定情報をも前記管理サーバに送信し、
    前記管理受信部は、
    前記サービスサーバから特定情報をも受信し、
    前記管理送信部は、
    前記管理受信部が受信した前記特定情報が示すバージョンが、前記管理受信部が受信した、最新の2以上の状態情報に対応するバージョンと一致しない場合に、前記1以上の他の状態情報を、前記2以上の各サービスサーバに送信する、情報システム。
  2. 1以上の端末装置に対してサービスを提供する2以上のサービスサーバと管理サーバとを具備する情報システムであって、
    前記サービスサーバは、
    当該サービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、
    他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部と、
    1以上の端末装置に対してサービスを提供するサービス部と、
    前記自己の状態情報を前記管理サーバに送信する状態送信部と、
    前記管理サーバから1以上の他の状態情報を受信する状態受信部と、
    前記状態受信部が受信した前記1以上の他の状態情報を前記他状態格納部に蓄積する他状態蓄積部と、
    前記自己の状態情報が第一条件を満たすか否かを判断する第一判断部と、
    前記第一判断部が前記第一条件を満たすと判断した場合に、前記サービス部がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理部と、
    端末装置から1以上のユーザ属性値を受信するユーザ属性値受信部と、
    前記ユーザ属性値受信部が受信した1以上のユーザ属性値に対応する属性値条件を満たす端末装置を識別する2以上の端末識別子を取得し、当該2以上の端末識別子を有するグループリストを取得するグループ化部と、
    前記グループリストを前記端末装置に送信するグループリスト送信部と具備し、
    前記管理サーバは、
    前記2以上の各サービスサーバから自己の状態情報を受信する管理受信部と、
    前記管理受信部が受信した2以上の自己の状態情報のうち、少なくとも送信先のサービスサーバの状態情報ではない1以上の他の状態情報を、前記2以上の各サービスサーバに送信する管理送信部とを具備する情報システム。
  3. 前記グループ化部は、
    前記ユーザ属性値受信部が受信した1以上のユーザ属性値を含む端末選択要求を1以上の他のサービスサーバに送信する要求送信手段と、
    前記端末選択要求の送信に応じて、前記属性値条件を満たす1以上の端末装置の端末識別子を受信する端末識別子受信手段と、
    前記端末識別子受信手段が受信した1以上の端末識別子を含むグループリストを構成するグループリスト構成手段とを具備する請求項記載の情報システム。
  4. 前記サービス部がサービス提供している端末装置の1以上のユーザ属性値を、端末識別子に対応付けて格納しているユーザ属性値格納部と、
    前記端末選択要求を他のサービスサーバから受信する選択要求受信部をさらに具備し、
    前記グループ化部は、
    前記サービス部がサービスを提供している端末装置の中から、前記選択要求受信部が受信した端末選択要求に合致するユーザ属性値に対応する1以上の端末装置を選択し、当該1以上の各端末装置識別する端末識別子を取得する端末選択手段と、
    前記端末選択手段が取得した1以上の端末識別子を、前記端末選択要求を送信してきたサービスサーバに送信する端末識別子送信手段とをさらに具備する、請求項記載の情報システム。
  5. 前記移管処理部は、
    前記1以上の他の状態情報を用いて、前記サービス部がサービスを提供している前記1以上の端末装置のうち、いずれか1以上の端末装置がサービスを受ける他のサービスサーバを決定する移管サーバ決定手段と、
    前記サービス部がサービスを提供しているいずれか1以上の端末装置が、前記移管サーバ決定手段が決定した他のサービスサーバからサービスを受けるための移管処理を行う移管処理手段とを具備する請求項1から請求項4いずれか一項に記載の情報システム。
  6. 前記移管処理部は、
    端末識別子に対応付けられた情報であり、前記サービス部がサービスを提供している端末装置の状態に関する情報である端末サービス情報を含む移管依頼を受信する移管依頼受信手段と、
    前記移管依頼に対応する端末識別子で識別される端末装置との通信を開始する通信開始手段とを具備し、
    前記サービス部は、
    前記移管依頼に含まれる端末サービス情報を用いて、前記移管依頼に対応する端末識別子で識別される端末装置に対してサービスを提供する請求項1から請求項5いずれか一項に記載の情報システム。
  7. 前記状態受信部は、
    前記管理サーバから2以上のすべてのサービスサーバの状態情報を受信し、
    前記管理送信部は、
    前記管理受信部が受信した前記2以上のすべての自己状態情報を、前記2以上の各サービスサーバに送信する、請求項1から請求項いずれか一項に記載の情報システム。
  8. 前記状態送信部は、
    前記自己の状態情報を前記管理サーバに、概ね定期的に送信し、
    前記管理送信部は、
    前記1以上の他の状態情報を、前記2以上の各サービスサーバに、概ね定期的に送信する請求項1から請求項いずれか一項に記載の情報システム。
  9. 前記サービスサーバは、
    当該サービスサーバの自己の状態情報を取得し、前記自己状態格納部に蓄積する状態更新部をさらに具備する請求項1から請求項いずれか一項に記載の情報システム。
  10. 前記サービスサーバは、
    二条件を満たす場合に、ダウンするためのダウン処理を行うダウン部をさらに具備する請求項1から請求項いずれか一項に記載の情報システム。
  11. 前記ダウン部は、
    前記移管処理部が、前記サービス部がサービスを提供しているすべての端末装置に対する前記移管処理が完了した後に、前記ダウン処理を行う、請求項10記載の情報システム。
  12. 前記サービスサーバは、
    端末装置からリクエストを受信するリクエスト受信部をさらに具備し、
    前記第一判断部は、
    前記自己の状態情報を参照し、前記リクエストを受け入れた場合に前記第一条件を満たすか否かを判断する、請求項1から請求項11いずれか一項に記載の情報システム。
  13. 前記サービスサーバは、
    第三条件を満たす場合に、休止中の当該サービスサーバを起動させるための起動処理を行う起動部とをさらに具備する請求項1から請求項1いずれか一項に記載の情報システム。
  14. 前記サービスサーバが1以上の端末装置に対して提供するサービスは、ゲームである、請求項1から請求項1いずれか一項に記載の情報システム。
  15. サービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、
    他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部と、
    1以上の端末装置に対してサービスを提供するサービス部と、
    前記自己の状態情報を管理サーバに送信する状態送信部と、
    管理サーバから1以上の他の状態情報を受信する状態受信部と、
    前記状態受信部が受信した前記1以上の他の状態情報を前記他状態格納部に蓄積する他状態蓄積部と、
    前記自己の状態情報が第一条件を満たすか否かを判断する第一判断部と、
    前記第一判断部が前記第一条件を満たすと判断した場合に、前記サービス部がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理部とを具備し、
    前記状態送信部は、
    前記状態受信部が受信した、最新の前記1以上の他の状態情報のバージョンを特定する特定情報をも前記管理サーバに送信する、サービスサーバ。
  16. サービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、
    他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部と、
    1以上の端末装置に対してサービスを提供するサービス部と、
    前記自己の状態情報を管理サーバに送信する状態送信部と、
    管理サーバから1以上の他の状態情報を受信する状態受信部と、
    前記状態受信部が受信した前記1以上の他の状態情報を前記他状態格納部に蓄積する他状態蓄積部と、
    前記自己の状態情報が第一条件を満たすか否かを判断する第一判断部と、
    前記第一判断部が前記第一条件を満たすと判断した場合に、前記サービス部がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理部と、
    端末装置から1以上のユーザ属性値を受信するユーザ属性値受信部と、
    前記ユーザ属性値受信部が受信した1以上のユーザ属性値に対応する属性値条件を満たす端末装置を識別する2以上の端末識別子を取得し、当該2以上の端末識別子を有するグループリストを取得するグループ化部と、
    前記グループリストを前記端末装置に送信するグループリスト送信部とを具備するサービスサーバ。
  17. 2以上の各サービスサーバから自己の状態情報を受信する管理受信部と、
    前記管理受信部が受信した2以上の自己の状態情報のうち、少なくとも送信先のサービスサーバの状態情報ではない1以上の他の状態情報を、2以上の各サービスサーバに送信する管理送信部とを具備し、
    前記管理受信部は、
    前記サービスサーバから特定情報をも受信し、
    前記管理送信部は、
    前記管理受信部が受信した前記特定情報が示すバージョンが、前記管理受信部が受信した、最新の2以上の状態情報に対応するバージョンと一致しない場合に、前記1以上の他の状態情報を、前記2以上の各サービスサーバに送信する、管理サーバ。
  18. ービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部と、サービス部と、状態送信部と、状態受信部と、他状態蓄積部と、第一判断部と、移管処理部とにより実現される情報処理方法であって、
    前記サービス部が、1以上の端末装置に対してサービスを提供するサービスステップと、
    前記状態送信部が、前記自己の状態情報管理サーバに送信する状態送信ステップと、
    前記状態受信部が、前記管理サーバから1以上の他の状態情報を受信する状態受信ステップと、
    前記他状態蓄積部が、前記状態受信ステップで受信された前記1以上の他の状態情報を前記他状態格納部に蓄積する他状態蓄積ステップと、
    前記第一判断部が、前記自己の状態情報が第一条件を満たすか否かを判断する第一判断ステップと、
    前記移管処理部が、前記第一判断ステップで前記第一条件を満たすと判断された場合に、前記サービスステップでサービスが提供されているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理ステップとを具備し、
    前記状態送信ステップにおいて、
    前記状態受信ステップで受信された、最新の前記1以上の他の状態情報のバージョンを特定する特定情報をも前記管理サーバに送信する、情報処理方法。
  19. サービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部と、サービス部と、状態送信部と、状態受信部と、他状態蓄積部と、第一判断部と、移管処理部と、ユーザ属性値受信部と、グループ化部と、グループリスト送信部とにより実現される情報処理方法であって、
    前記サービス部が、1以上の端末装置に対してサービスを提供するサービスステップと、
    前記状態送信部が、前記自己の状態情報を管理サーバに送信する状態送信ステップと、
    前記状態受信部が、前記管理サーバから1以上の他の状態情報を受信する状態受信ステップと、
    前記他状態蓄積部が、前記状態受信ステップで受信された前記1以上の他の状態情報を前記他状態格納部に蓄積する他状態蓄積ステップと、
    前記第一判断部が、前記自己の状態情報が第一条件を満たすか否かを判断する第一判断ステップと、
    前記移管処理部が、前記第一判断ステップで前記第一条件を満たすと判断された場合に、前記サービスステップでサービスが提供されているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理ステップと、
    前記ユーザ属性値受信部が、端末装置から1以上のユーザ属性値を受信するユーザ属性値受信ステップと、
    前記グループ化部が、前記ユーザ属性値受信ステップで受信された1以上のユーザ属性値に対応する属性値条件を満たす端末装置を識別する2以上の端末識別子を取得し、当該2以上の端末識別子を有するグループリストを取得するグループ化ステップと、
    前記グループリスト送信部が、前記グループリストを前記端末装置に送信するグループリスト送信ステップとを具備する情報処理方法。
  20. 管理受信部と、管理送信部とにより実現される情報処理方法であって、
    前記管理受信部が、2以上の各サービスサーバから自己の状態情報を受信する管理受信ステップと、
    前記管理送信部が、前記管理受信ステップで受信された2以上の自己の状態情報のうち、少なくとも送信先のサービスサーバの状態情報ではない1以上の他の状態情報を、前記2以上の各サービスサーバに送信する管理送信ステップとを具備し、
    前記管理受信ステップにおいて、
    前記サービスサーバから特定情報をも受信し、
    前記管理送信ステップにおいて、
    前記管理受信ステップで受信された前記特定情報が示すバージョンが、前記管理受信ステップで受信された、最新の2以上の状態情報に対応するバージョンと一致しない場合に、前記1以上の他の状態情報を、前記2以上の各サービスサーバに送信する、情報処理方法。
  21. ービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部とにアクセス可能なコンピュータを、
    1以上の端末装置に対してサービスを提供するサービス部と、
    前記自己の状態情報管理サーバに送信する状態送信部と、
    前記管理サーバから1以上の他の状態情報を受信する状態受信部と、
    前記状態受信部が受信した前記1以上の他の状態情報を前記他状態格納部に蓄積する他状態蓄積部と、
    前記自己の状態情報が第一条件を満たすか否かを判断する第一判断部と、
    前記第一判断部が前記第一条件を満たすと判断した場合に、前記サービス部がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理部として機能させるためのプログラムであって、
    前記状態送信部は、
    前記状態受信部が受信した、最新の前記1以上の他の状態情報のバージョンを特定する特定情報をも前記管理サーバに送信するものとして、前記コンピュータを機能させるためのプログラム
  22. サービスサーバの状態に関する自己の状態情報が格納される自己状態格納部と、他のサービスサーバの状態に関する1以上の他の状態情報が格納される他状態格納部とにアクセス可能なコンピュータを、
    1以上の端末装置に対してサービスを提供するサービス部と、
    前記自己の状態情報を管理サーバに送信する状態送信部と、
    管理サーバから1以上の他の状態情報を受信する状態受信部と、
    前記状態受信部が受信した前記1以上の他の状態情報を前記他状態格納部に蓄積する他状態蓄積部と、
    前記自己の状態情報が第一条件を満たすか否かを判断する第一判断部と、
    前記第一判断部が前記第一条件を満たすと判断した場合に、前記サービス部がサービスを提供しているいずれか1以上の端末装置が他のサービスサーバからサービスを受けるための処理である移管処理を行う移管処理部と、
    端末装置から1以上のユーザ属性値を受信するユーザ属性値受信部と、
    前記ユーザ属性値受信部が受信した1以上のユーザ属性値に対応する属性値条件を満たす端末装置を識別する2以上の端末識別子を取得し、当該2以上の端末識別子を有するグループリストを取得するグループ化部と、
    前記グループリストを前記端末装置に送信するグループリスト送信部として機能させるためのプログラム。
  23. コンピュータを、
    2以上の各サービスサーバから自己の状態情報を受信する管理受信部と、
    前記管理受信部が受信した2以上の自己の状態情報のうち、少なくとも送信先のサービスサーバの状態情報ではない1以上の他の状態情報を、前記2以上の各サービスサーバに送信する管理送信部として機能させるためのプログラムであって、
    前記管理受信部は、
    前記サービスサーバから特定情報をも受信し、
    前記管理送信部は、
    前記管理受信部が受信した前記特定情報が示すバージョンが、前記管理受信部が受信した、最新の2以上の状態情報に対応するバージョンと一致しない場合に、前記1以上の他の状態情報を、前記2以上の各サービスサーバに送信するものとして、前記コンピュータを機能させるためのプログラム
JP2020130170A 2020-07-31 2020-07-31 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム Active JP6864936B1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2020130170A JP6864936B1 (ja) 2020-07-31 2020-07-31 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム
JP2021042794A JP6929582B1 (ja) 2020-07-31 2021-03-16 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム
US18/018,998 US11771983B2 (en) 2020-07-31 2021-08-02 Information system, service server, management server, information processing method, and recording medium
PCT/JP2021/028561 WO2022025295A1 (ja) 2020-07-31 2021-08-02 情報システム、サービスサーバ、管理サーバ、情報処理方法、および記録媒体
JP2021127166A JP2022027747A (ja) 2020-07-31 2021-08-03 情報システム、サービスサーバ、情報処理方法、およびプログラム
US18/363,354 US20230372811A1 (en) 2020-07-31 2023-08-01 Information system, service server, management server, information processing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020130170A JP6864936B1 (ja) 2020-07-31 2020-07-31 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021042794A Division JP6929582B1 (ja) 2020-07-31 2021-03-16 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP6864936B1 true JP6864936B1 (ja) 2021-04-28
JP2022026612A JP2022026612A (ja) 2022-02-10

Family

ID=75638820

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020130170A Active JP6864936B1 (ja) 2020-07-31 2020-07-31 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム
JP2021042794A Active JP6929582B1 (ja) 2020-07-31 2021-03-16 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム
JP2021127166A Pending JP2022027747A (ja) 2020-07-31 2021-08-03 情報システム、サービスサーバ、情報処理方法、およびプログラム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2021042794A Active JP6929582B1 (ja) 2020-07-31 2021-03-16 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム
JP2021127166A Pending JP2022027747A (ja) 2020-07-31 2021-08-03 情報システム、サービスサーバ、情報処理方法、およびプログラム

Country Status (3)

Country Link
US (2) US11771983B2 (ja)
JP (3) JP6864936B1 (ja)
WO (1) WO2022025295A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009421A1 (ja) * 2022-07-06 2024-01-11 日本電信電話株式会社 分散処理システム、分散処理方法、及び、プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3633321B2 (ja) * 1998-10-23 2005-03-30 富士通株式会社 広域負荷分散装置及び方法
US7657628B1 (en) * 2000-11-28 2010-02-02 Verizon Business Global Llc External processor for a distributed network access system
US7840683B2 (en) * 2006-08-31 2010-11-23 Sap Ag Systems and methods of migrating sessions between computer systems
US8386609B2 (en) * 2007-11-09 2013-02-26 International Business Machines Corporation Reconnection to and migration of electronic collaboration sessions
JP2010086145A (ja) * 2008-09-30 2010-04-15 Hitachi East Japan Solutions Ltd 分散処理システム
US8556724B2 (en) * 2009-09-30 2013-10-15 Zynga Inc. Apparatuses, methods and systems for an online game manager
JP5351839B2 (ja) * 2010-06-22 2013-11-27 日本電信電話株式会社 オーダ処理方法、プログラムおよびネットワークシステム
KR20130041600A (ko) * 2011-10-17 2013-04-25 주식회사 케이티 이종 플랫폼 단말 간 컨텐츠 이어보기 서비스 제공 장치 및 방법
JP6939940B2 (ja) 2017-02-20 2021-09-22 株式会社セガ グループでプレイ可能な通信型のゲームシステム
US10348836B2 (en) * 2017-02-22 2019-07-09 Microsoft Technology Licensing, Llc Migrating clients between servers
WO2018176336A1 (zh) * 2017-03-30 2018-10-04 华为技术有限公司 数据传输方法和通信设备

Also Published As

Publication number Publication date
US20230372811A1 (en) 2023-11-23
JP6929582B1 (ja) 2021-09-01
US11771983B2 (en) 2023-10-03
WO2022025295A1 (ja) 2022-02-03
JP2022027747A (ja) 2022-02-14
JP2022027430A (ja) 2022-02-10
US20230211232A1 (en) 2023-07-06
JP2022026612A (ja) 2022-02-10

Similar Documents

Publication Publication Date Title
KR102295663B1 (ko) 어플리케이션을 공유하는 방법 및 장치
WO2019174595A1 (zh) 资源配置方法、装置、终端及存储介质
JP5624224B2 (ja) データ提供システム、提供装置、実行装置、制御方法、プログラム、及び記録媒体
WO2022188595A1 (zh) 应用画面的显示方法、装置、终端、投屏系统及介质
KR102303681B1 (ko) 컴퓨팅 디바이스 사이에서의 디바이스 연관 데이터의 동기화
KR102394296B1 (ko) 다수의 디바이스 상에 컴퓨팅 환경의 제시
JP2003108417A (ja) データ共有およびデータ配信方法
JP7166741B2 (ja) 情報処理装置、情報処理装置の制御方法、画像形成装置、画像形成装置の制御方法、情報処理システム、及び、プログラム
US9661042B2 (en) Data share system, data process apparatus, and computer-readable recording medium
CN111935236B (zh) 促进屏幕设备与客户端设备间互操作性的方法、设备和介质
US20170034477A1 (en) Information processing apparatus, image display method, and communications system
JP6396365B2 (ja) 情報処理システム、情報処理装置およびデータ取得方法
CN112245904A (zh) 支持跨服游戏的方法、系统、存储介质及计算机设备
JP2005182624A (ja) 情報処理装置、情報処理システム、通信速度設定方法、通信速度設定プログラム、およびそのプログラムを記録した記録媒体
CN106569737A (zh) 云控制台服务器的动态网络存储
JP6929582B1 (ja) 情報システム、サービスサーバ、管理サーバ、情報処理方法、およびプログラム
WO2015196586A1 (zh) 虚拟桌面的配置、获取方法及装置
JP2007207013A (ja) 情報処理装置、情報共有プログラム
JP2002261800A (ja) サービス品質動的制御装置および制御方法
US11763528B2 (en) Avatar mobility between virtual reality spaces
JP7500638B2 (ja) システム、方法、及びプログラム
JP2004054822A (ja) 情報処理システム
JP5932892B2 (ja) コンテンツ提供システム、コンテンツ提供機器、コンテンツ再生機器、制御方法、プログラム、及び記録媒体
JP2024048858A (ja) ネットワーク機能システム、ネットワーク機能部登録方法及びコンピュータプログラム
WO2016204100A1 (ja) デバイス制御装置、その制御方法、およびデバイス制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210203

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210203

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210316

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: 20210323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210329

R150 Certificate of patent or registration of utility model

Ref document number: 6864936

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350