(57)【特許請求の範囲】
【請求項１】
電子機器で駆動するアプリケーションの制御にしたがい、前記アプリケーションと関連するサービスの進行画面を第１レイヤに表示し、
前記電子機器で前記サービスと関連する制御機能に対する選択信号が入力されるためのユーザインタフェースを前記第１レイヤの予め設定された領域に表示し、
前記電子機器で前記サービスの進行と関連する予め設定された条件が満たされた場合、前記サービスと関連する追加サービスの提供のための第２レイヤを前記第１レイヤ上にオーバーラップさせ、
前記電子機器で前記第２レイヤの一部領域に対して入力された選択信号をフッキング（ｈｏｏｋｉｎｇ）し、前記第２レイヤの一部領域に対応する前記制御機能を呼び出して前記追加サービスの進行を処理し、
前記第１レイヤ、前記ユーザインタフェース、および前記制御機能のための第１ソースコードと、前記第２レイヤおよび前記制御機能を呼び出す機能のための第２ソースコードとは互いに分離して生成され、
前記第２ソースコードは、前記第２レイヤの一部領域に対して入力された選択信号をフッキングし、前記第２レイヤの一部領域に対応する前記制御機能のための関数を前記第１ソースコードに呼び出すように前記電子機器を制御するためのコードを含むことを特徴とする、オーバーレイ制御方法。
【請求項２】
前記サービスは、前記アプリケーションを通じて前記電子機器に提供されるゲームサービスを含み、
前記追加サービスは、前記ゲームサービスを通じて追加で提供されるチュートリアルおよびクエストのうち少なくとも１つを含み、
前記追加サービスの進行の処理は、
前記チュートリアルまたは前記クエストの進行画面が表示される第２レイヤの一部領域に設定された呼び出し機能を利用して前記ゲームサービスの制御機能を呼び出して前記チュートリアルまたは前記クエストの進行を処理することを特徴とする、請求項１に記載のオーバーレイ制御方法。
【請求項３】
前記追加サービスの進行の処理は、
前記第２レイヤから前記一部領域を除いた残りの領域に対して入力された選択信号を遮断することを特徴とする、請求項１に記載のオーバーレイ制御方法。
【請求項４】
前記追加サービスの進行の処理は、
前記選択信号が入力された領域に表示された前記第１レイヤのユーザインタフェースに対応する制御機能を呼び出すことを特徴とする、請求項１に記載のオーバーレイ制御方法。
【請求項５】
前記追加サービスの進行の処理は、
前記選択信号が入力された領域に表示された前記第１レイヤのユーザインタフェースとは関係なく、前記第２レイヤの一部領域に対して予め設定された制御機能を呼び出すことを特徴とする、請求項１に記載のオーバーレイ制御方法。
【請求項６】
前記電子機器で前記ユーザインタフェースが表示された領域に対して入力された選択信
号にしたがって選択されたユーザインタフェースを確認し、前記選択されたユーザインタフェースに対応する制御機能を前記サービスに適用して前記サービスの進行を処理すること
をさらに含むことを特徴とする、請求項１に記載のオーバーレイ制御方法。
【請求項７】
登録されたアプリケーションのうち少なくとも一部に関する情報を含むページを、ネットワークを介してユーザの電子機器に送信する段階、
前記電子機器で前記ページを通じて選択されたアプリケーションに関する情報を確認する段階、および
前記選択されたアプリケーションのインストールファイルを前記電子機器に送信する段階
を含み、
前記インストールファイルは、第１ソースコードおよび第２ソースコードを含み、
前記電子機器で前記アプリケーションの実行にしたがって前記第１ソースコードを通じてサービスの進行が処理され、予め設定された条件が満たされることにより、前記第２ソースコードを通じて追加サービスの進行が処理され、
前記電子機器で前記追加サービスが進行される場合、前記第１ソースコードによって前記電子機器の画面に表示されたユーザインタフェースに対する入力を前記第２ソースコードによってフッキング（ｈｏｏｋｉｎｇ）し、前記第２ソースコードによって予め設定された制御機能を前記第１ソースコードに呼び出して前記追加サービスの進行を処理することを特徴とする、オーバーレイ制御方法。
【請求項８】
前記サービスは、前記アプリケーションを通じて前記電子機器に提供されるゲームサービスを含み、
前記追加サービスは、前記ゲームサービスを通じて追加で提供されるチュートリアルおよびクエストのうち少なくとも１つを含み、
前記電子機器で前記第１ソースコードを通じて前記ゲームサービスの進行画面が第１レイヤに表示され、前記第２ソースコードを通じて前記チュートリアルまたは前記クエストの進行画面が第２レイヤに表示され、
前記第２レイヤの一部領域に設定された呼び出し機能を利用して前記ゲームサービスの制御機能を呼び出して前記チュートリアルまたは前記クエストの進行が処理されることを特徴とする、請求項７に記載のオーバーレイ制御方法。
【請求項９】
前記電子機器で前記第１ソースコードを通じて前記サービスの進行画面が第１レイヤに表示され、前記第２ソースコードを通じて前記追加サービスの進行画面が第２レイヤに表示され、
前記電子機器で前記第２レイヤの一部領域を除いた残りの領域に対する入力が遮断され、前記第２レイヤの一部領域に対する入力が前記第２ソースコードを利用してフッキングされ、前記第２レイヤの一部領域に対応する制御機能の関数が前記第１ソースコードに呼び出されることを特徴とする、請求項７に記載のオーバーレイ制御方法。
【請求項１０】
前記第２ソースコードは、前記入力が発生した領域に表示されたユーザインタフェースに対応する制御機能を呼び出すように前記電子機器を制御することを特徴とする、請求項７に記載のオーバーレイ制御方法。
【請求項１１】
前記第２ソースコードは、前記入力が発生した領域に表示されたユーザインタフェースとは関係なく、前記第２ソースコードで前記入力が発生した領域に対して予め設定された制御機能を呼び出すように前記電子機器を制御することを特徴とする、請求項７に記載のオーバーレイ制御方法。
【請求項１２】
コンピュータによって実現されるサーバのシステムであって、
コンピュータで読み取り可能な命令を格納するメモリ、および
前記命令を実行するように実現される少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
ユーザの電子機器からネットワークを介して受信された要請にしたがって登録されたアプリケーションのうち少なくとも一部に関する情報を前記電子機器に提供し、前記電子機器で選択されたアプリケーションのインストールファイルを、前記ネットワークを介して前記電子機器に送信するように前記サーバを制御し、
前記インストールファイルは、第１ソースコードおよび第２ソースコードを含み、
前記電子機器で前記アプリケーションの実行にしたがって前記第１ソースコードを通じてサービスの進行が処理され、予め設定された条件を満たすことにより、前記第２ソースコードを通じて追加サービスの進行が処理され、
前記電子機器で前記追加サービスが進行される場合、前記第１ソースコードによって前記電子機器の画面に表示されたユーザインタフェースに対する入力を前記第２ソースコードによってフッキング（ｈｏｏｋｉｎｇ）し、前記第２ソースコードによって予め設定された制御機能を前記第１ソースコードに呼び出して前記追加サービスの進行を処理することを特徴とする、システム。
【請求項１３】
前記サービスは、前記アプリケーションを通じて前記電子機器に提供されるゲームサービスを含み、
前記追加サービスは、前記ゲームサービスを通じて追加で提供されるチュートリアルおよびクエストのうち少なくとも１つを含み、
前記電子機器で前記第１ソースコードを通じて前記ゲームサービスの進行画面が第１レイヤに表示され、前記第２ソースコードを通じて前記チュートリアルまたは前記クエストの進行画面が第２レイヤに表示され、
前記第２レイヤの一部領域に設定された呼び出し機能を利用して前記ゲームサービスの制御機能を呼び出して前記チュートリアルまたは前記クエストの進行が処理されることを特徴とする、請求項１２に記載のシステム。
【請求項１４】
前記電子機器で前記第１ソースコードを通じて前記サービスの進行画面が第１レイヤに表示され、前記第２ソースコードを通じて前記追加サービスの進行画面が第２レイヤに表示され、
前記電子機器で前記第２レイヤの一部領域を除いた残りの領域に対する入力が遮断され、前記第２レイヤの一部領域に対する入力が前記第２ソースコードを利用してフッキングされ、前記第２レイヤの一部領域に対応する制御機能の関数が前記第１ソースコードに呼び出されることを特徴とする、請求項１２に記載のシステム。
【請求項１５】
前記第２ソースコードは、前記入力が発生した領域に表示されたユーザインタフェースに対応する制御機能を呼び出すように前記電子機器を制御することを特徴とする、請求項１２に記載のシステム。
【請求項１６】
前記第２ソースコードは、前記入力が発生した領域に表示されたユーザインタフェースとは関係なく、前記第２ソースコードで前記入力が発生した領域に対して予め設定された制御機能を呼び出すように前記電子機器を制御することを特徴とする、請求項１２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
下記の説明は、オーバーレイ制御方法およびシステムに関する。
【背景技術】
【０００２】
電子機器にインストールされたアプリケーションを通じた多様なサービスが提供されている。しかし、サービスで追加サービスを提供するためには、単に追加サービスのためのコードだけを追加するのではなく、既存のソースコードに大量の分岐構文を追加して電子機器が既存のサービスで追加サービスのためのコードにアクセスできるようにしなければならない。これにより、追加サービスを提供するためのソースコードの追加が極めて複雑であるという問題がある。
【０００３】
例えば、ゲームサービスでチュートリアルやクエストを追加する場合、既存のゲームを進行している途中でチュートリアルやクエストを行うためには、既存のソースコードからチュートリアルやクエストのためのソースコードに分岐することができるように、既存のソースコードに多数の分岐コードが追加されなければならない。この場合、開発者は、ゲーム内容に追加や変更が生じるたびに、それぞれの分岐コードを見つけ出してコードを修正しなければならないという問題が生じる。
【０００４】
このような問題は、ソースコードの維持／補修管理を困難にする要因となり、分岐量が多くなるため絶対的なコード量が増加し、追加サービスを迅速に適用させることが難しくなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
既存のソースコードと追加サービスのためのソースコードとを分離して管理、処理、および分析することによってコード内の分岐を減らしてコード量を減らすことができ、追加サービスを迅速に適用および製作することができる、オーバーレイ制御方法およびシステムを提供する。
【課題を解決するための手段】
【０００６】
本発明の一実施形態によれば、電子機器で駆動するアプリケーションの制御にしたがい、前記アプリケーションと関連するサービスの進行画面を第１レイヤに表示し、前記電子機器で前記サービスと関連する制御機能に対する選択信号が入力されるためのユーザインタフェースを前記第１レイヤの予め設定された領域に表示し、前記電子機器で前記サービスの進行と関連する予め設定された条件が満たされた場合、前記サービスと関連する追加サービスを提供するための第２レイヤを前記第１レイヤ上にオーバーラップさせ、および前記電子機器で前記第２レイヤの一部領域に対して入力された選択信号をフッキング（ｈｏｏｋｉｎｇ）し、前記第２レイヤの一部領域に対応する制御機能を呼び出して前記追加サービスの進行を処理することを特徴とする、オーバーレイ（ｏｖｅｒｌａｙ）制御方法が提供される。
【０００７】
上記オーバーレイ制御方法において、前記第１レイヤ、前記ユーザインタフェース、および前記制御機能のための第１ソースコードと、前記第２レイヤおよび前記制御機能を呼び出す機能のための第２ソースコードとは互いに分離して生成され、前記第２ソースコードは、前記第２レイヤの一部領域に対して入力された選択信号をフッキングし、前記第２レイヤの一部領域に対応する制御機能の関数を前記第１ソースコードに呼び出すように前記電子機器を制御するためのコードを含んでもよい。
【０００８】
上記オーバーレイ制御方法において、前記サービスは、前記アプリケーションを通じて前記電子機器に提供されるゲームサービスを含み、前記追加サービスは、前記ゲームサービスを通じて追加で提供されるチュートリアルおよびクエストのうち少なくとも１つを含み、前記追加サービスの進行の処理は、前記チュートリアルまたは前記クエストの進行画面が表示される第２レイヤの一部領域に設定された呼び出し機能を利用して前記ゲームサービスの制御機能を呼び出して前記チュートリアルまたは前記クエストの進行を処理してもよい。
【０００９】
上記オーバーレイ制御方法において、前記追加サービスの進行の処理は、前記第２レイヤで前記一部領域を除いた残りの領域に対して入力された選択信号を遮断してもよい。
【００１０】
上記オーバーレイ制御方法において、前記追加サービスの進行の処理は、前記選択信号が入力された領域に表示された前記第１レイヤのユーザインタフェースに対応する制御機能を呼び出してもよい。
【００１１】
上記オーバーレイ制御方法において、前記追加サービスの進行の処理は、前記選択信号が入力された領域に表示された前記第１レイヤのユーザインタフェースとは関係なく、前記第２レイヤの一部領域に対して予め設定された制御機能を呼び出してもよい。
【００１２】
上記オーバーレイ制御方法において、前記オーバーレイ制御方法は、前記電子機器で前記ユーザインタフェースが表示された領域に対して入力された選択信号にしたがって選択されたユーザインタフェースを確認し、前記選択されたユーザインタフェースに対応する制御機能を前記サービスに適用して前記サービスの進行の処理をさらに含でもよい。
【００１３】
本発明の一実施形態によれば、登録されたアプリケーションのうち少なくとも一部に関する情報を含むページを、ネットワークを介してユーザの電子機器に送信する段階、前記電子機器で前記ページを通じて選択されたアプリケーションに関する情報を確認する段階、および前記選択されたアプリケーションのインストールファイルを前記電子機器に送信する段階を含み、前記インストールファイルは、第１ソースコードおよび第２ソースコードを含み、前記電子機器で前記アプリケーションの実行によって前記第１ソースコードを通じてサービスの進行が処理され、予め設定された条件を満たすことによって前記第２ソースコードを通じて追加サービスの進行が処理され、前記電子機器で前記追加サービスが進行される場合、前記第１ソースコードを通じて前記電子機器の画面に表示されたユーザインタフェースに対する入力を前記第２ソースコードによってフッキング（ｈｏｏｋｉｎｇ）し、前記第２ソースコードによって予め設定された制御機能を前記第１ソースコードに呼び出して前記追加サービスの進行を処理することを特徴とする、オーバーレイ制御方法が提供される。
【００１４】
本発明の一実施形態によれば、コンピュータによって実現されるサーバのシステムであって、コンピュータで読み取り可能な命令を格納するメモリ、および前記命令を実行するように実現される少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、ユーザの電子機器からネットワークを介して受信された要請にしたがって登録されたアプリケーションのうち少なくとも一部に関する情報を前記電子機器に提供し、前記電子機器で選択されたアプリケーションのインストールファイルを、前記ネットワークを介して前記電子機器に送信するように前記サーバを制御し、前記インストールファイルは、第１ソースコードおよび第２ソースコードを含み、前記電子機器で前記アプリケーションの実行にしたがって前記第１ソースコードを通じてサービスの進行が処理され、予め設定された条件を満たすことによって前記第２ソースコードを通じて追加サービスの進行が処理され、前記電子機器で前記追加サービスが進行される場合、前記第１ソースコードを通じて前記電子機器の画面に表示されたユーザインタフェースに対する入力を前記第２ソースコードによってフッキング（ｈｏｏｋｉｎｇ）し、前記第２ソースコードによって予め設定された制御機能を前記第１ソースコードに呼び出して前記追加サービスの進行を処理することを特徴とする、システムが提供される。
【発明の効果】
【００１５】
既存のソースコードと追加サービスのためのソースコードとを分離して管理、処理、および分析することによってコード内の分岐を減らしてコード量を減らすことができ、追加サービスの迅速な適用および製作を可能にすることができる。これにより、既存のゲームコードの維持／補修費用を減らすことができ、追加サービスの迅速な適用と適用費用の減少、および修正に対する柔軟な対処を可能にすることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示した図である。
【図４】本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。
【図５】本発明の一実施形態における、第１レイヤおよび第２レイヤの例を示した図である。
【図６】本発明の一実施形態における、第１レイヤおよび第２レイヤの例を示した図である。
【図７】本発明の一実施形態における、ゲームサービスでチュートリアルを追加サービスとして提供する例を示した図である。
【図８】本発明の一実施形態における、ゲームサービスでチュートリアルを追加サービスとして提供する例を示した図である。
【図９】本発明の一実施形態における、ゲームサービスでチュートリアルを追加サービスとして提供する例を示した図である。
【図１０】本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
【発明を実施するための形態】
【００１７】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００１８】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００１９】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータ装置によって実現される固定型端末や移動型端末であってもよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、携帯電話、ナビゲーション、コンピュータ、ノート型パンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレットＰＣなどがある。一例として、電子機器１（１１０）は、無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信してもよい。
【００２０】
通信方式が制限されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでもよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的（ｈｉｅｒａｒｃｈｉｃａｌ）ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これに制限されることはない。
【００２１】
サーバ１５０、１６０それぞれは、電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてもよい。
【００２２】
一例として、サーバ１５０は、ネットワーク１７０を介して接続した電子機器１（１１０）にアプリケーションのインストールのためのファイルを提供してもよい。この場合、電子機器１（１１０）は、サーバ１５０から提供されたファイルを利用してアプリケーションをインストールすることができる。また、電子機器１（１１０）が含むオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：ＯＳ）および少なくとも１つのプログラム（一例として、ブラウザや前記インストールされたアプリケーション）の制御にしたがってサーバ１６０に接続し、サーバ１６０が提供するサービスやコンテンツの提供を受けることも可能である。例えば、電子機器１（１１０）がアプリケーションの制御にしたがいネットワーク１７０を介してサービス要請メッセージをサーバ１６０に送信すると、サーバ１６０は、サービス要請メッセージに対応するコードを電子機器１（１１０）に送信してもよく、電子機器１（１１０）は、アプリケーションの制御にしたがってコードに基づく画面を構成して表示することにより、ユーザにサービスやコンテンツを提供してもよい。他の例として、サーバ１６０は、メッセージングサービスのための通信セッションを設定し、設定された通信セッションを通じて複数の電子機器１１０、１２０、１３０、１４０間のメッセージの送受信をルーティングしてもよい。
【００２３】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、１つの電子機器に対する例として電子機器１（１１０）を、１つのサーバに対する例としてサーバ１５０の内部構成を説明する。他の電子機器１２０、１３０、１４０やサーバ１６０も、同一または類似の内部構成を備えてもよい。
【００２４】
電子機器１（１１０）とサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでもよい。メモリ２１１、２２１は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電気機器１（１１０）にインストールされ駆動するブラウザや上述したアプリケーションなどのためのコード）が格納されてよい。このようなソフトウェア構成要素は、ドライブメカニズム（ｄｒｉｖｅ  ｍｅｃｈａｎｉｓｍ）を利用してメモリ２１１、２２１とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピードライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール２１３、２２３を利用してメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム（一例として、上述したサーバ１６０）がネットワーク１７０を介して提供するファイルによってインストールされるプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてもよい。
【００２５】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてもよい。
【００２６】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１（１１０）とサーバ１５０とが互いに通信するための機能を提供してもよいし、他の電子機器（一例として、電子機器２（１２０））または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１（１１０）のプロセッサ２１２がメモリ２１１のような記録装置に格納されたプログラムコードにしたがって生成した要請（一例として、コンテンツに対するストリーミングサービスの要請）が、通信モジュール２１３の制御にしたがい、ネットワーク１７０を介してサーバ１５０に伝達されてもよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１（１１０）の通信モジュール２１３を通じて電子機器１（１１０）に受信されてもよい。例えば、通信モジュール２１３を通じて受信したサーバ１５０の制御信号や命令などは、プロセッサ２１２やメモリ２１１に伝達されてもよく、コンテンツやファイルなどは、電子機器１（１１０）がさらに含むことのできる格納媒体に格納されてもよい。
【００２７】
入力／出力インタフェース２１４、２２４は、入力／出力装置２１５とのインタフェースのための手段であってもよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、出力装置は、アプリケーションの通信セッションを表示するためのディスプレイのような装置を含んでもよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。より具体的な例として、電子機器１（１１０）のプロセッサ２１２は、メモリ２１１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や電子機器２（１２０）が提供するデータを利用して構成されるサービス画面２１５が入力／出力インタフェース２１４を通じてディスプレイに表示されてもよい。
【００２８】
また、他の実施形態において、電子機器１（１１０）とサーバ１５０は、図２の構成要素よりもさらに多くの構成要素を含んでもよい。しかし、大部分の従来技術構成要素を明確に図に示す必要はない。例えば、電子機器１（１１０）は、上述した入力／出力装置２１５のうち少なくとも一部を含むように実現されてもよいし、トランシーバ（ｔｒａｎｓｃｅｉｖｅｒ）、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【００２９】
図３は、本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示した図であり、図４は、本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。図３に示すように、電子機器１（１１０）のプロセッサ２１２は、表示制御部３１０およびサービス進行処理制御部３２０を備えてもよい。このようなプロセッサ２１２の構成要素は、図４の方法が含むステップ４１０〜４６０を実行するように電子機器１（１１０）を制御してもよく、このような制御のために、メモリ２１１が含むオペレーティングシステムのコードと少なくとも１つのプログラムのコードを実行するように実現されてもよい。
【００３０】
ステップ４１０で、プロセッサ２１２は、オーバーレイ制御方法のためのアプリケーションのファイルに格納されたプログラムコード（ソースコード）をメモリ２１１にロードしてもよい。例えば、アプリケーションのプログラムファイルは、ファイル配布サーバによってネットワークを介して提供されてもよく、電子機器１（１１０）にアプリケーションをインストール（ｉｎｓｔａｌｌ）するために利用されてもよい。電子機器１（１１０）にインストールされたアプリケーションが実行される場合、プロセッサ２１２は、プログラムコードをメモリ２１１にロードしてもよい。このとき、プロセッサ２１２が備える表示制御部３１０およびサービス進行処理制御部３２０それぞれは、メモリ２１１にロードされたプログラムコードのうちの対応する部分を実行させ、以後のステップ４２０〜４６０を実行するように実現されてもよい。以下、プロセッサ２１２の構成要素が電子機器１（１１０）を制御するということは、プロセッサ２１２が電子機器１（１１０）の他の構成要素を制御すると理解されてもよい。例えば、プロセッサ２１２は、電子機器１（１１０）が含む通信モジュール２１３を制御することで電子機器１（１１０）がサーバ１６０や他の電子機器からデータを受信するように電子機器１（１１０）を制御してもよい。
【００３１】
ステップ４２０で、表示制御部３１０は、アプリケーションの制御にしたがい、アプリケーションと関連するサービスの進行画面を第１レイヤに表示するように電子機器１（１１０）を制御してもよい。例えば、表示制御部３１０は、メモリ２１１にロードされたソースコードを実行してサービスの進行画面（一例として、ゲームサービスの場合はゲーム画面）を第１レイヤに表示するようにしてもよい。
【００３２】
ステップ４３０で、表示制御部３１０は、サービスと関連する制御機能に対する選択信号が入力されるためのユーザインタフェースを、第１レイヤの予め設定された領域に表示するように電子機器１（１１０）を制御してもよい。例えば、サービスの進行画面は第１−１レイヤに表示され、ユーザインタフェースの表示画面は、第１−２レイヤによって実現されて第１−１レイヤ上にオーバーラップされて表示されてもよい。第１−１レイヤと第１−２レイヤは、第１レイヤに含まれてもよい。
【００３３】
ステップ４４０で、サービス進行処理制御部３２０は、ユーザインタフェースが表示された領域に対して入力された選択信号にしたがって選択されたユーザインタフェースを確認し、選択されたユーザインタフェースに対応する制御機能をサービスに適用してサービスの進行を処理するように電子機器１（１１０）を制御してもよい。例えば、ゲームサービスにおいて、ユーザインタフェースは、キャラクタの制御、スキルの使用やゲームメニューなどと関連する入力アイコンであってもよい。サービス進行処理制御部３２０は、このようなユーザインタフェースにユーザが入力を行うことによって発生する信号（前記選択信号）にしたがってサービスの進行を処理してもよい。ここで、サービスの進行は、上述したように、アプリケーションと関連するサービスを提供するサーバ１６０との連係によって行われてもよい。この場合、サービス進行処理制御部３２０は、サーバ１６０との通信などを処理するように電子機器１（１１０）をさらに制御してもよい。
【００３４】
ステップ４５０で、オーバーラップ処理部３１０は、サービスの進行と関連する予め設定された条件が満たされた場合、サービスと関連する追加サービスの提供のための第２レイヤを当該第１レイヤ上にオーバーラップさせてもよい。例えば、第２レイヤの一部領域に、制御機能を呼び出すための呼び出し機能が設定されてもよい。この場合、第２レイヤは、一部領域に追加サービスを提供してもよく、一部領域を透明に構成することによって第１レイヤのサービス進行画面（のうち少なくとも一部）とユーザインタフェース（のうち少なくとも一部）が表示されるように実現されてもよい。呼び出し機能は、追加サービスが提供される領域に設定されてもよいし、透明に構成された領域に設定されてもよい。
【００３５】
ステップ４６０で、サービス進行処理制御部３２０は、第２レイヤの一部領域に対して入力された選択信号をフッキング（ｈｏｏｋｉｎｇ）し、第２レイヤの一部領域に対応する制御機能を呼び出して追加サービスの進行を処理するように電子機器１（１１０）を制御してもよい。上述したように、ユーザの観点では、第２レイヤが第１レイヤ上にオーバーラップされたとしても、ユーザインタフェース（のうち少なくとも一部）が表示される。ユーザが、追加サービスが提供されている途中に、ユーザインタフェースを選択しようとする場合がある。このとき、サービス進行処理制御部３２０は、ユーザインタフェースに対して入力された選択信号を、該当の領域に設定された呼び出し機能（該当の領域に呼び出し機能が設定されている場合に）を利用して横取りすることができる。したがって、第１レイヤの観点では、ユーザの入力が発生したことを知ることができなくなり、別の制御機能を実行する必要がなくなる。さらに、サービス進行処理制御部３２０は、呼び出し機能に対応する制御機能（サービスと関連する制御機能）を呼び出して処理することによって追加サービスの進行を処理してもよい。
【００３６】
このとき、呼び出し機能に対応する制御機能は、選択信号が入力された領域に表示されたユーザインタフェースに対応する制御機能であってもよいし、選択信号が入力された領域に表示されたユーザインタフェースとは関係なく、呼び出し機能（または第２レイヤの一部領域）に対して予め設定された制御機能であってもよい。例えば、ゲームサービスにおいて、追加サービスとしてチュートリアルが提供されている間に、既存のゲームサービスのスキルボタンＡが使用されなければならない必要がある。ユーザがスキルボタンＡに対応するユーザインタフェースを選択した場合、サービス進行処理制御部３２０は、第２レイヤの対応する領域に設定された呼び出し機能を利用して選択信号をフッキングし、スキルボタンＡに対応する制御機能を呼び出してもよい。これとは逆に、スキルボタンＡの使用を阻み、スキルボタンＢの使用を誘導しなければならない必要もある。この場合、サービス進行処理制御部３２０は、選択信号をフッキングし、呼び出し機能に対して予め設定された制御機能として「スキルボタンＢを押してください」のようなメッセージを画面に表示するための制御機能を呼び出してもよい。
【００３７】
より具体的な例として、サービスは、アプリケーションを通じて電子機器１（１１０）に提供されるゲームサービスを含んでもよい。このとき、追加サービスは、ゲームサービスを通じて追加で提供されるチュートリアルおよびクエストのうち少なくとも１つを含んでもよい。この場合、サービス進行処理制御部３２０は、ステップ４６０で、チュートリアルまたはクエストの進行画面が表示される第２レイヤの一部領域に設定された呼び出し機能を利用してゲームサービスの制御機能を呼び出してチュートリアルまたはクエストの進行を処理してもよい。
【００３８】
また、ステップ４６０で、サービス進行処理制御部３２０は、第２レイヤで呼び出し機能が設定された領域を除いた残りの領域に対して入力された選択信号を遮断してもよい。電子機器１（１１０）は、このような遮断により、追加サービスの提供において不必要な入力の発生を防ぐことができる。
【００３９】
電子機器１（１１０）にインストールされ駆動するアプリケーションのソースコードは、第１ソースコードと第２ソースコードを含んでもよい。
【００４０】
第１ソースコードは、サービスの提供のために第１レイヤを構成および表示するように電子機器１（１１０）を制御するための命令（またはコード）、ユーザインタフェースを第１レイヤに表示するように電子機器１（１１０）を制御するための命令、およびユーザインタフェースに対応する制御機能を処理するように電子機器１（１１０）を制御するための命令を含んでもよい。一例として、このような命令は、第１ソースコード内で関数の形態で実現されてもよい。
【００４１】
第２ソースコードは、追加サービスの提供のために第１ソースコードと分離して生成されてもよい。例えば、第１ソースコードが電子機器１（１１０）にファイルの形態で提供された後に、別のファイルを通じて第２ソースコードが電子機器１（１１０）に提供されてもよい。または、それぞれ別に生成された第１ソースコードと第２ソースコードすべてを含むファイルが一度に電子機器１（１１０）に提供されてもよい。このような第２ソースコードは、第２レイヤを構成および表示するように電子機器１（１１０）を制御するための命令と、制御機能を呼び出すための機能を提供するように電子機器１（１１０）を制御するための命令を含んでもよい。ここで、第２ソースコードは、第２レイヤの一部領域に対応する制御機能の関数を第１ソースコードに呼び出すように電子機器１（１１０）を制御するための命令を含んでもよい。
【００４２】
図５および図６は、本発明の一実施形態における、第１レイヤおよび第２レイヤの例を示した図である。
【００４３】
図５は、電子機器５００の画面に、仮想のレイヤとして第１レイヤ５１０と第２レイヤ５２０がオーバーラップして提供されたことを示している。実際には、第１レイヤ５１０と第２レイヤ５２０自体がユーザに見えるように表示されるのではなく、第１レイヤ５１０と第２レイヤ５２０を通じてサービスや追加サービスの場面（一例として、ゲームサービスにおけるアニメーションオブジェクトやユーザインタフェースオブジェクト）が互いにオーバーラップされて表示されてもよい。ここで、第１レイヤ５１０は、サービス進行画面６１０とユーザインタフェースを示すレイヤであってもよい。例えば、サービス進行画面６１０には、ゲームサービスにおけるゲームコンテンツが表示されてもよい。さらに、第２レイヤ５２０は、追加サービスの提供のために第１レイヤ５１０上に表示されるオーバーレイ情報を表示してもよい。
【００４４】
図６は、第１レイヤ５１０と第２レイヤ５２０を側面から眺めた様子を示している。図６は、第１レイヤ５１０がサービス進行画面６１０と複数のユーザインタフェース（ＵＩＡ、ＵＩＢ、ＵＩＣ、ＵＩＤ、およびＵＩＥ）を含むように実現された例を示している。ユーザは、追加サービスが提供される前には、サービス進行画面６１０からサービスの提供を受けてもよく、ユーザインタフェースを通じてサービスによる多様な制御機能を選択してもよい。
【００４５】
予め設定された条件が満たされて追加サービスが提供される場合には、第２レイヤ５２０が第１レイヤ５１０上にオーバーラップされてもよい。ここで、「呼び出しＡ」とは、該当の領域にユーザ入力（「入力１」）が発生した場合、「ＵＩ  Ａ」に対応する制御機能を呼び出すための呼び出し機能を示してもよい。このような呼び出し機能は、「入力１」をフッキング（ｈｏｏｋｉｎｇ）し、「ＵＩ  Ａ」に対応する制御機能を呼び出すための機能を含んでもよい。「入力２」は、ユーザが「ＵＩ  Ｂ」を意図して選択した入力であってもよい。しかし、図６の追加サービスでは、このような入力が「呼び出しＣ」を通じて「ＵＩ  Ｃ」に対応する制御機能を呼び出すように実現されてもよいことを示している。「入力３」は、ユーザが「ＵＩ  Ｃ」を意図して選択した入力であってもよい。この場合、該当の「入力３」は、該当の領域の「呼び出しＣ」によってフッキングされてもよく、「ＵＩ  Ｃ」に対応する制御機能が呼び出されてもよい。オーバーレイレイヤ６２０は、ユーザの入力が第１レイヤ５１０に下がらないように塞ぐレイヤであってもよい。例えば、「入力４」と「入力５」は、オーバーレイレイヤ６２０によって遮断されてもよい。この場合、第１レイヤ５１０には、「入力４」と「入力５」に対する選択信号が伝達されなくてもよい。
【００４６】
ユーザ入力は、タッチスクリーンが備えられている場合には、タッチスクリーンに対するユーザのタッチによって発生してもよい。また、ユーザ入力は、ＰＣなどの環境では、マウスやキーボードを利用して画面の特定の領域に発生する選択入力によって発生してもよい。
【００４７】
図７〜図９は、本発明の一実施形態における、ゲームサービスにおいてチュートリアルを追加サービスとして提供する例を示した図である。
【００４８】
図７の第１画面７００は、第１レイヤにゲーム進行画面と多様なユーザインタフェースが表示された例を示している。ここで、ユーザインタフェースとして提供されたチュートリアルアイコン７１０が選択された場合、ゲームのチュートリアルが追加サービスとして提供されてもよい。
【００４９】
図８の第２画面８００は、第２レイヤに追加サービスが提供された例を示している。ここで、図８の例では、チュートリアルを進行するためのメッセージ８１０と共に、特定のアイコン（アイコンＡ）の領域８２０を他の領域と区別して表示した例を示している。ここで、領域８２０には、アイコンＡに対応する制御機能を呼び出すための呼び出し機能が設定されてもよい。ユーザが領域８２０をタッチした場合、アイコンＡに対応する制御機能が呼び出されてチュートリアルの進行が処理されてもよい。
【００５０】
第２画面８００から領域８２０を除いた残りの領域に対しては、図６を参照しながら説明したオーバーレイレイヤ６２０によって入力が遮断されるため、他のアイコンがユーザによって選択されることはない。選択的に、第２画面８００から領域８２０を除いた残りの領域にも、呼び出し機能が設定されてもよい。例えば、残りの領域に設定された呼び出し機能は、残りの領域に対して発生する選択信号をフッキングして遮断し、「アイコンＡを押してください」というメッセージを画面に表示するための制御機能を呼び出してもよい。
【００５１】
図９の第３画面９００は、ユーザが「アイコン３」を押した場合、「アイコンＡを押してください」というメッセージが画面に表示された例を示している。
【００５２】
このように、本発明の実施形態に係るオーバーレイ制御方法では、既存のサービスに対しては第１レイヤを変更する必要がなく、第２レイヤを利用して追加サービスを提供することができるようになる。言い換えれば、オーバーレイ制御方法によると、追加サービスに対する進行画面の表示、選択信号の遮断、選択信号のフッキング、および制御機能の呼び出しなどを第２レイヤによって処理することが可能になる。このような処理は、開発者が既存のソースコードを修正することなく、第２レイヤを実現するためのソースコードを追加するだけで、追加サービスを提供できるようになることを意味する。
【００５３】
このために、第１レイヤ、ユーザインタフェース、および制御機能のための第１ソースコードと、第２レイヤおよび呼び出し機能（制御機能を呼び出す機能）のための第２ソースコードとは、互いに分離して生成されてもよい。ここで、第２ソースコードは、第２レイヤの一部領域に対して入力された選択信号をフッキングし、第２レイヤの一部領域に対応する制御機能（または、一部領域に設定された呼び出し機能に対応する制御機能）の関数を第１ソースコードに呼び出すように電子機器１（１１０）を制御するためのコードを含んでもよい。
【００５４】
図１０は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。図１０に示した方法が含むステップ１０１０〜１０３０は、サーバ１５０のプロセッサ２２２によって実行されてもよい。例えば、プロセッサ２２２は、サーバ１５０がステップ１０１０〜１０３０を実行するようにサーバ１５０を制御してもよく、このような制御のために、サーバ１５０のメモリ２２１が含むオペレーティングシステムのコードと少なくとも１つのプログラムコードを実行するように実現されてもよい。
【００５５】
ステップ１０１０で、プロセッサ２２２は、開発者のシステムから受信したアプリケーションのインストールファイルおよびアプリケーションに関する情報を登録してもよい。例えば、サーバ１５０は、ネットワークを介して開発者のシステム（図示せず）から送信されるインストールファイルと情報を、該当のアプリケーションと関連付けてデータベース（図示せず）に格納および管理してもよい。
【００５６】
ステップ１０２０で、プロセッサ２２２は、登録されたアプリケーションのうち少なくとも一部に関する情報を含むページを、ネットワークを介してユーザの電子機器１（１１０）に送信するようにサーバ１５０を制御してもよい。例えば、サーバ１５０は、アプリケーションのダウンロードのためのサイトやページを管理および提供してもよい。電子機器１（１１０）がネットワークを介してこのようなサイトやページにアクセスした場合、サーバ１５０は、登録されたアプリケーションのうち少なくとも一部に関する情報を含むページを電子機器１（１１０）に提供してもよい。
【００５７】
ステップ１０３０で、プロセッサ２２２は、電子機器１（１１０）でページから選択されたアプリケーションに関する情報を確認するようにサーバ１５０を制御してもよい。例えば、電子機器１（１１０）で提供されたページのアプリケーションのうちダウンロードしようとするアプリケーションをユーザが選択すると、選択されたアプリケーションに関する情報がページを通じてサーバ１５０に送信されてもよく、サーバ１５０は送信された情報を確認してもよい。
【００５８】
ステップ１０４０で、プロセッサ２２２は、選択されたアプリケーションのインストールファイルを電子機器１（１１０）に送信してもよい。電子機器１（１１０）に送信されたアプリケーションのインストールファイルによってアプリケーションが電子機器１（１１０）にインストールされてもよく、電子機器１（１１０）は、上述した図３および図４のように、アプリケーションの制御にしたがってオーバーレイ制御方法を処理してもよい。
【００５９】
例えば、インストールファイルは、第１ソースコードおよび第２ソースコードを含んでもよい。ここで、電子機器１（１１０）でアプリケーションの実行にしたがって第１ソースコードを通じてサービスの進行が処理され、予め設定された条件を満たすことにより、前記第２ソースコードを通じて追加サービスの進行が処理されてもよい。電子機器１（１１０）は、追加サービスが進行される場合、第１ソースコードを通じて電子機器１（１１０）の画面に表示されたユーザインタフェースに対する入力を、第２ソースコードによってフッキング（ｈｏｏｋｉｎｇ）し、第２ソースコードによって予め設定された制御機能を第１ソースコードに呼び出して追加サービスの進行を処理してもよい。例えば、第２ソースコードは、ユーザの入力が発生した領域に対応する制御機能を実行するために、前記制御機能に対応する第１ソースコードの関数を呼び出すように電子機器１（１１０）を制御してもよい。
【００６０】
より具体的な例として、上述したように、サービスは、アプリケーションを通じて電子機器１（１１０）に提供されるゲームサービスを含んでもよく、追加サービスは、ゲームサービスを通じて追加で提供されるチュートリアルおよびクエストのうち少なくとも１つを含んでもよい。この場合、電子機器１（１１０）は、第１ソースコードによってゲームサービスの進行画面を第１レイヤに表示してもよく、第２ソースコードによってチュートリアルまたはクエストの進行画面を第２レイヤに表示してもよい。さらに、電子機器１（１１０）は、第２レイヤの一部領域に設定された呼び出し機能を利用してゲームサービスの制御機能を呼び出して（第１ソースコードの関数を呼び出して）チュートリアルまたはクエストの進行を処理してもよい。
【００６１】
また、第２レイヤの一部領域に呼び出し機能が設定されてもよく、呼び出し機能が設定された領域を除いた残りの領域に対する入力が遮断されてもよい。呼び出し機能は、入力が発生した領域に表示された第１レイヤのユーザインタフェースに対応する制御機能を呼び出してもよいし、このような第１レイヤのユーザインタフェースとは関係なく、呼び出し機能（または第２レイヤの前記一部領域）に対して予め設定された制御機能を呼び出してもよい。
【００６２】
このように、本発明の実施形態によると、既存のソースコードと追加サービスのためのソースコードとを分離して管理、処理、および分析することによってコード内の分岐を減らしてコード量を減らすことができ、追加サービスの迅速な適用と製作を可能にすることができる。これにより、既存のゲームコードの維持／補修費用を減らすことができ、追加サービスの迅速な適用と適用費用の減少、および修正に対する柔軟な対処を可能にすることができる。
【００６３】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および／またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてもよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてもよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）および／または複数種類の処理要素を含んでもよいことが理解できる。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでもよい。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成（ｐｒｏｃｅｓｓｉｎｇ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）も可能である。
【００６４】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に（ｃｏｌｌｅｃｔｉｖｅｌｙ）処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供するために、いかなる種類の機械、コンポーネント、物理装置、仮想装置（ｖｉｒｔｕａｌ  ｅｑｕｉｐｍｅｎｔ）、コンピュータ格納媒体または装置、または送信される信号波（ｓｉｇｎａｌ  ｗａｖｅ）に永久的または一時的に具現化（ｅｍｂｏｄｙ）されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【００６５】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。上記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。上記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピディスクおよび磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
【００６６】
以上のように、実施形態を限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能である。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、および／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００６７】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００６８】
１１０、１２０、１３０、１４０：電子機器
１５０、１６０：サーバ
１７０：ネットワーク
【図１】
0006279040.tif 000002
【図２】
0006279040.tif 000003
【図３】
0006279040.tif 000004
【図４】
0006279040.tif 000005
【図５】
0006279040.tif 000006
【図６】
0006279040.tif 000007
【図７】
0006279040.tif 000008
【図８】
0006279040.tif 000009
【図９】
0006279040.tif 000010
【図１０】
0006279040.tif 000011