(57)【要約】【課題】ＡＰＩを利用する場合の利便性を向上すること。【解決手段】ＡＰＩ管理装置２は、ＡＰＩ管理表記憶部２１を用いてＡＰＩに関する情報を管理し、アクセストークン管理表記憶部２２を用いてアクセストークンに関する情報を管理する。そして、交換部２４が、ＡＰＩ管理表記憶部２１及びアクセストークン管理表記憶部２２を用いて異なるＡＰＩのアクセストークンを交換する。そして、ＡＰＩクライアント装置３は、ＡＰＩ管理装置２による異なるアクセストークンの交換を利用して少なくともＡＰＩの提供又はＡＰＩの利用を行う。【選択図】図１
2018181277.tif 000002
【特許請求の範囲】
【請求項１】
ＡＰＩを呼び出す権利があることを示すアクセストークンに関する情報とＡＰＩに関する情報を管理して異なるアクセストークンの交換を行うＡＰＩ管理装置と、
前記ＡＰＩ管理装置による異なるアクセストークンの交換を利用して少なくともＡＰＩの提供又はＡＰＩの利用を行うＡＰＩクライアント装置と
を有することを特徴とする情報処理システム。
【請求項２】
前記ＡＰＩクライアント装置は、ＡＰＩの提供を行う場合に、該ＡＰＩの利用要求を受け付けると、該利用要求に含まれるアクセストークンが該ＡＰＩのアクセストークンであるか否かを判定し、該ＡＰＩのアクセストークンである場合に、該利用要求に含まれるアクセストークンが正しく利用されているかの検証を前記ＡＰＩ管理装置に依頼し、
前記ＡＰＩ管理装置は、前記ＡＰＩクライアント装置からの依頼に基づいて、前記利用要求に含まれるアクセストークンが正しく利用されているかを検証し、検証結果を前記ＡＰＩクライアント装置に応答することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ＡＰＩクライアント装置は、ＡＰＩの提供を行う場合に、該ＡＰＩの利用要求を受け付けると、該利用要求に含まれるアクセストークンが該ＡＰＩのアクセストークンであるか否かを判定し、該ＡＰＩのアクセストークンでない場合に、該ＡＰＩのアクセストークンへの交換を前記ＡＰＩ管理装置に依頼し、
前記ＡＰＩ管理装置は、前記ＡＰＩクライアント装置からの依頼に基づいて、前記利用要求に含まれるアクセストークンの呼出能力と前記ＡＰＩのアクセストークンの呼出能力が等しいか否かを判定し、等しい場合に前記利用要求に含まれるアクセストークンを前記ＡＰＩのアクセストークンに交換することを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記ＡＰＩ管理装置は、前記利用要求に含まれるアクセストークンの前記ＡＰＩのアクセストークンへの交換を行う場合に、前記ＡＰＩを提供するＡＰＩクライアント装置に交換可否の判定を依頼し、
交換可否の判定を依頼されたＡＰＩクライアント装置は、前記利用要求に含まれるアクセストークン及び該アクセストークンの所有者の交換実績に基づいて該判定を行うことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記ＡＰＩ管理装置は、アクセストークンの中で基準となる基準アクセストークンを前記ＡＰＩクライアント装置に提供し、
前記ＡＰＩクライアント装置は、ＡＰＩの利用を行う場合に、前記基準アクセストークンを用いてＡＰＩを利用することを特徴とする請求項１〜４のいずれか１つに記載の情報処理システム。
【請求項６】
ＡＰＩを呼び出す権利があることを示すアクセストークンに関する情報とＡＰＩに関する情報を記憶する記憶部と、
前記記憶部が記憶する情報を用いて異なるアクセストークンの交換を行う交換部と
を有することを特徴とする情報処理装置。
【請求項７】
第１のコンピュータが、ＡＰＩを呼び出す権利があることを示すアクセストークンに関する情報とＡＰＩに関する情報に基づいて異なるアクセストークンの交換を行い、
第２のコンピュータが、前記第１のコンピュータによる異なるアクセストークンの交換を利用して少なくともＡＰＩの提供又はＡＰＩの利用を行う
ことを特徴とするＡＰＩ制御方法。
【請求項８】
コンピュータに、
ＡＰＩを呼び出す権利があることを示すアクセストークンに関する情報とＡＰＩに関する情報を記憶部に記憶し、
前記記憶部が記憶する情報を用いて異なるアクセストークンの交換を行う
処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、ＡＰＩ制御方法及びプログラムに関する。
【背景技術】
【０００２】
サーバにあるデータ、ストレージ、ＣＰＵ（Central  Processing  Unit）、ソフトウェア等のリソースを利用する場合に、利用者は、プログラムからＷｅｂＡＰＩ（Ｗｅｂ  Application  Programming  Interface）を呼び出す。ただし、ＷｅｂＡＰＩを呼び出す場合には、ＷｅｂＡＰＩを呼び出す権利があることを示すアクセストークンが必要であり、利用者は、利用料を支払いアクセストークンを取得する必要がある。
【０００３】
なお、様々なオペレーティングシステムでオプション価値を格納し、検索し、そして変更するための入口の単一ポイントを与える技術がある。また、権限移譲先に設定されたＡＰＩ毎の使用上限数に従ってクライアント毎のＡＰＩ使用上限数を管理するＡＰＩカウント処理を行うことで、他サービスのＡＰＩ利用状況による影響を受けずにサービスの利便性が向上した権限移譲システムを実現する技術がある。
【０００４】
また、利用権取引サーバが、利用権管理サーバの認証を受けたトークンに限って利用者端末と取引を行い、取引に際してトークンの譲渡元利用端末に対しては一旦譲渡を受ける譲渡先となり、トークンの譲渡先利用者端末に対しては譲渡元となる技術がある。この技術によれば、利用者それぞれのプライバシー情報や個人情報を互いに共有することなく、正当なトークン保有者の権限と保護と、安全性の高いトークンの取引を可能とすることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００５−５２３５１３号公報
【特許文献２】特開２０１５−１２５５１０号公報
【特許文献３】特開２００８−１９８０３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＷｅｂＡＰＩの利用者は、利用料を支払うことでアクセストークンを取得することができるが、異なるＷｅｂＡＰＩのアクセストークンには互換性がなく、異なるアクセストークンを交換することができない。
【０００７】
例えば、ある有償なＷｅｂＡＰＩ＃１を呼び出してリソースを活用し、新たなＷｅｂＡＰＩ＃２を有償で提供する場合、ＷｅｂＡＰＩ＃２のアクセストークンの販売によってＷｅｂＡＰＩ＃１のアクセストークンの購入を行う必要がある。
【０００８】
したがって、従来のＷｅｂＡＰＩ利用では、ＷｅｂＡＰＩを利用する場合の利便性が悪いという問題がある。
【０００９】
本発明は、１つの側面では、ＷｅｂＡＰＩを利用する場合の利便性を向上することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、情報処理システムは、ＡＰＩ管理装置とＡＰＩクライアント装置とを有する。ＡＰＩ管理装置は、ＡＰＩを呼び出す権利があることを示すアクセストークンに関する情報とＡＰＩに関する情報を管理して異なるアクセストークンの交換を行う。ＡＰＩクライアント装置は、ＡＰＩ管理装置による異なるアクセストークンの交換を利用して少なくともＡＰＩの提供又はＡＰＩの利用を行う。
【発明の効果】
【００１１】
１つの側面では、本発明は、ＷｅｂＡＰＩを利用する場合の利便性を向上することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例に係るＡＰＩ管理システムの構成を示す図である。
【図２】図２は、ＡＰＩ管理表の一例を示す図である。
【図３】図３は、アクセストークン管理表の一例を示す図である。
【図４】図４は、アクセストークン交換実績の例を示す図である。
【図５】図５は、アクセストークン管理表の変遷例を示す図である。
【図６】図６は、基準アクセストークンを提供する処理のフローを示すフローチャートである。
【図７】図７は、アクセストークンを交換する処理のフローを示すフローチャートである。
【図８】図８は、アクセストークンを検証する処理のフローを示すフローチャートである。
【図９】図９は、ＡＰＩ呼び出しの受付処理のフローを示すフローチャートである。
【図１０】図１０は、アクセストークンの交換可否を判定する処理のフローを示すフローチャートである。
【図１１】図１１は、実施例に係るＡＰＩ管理プログラムを実行するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する情報処理システム、情報処理装置、ＡＰＩ制御方法及びプログラムの実施例を図面に基づいて詳細に説明する。なお、以下の説明では、ＷｅｂＡＰＩを単にＡＰＩと表す。また、この実施例は開示の技術を限定するものではない。
【実施例】
【００１４】
まず、実施例に係るＡＰＩ管理システムの構成について説明する。図１は、実施例に係るＡＰＩ管理システムの構成を示す図である。図１に示すように、実施例に係るＡＰＩ管理システム１は、ＡＰＩ管理装置２と、ＡＰＩクライアント装置３と、ＡＰＩゲートウェイ４と、３台のサービス提供装置５とを有する。
【００１５】
ＡＰＩ管理装置２とＡＰＩゲートウェイ４は、ネットワーク６で接続される。ＡＰＩクライアント装置３及び各サービス提供装置５は、ＡＰＩゲートウェイ４を介してネットワーク６に接続される。
【００１６】
なお、ここでは説明の便宜上、１台のＡＰＩゲートウェイ４及びＡＰＩクライアント装置３のみを示したが、ＡＰＩ管理システム１は、複数のＡＰＩゲートウェイ４及びＡＰＩクライアント装置３を有する。また、サービス提供装置５の数は、３台未満でも４台以上でもよい。
【００１７】
ＡＰＩ管理装置２は、ＡＰＩに関する情報を一元管理する装置である。ＡＰＩクライアント装置３は、ＡＰＩの提供及びＡＰＩの利用に用いられる装置である。なお、ＡＰＩクライアント装置３は、ＡＰＩの提供又はＡＰＩの利用だけに用いられてもよい。
【００１８】
ＡＰＩゲートウェイ４は、ＡＰＩクライアント装置３及び３台のサービス提供装置５をネットワーク６に接続するゲートウェイである。ＡＰＩ管理システム１は、ＡＰＩゲートウェイ４の代わりにリバースプロキシ又はＷｅｂサーバを有してもよい。
【００１９】
サービス提供装置５は、リソースを提供する装置である。リソースの利用者は、アクセストークンを提示してＡＰＩを呼び出すことによってサービス提供装置５が提供するリソースを利用する。アクセストークンは、ＪＳＯＮ（JavaScript（登録商標）  Object  Notation）  Ｗｅｂ  Ｔｏｋｅｎ、ブロックチェーン等を用いて実現される。
【００２０】
ＡＰＩ管理装置２は、ＡＰＩ管理表記憶部２１と、アクセストークン管理表記憶部２２と、登録更新部２３と、交換部２４と、提供部２５と、検証部２６と、移動部２７とを有する。
【００２１】
ＡＰＩ管理表記憶部２１は、ＡＰＩに関する情報を管理するためのＡＰＩ管理表を記憶する。図２は、ＡＰＩ管理表の一例を示す図である。図２に示すように、ＡＰＩ管理表には、ＩＤと、ＡＰＩと、呼出能力とが含まれる。ＩＤは、ＡＰＩを識別するための識別子である。ＡＰＩは、リソースの利用時に呼び出されるプログラミングインタフェースである。
【００２２】
呼出能力は、基準ＡＰＩを呼び出し可能な回数である。ここで、基準ＡＰＩとは、基準アクセストークンでアクセス可能なＡＰＩである。基準アクセストークンは、アクセストークンのうち基準となるアクセストークンである。例えば、１回呼び出されると銀行ＡＰＩを用いて指定口座に１ドル送信するＡＰＩである。ＡＰＩ利用者は、基準アクセストークンをＡＰＩ管理装置２から取得することができる。基準ＡＰＩの識別子は「＄」である。
【００２３】
ＡＰＩ提供者は、提供するＡＰＩのアクセストークン１つで基準ＡＰＩを呼び出し可能な回数をＡＰＩ管理装置２に登録する。ＡＰＩ管理装置２は、ＡＰＩ提供者により登録された回数をＡＰＩ管理表の呼出能力として管理する。
【００２４】
例えば、「ａｐｉ＿１」で識別されるＡＰＩ「ｈｔｔｐ：／／ｈｏｇｅ．ｃｏｍ／ａｐｉ／」は基準ＡＰＩを「２」回呼び出し可能な価値を有する。なお、備考は、説明のための欄であり、ＡＰＩ管理表には含まれない。
【００２５】
アクセストークン管理表記憶部２２は、アクセストークンに関する情報を管理するためのアクセストークン管理表を記憶する。図３は、アクセストークン管理表の一例を示す図である。図３に示すように、アクセストークン管理表には、所有者毎に所有するアクセストークンの数が所有者の識別子と対応付けて登録される。例えば、「ｈｏｇｅ」で識別される所有者は、「ａｐｉ＿１」のアクセストークンを「１００」個所有する。
【００２６】
ＡＰＩ提供者は、提供可能なアクセストークンの数をＡＰＩ管理装置２に登録する。ＡＰＩ管理装置２は、ＡＰＩ提供者により登録された数をアクセストークン管理表を用いて管理する。ＡＰＩ利用者は、ＡＰＩクライアント装置３を用いて、利用したいＡＰＩの提供者との間で、呼出能力が等しくなるようにアクセストークンをＡＰＩ管理装置２を介して交換する。例えば、「ａｐｉ＿１」の呼出能力は「２」であり、「ａｐｉ＿２」の呼出能力は「３」であるので、３つの「ａｐｉ＿１」と２つの「ａｐｉ＿２」が交換される。
【００２７】
ＡＰＩ利用者は、利用したいＡＰＩのアクセストークンを指定してＡＰＩを呼び出す。また、ＡＰＩ利用者は、ＡＰＩ呼び出しと同時にアクセストークンを交換することもできる。ＡＰＩ利用者がＡＰＩ呼び出しに自分が所有するアクセストークンを指定すると、呼び出されるＡＰＩのアクセストークンとの交換が自動的に行われる。ＡＰＩ呼び出し時に指定されたアクセストークンは、ＡＰＩ提供者のものとなる。
【００２８】
アクセストークンの交換には、交換を依頼されたＡＰＩ提供者の承認が必要である。ただし、基準アクセストークンとの交換は無条件で承認される。また、アクセストークンの交換では、交換元アクセストークンの交換実績と交換元アクセストークンの所有者の交換実績が所定の条件を満たせば自動的に承認が行われ、所定の条件を満たさない場合に、ＡＰＩ提供者の承認が必要になる。
【００２９】
図１に戻って、登録更新部２３は、ＡＰＩ提供者の指示に基づいて、ＡＰＩに関する情報のＡＰＩ管理表への登録と、ＡＰＩ管理表の更新を行い、アクセストークンに関する情報のアクセストークン管理表への登録と、アクセストークン管理表の更新を行う。
【００３０】
交換部２４は、アクセストークンの交換を行う。交換部２４は、呼出能力が等しくなるようにアクセストークンを交換する。交換部２４は、ＡＰＩ提供者のＡＰＩクライアント装置３に交換の可否を問い合わせ、交換可の応答を受け取ると、アクセストークンを交換する。交換部２４は、アクセストークンを交換した場合には、アクセストークン管理表を更新し、後述する交換実績を更新するよう交換先のＡＰＩクライアント装置３に指示する。
【００３１】
提供部２５は、基準アクセストークンをＡＰＩ利用者に提供する。提供部２５は、ＡＰＩ利用者が基準アクセストークンを取得する資格の有無を、基準ＡＰＩ提供者によって提供される手段により判定する。そして、提供部２５は、ＡＰＩ利用者が基準アクセストークンを取得する資格があると判定した場合に、アクセストークン管理表を更新し、取得の成功をＡＰＩ利用者のＡＰＩクライアント装置３に通知する。
【００３２】
検証部２６は、ＡＰＩ提供者からの依頼に基づいて、アクセストークンの使用が正しいか否かをアクセストークン管理表を参照して検証し、検証結果をＡＰＩ提供者のＡＰＩクライアント装置３に通知する。
【００３３】
移動部２７は、ＡＰＩ提供者からの依頼に基づいて、ＡＰＩ利用者からＡＰＩ提供者へのアクセストークンの移動を行う。具体的には、移動部２７は、アクセストークン管理表のＡＰＩ利用者と移動対象ＡＰＩに対応する所有数を１減らし、アクセストークン管理表のＡＰＩ提供者と移動対象ＡＰＩに対応する所有数を１増やす。
【００３４】
ＡＰＩクライアント装置３は、交換実績記憶部３１と、交換可否判定部３２と、登録更新依頼部３３と、取得依頼部３４と、受付部３５を有する。
【００３５】
交換実績記憶部３１は、アクセストークンの交換実績に関する情報を記憶する。図４は、アクセストークン交換実績の例を示す図である。図４に示すように、アクセストークン交換実績には、交換元アクセストークンに関する交換実績と交換元アクセストークンの所有者に関する交換実績がある。
【００３６】
交換元アクセストークンに関する交換実績は、交換元アクセストークンのＡＰＩのＩＤと交換回数が対応付けられた情報であり、交換元アクセストークンが交換された回数である。所有者に関する交換実績は、交換元アクセストークンの所有者と交換回数が対応付けられた情報であり、交換元アクセストークンの所有者とアクセストークンの交換を行った回数である。交換実績記憶部３１は、基準アクセストークンとＡＰＩ提供者が提供するＡＰＩのアクセストークンの交換実績は記憶しない。
【００３７】
図４（ａ）は、「ｈｏｇｅ」のアクセストークン交換実績を示し、図４（ｂ）は、「ｆｕｇａ」のアクセストークン交換実績を示し、図４（ｃ）は、「ｐｉｙｏ」のアクセストークン交換実績を示す。例えば、「ｈｏｇｅ」は、「ａｐｉ＿２」のアクセストークンと５回交換した実績があり、「ｆｕｇａ」及び「ｐｉｙｏ」とはアクセストークンを交換した実績がない。
【００３８】
交換可否判定部３２は、アクセストークン交換実績を参照し、アクセストークン交換の可否を判定する。交換可否判定部３２は、例えば、交換回数の閾値を「３」とし、交換元アクセストークンの交換回数が閾値以上であるか、又は、所有者とのアクセストークンの交換回数が閾値以上である場合に、アクセストークン交換を可と判定する。
【００３９】
登録更新依頼部３３は、ＡＰＩ提供者の指示に基づいて、ＡＰＩ及びアクセストークンに関する情報の登録及び更新をＡＰＩ管理装置２に依頼する。具体的には、登録更新依頼部３３は、ＡＰＩ、ＡＰＩのＩＤ、ＡＰＩの呼出能力、所有するアクセストークンの数等の登録及び更新をＡＰＩ管理装置２に依頼する。
【００４０】
取得依頼部３４は、基準アクセストークンの取得をＡＰＩ管理装置２に依頼する。取得依頼部３４は、ＡＰＩ利用者の識別子、要求個数、ＡＰＩ利用者の資格情報を指定して基準アクセストークンの取得を依頼する。
【００４１】
受付部３５は、ＡＰＩ利用者によるＡＰＩ呼び出しを受け付け、アクセストークンが正しく指定されている場合には、ＡＰＩ呼び出しを処理し、アクセストークンをＡＰＩ利用者からＡＰＩ提供者に移動してＡＰＩ呼び出し元に応答する。また、受付部３５は、ＡＰＩのアクセストークンとは異なるアクセストークンが指定された場合には、ＡＰＩ管理装置２にアクセストークンの交換を依頼する。そして、受付部３５は、交換が成功すると、ＡＰＩ呼び出しを処理し、アクセストークンをＡＰＩ利用者からＡＰＩ提供者に移動してＡＰＩ呼び出し元に応答する。
【００４２】
次に、アクセストークン管理表の変遷例について説明する。図５は、アクセストークン管理表の変遷例を示す図である。図５（ａ）は、図３に示した状態で、「ｐｉｙｏ」が基準アクセストークンを「ｈｏｇｅ」が所有する「ａｐｉ＿１」のアクセストークンと交換した状態を示す。
【００４３】
「ａｐｉ＿１」の呼出能力は「２」であるので、「ｐｉｙｏ」の所有する基準アクセストークンの数が「２０」から「１８」に「２」減り、「ｈｏｇｅ」の所有する基準アクセストークンの数が「０」から「２」に「２」増える。また、「ｈｏｇｅ」の所有する「ａｐｉ＿１」のアクセストークンの数が「１００」から「９９」に「１」減り、「ｐｉｙｏ」の所有する「ａｐｉ＿１」のアクセストークンの数が「０」から「１」に「１」増える。
【００４４】
図５（ｂ）は、「ｐｉｙｏ」が「ａｐｉ＿１」を呼び出した直後の状態を示す。「ｐｉｙｏ」の所有する「ａｐｉ＿１」のアクセストークンの数が「１」から「０」に「１」減り、「ｈｏｇｅ」の所有する「ａｐｉ＿１」のアクセストークンの数が「９９」から「１００」に「１」増える。
【００４５】
図５（ｃ）は、「ｈｏｇｅ」が基準アクセストークンと「ａｐｉ＿１」のアクセストークンを［ａｐｉ＿２］のアクセストークンと交換した直後の状態を示す。「ｈｏｇｅ」の所有する基準アクセストークンの数が「２」から「１」へ「１」減り、「ａｐｉ＿１」のアクセストークンの数が「１００」から「９９」に「１」減り、「ａｐｉ＿２」のアクセストークンの数が「０」から「１」に「１」増える。また、「ｆｕｇａ」の所有する基準アクセストークンの数が「０」から「１」へ「１」増え、「ａｐｉ＿１」のアクセストークンの数が「０」から「１」に「１」増え、「ａｐｉ＿２」のアクセストークンの数が「１００」から「９９」に「１」減る。
【００４６】
図５（ｄ）は、「ｈｏｇｅ」が「ａｐｉ＿２」を呼び出した直後の状態を示す。「ｈｏｇｅ」の所有する「ａｐｉ＿２」のアクセストークンの数が「１」から「０」に「１」減り、「ｆｕｇａ」の所有する「ａｐｉ＿２」のアクセストークンの数が「９９」から「１００」に「１」増える。
【００４７】
図５（ｅ）は、「ｆｕｇａ」が基準ＡＰＩを呼び出した直後の状態を示す。「ｆｕｇａ」の所有する基準アクセストークンの数が「１」から「０」に「１」減る。なお、基準アクセストークンは、基準ＡＰＩの提供者に戻される。
【００４８】
次に、ＡＰＩ管理装置２による処理のフローについて図６〜図８を用いて説明する。図６は、基準アクセストークンを提供する処理のフローを示すフローチャートである。図６に示すように、提供部２５は、基準アクセストークンの取得リクエストを受信し（ステップＳ１）、リクエストメッセージからＡＰＩ利用者の識別子、要求個数、取得に必要な資格情報を取得する（ステップＳ２）。
【００４９】
そして、提供部２５は、基準ＡＰＩ提供者によって提供される手段により資格情報を検証し（ステップＳ３）、ＡＰＩ利用者は要求個数分の基準アクセストークンを取得するのに十分な資格を持つか否かを判定する（ステップＳ４）。
【００５０】
そして、提供部２５は、ＡＰＩ利用者が資格を持つ場合には、アクセストークン管理表にて当該ＡＰＩ利用者の基準アクセストークンの所有数に要求個数を加え（ステップＳ５）、当該ＡＰＩ利用者に取得成功レスポンスを返す（ステップＳ６）。一方、ＡＰＩ利用者が資格を持たない場合には、提供部２５は、当該ＡＰＩ利用者に取得失敗レスポンスを返す（ステップＳ７）。
【００５１】
このように、ＡＰＩ利用者が基準アクセストークンを取得する資格を有する場合に、提供部２５が、アクセストークン管理表の所有数を更新することで、ＡＰＩ利用者は、基準アクセストークンを用いてＡＰＩを呼び出すことができる。
【００５２】
図７は、アクセストークンを交換する処理のフローを示すフローチャートである。図７に示すように、交換部２４は、アクセストークンの交換リクエストを受信する（ステップＳ２１）。そして、交換部２４は、リクエストメッセージから交換元アクセストークンのＡＰＩのＩＤ、交換元アクセストークンの所有者の識別子、交換先アクセストークンのＡＰＩのＩＤ、交換先アクセストークンのＡＰＩの提供者の識別子、交換個数を取得する（ステップＳ２２）。なお、交換元アクセストークンのＡＰＩのＩＤと交換元アクセストークンの所有者の識別子の組は複数あってもよい。
【００５３】
そして、交換部２４は、交換元アクセストークンが有効であり、かつ、交換先アクセストークンのＡＰＩについてＡＰＩ提供者のアクセストークンの所有数が交換個数以上あるか否かを判定する（ステップＳ２３）。そして、ステップＳ２３の判定結果がＹｅｓである場合には、交換部２４は、ＡＰＩ管理表を参照し、交換元アクセストークンのＡＰＩと交換個数分の交換先アクセストークンのＡＰＩの呼出能力を計算する（ステップＳ２４）。
【００５４】
そして、交換部２４は、交換元と交換先が等しい呼出能力を持つか否かを判定し、（ステップＳ２５）、等しい呼出能力を持つ場合には、ＡＰＩ提供者のＡＰＩクライアント装置３に交換可否判定を依頼する（ステップＳ２６）。そして、交換部２４は、ＡＰＩ提供者のＡＰＩクライアント装置３からの応答が交換可であるか否かを判定する（ステップＳ２７）。
【００５５】
そして、交換部２４は、交換可である場合には、交換元アクセストークンと交換個数分の交換先アクセストークンを交換し（ステップＳ２８）、アクセストークン管理表を交換後の状態に更新する（ステップＳ２９）。そして、交換部２４は、交換リクエストの送信元すなわち交換先アクセストークンの所有者に交換成功レスポンスを返す（ステップＳ３０）。交換リクエストの送信元は、交換成功レスポンスを受信すると、アクセストークン交換実績を更新する。
【００５６】
一方、ステップＳ２７において交換可でないと判定した場合、ステップＳ２５において交換元と交換先が等しい呼出能力を持たないと判定した場合は、交換部２４は、交換リクエストの送信元に交換失敗レスポンスを返す（ステップＳ３１）。また、ステップＳ２３の判定結果がＮｏの場合にも、交換部２４は、交換リクエストの送信元に交換失敗レスポンスを返す（ステップＳ３１）。
【００５７】
このように、交換部２４が、等しい呼出能力を持つアクセストークンを交換することによって、ＡＰＩ利用者は、ＡＰＩを呼び出すためのアクセストークンがない場合にも、他のアクセストークンを用いて当該ＡＰＩを利用することができる。
【００５８】
図８は、アクセストークンを検証する処理のフローを示すフローチャートである。図８に示すように、検証部２６は、アクセストークンの検証リクエストを受信する（ステップＳ４１）。そして、検証部２６は、リクエストメッセージからアクセストークンのＡＰＩのＩＤとアクセストークンの利用者の識別子を取得する（ステップＳ４２）。
【００５９】
そして、検証部２６は、アクセストークン管理表を参照し（ステップＳ４３）、アクセストークンの利用者が当該アクセストークンを所有するか否かを判定する（ステップＳ４４）。そして、アクセストークンの利用者が当該アクセストークンを所有する場合には、検証部２６は、リクエスト元に検証成功を返却する（ステップＳ４５）。一方、アクセストークンの利用者が当該アクセストークンを所有しない場合には、検証部２６は、リクエスト元に検証失敗を返却する（ステップＳ４６）。
【００６０】
このように、検証部２６が、アクセストークン管理表を用いて、アクセストークンの利用者がアクセストークンを所有するかを検証することによって、ＡＰＩ管理システム１は、アクセストークンの不正な利用を防ぐことができる。
【００６１】
次に、ＡＰＩクライアント装置３による処理のフローについて図９及び図１０を用いて説明する。図９は、ＡＰＩ呼び出しの受付処理のフローを示すフローチャートである。図９に示すように、受付部３５は、ＡＰＩ呼び出しリクエストを受信し（ステップＳ５１）、リクエストメッセージからアクセストークンを取得する（ステップＳ５２）。
【００６２】
そして、受付部３５は、取得したアクセストークンが当該ＡＰＩのアクセストークンであるか否かを判定し（ステップＳ５３）、当該ＡＰＩのアクセストークンである場合には、ＡＰＩ管理装置２にアクセストークンの検証を依頼する（ステップＳ５４）。そして、受付部３５は、検証が成功したか否かを判定し（ステップＳ５５）、検証が成功した場合には、サービス提供装置５にリクエストの処理とリスポンスの作成を指示し、サービス提供装置５からレスポンスを受信する（ステップＳ５６）。
【００６３】
そして、受付部３５は、ＡＰＩ管理装置２に当該ＡＰＩのアクセストークン１個をＡＰＩ呼び出し元からＡＰＩ提供者に移動するように依頼し（ステップＳ５７）、ＡＰＩ呼び出し元にレスポンスを返却する（ステップＳ５８）。
【００６４】
また、ステップＳ５５において、検証が成功しなかった場合には、受付部３５は、ＡＰＩ呼び出し元にエラーメッセージを返却する（ステップＳ６１）。また、ステップＳ５３において、取り出したアクセストークンが当該ＡＰＩのアクセストークンでない場合には、受付部３５は、ＡＰＩ管理装置２にアクセストークンの交換を依頼する（ステップＳ５９）。そして、受付部３５は、交換が成功したか否かを判定し（ステップＳ６０）、交換が成功した場合には、ステップＳ５６に移動し、交換が成功しなかった場合には、ステップＳ６１に移動する。
【００６５】
このように、受付部３５が、ＡＰＩ管理装置２にアクセストークンの交換を依頼することで、ＡＰＩ利用者は、ＡＰＩを呼び出すためのアクセストークンがない場合にも、他のアクセストークンを用いて当該ＡＰＩを利用することができる。
【００６６】
図１０は、アクセストークンの交換可否を判定する処理のフローを示すフローチャートである。図１０に示すように、交換可否判定部３２は、アクセストークン交換可否の判定リクエストを受信し（ステップＳ７１）、リクエストメッセージから交換元アクセストークンのＡＰＩのＩＤと交換元アクセストークンの所有者の識別子を取得する（ステップＳ７２）。
【００６７】
そして、交換可否判定部３２は、アクセストークン交換実績を参照し（ステップＳ７３）、交換元アクセストークンの交換回数が閾値以上であるか否かを判定する（ステップＳ７４）。そして、交換元アクセストークンの交換回数が閾値以上である場合には、交換可否判定部３２は、判定リクエスト送信元に交換可を返却する（ステップＳ７５）。
【００６８】
一方、交換元アクセストークンの交換回数が閾値以上でない場合には、交換可否判定部３２は、交換元アクセストークンの所有者の交換回数が閾値以上であるか否かを判定する（ステップＳ７６）。そして、交換元アクセストークンの所有者の交換回数が閾値以上である場合には、交換可否判定部３２は、判定リクエスト送信元に交換可を返却する（ステップＳ７５）。
【００６９】
一方、交換元アクセストークンの所有者の交換回数が閾値以上でない場合には、交換可否判定部３２は、表示装置に交換可否判定依頼を表示し、当該依頼に対する回答を受け付ける（ステップＳ７７）。そして、交換可否判定部３２は、受け付けた回答が交換可であるか否かを判定し（ステップＳ７８）、交換可である場合には、判定リクエスト送信元に交換可を返却する（ステップＳ７５）。一方、交換可でない場合には、交換可否判定部３２は、判定リクエスト送信元に交換否を返却する（ステップＳ７９）。
【００７０】
このように、交換可否判定部３２がアクセストークン交換実績に基づいてアクセストークンの交換可否を判定することで、ＡＰＩ管理システム１は、信頼性の高いアクセストークン交換を行うことができる。
【００７１】
上述してきたように、実施例では、ＡＰＩ管理装置２は、ＡＰＩ管理表記憶部２１を用いてＡＰＩに関する情報を管理し、アクセストークン管理表記憶部２２を用いてアクセストークンに関する情報を管理する。そして、交換部２４が、ＡＰＩ管理表記憶部２１及びアクセストークン管理表記憶部２２を用いて異なるＡＰＩのアクセストークンを交換する。そして、ＡＰＩクライアント装置３は、ＡＰＩ管理装置２による異なるアクセストークンの交換を利用して少なくともＡＰＩの提供又はＡＰＩの利用を行う。したがって、ＡＰＩ管理システム１は、ＡＰＩ利用の利便性を向上することができる。すなわち、ＡＰＩ管理システム１は、ＡＰＩの利用を促進するための制御を行って、ＡＰＩの利用者を支援する。
【００７２】
また、実施例では、ＡＰＩクライアント装置３の受付部３５は、ＡＰＩ呼び出しを受信すると、ＡＰＩ呼び出しに含まれるアクセストークンが当該ＡＰＩのアクセストークンであるか否かを判定する。そして、受付部３５は、ＡＰＩ呼び出しに含まれるアクセストークンが当該ＡＰＩのアクセストークンである場合に、ＡＰＩ管理装置２にアクセストークンの検証を依頼する。そして、ＡＰＩ管理装置２の検証部２６がアクセストークンが正しく利用されているかを検証する。したがって、ＡＰＩ管理システム１は、ＡＰＩ利用の信頼性を向上することができる。すなわち、ＡＰＩ管理システム１は、ＡＰＩの利用の検証を行うための制御を行って、ＡＰＩの利用者を支援する。
【００７３】
また、実施例では、受付部３５は、ＡＰＩ呼び出しに含まれるアクセストークンが呼び出されたＡＰＩのアクセストークンでない場合に、ＡＰＩ管理装置２にアクセストークンの交換を依頼する。そして、ＡＰＩ管理装置２の交換部２４が、ＡＰＩクライアント装置３の依頼に基づいて、ＡＰＩ呼び出しに含まれるアクセストークンのＡＰＩの呼出能力と呼び出されたＡＰＩの呼出能力が等しいか否かを判定し、両者が等しい場合にアクセストークンの交換を行う。したがって、ＡＰＩ管理システム１は、ＡＰＩ提供の利便性を向上することができる。すなわち、ＡＰＩ管理システム１は、ＡＰＩの提供を促進するための制御を行って、ＡＰＩの提供者を支援する。
【００７４】
また、実施例では、ＡＰＩ管理装置２は、アクセストークンの交換を行う場合に、交換先のアクセストークンのＡＰＩを提供するＡＰＩクライアント装置３に交換可否の判定を依頼する。そして、交換可否の判定を依頼されたＡＰＩクライアント装置３は、交換元のアクセストークン及び交換元のアクセストークンの所有者の交換実績に基づいて交換可否の判定を行う。したがって、ＡＰＩ管理システム１は、信頼性の高いアクセストークン交換を行うことができる。
【００７５】
また、実施例では、ＡＰＩ管理装置２は、ＡＰＩクライアント装置３に基準アクセストークンを提供し、ＡＰＩクライアント装置３は、基準アクセストークンを用いてＡＰＩを利用することができる。したがって、ＡＰＩ管理システム１は、ＡＰＩ利用の利便性を向上することができる。
【００７６】
なお、実施例では、ＡＰＩ管理装置２について説明したが、ＡＰＩ管理装置２が有する構成をソフトウェアによって実現することで、同様の機能を有するＡＰＩ管理プログラムを得ることができる。同様に、ＡＰＩクライアント装置３が有する構成をソフトウェアによって実現することで、同様の機能を有するＡＰＩクライアントプログラムを得ることができる。そこで、ＡＰＩ管理プログラムを実行するコンピュータについて説明する。なお、ＡＰＩクライアントプログラムも、同様のコピュータで実行される。
【００７７】
図１１は、実施例に係るＡＰＩ管理プログラムを実行するコンピュータのハードウェア構成を示す図である。図１１に示すように、コンピュータ５０は、メインメモリ５１と、ＣＰＵ５２と、ＬＡＮ（Local  Area  Network）インタフェース５３と、ＨＤＤ（Hard  Disk  Drive）５４とを有する。また、コンピュータ５０は、スーパーＩＯ（Input  Output）５５と、ＤＶＩ（Digital  Visual  Interface）５６と、ＯＤＤ（Optical  Disk  Drive）５７とを有する。
【００７８】
メインメモリ５１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ５２は、メインメモリ５１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ５２は、メモリコントローラを有するチップセットを含む。
【００７９】
ＬＡＮインタフェース５３は、コンピュータ５０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ５４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ５５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ５６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ５７は、ＤＶＤの読み書きを行う装置である。
【００８０】
ＬＡＮインタフェース５３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ５２に接続され、ＨＤＤ５４及びＯＤＤ５７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ５２に接続される。スーパーＩＯ５５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ５２に接続される。
【００８１】
そして、コンピュータ５０において実行されるＡＰＩ管理プログラムは、コンピュータ５０により読み出し可能な記録媒体の一例であるＤＶＤに記憶され、ＯＤＤ５７によってＤＶＤから読み出されてコンピュータ５０にインストールされる。あるいは、ＡＰＩ管理プログラムは、ＬＡＮインタフェース５３を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ５０にインストールされる。そして、インストールされたＡＰＩ管理プログラムは、ＨＤＤ５４に記憶され、メインメモリ５１に読み出されてＣＰＵ５２によって実行される。
【００８２】
また、実施例では、ＡＰＩはＷｅｂＡＰＩである場合について説明したが、本発明はこれに限定されるものではなく、ＷｅｂＡＰＩ以外のＡＰＩにも同様に適用することができる。
【符号の説明】
【００８３】
１    ＡＰＩ管理システム
２    ＡＰＩ管理装置
３    ＡＰＩクライアント装置
４    ＡＰＩゲートウェイ
５    サービス提供装置
６    ネットワーク
２１    ＡＰＩ管理表記憶部
２２    アクセストークン管理表記憶部
２３    登録更新部
２４    交換部
２５    提供部
２６    検証部
２７    移動部
３１    交換実績記憶部
３２    交換可否判定部
３３    登録更新依頼部
３４    取得依頼部
３５    受付部
５０    コンピュータ
５１    メインメモリ
５２    ＣＰＵ
５３    ＬＡＮインタフェース
５４    ＨＤＤ
５５    スーパーＩＯ
５６    ＤＶＩ
５７    ＯＤＤ
【図１】
2018181277.tif 000003
【図２】
2018181277.tif 000004
【図３】
2018181277.tif 000005
【図４】
2018181277.tif 000006
【図５】
2018181277.tif 000007
【図６】
2018181277.tif 000008
【図７】
2018181277.tif 000009
【図８】
2018181277.tif 000010
【図９】
2018181277.tif 000011
【図１０】
2018181277.tif 000012
【図１１】
2018181277.tif 000013