(57)【要約】【課題】データを変換し、目標とする表現形式のデータを容易に得る。【解決手段】ネットワーク７０上で、翻訳サーバ４０ａ，４０ｂと、通貨変換サーバ４０ｃ，４０ｄと、単位変換サーバ４０ｅが言語翻訳、通貨変換、単位変換等の変換サービスを提供する。データ生成装置２０は、端末装置１０から、配信サーバ３０ｂによって提供されるサービスから、配信サーバ３０ａに提供されるサービスへ切り替える切替要求を取得する。データ生成装置２０は、変換サービスを用いて、サービスの切替に必要な変換データを生成する。【選択図】図１
2005258930.tif 000002
【特許請求の範囲】
【請求項１】
元データを複数の元データ要素の値に分割する分割部と、
前記元データ要素の値を、目標とする目標データの目標データ要素の表現形式で示される値に変換するために必要な変換装置を、前記元データ要素毎に決定する決定部と、
該決定部が決定した前記変換装置に前記元データ要素の値を提供し、前記変換装置により表現形式が変換された変換データ要素の値を取得する変換実行部と、
該変換実行部が取得した前記変換データ要素の値を結合し、変換データを生成する結合部と
を備えることを特徴とするデータ生成装置。
【請求項２】
前記決定部は、前記元データ要素のオントロジー情報と前記目標データ要素の前記オントロジー情報に基づいて、前記元データ要素と前記目標データ要素との組み合わせを生成し、該組み合わせに基づいて前記変換装置を決定することを特徴とする請求項１に記載のデータ生成装置。
【請求項３】
前記目標データに必要な前記変換データ要素以外の不足要素の値を取得する不足要素取得部を備え、
前記結合部は、前記変換データ要素の値と前記不足要素取得部が取得した前記不足要素の値とを結合し、前記変換データを生成することを特徴とする請求項１又は２に記載のデータ生成装置。
【請求項４】
前記決定部は、前記結合部が生成した前記変換データと前記目標データの条件とを比較し、該比較結果に応じて前記変換装置を変更することを特徴とする請求項１乃至３のいずれか１項に記載のデータ生成装置。
【請求項５】
元データを複数の元データ要素の値に分割する分割部と、
前記元データ要素の値を、目標とする目標データの目標データ要素の表現形式で示される値に変換するために必要な変換装置を、前記元データ要素毎に決定する決定部と、
該決定部が決定した前記変換装置に前記元データ要素の値を提供し、前記変換装置により表現形式が変換された変換データ要素の値を取得する変換実行部と、
該変換実行部が取得した前記変換データ要素の値を結合し、変換データを生成する結合部とを備えるデータ生成装置と、
該データ生成装置から前記元データ要素の値を取得して表現形式を変換する変換装置と
を備えることを特徴とするデータ生成システム。
【請求項６】
元データを複数の元データ要素の値に分割し、
前記元データ要素の値を、目標とする目標データの目標データ要素の表現形式で示される値に変換するために必要な変換装置を、前記元データ要素毎に決定し、
該決定した前記変換装置に前記元データ要素の値を提供し、前記変換装置により表現形式が変換された変換データ要素の値を取得し、
該取得した前記変換データ要素の値を結合し、変換データを生成することを特徴とするデータ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変換装置を用いてデータを生成するデータ生成装置、データ生成システム及びデータ生成方法に関する。
【背景技術】
【０００２】
近年、インターネット上で、多くのサーバにより多くのサービスが提供されているが、類似するサービスを提供するサーバが複数存在することが多い。又、サーバに入力すべき入力データや、サーバが出力する出力データの表現形式は、サーバやサービスに固有である。
【０００３】
そのため、ネットワーク上に分散されたサービスを協調して動作させるために、適切な入出力データ変換パスを生成し、サービスを提供するＮｉｎｊａ  Ｐａｔｈｓの研究が、カリフォルニア大学のＮｉｎｊａプロジェクトとして行われている。Ｎｉｎｊａ  Ｐａｔｈｓでは、入出力データ変換モジュールを動的に発見して接続するため、入出力データの相違を吸収できる利点がある（例えば、非特許文献１参照）。又、データを変換する変換サーバを複数接続して目的の種別のデータを得ることや（例えば、特許文献１参照）、変換装置を新たに作成し、データを変換することも行われている（例えば、特許文献２参照）。
【０００４】
更に、入出力インタフェースの相違を吸収するためのインタフェース記述言語を用いる方法が、Ｊａ−Ｎｅｔプロジェクトにおいて提案されている。この方法では、インタフェース記述言語を用いて記述されたＣｏｎｄｉｔｉｏｎ  Ｓｅｔと呼ばれる要求条件をブロードキャストし、端末装置が利用可能なインタフェースと要求条件とが合致するサービスを利用する（例えば、非特許文献２参照）。
【非特許文献１】S.Chandrasekaran, S.Madden, M.Ionsecu, “Ninja Paths：An Architecture for Composing Service over Wide Area Networks”，CS262 class project writeup, UC Berkeley，2000
【非特許文献２】須田建也、板生知子、中村哲也、松尾真人，「サービス創発のための適応型ネットワークアーキテクチャ」，信学論（Ｂ），Vol.J84-B,No.3,pp.310-320, Mar.2001
【特許文献１】特開平９−１１４６３８号公報
【特許文献２】特開２００２−４９６３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら従来のサーバでは、複数のサーバが類似するサービスを提供する場合であっても、サーバやサービス毎に、データの表現形式が異なる複数のクライアントアプリケーションを用意する必要があった。そのため、利便性が損なわれていた。更に、端末装置が複数のサービスを切り替えて利用したり、複数のサービスを組み合わせて利用したりする場合に、利用するクライアントアプリケーションが変更され、データの表現形式が変更されてしまうため、そのような利用形態を実現することが困難であった。
【０００６】
一方、データ変換を行うＮｉｎｊａ  Ｐａｔｈｓでは、全てのサーバが全てのサービスについて、Ｎｉｎｊａ  Ｐａｔｈｓが提供する基底クラスを継承し、実装する必要があり、制約が大きかった。即ち、全てのサーバに特別な機能を追加する必要があり、サービス自体に手を加える必要があった。このようなＮｉｎｊａ  Ｐａｔｈｓを用いる場合や、変換装置を新規に作成する場合には、コストがかかり、システム構築の負担が大きかった。更に、インタフェース記述言語を用いる方法では、入出力データの変換は行われないため、要求条件に合致せず、端末装置とサービスで入出力データの表現形式が相違する場合には利用できなかった。以上のように、データの表現形式が異なることによる様々な課題があり、それを解決するためのデータ変換を容易に行う技術も提供されていなかった。
【０００７】
そこで、本発明は、データを変換し、目標とする表現形式のデータを容易に得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るデータ生成装置は、元データを複数の元データ要素の値に分割する分割部と、元データ要素の値を、目標とする目標データの目標データ要素の表現形式で示される値に変換するために必要な変換装置を、元データ要素毎に決定する決定部と、決定部が決定した変換装置に元データ要素の値を提供し、変換装置により表現形式が変換された変換データ要素の値を取得する変換実行部と、変換実行部が取得した変換データ要素の値を結合し、変換データを生成する結合部とを備えることを特徴とする。
【０００９】
元データ要素の値、目標データ要素の値、変換データ要素の値はそれぞれ、元データに含まれる要素に設定されている値、目標データに含まれる要素に設定されている値、変換データに含まれる要素に設定されている値である。このようなデータ生成装置によれば、元データを複数の元データ要素の値に分割し、元データ要素毎に元データ要素の表現形式の値を、目標データ要素の表現形式の値に変換するために必要な変換装置を決定できる。そして、データ生成装置は、決定した変換装置に元データ要素の値を提供してデータ変換を実行させ、表現形式が変換された変換データ要素の値を取得し、変換データを生成することができる。
【００１０】
そのため、データ生成装置は、元データ要素毎の変換に適した変換装置にデータの表現形式を変換させ、その結果である変換データ要素の値を結合することにより、容易に変換データを得ることができる。よって、データ生成装置によれば、データの値を一括して目標データの値に変換する変換装置を新規に作成したり、データの入出力を行う全てのサーバに特別な機能を追加したりすることなく、元データのデータを変換し、目標とする表現形式のデータを容易に得ることができる。
【００１１】
決定部は、元データ要素のオントロジー情報と目標データ要素のオントロジー情報に基づいて、元データ要素と目標データ要素との組み合わせを生成し、その組み合わせに基づいて変換装置を決定することが好ましい。これによれば、データ生成装置は、容易に適切な変換装置を決定できる。
【００１２】
更に、データ生成装置は、目標データに必要な変換データ要素以外の不足要素の値を取得する不足要素取得部を備え、結合部は、変換データ要素の値と不足要素取得部が取得した不足要素の値とを結合し、変換データを生成することが好ましい。これによれば、目標データが、元データ要素の値を変換して得られる変換データ要素の値以外の不足要素を含む場合であっても、データ生成装置は、それを補って適切な変換データを生成することができる。
【００１３】
又、決定部は、結合部が生成した変換データと目標データの条件とを比較し、その比較結果に応じて変換装置を変更することが好ましい。これによれば、データ生成装置は、適切なデータ変換が行われたかを判断でき、不適切な場合には異なるデータ変換を実行させることができる。そのため、データ生成装置は、より正確に変換データを生成できる。
【００１４】
本発明に係るデータ生成システムは、元データを複数の元データ要素の値に分割する分割部と、元データ要素の値を、目標とする目標データの目標データ要素の表現形式で示される値に変換するために必要な変換装置を、元データ要素毎に決定する決定部と、決定部が決定した変換装置に元データ要素の値を提供し、変換装置により表現形式が変換された変換データ要素の値を取得する変換実行部と、変換実行部が取得した変換データ要素の値を結合し、変換データを生成する結合部とを備えるデータ生成装置と、データ生成装置から元データ要素の値を取得して表現形式を変換する変換装置とを備えることを特徴とする。
【００１５】
本発明に係るデータ生成方法は、元データを複数の元データ要素の値に分割し、元データ要素の値を、目標とする目標データの目標データ要素の表現形式で示される値に変換するために必要な変換装置を、元データ要素毎に決定し、決定した変換装置に元データ要素の値を提供し、変換装置により表現形式が変換された変換データ要素の値を取得し、取得した変換データ要素の値を結合し、変換データを生成することを特徴とする。
【発明の効果】
【００１６】
以上説明したように、本発明によれば、データを変換し、目標とする表現形式のデータを容易に得ることができる。
【発明を実施するための最良の形態】
【００１７】
（データ生成システム）
図１に示すように、データ生成システム１は、端末装置１０と、データ生成装置２０と、配信サーバ３０ａ，３０ｂと、翻訳サーバ４０ａ，４０ｂと、通貨変換サーバ４０ｃ，４０ｄと、単位変換サーバ４０ｅと、サービス情報データベース５０と、変換パスデータベース６０と、ネットワーク７０とを備える。
【００１８】
端末装置１０と、データ生成装置２０と、配信サーバ３０ａ，３０ｂと、翻訳サーバ４０ａ，４０ｂと、通貨変換サーバ４０ｃ，４０ｄと、単位変換サーバ４０ｅと、サービス情報データベース５０と、変換パスデータベース６０は、ネットワーク７０を介して接続し、ネットワーク７０を介してデータをやりとりする。ネットワーク７０は、例えば、インターネット等を用いることができる。
【００１９】
配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅは、端末装置１０及びデータ生成装置２０にサービスを提供する。配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅは、例えば、コンテンツプロバイダのようなサービス提供者によって、ウェブサービスとして設けられる。
【００２０】
配信サーバ３０ａ，３０ｂはコンテンツを提供する配信サービスを提供する。配信サーバ３０ａ，３０ｂは、例えば、情報検索を行って、その検索結果をコンテンツとして提供する。翻訳サーバ４０ａ，４０ｂは、言語を変換する翻訳サービスを提供する。通貨変換サーバ４０ｃ，４０ｄは、通貨単位を変換する通貨変換サービスを提供する。単位変換サーバ４０ｅは、例えば、温度、距離等の単位を変換する単位変換サービスを提供する。このように、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅは、言語、単位等のデータの表現形式を変換する変換装置として機能し、データ変換を行う変換サービスを提供する。
【００２１】
配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅは、サービスに関する情報（以下「サービスメタデータ」という）を、サービス情報データベース５０に格納して、登録する。又、配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅは、データ生成装置２０から提供される、変換装置の情報である生成条件、及び、変換パスを格納する。
【００２２】
サービス情報データベース５０は、サービスに関するサービスメタデータを記憶する。図２に示すように、サービス情報データベース５０は、サービスメタデータとして、サービスＩＤ、ＵＲＬ、サービス内容、入力データ情報、出力データ情報を記憶する。配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅは、サービスＩＤに対応付けてサービスメタデータを、サービス情報データベース５０に格納する。
【００２３】
サービスＩＤは、サービスを識別する識別データである。配信サーバ３０ａ、配信サーバ３０ｂ、翻訳サーバ４０ａ、翻訳サーバ４０ｂ、通貨変換サーバ４０ｃ、通貨変換サーバ４０ｄ、単位変換サーバ４０ｅが提供するサービスにはそれぞれ、サービスＩＤとして「１」、「２」、「３」、「４」、「５」、「６」、「７」が付与されている。図２のサービス内容に示すように、配信サーバ３０ａ，３０ｂは、それぞれ「食事に関するコンテンツを配信するレストランガイド」、「Ｒｅｓｔａｕｒａｎｔ  Ｇｕｉｄｅ」という内容で示されるサービスを提供する。具体的には、配信サーバ３０ａ，３０ｂは、端末装置１０から指定された条件に基づいて検索を行い、食事に関するコンテンツを提供する。翻訳サーバ４０ａは、「和文英訳」のサービス、翻訳サーバ４０ｂは、「英文和訳」のサービスを提供する。通貨変換サーバ４０ｃは、「米ドル−日本円通貨変換」で示されるサービス、通貨変換サーバ４０ｄは、「シンガポールドル−米ドル通貨変換」で示されるサービスを提供する。単位変換サーバ４０ｅは、温度、距離等の「単位変換」を行うサービスを提供する。
【００２４】
入力データ情報は、配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅ等のサービスを行うサーバが入力を受ける入力データに関する情報である。出力データ情報は、サービスを行うサーバが出力する出力データに関する情報である。入力データ情報や出力データ情報には、入力データや出力データの条件と、入力データや出力データのオントロジー情報等が含まれる。入力データや出力データの条件には、入力データ出力データに含まれる要素の数及び順番、要素の内容、要素の表現形式等がある。
【００２５】
要素の順番は、要素の入力や出力の順番である。サービス情報データベース５０では、入力の順番が早い順に要素の内容が格納されている。例えば、図２に示すように、サービスＩＤ＝１のサービスでは、入力データには３つの要素があり、各要素の内容は「地域」、「予算」、「タイプ」であり、要素の入力順番は、「地域」、「予算」、「タイプ」の順である。
【００２６】
要素の表現形式には、言語、単位、集約要素であるか単一要素であるか等がある。集約要素とは、複数の要素を一つの要素に集約して扱う要素である。集約要素を構成する各要素を「構成要素」という。「集約要素」には例えばウェブサービスで扱われる「クラス」がある。例えば、図２に示すように、サービスＩＤ＝１のサービスの入力データに含まれる要素「地域」の表現形式は言語が「日本語」、要素「予算」の表現形式は単位が「円」である。又、サービスＩＤ＝１のサービスの出力データに含まれる要素「所在地」の表現形式は、集約要素であり、集約要素に含まれる構成要素が「住所」、「電話」である。更に、サービスＩＤ＝７のサービスの入力データに含まれる要素「温度」の表現形式の単位は「摂氏」、出力データに含まれる要素「温度」の表現形式の単位は「華氏」である。
【００２７】
オントロジー情報とは、要素同士の意味の関係性に関する情報をいう。オントロジーは、例えば、文献「溝口理一郎著、“オントロジー工学の試み”、人工知能学会  全国大会論文集、１９９８年」等において詳しく示されている。例えば、図２に示すように、サービスＩＤ＝１のサービスの入力データに含まれる要素「予算」のオントロジー情報は、「Ｂｕｄｇｅｔに等しい」となっており、要素「予算」と要素「Ｂｕｄｇｅｓｔ」の意味は等しいことを示している。又、サービスＩＤ＝１のサービスの出力データに含まれる要素「店名」のオントロジー情報は、「Ｎａｍｅに含まれる」となっており、要素「店名」の意味の上位概念は「Ｎａｍｅ」であることを示している。
【００２８】
入力データや出力データの条件は、例えば、ＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等の記述言語により記述できる。又、オントロジー情報等は、例えば、ＯＷＬ（Ｗｅｂ  Ｏｎｔｏｌｏｇｙ  Ｌａｎｇｕａｇｅ）等のオントロジー記述言語により記述できる。
【００２９】
以上のようにして、配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅが、サービスメタデータをサービス情報データベース５０に格納して登録し、サービス情報データベース５０が、サービスメタデータを記憶する。
【００３０】
変換パスデータベース６０は、変換パスを記憶する。変換パスとは、元データ要素の値を目標データ要素の表現形式で示される値に変換するために必要な変換装置の接続に関する情報である。そのため、変換パスは、どの変換装置をどのような順番で接続するかを示す。変換パスデータベース６０は、図３に示すように、切替条件と、生成条件と、変換パスとを記憶する。
【００３１】
端末装置１０は、例えば、移動等の何らかの理由により、現在利用しているサービスから類似する他のサービスに、利用するサービスを切り替える場合がある。現在利用している切替元のサービスを「切替元サービス」、新たに利用する切替先のサービスを「切替先サービス」という。切替条件は、切替元サービスと切替先サービスとの対応である。具体的には、変換パスデータベース６０は、切替条件「切替元サービスのサービスＩＤ→切替先サービスのサービスＩＤ」を記憶する。図３に示す「サービスＩＤ＝２→サービスＩＤ＝１」は、切替元サービスが、配信サーバ３０ｂが提供するサービスＩＤ＝２のサービスであり、切替先サービスが、配信サーバ３０ａが提供するサービスＩＤ＝１のサービスであることを示している。
【００３２】
生成条件は、変換ペアと不足要素を含む。変換パスデータベース６０は、変換ペアと不足要素を、入力データ、出力データ毎に記憶する。変換ペアは、元データ要素と目標データ要素との組み合わせである。即ち、元データ要素は変換前のデータの要素であり、目標データ要素は、目標とする表現形式で表された目標データの要素である。例えば、切替元サービスにおける入力データの要素が元データ要素となり、切替先サービスにおける入力データの要素が目標データ要素となる。
【００３３】
具体的には、変換パスデータベース６０は、変換ペア「元データ要素→目標データ要素」を記憶する。例えば、図３に示すように、サービスＩＤ＝２のサービスからサービスＩＤ＝１のサービスに切り替える場合、入力データの変換ペアには「Ｂｕｄｇｅｔ→予算」、「Ａｒｅａ→地域」がある。又、出力データの変換ペアには「店名→Ｎａｍｅ」、「情報→Ｉｎｆｏｒｍａｔｉｏｎ」、「住所→Ａｄｄｒｅｓｓ」がある。尚、元データに存在し、目標データに存在しない要素（以下「過剰要素」という）が存在する場合には、変換パスデータベース６０は、変換ペアとして「電話→削除」を記憶する。「電話→削除」は、過剰要素を目標データから削除することを示す。
【００３４】
不足要素は、目標データに必要な変換データ要素以外の要素である。変換データ要素は、元データ要素を変換して得られる要素である。例えば、図２に示すように、サービスＩＤ＝１のサービスでは、入力データの要素として、「地域」、「予算」「タイプ」が必要である。これに対しサービスＩＤ＝２のサービスにおける入力データの要素は、「Ｂｕｄｇｅｔ」、「Ａｒｅａ」だけであり、「タイプ」に相当する要素は必要ない。そのため、目標データであるサービスＩＤ＝１における入力データに必要な要素のうち、元データ要素であるサービスＩＤ＝２における入力データの要素を変換して得られる変換データ要素にない「タイプ」が不足要素となる。又、サービスＩＤ＝２のサービスでは出力データの要素として「Ｎａｍｅ」、「Ｉｎｆｏｒｍａｔｉｏｎ」、「Ａｄｄｒｅｓｓ」、「Ｏｐｅｎ  Ｈｏｕｒｓ」を出力する。これに対し、サービスＩＤ＝１のサービスの出力データは「店名」、「情報」、「住所」、「電話」だけであり、「Ｏｐｅｎ  Ｈｏｕｒｓ」に対応する要素は出力しない。そのため、目標データであるサービスＩＤ＝２の出力データの要素のうち、元データ要素であるサービスＩＤ＝１の出力データの要素を変換して得られる変換データ要素にない「Ｏｐｅｎ  Ｈｏｕｒｓ」が不足要素となる。
【００３５】
変換パスは、変換装置として機能する翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅのサービスＩＤを用いて特定する。変換パスは、サービスを接続する順番を、サービスＩＤで記述することにより表すことができる。例えば、図３に示すように、サービスＩＤ＝２のサービスからサービスＩＤ＝１のサービスに切り替える場合、変換ペア「Ｂｕｄｇｅｔ→予算」の変換パスは「サービスＩＤ＝６→サービスＩＤ＝５」となり、サービスＩＤ＝６のシンガポールドルと米ドルの通貨変換サービスを提供する通貨変換サーバ４０ｄにより変換を行い、次に、サービスＩＤ＝５の米ドルと日本円の通貨変換サービスを提供する通貨変換サーバ４０ｃにより変換を行うことを示す。
【００３６】
端末装置１０は、配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅ等が提供するサービスを、ネットワーク７０を介して受ける。端末装置１０は、例えば、サービス情報データベース５０を参照することによりサービスメタデータを取得できる。端末装置１０は、取得したサービスメタデータを参照してサービスを選択し、サービスの提供を要求する提供要求を送信する。提供要求には、サービスＩＤやＵＲＬ、サービス内容等、サービスを特定できる情報が含まれる。
【００３７】
例えば、端末装置１０が、最初に、サーバ３０ｂが提供するサービスＩＤ＝２のサービスの提供要求を送信した場合、サーバ３０ｂは、サービスＩＤ＝２のサービスのためのクライアントアプリケーションを端末装置１０に提供する。端末装置１０は、取得したサービスＩＤ＝２のサービスの提供を受けるためのクライアントアプリケーションを動作させてサービスを利用する。
【００３８】
その後、端末装置１０は、移動等の何らかの理由により、提供を受けているサービスを他のサービスに切り替えたい場合、データ生成装置２０に切替要求を送信する。切替要求には、切替元サービスのサービスＩＤと切替先サービスのサービスＩＤ、及び、切替元サービスの表現形式で表された入力データが含まれる。端末装置１０は、切替先サービスにサービスが切り替わった後も、切替元サービスのクライアントアプリケーションを用いてサービスを利用する。例えば、端末装置１０は、サービスＩＤ＝２のサービスからサービスＩＤ＝１のサービスに切り替わった場合であっても、サービスＩＤ＝２のサービスのためのクライアントアプリケーションを用いて、サービスＩＤ＝１のサービスを受ける。端末装置１０は、例えば、携帯電話、携帯情報端末、ノートパソコン等を用いることができる。
【００３９】
データ生成装置２０は、変換装置を用いてデータを生成する。データ生成装置２０は、例えばインターネットサービスプロバイダや携帯電話キャリアによって提供される。データ生成装置２０は、図４に示すように、分割部２１と、決定部２２と、変換実行部２３と、不足要素取得部２４と、結合部２５とを備える。
【００４０】
決定部２２は、元データ要素の値を目標データ要素の表現形式で示される値に変換するために必要な変換装置を、元データ要素毎に決定する。決定部２２は、分割部２１から切替元サービスと切替先サービスのサービスＩＤを取得する。決定部２２は、取得した切替元サービスと切替先サービスのサービスＩＤに基づいて、サービス情報データベース５０から切替元サービスと切替先サービスのサービスメタデータを取得する。決定部２２は、サービスメタデータに基づいて入力データ、出力データを複数の要素に分割する。本実施形態では、決定部２２は、入力データ情報や出力データ情報を、その内容毎に分割する。決定部２２は、切替元サービスの入力データ情報、切替先サービスの出力データ情報を分割した要素を元データ要素とし、切替先サービスの入力データ情報、切替元サービスの出力データ情報を分割した要素を目標データ要素とする。
【００４１】
例えば、切替元サービスがサービスＩＤ＝２のサービスであり、切替先サービスがサービスＩＤ＝１のサービスの場合、決定部２２は、元データ要素「Ｂｕｄｇｅｔ」、「Ａｒｅａ」、「店名」、「情報」、「住所」、「電話」に分割し、目標データ要素「地域」、「予算」、「タイプ」、「Ｎａｍｅ」、「Ａｄｄｒｅｓｓ」、「Ｉｎｆｏｍａｔｉｏｎ」、「Ｏｐｅｎ  Ｈｏｕｒｓ」に分割する。
【００４２】
そして、決定部２２は、取得したサービスメタデータに含まれる、元データ要素のオントロジー情報と目標データ要素のオントロジー情報に基づいて変換ペアを生成する。具体的には、決定部２２は、オントロジー情報に基づいた元データ要素と目標データ要素のマッチングを行って、要素同士の意味の関係性が「等しい」、「含む」、若しくは「含まれる」関係にある元データ要素と目標データ要素とを対応付けて、変換ペアを生成する。
【００４３】
例えば、決定部２２は、元データ要素「Ｂｕｄｇｅｔ」のオントロジー情報「予算に等しい」に基づいて、「Ｂｕｄｇｅｔ」と「予算」とを対応付けて、変換ペア「Ｂｕｄｇｅｔ→予算」を生成する。又、決定部２２は、元データ要素「店名」のオントロジー情報は、「Ｎａｍｅに含まれる」に基づいて、「店名」と「Ｎａｍｅ」とを対応付けて、変換ペア「店名→Ｎａｍｅ」を生成する。又、決定部２２は、オントロジーが記載されていない要素であっても、内容及び表現形式のいずれか、又は、内容及び表現形式の両方が等しい要素を対応づけて変換ペアを作成することができる。例えば、サービスＩＤ＝５のサービスの入力要素とサービスＩＤ＝６のサービスの出力要素は、内容が「金額」であり、表現形式が「ＵＳＤｏｌｌａｒ」であって共通する。従って、オントロジーが記載されていなくても、決定部２２はこれらを対応づけることができる。
【００４４】
又、決定部２２は変換ペアを生成できなかった目標データ要素を不足要素とする。例えば、目標データ要素にある「タイプ」に対応する元データ要素がないため、「タイプ」は不足要素となる。更に、決定部２２は、過剰要素が存在する場合には、過剰要素を目標データから削除するための変換ペアを生成する。例えば、元データ要素にある「電話」に対応する要素は、目標データには存在しないため、変換ペア「電話→削除」を生成する。この不足要素及び過剰要素は、例えば切替元サービスには入力する必要がなかったデータ要素に対応するデータ要素を、切替先サービスに入力する必要がある場合や、逆に切替先サービスには入力する必要がないデータ要素に対応するデータ要素を、切替元サービスには入力する必要があった場合のように、入力データや出力データの要素の数が異なる場合に生じる。
【００４５】
次に、決定部２２は、生成した変換ペアに基づいて、変換装置を決定する。具体的には、決定部２２は、元データ要素と目標データ要素に基づいて、サービス情報データベース５０を参照し、元データ要素を入力できるサービス（以下「開始ノード側サービス」という）と、目標データ要素を出力できるサービス（以下「終了ノード側サービス」という）を検索する。そして、決定部２２は検索した開始ノード側サービスと終了ノード側サービスに同一サービスがあれば、そのサービスを提供するサーバを変換装置に決定する。例えば、「Ａｒｅａ→地域」の変換ペアについては、元データ要素である「Ａｒｅａ」の表現形式「Ｅｎｇｌｉｓｈ」と同じ表現形式の要素を入力できるサービスが開始ノード側サービスである。決定部２２は、サービス情報データベース５０を参照して、開始ノード側サービスとしてサービスＩＤ＝４のサービスを検索する。又、目標データ要素である「地域」の表現形式「日本語」と同じ表現形式の要素を出力するサービスが終了ノード側サービスである。決定部２２は、サービス情報データベース５０を参照して、終了ノード側サービスとしてサービスＩＤ＝４のサービスを検索する。そして、決定部２２は検索した開始ノード側サービスと終了ノード側サービスが同一であるため、サービスＩＤ＝４を変換パスに決定し、このサービスを提供する翻訳サーバ４０ｂを変換装置に決定する。
【００４６】
一方、決定部２２は、開始ノード側サービスと終了ノード側サービスに同一サービスがなければ、開始ノード側サービスが出力する要素と終了ノード側サービスに入力できる要素の表現形式が同一のサービスがあるか検索する。そして、決定部２２は、その条件を満たす「開始ノード側サービス→終了ノード側サービス」に変換パスを設定し、これらのサービスを提供するサーバを変換装置に決定する。例えば、「Ｂｕｄｇｅｔ→予算」の変換ペアについては、元データ要素である「Ｂｕｄｇｅｔ」の表現形式「ＳＤｏｌｌａｒ」と同じ表現形式の要素を入力できるサービスが開始ノード側サービスである。決定部２２は、サービス情報データベース５０を参照して、開始ノード側サービスとしてサービスＩＤ＝６のサービスを検索する。又、目標データ要素である「予算」の表現形式「円」と同じ表現形式の要素を出力するサービスが終了ノード側サービスである。決定部２２は、サービス情報データベース５０を参照して、終了ノード側サービスとしてサービスＩＤ＝５のサービスを検索する。そして、決定部２２は検索した開始ノード側サービスと終了ノード側サービスは同一でないことを判断する。決定部２２は、開始ノード側サービスであるサービスＩＤ＝６のサービスが出力する要素と、終了ノード側サービスであるサービスＩＤ＝５のサービスに入力できる要素の表現形式が共に「ＵＳＤｏｌｌａｒ」で同一であることを判断する。従って「サービスＩＤ＝６→サービスＩＤ＝５」を変換パスに決定し、これらのサービスを提供できる通貨変換サーバ４０ｄ、４０ｃを変換装置に決定する。このように変換パスは、変換サービスを多段に接続して生成することも可能である。
【００４７】
そして、決定部２２は決定した変換装置の情報として、生成条件に対応づけられた変換パスを、切替条件ごとに変換パスデータベース６０に格納する。又、決定部２２は、分割部２１にも、変換装置の情報として生成条件に対応づけられた変換パスを入力する。更に決定部２２は、切替元サービス及び切替先サービスを提供するサーバに対しても、変換装置の情報として、生成条件に対応づけられた決定した変換パスを提供する。
【００４８】
更に、決定部２２は、結合部２５が生成した変換データと目標データの条件とを比較し、比較結果に応じて変換装置を変更する。具体的には決定部２２は、結合部２５が生成した変換データを取得する。そして、決定部２２は、サービス情報データベース５０を参照して、目標データの条件を取得する。決定部２２は、取得した変換データと目標データの条件を比較し、適切なデータ変換が行われたかを判断する。例えば決定部２２は、結合部２５から変換データとして「銀座、５２００、Ｉｔａｌｉａｎ」を取得する。そして決定部２２は、目標データの条件として、サービスＩＤ＝１のサービスに係る入力データ情報の条件を取得する。決定部２２は、これらを比較して変換データが３つのデータ要素の値を備えるかを判断する。又、図２には示されていないが、例えば「予算」の内容に対する表現形式が、正の整数値である旨を示していれば、決定部２２は変換データの２つめのデータ要素の値である「５２００」が正の整数値であるかを判断する。決定部２２は、比較結果として、適切なデータ変換が行われたか否かを結合部２５に入力する。そして、決定部２２は、適切なデータ変換が行われなかったと判断した場合は、変換装置を変更する。決定部２２は、変換装置を決定したのと同様に、変換装置を変更する。ただし、決定部２２は、例えば元データ要素の値を目標データ要素の表現形式で示される値に変換できるサービスに係るサービスメタデータが複数サービス情報データベース５０に登録されている場合は、以前変換パスに決定したサービスと異なるサービスを変換パスに決定し、そのサービスを提供するサーバを変換装置に決定する。
【００４９】
分割部２１は、端末装置１０から切替要求を受信する。分割部２１は、切替要求に含まれる切替元サービスのサービスＩＤと切替先サービスのサービスＩＤに基づいて、変換パスデータベース６０を検索し、「切替元サービス→切替先サービス」を切替条件とする変換装置の情報が存在するか否かを判断する。変換装置の情報とは生成条件に対応づけられた変換パスである。決定部２２は、目的とする変換装置の情報が存在する場合には、その変換装置の情報を取得する。一方、分割部２１は、変換パスデータベース６０に、切替要求と一致する切替条件が存在しなければ、決定部２２に切替元サービスのサービスＩＤと切替先サービスのサービスＩＤを入力し、決定部２２から変換装置の情報を取得する。
【００５０】
分割部２１は、元データを複数の元データ要素の値に分割する。分割部２１は、端末装置１０からの切替要求に含まれる切替元サービスの表現形式で表された入力データを取得する。又、分割部２１は、切替先サービスを提供するサーバから出力データを取得する。これらのデータは、表現形式を変換される元データとなる。分割部２１は、取得した元データを複数の元データ要素の値に分割する。分割部２１は、サービス情報データベース５０を参照し、各サービスのサービスメタデータを取得する。分割部２１は、取得したサービスメタデータに含まれる要素の内容に基づいて、入力データや出力データを分割する。例えば、分割部２１は、切替要求に含まれる、切替元サービスの表現形式で表された入力データ「８０、Ｇｉｎｚａ」を取得する。そして、分割部２１は、要素の内容である「Ｂｕｄｇｅｔ」、「Ａｒｅａ」に基づいて、「８０」、「Ｇｉｎｚａ」に分割する。そして、分割部２１は、変換パスデータベース６０又は決定部２２からから取得した変換装置の情報と、分割して得た元データ要素の値と、取得したサービスメタデータとを、変換実行部２３に入力する。更に、分割部２１は、決定部２２から取得した変換装置の情報に含まれる生成条件に不足要素があれば、これを不足要素取得部２４に入力する。
【００５１】
変換実行部２３は、決定部２２が決定した変換装置に元データ要素の値を提供し、変換装置により表現形式が変換された変換データ要素の値を取得する。具体的には、変換実行部２３は、分割部２１から取得した元データ要素の値を、分割部２１から取得した変換装置の情報である、変換パスに示されるサービスを提供するサーバに提供する。そして、変換実行部２３は、サーバにより表現形式が変換された変換データ要素の値を取得する。例えば、変換実行部２３は、分割部２１から元データ要素の値として「８０」、「Ｇｉｎｚａ」を取得する。又、変換実行部２３は、図３に示されるような「サービスＩＤ＝２→サービスＩＤ＝１」の切替条件に対応する変換装置の情報を取得する。変換実行部２３は、取得した変換装置の情報から、「Ｂｕｄｇｅｔ→予算」の変換ペアに対応する変換パスを取得する。そして変換実行部２３は、サービスＩＤ＝６のサービスを提供する通貨変換サービス４０ｂに「８０」を提供し、「シンガポールドル−米ドル通貨変換」のサービスにより変換された値である「５０」を取得する。続いて変換実行部２３は、サービスＩＤ＝５のサービスを提供する通貨変換サービス４０ａに「５０」を提供し、「米ドル−日本円通貨変換」のサービスにより変換された値である「５２００」を取得する。変換実行部２３は同様にして、「Ａｒｅａ→地域」の変換ペアに対応する変換パスを参照し、サービスＩＤ＝４のサービスを提供する翻訳サーバ４０ｂに「Ｇｉｎｚａ」を提供する。そして、変換実行部２３は、翻訳サーバ４０ｂから「銀座」を取得する。このように変換実行部２３は、元データ要素の値を、要素の表現形式が異なる変換データ要素の値に変換する。変換実行部２３は、変換データ要素の値と、分割部２１から取得したサービスメタデータを結合部２５に入力する。
【００５２】
不足要素取得部２４は、目標データに必要な変換データ要素以外の不足要素の値を取得する。具体的には不足要素取得部２４は、分割部２１から、目標データに必要な変換データ要素以外の不足要素を取得する。そして、不足要素取得部２４は、取得した不足要素の値を端末装置１０又は切替先サービスを提供するサーバに問い合わせて取得する。例えば不足要素取得部２４が、分割部２１から「タイプ」を不足要素として取得した場合は、不足要素取得部２４は、「タイプ」の値を端末装置１０に問い合わせ、例えば「Ｉｔａｌｉａｎ」を取得する。又、例えば不足要素取得部２４が、出力データの不足要素である「Ｏｐｅｎ  Ｈｏｕｒｓ」を分割部２１から取得する。不足要素取得部２４は、切替先サービスを提供する配信サーバ３０ａに対して「Ｏｐｅｎ  Ｈｏｕｒｓ」の値を問い合わせ、例えば「１１：００−２３：００」を得る。尚、端末装置１０や配信サーバ３０ａが不足要素を提供できない場合は、不足要素取得部２４は、不足要素の値を空白に設定してもよい。そして、不足要素取得部２４は、取得した不足要素の値を結合部２５に入力する。
【００５３】
結合部２５は、変換データ要素の値を結合し、変換データを生成する。特に、結合部２５は、変換データ要素の値と不足要素取得部２４が取得した不足要素の値とを結合し、変換データを生成する。具体的には、結合部２５は、変換実行部２３から変換データ要素の値と、サービスメタデータを取得する。又結合部２５は、不足要素取得部２４から不足要素の値を取得する。そして、結合部２５は、変換データ要素の値と不足要素の値を、サービスメタデータに含まれる入力データ情報又は出力データ情報を参照して結合し、変換データを生成する。例えば、結合部２５は変換実行部２３から「予算」、「地域」の値として「５２００」、「銀座」を取得し、不足要素取得部２４から「タイプ」の値として「Ｉｔａｌｉａｎ」を取得する。サービスＩＤ＝１の入力データ情報では、要素の内容は「地域」、「予算」、「タイプ」の順番であり、結合部２５が変換要素の値及び不足要素の値を取得したのとは要素の順番が異なる。結合部２５は、目標データである、サービスＩＤ＝１のサービスに係る入力データの要素の内容の順番通り、「銀座、５２００、Ｉｔａｌｉａｎ」のように結合する。
【００５４】
結合部２５は、変換データを決定部２２に入力する。そして、結合部２５は、決定部２２から変換データと目標データの条件の比較結果を取得する。比較結果が、適切なデータ変換が行われたことを示す場合は、結合部２５は、変換データを、切替先サービスを提供するサーバ若しくは端末装置１０に提供する。一方、結合部２５は、比較結果が、適切なデータ変換が行われなかったことを示す場合は、生成した変換データを破棄する。そして、再度、変換実行部２３から変換データ要素の値を取得し、不足要素取得部２４から不足要素の値を取得して変換データを生成する。
【００５５】
このようなデータ生成装置２０を用いれば、例えば次のように、端末装置１０のユーザが移動しながら、同一のクライアントアプリケーションを用いて地域性の高いサービスの提供を受けようとする場合であっても、ユーザの移動に応じて、柔軟に提供を受けるサービスを切り替えることができる。図５に概念的に示されるように、ネットワーク７０の一つであるインターネット上で種々のサービスが提供されている。サービス群８０ａは、シンガポールにおける旅行者向けサービスを複数含む。このうち、「Ｒｅｓｔａｕｒａｎｔ  Ｇｕｉｄｅ」、「Ｂｕｓ  Ｉｎｆｏｒｍａｔｉｏｎ」、「Ｓｉｎｇａｐｏｒｅ  Ｍａｐ」、「Ｔｒａｄｉｔｉｏｎａｌ  Ｃｉｔｙ」はコンテンツを提供する配信サービスであり、「Ｔｒａｎｓｌａｔｏｒ」はシンガポール内の端末装置から利用できる変換サービスである。これらのサービスは、例えばシンガポール観光局によって管理される。変換サービスとは翻訳、通貨変換、単位変換等のサービスをいう。一方サービス群８０ｂは、東京における旅行者向けサービスを複数含む。このうち、「レストランガイド」、「電車の路線情報」、「東京の地図」、「店舗情報」はコンテンツを提供する配信サービスであり、「変換サービス」は、東京内の端末装置から利用できる変換サービスである。これらのサービスは、例えば東京の観光局によって管理される。
【００５６】
旅行者Ａはシンガポールにおいて、端末装置として、例えば携帯電話を用いてサービスの提供を受けていた者を示す。旅行者Ａの携帯電話上では、シンガポールにおける配信サービスの提供を受けるための旅行用クライアントアプリケーションが動作する。このクライアントアプリケーションは、サービス群８０ａを管理するシンガポール観光局から提供されたものである。従って、クライアントアプリケーションのインターフェースはサービス群８０ａに含まれる各サービス用にカスタマイズされている。この旅行者Ａが東京に移動したものとする。旅行者Ａは、シンガポールで提供を受けていた「Ｒｅｓｔａｕｒａｎｔ  Ｇｕｉｄｅ」の代わりに「レストランガイド」を利用したいと考える。ただし、「Ｒｅｓｔａｕｒａｎｔ  Ｇｕｉｄｅ」と「レストランガイド」では入出力データの表現形式が異なるため、携帯電話上のクライアントアプリケーションを用いて、そのまま「レストランガイド」サービスの提供を受けることはできない。しかし、インターネットには、本発明に係るデータ生成装置２０、サービス情報データベース５０、変換パスデータベース６０が接続されている。このため、クライアントアプリケーションが切替要求をデータ生成装置２０に送信することにより、必要な表現形式の変換が可能となる。そして旅行者Ａは、クライアントアプリケーションを変更せずに、提供を受けるサービスを「Ｒｅｓｔａｕｒａｎｔ  Ｇｕｉｄｅ」から「レストランガイド」に切り替えることが可能となる。即ち、旅行者Ａはシンガポールにいたときと同様にサービスを利用できる。これは、東京に居る旅行者Ａの友人Ｂが、旅行者Ａからシンガポール観光局によって提供されたクライアントアプリケーションを取得した場合も同様である。
【００５７】
（データ生成方法）
次に、図１に示したデータ生成システム１を用いたデータ生成方法を説明する。まず、図６に、サービスメタデータ登録から変換データが端末装置１０に提供されるまでの手順を示す。ここでは、配信サーバ３０ｂが提供するサービスが切替元サービスであり、配信サーバ３０ａが提供するサービスが切替先サービスである場合について説明する。配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅはそれぞれサービス情報データベース５０に対して、サービスメタデータを格納する（Ｓ１０１，Ｓ１０２，Ｓ１０３）。端末装置１０は、データ生成装置２０に対して切替要求を送信する（Ｓ１０４）。データ生成装置２０は、切替要求に含まれる切替元サービスのサービスＩＤと切替先サービスのサービスＩＤに基づいて、変換パスデータベース６０を検索し、「切替元サービス→切替先サービス」を切替条件とする変換装置の情報が存在すれば、これを取得する（Ｓ１０５）。
【００５８】
データ生成装置２０は、変換装置の情報が存在するか判断し（Ｓ１０６）、存在しなければ、サービスＩＤに基づいて、サービス情報データベース５０から切替元サービスと切替先サービスのサービスメタデータを取得する（Ｓ１０７）。データ生成装置２０は、サービスメタデータに含まれる入力データ情報や出力データ情報を複数の要素に分割する（Ｓ１０８）。データ生成装置２０は、オントロジー情報に基づいて、元データ要素と目標データ要素の変換ペアを生成する（Ｓ１０９）。データ生成装置２０は、生成した変換ペアに基づいて、変換装置を決定する（Ｓ１１０）。データ生成装置２０は、決定した変換装置の情報を変換パスデータベース６０に格納する（Ｓ１１１）。データ生成装置２０は、決定した変換装置の情報を、切替先サービスを提供する配信サーバ３０ａに対しても提供する（Ｓ１１２）。配信サーバ３０ａは、提供された変換装置の情報を格納する（Ｓ１１３）。データ生成装置２０は、同様に変換装置の情報を切替元サービスを提供する配信サーバ３０ｂに対しても提供し（Ｓ１１４）、配信サーバ３０ｂは、提供された変換装置の情報を格納する（Ｓ１１５）。一方、データ生成装置２０が、ステップ（Ｓ１０６）において変換装置の情報が存在すると判断した場合には、ステップ（Ｓ１０７）〜ステップ（Ｓ１１５）は行われない。
【００５９】
そして、データ生成装置２０は、サービス情報データベース５０から、切替元サービス及び切替先サービスに係るサービスメタデータを取得する（Ｓ１１６）。データ生成装置２０は、切替要求に含まれる、切替元サービスの表現形式で表された入力データを元データとして、元データ要素の値に分割する（Ｓ１１７）。データ生成装置２０は、決定した変換装置の情報に基づいて、元データ要素の値を、変換サービスを提供する翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅに提供する（Ｓ１１８）。そして、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅは、その応答として変換データ要素の値を提供する（Ｓ１１９）。変換パスが、変換サービスを多段に接続している場合は、ステップ（Ｓ１１８）とステップ（Ｓ１１９）が繰り返される。データ生成装置２０は、不足要素を端末装置１０に問い合わせて取得する（Ｓ１２０）。データ生成装置２０は、変換データ要素の値と不足要素の値を結合して変換データを生成する（Ｓ１２１）。データ生成装置２０は、変換データと目標データの条件を比較し、適切なデータ変換が行われたかを判断する（Ｓ１２２）。データ生成装置２０は、適切なデータ変換が行われなかったと判断した場合は、再度ステップ（Ｓ１０７）に戻り、変換装置を決定することによって変換装置を変更する。
【００６０】
一方、ステップ（Ｓ１２２）において適切なデータ変換が行われたと判断した場合は、データ生成装置２０は変換データを配信サーバ３０ａに提供する（Ｓ１２３）。そして、配信サーバ３０ａはコンテンツを提供する（Ｓ１２４）。データ生成装置２０は、切替先サービスの出力データであるコンテンツを元データとして、ステップ（Ｓ１１７）〜ステップ（Ｓ１１９）と同様に変換データ要素の値を得る（Ｓ１２５〜Ｓ１２７）。そして、データ生成装置２０は、不足要素を配信サーバ３０ａに問い合わせて取得する（Ｓ１２８）。データ生成装置２０は、変換データ要素の値と不足要素の値を結合して変換データを生成する（Ｓ１２９）。データ生成装置２０は、ステップ（Ｓ１２２）と同様に適切なデータ変換が行われたかを判断する（Ｓ１３０）。データ生成装置２０は、適切なデータ変換が行われなかったと判断した場合は、再度ステップ（Ｓ１０７）に戻り、変換装置を決定することによって変換装置を変更する。一方、データ生成装置２０は適切なデータ変換が行われたと判断した場合は、変換データを端末装置１０に提供する（Ｓ１３１）。
【００６１】
次に、図７では、決定部２２が変換パスを決定する方法を説明する。まず、決定部２２は、開始ノード側サービスリスト及び終了ノード側サービスリストを作成する（Ｓ２０１，Ｓ２０２）。開始ノード側サービスは、元データ要素を入力できるサービスであり、終了ノード側サービスは目標データ要素を出力できるサービスである。開始ノード側サービスリストとは、サービス情報データベース５０にサービスメタデータが保持されるサービスの内、開始ノード側サービスに該当する全てのサービスのリストである。同様に終了ノード側サービスリストとは、サービス情報データベース５０にサービスメタデータが保持されるサービスの内、終了ノード側サービスに該当する全てのサービスのリストである。
【００６２】
決定部２２は、両リストに同一のサービスがあるか判断する（Ｓ２０３）。決定部２２は、同一のサービスがあれば、変換パスを「開始ノード→該当サービス→終了ノード」に決定する（Ｓ２０４）。尚、初期段階においては開始ノード及び終了ノードには何も設定されていない。従って、１回目の検索であれば、変換パスは該当サービスとなる。一方ステップ（Ｓ２０３）において、同一のサービスがないと判断された場合は、開始ノード側サービスの出力要素と、終了ノード側サービスの入力要素の表現形式が同一のサービスがあるか判断する（Ｓ２０５）。表現形式が同一のサービスがある場合は、決定部２２は、変換パスを「開始ノード→該当開始ノード側サービス→該当終了ノード側サービス→終了ノード」に決定する（Ｓ２０６）。
【００６３】
決定部２２は、ステップ（Ｓ２０５）においても表現形式が同一のサービスがないと判断した場合には、所定の再起回数の上限に達したか判断する（Ｓ２０７）。上限に達している場合は、変換パスが生成できないものとして終了する。一方、ステップ（Ｓ２０７）において、決定部２２が、上限に達していないと判断した場合には、ステップ（Ｓ２０１）に戻って検索をする。その際、決定部２２は、開始ノード側サービスリスト内のいずれかのサービスを第１のサービスとし、終了ノード側サービスリスト内のいずれかのサービスを第２のサービスとして決定する（Ｓ２０８）。そして、決定部２２は、第１のサービスの出力データの要素を元データ要素に設定し、第２のサービスの入力データの要素を目標データ要素に設定する（Ｓ２０９）。決定部２２は、開始ノードとして、それまでに設定されていた開始ノードに第１のサービスを加え、「開始ノード→第１のサービス」を設定する。又決定部２２は、終了ノードとして、それまでに設定されていた終了ノードに第２のサービスを加え、「第２のサービス→終了ノード」を設定する（Ｓ２１０）。決定部２２は、変換パスに含まれるサービスを提供するサーバを変換装置に決定する（Ｓ２１１）。
【００６４】
尚、決定部２２が変換パスを生成する際に、ネットワークの最短経路探索の手法を用いてもよい。又、その際、決定部２２は、何らかのポリシに基づいて重み付けを行うことができる。重み付けとしては、例えば各変換サービスを提供するサービスプログラムの実行時間と、変換サービスを提供するサーバとデータ生成装置２０とのネットワーク遅延の和である変換サービス実行時間を用いることができる。
【００６５】
（効果）
このような、データ生成装置２０、データ生成システム１、データ生成方法によれば、元データを複数の元データ要素の値に分割し、元データ要素毎に元データ要素の表現形式の値を、目標データ要素の表現形式の値に変換するために必要な変換装置を決定できる。そして、データ生成装置２０は、決定した変換装置に元データ要素の値を提供してデータ変換を実行させ、表現形式が変換された変換データ要素の値を取得し、変換データを生成することができる。
【００６６】
そのため、データ生成装置２０は、元データ要素毎の変換に適した変換装置にデータの表現形式を変換させ、その結果である変換データ要素の値を結合することにより、容易に変換データを得ることができる。よって、データ生成装置２０によれば、データの値を一括して目標データの値に変換する変換装置を新規に作成したり、データの入出力を行う全てのサーバに特別な機能を追加したりすることなく、元データのデータを変換し、目標とする表現形式のデータを容易に得ることが可能となる。
【００６７】
即ち、図８に概念的に示されるように、従来端末装置１０は、切替元サービスを提供する配信サーバ３０ｂから提供されたクライアントアプリケーションを用いて、入出力データの表現形式が異なるサービスを提供する配信サーバ３０ａに接続先を切り替えることはできなかった。しかし、本発明に係るデータ生成装置２０は、既存の単純な変換サービスを組み合わせて入出力データを変換する変換パスを生成する。このため、端末装置１０は、切替元サービスを提供する配信サーバ３０ｂから提供されたクライアントアプリケーションを用いて、入出力データの表現形式が異なるサービスを提供する配信サーバ３０ａに接続先を切り替えることが可能となる。このように本発明に係るデータ生成装置２０を用いれば、入出力データの相違性の問題が解決され、端末装置１０は１つのクライアントアプリケーションを用いて複数の同様の機能を提供するネットワークサービスを扱えるようになる。従って、端末装置１０は、分散サービス環境において、同一のクライアントアプリケーションを用いて自由に接続先を切り替えることができるため、サービスを利用する際の利便性が増す。
【００６８】
又、新たなサービスを提供するサービスプログラムを開発する際に、サービスプログラムの開発者はサービスプログラムにデータを変換するための機能を持たせたり、データ変換モジュールを新規に開発したりする必要がなく、開発コストが削減されると同時に、新たなサービスの実用可能性が増す。
【００６９】
更に、決定部２２が、元データ要素のオントロジー情報と目標データ要素のオントロジー情報に基づいて、元データ要素と目標データ要素との組み合わせを生成し、その組み合わせに基づいて変換装置を決定する。このため、データ生成装置２０は、容易に適切な変換装置を決定できる。
【００７０】
特に、決定部２２が、変換パスを生成する際に、変換サービス実行時間を重みとして用いたネットワークの最短経路探索の手法を用いれば、全体として最短時間で実行可能な入出力データ変換パスを生成することができる。
【００７１】
又、データ生成装置２０は、目標データに必要な変換データ要素以外の不足要素の値を取得する不足要素取得部２４を備え、結合部２５は、変換データ要素の値と不足要素取得部２４が取得した不足要素の値とを結合し、変換データを生成する。このため、目標データが、元データ要素の値を変換して得られる変換データ要素の値以外の不足要素を含む場合であっても、データ生成装置２０は、それを補って適切な変換データを生成することができる。
【００７２】
更に、決定部２２は、結合部２５が生成した変換データと目標データの条件とを比較し、その比較結果に応じて変換装置を変更する。このため、データ生成装置２０は、適切なデータ変換が行われたかを判断でき、不適切な場合には異なるデータ変換を実行させることができる。そのため、データ生成装置２０は、より正確に変換データを生成できる。
【００７３】
尚、本発明は、上記実施の形態に限定されるものではなく、種々の変更が可能である。
【００７４】
端末装置１０は、切替元サービス又は切替先サービスを提供する配信サーバ３０ａ，３０ｂから変換装置の情報を取得してもよい。配信サーバ３０ａ，３０ｂは、データ生成装置２０から変換装置の情報の提供を受けた場合には、これを格納する。このようにして配信サーバ３０ａ，３０ｂのいずれかが、切替元サービス及び切替先サービスを切替条件とする変換装置の情報を格納していれば、端末装置１０はこれを取得することができる。そして、端末装置１０は、取得した変換装置の情報に基づいて、自身で変換実行部２３として機能して切替先サービスの提供を受けてもよい。
【００７５】
又、配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅが端末装置２００として機能することもできる。これによれば、複数のサービスを組み合わせて使用する際の、サービスの相互接続性を向上することができる。又、サービスを提供するサービスプログラムが、内部処理の過程で異なるサービスの提供を受けている場合に、実行速度の速いサービスを柔軟に選択し、サービスの機能を向上させることができる。
【００７６】
或いは、端末装置１０や、配信サーバ３０ａ，３０ｂ、翻訳サーバ４０ａ，４０ｂ、通貨変換サーバ４０ｃ，４０ｄ、単位変換サーバ４０ｅが、データ生成装置２０として機能してもよい。これによれば、データ生成装置２０を提供するインターネットサービスプロバイダや携帯電話キャリア等の負担を増加させずに、若しくはデータ生成装置２０が提供されていなくても、端末装置１０は同一のクライアントアプリケーションを用いて入出力データの表現形式が異なる複数のサービスの提供を受けることが可能となる。  
更にはデータ生成装置２０が、サービス情報データベース５０を備えてもよい。又、データ生成装置２０が、変換パスデータベース６０を備えてもよい。これによれば、データ生成装置２０は、変換装置を決定する際にネットワーク７０を介してサービス情報データベース５０、変換パスデータベース６０にアクセスする必要がなくなり、変換装置を決定する速度が向上する。
【００７７】
又、上記実施の形態では、切替要求には切替元サービスのサービスＩＤ及び切替先サービスのサービスＩＤを含むこととしている。しかし、切替要求には切り替え先サービスを指定する情報として、例えばサービスの内容を含んでもよい。この場合、データ生成装置２０は、サービス情報データベース５０を参照し、サービスメタデータ内のサービスの内容から、切替先サービスを決定することができる。データ生成装置２０は、サービスメタデータが、サービス内容のオントロジー情報も含んでいれば、これを用いて切替先サービスを決定することができる。
【００７８】
或いは、切替要求に端末装置１０が扱うことができる入出力データの情報を含んでもよい。上記実施の形態においては、端末装置１０が扱うことができる入出力データの情報と、切替元サービスの入出力データの情報とは一致する。しかし、例えば端末装置１０が、既にサービスを切り替えて利用している場合は、端末装置１０が扱うことができる入出力データの情報と、切替元サービスの入出力データの情報は相違する。この場合に、切替元サービスと切替先サービスのサービスメタデータに基づいてデータの変換を行うと、不要な処理を含む場合がある。このため、切替要求に端末装置１０が扱うことができる入出力データの情報を含めば、このような問題を解決することができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の形態に係るデータ生成システムの構成を示す図である。
【図２】本発明の実施の形態に係るサービス情報データベースを示す図である。
【図３】本発明の実施の形態に係る変換パスデータベースを示す図である。
【図４】本発明の実施の形態に係るデータ生成装置のブロック図である。
【図５】本発明の実施の形態に係る利用態様を示すの概念図である。
【図６】本発明の実施の形態に係るサービスメタデータ格納から変換データ提供までの手順を示すシーケンス図である。
【図７】本発明の実施の形態に係るデータ生成方法の手順を示すシーケンス図である。
【図８】本発明の実施の形態による効果を示す概念図である。
【符号の説明】
【００８０】
１  データ生成システム
２０  データ生成装置
２１  分割部
２２  決定部
２３  変換実行部
２４  不足要素取得部
２５  結合部
３０ａ，３０ｂ  配信サーバ
４０ａ，４０ｂ  翻訳サーバ
４０ｃ，４０ｄ  通貨変換サーバ
４０ｅ  単位変換サーバ
５０  サービス情報データベース
６０  変換パスデータベース
７０  ネットワーク
【図１】
2005258930.tif 000003
【図２】
2005258930.tif 000004
【図３】
2005258930.tif 000005
【図４】
2005258930.tif 000006
【図５】
2005258930.tif 000007
【図６】
2005258930.tif 000008
【図７】
2005258930.tif 000009
【図８】
2005258930.tif 000010