(57)【要約】【課題】普通対局し難いプロ棋士との囲碁対局をオンラインで行うという楽しさはもちろん、自分の囲碁実力を速やかに伸ばすことができるオンライン囲碁対局システム及びその方法と、これをプログラム化して記録したコンピュータで読取可能な記録媒体を提供する。【解決手段】１：Ｎ方式のオンライン囲碁対局システムであって、囲碁対局サーバは、入力された着点位置情報を囲碁対局マスタサーバ６０に伝送し、囲碁対局マスタサーバ６０は、１対局者クライアント１０から伝送された１対局者の着点位置情報を囲碁対局サーバを介してＮ対局者クライアント２０に伝送し、Ｎ対局者クライアント２０から入力されたＮ対局者の着点位置情報から最多着点位置情報を算出して各クライアント１０・２０に伝送することによって、各クライアント１０・２０にグラフィックインターフェースにて石が着点されるようにプロセスを制御する。【選択図】図１
2004209251.tif 000002
【特許請求の範囲】
【請求項１】
１対局者クライアント及び複数のＮ対局者クライアントに対し通信網を介したオンライン接続を許す複数の囲碁対局サーバと、前記囲碁対局サーバを管掌する囲碁対局マスタサーバとを含む１：Ｎ方式のオンライン囲碁対局システムであって、
前記囲碁対局サーバは、所定の手順において１対局者クライアントまたはＮ対局者クライアントから着点位置情報を入力されて前記囲碁対局マスタサーバに伝送し、
前記囲碁対局マスタサーバは、前記１対局者クライアントから伝送された１対局者の着点位置情報を囲碁対局サーバを介してＮ対局者クライアントに伝送し、前記複数のＮ対局者クライアントから入力されたＮ対局者の着点位置情報から最多着点位置情報を算出して１対局者クライアント及びＮ対局者クライアントに伝送することによって、各手順において前記１対局者またはＮ対局者クライアントにグラフィックインターフェースにて石が着点されるようにプロセスを制御することを特徴とする１：Ｎ方式のオンライン囲碁対局システム。
【請求項２】
前記囲碁対局サーバは、１対局者クライアントが接続される１囲碁対局サーバと、Ｎ対局者クライアントが接続されるＮ囲碁対局サーバとに分けられて運用されることを特徴とする請求項１に記載の１：Ｎ方式のオンライン囲碁対局システム。
【請求項３】
前記囲碁対局サーバと前記囲碁対局マスタサーバとの動作状態を監視し、各サーバに問題が生じた場合、該サーバを再実行させる監視復旧モジュールをさらに含むことを特徴とする請求項１に記載の１：Ｎ方式のオンライン囲碁対局システム。
【請求項４】
前記監視復旧モジュールは、システムを初期化するとき、共有メモリファイルを生成し、
前記囲碁対局マスタサーバは、前記共有メモリファイルに囲碁対局情報と現在まで進んだ棋譜情報とを手順に従って順次貯蔵し、
前記囲碁対局サーバは、接続されたＮ対局者クライアントのＩＤ毎に着手回数と前記最多着点位置と一致した回数情報とを、Ｎ対局者の手順で最多着点位置が算出されて前記囲碁対局マスタサーバから伝送されるたびに、前記共有メモリファイルに貯蔵及び更新することを特徴とする請求項３に記載の１：Ｎ方式のオンライン囲碁対局システム。
【請求項５】
前記監視復旧モジュールは、周期的に前記囲碁対局マスタサーバへのネットワークの応答をチェックし、予め定められた時間内に応答がなければ前記囲碁対局マスタサーバを再実行し、
前記囲碁対局マスタサーバは、再実行されると前記共有メモリファイルを参照して再実行の直前の状態にサーバを復元することを特徴とする請求項４に記載の１：Ｎ方式のオンライン囲碁対局システム。
【請求項６】
囲碁対局情報及び囲碁対局交渉情報を囲碁対局マスタサーバに設定するためのユーザーインターフェースと、
囲碁対局進行の任意的制御のためのユーザーインターフェースと、
対局運用者が囲碁対局解説情報を前記囲碁対局マスタサーバに入力して１対局者及びＮ対局者クライアントに伝送させるようにするユーザーインターフェースとを備える対局コントローラーモジュールをさらに含むことを特徴とする請求項１に記載の１：Ｎ方式のオンライン囲碁対局システム。
【請求項７】
（ａ）複数の囲碁対局サーバが、１対局者クライアント及び複数のＮ対局者クライアントに対し通信網を介してオンライン接続を許す段階と、
（ｂ）１対局者の手順において、囲碁対局マスタサーバが、１対局者クライアントが接続された囲碁対局サーバを介して１対局者クライアントから着点位置情報を入力された後、Ｎ対局者クライアントが接続されている囲碁対局サーバを介して各々のＮ対局者クライアントに１対局者の着点位置情報を伝送する段階と、
（ｃ）Ｎ対局者の手順において、囲碁対局マスタサーバが、複数のＮ対局者クライアントの接続されている各々の囲碁対局サーバを介してＮ対局者クライアントから着点位置情報を集めＮ対局者の最多着点位置情報を算出した後、算出された最多着点位置情報を囲碁対局サーバに接続されている１対局者及びＮ対局者クライアントに伝送する段階とを含むことを特徴とする１：Ｎ方式のオンライン囲碁対局方法。
【請求項８】
前記（ｂ）段階及び（ｃ）段階の進行中に、前記囲碁対局サーバは、囲碁対局情報と着点による棋譜情報とを所定の共有メモリファイルに貯蔵することを特徴とする請求項７に記載の１：Ｎ方式のオンライン囲碁対局方法。
【請求項９】
前記囲碁対局マスタサーバが再実行される段階と、
前記囲碁対局マスタサーバが、前記共有メモリファイルに記録された囲碁対局情報と棋譜情報とを参照してサーバの状態を復元する段階とをさらに含むことを特徴とする請求項８に記載の１：Ｎ方式のオンライン囲碁対局方法。
【請求項１０】
前記（ｂ）段階及び（ｃ）段階の進行中に、前記囲碁対局サーバは、自身に接続されているＮ対局者クライアントのＩＤ毎に着手回数と前記最多着点位置と一致した回数とを所定の共有メモリファイルに貯蔵することを特徴とする請求項７に記載の１：Ｎ方式のオンライン囲碁対局方法。
【請求項１１】
前記囲碁対局サーバが再実行される段階と、
前記囲碁対局サーバが、自身に接続されていたＮ対局者クライアントのＩＤ毎に前記共有メモリファイルに記録されている着手回数及び前記最多着点位置と一致した回数を参照して、サーバの状態を復元する段階をさらに含むことを特徴とする請求項１０に記載の１：Ｎ方式のオンライン囲碁対局方法。
【請求項１２】
第７項ないし第１１項のいずれか一つによる１：Ｎ方式のオンライン囲碁対局方法をプログラム化して記録したコンピュータで読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンラインで囲碁対局ができるシステム及びその方法と、これをプログラム化して記録したコンピュータで読取可能な記録媒体に関するものである。
【背景技術】
【０００２】
最近、オフラインの碁会所を訪れなくても囲碁対局をオンラインで楽しめるインターネットサイトが、囲碁愛好家達の脚光を浴びている。しかしながら、これらインターネットサイトにおける囲碁対局では、従来の碁会所などでの囲碁対局を単にオンライン化したものに過ぎないため、新しい面白さは提供できない。
【０００３】
一方、対局者の囲碁の水準は級数や段位等で評価されるが、級数等を向上させる最も望ましい方法は、自分より高級・高段位の対局者と打ち合って、状況対処能力を実戦から養う方法である。しかし、対局者は、一般的に、自分より高級・高段位または少なくとも同級・同段位者との囲碁対局を望むため、囲碁初心者は、実戦志向型の囲碁学習の機会が少なかった。しかも、囲碁愛好家達にとって、囲碁級数が高い者（例えば、プロ棋士等）と囲碁対局を行うことは、現実問題として困難であった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、本発明は、複数の囲碁愛好家達と囲碁プロ棋士とが、１：Ｎ方式の囲碁対局をオンラインで進めながら、囲碁愛好家達が直接石を打った位置を、他の囲碁愛好家達によって最も多く打たれた位置と比較できるようにして、普通対局し難いプロ棋士との囲碁対局をオンラインで行うという楽しさはもちろん、自分の囲碁実力を速やかに伸ばせるオンライン囲碁対局システム及びその方法と、これをプログラム化して記録したコンピュータで読取可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段を説明する。
【０００６】
前記技術的課題を達成するため本発明による１：Ｎ方式のオンライン囲碁対局システムは、１対局者クライアント及び複数のＮ対局者クライアントに対し通信網を介したオンライン接続を許す複数の囲碁対局サーバと、前記囲碁対局サーバを管掌する囲碁対局マスタサーバとを含む１：Ｎ方式のオンライン囲碁対局システムであって、前記囲碁対局サーバは、所定の手順において１対局者クライアントまたはＮ対局者クライアントから着点位置情報を入力されて前記囲碁対局マスタサーバに伝送し、前記囲碁対局マスタサーバは、前記１対局者クライアントから伝送された１対局者の着点位置情報を囲碁対局サーバを介してＮ対局者クライアントに伝送し、前記複数のＮ対局者クライアントから入力されたＮ対局者の着点位置情報から最多着点位置情報を算出して１対局者クライアント及びＮ対局者クライアントに伝送することによって、各手順において前記１対局者またはＮ対局者クライアントにグラフィックインターフェースにて石が着点されるようにプロセスを制御するものである。
【０００７】
また、本発明によるシステムにおいて、前記囲碁対局サーバは、１対局者クライアントが接続される１囲碁対局サーバと、Ｎ対局者クライアントが接続されるＮ囲碁対局サーバとに分けられて運用されることが望ましい。
【０００８】
また、本発明によるシステムにおいて、前記囲碁対局サーバと前記囲碁対局マスタサーバとの動作状態を監視し、各サーバに問題が生じた場合、該サーバを再実行させる監視復旧モジュールをさらに含むことが望ましい。この場合、前記監視復旧モジュールは、システムを初期化するとき、共有メモリファイルを生成し、前記囲碁対局マスタサーバは、前記共有メモリファイルに囲碁対局情報と現在まで進んだ棋譜情報とを手順に従って順次貯蔵し、前記囲碁対局サーバは、接続されたＮ対局者クライアントのＩＤ毎に着手回数と前記最多着点位置と一致した回数情報とを、Ｎ対局者の手順で最多着点位置が算出されて前記囲碁対局マスタサーバから伝送されるたびに、前記共有メモリファイルに貯蔵及び更新することが望ましい。
【０００９】
また、本発明によるシステムに監視復旧モジュールがさらに含まれた場合には、前記監視復旧モジュールは、周期的に前記囲碁対局マスタサーバへのネットワークの応答をチェックし、予め定められた時間内に応答がなければ前記囲碁対局マスタサーバを再実行し、前記囲碁対局マスタサーバは、再実行されると前記共有メモリファイルを参照して再実行の直前の状態にサーバを復元するものである。
【００１０】
また、本発明によるシステムにおいて、囲碁対局情報及び囲碁対局交渉情報を囲碁対局マスタサーバに設定するためのユーザーインターフェースと、囲碁対局進行の任意的制御のためのユーザーインターフェースと、対局運用者が囲碁対局解説情報を前記囲碁対局マスタサーバに入力して１対局者及びＮ対局者クライアントに伝送させるようにするユーザーインターフェースとを備える対局コントローラーモジュールをさらに含むことが望ましい。
【００１１】
前記技術的課題を達成するため本発明による１：Ｎ方式のオンライン囲碁対局方法は、（ａ）複数の囲碁対局サーバが、１対局者クライアント及び複数のＮ対局者クライアントに対し通信網を介してオンライン接続を許す段階と、（ｂ）１対局者の手順において、囲碁対局マスタサーバが、１対局者クライアントが接続された囲碁対局サーバを介して１対局者クライアントから着点位置情報を入力された後、Ｎ対局者クライアントが接続されている囲碁対局サーバを介して各々のＮ対局者クライアントに１対局者の着点位置情報を伝送する段階と、（ｃ）Ｎ対局者の手順において、囲碁対局マスタサーバが、複数のＮ対局者クライアントの接続されている各々の囲碁対局サーバを介してＮ対局者クライアントから着点位置情報を集めＮ対局者の最多着点位置情報を算出した後、算出された最多着点位置情報を囲碁対局サーバに接続されている１対局者及びＮ対局者クライアントに伝送する段階とを含むものである。
【００１２】
また、本発明による方法において、前記（ｂ）段階及び（ｃ）段階の進行中に、前記囲碁対局サーバは、囲碁対局情報と着点による棋譜情報とを所定の共有メモリファイルに貯蔵することが望ましい。この場合、本発明による方法は、前記囲碁対局マスタサーバが再実行される段階と、前記囲碁対局マスタサーバが、前記共有メモリファイルに記録された囲碁対局情報と棋譜情報とを参照してサーバの状態を復元する段階とをさらに含むものである。
【００１３】
また、本発明による方法において、前記（ｂ）段階及び（ｃ）段階の進行中に、前記囲碁対局サーバは、自身に接続されているＮ対局者クライアントのＩＤ毎に着手回数と前記最多着点位置と一致した回数とを所定の共有メモリファイルに貯蔵することが望ましい。この場合、本発明による方法は、前記囲碁対局サーバが再実行される段階と、前記囲碁対局サーバが、自身に接続されていたＮ対局者クライアントのＩＤ毎に前記共有メモリファイルに記録されている着手回数及び前記最多着点位置と一致した回数を参照して、サーバの状態を復元する段階をさらに含むものである。
【００１４】
本発明の他の技術的課題は、上記１：Ｎ方式のオンライン囲碁対局方法をプログラム化して記録したコンピュータで読取可能な記録媒体によっても達成できる。このような記録媒体は、コンピュータシステムにより読取可能にプログラム及びデータが貯蔵される全ての種類の記録媒体を含む。その例として、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｏｍｅｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＯＭ、磁気テープ、フレキシブルディスク、ハードディスク、光データ貯蔵装置などが挙げられる。また、このような記録媒体は、ネットワークでつながったコンピュータシステムに分散されて（分散方式）、コンピュータで読取可能なコードが貯蔵され、実行され得る。
【発明の効果】
【００１５】
本発明の効果として、以下に示すような効果を奏する。
【００１６】
すなわち、本発明の一側面によると、従来の１：１方式という囲碁対局の限界を克服できる。
【００１７】
また、本発明の他の側面によると、１対局者がプロ囲碁棋士である場合、Ｎ対局者の資格で参加する者の立場では、普通には想像できないプロ囲碁棋士との対局という面白さと興味を満喫できることにのみならず、プロ囲碁棋士と直接囲碁対局するため自分の囲碁実力を一層倍加させることができる。
【００１８】
また、本発明のさらに他の側面によると、最多着点位置は多数決の原則により決定されるため、自分の着点位置と他人の着点位置を常に対比することができるので、囲碁学習に大きく役に立つ。
【００１９】
また、本発明のさらに他の側面によると、Ｎ囲碁対局サーバまたは囲碁対局マスタサーバに問題が生じても、監視復旧モジュールが生成しておいた共有メモリファイルを参照できるため、手軽に復旧することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の望ましい実施の形態を説明する。ただし、本発明に係る実施の形態は様々な形態に変形でき、本発明の範囲が以下に詳述する実施の形態に限定されるものではない。本発明の実施の形態は、当業界で平均的な知識を持つ者に本発明をより完全に説明するために提供されるものである。なお、以下の説明において、１対局者というのは、１：Ｎ方式の囲碁対局においてＮ人の対局者を相手に囲碁対局を進行する１人を指称し、Ｎ対局者というのは、上記１対局者を相手に囲碁対局を進行する複数の対局者を指称する。また、対局運用者というのは、囲碁対局の進行に際して、囲碁解説や囲碁対局進行の全般的な流れを制御する者を指称する。
【００２１】
図１は、本発明の実施の形態に係る１：Ｎ方式のオンライン囲碁対局システムの概略的な構成図である。
【００２２】
図１に示すように、本発明に係るオンライン囲碁対局システムは、次のように構成されている。まず、１対局者クライアント１０は１対局者のコンピュータ端末で駆動され、複数のＮ対局者クライアント２０は複数のＮ対局者のコンピュータ端末で駆動される。ウェブサーバ３０は、上記１対局者クライアント１０及び上記Ｎ対局者クライアント２０と、通信ネットワーク、例えばインターネットを介してウェブインターフェースを形成する。１囲碁対局サーバ４０は、通信ネットワーク、例えばインターネットを介して上記１対局者クライアント１０のオンライン接続を許し、１：Ｎ方式のオンライン囲碁対局が上記１対局者クライアント１０で進行されるように全般的なプロセスを管掌する。Ｎ囲碁対局サーバ５０は、通信ネットワーク、例えばインターネットを介して複数のＮ対局者クライアント２０のオンライン接続を許し、１：Ｎ方式のオンライン囲碁対局が上記Ｎ対局者クライアント２０で進行されるように全般的なプロセスを管掌する。囲碁対局マスタサーバ６０は、上記１囲碁対局サーバ４０及び上記Ｎ囲碁対局サーバ５０の全般的な制御及び管理を担当し、１：Ｎ方式のオンライン囲碁対局の進行に応じて、１対局者の着点位置または複数のＮ対局者の最多着点位置を計算して、その結果を前記１囲碁対局サーバ４０及び上記Ｎ囲碁対局サーバ５０を介して１対局者クライアント１０及び複数のＮ対局者クライアント２０に伝送することによって、各クライアント１０・２０にグラフィックインターフェースにて碁盤に着点されるようにオンライン囲碁対局プロセスを制御する。
【００２３】
また、データベース７０には、１：Ｎ方式のオンライン囲碁対局の進行のために必要な情報と、前記オンライン囲碁対局の進行時、実時間で生じる各種データが貯蔵されて管理される。データベース管理モジュール８０は、前述したウェブサーバ３０、１囲碁対局サーバ４０、Ｎ囲碁対局サーバ５０及び囲碁対局マスタサーバ６０が、前記データベース７０の照会、データ更新、データ削除などを要求する場合に処理する。対局コントローラーモジュール９０は、対局運用者が囲碁対局マスタサーバ６０にログインしてオンライン囲碁対局の交渉情報（置き石、コミ、碁盤の大きさ、着点制限時間）をセットし、囲碁対局が進む過程で所定手順の着点に関する専門家の解説情報の入力及び囲碁対局の運用な制御（制限時間変更、着手中止、一手休み、一手戻しなど）のためのユーザーインターフェースを提供し、着手時間の開始及び終了を指示するイベントコードを発生させてオンライン囲碁対局の進行を制御する。
【００２４】
上記１対局者クライアント１０及びＮ対局者クライアント２０は、ＡＣＴＩＶＥＸ（登録商標）等の制御技術で製作されてウェブページに挿入され、１対局者またはＮ対局者が前記ウェブサーバ３０に接続して１：Ｎ方式のオンライン囲碁対局を要求した時に、各々の１対局者コンピュータ端末及びＮ対局者コンピュータ端末で実行されることが望ましい。ただし、本発明の技術的思想はこれに限定されるものではない。
【００２５】
また、上記１対局者またはＮ対局者クライアント１０・２０は、囲碁対局進行のときに必要な碁盤のイメージをグラフィックインターフェースにて１対局者またはＮ対局者に出力し、１対局者またはＮ対局者がそれぞれの手順で予め定められた所定の着点制限時間内に、マウス等の公知のデータ入力装置を用いて着点位置を指定すると、その位置に石をグラフィックインターフェースにて表示させるとともに、着点位置情報を１囲碁対局サーバ４０またはＮ囲碁対局サーバ５０を介して囲碁対局マスタサーバ６０に伝送する。このとき、１対局者クライアント１０及びＮ対局者クライアント２０は、対局コントローラーモジュール９０から着手開始コードが伝送されると着手を許し、着手終了コードが伝送されると現在の手順での着手を許さず、さらに、１対局者またはＮ対局者が定められた時間内に着点したかどうかを判断するために所定の時間をカウントすることは言うまでもない。そして、囲碁対局マスタサーバ６０は、伝送された着点位置情報を集めて現時点での着点位置情報を再び１対局者クライアント１０及びＮ対局者クライアント２０に伝送して、該当着点位置に石がグラフィックインターフェースにて確定的に出力されるようにする。
【００２６】
これをより具体的にみると、１対局者が自分の手順で決まった着点制限時間内に所定の位置に石を打つと、着点位置データは１囲碁対局サーバ４０を介して囲碁対局マスタサーバ６０に伝送され、囲碁対局マスタサーバ６０は１囲碁対局サーバ４０及びＮ囲碁対局サーバ５０を介して１対局者の着点位置データを１対局者クライアント１０及びＮ対局者クライアント２０に伝送する。そして、１対局者クライアント１０は１対局者の着点位置を最終確定し、Ｎ対局者クライアント２０は１対局者の着点を該当位置にグラフィックインターフェースにて出力する。
【００２７】
一方、Ｎ対局者（複数）の各々が、自分の手順で予め定められた着点制限時間内に所定の位置に石を打つと、Ｎ対局者の着点位置データは各々のＮ対局者クライアント２０が接続される該当Ｎ囲碁対局サーバ５０に集められる。その後、Ｎ囲碁対局サーバ５０は、着点制限時間が経過すると、伝送された着点位置情報を用いて最多着点位置情報と着手者数の情報を囲碁対局マスタサーバ６０に伝送する。そして、囲碁対局マスタサーバ６０は、複数のＮ囲碁対局サーバ５０が伝送した情報を用いて、Ｎ対局者が打った石の中から最多着点位置を算出し、これをまた１囲碁対局サーバ４０及びＮ囲碁対局サーバ５０を介して１対局者クライアント１０及びＮ対局者クライアント２０に伝送する。そして、１対局者クライアント１０とＮ対局者クライアント２０は、伝送されたＮ対局者の最多着点位置情報を用いて、該当する位置に石をグラフィックインターフェースにて出力する。
【００２８】
上記Ｎ対局者クライアント２０は、Ｎ対局者の着点位置が囲碁対局マスタサーバ６０から伝送された最多着点位置と一致するたびに、その一致回数を順次増加させてＮ対局者に表示することが好ましい。このため、Ｎ囲碁対局サーバ５０は、接続されている該当Ｎ対局者クライアント２０から着点位置が伝送されると、かかる着点位置をメモリに貯蔵しておく。そして、囲碁対局マスタサーバ６０から最多着点位置情報が算出されて伝送されると、メモリに貯蔵しておいた各々のＮ対局者の着点位置と最多着点位置と比べて、それぞれの着点位置が一致した場合には、かかるＮ対局者クライアント２０に、着点位置が一致したことを意味するコードを伝送することが望ましい。この場合、Ｎ対局者クライアント２０は、前記コードが伝送されるたびに、着点位置の一致回数を１ずつ増しながら、Ｎ対局者にグラフィックインターフェースにて出力させることができる。
【００２９】
場合によっては、Ｎ囲碁対局サーバ５０は、最多着点位置情報が囲碁対局マスタサーバ６０から伝送されるたびに、Ｎ対局者ごとの着点位置と最多着点位置との一致回数を累積計算してメモリに貯蔵しておく。そして、最多着点位置情報を各々のＮ対局者クライアント２０に伝送するとき、現在まで累積計算された一致回数を同時に伝送することも可能である。この場合、Ｎ対局者クライアント２０は、伝送された累積計算された一致回数を、グラフィックインターフェースにて表示してＮ対局者に通報すればよい。
【００３０】
本発明において、前記対局コントローラーモジュール９０は、囲碁対局の進行状況（１対局者またはＮ対局者の着点状況）をグラフィックインターフェースにて出力させることによって、対局運用者が囲碁対局進行状況を実時間に把握できるようにすることが望ましい。このため、囲碁対局マスタサーバ６０は、１対局者クライアント１０から１対局者の着点位置情報が伝送され、或いはＮ対局者の最多着点位置情報が決定されるたびに、当該位置情報を前記対局コントローラーモジュール９０に伝送することが望ましい。この場合、前記対局コントローラーモジュール９０は、対局運用者のコンピュータ端末にグラフィックインターフェースにて出力された碁盤のイメージに、囲碁対局マスタサーバ６０が伝送した着点位置を参照して該当位置に石がグラフィックインターフェースにて出力されるようにプロセスを制御する。
【００３１】
前記対局コントローラーモジュール９０には、囲碁対局が進行されるとき、対局運用者が解説情報を１対局者クライアント１０及び／またはＮ対局者クライアント２０に実時間で提供できるように、解説情報入力インターフェースが備えられる。この場合、対局運用者は解説情報入力インターフェースにて囲碁解説情報を入力することができ、このとき対局コントローラーモジュール９０は入力された囲碁解説情報を囲碁対局マスタサーバ６０に伝送する。そして、囲碁対局マスタサーバ６０は、伝送された囲碁解説情報を囲碁対局サーバ４０・５０を介して１対局者クライアント１０またはＮ対局者クライアント２０に伝送し、囲碁解説情報が伝送された１対局者クライアント１０またはＮ対局者クライアント２０は、囲碁解説情報を所定のユーザーインターフェース、例えば囲碁解説情報出力インターフェースにグラフィックインターフェースにて出力することが望ましい。
【００３２】
また、対局コントローラーモジュール９０は、既に設定されている囲碁交渉情報、例えば着点制限時間を調節可能にするユーザーインターフェースと、囲碁対局の一時停止や一手休みなどの囲碁対局の進行を運用者任意で調節できるユーザーインターフェースとが備えられる。この場合、前記したユーザーインターフェースを介して入力された制御情報は、囲碁対局マスタサーバ６０と１対局者及びＮ囲碁対局サーバ４０・５０を介して、１対局者及びＮ対局者クライアント１０・２０に伝送されることによって、着点制限時間の変更、囲碁対局の一時停止、一手休みなどの制御が可能になる。
【００３３】
一方、本発明によるシステムのように１：Ｎ方式で囲碁対局を進行するシステムの場合は、特性上相当なデータ処理ロードが発生し、これにより、場合によってはシステムに含まれる各種サーバ（特に、Ｎ囲碁対局サーバ５０、囲碁対局マスタサーバ６０）がダウンすることがある。従って、本発明によるオンライン囲碁対局システムは、各種サーバの動作状況を実時間で監視し、特定サーバがダウン等した場合にこれをダウンした直前の状態に復旧する技術的構成を採用することが望ましい。
【００３４】
より具体的に、本発明による囲碁対局システムは、データのトラフィックが多いＮ囲碁対局サーバ５０及び囲碁対局マスタサーバ６０の動作状況を実時間でモニタリングしている。そして、所定のサーバがダウンするなどの問題が生じた場合に該当サーバを問題発生時点の直前の状態に復旧させる監視復旧モジュール１００をさらに含むことが望ましい。この場合、前記監視復旧モジュール１００は、本発明によるシステムが初期化されるとメモリに共有メモリファイルを生成し、所定の１：Ｎ方式のオンライン囲碁対局が開始される場合、前記囲碁対局マスタサーバ６０は、前記共有メモリファイルに現在進行しているオンライン囲碁対局情報（例えば、○○○９段との１：Ｎ囲碁対局）と、着点位置（１対局者またはＮ対局者のもの）が決定される時点までの全ての着点位置情報（いわゆる棋譜情報）と、現在進んでいる囲碁対局の交渉情報とを貯蔵する。
【００３５】
そして、前記した各囲碁Ｎ対局サーバ５０は、接続されたＮ対局者のＩＤ情報と、接続されたＩＤ毎の最多着点位置との一致回数と、着手回数と、当該ＩＤのログインまたはログオフ状況情報とを、囲碁対局マスタサーバ６０からＮ対局者の最多着点位置が決まってその着点位置情報が伝送されるたびに、或いは、Ｎ対局者が新しくＮ囲碁対局サーバ５０に接続したり接続を解除したりするたびに、実時間で共有メモリファイルに前記した情報を記録または更新する。
【００３６】
本発明によるシステムに含まれる所定のサーバに問題が発生した場合には、前記監視復旧モジュール１００は、次のような過程を通じて問題発生前の状態に該当サーバを復元させる。
【００３７】
［囲碁対局マスタサーバ６０の復元］
オンライン囲碁対局が開始すると、前記監視復旧モジュール１００は、環境設定ファイルに貯蔵された囲碁対局マスタサーバ６０のＩＰとポート番号を用いて、囲碁対局マスタサーバ６０にネットワーク応答（Ｐｉｎｇ応答）を所定時間おきに求める。もし、予め定められた時間内に囲碁対局マスタサーバ６０がネットワーク応答をしないと、監視復旧モジュール１００は、囲碁対局マスタサーバ６０に問題が発生したとみなし、囲碁対局マスタサーバ６０を再実行する。前記囲碁対局マスタサーバ６０は、前記監視復旧モジュール１００により再実行されると、監視復旧モジュール１００の管理する共有メモリファイルを参照することによって、問題発生の直前の環境にサーバ状態を復元させる。この時、参照される情報としては、現時点まで進んだオンライン囲碁対局情報（例えば、○○○９段との１：Ｎ囲碁対局）と、問題発生の直前に貯蔵されていた全ての着点位置情報（棋譜情報）と、現在進んでいる囲碁対局の交渉情報などが挙げられる。囲碁対局マスタサーバ６０が復元される間に、１囲碁対局サーバ４０及びＮ囲碁対局サーバ５０は、待機状態を保持しつつ、囲碁対局マスタサーバ６０に伝送すべき情報を囲碁対局マスタサーバ６０が復元するまでバッファリングしておく。囲碁対局マスタサーバ６０が復元されると、１またはＮ囲碁対局サーバ４０・５０はバッファリングしておいた情報を囲碁対局マスタサーバ６０に伝送し、囲碁対局マスタサーバ６０はオンライン囲碁対局の進行のために行う元のプロセスを再び始める。
【００３８】
［Ｎ囲碁対局サーバ５０の復元］
オンライン囲碁対局が開始されると、前記監視復旧モジュール１００は環境設定ファイルに貯蔵されたＮ囲碁対局サーバ５０のＩＰとポート番号を用して、Ｎ囲碁対局サーバ５０にネットワーク応答（Ｐｉｎｇ応答）を所定の時間おきに求める。もし、予め定められた時間内にＮ囲碁対局サーバ５０がネットワーク応答をしないと、監視復旧モジュール１００は、Ｎ囲碁対局サーバ５０に問題が発生したとみなし、Ｎ囲碁対局サーバ５０を再実行する。Ｎ囲碁対局サーバ５０は、前記監視復旧モジュール１００により再実行されると、監視復旧モジュール１００の管理する共有メモリファイルを参照することによって、問題発生の直前の環境にサーバ状態を復元させる。より具体的に、Ｎ囲碁対局サーバ５０は、前記した共有メモリファイルを参照して、問題発生の直前に接続されていたＮ対局者のＩＤ情報と、最多着点位置との一致回数と、着手回数と、ログインまたはログオフ状況情報とをコピーしてＮ対局者らの集計現況情報を復元し、再び囲碁対局マスタサーバ６０に接続して、現時点で進んでいる囲碁対局情報と棋譜情報とを伝送されてサーバをセットすることによって、問題発生前の状態への復元を完了する。一方、Ｎ囲碁対局サーバ５０が復元する過程で、場合によってはＮ対局者クライアント２０の接続が解除され得る。この場合、Ｎ対局者クライアント２０は、Ｎ囲碁対局サーバ５０に自動再接続を図ることが望ましい。
【００３９】
図２は、本発明の実施の形態に係る１：Ｎ方式のオンライン囲碁対局システムの初期化過程を示したフローチャートである。
【００４０】
図２に示すように、本発明による囲碁対局システムの初期化過程は、システムの初期化が始まると、先ず前記監視復旧モジュール１００が実行される（ステップＳ１０）。次に、監視復旧モジュール１００は、前述した共有メモリファイルを生成した後（ステップＳ２０）、囲碁対局マスタサーバ６０、１囲碁対局サーバ４０、Ｎ囲碁対局サーバ５０にネットワーク応答を求め、応答がない場合に各サーバ４０・５０・６０を実行させる（ステップＳ３０）。囲碁対局マスタサーバ６０は、実行された後に共有メモリファイルにアクセスし、囲碁対局に関する情報（囲碁対局情報、棋譜情報など）が既に記録されているかを調べ、記録されている場合にはかかる情報を参照してサーバをセットし、記録されていない場合にはサーバを初期化状態にセットする（ステップＳ４０）。次に、囲碁対局マスタサーバ６０は、ネットワーク上で自分の存在を伝送して知らせ（ステップＳ５０）、これにより、１囲碁対局サーバ４０とＮ囲碁対局サーバ５０とが囲碁対局マスタサーバ６０に接続して、１：Ｎ方式の囲碁対局が可能な接続待機状態に成る（ステップＳ６０）。システムが初期化され、囲碁対局マスタサーバ６０が、共有メモリファイルに既に記録されていた情報（囲碁対局情報、棋譜情報など）によりサーバをセットする場合には、１及びＮ囲碁対局サーバ４０・５０は、囲碁対局マスタサーバ６０に接続するときに囲碁対局情報や棋譜情報などの情報を伝送されてサーバ状態をセットする。
【００４１】
新たな１：Ｎ方式のオンライン囲碁対局が進行する場合は、対局運用者は対局コントローラーモジュール９０を用いて、待機中である囲碁対局マスタサーバ６０に接続して開催予定である囲碁対局情報（対局の名称、対局参加者の条件、対局交渉の条件、着点制限時間など）を設定する。そして、囲碁対局マスタサーバ６０は、前記した情報を監視復旧モジュール１００が生成した共有メモリファイルに記録し、ネットワークを介して１囲碁対局サーバ４０とＮ囲碁対局サーバ５０とに伝送する。１囲碁対局サーバ４０とＮ囲碁対局サーバ５０は、伝送された情報を用いてサーバをセットし、１：Ｎ方式のオンライン囲碁対局に進行のためにクライアント１０・２０のオンライン接続を待つようになる。
【００４２】
図３は、本発明の実施の形態に係る１：Ｎ方式のオンライン囲碁対局方法の流れを概略的に示したフローチャートであり、開催予定のオンライン囲碁対局情報は既に対局運用者によりシステムに反映されている状態である。
【００４３】
図３を参照して本発明によるオンライン囲碁対局方法の進行過程を詳しく説明すると、先ず１対局者及びＮ対局者は、詳述した本発明のシステムに設けられたウェブサーバ３０に接続して会員加入し、対局者ＩＤとパスワードを獲得する（ステップＳ７０）。この時、１対局者及びＮ対局者が会員情報で提供する情報としては、自分が使う対局者ＩＤと、名前と、パスワードと、囲碁級数などとが挙げられる。このような情報は、本発明によるシステムに設けられたデータベース７０に記録されて管理及び更新される。次に、１対局者及びＮ対局者は、１：Ｎ方式のオンライン囲碁対局をするために前記ウェブサーバ３０に接続し会員ログインをする（ステップＳ８０）。会員ログインに成功すると、１対局者及びＮ対局者は自分が参加しようとする１：Ｎ方式の囲碁対局を選択する（ステップＳ９０）。そして、１対局者及びＮ対局者のコンピュータ端末からは、詳述したように１対局者クライアント１０及びＮ対局者クライアント２０が実行されて（ステップＳ１１０）、１対局者クライアント１０は１囲碁対局サーバ４０に、Ｎ対局者クライアント２０はＮ囲碁対局サーバ５０に接続される（ステップＳ１００）。
【００４４】
このとき、上記Ｎ囲碁対局サーバ５０は複数に運用されるため、前記ウェブサーバ３０は、Ｎ囲碁対局サーバ５０に対するＮ対局者クライアント２０の接続を均一に散らせることが望ましい。また、１対局者は、遅くとも１：Ｎ方式のオンライン囲碁対局が始まる前に１囲碁対局サーバ４０に接続しなければならず、Ｎ対局者の場合は、少なくとも１人以上が１：Ｎ方式のオンライン囲碁対局が始まる前にＮ囲碁対局サーバ５０に接続していることが望ましい。Ｎ対局者の場合は、１：Ｎ方式のオンライン囲碁対局が進んでいる途中に、いつでもＮ囲碁対局サーバ５０に接続してオンライン囲碁対局に参加したり、接続を解除してオンライン囲碁対局から離脱したりしてもよい。
【００４５】
１対局者及びＮ対局者クライアント１０・２０がコンピュータ端末で実行されると（ステップＳ１１０）、１囲碁対局サーバ４０及びＮ囲碁対局サーバ５０に各々接続して囲碁対局情報、交渉情報、現在まで進んだ棋譜データ等が伝送され、伝送された情報により碁盤のイメージを構成して現在の手順までの着点現況をグラフィックインターフェースにて出力する（ステップＳ１２０）。一方、１囲碁対局サーバ４０及びＮ囲碁対局サーバ５０は、現時点で接続した１対局者及びＮ対局者のＩＤ、着手回数、最多着点位置と一致した回数、ログイン維持状態などの情報を管理することはもちろん、監視復旧モジュール１００が生成した共有メモリファイルにも前記した情報を記録及び更新する。
【００４６】
そして、１対局者またはＮ対局者の手順におけるプロセスは、次のように各々異なる（ステップＳ１３０）。
【００４７】
［１対局者の着点］
１対局者が自分の手順で所定の時間内に石を打つと（ステップＳ１４０）、予め定められた着点制限時間内での着点であるかどうかを検討した後（ステップＳ１４５）、１対局者クライアント１０は、１対局者の着点状態をグラフィックインターフェースにて出力するとともに、着点位置情報を１囲碁対局サーバ４０に伝送する（ステップＳ１５０）。１囲碁対局サーバ４０は、伝送された着点位置情報を囲碁対局マスタサーバ６０に伝送する（ステップＳ１６０）。そして、囲碁対局マスタサーバ６０は、現時点での着点位置情報を１囲碁対局サーバ４０及びＮ囲碁対局サーバ５０を介して１対局者クライアント１０及びＮ対局者クライアント２０に伝送する（ステップＳ１７０）。そして、１対局者クライアント１０では１対局者の着点が確定され、Ｎ対局者クライアント２０では１対局者の着点が該当位置にグラフィックインターフェースにて出力される（ステップＳ１８０）。１対局者の着点位置情報が囲碁対局マスタサーバ６０から１及びＮ囲碁対局サーバ４０・５０に伝送される過程で、各サーバはメモリに貯蔵している棋譜情報を更新する（ステップＳ１９０）。着点制限時間が経過され（ステップＳ２００）、かつ囲碁対局がまだ進行中なら（ステップＳ２１０）手順は、Ｎ対局者らに渡る（ステップＳ２２０）。
【００４８】
［Ｎ対局者の着点］
複数のＮ対局者が自分の手順で所定の時間内に石を打つと（ステップＳ２３０）、予め定められた着点制限時間内の着点であるかどうかを検討した後（ステップＳ２３５）、先ず各Ｎ対局者クライアント２０は、各Ｎ対局者の着点状態をグラフィックインターフェースにて出力するとともに、各着点位置情報を各Ｎ対局者クライアント２０が接続されているＮ囲碁対局サーバ５０に伝送する（ステップＳ２４０）。各Ｎ囲碁対局サーバ５０は、伝送されたＮ対局者の着点位置情報を集め、最多着点位置情報とその着点位置に石を置いたＮ対局者の数を算出したのち、囲碁対局マスタサーバ６０に伝送する（ステップＳ２５０）。そして、囲碁対局マスタサーバ６０は、各々のＮ囲碁対局サーバ５０が伝送した情報を集めて、最終的な最多着点位置情報を算出する。そして、囲碁対局マスタサーバ６０は、算出された最多着点位置情報を１囲碁対局サーバ４０及びＮ囲碁対局サーバ５０に伝送する（ステップＳ２６０）。そして、１囲碁対局サーバ４０は、伝送された最多着点位置情報を用いてメモリに貯蔵している棋譜情報を更新し（ステップＳ２７０）、再び前記最多着点位置情報を１対局者クライアント１０に伝送する（ステップＳ２８０）。そして、１対局者クライアント１０は、Ｎ対局者らが置いた最多着点位置に石をグラフィックインターフェースにて出力させる（ステップＳ２９０）。一方、Ｎ囲碁対局サーバ５０は、伝送された最多着点位置情報を用いてメモリに貯蔵している棋譜情報と、現在石を打ったＮ対局者の着手回数情報及び最多着点位置に当たった回数を更新した後（ステップＳ２７０）、前記最多着点位置情報をＮ囲碁対局サーバ５０に接続したＮ対局者クライアント２０に伝送するとともに、Ｎ対局者のＩＤ毎に着手回数情報及び最多着点位置と一致した回数情報をもＮ対局者クライアント２０に伝送する（ステップＳ２８０）。そして、Ｎ対局者クライアント２０は、現在の手順での着点位置を囲碁対局マスタサーバ６０の伝送した最多着点位置として最終確定し、石をグラフィックインターフェースにて出力するとともに、伝送された着手回数と最多着点位置と一致した回数をもグラフィックインターフェースにて出力させる（ステップＳ２９０）。着点制限時間が経過され（ステップＳ３００）、かつ囲碁対局がまだ進行中なら（ステップＳ３１０）、手順は１対局者に渡る（ステップＳ２２０）。
【００４９】
前記のように１対局者及びＮ対局者の着点は、特別なことがないかぎり囲碁対局が終了するまで交代に行われる。また、着点の開始と終了は、対局コントローラーモジュール９０により全体的に制御されることが望ましい。このため、対局コントローラーモジュール９０は、手順ごとに着手開始コードと終了コードとを囲碁対局マスタサーバ６０を介して１対局者クライアント１０及びＮ対局者クライアント２０に伝送し、これに応じて１対局者クライアント１０及びＮ対局者クライアント２０の着手を許すことが望ましい。また、対局運用者が着点制限時間を設定した場合には、前記の着手開始コードとともに各クライアント１０・２０に着点制限時間が伝送されるため、１対局者クライアント１０またはＮ対局者クライアント２０において着点可能時間が開始されて次第にカウントダウンし、かかる着点可能時間をグラフィックインターフェースにて見せることが望ましい。
【００５０】
１：Ｎ方式のオンライン囲碁対局が進んでいる途中で新たなＮ対局者がログインを経ってＮ囲碁対局サーバ５０に接続すると、Ｎ対局者クライアント２０は、Ｎ囲碁対局サーバ５０から囲碁対局情報、囲碁対局交渉情報及び現在まで進んでいる棋譜情報を伝送されて囲碁対局の環境を設定することによって、直ちに新規のＮ対局者がオンライン囲碁対局に参加できるようにすることが望ましい。
【００５１】
以上、望ましい実施の形態を挙げて本発明を説明したが、本明細書および図面に記載された実施の形態は本発明の最も望ましい実施の形態に過ぎず、本発明の技術的思想を制限するものではなく、本出願の時にこれらに代替可能な多様な均等例と変形例があり得ることを理解すべきである。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態に係る１：Ｎ方式のオンライン囲碁対局システムの概略構成図。
【図２】本発明の実施の形態に係る１：Ｎ方式のオンライン囲碁対局システムの初期化過程を示したフローチャート。
【図３】本発明の実施の形態に係る１：Ｎ方式のオンライン囲碁対局方法の流れを概略的に示したフローチャート。
【符号の説明】
【００５３】
１０    １対局者クライアント
２０    Ｎ対局者クライアント
３０    ウェブサーバ
４０    １囲碁対局サーバ
５０    Ｎ囲碁対局サーバ
６０    囲碁対局マスタサーバ
７０    データベース
８０    データベース管理モジュール
９０    対局コントローラーモジュール
１００    監視復旧モジュール
【図１】
2004209251.tif 000003
【図２】
2004209251.tif 000004
【図３】
2004209251.tif 000005