(57)【要約】【課題】多数の一般ユーザーが保有しているデータやプログラムの有効利用を飛躍的に高められることを可能とする。【解決手段】多数の一般ユーザーが自身で保有しているデータをサーバー内にマスタデータとして登録するだけで、その登録された一般ユーザーのデータを自動ＡＰＩ生成手段１２，３２によりデータベース化するとともに適宜の入出力が可能な状態となるようにＡＰＩ化し、そのＡＰＩ化したデータベースを第三者が容易に閲覧又は利用可能となるようにネットワーク上に公開し、元々一般ユーザーの手元に秘蔵されようとしていたデータを開発ユーザーやサイト運営者により広範囲に利用可能として情報の拡散を図るように構成したものである。【選択図】図３
2011258101.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーによりサーバー内に入力されたマスタデータを第三者に閲覧又は利用可能な状態でアクセス可能とするＡＰＩを設計・公開する自動ＡＰＩ生成手段を備えたものであって、
前記自動ＡＰＩ生成手段は、入力と出力との間における処理内容を前記ユーザーに提示してＡＰＩ仕様を決定するＡＰＩ仕様決定機能と、その決定されたＡＰＩ仕様に基づいてデータベースを自動で作成するデータベース作成機能と、データの全部又は一部をネットワーク上に公開するＡＰＩ発信機能と、を備えていることを特徴とする情報利用システム。
【請求項２】
前記自動ＡＰＩ生成手段は、前記ＡＰＩ仕様に基づいてデータベースの作成を自動で行うように構成されていることを特徴とする請求項１記載の情報利用システム。
【請求項３】
前記自動ＡＰＩ生成手段によりＡＰＩ化して作成されたデータベースを閲覧又は利用したユーザーに対して、そのユーザーが閲覧又は利用したデータベースの内容に対応した内容の広告を配信する広告配信手段を備えていることを特徴とする請求項１記載の情報利用システム。
【請求項４】
前記自動ＡＰＩ生成手段によりＡＰＩ化して作成されたデータベースの閲覧又は利用の頻度に対応して、当該データベースのデータ提供者又は当該データベースの設計者への対価を決定する利用者還元手段を備えていることを特徴とする請求項１記載の情報利用システム。
【請求項５】
請求項４記載の利用者還元手段を利用するものであって、個々のユーザーが所有する個別のマスタデータを適宜に集合させてＡＰＩ化し、そのＡＰＩ化した各データ集合体をネットワーク上で公開して流通可能とする一方、それらの各データ集合体に対する対価を前記利用者還元手段を用いて決定する構成を備えていることを特徴とする情報利用システム。
【請求項６】
前記データ集合体が、メタデータ、テンプレート、又はマッシュアップソフトウェアであることを特徴とする請求項５記載の情報利用システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーが保有しているデータを第三者が容易に閲覧又は利用可能とするようにした情報利用システムに関する。
【背景技術】
【０００２】
近年、インターネット経由で情報を利用することが多くの分野において広がりつつあるが、企業や個人で保有しているデータやプログラムをウェブサイトで広く利用可能とするためには、それらのデータやプログラムをＡＰＩ（Application Program Interface）化して公開されていることが望ましい。データやプログラムをＡＰＩ化したウェブＡＩＰが公開されていれば、有用で高機能なコンテンツがインターネット経由で容易に取得されることとなる。
【０００３】
例えば、グルメサイトでレストラン情報、地図サイトで地図情報、交通情報サイトで時刻情報、というように複数のサイトに分散されていた関連情報が、それぞれのサイトにおいてウェブＡＰＩを使用して公開されていれば、別のサイト運営者側からの提供要求に対して容易に対応することが可能となるため、マッシュアップ・サイト等の統合ウェブページでは、各サイトの情報を一つのウェブページで利用可能とし、ウェブページの利便性を高めるようにしている。
【０００４】
しかしながら、元のデータであるマスタデータを集めるには、ユーザーを集めるためのサイトを立ち上げてデータを投稿してもらうという膨大な作業が必要となる。また、ウェブＡＰＩを公開するためには、例えばサーバー内にデータベースを構築して自分のマスタデータに合うテーブルを特定の操作言語で作成したり、自作のプログラムを設置してプログラムを実行させるためのファイルを設定したり、マスタデータの検索機能を設定するなどの作業を行わねばならないし、プログラムに対する入出力などの技術的知識も必要となる。このようにデータやプログラムのＡＰＩ化には、高度な技術知識と手間がかかることから利用の範囲が限定されており、特に、一般多数のユーザーが保有しているデータやプログラムを有効利用することができなくなっているのが現状である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−５５８１９号公報
【特許文献２】特開２００２−２２３１８６号公報
【特許文献３】特開２００１−３０６４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上の問題点に鑑みて本発明は、多数の一般ユーザーが保有しているデータやプログラムを有効的に利用して活用することができるようにした情報利用システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため本発明は、ユーザーによりサーバー内に入力されたマスタデータを第三者に閲覧又は利用可能な状態でアクセス可能とするＡＰＩを設計・公開する自動ＡＰＩ生成手段を備えたものであって、前記自動ＡＰＩ生成手段は、入力と出力との間における処理内容を前記ユーザーに提示してＡＰＩ仕様を決定するＡＰＩ仕様決定機能と、その決定されたＡＰＩ仕様に基づいてデータベースを自動で作成するデータベース作成機能と、データの全部又は一部をネットワーク上に公開するＡＰＩ発信機能と、を備えた構成になされている。
【０００８】
このような構成を有する本発明によれば、多数の一般ユーザーが自身で保有しているデータが、自動ＡＰＩ生成手段のＡＰＩ仕様決定機能とデータベース作成機能とを利用して容易にＡＰＩ化されるとともに、第三者による閲覧又は利用が容易なデータ又はプログラムとしてネットワーク上に公開される。従って、元々は一般ユーザーの手元に秘蔵されようとしていたデータが、開発ユーザーやサイト運営者によって容易かつ広範囲に利用されることとなり、情報の拡散が飛躍的に図られるようになっている。
【０００９】
また本発明においては、前記自動ＡＰＩ生成手段によりＡＰＩ化して作成されたデータを閲覧又は利用したユーザーに対して、そのユーザーが閲覧又は利用したデータの内容に対応した内容の広告を配信する広告配信手段を備えることが可能である。
【００１０】
このような構成を有する本発明によれば、特定の情報を必要としているユーザーに対して、当該ユーザーが必要としている情報に対応した内容の広告が配信されることとなり、広告配信者にとっては無駄な広告配信が低減され、ユーザーにとっても必要な情報がさらに得られることとなる。
【００１１】
また本発明においては、前記自動ＡＰＩ生成手段により作成されたＡＰＩ仕様やデータベースの閲覧又は利用の頻度に対応して、そのＡＰＩ仕様やデータベースの設計者又当該データベースのデータ提供者への対価を決定する利用者還元手段を備えることが可能である。
【００１２】
このような構成を有する本発明によれば、閲覧又は利用の頻度が高いデータを提供したユーザー又はＡＰＩ仕様やデータベースの設計者に対して、提供したＡＰＩ仕様やデータベース設計やデータの閲覧又は利用の頻度に対応した対価が支払われることとなり、一般ユーザーから、より利用度の高い価値あるデータがより多く提供されることとなる。
【００１３】
また本発明においては、利用者還元手段を利用するものであって、個々のユーザーが所有する個別のマスタデータを適宜に集合させるようにＡＰＩ設計・公開し、そのＡＰＩ化した各データ集合体をネットワーク上で公開して流通可能とする一方、それらの各データ集合体に対する対価を前記利用者還元手段を用いて決定する構成を備えることが可能である。そして、このときのデータ集合体は、メタデータ、テンプレート、又はマッシュアップソフトウェアとすることが可能である。
【００１４】
このような構成を有する本発明によれば、テンプレート等を一単位としたデータ集合体の売買が可能となるため、各データ集合体を受け渡す種々の段階において多様な収益性が設定可能となる。
【発明の効果】
【００１５】
以上のように本発明は、多数の一般ユーザーが自身で保有しているデータをサーバー内にマスタデータとして登録するだけで、その登録された一般ユーザーのデータが適宜の出力状態となるように自動ＡＰＩ生成手段により設計・生成・公開されるＡＰＩによって、データを第三者が容易に閲覧又は利用可能となるようにネットワーク上に公開し、元々一般ユーザーの手元に秘蔵されようとしていたデータを開発ユーザーやサイト運営者により広範囲に利用可能として情報の拡散を図るように構成したものであるから、多数の一般ユーザーが保有しているデータやプログラムの有効利用が飛躍的に高められることとなり、ウェブページの利便性等が大幅に向上されることから、従来のような複数サイトに対するユーザーの投稿などの社会的無駄をなくすことができる。さらに、ネット接続可能な家電製品等による利用が容易になることから、将来の例えばユビキタス社会に対する貢献も可能となるとともに、例えば決済機能を有するシステムを構築しておけば、ＡＰＩ化されたデータや、それを利用して作成されたツール及びプログラム等を、売買サイトなどを介在した電子商取引を実現することもでき、ＡＰＩ利用の拡大をさらに図ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態における情報利用システムを利用したネットワーク構成を表したブロック図である。
【図２】図１に表された情報利用システムに用いられているＡＰＩ作成サーバーのハード構成の概略を表したブロック図である。
【図３】図１に表された情報利用システムに用いられているＡＰＩ作成サーバーによるデータ集合体の動きを表したブロック図である。
【図４】図１及び図３に表された情報利用システムの具体的構成を表したブロック図である。
【図５】図１及び図３に表された情報利用システムを用いたデータ集合体のＡＰＩ化及び公開の全体手順を表したフロー図である。
【図６】ＡＰＩ基本事項に関する入力画面の一例を表した模式図である。
【図７】ＡＰＩ入出力パラメータに関する入力画面の一例を表した模式図である。
【図８】ＡＰＩ処理内容に関する入力画面の一例を表した模式図である。
【図９】既存テーブルへのデータ保存を指定する処理仕様入力画面の一例を表した模式図である。
【図１０】既存テーブルからデータ抽出を指定する処理仕様入力画面の一例を表した模式図である。
【図１１】ＡＰＩＣによる自動デーブル作成によるデータ保存を指定する処理仕様入力画面の一例を表した模式図である。
【図１２】自動デーブル作成によるデータ抽出を指定する処理仕様入力画面の一例を表した模式図である。
【図１３】構造体を定義する機能画面の一例を表した模式図である。
【図１４】条件分岐を指定する機能画面の一例を表した模式図である。
【図１５】図１〜図５に表された情報利用システムの具体的な使用例としての第１の実施例を表したブロック図である。
【図１６】図１〜図５に表された情報利用システムの具体的な使用例としての第２の実施例を表したブロック図である。
【図１７】図１〜図５に表された情報利用システムのさらに具体的な使用例としての第３の実施例を表したブロック図である。
【図１８】図１７に表された広告配信手段の具体的構成を説明した情報利用システムのブロック図である。
【図１９】図１７に表された利用者還元手段の具体的構成を説明した情報利用システムのブロック図である。
【図２０】データ集合体の構成及びその利用還元の流れを説明した情報利用システムのブロック図である。
【図２１】データ集合体の構成及びその利用還元の流れを概念的に表したブロック図である。
【図２２】データ集合体が移動する各段階において広告が合成される場合における利用還元の流れを概念的に表したブロック図である。
【図２３】利用者還元システム／課金システムにより行われる課金及び支払の流れを概念的に表したブロック図である。
【図２４】ＡＰＩ作成サーバーを使用した情報利用システムに、テンプレートに関する課金システムを備えた実施形態を機能的に表したブロック図である。
【図２５】データ集合体の構成及びその利用還元の流れにおける情報利用システムの位置付けを表したブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面に基づいて詳細に説明するが、まず本発明にかかる自動ＡＰＩ生成手段を備えた情報利用システムの全体構成を説明する。
【００１８】
図１に示された実施形態にかかる情報利用システムは、本実施形態の特徴である自動ＡＰＩ生成手段を備えたＡＰＩ作成サーバー１と、当該ＡＰＩ作成サーバー１に対して適宜のネットワーク（公衆回線）ＮＷを介して接続される多数の一般ユーザー、すなわち後述するデータ提供者やマスタユーザー等を含む一般利用者２の端末２ａ，２ｂ，・・・，２ｎと、から構成されている。端末２ａ，２ｂ，・・・，２ｎは、パソコンや携帯電話等の通信可能な情報処理機器から構成されるものであるが、ＡＰＩ作成サーバー１は次のような構成になされている。
【００１９】
すなわち、図２に示されているように、上述したＡＰＩ作成サーバー１において採用されたハードウェアは、当該ＡＰＩ作成サーバー１のシステム全体を統括的に制御するようにプログラムされた主制御手段（以下、ＣＰＵと略称する）１ａに記憶装置１ｂが接続されたものである。上記ＣＰＵ１ａには、また入出力制御部１ｃを介してキーボードやマウス等のポインティングデバイスからなる入力装置１ｄ、入力データのモニタに用いる入力装置１ｅ、及び各種演算結果その他の検索データを出力する表示装置１ｆが接続されている。
【００２０】
前記ＣＰＵ１ａの内部メモリ内には、ＯＳ（Operating System）等の制御プログラムが格納されているとともに、マスタデータをＡＰＩ（Application Program Interface）化する本実施形態にかかる自動ＡＰＩ生成プログラム、及び所要データが格納されている。また、記憶装置１ｂは、ハードディスクや光ディスク、或いはフレキシブルディスク等のストレージ手段であり、個人や企業からなる一般ユーザー（マスタユーザー）２に関するデータ群がマスタデータとして登録されている。
【００２１】
すなわち、図３に示されているように、上述したＡＰＩ作成サーバー１内に設けられた記憶手段（後述）に格納されたデータ群１１には、個人や企業からなる一般ユーザー（マスタユーザー）２のマスタデータが、後述するようにして生成されるＡＰＩ（Application Program Interface）がアクセス可能な状態のデータベースとして登録されている。また、ＡＰＩ作成サーバー１内には、ユーザーが指定する仕様やマスタデータ構造を基にＡＰＩを作成する自動ＡＰＩ生成手段としての自動ＡＰＩ生成プログラム（自動ＡＰＩ生成ツール；以下においてＡＰＩＣ（Application Program Interface Creator）と略称する。）１２が設けられている。
【００２２】
この自動ＡＰＩ生成ツール（ＡＰＩＣ）が設けられたＡＰＩ作成サーバー１を使用する情報利用システムを、以下においてＡＰＩＣシステムと呼ぶこととする。自動ＡＰＩ生成ツール１２は、個人や企業からなる一般ユーザー（マスタユーザー）２が保有しているマスタデータを、後述するようにして第三者に閲覧又は利用可能な適宜の仕様のマスタデータにＡＰＩ化して登録し、或いは公開する機能を有するものであって、少なくともマスタデータのＡＰＩ化に関するアシスト機能、及びデータベースの作成・入出力設計を自動又は対話形式で行う構成を有している。
【００２３】
また、そのＡＰＩ作成サーバー１内に設けられた自動ＡＰＩ生成ツール１２は、そのまま他のユーザーサーバー３内に移植可能となるように構成されている。このように他のユーザーサーバー３に移植された自動ＡＰＩ生成ツール３２によって、当該他のユーザーサーバー３内のデータ群３１に登録されたマスタデータが、第三者に閲覧又は利用可能な適宜の設計仕様のデータベースにＡＰＩ化されて登録・公開されるようになっている。
【００２４】
上述したように、ＡＰＩ作成サーバー１及び他のユーザーサーバー３に設けられた自動ＡＰＩ生成ツール１２，３２からは、第三者によって容易に利用される形式で、例えば関数、プロシージャ、変数、データ構造、又はインタプリタなどに関してＡＰＩ化されたプログラムからデータが出力される構成になされており、これによって、例えばマッシュアップ・サイト等の統合ウェブページからの要求に対応してユーザーのデータベースを容易に提供することが可能となる。なお、これらの自動ＡＰＩ生成ツール１２，３２は、データベースの作成及び提供機能のみならず、登録されたマスタデータに関する種々のプログラム機能を作成及び提供するように構成することも可能である。
【００２５】
次に、上述した自動ＡＰＩ生成ツール１２，３２、及びその自動ＡＰＩ生成ツール１２，３２を利用したＡＰＩＣシステム（情報利用システム）の機能を、システム全体の処理動作動の流れに基づいて説明する。例えば、図４に示されたＡＰＩＣサイト（Application Program Interface Creator Site）は、本発明の一実施形態にかかる自動ＡＰＩ生成ツール１２，３２を備えたＡＰＩＣシステムにより形成されたサイトであるが、そのＡＰＩＣサイトを利用したデータの流れに従って、前記自動ＡＰＩ生成ツール１２，３２と、その自動ＡＰＩ生成ツール１２，３２を利用した情報利用システムの機能を説明する。
【００２６】
図４及び図５に示されているように、まず最初のステップ１（ＳＴ１）として、マスタユーザーＭＵによるＡＰＩＣサイトへのアクセス（ユーザークセス）が行われる。マスタユーザーＭＵは、メタデータ等からなるデータを保有しているユーザーであるが、そのマスタユーザーＭＵがＡＰＩＣサイトにアクセスすることにより、次に説明するような自動ＡＰＩ生成ツールのアシスト機能を利用してＡＰＩＣサイトのサーバー（ＡＰＩ作成サーバー）内に自己が所有するマスタデータを記憶手段にデータベースとして登録され公開されるようになっている。
【００２７】
なお、このときのマスタユーザーＭＵによるデータ入力は、例えば次のａ．〜ｃ．のような一般的になじみのある形式で行われる。
【００２８】
ａ．直接入力（データベース・テーブルを作成して直接入力）
これは、ウェブサイト画面やローカル端末アプリケーションなどのように、ＡＰＩＣシステムに接続可能な様々なソフトウェア（以下、ＡＰＩＣ接続端末ソフトウェアと呼び、マッシュアップソフトウェアを含むものとする。）上に、データベース・テーブル作成画面を表示させて行うもので、ユーザーは、任意のテーブル数を持つデータベース、任意のフィールド（カラム）数を持つテーブルを作成し、データベース名称、テーブルの名称、フィールドの名称、データ幅、属性等を必要に応じて定義する。そして、そのユーザーが定義した内容に従って、データベースおよびテーブルを作成するためのデータベース操作言語のコードを動的に生成して実行させ、ＡＰＩＣサーバー内にユーザー定義のデータベースを構築する。このような操作は、必要なテーブル又はデータベース数分にわたって繰り返されるか又は同時に行われる。
【００２９】
ｂ．ＣＳＶ、ＳＱＬ、ＪＳＯＮ、ＸＭＬ、又は一般的な表計算ソフト用ファイルやデータベースソフト用ファイル等からのインポート
これは、ＡＰＩＣ接続端末ソフトウェア上に、ファイルのアップロード画面を表示させて、ユーザーが任意の１つまたは複数のファイルをアップロードするものであり、その際にデータベースやテーブルの名称等を設定する。すなわち、アップロードされたファイルの種類を判別し、データ構造を解析した後に、その解析したデータ構造に基づいて、データベースおよびテーブルを作成するためのデータベース操作言語のコードを動的に生成・実行してＡＰＩＣサーバー内にユーザー定義のデータベースを構築する。このような操作は、必要なファイル数分にわたって繰り返されるか又は複数ファイルが同時に処理される。
【００３０】
ｃ．既存のＡＰＩＣ用テンプレートを利用しての入力
ここで、既存ＡＰＩＣ用テンプレートとは、既に作成済みでテンプレートとして公開されているデータベース仕様やＡＰＩ仕様を指すものであり、ＡＰＩＣ接続端末ソフトウェア上に、テンプレート選択画面が表示されると、ユーザーは任意のテンプレートを選択し、データベースやテーブルの名称等を設定する。そして、そのテンプレートに基づいて、データベースおよびテーブルを作成するためのデータベース操作言語のコードを動的に生成・実行してＡＰＩＣサーバー内にユーザー定義のデータベースを構築する。これを必要なテンプレート数分繰り返すか又は複数テンプレートを同時に処理する。
【００３１】
また、このときのマスタユーザーＭＵによるデータ入力は、本発明にかかる自動ＡＰＩ生成ツール（ＡＰＩＣ）を使用した、次のような形式ｄ．で行うことができる。
【００３２】
ｄ．ＡＰＩの入出力から作成
この場合には、まずＡＰＩＣ接続端末ソフトウェア上に、ＡＰＩに対する入出力を作成する画面が後述するようにして表示され、ユーザーは、画面上でＡＰＩの入出力に必要な要素（エレメント、カラム、フィールド）を設定する。ＡＰＩＣシステムは、設定された要素の数や属性（データ幅、データ型など）をプログラムで動的に解析し、データベース操作言語のコードを動的に生成・実行してＡＰＩＣサーバー内にユーザー定義のデータベースを構築する。なお、データベース設計後には、データ登録や閲覧可能なユーザーや、ユーザーグループのアクセス権設定等が行われ、特定のユーザー又は全ユーザーに対するアクセス制御を設定することとする。
【００３３】
そして、このようなデータベースに対するデータ登録は、例えば次のようにして行われる。
【００３４】
ａ．アクセス権のあるユーザーに対して、ＡＰＩＣ接続端末ソフトウェア上に対象となるデータベース仕様に基づいてデータ登録用画面をプログラムで動的に作成・表示し、ユーザーがデータ入力画面上から必要なフィールドを埋めて登録決定する。
ｂ．アクセス権のあるユーザーに対して、ＡＰＩＣ接続端末ソフトウェア上にＣＳＶ、ＳＱＬ、ＪＳＯＮ、ＸＭＬ、一般的な表計算ソフト用ファイルやデータベースソフト用ファイル等からインポートするためのデータ登録用画面をプログラムで動的に作成・表示して、ユーザーがファイルを指定してデータを登録する
ｃ．アクセス権のあるユーザーに対して、データ登録用メールアドレスを公開し、ユーザーが自ら予め登録したメールアドレスから電子メールにデータを記述して送信し、ＡＰＩＣがメールデータを受け付けてデータベースに登録する。このとき、データのフィールド分析はカンマや空白文字または改行など予め設定した区切りコードによる識別などの方法によって、送信されたメール本文をプログラムで動的に解析し、データベース仕様に応じてデータ登録する。
【００３５】
ここで、上述したようなデータベースに対するデータの登録にあたっては、ステップ２（ＳＴ２）のように自動ＡＰＩ生成ツール（自動ＡＰＩ生成手段）１２，３２のアシスト機能を利用してマスタデータを元にした自動ＡＰＩ生成が行われる。より具体的には、前記自動ＡＰＩ生成ツール１２，３２は、「ＡＰＩ仕様決定機能」及び「データベース作成機能」を有しており、そのうちの「ＡＰＩ仕様決定機能」としては、例えば図６に示されているようなＡＰＩの名称や概要等からなる「ＡＰＩ基本情報」についての入力画面を表示してユーザーに提示することにより登録する機能と、例えば図７に示されているような入出力の名称・識別子やデータタイプ等の「入出力パラメータ」についての入力画面を表示してユーザーに提示することにより登録する機能と、例えば図８に示されているような入力パラメータと出力パラメータとの間における演算や条件などの「処理内容」について入力画面を表示してユーザーに提示することにより登録する機能と、を備えている。
【００３６】
これらのうちの「パラメータの名称」としては、例えば現在位置緯度情報(latitude)、現在位置経度情報(longitude)、緯度経度指定場所からの距離(distance)、時刻(time)、住所上の現在位置(address)、最寄り駅(station)などが使用される。「入出力パラメータ」のデータタイプとしては、例えば、整数型、浮動小数点型、文字列、ファイルなどがあり、入出力の識別子としては、例えば、パラメータが入力か出力かを示す識別子がある。また、データ型に対する付随情報として、進数や浮動小数点の精度などの属性や、定義長のサイズ等を付加することも可能である。
【００３７】
ＡＰＩＣシステムは、ユーザーが入力した内容を、各々のデータ型等に対応する内部記号を示す予め決められた文字列に置き換えて保存する。こうすることによって、後で読み出した時に機械的にプログラム言語の変数宣言として使用することができたり、或いは関数のプロトタイプ宣言なども機械的に行うことができる。ユーザーがパラメータとして定義した変数名称や属性を基にＸＭＬ形式で保存を行う場合には、例えば以下のようにして、作成者<Author>、ＡＰＩ名称<APIName>、バージョン<Version>、概要<Comment>、作成日時<Created>、最終変更日時<LastEdited>等の保存が行われる。
【００３８】
前省略
<APIProperties>
<Author>sample author</Author>
<APIName>SampleAPI</APIName>
<Version>1.00</Version>
<Comment>this is a sample</Comment>
<Created>2008-11-29</Created>
<LastEdited>2009-09-29</LastEdited >
</APIProperties >
後省略
【００３９】
なお、その他の形式で保存する場合や、データベースに保存する場合も、同等のフィールドを設けてそこへ正しく保存すればよい。また、作成日時や最終変更日はＡＰＩＣシステムに保存された日時を保存するのでユーザーが自分で入力しなくても良い。
【００４０】
そして、ＡＰＩプログラムの内部で使用する変数として図７に示されているような arg_A 、或いは図８のような arg_B、Ret_C を定義することが行われる。そのパラメータ変数が、整数型／浮動小数点型／文字列／配列／ファイル／構造体等の何れであるかを示す予め定めた内部表記や、あるいはそれが入力か出力かを示す内部表記を同様に定めておくことによって、この内容を後で読み出した時に機械的にプログラムの変数宣言に置き換えられる。
【００４１】
また、処理内容の決定は、例えばＡＰＩＣシステムが提供する擬似コードの部品をユーザーが選択・組合せる事で自動的にプログラムを生成することで行われるが、その場合のユーザーは、ＡＰＩＣシステムが提供する規定のオペレーションを選択することによって、入力パラメータと出力パラメータの間に存在するべき処理を作成することが出来る。これは、プログラムを書くという専門的なレベルではなく、各パラメータに対して、加減乗除のような単純な「四則演算」を指定したり、「データベースに保存する」「データベースから取得する」といった文言を選択したり、［Ａ＝○○の場合は］や［それ以外の場合は］というような条件を文言で指定するような形式で行われる。プログラムの知識が無いユーザーや、ある程度知識があっても煩わしい様々な工程を簡素化したいユーザーを対象とした場合には、上記手法が主な処理内容決定の工程になる。
【００４２】
上述したようにＡＰＩＣシステムは、ユーザーによる演算式の各要素を、各々の演算処理に対応する内部記号を示す予め決められたデータや文字列に置き換えて保存する。例えば、ユーザーによる入力を、内部的に原始的な各ステップに分解して、後で読み出した時に行うべき処理が認識できる方法で保存する。例えば、掛け算が選択された場合は、Operand_Left（左辺を示す）にOperand_Right（右辺を示す）を代入するという内部処理１ステップ目を”MOVE”という“代入処理”を示す文字列を予め決めておいて、その記法に則って、ユーザーが入力した内容を保存する。例えば、上記MOVEを利用してRet_Cという変数にarg_Aという変数を代入するという意味を表す内部表記を保存しておけば、後で読み出したときに、機械的にプログラムを記述することが出来る。例えばＣ言語でＡＰＩを記述する場合は、この内部処理は Ret_C = argA; という一文に置き換えることが出来る。
【００４３】
そして、次の内部ステップで Ret_C×arg_Bの計算結果をRet_Cに代入するという処理を行いたい場合、“MUL”という文字列を予め“掛け算をする”という処理を示す記号として決めておくことによって、後から読み出した時にこのステップが 左辺（Ret_C）×右辺(arg_B)を行い、結果を左辺(Ret_C)に入れる、という処理を行うという事が分かるので、機械的にプログラム言語に置き換えることが出来る。この例の場合、Ｃ言語では Ret_C *= arg_B; という一文に置き換えることが出来る。以上の２ステップの内部処理によって、Ret_C = arg_A * arg_Bという計算処理を行うプログラムを機械的に作成する事ができる。もっとも、ここで示した例通りではなく、Operand_Left,Operand_Right以外に代入先を示す属性を定義して、そこへ計算結果を代入するという記法を定義しておくことによって、内部処理の定義を簡素化することは可能であり、また同様に“MOVE”や“MUL”という文字列を使用せずにそのままプログラム言語で使用できる“＊”や“＝”でもかまわない。ただ、処理内容が原始的・低レベルであればあるほど、対応出来るプログラミング言語が多くなると期待できる。また、各STEPにidを付加して保存することによって、処理する順番も後で読み出した時に判別可能であるし、処理をジャンプさせる事が可能となるので分岐やループなどを実現できる為、プログラムを構造化することが可能である。
【００４４】
一方、データベースを使用するには、既に作成されているデータベースを使用する場合と、処理仕様の内容から自動ＡＰＩ生成ツール（ＡＰＩＣ）が自動的に新規テーブルを作成する「データベース作成機能」を使用する場合とがあるが、後者については、前述したように「ｄ．ＡＰＩの入出力から作成」として既に説明したものであるが、これらについて、より詳細に説明しておく。
【００４５】
一例として、「入力されたパラメータarg_Numberの番号に対応した挨拶文を出力する」というＡＰＩを、データベースに挨拶文リストを保存しておいて、そこから抽出するという方法で実現する場合を説明する。この場合、挨拶文リストをテーブルに保存する作業はＡＰＩＣサイトのデータベース登録画面から、前述したようなａ．〜ｃ．などの既存の方法で入力しても良いし、データ登録用ＡＰＩを作成してそのＡＰＩ経由で保存してもよい。ここでは、保存も抽出もＡＰＩ経由で行う場合として説明するので、「入力されたパラメータstr_Greetingの値をデータベースに保存する」というデータ登録用ＡＰＩも合わせて説明する。また、ここでは、テーブル構造は、整数型idというフィールドと文字列型Greetingというフィールドの２つのみとする。
【００４６】
（１）既存テーブルを使用する場合
前述したようなａ．〜ｃ．などの既存の方法で既に作成しているデータベーステーブル”Sample_Table_1”のGreetingというフィールドに保存する場合、データ登録ＡＰＩの仕様は「パラメータstr_Greetingで指定した文字列をデータベースに保存する」となり、例えば図９に示されているような、既存テーブルへのデータ保存を指定する処理仕様入力画面が用いられる。ここでは、説明を簡単にするために、Greetingの番号はオートインクリメントで保存されるものとしており、まず、このデータ登録用ＡＰＩのパラメータ仕様で文字列型str_Greetingを定義し、次にプログラム仕様のステップでstr_Greetingをデータベースに保存するという選択を行う。
【００４７】
この場合、「データベーステーブルへの保存を行う」旨を示す“DB_SAVE”という内部記号とその記法を予め決めておくことによって、後で読み出した時に一意にプログラムに変換する事ができる。また、プログラム内の工程として、データベースへの接続、SQL等のデータベース操作言語実行、実行結果の返却という処理が必要であるが、これらの工程は一意に機械的に作成できるので、ここで重要なのはSQL等のデータベース操作言語の記述内容そのものである。上記のように必要な情報を後で読み出して解析できるような方法で保存しておくことによって、データベース操作言語の記述内容も自動生成が可能である。例ではSample_Table_1というテーブルのGreetingというフィールドに変数str_Greetingが保持している値を保存するという内容であると解釈できるので、即ちINSERT 文(SQLの場合)などを生成することが可能である。同様にSELECT文やUPDATE文なども生成可能である。
【００４８】
データベースへの接続にはパスワードが必要であるように構成した場合には、ＡＰＩを作成する言語によってデータベースへの接続を行うプログラムの記述方法は異なるが、どの言語であってもデータベースに接続できるものであれば、適宜に定めたパスワードを利用して、データベースへのアクセスを行うプログラムを機械的に自動生成することが出来る。その他の接続先サーバー情報（データベースサーバのホスト名／データベースユーザー名／データベース名など）はＡＰＩＣシステムのインストール時にサイト管理者が設定したものを使用してもよいし、あるいは、ユーザー毎にこれらを作成するような仕組みにしてもよい。
【００４９】
抽出ＡＰＩの仕様は「arg_Numberに応じた挨拶文を取得する」という内容であるので、処理ステップの入力で、例えば図１０に示されているような、既存テーブルからデータ抽出を指定する処理仕様入力画面において、「データベースから抽出する」を選択し、テーブルは「Sample_Table_1」、フィールドは「Greeting」を選択する。そして「id=arg_Number」という抽出条件が加えられて、このステップの仕様決定が完了する。
【００５０】
この保存と同様に、例えば文字列型変数Ret_CにテーブルSample_Table_1の文字列型フィールドGreetingの値を保存するという処理仕様が書かれる事となる。入力画面でユーザーが設定した内容に従って、予め決めた例えば “DB_SELECT”、”Table”、 ”Field” 、“Where”などの周知の記法に則って上記のように後でどういう処理内容かを識別できるように保存する。そして、予め定めた適宜の条件を元にプログラムでデータベースに仕様どおりの検索をかけて、得られた結果を変数Ret_Cに代入するというAPIプログラムを機械的に生成する事が可能となる。また、後述する構造体定義や配列を定義可能とすることで、複数のフィールドを任意の構造体型変数や配列に入れる事も可能となるし、また内部変数は全て配列として扱う事にしてもよい。
【００５１】
（２）ＡＰＩＣによる自動テーブル作成の場合
この場合には、例えば図１１に示されているような、自動テーブル作成によるデータ保存を指定する処理仕様入力画面になされる。この例をＸＭＬ形式で保存する場合、例えば”Field”タグの”Variable”属性で変数str_Greetingを指定するパラメータや変数（後述）として定義（説明省略）されているものであるため、変数の型やデータサイズなどは判別可能であるので、それと同じ属性のフィールドを有するテーブルを自動で作成し、そのテーブルから対象のフィールドを抽出するというプログラムを生成する事が可能である。この場合、ＡＰＩの基本情報に作成したデータベース名を紐付けておく。これには、既述のＡＰＩ基本情報の保存項目に下記のように挿入するなどして、紐付けを行う方法が考えられるが、これによって、仕様テンプレートにデータベースが含まれて再利用が可能となる。この場合のテーブル名称は、ユーザーＩＤ、日時情報、不可逆関数、連番などを利用してユニークに識別できるようにしておく。なお、この段階ではidに相当するフィールドが必要だという判断は出来ないが、これに関しては後述の抽出APIのパラメータからの判断となり、このフィールドの挿入タイミングは、その時点かあるいはそれ以降の適宜の時点となる。
【００５２】
そして、自動テーブル作成によるデータ抽出を指定するにあたっては、図１２に示されているような処理仕様入力画面とされる。この例の場合、検索をかけるテーブル名とフィールド名が自動生成であるので、データ保存の場合と同様に、テーブル名を生成し、変数str_Greetingの属性からフィールドを生成する。そしてこの場合は、データ保存時には無かったフィールド”id”の存在が、抽出条件として予め定めた内部表記である”Where”タグの左辺（Operand_Left）に指定する”arg_Number”から分かるので、同様に“arg_Number”の属性からフィールドを生成する。抽出方法は既存テーブルからの抽出方法と同等であるのでここでは省略する。
【００５３】
以上のようにして、データベーステーブルに対するデータ登録およびデータ抽出のＡＰＩ自動生成が実現可能となるが、この際に作成したテーブル構造やＡＰＩ仕様は、同様の構造で実現できる他の目的のＡＰＩにもそのまま流用できる。つまりこの例の場合、“id”と“文字列”からなるテーブルに対するデータ登録とデータ抽出を行うことで実現できるあらゆるAPI仕様は、そのままこの例の「挨拶文取得ＡＰＩ」を流用できる。例えば、挨拶ではなく、「格言」や「占い」等の文言の登録や取得を行うＡＰＩが、何の変更もなく実現できる事は自明である。ゆえに、次に同様のＡＰＩを作りたいユーザーは、この仕様を保存したファイルをそのままコピーし別名で保存するだけで所望のＡＰＩが公開できる。これを、ＡＰＩ仕様および紐付けられたデータベース仕様に関してテンプレート化できるのである。このように、ＡＰＩＣが提供するこのテンプレート機能によって、１人のユーザーが作成した仕様を基にして、同等構造の様々な用途のＡＰＩが実現できるのである。
【００５４】
さらに、より高度な複雑な処理をしたい場合のプログラム生成を行う場合、ＡＰＩＣはより高度なユーザー向けに一般的なスクリプト言語を直接記述できる環境も提供する。この場合、ユーザーはＡＰＩＣが対応している言語を選択し、表示するプログラム記述画面に直接プログラムを記述する。プログラムには馴れているので自分で書きたいが、自分でサーバーを借りたりセキュリティの設定やデータベース、プログラム言語の実行環境などを整えるのが煩わしいと思うようなユーザーを対象とした場合、こちらの方法でプログラムが生成されても良い。
【００５５】
上述した何れの方法でＡＰＩプログラムが作成されても、ユーザーが作成したプログラムがサーバー内に保存され、外部から実行できるようにする事が重要である。ＡＰＩＣは何れの方法で生成したＡＰＩプログラムも実行可能ファイルとして、例えば.phpや.rbなどのファイルに保存して、仕様情報に追加する。また、ＡＰＩＣは、ＡＰＩ仕様ファイルのアドレスをＡＰＩ基本情報と共にＡＰＩリストデータベースに保存するが、そのときのＡＰＩリストデータベースの構造は、既述のＡＰＩ基本情報および仕様を保存したＡＰＩ仕様ファイルのアドレス等から成る。
【００５６】
次に、出力フォーマットの決定について説明する。出力フォーマットの決定工程は、出力パラメータで指定した変数をどのような形式で出力するかを決定する工程で、一般的にWebサービスで利用されるフォーマット（例えば、XML,JSONなど）をサポートすることが望ましい。この工程は、ユーザーが出力フォーマット設定画面で指定してもよいが、例えばXML、JSONなど全ての出力フォーマットをサポートするようにしておいて、呼び出し側の都合に応じてパラメータで指定させ、適宜出力フォーマットを切り替えるような仕組みでもかまわない。例えば図８に示されているように整数型変数Ret_Cが出力パラメタであり、出力フォーマットをXMLで指定した場合は、ＡＰＩプログラム内で、xmlヘッダ等必要なタグを付加した後、変数名のタグにてRet_Cを返却すればよいし、JSONであっても同様にデータ構造やデータ型が分かれば、整形する事が可能であることは自明である。
【００５７】
プログラム仕様を後で読み出して、どのように機械的にプログラムに変換し、生成したプログラムを保存するかについては既に説明したが、この段階で、ＡＰＩＣは、ＡＰＩリストデータベースを参照して、ＡＰＩＣサイトに訪れたユーザーに対してＡＰＩリストおよびその概要を表示し、現在ＡＰＩＣサイトにどのようなＡＰＩが登録されているかを知らせることが出来る。ＡＰＩＣは、ＡＰＩリストの中からユーザーが選択したＡＰＩの仕様ファイルアドレスが分かっているので、当該ファイルを読み出し、プログラムのアドレスや、入出力仕様をユーザーに知らせる事が出来る。このようにして、ＡＰＩ作成ユーザーが作成したＡＰＩプログラムが、一般のＡＰＩ利用ユーザーが訪れた際に認識されることとなる。
【００５８】
次に、その他、高度なプログラム仕様を設計する為に必要な機能の例を挙げておく。まず、構造体を定義できる機能としては、例えば図１３に示されているような画面を利用するが、名前や属性を指定することによって、後で読み出した時に、機械的に構造体を宣言するプログラムに変換することが出来る。また構造体がサポートされていないプログラミング言語の場合は、この機能は無効となるか、別の機能でなどで代用できる場合はしてもかまわない。
【００５９】
また、変数を宣言できる機能、すなわちパラメータ変数以外にも処理内部で使用するための変数を宣言できる機能が、属性指定などパラメータの設定方法と同様の手順で実現可能である。さらに、関数を作成できる機能を持たせて、よく行われる処理を関数として再利用可能な形式にしておくことによって、プログラム内容を簡素化することが出来る。また、この関数も別のＡＰＩ仕様作成時にインクルード可能なので、同様の関数を複数のユーザーが作成するという社会的な無駄を無くする事が可能となる。この機能を実現するには、仕様入力画面上に、関数として保存する旨を示すボタンやチェックボックス等を用意しておき、ユーザーがそれらを設定した場合に、ＡＰＩではなく、関数として保存すればよい。
【００６０】
つまり、ＡＰＩプログラムもひとつの関数であるので、関数仕様作成に関しても、入出力パラメータの設定を含めて記述方法はＡＰＩ仕様作成と全く同じでかまわないのである。違いは、それが関数であるという事が後で読み出した時に認識できなければならないことから、前述したようにＸＭＬ形式を採用した場合には、基本情報を例えば<APIProperties>タグではなく<FunctionProperties>タグ等にして、公開用ＡＰＩと内部関数との差異を識別できるようにしておく。こうすることで、外部から実行可能なWebAPIではなく、ＡＰＩプログラム内部で使用する関数であると区別できる。また、関数は他のＡＰＩからも呼び出し可能とした方がよいので、ＡＰＩ作成ユーザーには、一般ユーザーには見せない関数リストも見せる仕組みにしておく必要がある。そして、ＡＰＩ仕様の中で関数をコールする記述を、後で読み出して識別できる予め定めた種々の表記法則に則って適宜に設定しておくことで、機械的に当該関数をコールするプログラムに翻訳することが可能となる。
【００６１】
さらに、図１４に示されているような画面を利用して、例えば処理Ａ又は処理Ｂのいずれかを選択する等の分岐の設定が可能となっている。これは実行するプログラムのステップを場合によって選択する必要がある場合に使用する。この「分岐設定」の処理は、比較処理と各ステップに付加されているidを利用して該当するステップへのジャンプ処理により実現することが出来る。例えば、比較を示す文字列を内部的に予め定めておき（この例では“COMP”）、左辺（Operand_Left）と右辺(Operand_Right)を比較するという書式を上記のように規定し、その比較結果に応じて指定されたステップIDにジャンプすることによって分岐（Branch）を実現できる。この例では、“EQ”は“＝”（equal、つまり比較対象が等しい）という事を示し、その場合にはステップ3へジャンプするという事を意味し、それ以外の場合（ELSE）にステップ4へジャンプするという事を意味する。このように記法を定める事によって、APICが“COMP”ステップを読み出した時に機械的にプログラムに翻訳する事ができる。その際に、行った比較の結果を保持する内部変数（以下、コンディションコード変数と呼ぶ）を予め用意しておいて、そこに逐次各実行ステップの結果が正か負かを保持することによってCOMPを行わずともBranchさせることも可能である。
【００６２】
また、同様に“NE”（not equal）、“BT”(Bigger Than)、“LT”(Less Than) などを規定しておけば、ユーザーがそれらの条件分岐を使用できる環境を提供可能となる。あるいはMINMAX(Minimum Maximum)などを定義して指定する最大値最小値の間に入っている場合のみ特定の処理を行うという事も可能となる。つまり if( arg_A > arg_B ) や if( arg_A < arg_B )、あるいはif( ( 0 < arg_A ) && ( arg_A < 10 ) )  といった条件分岐が使用可能となる。また、その分岐を利用してループが実現可能である。ループ回数を保持するカウンタ変数を内部的に利用し、ユーザーが設定したループ回数またはループ処理に入る時の変数が保持している値との比較により、ループの先頭に戻るか、ループを終了するか、という条件判断ができる。また、内部カウンタ変数などを使用せずとも、条件分岐と任意ステップへのジャンプの組み合わせのみでループは実現可能であることは自明であるので、ここでは省略する。
【００６３】
なお、処理仕様の内容からＡＰＩＣが自動的に新規テーブルを作成する場合には、マスタデータの統計又は解析を予め定めた適宜の条件下、例えばデータベースの使い易さに関して、どのような種類のデータを採用するか、或いは各データの並び順をどのようにするか等の条件を自動設定又はユーザーへ提案することが可能である。
【００６４】
さらに当該自動ＡＰＩ生成ツール１２，３２は、決定されたＡＰＩ仕様に基づいて作成されたデータベースの全部又は一部をネットワーク上に公開するＡＰＩ発信機能を同じくプログラムとして備えており、第三者によって容易に利用される形式となるように例えば関数、プロシージャ、変数、データ構造、又はインタプリタなどに関してＡＰＩ化されたデータベース又はプログラムを公開する機能を有している。
【００６５】
このとき、例えば下記の事項について、マスタユーザーＭＵによる指定が適宜に可能となっており、ＡＰＩＣサイト内のテスト画面で確認しながら満足がいくまでマスタデータの入出力設計の変更ができる構成になされている。
ａ．入出力の仕様
ｂ．データ整形（順序の変更、見せるデータの選択など）
ｃ．コーディング（プログラムコードの生成・確認）
ｄ．テスト
【００６６】
具体的には、ＡＰＩの仕様設計としてＡＰＩＣシステムでは、上述したようにして作成したデータベースに対して、データ入出力を行うための手段として少なくとも下記のようなＡＰＩ設計手段を備えている。すなわち、まず上述したデータ登録以外の手段でデータ登録用のＡＰＩを設計・公開することによって、アクセス権のあるユーザーがＡＰＩ経由でデータ登録を行えるようにする点である。この場合には、ＡＰＩＣ接続端末ソフトウェア上にデータ登録用ＡＰＩの設計画面を表示し、ユーザーがＡＰＩへの入力時に必要な引数（パラメータ）を設定する。これは、直接データベースのフィールドに対応する場合もあるが、後述する演算処理後にフィールドに保存される場合もある。ＡＰＩＣシステムは、上記設定された内容に基づいて、プログラムで動的にユニークなＩＤによって後からＡＰＩを識別できる状態にし、また設定された仕様を読み出して実行できる状態にして、ＡＰＩ仕様保存用データベースへ保存する。
【００６７】
また、本実施形態にかかるＡＰＩ設計手段は、上述したようにして登録されたデータに対して、ＡＰＩ経由で取得可能とするフィールドをユーザーが自由に設定できる機能を備えている。この場合には、アクセス権のあるユーザーに対して、ＡＰＩＣ接続端末ソフトウェア上にフィールド選択画面や使用するデータベース、テーブルを選択する画面を表示し、ユーザーは、データ整形（順序の変更、見せるデータの選択・結合・省略など）方法を画面上のＧＵＩ操作等で設定する。また、ユーザーは、データ抽出時の条件指定、集計方法、並べ替え方法、計算方法等を画面上のＧＵＩ操作等で設定する。そして、ＡＰＩＣシステムは、上記設定された内容に基づいて、プログラムで動的にユニークなＩＤによって後からＡＰＩを識別できる状態にし、また設定された関数や演算仕様を読み出して実行できる状態にして、ＡＰＩ仕様保存用データベースへ保存する。
【００６８】
さらに、ＡＰＩＣシステムにおいて、入力データまたは引数に基づいて特定の集計・計算・演算処理等を行いたい場合は、一般的なスクリプト言語等を直接記述するか、専用の言語を提供して計算式や関数をユーザーが独自に設定できる。これによって、単純な“データ登録及びデータ抽出”という仕様だけでなく、データを元に集計結果や独自の演算結果などをＡＰＩ経由で出力させることや、データ保存無しで引数に対する演算結果のみをＡＰＩ経由で出力させること、或いは独自のアクセス権認証等を行うことが可能となる。また、スクリプト単位での共有や公開も可能とする。そして、アクセス権のあるユーザーに対して、ＡＰＩＣ接続端末ソフトウェア上にスクリプト言語記述用の画面を表示し、ユーザーがスクリプト言語のルールに基づいて、自由にスクリプトを記述する。ＡＰＩＣシステムは、ユーザーが記述したスクリプトの文法チェック等を行い、間違いがある場合はユーザーにそれを通知し、修正を促す。これに対してユーザーは、チェックを通るようにしたスクリプト言語を保存し、ＡＰＩＣシステムが、プログラムで動的にユーザー作成のスクリプトをデータベース保存に適した形式に整形（特殊文字などのエンコード等）すると同時に、後で読み出して実行できるような形式にして、データベースへ保存する。
【００６９】
次に、関数等を有するＡＰＩをテストするにあたってＡＰＩＣシステムは、ユーザーが自分で設計したＡＰＩをテストし、入出力が期待通りか確認することを可能としている。この場合には、まずアクセス権のあるユーザーに対してＡＰＩＣ接続端末ソフトウェア上に、ＡＰＩテスト画面を表示し、ユーザーは自ら設計した任意のＡＰＩを任意の引数で呼び出し、実行結果を画面上で確認する。結果が期待通りでなければ、設計手順に戻りＡＰＩ仕様を修正し、再度テストすることとなるが、ユーザーは、上記手順を自作ＡＰＩが期待通りの動作をするまで繰り返す事ができる。
【００７０】
さらに、ステップ３（図５中のＳＴ３）として、関数化等によりＡＰＩ化されたマスタデータ、又はそれを用いたデータベースやプログラム（以下において、データ集合体と呼ぶ。）の公開が行われる。上述したようにして関数化等によりＡＰＩ化されたデータ集合体は、マスタユーザーＭＵ自身の期待通りの出力がテストで確認された後に公開され、これによって前記マスタデータに基づくデータ集合体の一次利用が行われることとなる。このようなデータ集合体の公開を、予め定められた入出力仕様を有するテンプレートとして公開したり、又はそのようなテンプレートに基づいて公開を行うようにしておけば、後述する開発ユーザーＤＵ等による利用が容易なＡＰＩ群が作成されることとなり、また同じものを別々に設計するという社会的な無駄を無くすことが可能となる。
【００７１】
また、このマスタデータに基づくデータ集合体の一次利用の際、マスタユーザーＭＵは、利用料や、１日のアクセス上限数などの利用条件や制限条件を設定することが可能となっている。さらに、テーブル内に会員アカウントのフィールドを作成しておくことなどにより自サイトへの会員登録をＡＰＩ利用条件とすることも可能である。
【００７２】
すなわち、関数化等によりＡＰＩ化されたデータ集合体を公開するにあたってユーザーは、自分が設計・公開するＡＰＩの利用条件などを設定できる。設定できる条件は、利用料金、１日のアクセス上限数、広告表示回数、特定ユーザーのみのＡＰＩアクセス権、別途自ら運営するサイトへの会員登録が必須かどうか、など多岐に渡る。具体的には、アクセス権のあるユーザーに対してＡＰＩＣ接続端末ソフトウェア上に、利用条件設定画面を表示し、ユーザーが画面上のＧＵＩ操作等でＡＰＩの利用条件などを設定する。その設定された条件に基づいてＡＰＩＣシステムは、プログラムで動的にＡＰＩ公開条件を特定のデータベースに後で読み出して実行できるような形式にして保存する。実行可能な形式で保存されたＡＰＩは、設計ユーザーによる最終的な承諾の上、ＡＰＩのアドレスと仕様を、一般ユーザーが閲覧可能なＡＰＩＣシステム上のＡＰＩ閲覧画面に表示し、また実際のＡＰＩのアドレスを公開する。その公開されるＡＰＩのアドレスは、ＡＰＩの呼び出し形式（ＲＥＳＴ、ＳＯＡＰ、ＲＰＣ等）や出力フォーマット（ＸＭＬ，ＪＳＯＮ，ＣＳＶ，テキスト等）によって異なる場合がある。
【００７３】
そして、次のステップ４（図５中のＳＴ４）では、ＡＰＩ化されたデータ集合体を利用する開発ユーザーＤＵによるマスタユーザーＭＵのＡＰＩを検索・発見・利用決定が行われ、データ集合体の一次利用が行われる。ＡＰＩ化されたデータ集合体を検索・発見・利用するにあたっては、例えば、まず利用条件を考慮してＡＰＩ利用が決定され、そのＡＰＩ利用決定がマスタユーザーＭＵに通知される。そのときのＡＰＩ利用状況（人気ＡＰＩランキングなど）やＡＰＩを利用しているサイトのサーチエンジン等は、ＡＰＩＣサイトにて閲覧可能となっている。
【００７４】
すなわち、関数化等によりＡＰＩ化されたデータ集合体のアクセスや実行にあたってＡＰＩＣシステムでは、上述したようにして設計・データ登録・利用条件設定し、公開したＡＰＩを、外部からコールされた時に、ＡＰＩ仕様・利用条件設定に基づいてデータを入出力する事が出来るようにしている。ユーザーが設計した仕様によって様々なタイプのＡＰＩが出来るが、その例としてデータ登録系、データ抽出系、演算系を記載しておく。データ登録系ＡＰＩの場合には、引数で指定された入力データを設計仕様に基づいてプログラムで動的に整形（演算や文字列操作等）を行い、ＡＰＩ呼び出し側へ実行結果応答し、必要なデータをデータベースへ保存する。また、データ抽出系ＡＰＩの場合には、引数で指定された抽出条件などから、設計仕様書に基づいてプログラムで動的にデータベース検索、並べ替え等を行い、実行結果をＡＰＩ呼び出し側へ返す。さらに演算系ＡＰＩの場合には、引数で指定されたデータ（数値、文字、画像／音声／ビデオや、その他データファイル等）に対して設計仕様に基づいた特定の計算、文字列処理、画像処理などを行い、実行結果をＡＰＩ呼び出し側へ返す。
【００７５】
この後のステップ５（図５中のＳＴ５）においては、まず関数化等によりＡＰＩ化されたデータ集合体の開発ユーザーＤＵによる２次利用が行われる。開発ユーザーＤＵは、マスタユーザーＭＵのＡＰＩを利用してデータ取得することによって、独自のマッシュアップ・サイトや、マッシュアップソフトウェアＭＳＷを開発し、それらをブログパーツやガジェットなどとして公開する。このときのマッシュアップ・サイトやマッシュアップソフトウェアＭＳＷには他のＡＰＩ化されたデータ集合体が含まれている場合もある。また、開発ユーザーＤＵが、マスタユーザーＭＵのＡＰＩ化されたデータ集合体ＡＰＩを利用して独自に別のマッシュアップＡＰＩを開発し公開する場合もある。
【００７６】
また、ステップ６（図５中のＳＴ６）では、サイト運営者ＳＡによる関数化等によりＡＰＩ化されたデータ集合体の３次利用が行われる。すなわち、一般的なサイト運営者ＳＡによって、上述した開発ユーザーＤＵ又はサイト運営者ＳＡに自身により開発されたマッシュアップソフトウェアＭＳＷ又はマッシュアップＡＰＩ（ＭＡＰＩ）を利用して自サイトが作成され、それが一般に公開されることによってＡＰＩ化されたデータ集合体の３次利用が行われる。
【００７７】
なお、上述したマッシュアップＡＰＩ（ＭＡＰＩ）にさらに別のマッシュアップＡＰＩ（ＭＡＰＩ）が組み込まれて４次利用されたり、それらが何重にも組み込まれて５次利用されるなど、次のステップ７（図５中のＳＴ７）のように最終のエンドユーザーに届くまでデータの利用次元は増えていくこととなる。
【００７８】
そして、ステップ７（図５中のＳＴ７）では、最終的なエンドユーザーによって、マッシュアップソフトウェアＭＳＷを有するマッシュアップ・サイトや、サイト運営者ＳＡのサイト等を通じてマスタデータの閲覧又は利用が行われ、それによってマスタデータの末端利用が行われる。
【００７９】
このような実施形態によれば、多数の一般ユーザーＭＵが自身で保有しているデータをＡＰＩＣサーバー内にマスタデータとして登録するだけで、その登録された一般ユーザーのデータが、自動ＡＰＩ生成手段１２，３２によりデータベース化されるとともに、生成されるＡＰＩを通じて適宜の出力状態として、第三者による閲覧又は利用が容易なデータ又はプログラムとしてネットワーク上に公開されるために、元々は一般ユーザーの手元に秘蔵されようとしていたデータが、開発ユーザーＤＵやサイト運営者ＳＡによって容易かつ広範囲に利用されることとなり、情報の拡散が飛躍的に図られるようになっている。
【００８０】
次に、本発明にかかるＡＰＩＣシステム（情報利用システム）を使用したＡＰＩＣサイト（Application Program Interface Creator Site）を実際に適用した実施例について説明する。
【００８１】
まず、図１５に示されている第１の実施例は、マスタデータユーザーＭＵとして“Ａ町の魚屋”を想定したものであって、その場合のデータの流れと広がりを以下に説明する。なお、このマスタデータユーザーＭＵとしての“Ａ町の魚屋”は、前述したＡＰＩＣシステムの自動ＡＰＩ生成ツール１２，３２を通して、関数、プロシージャ、変数、データ構造、又はインタプリタなどに関するＡＰＩを既に公開しているものとし、ある程度の数の開発ユーザーＤＵや、サイト運営者ＳＡによってデータの利用が行われている事を前提とする。
【００８２】
まず、最初のステップ１１で魚のデータが登録される。すなわち、マスタユーザーとしてのＡ町の魚屋ＭＵは、ＡＰＩＣサイトにアクセスして仕入れた魚のデータをＡＰＩ作成サーバーに登録する。このときの登録は、例えば下記の表１のように仕入れ／売値を決定して行われることとなるが、そのようなマスタデータの登録又は更新によって、ＡＰＩからの出力データが自動的に更新される。
【００８３】
【表１】
2011258101.tif 000003
【００８４】
次のステップ１２で、ＡＰＩ作成サーバーによりＡＰＩ設計が行われてマスタデータを抽出及び出力するプログラム、すなわち魚屋ＡＰＩの公開が行われる。この第１の実施例においては、例えば、下記のような項目を内容とするマスタデータのデータベースの公開が行われるようにＡＰＩの設計がなされている。
ａ．名称：  A-machi_Fish_Search
ｂ．説明：  今日仕入れた新鮮な魚介類情報を配信する！
ｃ．入力：  名前、販売価格上限、キーワード、ソート順（名前または価格）
ｄ．出力：  名前、販売価格、コメント、写真
ｅ．利用条件：  無料
このようなマスタデータのデータベースに関する入出力設計が、ＡＰＩ作成サーバー内の自動ＡＰＩ生成ツール１２，３２により自動で行われる。
【００８５】
そして、ステップ１３（ＳＴ１３）において、上述したようにＡＰＩ化されて公開されたマスタデータのデータベースからデータを抽出するＡＰＩ（魚屋ＡＰＩ）への要求が、個人プログラマ等の開発ユーザーＤＵにより行われ、その開発ユーザーＤＵによってマッシュアップソフトウェアＭＳＷの構築・公開が行われる。より具体的には、上述したようにしてＡＰＩＣサイトからマスタデータを出力する魚屋ＡＰＩ（A-machi_Fish_Search）や、その他のＡＰＩを利用して、例えばＡ町商店街全体に関するホームページパーツやデスクトップガジェット等のマッシュアップソフトウェアＭＳＷが構築され公開される。
【００８６】
さらに、次のステップ１４（ＳＴ１４）においては、サイト運営者ＳＡによるマッシュアップソフトウェアＭＳＷの構築・公開が行われる。例えば、上述した個人プログラマＤＵのマッシュアップソフトウェアＭＳＷや、その他のＡＰＩを利用したマッシュアップソフトウェアＭＳＷ等を組み込んで、例えば、”Ａ町グルメサイト”が構築され公開される。
【００８７】
一方、ステップ１５（ＳＴ１５）では、開発ユーザーＤＵ又はサイト運営者ＳＡによるマッシュアップ・サイトの構築・公開が行われる。このマッシュアップ・サイトでは、上述した魚屋ＡＰＩ（A-machi_Fish_Search）や、その他のＡＰＩを利用して、例えば”全国魚屋さん情報サイト”が構築され公開される。
【００８８】
このような”Ａ町グルメサイト”や”全国魚屋さん情報サイト”が公開されると、例えばステップ１６（ＳＴ１６）において、個人消費者（一般ユーザー）による利用が行われる。すなわち、個人消費者（一般ユーザー）は、上述した開発ユーザーＤＵのデスクトップガジェットを利用してＡ町商店街のデータをチェックして日々のお買い物に役立て、例えば、「今日は魚屋さんの”鯛切り身”がお買い得」という情報を得ることによって購入を決定する。
【００８９】
また、ステップ１７（ＳＴ１７）では、Ｂ町のイタリアンレストラン（一般ユーザー）による利用が行われる。例えば、Ｂ町のイタリアンレストランでは、日常的にＡ町グルメサイトのチェックが行われており、ある日、Ａ町の魚屋さんのデータに注目して、その仕入先としての提携を決定する。
【００９０】
さらに、ステップ１８（ＳＴ１８）では、Ｃ町の寿司屋（一般ユーザー）による利用が行われる。例えば、Ｃ町の寿司屋では、日常的に全国魚屋さんサイトでより良い仕入先を探しており、ある日、Ａ町の魚屋のデータに注目して、その仕入先としての提携を決定する。
【００９１】
一方、図１６に示されている第２の実施例は、“タクシー運転者の現在位置”を想定したものである。ここでも、既にタクシー運転者の現在位置データを登録する為のＡＰＩが設計されて公開されていることを前提とする。
【００９２】
まず、最初のステップ２１において、各タクシー運転者の現在位置のデータが登録される。すなわち、マスタユーザーとしてのタクシーＡ，Ｂ，Ｃは、ＡＰＩＣサイトにアクセスして現在位置のデータをＡＰＩＣシステムのＡＰＩ作成サーバーにマスタデータとして登録する。
【００９３】
次のステップ２２（ＳＴ２２）では、ＡＰＩ作成サーバーにより既に設計・公開されているＡＰＩ、すなわちタクシー運転者ＡＰＩを通じてマスタデータのデータベースの公開が行われる。そして、ステップ２３（ＳＴ２３）において、上述したようにＡＰＩ化されて公開されたマスタデータのデータベースを参照する為のＡＰＩ（タクシー運転者ＡＰＩ）への要求が、個人プログラマ等の開発ユーザーＤＵにより行われ、その開発ユーザーＤＵによってマッシュアップソフトウェアＭＳＷの構築・公開が行われる。より具体的には、上述したようにしてＡＰＩＣサイトからマスタデータを出力するタクシー運転者ＡＰＩや、その他のＡＰＩを利用して、例えばタクシー運行に関するホームページパーツやデスクトップガジェット等のマッシュアップソフトウェアＭＳＷが構築され公開される。
【００９４】
さらに、次のステップ２４（ＳＴ２４）においては、サイト運営者ＳＡによるマッシュアップソフトウェアＭＳＷの構築・公開が行われる。例えば、上述した個人プログラマＤＵのマッシュアップ・サイトＭＳＷや、その他のＡＰＩを利用したマッシュアップソフトウェアＭＳＷ等を組み込んで、例えば、”全国タクシー運行状況ガイド”が構築され公開される。
【００９５】
このような”全国タクシー運行状況ガイド”が公開されると、例えばステップ２５（ＳＴ２５）において、個人消費者（一般ユーザー）による利用が行われる。すなわち、個人消費者やホテル等の一般ユーザーは、タクシー運行状況をチェックして日々の利用に役立てる。
【００９６】
一方、前述した図３に表されたＡＰＩ作成サーバー１に、利用したユーザーに適宜の広告を配信する広告配信手段を設けてＡＰＩＣシステムとすることが可能である。そして、その場合の広告配信手段としては、例えば、自動ＡＰＩ生成ツール１２，３２により作成されたデータベースを閲覧又は利用したユーザーに対して、そのユーザーが閲覧又は利用したデータベースの内容に対応した内容の広告を配信する構成とすることができる。例えば、図１７に示されている実施形態にかかるＡＰＩＣシステムでは、ＡＰＩ作成サーバー１からＡＰＩデータを取得したデータ利用サイト（ユーザー）４に対して、そのデータ利用サイト４が取得したＡＰＩデータの内容に関連する広告が、前記ＡＰＩ作成サーバー１に設けられた広告配信手段１３から同時に配信されるようになっている。
【００９７】
本実施形態にかかるＡＰＩＣシステムは、最小単位としてメタデータのレベルからデータそのものに広告を配信する広告配信システム（広告配信手段）を有しており、そのＡＰＩＣシステムの広告配信システム１３を使用したデータへの広告配信は、例えば図１８のようにして行われる。すなわち、広告主が、広告データの内容をキーワードとともに登録しておくと、広告配信手段としての広告配信システム内で、広告データ内容や登録されたキーワードを基に、必要な相関関係などのデータ解析が行われて最適な広告が選択され、一般利用者またはマッシュアップ層からのＡＰＩコール（図示省略）の応答結果として出力されるデータに合成してＡＰＩＣシステムから出力される。また、そのときの出力段にパス切り替えの仕組みを入れることによって、ＡＰＩ仕様や利用ユーザーのアクセス権あるいは属性等に応じて広告の有無を切り替え、データのみ又は広告合成済みデータのどちらでも出力することが可能となる。
【００９８】
このような構成を採用すれば、特定の情報を必要としているユーザーに対して、当該ユーザーが必要としている情報に対応した内容の広告が配信されることとなり、広告配信者にとっては無駄な広告配信が低減され、ユーザーにとっても必要な情報がさらに得られることとなる。
【００９９】
再び図１７に戻って、上述したような広告配信手段１３に加えて、ＡＰＩＣシステムのＡＰＩ作成サーバー１には、データ提供者への対価を決定する利用者還元手段１４を設けることも可能である。すなわち、この場合の利用者還元手段１４は、前記自動ＡＰＩ生成ツール１２，３２により作成されたデータベースの閲覧又は利用の頻度に対応して、そのデータベースのデータ提供者２（ＭＵ）への対価を決定する機能を有している。図１７に示されている実施形態の場合には、上述したデータ利用サイト４で発生した広告収入や収益の一部が、ＡＰＩ作成サーバー１に設けられた利用者還元手段１４からデータ提供者２（ＭＵ）に還元されるようになっている。
【０１００】
より具体的には、前述したように広告主は、広告データの登録とともに広告料の支払いを利用者還元手段１４に対して行うが、一般利用者は、図１９に示されているように、直接的又はマッシュアップソフトウェアＭＳＷを有するマッシュアップ・サイトを通して間接的にＡＰＩＣシステムにアクセスし、そこでユーザー認証が行われる。なお、マッシュアップ・サイトが代理でユーザー認証を行う場合は、一般ユーザーによる認証手順は省かれてもよい場合がある。ＡＰＩＣシステムでは、前述したように個々のユーザーが所有する個別のマスタデータを適宜に集合させてＡＰＩ化し、そのＡＰＩ化した各データ集合体であるＡＰＩ（ＡＰＩ＿１，ＡＰＩ＿２，・・・，ＡＰＩ＿ｎ）をネットワーク上で公開している。そして、上記認証したユーザー情報を元に、一般ユーザーによるアクセス要求対象のＡＰＩに関する利用条件をＡＰＩ利用条件ＤＢから取得し、該当一般ユーザーがアクセス要求しているＡＰＩ（ＡＰＩ＿１，ＡＰＩ＿２，・・・，ＡＰＩ＿ｎ）へのアクセス権限を有しているか、または利用回数制限に達していないか等をチェックする。
【０１０１】
このときに、前記利用者還元手段としての利用者還元システム層は、ＡＰＩ利用状況やＡＰＩ利用条件を元にして一般利用者やマッシュアップユーザーへの利用料金額を算出し、それと同時にデータ提供者、ＡＰＩ使用作成者、マッシュアップユーザー等へ配分金額を決定し、各々に対する還元を実行する。
【０１０２】
なお、利用条件が設定されていないＡＰＩの場合は、上述した手順は省かれてもよい場合がある。例えば、ＡＰＩ仕様作成者の判断で、利用条件は利用ユーザー毎に設定可能とされてマッシュアップユーザーに対する割引等が設定されていれば、マッシュアップユーザーはデータの取得価格と自作マッシュアップの利用料をコントロールすることにより利益を得る事が可能となる。このときのＡＰＩ利用条件によっては、発生する収入源が広告料のみや利用料のみとなる場合がある。
【０１０３】
このような構成を採用すれば、閲覧又は利用の頻度が高いデータを提供したデータ提供者２（ＭＵ）に対して、提供データの閲覧又は利用の頻度に対応した対価が支払われることとなり、一般ユーザーから、より利用度の高い価値あるデータがより多く提供されることとなる。
【０１０４】
次に、前述した自動ＡＰＩ生成ツール（ＡＰＩクリエイター；ＡＰＩＣ）を備えたＡＰＩＣシステムを利用してＡＰＩ（関数、プロシージャ、変数、データ構造又はインタプリタなど）を公開することによって、テンプレート等からなるデータ集合体に対する対価を決定し、データ集合体の売買を可能とする情報利用システムの実施形態について説明する。
【０１０５】
前述したようにＡＰＩＣシステムは、テンプレート機能を有していて、マスタユーザーが作成したデータベース構造やＡＰＩ仕様をテンプレートとして公開し、他のユーザーがそれに参加する事によって、同様のＡＰＩの乱立という社会的無駄を無くし、同一構造仕様のデータ量が増え、マッシュアップもし易くなる為、データ流動性が高くなるという効果が得られると期待されるものであるが、テンプレート機能を提供するＡＰＩＣシステムによるデータ集合体の売買を可能とする情報利用システムの一例が、図２０に示されている。
【０１０６】
すなわち、図２０に示されている情報利用システムは、データ集合体のうちのテンプレートを媒介としてデータを流通させ、又はテンプレートを売買するように構成されており、当該テンプレート流通システムにおいて、ユーザーは、ＡＰＩ仕様を考案してテンプレートとして公開するユーザーと、他ユーザーのテンプレートに参加してデータ登録者として貢献するユーザーの２種類のユーザーに分類される。ここでは、末端の一般利用者はユーザーの範疇から外すこととしているが、ＡＰＩ仕様作成マスタユーザーがデータの末端一般利用者である場合もある。
【０１０７】
また、本実施形態では、広告主（イ）及び広告主（ロ）が、テンプレートＡとして公開されたＡＰＩ群のデータ（ＡＰＩ＿Ａ１，ＡＰＩ＿Ａ２，・・・，ＡＰＩ＿Ａｎ）に対して広告を配信する対価として広告料を支払い、それが前述した利用者還元システムによって、データ提供者（１）、データ提供者（２）及びデータ提供者（３）又はＡＰＩ仕様作成マスタユーザー（Ａ），（Ｂ）に対して、データ量・データ提供頻度・ＡＰＩによるデータ被抽出回数またはその有用性等に応じて広告料からの還元額が分配される構成になされている。
【０１０８】
テンプレートＢとして公開されたＡＰＩ群のデータの場合は、テンプレート作成者と末端の一般利用者が同一となっている。この場合には、利用者の立場として利用料を支払うとともに、テンプレート作成者の立場として利用者還元システムによって還元を受けるという流れになる。また、当然、データ提供者（４）、データ提供者（５）に対する対価も利用者還元システムによって分配される。
【０１０９】
本実施形態におけるＡＰＩクリエイターを有するＡＰＩＣシステムを用いたテンプレート売買システム又はテンプレートによるデータ流通システムでは、特定のテンプレートを作成・公開する環境を提供することによって、データやテンプレートの売買や広告表示、又は参加者への還元などが可能となり、それに伴って、様々なテンプレートで様々なお金の流れが誕生する。そして、データベース構造とＡＰＩ仕様、つまりテンプレートが異なれば、データ利用料金や参加者の業種、性別、趣味、職業、団体／個人などの属性や、広告主の属性も異なることとなるため、企業から個人、個人から個人、個人から企業、男性から女性、流通業界から製造業界等のように当然お金の流れも変わってくる。ＡＰＩＣシステムが提供するこのようなテンプレートや、テンプレートに関するデータの売買システム、又はデータ流通システムによって、全ての参加者（広告主、マスタユーザー、利用者など）の間で発生するお金の流れや分配方法を参加者自らが自由に設定することができることとなる。そして、テンプレート自体を受け渡したり、それらの各テンプレートに関するデータを受け渡す種々の段階においてマージンを取得することによって多様な収益性が設定可能となる。
【０１１０】
そのときの課金は、例えば図２１に示されているようして多様に行われる。まず、１）複数のデータ登録ユーザーの場合には、マスタユーザーのうちのＡＰＩ化されたテンプレートを所有するテンプレートオーナーが求めるデータを提供する際に、末端ユーザーやマッシュアップユーザーによる利用に対する課金が行われて上述した利用者還元システムにより支払いを受ける。さらに、２）複数のテンプレートオーナーが所有する複数のテンプレートＡ，Ｂ，Ｃ，・・・が、それらを利用したいユーザー（マッシュアップソフトウェアオーナー）に提供される際に課金が行われることによってテンプレートオーナーは支払いを受ける。さらに、３）マッシュアップソフトウェアオーナーによりテンプレートが組み合わされることなどにより作成されたアプリケーションやテンプレート等は、それらのテンプレート等を利用したいユーザー（一般利用者）に提供され、個別にまたは組み合わされてサイトなどに利用されるが、その提供の際の課金によってマッシュアップソフトウェアオーナーに対する支払いが行われる。
【０１１１】
また、図２２に示されているように、データ集合体が移動する各段階において広告が合成されるように構成することも可能であり、その場合の課金は、例えば図２３に示されているようにして利用者還元システム／課金システムにより行われる。なお、広告主が配信する広告は、最終的には端末一般利用者へ到達するという観点から、本実施形態においては、広告主からの広告配信を端末一般利用者として表しているが、実際に広告が合成される場所は、最小単位データ毎やＡＰＩ呼出しに対する応答出力毎など多岐に渡る。
【０１１２】
このようなテンプレートに関する課金システムを備えたＡＰＩＣシステムを機能的に表したものが図２４である。図２４には、ある販売サイトの商品に対するカスタマーレビューを用いた実施形態における課金と還元の流れが示されているが、テンプレート、データ、お金の流れを説明するために、広告に関する記述や、データベース等については省略している。本実施形態におけるユーザーは、ＡＰＩ仕様を考案してテンプレートとして公開する「ＡＰＩ仕様作成マスタユーザー」と、当該「ＡＰＩ仕様作成マスタユーザー」が公開した「カスタマーレビュー」テンプレートに参加してデータを提供・登録する「データ提供ユーザー」（つまり、カスタマーレビューを書く人）と、登録されたデータを自サイトで利用する「商品販売サイト」と、「商品販売サイト」の「顧客」と、からなり、次のａ）〜ｆ）の各ステップからなる流れでのデータとお金の循環が行われる。
【０１１３】
ａ）ＡＰＩ仕様作成マスタユーザーがＡＰＩＣサイトにてカスタマーレビューテンプレートを作成および公開する。
ｂ）上記テンプレートに対して、データ提供ユーザーが各自のカスタマーレビューデータを登録する。
ｃ）商品販売サイトがＡＰＩＣサイト経由でカスタマーレビューデータを取得し、例えば「メーカー名」、「型番」、「商品名」、「発売日」、「定価」、「レビュー内容」等を自サイトにて掲載する。
ｄ）商品販売サイトの顧客がカスタマーレビューデータを閲覧して、商品を購入する。
ｅ）商品販売サイトがＡＰＩＣサイトの課金システムにてカスタマーレビューデータの利用料金を支払う。
ｆ）課金された料金から、データの利用頻度等に応じて利用者還元システムによって、データ提供者とマスタユーザーへ還元が行われる。
【０１１４】
上述したように、本実施形態にかかるテンプレート売買システムは、テンプレート以外のデータ集合体の提供にも同様に適用されるものであり、テンプレート以外のメタデータやマッシュアップソフトウェア等のデータ集合体を売買対象とすることも可能である。つまり、前述した１）〜３）にて登録及び公開されたデータ（Ｄａｔａ）、テンプレート、アプリケーションなどに対する課金は、各々の所有者によりＡＰＩシステムを介在した、いわゆるＡＰＩマーケットでの売買で行われることとなる。
【０１１５】
すなわち、このデータ集合体の提供の各段階においてＡＰＩ売買を可能とするＡＰＩマーケットは、例えば図２５に示されているように、ＡＰＩＣシステムに対して登録されたデータ群、テンプレート群、マッシュアップソフトウェア群などからなるデータ集合体を第三者が無料若しくは有料にてそれらを利用可能とする機能を有している。そして、そのようなＡＰＩマーケットは、第１の特徴点として、データ（Data）及びマッシュアップソフトウェア（Mashup Softwear）の登録・作成者の販売流通を可能とする機能を有している。従来では、ネットワーク上に誰がどのようなデータなどを所有しているのかを探し出し、それを利用する際にはデータのオーナーにその都度、了承をもらう必要があったが、本実施形態にかかるＡＰＩマーケットでは、データ及びマッシュアップソフトウェアのオーナーと、それらのデータ及びマッシュアップソフトウェアを利用したいユーザーとを簡易的に結びつけることが可能となり、かつデータ及びマッシュアップソフトウェアの権利はオーナーであるとことが明確化され、ダウンロード毎に課金を可能にすること等によって、権利保持したまま、或いは権利を開放して、二次利用を可能にする。
【０１１６】
本実施形態にかかるＡＰＩマーケットの第２の特徴点としては、テンプレート群（データの無いフィールド情報だけのデータベース）などに対してデータ提供ユーザーがそのテンプレートに参加しデータを登録する機能がある。データが多く収集されれば、そのテンプレートは価値を持つようになることから、テンプレート作成者は、その価値の付いたテンプレートを必要な企業や個人に値段をつけて販売可能となる。例えば、ある自動車会社が［所有する車］に関するテンプレートを作成し、データ提供ユーザーが、そのテンプレートのフィールドに適したデータ、例えば、［車種］：軽自動車  、［色］：黒、［購入日］：２００２／２／４などを登録していく場合、データ提供者に対して、テンプレート作成者から登録代などとして、対価を支払うことも可能である。そのようにしてデータが次第に増えてくると、テンプレートが価値を持つようになり、テンプレート作成者は、値段をつけて第三者（企業など）へデータを含むテンプレートごと販売する。すなわち、一つのテンプレートから生まれるお金の流れごと第三者へ販売することが可能となり、従来のダウンロード毎に課金するシステムとは異なる特徴を有する。
【０１１７】
さらに、第３の特徴点として、テンプレートがダウンロード毎に課金を行う場合には、データの無いフィールド情報だけの複雑なデータベース構造とＡＰＩを汎用的に作ったユーザーが、その構造を別の用途で使用したいユーザーに販売可能とする点がある。それを利用するユーザー毎に登録されるデータは異なるので、同じテンプレートでもまったく異なる内容のデータベースの構築が可能となる。
【０１１８】
このような構成を有する本実施形態によれば、テンプレート等を一単位としたデータ集合体の売買が可能となるため、各データ集合体を受け渡す種々の段階において多様な収益性が設定可能となる。
【０１１９】
以上、本発明者によりなされた発明の実施形態を具体的に説明したが、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変形可能であることはいうまでもない。
【産業上の利用可能性】
【０１２０】
以上述べたように本発明にかかる情報利用システム（ＡＰＩＣシステム）は、多種多様なシステムに対して広く採用することが可能である。
【符号の説明】
【０１２１】
１  ＡＰＩ作成サーバー
２  一般ユーザー（一般利用者）
３  他のユーザーサーバー
４  データ利用サイト（ユーザー）
１１  データ群
１２  自動ＡＰＩ生成ツール
１３  広告配信手段
１４  利用者還元手段
３１  データ群
３２  自動ＡＰＩ生成ツール
ＭＵ  マスタユーザー（データ提供者）
ＤＵ  開発ユーザー
ＳＡ  サイト運営者
ＭＳＷ  マッシュアップソフトウェア
ＭＡＰＩ  マッシュアップＡＰＩ
【図１】
2011258101.tif 000004
【図２】
2011258101.tif 000005
【図３】
2011258101.tif 000006
【図４】
2011258101.tif 000007
【図５】
2011258101.tif 000008
【図６】
2011258101.tif 000009
【図７】
2011258101.tif 000010
【図８】
2011258101.tif 000011
【図９】
2011258101.tif 000012
【図１０】
2011258101.tif 000013
【図１１】
2011258101.tif 000014
【図１２】
2011258101.tif 000015
【図１３】
2011258101.tif 000016
【図１４】
2011258101.tif 000017
【図１５】
2011258101.tif 000018
【図１６】
2011258101.tif 000019
【図１７】
2011258101.tif 000020
【図１８】
2011258101.tif 000021
【図１９】
2011258101.tif 000022
【図２０】
2011258101.tif 000023
【図２１】
2011258101.tif 000024
【図２２】
2011258101.tif 000025
【図２３】
2011258101.tif 000026
【図２４】
2011258101.tif 000027
【図２５】
2011258101.tif 000028