説明

情報処理装置及びプログラム

【課題】WSDLファイルの流出が生じた場合に、その流出元を特定可能な情報処理技術を提供する。
【解決手段】各種APIを提供する情報処理装置は、アプリケーションプログラムに対して利用が許可されたAPIの定義情報を示すWSDLファイルをアプリケーションプログラム毎に記憶し、アプリケーションプログラムの開発者を特定する開発者情報を記憶し、アプリケーションプログラムに対して、当該アプリケーションプログラムに対応するWSDLファイルを公開し、Webサービスを介して、第1のアプリケーションプログラムによる第1のAPIの利用を要求するリクエストを受信し、第1のアプリケーションプログラムに対応する第1のWSDLファイルに第1のAPIの前記定義情報が示されるか否かを判定し、開発者情報を用いて、第1のWSDLファイルの流出の有無を判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
同系統のアプリケーションプログラムを複数開発したり運用したりするために、アプリケーションプログラムの開発や運用をサポートするためのプラットフォームを用意する環境を想定する。プラットフォームは、1つの情報処理システムであり、複数の情報処理装置が連携することで、アプリケーションプログラムの開発や運用をサポートするための機能をアプリケーションプログラムに提供する。例えば、アプリケーションプログラムとして、携帯端末で実行されるゲームプログラム(単にゲームという)の開発や運用をサポートするプラットフォームがある。各ゲームにおいて、ゲームを利用するユーザ情報を管理することは重要な機能である。この場合、ユーザ情報を管理する機能(ユーザ情報管理機能という)をプラットフォームが提供することで、ゲーム開発者は、同様の機能を実現するためのプログラムを開発する必要がなくなる。また、データベースにアクセスする機能(データベース機能という)をプラットフォームがゲームに提供することで、ゲームに必要なデータをプラットフォームに格納できるようになり、ゲーム開発者はゲーム運用コストを削減することができる。
【0003】
ゲーム開発者は多数存在するため、また、ゲーム開発者とプラットフォーム開発者とは必ずしも一致しないため、プラットフォームと各ゲームとは物理的に別の情報処理装置上で運用されることを想定するべきである。従って、上述のユーザ情報管理機能やデータベース機能は、ネットワークを介して利用できる必要がある。ネットワークを介して機能を利用する方法として、Webサービスがある。プラットフォームは、Webサービスを介してユーザ管理機能やデータベース機能を利用するためのAPI(Application Programming Interface)であるWebサービスAPIを定義し、公開する。各ゲームは公開されたWebサービスAPIを利用することで、ネットワークを介して機能利用することができる。WebサービスAPIの定義情報(APIの名称、引数、返り値)やサービス公開アドレスは、WSDL(Web Service Description Language)ファイルに記述される。WSDLは、APIの定義情報やサービス公開アドレスを明確且つ厳密に定義できるため、開発効率や相互接続性を高めることができる。例えば、WSDLファイルがあれば、WebサービスAPIを利用するためのメッセージの送受信を行うプログラムを自動的に作成することができる。
【0004】
プラットフォームは、ユーザ管理機能やデータベース機能等の基本的な機能を利用するためのWebサービスAPI(基本APIという)とは別に、特別なWebサービスAPI(特別APIという)を用意することで収入を得ることができる。例えば、高速なデータベースアクセスが可能なAPIや、プラットフォーム側で蓄積したユーザのゲーム利用実績に関する統計データにアクセス可能なAPI等を特別APIとして用意し、その利用に対して課金することができる。ゲームの品質向上や、統計データを利用したゲーム開発を目指すゲーム開発者は、特別APIの利用に関してプラットフォーム開発者と契約を交わし、使用料を支払って、特別APIを利用する。このとき、プラットフォームとしては、契約を交わしたゲーム開発者にのみ、特別APIの定義情報を公開したい。なぜなら、契約を交わしていないゲーム開発者に対して、特別APIの定義情報を公開することで、2つの不利益が生じるためである。1つは、契約を交わしていないゲーム開発者が開発したゲームにより、特別APIに対するアクセスが生じると、プラットフォームに余分な処理負荷が生じることである。1つは、APIの定義情報から、プラットフォーム側がどのようなデータを蓄積しているかを知られてしまうことである。例えば、プラットフォームが統計データを蓄積していることや、統計データとして全ユーザのゲーム使用時間合計等の情報があることを知られてしまう恐れがある。つまり、WSDLの明確さや厳密さが仇となってしまう恐れがある。
【0005】
この不利益を回避するために、ゲーム毎に、そのゲームに対して利用が許可されたAPIのみの定義情報を記述したWSDLファイルを作成する技術がある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−92407号公報
【特許文献2】特開2005−78339号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ゲーム毎にWSDLファイルを作成して限定公開する場合、各ゲーム開発者が、WSDLファイルを二次公開することや、WSDLファイルを流出することを許してはならない。それを許せば、上述の不利益を回避できない恐れがあるからである。従って、プラットフォームには、WSDLファイルの二次公開や流出が生じた場合に、その流出元を特定できる仕組みが望まれている。流出元を特定できる仕組みは、WSDLの流出に対する抑止力となるからである。また、流出元に対して責任を問うこともできるからである。しかしながら、従来の技術では、WSDLファイルの流出が生じる状況を想定されておらず、WSDLファイルの流出が生じた場合に、その流出元を特定することが困難であった。
【0008】
本発明は、上記に鑑みてなされたものであって、WSDLファイルの流出が生じた場合に、その流出元を特定可能な情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
実施形態の情報処理装置は、アプリケーションプログラムによって各種機能を実現させるために利用される各種API(Application Programming Interface)を提供する情報処理装置であって、アプリケーションプログラムに対して利用が許可されたAPIの定義情報を示すWSDL(Web Service Description Language)ファイルを前記アプリケーションプログラム毎に記憶する第1記憶部と、前記アプリケーションプログラムの開発者を特定する開発者情報を記憶する第2記憶部と、前記アプリケーションプログラムに対して、当該アプリケーションプログラムに対応する前記WSDLファイルを公開する公開部と、Webサービスを介して、第1のアプリケーションプログラムによる第1のAPIの利用を要求するリクエストを受信する受信部と、前記第1記憶部に記憶された前記WSDLファイルのうち、前記第1のアプリケーションプログラムに対応する第1のWSDLファイルに前記第1のAPIの前記定義情報が示されるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定する第1判定部と、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当ではないと判定された場合、前記第2記憶部に記憶された前記開発者情報を用いて、前記第1のWSDLファイルの流出の有無を判定する第2判定部とを備える。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態の情報処理システムの構成を例示する図。
【図2】API公開装置20の機能的構成を例示する図。
【図3】契約時の業務フローを示す図。
【図4】WSDLファイルを公開する処理の手順を示すフローチャート。
【図5】ゲーム認証処理の手順を示すフローチャート。
【図6】API公開装置20が起動時に行う初期化処理を示すフローチャート。
【図7】API利用要求リクエストに対する処理の手順を示すフローチャート。
【図8】第2の実施の形態のAPI公開装置20の機能的構成を例示する図。
【図9】契約時の業務フローを示す図。
【図10】WSDLファイルを公開する処理の手順を示すフローチャート。
【図11】API公開装置20が起動時に行う初期化処理を示すフローチャート。
【図12】API利用要求リクエストに対する処理の手順を示すフローチャート。
【発明を実施するための形態】
【0011】
[第1の実施形態]
図1は、本実施の形態に係る情報処理システムの構成を例示する図である。本実施の形態では、1つのプラットフォーム10を有する情報処理システムに、アプリケーションプログラムとして各々ゲームA,B,Cを各々開発する各情報処理装置(ゲーム開発装置という)がネットワークNT1を介して接続される。ネットワークNT1とは、例えば、インターネット等である。情報処理システムは、プラットフォーム10を構成するものとして、ゲーム開発装置とは各々異なる情報処理装置であるAPI公開装置20及びデータベース装置30を有する。これらはネットワークNT2を介して接続される。ネットワークNT2は、ネットワークNT1と同様にインターネットであっても良いし、LAN(Local Area Network)、イントラネット、イーサネット(登録商標)であっても良い。API公開装置20は、Webサービスを介してゲームが各種機能を呼び出すための各種のAPIであるWebサービスAPIを提供するものであり、各種APIの定義情報(API定義情報という)と、これらの各種機能を各々実現するためのプログラムとを記憶している。データベース装置30は、各ゲーム固有のデータを記憶するゲームデータベース31と、ユーザのゲームの利用に履歴等に関する統計データを記憶する統計データベース32とを有する。具体的に例えば、ゲーム固有のデータは、例えば、ユーザがゲームによって獲得したスコアを示すスコア情報や、ゲーム画面に表示するための画像ファイル等である。統計データは、ゲームごとの利用回数合計やゲームごとの利用時間合計等を示すデータである。各ゲーム開発装置は、API公開装置20の提供するWebサービスAPIを利用することにより、ネットワークNT1を介してプラットフォーム10の提供する各種機能を実現させる。
【0012】
ここで、本実施の形態に係るAPI公開装置20によって提供されるWebサービスAPIについて説明する。当該WebサービスAPIは、DB API、高速DB API及び統計データAPIの3つのAPIであるとする。DB APIによって実現される機能はデータベース機能であり、高速DB APIによって実現される機能は高速データベース機能であり、統計データAPIによって実現される機能は統計データ管理機能であるとする。データベース機能は、ゲーム固有のデータにアクセスする機能であり、当該データを、ゲームデータベース31に記憶させたり、ゲームデータベース31から読み込んだりする機能である。高速データベース機能は、データベース機能よりも高速に、ゲーム固有のデータにアクセスする機能である。統計データ管理機能は、統計データにアクセスする機能であり、統計データを、統計データベース32に記憶させたり統計データベース32から読み出したりする機能である。これらのAPIのうち、DB APIは、基本APIであり、高速DB API及び統計データAPIは、特別APIであるものとする。特別APIとは、特別にその利用契約を交わしたゲームによってのみ利用が許諾されるAPIである。図1では、ゲームCに対してのみ特別APIの利用契約が交わされており、ゲームCが基本API及び特別APIの全てのAPIを利用できることが表されている。また、ゲームA及びゲームBに対して特別APIの利用契約が交わされていないため、ゲームA及びゲームBは基本APIしか利用できないことが表されている。
【0013】
ここで、ゲーム開発装置、API公開装置20及びデータベース装置30となる情報処理装置のハードウェア構成について説明する。情報処理装置は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の主記憶部と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、情報処理装置には、情報を表示する表示部と、ユーザの指示入力を受け付けるキーボードやマウス等の操作入力部と、外部装置の通信を制御する通信I/F(Interface)とが有線又は無線により各々接続される。
【0014】
次に、このようなハードウェア構成において、API公開装置20の機能的構成について図2を用いて説明する。API公開装置20は、WSDL(Web Service Description Language)公開部21と、ゲーム認証部22と、リクエスト受信部23と、流出判定部24と、ゲーム開発者DB25と、ゲーム定義情報DB26と、WSDLDB27とを有する。WSDL公開部21と、リクエスト受信部23とは、API公開装置20のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することと、通信I/Fとにより実現される。ゲーム認証部22と、流出判定部24とは各々、API公開装置20のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。ゲーム開発者DB25と、ゲーム定義情報DB26と、WSDLDB27とは各々、HDD等の補助記憶部に記憶されるものである。
【0015】
WSDLDB27は、WSDL情報をゲーム毎に記憶する。WSDL情報は、WSDLIDと、WSDLファイルとを含む。WSDLIDは、WSDLファイルを識別するためにWSDLファイル及び当該WSDLファイルを含むWSDL情報に割り当てられるIDである。WSDLファイルとは、ゲームに対して利用が許可されたAPIの定義情報(API定義情報)と、ゲームに対して割り当てられたサービス公開アドレスとを示す。API定義情報とは、APIの名前や引数、返り値を示す。サービス公開アドレスとは、Webサービスを公開するアドレスの情報であり、例えば、EPR(End Point Reference)と呼ばれるURL形式の文字列で表現される。サービス公開アドレスは、ゲーム毎に異なる。このようなWSDLファイルを利用することで、Webサービスを利用するゲームの開発効率を向上することができる。
【0016】
ゲーム定義情報DB26は、ゲームに関するゲーム定義情報をゲーム毎に記憶する。ゲーム定義情報は、ゲームIDと、ゲーム名と、認証情報と、WSDLIDとを含む。ゲームIDは、ゲームを一意に識別するためにゲームに割り当てられる識別情報である。ゲーム名は、ゲームの名称である。認証情報とは、ゲームを認証するための情報である。例えば、認証情報は、パスワードの文字列やクライアント証明書を示す。WSDLIDは、当該ゲームに対して公開が許可されたWSDLファイルに割り当てられたWSDLIDを示す。
【0017】
ゲーム開発者DB25は、ゲームの開発者を特定するゲーム開発者情報を各々記憶する。ゲーム開発者情報は、ゲーム開発者IDと、ゲーム開発者名と、ゲームIDリストとを含む。ゲーム開発者IDは、ゲーム開発者を識別するためにゲーム開発者に割当られるIDである。ゲーム開発者名は、ゲーム開発者名称である。ゲームIDリストは、当該ゲーム開発者が開発しているゲームのゲームIDを全て示す。
【0018】
WSDL公開部21は、APIの定義情報をWSDLファイルとして公開する。本実施の形態においてはWSDLファイルの公開は、利便性を考慮して、インターネット等のNT1を介して実現するものとする。即ち、ゲーム開発者が操作するゲーム開発装置が、API公開装置20からネットワークNT1を介してWSDLファイルを受信することにより取得する。これを可能にするため、プラットフォーム10は、WSDL公開部21をネットワークNT1に公開し、ゲーム開発装置からのHTTPリクエストを受け付ける構成とする。この場合、ゲーム開発装置は、例えば、HTTPクライアントとして機能する。HTTPクライアントには、Webブラウザ等がある。このような構成において、ゲーム開発装置は、WSDLファイルを要求するリクエストであって、ゲームに割り当てられたゲームID及び認証情報が付加されたリクエストをAPI公開装置20に送信する。このリクエストをWSDL公開部21が受信すると、当該リクエストに付加されたゲームID及び認証情報を後述のゲーム認証部22に渡してゲーム認証処理の実行を要求する。ゲーム認証処理の結果、WSDL公開部21は、ゲーム認証部22からゲーム定義情報を受け取ると、当該ゲーム定義情報を用いて、当該リクエストに応じたWSDLファイルをWSDLDB27から取得してこれをゲーム開発装置に送信する。
【0019】
リクエスト受信部23は、ゲームを開発するゲーム開発装置がプラットフォーム10に対して送信した、APIの利用を要求するリクエストであって、ゲームID及び認証情報と、当該APIのAPI定義情報及びサービス公開アドレスが付加されたリクエストを受信するものである。このリクエストの受信に先立って、API公開装置20の起動時に、リクエスト受信部23は、ゲームに対してどのようなAPIをどのサービス公開アドレスで公開しているかを予め把握するための初期化処理を行う。初期化処理では、リクエスト受信部23は、WSDLDB27を参照して、当該API公開装置20で公開し得るAPIのAPI定義情報及びサービス公開アドレスを取得して、APIの利用を要求するリクエストの待ち受けを開始する。その後、リクエスト受信部23は、APIの利用を要求するリクエストを受信すると、当該リクエストに付加されたAPI定義情報及びサービス公開アドレスを用いて、当該API公開装置20が公開し得るAPIであるか否かを判定する。当該判定の結果に応じて、リクエスト受信部23は、当該リクエストに付加されたゲームID及び認証情報を後述のゲーム認証部22に渡してゲーム認証処理の実行を要求する。ゲーム認証処理の結果、リクエスト受信部23は、ゲーム認証部22からゲーム定義情報を取得すると、当該ゲーム定義情報及び当該リクエストを後述の流出判定部24に渡す。流出判定部24の判定の結果、リクエスト受信部23は、流出判定部24からエラーを受け取ると、当該リクエストを送信したゲーム開発装置にエラーを送信する。
【0020】
ゲーム認証部22は、WSDL公開部21やリクエスト受信部23の要求に応じて、ゲームID及び認証情報を用いて、ゲーム定義情報DB26を参照して、当該ゲームを認証するゲーム認証処理を行う。当該ゲームの認証に成功した場合、ゲーム認証部22は、ゲーム定義情報DB26から該当のゲーム定義情報を得て、これをゲーム認証処理の実行の要求元であるWSDL公開部21やリクエスト受信部23に返す。一方、ゲームの認証に失敗した場合、ゲーム認証部22は、ゲーム認証処理の実行の要求元であるWSDL公開部21やリクエスト受信部23にエラーを返す。
【0021】
流出判定部24は、リクエスト受信部23から渡されたゲーム定義情報及びリクエストを用いて、ゲーム開発者DB25、ゲーム定義情報DB26及びWSDLDB27を参照して、WSDLファイルの流出の有無を判定する。当該判定の結果、WSDLファイルが流出したと判定した場合、流出判定部24は、リクエスト受信部23にエラーを返す。一方、当該判定の結果、WSDLファイルが流出していないと判定した場合、流出判定部24は、当該ゲーム定義情報及びリクエストを、当該リクエストによって利用が要求されたAPIに渡す。本実施の形態において利用され得るAPIは、上述したように、DB API、高速DB API及び統計データAPIである。ここで、これらのAPIの概要について簡単に説明する。
【0022】
DB APIとしては、例えば、put(キー、データ)や、get(キー)というAPIがある。put(キー、データ)とは、データを、キーと関連付けてゲームデータベース31に保存するAPIである。get(キー)とは、キーに一致するデータを、ゲームデータベース31から取得するAPIである。その他、DB APIとして、複数のデータを一度にゲームデータベース31に保存するAPIがあっても良い。
【0023】
高速DB APIとしては、例えば、fastPut(キー、データ)や、fastGet(キー)がある。fastPut(キー、データ)とは、データを、キーと関連付けてゲームデータベース31に高速に保存するAPIである。fastGet(キー)は、キーに一致するデータを、データベース装置30から高速に取得するAPIである。高速DB APIによってデータに高速にアクセスすることにより、例えば、リクエストやレスポンスのメッセージを圧縮することによる通信時間の削減や、リクエスト処理プロセスの優先度付け、キャッシュの利用等が実現できる。
【0024】
統計データAPIとしては、例えば、getUseCount(ゲームID)や、getUseTime(ゲームID)がある。getUseCount(ゲームID)は、統計データによって示される利用回数合計を取得するAPIである。getUseTime(ゲームID)は、統計データによって示される利用時間合計を取得するAPIである。
【0025】
次に、本実施の形態に係るゲーム開発者とプラットフォーム開発者との業務フローについて説明する。ゲーム開発者は、ゲームの開発にあたり、プラットフォーム開発者と基本契約又は特別契約を交わす必要がある。これらの契約によって、ゲーム開発者が開発するゲームの利用できる機能及びAPIが決まる。図3は、契約時の業務フローを示す図である。プラットフォーム開発者は、ゲーム開発者名を把握する(業務ステップG1)。プラットフォーム開発者は、ゲーム開発者に固有のゲーム開発者IDを割り当てる(業務ステップG2)。プラットフォーム開発者は、ゲーム名と、ゲームが利用するAPIを把握する(業務ステップG3)。プラットフォーム開発者は、ゲームに対して固有に割り当てるゲームID、サービス公開アドレス及び認証情報を決定し、これらをゲーム開発者に教える(業務ステップG4)。後述するように、契約を交わしたゲームのゲーム開発者により操作されるゲーム開発装置では、Webサービスを介して当該ゲームからのAPIの利用を要求するリクエストを送信する際に、当該リクエストに当該ゲームID及び認証情報を付加することで、API公開装置20において当該ゲームの認証に成功させることが可能になる。
【0026】
プラットフォーム開発者は、API公開装置20の有する操作入力部を介して、ゲームが利用するAPIのAPI定義情報と、業務ステップG4で決定したサービス公開アドレスとを記述したWSDLファイルを作成する操作入力を行う(業務ステップG5)。当該操作入力を受け付けたAPI公開装置20では、WSDLファイルが作成される。ここで、ゲーム毎、即ち、WSDLファイル毎に異なるサービス公開アドレスが記述されたWSDLファイルが作成されることで、当該WSDLファイルが流出した場合にその流出元を特定することが可能になる。プラットフォーム開発者は、WSDLファイルに固有のWSDLIDを割り当て、当該WSDLファイル及びWSDLIDを含むWSDL情報をWSDLDB27に登録する操作入力を行う(業務ステップG6)。当該操作入力を受け付けたAPI公開装置20では、WSDLファイルがWSDLDB27に記憶される。プラットフォーム開発者は、業務ステップG4で決定したゲーム名、ゲームID、認証情報及び業務ステップG6で割り当てたWSDLIDを含むゲーム定義情報を作成する操作入力を行い、当該ゲーム定義情報をゲーム定義情報DB26に登録する操作入力を行う(業務ステップG7)。当該操作入力を受け付けたAPI公開装置20では、ゲーム定義情報が作成されてこれがゲーム定義情報DB26に記憶される。プラットフォーム開発者は、ゲーム開発者ID、開発者名、業務ステップG4で割り当てたゲームIDを含むゲーム開発者情報を作成する操作入力を行い、当該ゲーム開発者情報をゲーム開発者DB25に登録する操作入力を行う(業務ステップG8)。当該操作入力を受け付けたAPI公開装置20では、ゲーム開発者情報が作成されてこれがゲーム開発者DBに記憶される。
【0027】
次に、API公開装置20が行う処理の手順について説明する。まず、API公開装置20がゲーム開発装置からの要求に応じてWSDLファイルを公開する処理の手順について図4を用いて説明する。ゲーム開発者は、プラットフォーム10がWebサービスを介して提供するAPIを利用してゲームを開発するため、当該APIのAPI定義情報が示されるWSDLファイルをプラットフォーム10から取得する必要がある。このため、ゲーム開発者が、ゲーム開発装置の操作入力部を介してWSDLファイルを取得するための操作入力を行うと、ゲーム開発装置は、当該操作入力を受け付け、API公開装置20にWSDLファイルを要求するリクエストであり、ゲームに割り当てられたゲームID及び認証情報を付加したリクエストを送信する。当該リクエストに認証情報を付加することは、例えば、認証情報がパスワードの文字列を示すものである場合、以下のようにして実現される。API公開装置20のWSDL公開部21が、ゲーム開発装置のWebブラウザ上にゲームID及びパスワードの文字列を入力するためのダイアログを表示させ、ゲーム開発者にゲームIDとパスワードの文字列を入力させる。そして、ゲーム開発装置のWebブラウザが、入力されたゲームIDとパスワードの文字列をリクエストに付加し、API公開装置20のWSDL公開部21に送信することで、HTTPダイジェスト認証を行うことができる。
【0028】
API公開装置20のWSDL公開部21は、当該リクエストを受信すると(ステップS1)、ゲーム認証部22に当該リクエストを渡してゲーム認証処理の実行を要求する(ステップS2)。ゲーム認証処理の詳細については後述する。その後、WSDL公開部21は、ゲーム認証処理の結果をゲーム認証部22から受け取り、ゲーム定義情報が得られたか否かを判定する(ステップS3)。ゲーム定義情報が得られなかった場合は(ステップS3:NO)、ゲームの認証は失敗である。この場合、WSDL公開部21は、ゲームの認証が失敗した旨を示すエラーメッセージをゲーム開発装置に送信する(ステップS4)。ゲーム定義情報が得られた場合は(ステップS3:YES)、ゲームの認証は成功である。この場合、WSDL公開部21は、WSDLDB27にアクセスして、ゲーム定義情報に含まれるWSDLIDと同一のWSDLIDを含むWSDL情報を取得する(ステップS5)。そして、WSDL公開部21は、取得したWSDL情報に含まれるWSDLファイルをゲーム開発装置に送信する(ステップS6)。
【0029】
次に、ステップS2でゲーム認証部22が行うゲーム認証処理の手順について図5を用いて説明する。ゲーム認証部22は、WSDL公開部21からリクエストを受け取ると、当該リクエストに付加されているゲームID及び認証情報を取得する(ステップS10)。当該リクエストにゲームID及び認証情報が付加されていなければ、ゲーム認証部22は、ゲームの認証が失敗した旨を示すエラーをWSDL公開部21に返す。
【0030】
ゲーム認証部22は、ゲーム定義情報DB26にアクセスして(ステップS11)、ステップS10で取得したゲームIDと同一のゲームID及びステップS10で取得した認証情報と同一の認証情報を含むゲーム定義情報が存在するか否かを判定する(ステップS12)。該当するゲーム定義情報が存在する場合(ステップS12:YES)、ゲームの認証は成功となる。この場合、ゲーム認証部22は、該当のゲーム定義情報をWSDL公開部21に返す(ステップS13)。該当のゲーム定義情報が存在しない場合(ステップS12:NO)、ゲームの認証は失敗となる。この場合、ゲーム認証部22は、WSDL公開部21に何も返さず(ステップS14)、当該ゲーム認証処理を終了する。
【0031】
以上のように、契約時に決定された認証情報を利用することで、API公開装置20は、未契約のゲームを開発するゲーム開発装置から送信されたリクエストを破棄することができる。
【0032】
次に、APIの利用を要求するリクエストに対する処理の手順について説明する。ここで、まず、API公開装置20が起動時に行う初期化処理について図6を用いて説明する。API公開装置20が起動すると、リクエスト受信部23は、WSDLDB27に記憶されている全てのWSDL情報に含まれるWSDLファイルを参照して(ステップS20)、当該WSDLファイルによって示されるAPI定義情報及びサービス公開アドレスを用いて、どのようなAPIをどのサービス公開アドレスで公開するべきかを判定する(ステップS21)。即ち、リクエスト受信部23は、当該API公開装置20が公開し得るAPIのAPI定義情報及びサービス公開アドレスを取得して、APIの利用を要求するリクエストの待ち受けを開始する。
【0033】
次に、APIの利用を要求するリクエストをAPI公開装置20がゲーム開発装置から受信した場合の処理の手順について図7を用いて説明する。ゲーム開発装置は、APIの利用を要求するリクエストであり、当該APIを利用するゲームのゲームID及び認証情報と、当該APIのAPI定義情報及びサービス公開アドレスとを各々付加したリクエストを送信する。以下、このゲームのことをゲームG、このリクエストのことをリクエストRと呼ぶ。ここでは、リクエストはSOAPリクエストを想定する。API公開装置20のリクエスト受信部23は、当該リクエストRを受信すると、これをゲーム認証部22に渡してゲーム認証処理の実行を要求する(ステップS30)。当該ゲーム認証処理の手順は上述の図5と略同様であるため、その詳細な説明は省略する。但し、ステップS10でゲーム認証部22がリクエストを受け取るのはリクエスト受信部23からであり、当該リクエストにゲームID及び認証情報が付加されていない場合にゲーム認証部22がエラーを返す先はリクエスト受信部23であり、ステップS13でゲーム認証部22がゲーム定義情報を返す先はリクエスト受信部23である。
【0034】
リクエスト受信部23は、ゲーム認証処理の結果、ゲーム認証部22からゲーム定義情報が得られたかを否かを判定する(ステップS31)。ゲーム定義情報が得られなかった場合(ステップS31:NO)、ゲームGの認証は失敗である。この場合、ステップS33に進む。一方、ゲーム定義情報が得られた場合(ステップS31:YES)、ゲームGの認証は成功である。この場合、リクエスト受信部23は、リクエストRに付加されたAPI定義情報及びサービス公開アドレスを参照して、当該API公開装置20が公開し得るAPIであるか否かを判定する(ステップS32)。具体的には、リクエスト受信部23は、上述の初期化処理で取得したAPI定義情報及びサービス公開アドレスに基づいて、リクエストRに付加されたAPI定義情報及びサービス公開アドレスに該当するAPI(APIαとする)が存在するか否かを判定する。該当のAPIαが存在しない場合(ステップS32:NO)、ステップS33に進む。一方、該当のAPIαが存在する場合(ステップS32:YES)、リクエスト受信部23は、リクエストRと、ゲームGのゲーム定義情報とを、流出判定部24に渡す(ステップS34)。
【0035】
流出判定部24は、リクエストR及びゲーム定義情報を受け取ると、ゲーム定義情報に含まれるWSDLIDと同一のWSDLIDを含むWSDL情報を特定し、当該WSDL情報に含まれるWSDLファイルをWSDLDB27から取得する(ステップS35)。次いで、流出判定部24は、リクエストRによって要求されたAPIαの利用に対する正当性を確認する(ステップS36)。つまり、流出判定部24は、ゲームGが、APIαの利用が許可されたゲームであるか否かを判定する。以下の2つの条件(a),(b)を満たす場合、リクエストRによって要求されたAPIαの利用は正当であると流出判定部24は判定する。
(a)ステップS35で取得したWSDLファイルに、APIαのAPI定義情報が示されている
(b)ステップS35で取得したWSDLファイルによって示されているサービス公開アドレスが、リクエストRに付加されたサービス公開アドレスと同一である
【0036】
リクエストRによって要求されたAPIαの利用は正当であると判定した場合(ステップS36:YES)、流出判定部24は、リクエストRとゲームGのゲーム定義情報とをAPIαへ渡す(ステップS37)。APIαは、上述したDB API、高速DB API及び統計データAPIのうち少なくとも1つである。
【0037】
一方、リクエストRによって要求されたAPIαの利用は正当でないと判定した場合(ステップS36:NO)、この時点では、APIαのAPI定義情報を示すWSDLファイルが流出したとはまだ判定できない。なぜなら、ゲームGと、APIαの利用が許可されたゲームとのゲーム開発者が同一である可能性が残っているためである。このため、流出判定部24は、ゲーム開発者DB25に記憶されている全てのゲーム開発者情報を参照して(ステップS38)、APIαの利用が許可されたゲームのゲーム開発者と、ゲームGのゲーム開発者とが同一であるか否かを判定する(ステップS39)。具体的な判定の方法は例えば以下の通りである。流出判定部24は、ゲーム開発者DB25に記憶されている全てのゲーム開発者情報に含まれるゲームIDリストによって示されるゲームIDを参照して、ゲームGのゲームIDを示すゲームIDリストを含むゲーム開発者情報を取得する。流出判定部24は、ゲーム定義情報DB26を参照して、取得したゲーム開発者情報に含まれるゲームIDリストによって示されるゲームIDと同一のゲームIDを含むゲーム定義情報を取得する。流出判定部24は、WSDLDB27を参照して、取得したゲーム定義情報に含まれるWSDLIDと同一のWSDLIDを含むWSDL情報を取得し、当該WSDL情報に含まれるWSDLファイルを取得する。流出判定部24は、当該WSDLファイルにAPIαのAPI定義情報が含まれていれば、APIαの利用が許可されたゲームのゲーム開発者と、ゲームGのゲーム開発者とが同一であると判定し、当該WSDLファイルにAPIαのAPI定義情報が含まれていなければ、双方のゲーム開発者が同一ではないと判定する。
【0038】
双方のゲーム開発者が同一である場合(ステップS39:YES)、ゲームGのゲーム開発者は、APIαのAPI定義情報を知っていると考えられるため、リクエストRの送信は、ゲーム開発上のミスだと判定できる。従って、この場合、流出判定部24は、WSDLファイルが流出した可能性として、流出の重要度を「低」と判定して(ステップS40)、ステップS42に進む。一方、双方のゲーム開発者が異なる場合(ステップS39:NO)、ゲームGの開発者は、APIαのAPI定義情報を知らないはずである。従って、この場合、流出判定部24は、APIαのAPI定義情報を示すWSDLファイルが流出した可能性が高いと判定し、流出の重要度を「高」と判定して(ステップS41)、ステップS42に進む。尚、APIαのAPI定義情報を示すWSDLファイルがどのゲーム開発者に公開されているかは、ゲーム開発者DB25とゲーム定義情報DB26及びWSDLDB27を参照することで確認することができる。具体的には、流出判定部24は、ゲーム定義情報DB26を参照して、WSDLDB27に記憶されたWSDL情報に当該WSDLファイルと共に含まれるWSDLIDと同一のWSDLIDを含むゲーム定義情報を取得する。流出判定部24は、ゲーム開発者DB25を参照して、取得したゲーム定義情報に含まれるゲームIDと同一のゲームIDを示すゲームIDリストを含むゲーム開発者情報を取得することにより、APIαのAPI定義情報を示すWSDLファイルの流出元のゲーム開発者を特定することができる。
【0039】
ステップS42では、流出判定部24は、プラットフォーム開発者にWSDLファイルの流出の発生を通知する。通知方法には、電話や電子メール等を利用する方法がある。WSDLファイルの流出の重要度が「高」の場合には電話を利用し、WSDLファイルの流出の重要度が「低」の場合には電子メールを利用する等の使い分けが可能である。尚、電話を利用する場合には、プラットフォーム開発者の電話番号をAPI公開装置20は予め記憶しておき、当該電話番号に発信することで、電話を掛けるようにしても良いし、API公開装置20に通信端末が別途接続されており、当該通信端末を介して予め記憶された電話番号に発信させることで、電話を掛けるようにしても良い。電子メールを利用する場合には、API公開装置20はプラットフォーム開発者の電子メールアドレスを予め記憶しておき、当該電子メールアドレスを含み、WSDLファイルの流出が発生した旨を示す電子メールを作成してこれを送信するようにすれば良い。その後、流出判定部24は、リクエスト受信部23に権限エラーを返す(ステップS44)。リクエスト受信部23は、当該権限エラーを受け取ると、ステップS33に進む。ステップS33では、リクエスト受信部23は、ゲームGの認証に失敗した旨を示すエラーメッセージを、ゲームGのゲーム開発装置に送信する。
【0040】
以上のように、本実施の形態においては、API公開装置20は、ゲーム毎に個別のサービス公開アドレスを割り当て、個別のWSDLファイルを作成して公開する。これにより、WSDLファイルが流出し、特別APIのAPI定義情報を知らないはずのゲームによる特別APIの利用を要求するリクエストを送信しても、API公開装置20は当該リクエストを破棄することができる。即ち、API公開装置20は、APIの不正利用を検出してこれを排除することができる。また、API公開装置20は、WSDLファイルの流出元を特定することができる。この結果、WSDLファイルの流出の抑制や、WSDLファイルの流出元に対して責任を問うことが可能となる。
【0041】
[第2の実施形態]
次に、情報処理装置及びプログラムの第2の実施の形態について説明する。尚、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【0042】
第1の実施形態のように、プラットフォーム開発者が、ゲーム毎にAPI定義情報及びサービス公開アドレスを記述したWSDLファイルを作成する操作入力を行う場合、WSDLファイルの内容に記述ミスが生じる可能性がある。WSDLファイルの記述に誤りがあると、本来は公開したくないAPIのAPI定義情報が公開されてしまう恐れがある。また、WSDLファイルの読み手(ゲーム開発者等)が、API定義情報を理解できない恐れがある。このような問題を回避するため、本実施の形態においては、API公開装置20が、WSDLファイルを自動で作成する。
【0043】
図8は、本実施の形態におけるAPI公開装置20の機能的構成を例示する図である。本実施の形態に係るAPI公開装置20は、上述のWSDL公開部21と、ゲーム認証部22と、リクエスト受信部23と、流出判定部24と、ゲーム開発者DB25と、ゲーム定義情報DB26とに加え、WSDL作成部28と、APIDB29とを更に有し、WSDLDB27を有さない。WSDL作成部28は、API公開装置20のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。APIDB29は、HDD等の補助記憶部に記憶されるものである。また、本実施の形態においては、ゲーム定義情報DB26に記憶されるゲーム定義情報が上述の第1の実施の形態と異なる。WSDL公開部21の機能の一部及びリクエスト受信部23の機能の一部が上述の第1の実施の形態と異なる。
【0044】
APIDB29は、API公開装置20が提供するAPIに関するAPI情報を記憶する。API情報は、APIIDと、API定義情報とを含む。APIIDは、APIを識別するためにAPIに割り当てられるIDである。プラットフォーム開発者は、ゲーム開発者と契約を交わす前に、API公開装置20において、API公開装置20が提供するAPIに関するAPI情報をAPIDB29に登録する操作入力を行って、当該API情報をAPIDB29に記憶させる。
【0045】
本実施の形態に係るゲーム定義情報DB26に記憶されるゲーム定義情報は、ゲームIDと、ゲーム名と、認証情報との他、APIIDリストと、サービス公開アドレスとを含む。APIIDリストは、当該ゲームに対して利用が許可されているAPIのAPIIDを全て示す。サービス公開アドレスは、上述と同様に各ゲームに固有に割り当てられるものである。
【0046】
WSDL公開部21は、WSDLファイルを要求するリクエストを受信すると、第1の実施の形態と同様にしてゲーム認証部22にゲーム認証処理の実行を要求するが、ゲーム認証部22からゲーム定義情報を受け取ると、本実施の形態においては、当該ゲーム定義情報をWSDL作成部28に渡してWSDLファイルの作成を要求する。そして、WSDL公開部21は、当該要求に応じて作成されたWSDLファイルをWSDL作成部28から受け取ると、これをゲーム開発装置に送信する。
【0047】
リクエスト受信部23は、第1の実施の形態で説明した初期化処理において、当該API公開装置20が公開し得るWSDLファイルの作成をWSDL作成部28に要求する。そして、リクエスト受信部23は、当該要求に応じて作成されたWSDLファイルをWSDL作成部28から受け取ると、当該WSDLファイルによって示されるAPI定義情報及びサービス公開アドレスを取得して、Webサービスの利用を要求するリクエストの待ち受けを開始する。
【0048】
WSDL作成部28は、WSDL公開部21やリクエスト受信部23の要求に応じて、ゲーム定義情報と、API情報とを用いて、WSDLファイルを作成する。具体的には、WSDL作成部28は、ゲーム定義情報に含まれるAPIIDリストによって示されるAPIIDを各々含むAPI情報に各々含まれるAPI定義情報を取得し、ゲーム定義情報に含まれるサービス公開アドレスと合わせてWSDLファイルを作成する。そして、WSDL作成部28は、作成したWSDLファイルを要求元のWSDL公開部21やリクエスト受信部23に渡す。
【0049】
次に、本実施の形態に係るゲーム開発者とプラットフォーム開発者との業務フローについて説明する。図9は、本実施の形態に係る契約時の業務フローを示す図である。業務ステップG1〜G4は第1の実施の形態と同様である。業務ステップG4の後は、プラットフォーム開発者は、WSDLファイルを作成する操作入力及び当該WSDLファイルを含むWSDL情報をWSDLDB27に登録する操作入力を行うことなく、上述と同様の業務ステップG7〜G8を行う。
【0050】
次に、API公開装置20が行う処理の手順について説明する。まず、API公開装置20がゲーム開発装置からの要求に応じてWSDLファイルを公開する処理の手順について図10を用いて説明する。ステップS1〜S4は第1の実施の形態と同様である。ステップS3でゲーム定義情報を得られた場合(ステップS3:YES)、WSDL公開部21は、得られたゲーム定義情報をWSDL作成部28に渡す(ステップS50)。WSDL作成部28は、ゲーム定義情報を受け取ると、APIDB29を参照して、当該ゲーム定義情報に含まれるAPIIDリストによって示されるAPIIDを各々含むAPI情報に各々含まれるAPI定義情報を取得する(ステップS51)。そして、WSDL作成部28は、当該API定義情報と、当該ゲーム定義情報に含まれるサービス公開アドレスとを示すWSDLファイルを作成して、これをWSDL公開部21に渡す(ステップS52)。WSDL公開部21は、WSDLファイルを受け取ると、これをゲーム開発装置に送信する(ステップS53)。
【0051】
次に、APIの利用を要求するリクエストに対する処理の手順について説明する。ここで、まず、API公開装置20が起動時に行う初期化処理について図11を用いて説明する。API公開装置20が起動すると、リクエスト受信部23は、API公開装置20が公開し得る全てのWSDLファイルの作成をWSDL作成部28に要求する(ステップS60)。WSDL作成部28は、ゲーム定義情報DB26に記憶されている全てのゲーム定義情報を参照して、ゲーム定義情報に含まれるAPIIDリスト及びサービス公開アドレスを取得する(ステップS61)。次いで、WSDL作成部28は、APIDB29を参照して、ゲーム毎に、APIIDリストによって示されるAPIIDを各々含むAPI情報に各々含まれるAPI定義情報を取得し、当該API定義情報と、当該ゲームのゲーム定義情報に含まれるサービス公開アドレスとを示すWSDLファイルを作成する(ステップS62)。このようにしてWSDL作成部28はゲーム毎のWSDLファイルを作成して、これらをリクエスト受信部23に渡す。リクエスト受信部23は、当該WSDLファイルを受け取ると、当該WSDLファイルによって示されるAPI定義情報及びサービス公開アドレスを取得して、Webサービスの利用を要求するリクエストの待ち受けを開始する(ステップS63)。
【0052】
次に、APIの利用を要求するリクエストをAPI公開装置20がゲーム開発装置から受信した場合の処理の手順について図12を用いて説明する。ゲーム開発装置が、第1の実施の形態と同様に、APIの利用を要求するリクエストをAPI公開装置20に送信する。以下、このゲームのことをゲームG、このリクエストのことをリクエストRと呼ぶ。ステップS30〜S34は第1の実施の形態と同様である。ステップS34の後、ステップS70では、流出判定部24は、リクエストR及びゲーム定義情報を受け取ると、ゲーム定義情報に含まれるAPIIDリストによって示されるAPIIDを含むAPI情報を取得する。次いで、流出判定部24は、リクエストRによって要求されたAPIαの利用の正当性を確認する(ステップS71)。以下の2つの条件(c),(d)を満たす場合、リクエストRによって要求されたAPIαの利用は正当であると流出判定部24は判定する。
(c)ステップS70で取得したAPI情報のうち、APIαのAPI定義情報を含むAPI情報が存在する
(d)リクエストRに付加されたサービス公開アドレスと、ゲーム定義情報に含まれるサービス公開アドレスとが同一である
【0053】
リクエストRによって要求されたAPIαの利用は正当であると判定した場合(ステップS71:YES)、上述と同様にステップS37に進む。一方、リクエストRによって要求されたAPIαの利用は正当でないと判定した場合(ステップS71:NO)、流出判定部24は、第1の実施の形態と同様に、ゲーム開発者DB25に記憶されている全てのゲーム開発者情報を参照して(ステップS38)、APIαの利用が許可されたゲームのゲーム開発者と、ゲームGのゲーム開発者とが同一であるか否かを判定する(ステップS39)。但し、本実施の形態においては、具体的な判定の方法が第1の実施の形態と異なる。流出判定部24は、ゲーム開発者DB25に記憶されている全てのゲーム開発者情報に含まれるゲームIDリストによって示されるゲームIDを参照して、ゲームGのゲームIDを示すゲームIDリストを含むゲーム開発者情報を取得する。流出判定部24は、ゲーム定義情報DB26を参照して、取得したゲーム開発者情報に含まれるゲームIDリストによって示されるゲームIDと同一のゲームIDを含むゲーム定義情報を取得する。ここまでは、第1の実施の形態と同様である。その後、流出判定部24は、APIDB29を参照して、取得したゲーム定義情報に含まれるAPIIDと同一のAPILIDを含むAPI情報を取得する。そして、流出判定部24は、ゲーム定義情報毎に、API情報及びサービス公開アドレスを組み合わせて、その組み合わせのいずれかにAPIαに関するAPI情報が含まれていれば、APIαの利用が許可されたゲームのゲーム開発者と、ゲームGのゲーム開発者とが同一であると判定し、その組み合わせのいずれかにAPIαに関するAPI情報が含まれていなければ、双方のゲーム開発者が同一ではないと判定する。
【0054】
ステップS37,S39〜S44は第1の実施の形態と同様である。尚、WSDLファイルが流出したと判定した場合、尚、APIαのAPI定義情報を示すWSDLファイルが、どのゲーム開発者に公開されているかは、ゲーム開発者DB25、ゲーム定義情報DB26及びAPIDB29を参照することで確認することができる。具体的には、流出判定部24は、ゲーム定義情報DB26を参照して、APIDB29に記憶されたAPI情報に当該API定義情報と共に含まれるAPIIDと同一のAPIIDを含むゲーム定義情報を取得する。流出判定部24は、ゲーム開発者DB25を参照して、取得したゲーム定義情報に含まれるゲームIDと同一のゲームIDを示すゲームIDリストを含むゲーム開発者情報を取得することにより、APIαのAPI定義情報を示すWSDLファイルの流出元のゲーム開発者を特定することができる。
【0055】
以上のように、本実施の形態においては、API公開装置20の提供するAPIに関するAPI情報をAPIDB29に予め記憶させておき、ゲーム開発者との契約時に、ゲームがその利用を許可されたAPIのAPIIDを示すAPIIDリストをゲーム定義情報に含ませることで、ゲーム毎に個別のサービス公開アドレスを割り当てた個別のWSDLファイルの作成を機械的に行うことが可能になる。従って、プラットフォーム開発者がWSDLファイルを作成しなくて良くなる。このため、WSDLファイルの記述ミスを避けることができると共に、WSDLファイルの流出が生じた場合に、その流出元を特定することができる。
【0056】
尚、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除しても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【0057】
上述した各実施の形態において、API公開装置20で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【0058】
上述した各実施の形態において、API公開装置20が実現するAPIは、上述の例に限らず、例えば、ユーザ情報管理機能等の機能であっても良い。また、データベース装置30が有するデータベースは、上述の例に限らず、例えば、ユーザデータを記憶するユーザデータベースであっても良い。また、ゲームデータベース31及び統計データベース32を有するデータベース装置30は1つであっても良いし、複数であっても良い。また、複数のデータベース装置30でゲームデータベース31及び統計データベース32のうち少なくとも1つを複数のデータベース装置30で分散して管理するようにしても良い。また、プラットフォーム10がデータベース装置30を有さず、API公開装置20がゲームデータベース31及び統計データベース32のうち少なくとも1つを有するようにしても良いし、WebサービスAPIによってアプリケーションプログラムからアクセスされるその他のデータベースを有するようにしても良い。
【0059】
上述した各実施の形態において、API公開装置20が公開するWebサービスAPIを利用するアプリケーションプログラムとしてゲームを例に挙げて説明したが、アプリケーションプログラムはこれに限らない。
【0060】
上述した各実施の形態において、WSDLファイルは、API定義情報及びサービス公開アドレスの他、例えば、API公開装置20のIPアドレスや、リクエストを待ち受けるポート番号を示すようにしても良い。
【0061】
上述した各実施の形態において、ゲーム開発者にWSDLファイルを渡す方法は、API公開装置20がネットワークNT1を介してゲーム開発装置にWSDLファイルを送信する方法を例に挙げて説明したが、これに限らず、例えば、FTPを利用してゲーム開発装置にWSDLファイルを送信する方法や電子メールを利用してWSDLファイルを送信する方法、持ち運び可能なディスクを利用して、WSDLファイルを記憶したディスクをゲーム開発者に渡す方法等であっても良い。
【0062】
上述した第2の実施の形態において、API公開装置20のリクエスト受信部23が、WSDLファイルを要求するリクエストを受信する度に、WSDL作成部28がWSDLファイルを繰り返し作成することを避けるために、WSDL作成部28が一度作成したWSDLファイルを例えばRAM等の主記憶部にキャッシュするようにしても良い。そして、リクエスト受信部23は、WSDLファイルを要求するリクエストを受信した場合、当該リクエストに応じたWSDLファイルがキャッシュされているか否かを判定し、当該判定結果が肯定的である場合キャッシュされたWSDLファイルをゲーム開発装置に送信し、当該判定結果が否定的である場合、WSDLファイルの作成をWSDL作成部28に要求するようにすれば良い。
【符号の説明】
【0063】
10 プラットフォーム
20 API公開装置
21 WSDL公開部
22 ゲーム認証部
23 リクエスト受信部
24 流出判定部
25 ゲーム開発者DB
26 ゲーム定義情報DB
27 WSDLDB
28 WSDL作成部
29 APIDB
30 データベース装置
31 ゲームデータベース
32 統計データベース
NT1,NT2 ネットワーク

【特許請求の範囲】
【請求項1】
アプリケーションプログラムによって各種機能を実現させるために利用される各種API(Application Programming Interface)を提供する情報処理装置であって、
アプリケーションプログラムに対して利用が許可されたAPIの定義情報を示すWSDL(Web Service Description Language)ファイルを前記アプリケーションプログラム毎に記憶する第1記憶部と、
前記アプリケーションプログラムの開発者を特定する開発者情報を記憶する第2記憶部と、
前記アプリケーションプログラムに対して、当該アプリケーションプログラムに対応する前記WSDLファイルを公開する公開部と、
Webサービスを介して、第1のアプリケーションプログラムによる第1のAPIの利用を要求するリクエストを受信する受信部と、
前記第1記憶部に記憶された前記WSDLファイルのうち、前記第1のアプリケーションプログラムに対応する第1のWSDLファイルに前記第1のAPIの前記定義情報が示されるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定する第1判定部と、
前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当ではないと判定された場合、前記第2記憶部に記憶された前記開発者情報を用いて、前記第1のWSDLファイルの流出の有無を判定する第2判定部とを備える
ことを特徴とする情報処理装置。
【請求項2】
前記第1記憶部は、前記アプリケーションプログラムに対して割り当てられたアドレスを更に示す前記WSDLファイルを前記アプリケーションプログラム毎に記憶し、
前記受信部は、第1のアドレスが付加された前記リクエストを受信し、
前記第1判定部は、前記第1のWSDLファイルによって示されるアドレスと、前記リクエストに付加された前記第1のアドレスとが同一であるか否か及び前記第1のWSDLファイルによって前記第1のAPIの前記定義情報が示されるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記アプリケーションプログラムの認証情報を記憶する第3記憶部と、
前記第3記憶部に記憶された前記認証情報に基づいて、前記アプリケーションプログラムを認証する認証部とを更に備え、
前記公開部は、認証が成功した前記アプリケーションプログラムに対して、当該アプリケーションプログラムに対応する前記WSDLファイルを公開し、
前記第1判定部は、前記第1のアプリケーションプログラムの認証が成功した場合に、前記第1のWSDLファイルによって示されるアドレスと、前記リクエストに付加された前記第1のアドレスとが同一であるか否か及び前記第1のWSDLファイルによって前記第1のAPIの前記定義情報が示されるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記第2記憶部は、前記アプリケーションプログラムの開発者を識別するための開発者識別情報と、前記開発者が開発する1つ又は複数のアプリケーションプログラムを識別するためのアプリケーション識別情報とを含む前記開発者情報を記憶し、
前記受信部は、前記第1のアプリケーションプログラムを識別するための第1のアプリケーション識別情報が付加された前記リクエストを受信し、
前記第2判定部は、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当ではないと判定された場合且つ前記第1のアプリケーションプログラムの開発者の前記開発者情報によって示される前記アプリケーション識別情報によって示される他のアプリケーションプログラムに対応する第2のWSDLファイルによって前記第1のAPIの前記定義情報が示される場合、前記第1のWSDLファイルが流出した可能性は低いと判定し、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当ではないと判定された場合且つ前記第2のWSDLファイルによって前記第1のAPIの前記定義情報が示されない場合、前記第1のWSDLファイルが流出した可能性は高いと判定する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記第3記憶部は、前記認証情報と、前記アプリケーション識別情報とを含むアプリケーション定義情報を記憶し、
前記受信部は、第1の認証情報が更に付加された前記リクエストを受信し、
前記認証部は、前記リクエストに付加された前記第1の認証情報と同一の前記認証情報及び前記第1のアプリケーション識別情報と同一の前記アプリケーション識別情報を含む第1のアプリケーション定義情報が前記第3記憶部に記憶されている場合、前記第1のアプリケーションプログラムの認証に成功する
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記第1記憶部は、前記WSDLファイルを識別するためのWSDL識別情報と、前記WSDLファイルとを含むWSDL情報を記憶し、
前記第3記憶部は、前記認証情報と、前記アプリケーション識別情報と、前記アプリケーションプログラムに対応する前記WSDLファイルの前記WSDL識別情報とを含むアプリケーション定義情報を記憶し、
前記判定部は、前記第1のアプリケーションプログラムの認証に成功した場合、前記第1のアプリケーション定義情報に含まれる第1のWSDL識別情報と同一の前記WSDL識別情報と共に前記WSDL情報に含まれる前記WSDLファイルである前記第1のWSDLファイルによって示されるアドレスと、前記リクエストに付加された前記第1のアドレスとが同一であるか否か及び前記第1のWSDLファイルによって前記第1のAPIの前記定義情報が示されるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
アプリケーションプログラムによって各種機能を実現させるために利用される各種API(Application Programming Interface)を提供する情報処理装置であって、
APIの定義情報を記憶する第1記憶部と、
前記アプリケーションプログラムに対して利用が許可されたAPIを識別するためのAPI識別情報とを含むアプリケーション定義情報を前記アプリケーションプログラム毎に記憶する第2記憶部と、
前記アプリケーションプログラムの開発者を特定する開発者情報を記憶する第3記憶部と、
前記定義情報と、前記アプリケーション定義情報とを用いて、前記アプリケーションプログラムに対して利用が許可されたAPIの定義情報を示すWSDL(Web Service Description Language)ファイルを前記アプリケーションプログラム毎に作成する作成部と、
前記アプリケーションプログラムに対して、当該アプリケーションプログラムに対応する前記WSDLファイルを公開する公開部と、
Webサービスを介して、第1のアプリケーションプログラムによる第1のAPIの利用を要求するリクエストを受信する受信部と、
前記第1のアプリケーションプログラムに対応する第1のアプリケーション定義情報に前記第1のAPIの前記定義情報が含まれるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定する第1判定部と、
前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当ではないと判定された場合、前記第3記憶部に記憶された前記開発者情報を用いて、前記第1のWSDLファイルの流出の有無を判定する第2判定部とを備える
ことを特徴とする情報処理装置。
【請求項8】
前記第2記憶部は、前記アプリケーションプログラムに対して割り当てられたアドレスを更に含む前記アプリケーション定義情報を前記アプリケーションプログラム毎に記憶し、
前記受信部は、第1のアドレスが付加された前記リクエストを受信し、
前記第1判定部は、前記第1のアプリケーション定義情報に含まれるアドレスと、前記リクエストに付加された前記第1のアドレスとが同一であるか否か及び前記第1のアプリケーション定義情報に前記第1のAPIの前記定義情報が含まれるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定する
ことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記第2記憶部は、前記アプリケーションプログラムの認証情報を更に含む前記アプリケーション定義情報を記憶し、
前記第2記憶部に記憶された前記アプリケーション定義情報に含まれる前記認証情報に基づいて、前記アプリケーションプログラムを認証する認証部とを更に備え、
前記公開部は、認証が成功した前記アプリケーションプログラムに対して、当該アプリケーションプログラムに対応する前記WSDLファイルを公開し、
前記第1判定部は、前記第1のアプリケーションプログラムの認証が成功した場合に、前記第1のアプリケーション定義情報に含まれるアドレスと、前記リクエストに付加された前記第1のアドレスとが同一であるか否か及び前記第1のアプリケーション定義情報に前記第1のAPIの前記定義情報が含まれるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定する
ことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記第3記憶部は、前記アプリケーションプログラムの開発者を識別するための開発者識別情報と、前記開発者が開発する1つ又は複数のアプリケーションプログラムを識別するための前記アプリケーション識別情報とを含む前記開発者情報を記憶し、
前記受信部は、前記第1のアプリケーションプログラムを識別するための第1のアプリケーション識別情報が付加された前記リクエストを受信し、
前記第2判定部は、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当ではないと判定された場合且つ前記第1のアプリケーションプログラムの開発者の前記開発者情報によって示される前記アプリケーション識別情報によって示される他のアプリケーションプログラムに対応する第2のアプリケーション定義情報に前記第1のAPIの前記定義情報が含まれる場合、前記第1のAPIの前記定義情報を示す第1のWSDLファイルが流出した可能性は低いと判定し、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当ではないと判定された場合且つ前記第2のアプリケーション定義情報に前記第1のAPIの前記定義情報が含まれない場合、前記第1のWSDLファイルが流出した可能性は高いと判定する
ことを特徴とする請求項9に記載の情報処理装置。
【請求項11】
アプリケーションプログラムによって各種機能を実現させるために利用される各種API(Application Programming Interface)を提供するコンピュータを、
アプリケーションプログラムに対して利用が許可されたAPIの定義情報を示すWSDL(Web Service Description Language)ファイルを前記アプリケーションプログラム毎に記憶する第1記憶手段と、
前記アプリケーションプログラムの開発者を特定する開発者情報を記憶する第2記憶手段と、
前記アプリケーションプログラムに対して、当該アプリケーションプログラムに対応する前記WSDLファイルを公開する公開手段と、
Webサービスを介して、第1のアプリケーションプログラムによる第1のAPIの利用を要求するリクエストを受信する受信手段と、
前記第1記憶手段に記憶された前記WSDLファイルのうち、前記第1のアプリケーションプログラムに対応する第1のWSDLファイルに前記第1のAPIの前記定義情報が示されるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定する第1判定手段と、
前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当ではないと判定された場合、前記第2記憶手段に記憶された前記開発者情報を用いて、前記第1のWSDLファイルの流出の有無を判定する第2判定手段と
して機能させるためのプログラム。
【請求項12】
アプリケーションプログラムによって各種機能を実現させるために利用される各種API(Application Programming Interface)を提供するコンピュータを、
アプリケーションプログラムに対して利用が許可されたAPIの定義情報を示すWSDL(Web Service Description Language)ファイルを前記アプリケーションプログラム毎に記憶する第1記憶手段と、
APIの定義情報を記憶する第1記憶手段と、
前記アプリケーションプログラムに対して利用が許可されたAPIを識別するためのAPI識別情報とを含むアプリケーション定義情報を前記アプリケーションプログラム毎に記憶する第2記憶手段と、
前記アプリケーションプログラムの開発者を特定する開発者情報を記憶する第3記憶手段と、
前記定義情報と、前記アプリケーション定義情報とを用いて、前記アプリケーションプログラムに対して利用が許可されたAPIの定義情報を示すWSDL(Web Service Description Language)ファイルを前記アプリケーションプログラム毎に作成する作成手段と、
前記アプリケーションプログラムに対して、当該アプリケーションプログラムに対応する前記WSDLファイルを公開する公開手段と、
Webサービスを介して、第1のアプリケーションプログラムによる第1のAPIの利用を要求するリクエストを受信する受信手段と、
前記第1のアプリケーションプログラムに対応する第1のアプリケーション定義情報に前記第1のAPIの前記定義情報が含まれるか否かを判定することにより、前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当であるか否かを判定する第1判定手段と、
前記第1のアプリケーションプログラムによる前記第1のAPIの利用が正当ではないと判定された場合、前記第3記憶手段に記憶された前記開発者情報を用いて、前記第1のWSDLファイルの流出の有無を判定する第2判定手段と
して機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate