(57)【要約】【課題】履歴の利用を容易にするために提供するサービスの履歴を構造的に取得できるようにした情報処理システムを提供する。【解決手段】情報処理システムのカテゴリー識別子受付手段は、カテゴリー識別子を受け付け、サブスペース記憶手段は、サブスペースを一意に特定できるサブスペース識別子を記憶し、エンティティ識別子発行手段は、サブスペース内におけるカテゴリー別のエンティティの一意性を保証するエンティティ識別子を発行し、共通識別子生成手段は、サブスペース識別子とカテゴリー識別子とエンティティ識別子とを合成して、共通識別子を生成し、エンティティ記憶手段は、共通識別子の発行を要求し、共通識別子を受け取り、該共通識別子とエンティティを対応させて記憶し、サービス提供手段は、エンティティを用いて、サービスを提供し、サービス履歴取得手段は、サービスの実行の構造に基づいて、該サービスの履歴を取得する。【選択図】図２
2008228143.tif 000002
【特許請求の範囲】
【請求項１】
カテゴリーを一意に識別できるカテゴリー識別子を受け付けるカテゴリー識別子受付手段と、
識別子空間を排他的な空間に分割するサブスペースを一意に特定できるサブスペース識別子を記憶しているサブスペース記憶手段と、
サブスペース内におけるカテゴリー別のエンティティの一意性を保証するエンティティ識別子を発行するエンティティ識別子発行手段と、
前記サブスペース記憶手段によって記憶されているサブスペース識別子と前記カテゴリー識別子受付手段によって受け付けられたカテゴリー識別子と前記エンティティ識別子発行手段によって発行されたエンティティ識別子とを合成して、識別子空間全体における識別子である共通識別子を生成する共通識別子生成手段と、
前記カテゴリー識別子受付手段に対して、カテゴリー識別子とともに共通識別子の発行を要求し、前記共通識別子生成手段によって生成された共通識別子を受け取り、該共通識別子とエンティティを対応させて記憶するエンティティ記憶手段と、
前記エンティティ記憶手段に記憶されているエンティティを用いて、サービスを提供するサービス提供手段と、
前記サービス提供手段によって提供されるサービスの実行の構造に基づいて、該サービスの履歴を取得するサービス履歴取得手段
を具備することを特徴とする情報処理システム。
【請求項２】
前記サービス提供手段が提供するサービスは、基本的なサービスの組み合わせによる構造を有していること
を特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記サービス履歴取得手段によって取得された履歴を記憶する履歴記憶手段と、
履歴を用いて課金計算を行うための課金規則を記憶する課金規則記憶手段と、
前記課金規則記憶手段に記憶されている課金規則に基づいて、前記履歴記憶手段に記憶されている履歴から課金計算を行う課金計算手段
をさらに具備することを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記課金規則記憶手段は、履歴を用いて原価又は売上の配賦計算を行うための原価売上配賦規則をさらに記憶し、
前記課金計算手段は、前記課金規則記憶手段に記憶されている原価売上配賦規則に基づいて、前記履歴記憶手段に記憶されている履歴から原価又は売上の配賦計算を行うこと
を特徴とする請求項３に記載の情報処理システム。
【請求項５】
コンピュータを、
カテゴリーを一意に識別できるカテゴリー識別子を受け付けるカテゴリー識別子受付手段と、
識別子空間を排他的な空間に分割するサブスペースを一意に特定できるサブスペース識別子を記憶しているサブスペース記憶手段と、
サブスペース内におけるカテゴリー別のエンティティの一意性を保証するエンティティ識別子を発行するエンティティ識別子発行手段と、
前記サブスペース記憶手段によって記憶されているサブスペース識別子と前記カテゴリー識別子受付手段によって受け付けられたカテゴリー識別子と前記エンティティ識別子発行手段によって発行されたエンティティ識別子とを合成して、識別子空間全体における識別子である共通識別子を生成する共通識別子生成手段と、
前記カテゴリー識別子受付手段に対して、カテゴリー識別子とともに共通識別子の発行を要求し、前記共通識別子生成手段によって生成された共通識別子を受け取り、該共通識別子とエンティティを対応させて記憶するエンティティ記憶手段と、
前記エンティティ記憶手段に記憶されているエンティティを用いて、サービスを提供するサービス提供手段と、
前記サービス提供手段によって提供されるサービスの実行の構造に基づいて、該サービスの履歴を取得するサービス履歴取得手段
として機能させることを特徴とする情報処理プログラム。
【請求項６】
前記サービス提供手段が提供するサービスは、基本的なサービスの組み合わせによる構造を有していること
を特徴とする請求項５に記載の情報処理プログラム。
【請求項７】
前記コンピュータを、
前記サービス履歴取得手段によって取得された履歴を記憶する履歴記憶手段と、
履歴を用いて課金計算を行うための課金規則を記憶する課金規則記憶手段と、
前記課金規則記憶手段に記憶されている課金規則に基づいて、前記履歴記憶手段に記憶されている履歴から課金計算を行う課金計算手段
としてさらに機能させることを特徴とする請求項５又は６に記載の情報処理プログラム。
【請求項８】
前記課金規則記憶手段は、履歴を用いて原価又は売上の配賦計算を行うための原価売上配賦規則をさらに記憶し、
前記課金計算手段は、前記課金規則記憶手段に記憶されている原価売上配賦規則に基づいて、前記履歴記憶手段に記憶されている履歴から原価又は売上の配賦計算を行うこと
を特徴とする請求項７に記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び情報処理プログラムに関する。
【背景技術】
【０００２】
情報処理システムを用いてサービスを提供するためには、さまざまな管理対象を体系的に管理し、それらに対する処理を適切に実行する必要がある。
そのために、情報処理システムを用いてサービスを提供する際のユーザー管理については、いくつかの方法が提案されている。例えば、ＩＤフェデレーション技術を使用すれば、１人のユーザーが複数のサービスを利用できる環境を提供することが可能である。
【０００３】
例えば、特許文献１に記載の技術は、このＩＤフェデレーションの基本的な方式に関するものである。すなわち、特許文献１には、サービス提供サイトでのユーザー認証をユーザーＩＤ／パスワード（認証情報）により行う場合、認証情報はサービス提供サイトごとに管理されているため、ユーザーはサービス提供サイトごとの認証情報を記憶する必要があり、また、ユーザーが認証情報を忘れた場合、サービス提供サイトへのアクセス中止や認証情報再入手手続きなど、サービス提供サイトでの運用コスト負担も問題となることを課題とし、ユーザー認証管理サイトを設け、各サービス提供サイトで管理しているユーザー認証情報を統合管理することで、ユーザーは１つの認証情報により常にサービス提供サイトへアクセスできるようにすることが開示されている。
【０００４】
また、例えば、特許文献２に記載の技術は、登録した個人情報を他のサービスと共有するための機構に関するものである。すなわち、特許文献２には、利用者が各種サービス機関のサービス提供を受けようとする際に必要となる個人情報の管理を効率化し、利用者の利便性を向上することを課題とし、情報管理機関が各種サービス機関との間及び利用者との間に個人情報授受の契約を締結し、前記利用者の個人情報を一括管理するとともに、前記利用者が前記サービス機関のサービス提供を受ける際に必要に応じて前記サービス機関に対して個人情報を提供することが開示されている。
【０００５】
また、例えば、特許文献３に記載の技術は、コンビニエンスストア等において、ユーザー認証後に画像データをサーバーへ送信する機能に関するものである。すなわち、特許文献３には、ネットワーク接続可能な画像処理装置をコンビニエンスストア等の店舗に設置して、カメラ付き携帯電話等に記録した画像データを容易かつ信頼性の高い方法で保管することを課題とし、画像処理装置は、印刷装置を有する画像処理ユニット、該画像処理ユニットに接続された情報処理ユニットからなり、サーバー装置とネットワークを介して接続され、前記情報処理ユニットは、ユーザーのＩＤ情報、指紋データ、顔写真データを含む会員登録情報を記憶した記憶装置、認証手段、アップロード手段を有し、ユーザーから指紋が入力された場合に該指紋データと、記憶装置の指紋データとを照合し、両者が一致した場合に前記指紋データに応じたＩＤ情報及び顔写真データを記憶装置から抽出して画面上に表示し、前記ユーザーのカメラ付き携帯電話等の機器に記録された画像データを前記サーバー装置のあらかじめ決められた保管領域にアップロードすることが開示されている。
【０００６】
また、一般に文書データベースに文書を保存する場合や通常のＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）のファイルシステムにおいてファイルにＩＤを付与することは、広く知られている一般的な手法である。
【０００７】
また、例えば、特許文献４に記載の技術は、ブラウザーでホームページを閲覧した履歴をツリー状に構造化して保存・表示する技術に関するものである。すなわち、取得した情報の履歴を、その情報を取得していった経路の空間的なイメージが掴みやすい形で提示できる情報閲覧履歴出力システムを提供することを課題とし、情報取得部は、ＵＲＬ入力部により入力されたＵＲＬで指定のコンテンツ情報をインターネットから取得し、ＨＴＭＬファイル解析部は、その情報の解析を行い、その情報のＵＲＬ、及びそのタイトルを履歴管理部に送り、履歴管理部は、情報別に、そのＵＲＬ、タイトル、及びそれが属する経路、その経路上の位置を表すページＩＤを履歴テーブルに格納し、経路ごとに取得した情報数をカウントして経路テーブルに格納し、取得した情報の履歴は、履歴テーブルに格納したタイトルを、ページＩＤをもとに決定する位置にツリー状に配置する形で履歴表示部に表示させることが開示されている。
【特許文献１】特開２００４−０７８６２２号公報
【特許文献２】特開２００１−３４４３７９号公報
【特許文献３】特開２００５−０２０５８２号公報
【特許文献４】特開２００３−０４４３９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、実際に情報処理システムを用いてサービスを提供する場合には、ユーザーや文書だけでなく、サービス機能、契約、プリンタ、スキャナ、ユーザークライアント、サーバー等々さまざまな対象を管理する必要がある。さらに、場合によってはユーザーや文書も１種類ではなく、多くの種類となる可能性がある。例えば、自社で管理しているユーザーと顧客企業で管理しているユーザー、スキャン文書や加工済み文書等々である。
また、サービスの提供が多方面にわたり大規模になる場合には、サービスを提供するシステムが分散化することは避けられず、これら分散サブシステムが自律的に動作するように構成する必要がある。
このように大規模で、分散化し、自律的に動作するシステム上で種類の異なる複雑な管理対象であるエンティティを組み合わせてサービスを提供する際には、管理対象に識別子を割り振り、識別子のユニーク性を保証し、効率的に識別子付与対象を保管・検索することは、このようなシステムで実現するサービスの基本となるものである。
【０００９】
また、ユーザーの利便性を考慮すれば、複数の基本的なサービスを組み合わせて、複合的な連携サービスを提供することが要望されている。このような場合において、サービスを有償で提供するためには、ユーザーの連携サービス利用の履歴を詳細に保管し、この履歴を収集して課金情報・原価配賦情報等として利用する必要がある。
【００１０】
本発明は、多種類のエンティティを管理する分散化したシステムにあって、サービスの実行に必要なエンティティに対する識別子の割り振りを効率的に実施でき、履歴の利用を容易にするために提供するサービスの履歴を構造的に取得できるようにした情報処理システム及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
［請求項１］  カテゴリーを一意に識別できるカテゴリー識別子を受け付けるカテゴリー識別子受付手段と、
識別子空間を排他的な空間に分割するサブスペースを一意に特定できるサブスペース識別子を記憶しているサブスペース記憶手段と、
サブスペース内におけるカテゴリー別のエンティティの一意性を保証するエンティティ識別子を発行するエンティティ識別子発行手段と、
前記サブスペース記憶手段によって記憶されているサブスペース識別子と前記カテゴリー識別子受付手段によって受け付けられたカテゴリー識別子と前記エンティティ識別子発行手段によって発行されたエンティティ識別子とを合成して、識別子空間全体における識別子である共通識別子を生成する共通識別子生成手段と、
前記カテゴリー識別子受付手段に対して、カテゴリー識別子とともに共通識別子の発行を要求し、前記共通識別子生成手段によって生成された共通識別子を受け取り、該共通識別子とエンティティを対応させて記憶するエンティティ記憶手段と、
前記エンティティ記憶手段に記憶されているエンティティを用いて、サービスを提供するサービス提供手段と、
前記サービス提供手段によって提供されるサービスの実行の構造に基づいて、該サービスの履歴を取得するサービス履歴取得手段
を具備することを特徴とする情報処理システム。
【００１２】
［請求項２］  前記サービス提供手段が提供するサービスは、基本的なサービスの組み合わせによる構造を有していること
を特徴とする［請求項１］に記載の情報処理システム。
【００１３】
［請求項３］  前記サービス履歴取得手段によって取得された履歴を記憶する履歴記憶手段と、
履歴を用いて課金計算を行うための課金規則を記憶する課金規則記憶手段と、
前記課金規則記憶手段に記憶されている課金規則に基づいて、前記履歴記憶手段に記憶されている履歴から課金計算を行う課金計算手段
をさらに具備することを特徴とする［請求項１］又は［請求項２］に記載の情報処理システム。
【００１４】
［請求項４］  前記課金規則記憶手段は、履歴を用いて原価又は売上の配賦計算を行うための原価売上配賦規則をさらに記憶し、
前記課金計算手段は、前記課金規則記憶手段に記憶されている原価売上配賦規則に基づいて、前記履歴記憶手段に記憶されている履歴から原価又は売上の配賦計算を行うこと
を特徴とする［請求項３］に記載の情報処理システム。
【００１５】
［請求項５］  コンピュータを、
カテゴリーを一意に識別できるカテゴリー識別子を受け付けるカテゴリー識別子受付手段と、
識別子空間を排他的な空間に分割するサブスペースを一意に特定できるサブスペース識別子を記憶しているサブスペース記憶手段と、
サブスペース内におけるカテゴリー別のエンティティの一意性を保証するエンティティ識別子を発行するエンティティ識別子発行手段と、
前記サブスペース記憶手段によって記憶されているサブスペース識別子と前記カテゴリー識別子受付手段によって受け付けられたカテゴリー識別子と前記エンティティ識別子発行手段によって発行されたエンティティ識別子とを合成して、識別子空間全体における識別子である共通識別子を生成する共通識別子生成手段と、
前記カテゴリー識別子受付手段に対して、カテゴリー識別子とともに共通識別子の発行を要求し、前記共通識別子生成手段によって生成された共通識別子を受け取り、該共通識別子とエンティティを対応させて記憶するエンティティ記憶手段と、
前記エンティティ記憶手段に記憶されているエンティティを用いて、サービスを提供するサービス提供手段と、
前記サービス提供手段によって提供されるサービスの実行の構造に基づいて、該サービスの履歴を取得するサービス履歴取得手段
として機能させることを特徴とする情報処理プログラム。
【００１６】
［請求項６］  前記サービス提供手段が提供するサービスは、基本的なサービスの組み合わせによる構造を有していること
を特徴とする［請求項５］に記載の情報処理プログラム。
【００１７】
［請求項７］  前記コンピュータを、
前記サービス履歴取得手段によって取得された履歴を記憶する履歴記憶手段と、
履歴を用いて課金計算を行うための課金規則を記憶する課金規則記憶手段と、
前記課金規則記憶手段に記憶されている課金規則に基づいて、前記履歴記憶手段に記憶されている履歴から課金計算を行う課金計算手段
としてさらに機能させることを特徴とする［請求項５］又は［請求項６］に記載の情報処理プログラム。
【００１８】
［請求項８］  前記課金規則記憶手段は、履歴を用いて原価又は売上の配賦計算を行うための原価売上配賦規則をさらに記憶し、
前記課金計算手段は、前記課金規則記憶手段に記憶されている原価売上配賦規則に基づいて、前記履歴記憶手段に記憶されている履歴から原価又は売上の配賦計算を行うこと
を特徴とする［請求項７］に記載の情報処理プログラム。
【発明の効果】
【００１９】
請求項１記載の情報処理システムによれば、多種類のエンティティを管理する分散化したシステムにあって、本構成を有していない場合に比較して、サービスの実行に必要なエンティティに対する識別子の割り振りを効率的に実施でき、履歴の利用を容易にするために提供するサービスの履歴を構造的に取得できるようになる。
【００２０】
請求項２記載の情報処理システムによれば、サービスを基本サービスの組み合わせとして構造化することができ、その構造に合わせて履歴を取得することができるので、本構成を有していない場合に比較して、基本サービスに合わせて履歴を利用することができるようになる。
【００２１】
請求項３記載の情報処理システムによれば、サービスの履歴に対して課金規則を適用することができるので、本構成を有していない場合に比較して、より柔軟な課金処理を行うことができるようになる。
【００２２】
請求項４記載の情報処理システムによれば、サービスの履歴に対して原価売上配賦規則を適用することができるので、本構成を有していない場合に比較して、より柔軟な原価又は売上の配賦処理を行うことができるようになる。例えば、サービス提供が複数部門で行われた場合、その部門間での原価又は売上の配賦処理をより柔軟に行うことができるようになる。
【００２３】
請求項５記載の情報処理プログラムによれば、多種類のエンティティを管理する分散化したシステムにあって、本構成を有していない場合に比較して、サービスの実行に必要なエンティティに対する識別子の割り振りを効率的に実施でき、履歴の利用を容易にするために提供するサービスの履歴を構造的に取得できるようになる。
【００２４】
請求項６記載の情報処理プログラムによれば、サービスを基本サービスの組み合わせとして構造化することができ、その構造に合わせて履歴を取得することができるので、本構成を有していない場合に比較して、基本サービスに合わせて履歴を利用することができるようになる。
【００２５】
請求項７記載の情報処理プログラムによれば、サービスの履歴に対して課金規則を適用することができるので、本構成を有していない場合に比較して、より柔軟な課金処理を行うことができるようになる。
【００２６】
請求項８記載の情報処理プログラムによれば、サービスの履歴に対して原価売上配賦規則を適用することができるので、本構成を有していない場合に比較して、より柔軟な原価又は売上の配賦処理を行うことができるようになる。例えば、サービス提供が複数部門で行われた場合、その部門間での原価又は売上の配賦処理をより柔軟に行うことができるようになる。
【発明を実施するための最良の形態】
【００２７】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態を説明する。
本実施の形態は、複数の基本的なサービスを連携して複合的なサービスを提供し、その履歴を構造化して取得するものである。つまり、個別の小さなサービス機能（以下、プリミティブサービスと呼ぶ）を組み合わせて、全体で１つの大きなサービス（以下、連携サービスと呼ぶ）を提供する際に、その履歴をサービスの実行の構造に対応させて抽出する。そして、その抽出した履歴をさまざまな処理（主に会計処理）に適用するものである。
【００２８】
（連携サービス履歴記録装置の全体構成）
図１、図２は、本発明の一実施の形態の概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはプログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、プログラム、システム及び方法の説明をも兼ねている。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。
以下、利用者として、法人、個人であるユーザー（管理者等を含む）を主に例示して説明する。そして、説明上の記載を簡便にするために、ユーザー等が主体となって動作するように記載する場合もあるが、これはそのユーザー等による操作に応じて、システムが動作するものである。
【００２９】
図１は、本実施の形態の連携サービス履歴記録装置の１つの構成要素である共通ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ、識別子）発行モジュール６内の概念的なモジュール構成図である。
連携サービス履歴記録装置は、全体が複数の機能単位（サービス提供サーバー１５の共通ＩＤ発行モジュール６内のサブスペースＩＤ２に対応する機能）により構成されている。この機能単位のことを、サブスペースと呼ぶ。ＩＤ管理の視点から見ると、サブスペースは装置全体のＩＤ空間を複数の排他的な部分空間に分割したものである。そして、このサブスペースごとに一意のＩＤ（サブスペースＩＤ）が管理者によって割り振られている。
また、従来からあるシステムも共通ＩＤによる論理空間内に包含できるように、このサブスペースをそのシステムに割り振られるようにしてもよい。
【００３０】
また、本連携サービス履歴記録装置は、ＩＤによって同定する対象を管理する装置である。この管理する対象に関する情報（管理する対象が情報そのものである場合には情報そのもの）をエンティティと呼ぶ。具体的には、本実施の形態では、プリミティブ（基本）サービスを実行するスクリプト（ｓｃｒｉｐｔ、プログラム）、プリミティブサービスを組み合わせた連携サービスを実行するスクリプト、そのプリミティブサービス又は連携サービスの履歴等を含んでもよい。エンティティの種類をカテゴリーと呼ぶ。カテゴリーには、管理者によって一意に識別できるＩＤ（カテゴリーＩＤ）が割り振られている。また、カテゴリーＩＤは、複数の種類（体系、論理的な空間、論理的な領域、対象とする世界、提供するサービス等）を一括に扱うためのものである。
エンティティは、一意に識別できるＩＤ（エンティティＩＤ）がエンティティＩＤ発行モジュール４によって割り振られる。
【００３１】
そして、サブスペースＩＤ、カテゴリーＩＤ、エンティティＩＤを含めた全ＩＤ空間内におけるエンティティを一意に同定するためのＩＤを共通ＩＤと呼ぶ。
なお、サブスペースＩＤ、カテゴリーＩＤは、管理者によって割り振られるとしたが、本連携サービス履歴記録装置が一定のアルゴリズム（例えば、発生順に順次番号を割り振る等）によって割り振るようにしてもよい。
【００３２】
共通ＩＤ発行モジュール６は、共通ＩＤ発行受付モジュール１、サブスペースＩＤ２、共通ＩＤ生成モジュール３、エンティティＩＤ発行モジュール４、発行済エンティティＩＤ管理ＤＢ５を有している。そして、サブスペースごとに共通ＩＤ発行モジュール６がある。
共通ＩＤ発行受付モジュール１は、図１に示すように、共通ＩＤ生成モジュール３と接続されており、共通ＩＤ発行モジュール６の外部からカテゴリーＩＤとともに共通ＩＤの発行要求を受け付け、共通ＩＤの発行の処理を開始する。
エンティティＩＤ発行モジュール４は、図１に示すように、共通ＩＤ生成モジュール３、発行済エンティティＩＤ管理ＤＢ５と接続されており、サブスペース内におけるカテゴリー別のエンティティの一意性を保証するエンティティＩＤを発行する。
発行済エンティティＩＤ管理ＤＢ５は、図１に示すように、エンティティＩＤ発行モジュール４と接続されており、エンティティＩＤの一意性を保証するための記録を記憶する。
サブスペースＩＤ２は、図１に示すように、共通ＩＤ生成モジュール３と接続されており、サブスペースを一意に特定するサブスペースＩＤである。サブスペースＩＤ２は、メモリ等の記憶装置に記憶されている。
共通ＩＤ生成モジュール３は、図１に示すように、共通ＩＤ発行受付モジュール１、サブスペースＩＤ２、エンティティＩＤ発行モジュール４と接続されており、サブスペースＩＤ２から取り出したサブスペースＩＤ、共通ＩＤ発行受付モジュール１によって受け付けられたカテゴリーＩＤ、エンティティＩＤ発行モジュール４によって発行されたエンティティＩＤを合成して共通ＩＤを生成する。
【００３３】
図２は、連携サービス履歴記録装置の構成を示すモジュール構成図である。
図２に示した連携サービス履歴記録装置は、サービス提供サーバー１５、エンティティ配信管理サーバー１８、サービス履歴管理サーバー２４を有している。これらは、通信回線等であるネットワーク２５によって互いに接続されている。なお、サービス提供サーバー１５は複数あってもよいし、エンティティ配信管理サーバー１８、サービス履歴管理サーバー２４も複数あってもよい。また、サービス提供サーバー１５、エンティティ配信管理サーバー１８、サービス履歴管理サーバー２４は、それぞれサーバーとして独立に構成しているが、エンティティ配信管理サーバー１８とサービス履歴管理サーバー２４とを組み合わせて１つのサーバーとしてもよく、その組み合わせは任意である。
【００３４】
サービス提供サーバー１５は、図２に示すように、図１のモジュール構成図で示した共通ＩＤ発行モジュール６、共通ＩＤ発行要求モジュール７、エンティティ生成モジュール８、プリミティブサービス実行モジュール９、連携サービス実行モジュール１０、エンティティ管理モジュール１１、履歴送付モジュール１２、履歴取得モジュール１３、エンティティ保管ＤＢ１４を有している。
共通ＩＤ発行要求モジュール７は、図２に示すように、共通ＩＤ発行モジュール６、エンティティ生成モジュール８と接続されており、カテゴリーＩＤを指定して共通ＩＤ発行モジュール６へ共通ＩＤの発行を要求し、共通ＩＤ発行モジュール６から共通ＩＤを受け取る。そして、その共通ＩＤをエンティティ生成モジュール８へ渡す。
エンティティ生成モジュール８は、図２に示すように、共通ＩＤ発行要求モジュール７、連携サービス実行モジュール１０、エンティティ管理モジュール１１と接続されており、共通ＩＤ発行モジュール６が発行した共通ＩＤを共通ＩＤ発行要求モジュール７より受け取り、その共通ＩＤに対して管理対象となるエンティティを生成する。生成したエンティティをエンティティ管理モジュール１１を介して、エンティティ保管ＤＢ１４に保管する。また、連携サービス実行モジュール１０によるサービスの実行時にエンティティ生成の指示を受け、エンティティを生成する。
【００３５】
連携サービス実行モジュール１０は、図２に示すように、エンティティ生成モジュール８、エンティティ管理モジュール１１、履歴取得モジュール１３、プリミティブサービス実行モジュール９と接続されており、連携サービスを実行する。その際に、プリミティブサービス実行モジュール９に対して、連携サービスを構成するプリミティブサービスを実行させる指示を行い、連携サービスに必要なエンティティをエンティティ管理モジュール１１に対して要求し、また、連携サービスの実行時に生成が必要となったエンティティをエンティティ生成モジュール８に対して指示する。さらに、連携サービス実行モジュール１０による連携サービスの実行の履歴を履歴取得モジュール１３へ渡す。
エンティティ管理モジュール１１は、図２に示すように、エンティティ生成モジュール８、連携サービス実行モジュール１０、エンティティ保管ＤＢ１４と接続されており、エンティティ生成モジュール８により生成されたエンティティをエンティティ保管ＤＢ１４に保管させ、連携サービス実行モジュール１０からの要求に応じて、エンティティ保管ＤＢ１４から要求されたエンティティを読み出して連携サービス実行モジュール１０に渡す等を行ってエンティティ保管ＤＢ１４を管理する。
プリミティブサービス実行モジュール９は、図２に示すように、連携サービス実行モジュール１０と接続されており、連携サービス実行モジュール１０からの指示に基づいて、プリミティブサービスを実行する。
エンティティ保管ＤＢ１４は、図２に示すように、エンティティ管理モジュール１１と接続されており、エンティティ生成モジュール８によって生成されたエンティティをエンティティ管理モジュール１１を介して保管する。
履歴取得モジュール１３は、図２に示すように、連携サービス実行モジュール１０、履歴送付モジュール１２と接続されており、連携サービス実行モジュール１０が実行した連携サービスの履歴を受け取り、一連の構造を有する履歴に変換する。その変換した履歴を履歴送付モジュール１２へ渡す。また、連携サービス実行モジュール１０が実行した連携サービスの履歴だけでなく、プリミティブサービス実行モジュール９が実行したプリミティブサービスの履歴又は両方の履歴を取得するようにしてもよい。
履歴送付モジュール１２は、図２に示すように、履歴取得モジュール１３と接続されており、履歴取得モジュール１３が取得した履歴をネットワーク２５を介してサービス履歴管理サーバー２４の履歴収集モジュール１９へ送付する。
【００３６】
エンティティ配信管理サーバー１８は、図２に示すように、エンティティ配信先管理モジュール１６、エンティティ配信先ＤＢ１７を有している。
エンティティ配信先管理モジュール１６は、図２に示すように、エンティティ配信先ＤＢ１７と接続されており、エンティティ配信先ＤＢ１７にアクセスし、エンティティの持つサブスペース及びカテゴリーごとの配信先情報を管理する。
エンティティ配信先ＤＢ１７は、図２に示すように、エンティティ配信先管理モジュール１６と接続されており、エンティティの持つサブスペース及びカテゴリーごとの配信先情報を記憶している。
【００３７】
サービス履歴管理サーバー２４は、図２に示すように、履歴収集モジュール１９、課金ルールＤＢ２０、履歴保管ＤＢ２１、課金計算モジュール２２、課金結果送付モジュール２３を有している。
履歴収集モジュール１９は、図２に示すように、履歴保管ＤＢ２１と接続されており、各サービス提供サーバー１５によるサービスの実行の履歴を収集する。つまり、各サービス提供サーバー１５内の履歴送付モジュール１２から送付されてくる履歴を受け取る。そして、収集した履歴を履歴保管ＤＢ２１に保管する。
履歴保管ＤＢ２１は、図２に示すように、履歴収集モジュール１９、課金計算モジュール２２と接続されており、履歴収集モジュール１９が収集した履歴を受け取り保管する。また、保管した履歴に対して、課金計算モジュール２２からアクセスされる。
課金計算モジュール２２は、図２に示すように、履歴保管ＤＢ２１、課金ルールＤＢ２０、課金結果送付モジュール２３と接続されており、課金ルールＤＢ２０に記憶されている課金ルール等に基づいて、履歴保管ＤＢ２１にアクセスして受け取った履歴情報をもとに一連のサービスの提供に対して課金計算等の処理を実行し、その課金計算処理の結果を社内の部門や協力企業等に対して配賦するための計算を実行する。その計算結果を課金結果送付モジュール２３へ渡す。
課金ルールＤＢ２０は、図２に示すように、課金計算モジュール２２と接続されており、課金計算モジュール２２が計算処理するための課金ルール等を記憶している。
課金結果送付モジュール２３は、図２に示すように、課金計算モジュール２２と接続されており、課金計算モジュール２２から配賦計算処理の結果を受け取り、社内の各部門や協力企業である社外のサービス提供者等へ送付する。
【００３８】
図３は、連携サービス履歴記録装置を具体的に実現した場合の設置例を表した図である。
例えば、オフィス等には、複合機（多機能複写機とも呼ばれ、スキャナ、プリンタ、複写機、ファックス等の機能を有している、以下、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌｓ）ともいう）等の機器（サービス提供サーバー１５）やパーソナルコンピュータ等（サービス提供サーバー１５）が配置されている。文字認識サービスを行うサービス提供サーバー１５、ストレージサービスを行うサービス提供サーバー１５等が、データセンター等に配置されている。そして、これらの装置がネットワーク２５の一種であるインターネットによって接続されている。
つまり、このシステムは、オフィス等にある複合機やパーソナルコンピュータ等の機器をユーザーが利用して、オフィス等にある複合機やパーソナルコンピュータ等のサービス提供サーバー１５、データセンター等にあるサービス提供サーバー１５を連携させ、統合的なサービスを提供する。
【００３９】
例えば、ユーザーは、複合機を用いて文書をスキャンし、そのスキャンした文書の方向補正や文書に対するコメント記入をパーソナルコンピュータを用いて行い、その後、データセンターにあるサービス提供サーバー１５を利用して、文字認識処理を行わせ、その結果をストレージサービスを利用して格納するという連携サービスの提供を受けることができる。
【００４０】
（連携サービスの具体例）
図４を用いて、ある連携サービスの例を説明する。
この連携サービスは、図３を用いて説明した連携サービスであり、複合機からスキャンした文書画像情報をユーザーのノートＰＣで方向の補正をするとともにコメントをつけ、文字認識サーバーで文字認識を実行し、ネットワークストレージへ登録する処理を実行する。
つまり、ユーザーは、まず複合機を使用して紙文書をスキャンする（Ｓ−４００１）。
次の処理では、ユーザーのノートＰＣで方向を補正し、コメントをつける（Ｓ−４００２）。
そして、文字認識サーバーが起動され、スキャンされた文書画像に対して文字認識を行う（Ｓ−４００３）。
最後に、文字認識の結果がネットワークストレージに登録される（Ｓ−４００４）。
【００４１】
図５を用いて、サービスが分岐する連携サービスの例を説明する。
この連携サービスでは、複合機からスキャンした文書画像情報をユーザーのノートＰＣで方向の補正をするとともにコメントをつける。次に、この結果をそのままネットワークストレージへ登録する処理と、文字認識サーバーで文字認識を実行する処理が平行して実施される。文字認識された結果については、最終的にはネットワークストレージへ登録する処理を実行する。
つまり、図４を用いて説明したＳ−４００１とＳ−４００２の処理を行う（Ｓ−５００１、Ｓ−５００２）。
次に、２つの処理が平行して実行される。１つの処理は、Ｓ−５００２でコメントを付けられた文書画像情報をネットワークストレージへ登録する（Ｓ−５００５）。
もう１つの処理は、Ｓ−５００２でコメントを付けられた文書画像情報に対して文字認識を行い（Ｓ−５００３）、その文字認識の結果であるテキスト情報をネットワークストレージへ登録する（Ｓ−５００６）。
【００４２】
（共通ＩＤの発行）
図６は、共通ＩＤの発行処理例を示したフローチャートである。
共通ＩＤ発行要求モジュール７が発行すべき共通ＩＤのカテゴリーＩＤとともに共通ＩＤの発行依頼を共通ＩＤ発行モジュール６へ渡す。
そのカテゴリーＩＤ及び共通ＩＤの発行要求は、共通ＩＤ発行受付モジュール１の入力となる（ステップＳ６０２）。
【００４３】
共通ＩＤの発行要求を受け付けた共通ＩＤ発行受付モジュール１は、共通ＩＤ生成モジュール３へカテゴリーＩＤを渡す。
共通ＩＤ生成モジュール３は、エンティティＩＤ発行モジュール４へエンティティＩＤの発行を要求する。
エンティティＩＤ発行モジュール４は、この共通ＩＤ発行モジュール６の管理するサブスペース内のカテゴリーにおいてユニークとなるＩＤを発行する。
発行済エンティティＩＤ管理ＤＢ５は、今までに発行したエンティティＩＤを記憶しており、エンティティＩＤ発行モジュール４は、この発行済エンティティＩＤ管理ＤＢ５が記憶しているエンティティＩＤと重複しないようにエンティティＩＤを発行する（ステップＳ６０４）。
【００４４】
エンティティＩＤの発行が終了すると、その発行したエンティティＩＤを発行済エンティティＩＤ管理ＤＢ５に記憶させる（ステップＳ６０６）。
なお、発行済エンティティＩＤ管理ＤＢ５は、データベースの形態をとらなくとも、カテゴリーごとの不揮発性のカウンタを持ち、エンティティＩＤの発行ごとにカウンタをカウントアップするような単純な構成をとることも可能である。
また、図６で示したフローチャートは、エンティティ一般に共通ＩＤを発行させているが、このエンティティには、サービスの実行に必要なスクリプト（プリミティブサービスを実行するためのスクリプト、連携サービスを実行するためのスクリプト）が含まれる。
【００４５】
そして、共通ＩＤ生成モジュール３は、サブスペースＩＤとカテゴリーＩＤとエンティティＩＤとを合成して（ステップＳ６０８）、共通ＩＤを発行する（ステップＳ６１０）。
図７を用いて、サブスペースＩＤとカテゴリーＩＤとエンティティＩＤを合成した共通ＩＤにおける論理構造の例を説明する。サブスペースＩＤ、カテゴリーＩＤ、エンティティＩＤの順序に合成して、共通ＩＤを構成しているが、もちろん、これらの順序はあらかじめ決まってさえいれば、どのようなものでもかまわない。
【００４６】
共通ＩＤのデータ構造では、サブスペースＩＤ、カテゴリーＩＤ、エンティティＩＤのそれぞれが、長さ情報と実際のＩＤとの組み合わせで表現される。つまり、サブスペースＩＤはサブスペースＩＤ長とサブスペースＩＤ実データからなり、サブスペースＩＤ長はサブスペースＩＤ実データのデータ長（８ビットを１単位としている、以下同様）を示しており、サブスペースＩＤ実データはサブスペースＩＤの本体（実体）であるデータを示している。カテゴリーＩＤはカテゴリーＩＤ長とカテゴリーＩＤ実データからなり、カテゴリーＩＤ長はカテゴリーＩＤ実データのデータ長を示しており、カテゴリーＩＤ実データはカテゴリーＩＤの本体であるデータを示している。エンティティＩＤはエンティティＩＤ長とエンティティＩＤ実データからなり、エンティティＩＤ長はエンティティＩＤ実データのデータ長を示しており、エンティティＩＤ実データはエンティティＩＤの本体であるデータを示している。
【００４７】
より具体的には、「０２−００５１  ：  ０２−０００３  ：  ０４−００００００ＦＦ」といった共通ＩＤが生成される。実際には人間が可読となるような区切りは不要であるが、ここでは説明のため、サブスペースＩＤ、カテゴリーＩＤ、エンティティＩＤの間の区切りを「：」で表現している。また、ＩＤ長とＩＤ自体との区切りに「−」を入れ、１６進数（８ビットで表現される英数文字であってもよい）で表現している。「０２−００５１  ：  ０２−０００３  ：  ０４−００００００ＦＦ」は、電子文書保管サービスのためのサブスペースＩＤとして「００５１」（長さ２）が、企業ユーザーのためのカテゴリーＩＤとして「０００３」（長さ２）が、特定のユーザーのエンティティＩＤとして「００００００ＦＦ」（長さ４）が割り当てられていると仮定している。そこで、これらを合成し「０２−００５１  ：  ０２−０００３  ：  ０４−００００００ＦＦ」が共通ＩＤとなる。
【００４８】
（エンティティの生成）
図８は、共通ＩＤを発行しエンティティを生成する処理例を示したフローチャートである。
まず、共通ＩＤ発行要求モジュール７が、カテゴリーＩＤを指定して共通ＩＤの発行を共通ＩＤ発行モジュール６に対して要求する（ステップＳ８０２）。
カテゴリーＩＤを受け取った共通ＩＤ発行モジュール６は、図６に示したフローチャートによる処理を実行して共通ＩＤを発行する（ステップＳ８０４）。
発行された共通ＩＤに対してエンティティ生成モジュール８が、ステップＳ８０４で発行された共通ＩＤを受け取り、エンティティを共通ＩＤに付与する（ステップＳ８０６）。
【００４９】
そして、エンティティ生成モジュール８はエンティティ管理モジュール１１へ、エンティティを付与した共通ＩＤを送付する（ステップＳ８０８）。
エンティティ管理モジュール１１は、エンティティ配信管理サーバー１８内のエンティティ配信先管理モジュール１６にエンティティの配信先を問い合わせ、エンティティ配信先情報を参照する（ステップＳ８１０）。なお、エンティティ配信先情報は、エンティティ配信先ＤＢ１７に図９に示す形態で記憶されている。つまり、エンティティ配信先情報は、その番号を表す「Ｎｏ．」、サブスペースＩＤ、カテゴリーＩＤ、エンティティを保管（又は配信）すべき第１の場所を示す保管先＃１、エンティティを保管（又は配信）すべき第２の場所を示す保管先＃２を有している。
そしてエンティティ管理モジュール１１は、そのエンティティを保管先＃１又は保管先＃２へ配信する（ステップＳ８１２）。
保管先＃１又は保管先＃２のエンティティ管理モジュール１１は、エンティティ保管ＤＢ１４にエンティティを記憶させる（ステップＳ８１４）。保管先が同一のサブスペースの場合もあり（送付したエンティティ管理モジュール１１と受信したエンティティ管理モジュール１１が同一のサービス提供サーバー１５内にある場合）、その場合には、ローカルに記憶することになる。
【００５０】
このようにして生成されたエンティティの例を示す。図１０は、ユーザー情報の管理情報エンティティの例を示している。つまり、そのユーザーの姓、名、会社名、業種、部署名、役職等からなるユーザー管理情報に対して、共通ＩＤ（図１０の１つの例では「０２−０００１  ：  ０２−０００５  ：  ０４−０００００００１」）が付与されている。
図１１は、複合機の管理情報エンティティの例を示している。つまり、その複合機が設置されている設置会社名、業種、部署名等からなる印刷・スキャンサーバー管理情報に対して、共通ＩＤ（図１１の１つの例では「０２−０００１  ：  ０２−０００１  ：  ０４−００００００ＦＦ」）が付与されている。
図１２は、スキャンイメージエンティティの例を示している。つまり、スキャナで読み取られた画像に対して、共通ＩＤ（図１２の１つの例では「０２−００２３  ：  ０２−００１０  ：  ０４−００ＦＦＤＤＣＣ」）が付与されている。
【００５１】
（連携サービスの提供）
図１３を用いて、連携サービスを構成する基本的なサービス（プリミティブサービス）のスクリプト例を説明する。このプリミティブサービスのスクリプトは、プリミティブサービス実行モジュール９によって実行されるものである。
プリミティブサービスのスクリプトは、サービスの提供の基本単位であり、特定のサブスペース（サービス提供サーバー１５）内での処理を記述したものである。プリミティブサービスのスクリプトは、特定のプラットフォームで実行可能な形態であればどのようなものでもかまわないが、ここでは、サーバーや複合機上で実行するスクリプトを想定している。このプリミティブサービスのスクリプト自体もエンティティとしてエンティティ管理モジュール１１によって配信され、各サブスペース（サービス提供サーバー１５）のエンティティ保管ＤＢ１４に記憶される。つまり、図１３の例では、共通ＩＤとして、「０２−０００３  ：  ０２−０Ｅ０Ｅ  ：  ０４−００００００ＦＦ」が付与されている。なお、カテゴリーＩＤの「０Ｅ０Ｅ」は、実行用のスクリプトであることを示している。      
【００５２】
図１４を用いて、分岐のない連携サービスのスクリプトの例を説明する。
この連携サービスのスクリプトは、処理順を示す「ＳＴＥＰ欄」と具体的なスクリプトを示す共通ＩＤのサブセット（共通ＩＤ全体でもよい）の「ＥＸＥＣ−ＩＤ欄」が対応して記述されている。なお、この連携サービスのスクリプトも共通ＩＤによって識別可能である。「ＥＸＥＣ−ＩＤ欄」には、プリミティブサービスのスクリプトの共通ＩＤの他に、連携サービスのスクリプトの共通ＩＤが記述されていてもよい。
この連携サービスは、連携サービス実行モジュール１０によって実行される。「ＥＸＥＣ−ＩＤ欄」に、プリミティブサービスのスクリプトの共通ＩＤが記述されている場合はプリミティブサービス実行モジュール９に実行させ、連携サービスのスクリプトの共通ＩＤが記述されている場合は連携サービス実行モジュール１０がエンティティ管理モジュール１１を介して、エンティティ保管ＤＢ１４からその共通ＩＤが付与されている連携サービスのスクリプトを取り出して、同様のことを繰り返す。
【００５３】
図１５を用いて、分岐する連携サービスのスクリプトの例を説明する。記述方法は、図１４と同様である。
この連携サービスのスクリプトでは、ステップＳ３において、ステップＳ４とステップＳ６への分岐が記述されている。つまり、ステップＳ１、ステップＳ２、ステップＳ３と進み、その後、ステップＳ４、ステップＳ５の処理とステップＳ６、ステップＳ７、ステップＳ８の処理の２つの処理がある。
連携サービスのスクリプトは、説明のために極めて単純化して表現したが、実際にはスクリプト言語（例えば、ＪａｖａＳｃｒｉｐｔ（商標）等）を用いてフローを制御することにより、多重分岐や条件分岐等複雑なフローを記述することが可能である。
【００５４】
図１６に示すフローチャートを用いて、複数のプリミティブサービスを連携させて実行する処理例を説明する。
まず、ユーザーによる操作によって、実際に使用しているサービスモジュール（特定のサブスペース）において、図１４又は図１５に示したような連携サービスのスクリプトのＩＤが指定され、連携サービスが起動される（ステップＳ１６０２）。
連携サービス実行モジュール１０は、ステップＳ１６０２で指定されたＩＤを用いて、エンティティ管理モジュール１１を介してエンティティ保管ＤＢ１４内から連携サービススクリプトを取得する（ステップＳ１６０４）。
【００５５】
連携サービス実行モジュール１０は、現在の再帰呼び出しレベルを取得する（ステップＳ１６０６）。ユーザーによる操作によって指定されて実行を開始した場合には、１番目となる。この処理は、連携サービスが再帰的に呼び出される前提であるため、必要な処理である。
次に、連携サービス実行モジュール１０はプリミティブサービス実行モジュール９に、連携サービスのスクリプト内の１つの処理であるプリミティブサービスを実行させる（ステップＳ１６０８）。
そして、履歴取得モジュール１３は、連携サービス実行モジュール１０がプリミティブサービス実行モジュール９にプリミティブサービスを実行させたこと、プリミティブサービス実行モジュール９による実行等の履歴を取得し、その履歴を履歴送付モジュール１２がサービス履歴管理サーバー２４内の履歴収集モジュール１９へ送付する（ステップＳ１６１０）。なお、履歴取得モジュール１３が行う履歴の取得については、図１７〜２０を用いて後述する。
【００５６】
連携サービスのスクリプトの実行が終了しているか否かを判断する（ステップＳ１６１２）。終了している場合はステップＳ１６１８の処理へ進み、終了していない場合はステップＳ１６１４の処理へ進む。
以上の処理を再帰的に呼び出す。その際、次のプリミティブサービスを実行するサブスペース（サービス提供サーバー１５）を取得する。サブスペースＩＤ情報は、グループＩＤから抽出したり、個々のプリミティブサービス内の条件から抽出する場合等がある（ステップＳ１６１４）。
そして、連携先のサブスペースにおいて、本フローチャートの処理を再帰的に起動する（ステップＳ１６１６）。
当然、この呼び出し先の処理は、ユーザーからの直接の起動ではないので、ステップＳ１６０６での再帰呼び出しレベル取得の処理は、２番目以降の値となって実行される。そして、ステップＳ１６０８の処理のプリミティブサービス実行処理においても、２番目以降の実行がなされる。
このようにして、最後のスクリプトまで実行した場合には、再帰呼び出しが順次解除され、１番目の呼び出しレベルまで戻って、必要に応じて結果を表示し（ステップＳ１６１８）、処理を終了する（ステップＳ１６２０）。
【００５７】
ここでは、処理の一例として、再帰呼び出しによる実行を例に説明したが、単純にスクリプトを順次手続き的に実行したり、実行を中央のサーバーで管理しながら実行したりする場合も処理の本質は変わらない。
連携サービスには、ユーザーインタラクションを含むものと含まないものとが存在する。ユーザーインタラクションを含まない連携サービスの場合には、ユーザーはサービスの開始を指示するだけであるが、実際にはユーザーから見えないところで複数のサービスを連携させ、結果をユーザーに提示等する。ユーザーインタラクションを含む場合には、サービスの途中でユーザーとのインタラクションが発生し、ユーザーの意志を確認するステップが含まれることになる。場合によっては、利用するサーバーが変化する場合がある。本実施の形態においては、この両方を含めて連携サービスと位置づけている。
この実施の形態の説明では、説明簡易化のため、ユーザーインタラクションがないサービスを想定して説明したが、プリミティブサービスのスクリプト及び連携サービスのスクリプトにおいて、ユーザーインタラクションを記述することで、ユーザーインタラクションのあるサービスにも対応するようにしてもよい。
【００５８】
図１７〜２０を用いて、履歴取得モジュール１３が行う履歴の取得について説明する。
図１７を用いて、履歴取得モジュール１３が取得するプリミティブサービス実行モジュール９又は連携サービス実行モジュール１０による実行の履歴のフォーマットを説明する。このフォーマットは、特定の目的で取得される履歴ではなく、ユーザーの一般的な活動の履歴として保管するためのものである。具体的には、履歴フィールド名欄、フィールド値欄、説明欄を有している。履歴フィールド名欄には、操作時刻（ＷＨＥＮ−履歴発生時刻）、操作場所（ＷＨＥＲＥ−履歴発生場所、この場合は、サブスペースＩＤや複合機等の設置場所）、ユーザー（ＷＨＯ）、操作対象（ＷＨＡＴ−操作又は使用コンテンツ）、操作事由（ＷＨＹ−プリミティブサービスＩＤ又は連携サービスＩＤ）、操作単位（ＨＯＷ  ＭＵＣＨ（ＵＮＩＴ  ＩＤ）−単位、使用量（ＨＯＷ  ＭＵＣＨ（ＱＴＹ）−使用量）というユーザーの行動の基本単位の項目があり、その項目の値をフィールド値欄に履歴として保管する。
この履歴情報の具体的なデータを図１８に示す。つまり、プリミティブサービスの実行時の８個の履歴情報が表示されている。各履歴情報は、操作時刻、操作場所、ユーザー、操作対象、操作事由、操作単位、及びその操作量の７つの情報からなっている。なお、操作場所、ユーザー、操作対象、操作事由、操作単位は、それぞれ共通ＩＤを用いて表されている。すなわち、これらの情報も共通ＩＤが割り振られており、その共通ＩＤによって管理されている。
具体的には、図１８に示す１行目の履歴情報は、操作時刻が「２００５／１２／１０  １２：３４：５６  ７８」、操作場所が「０２−００２２  ：  ０２−０００４  ：  ０４−００００１２３」、ユーザーが「０２−０００１  ：  ０２−０００１  ：  ０４−００００１０２３」、操作対象が「０２−０００３  ：  ０２−００ＦＥ  ：  ０４−００００ＦＦＦＦ」、操作事由が「０２−０００３  ：  ０２−０ＦＦＦ  ：  ０４−００００ＦＦＡＡ」、操作単位が「０２−０００３  ：  ０２−０ＦＦＥ  ：  ０４−００００ＦＦＡＡ」、使用量が「６０２」である。
【００５９】
履歴取得モジュール１３は、図１８に示したようなプリミティブサービス又は連携サービスの実行の履歴を連携サービスの実行の構造に基づいて、構造化を行う。なお、図１８に示すような表現では可読性が低いので、以下では、「時刻＝１２：３１：１１」、「ユーザーＩＤ＝Ｕ−０００１」、「サービスＩＤ＝Ｓ−０００１」、「使用量＝１５０」といった形態でプリミティブサービス又は連携サービスの実行の履歴を表現する。
【００６０】
図１９及び図２０を用いて、プリミティブサービス又は連携サービスの実行の履歴を連携サービスの実行の構造に基づいて構造化することについて説明する。なお、図１９は図４で示したような連携サービスの履歴を、図２０は図５で示したような連携サービスの履歴をそれぞれ示している。
構造化された履歴には、プリミティブサービス又は連携サービスの実行履歴情報（図１８で示したような履歴）に加えて「履歴ＩＤ」、「ＬＥＦＴ」、「ＲＩＧＨＴ」の値を追加する。なお、例示として履歴は時刻（操作時刻）、ユーザー、サービス（操作事由）、使用量（操作量）にしている。「履歴ＩＤ」は、履歴に対するＩＤ（共通ＩＤ又は共通ＩＤのサブセットを用いてもよい）である。「ＬＥＦＴ」及び「ＲＩＧＨＴ」は、履歴を２分木のツリー構造で表現するためのデータ構造である。つまり、「ＬＥＦＴ」は次の履歴を順番に記憶し、「ＲＩＧＨＴ」は分岐した先の履歴を記憶する。
図１９の上部に示す例では、この連携サービスでは分岐がないので、ＲＩＧＨＴ欄にはＮＵＬＬを記入し、ＬＥＦＴ欄に次の履歴を表現する履歴ＩＤを記入し、最終の履歴のＬＥＦＴ欄にはＮＵＬＬを記入する。
図２０の上部に示す例は、連携サービスが分岐した履歴の例である。２行目の履歴（履歴ＩＤ＝Ｈ−００１２）において、ＬＥＦＴ及びＲＩＧＨＴに履歴ＩＤを記入しており、分岐していることを表している。
図１９及び図２０ともに、ツリー構造のイメージ図を各図の下部に示している。つまり、履歴ＩＤ、サービス、使用量の組を履歴の順番（ＬＥＦＴ欄又はＲＩＧＨＴ欄）に基づいて矢印で表現したものである。
履歴送付モジュール１２は、このように構造化した履歴をサービス履歴管理サーバー２４内の履歴収集モジュール１９へ送付し、履歴収集モジュール１９は履歴保管ＤＢ２１へ保管する。
【００６１】
（ユーザーへの課金処理）
図２１に示すフローチャートを用いて、履歴保管ＤＢ２１に保管されている履歴から、ユーザーへの請求データを発行するための処理例を説明する。
図２２は、課金ルールＤＢ２０に記憶される、連携サービスの履歴を用いてユーザー課金するための課金ルールを示したものである。この例では、単純に連携サービスで利用したサービスごとの料金表となっている。つまり、サービスＩＤとその料金が対になって記憶されているテーブルである。
【００６２】
まず、課金計算モジュール２２は、特定のユーザーが使用した連携サービスの開始ポイントの履歴を取得する。履歴は、履歴保管ＤＢ２１に図１９又は図２０の上部に示すような形態で保管されている（ステップＳ２１０２）。
そして、課金計算モジュール２２は、図２２に示されるような課金ルールを取得する（ステップＳ２１０４）。
次に、履歴のツリー構造をたどりながら、個々の実行履歴を順次読み込む（ステップＳ２１０６）。
履歴が終了するまでステップＳ２１０６の処理を繰り返す（ステップＳ２１０８）。履歴に図２０に示すような分岐が存在する場合には、すべての分岐をたどる。
履歴構造を読み終わった段階で（ステップＳ２１０８でＹＥＳ）、課金ルールを適用し、図２３又は図２４に示すようにユーザーごとに課金額を提示する（ステップＳ２１１０）。図２３は、プリミティブサービスごとの料金を積算した例であり、図２４は連携サービスで課金した例である。また、プリミティブサービス単位で課金しておいて、連携サービスとしての割引を加えるといった課金方法も可能である。このように、履歴に連携サービスの実行におけるツリー構造を持たせることによって柔軟な課金処理を行わせる。
この結果を課金結果送付モジュール２３が、会計システム等へ送付する（ステップＳ２１１２）。
【００６３】
（社内への原価配賦処理）
図２５に示すフローチャートを用いて、履歴保管ＤＢ２１に保管されている履歴から、サービス処理において発生した原価を社内で原価配賦処理するための処理例を説明する。
図２６は、課金ルールＤＢ２０に記憶される、連携サービスの履歴を用いて原価配賦するための原価配賦ルールを示したものである。つまり、サービスＩＤごとに配賦額となる原価とその原価の配賦先（部門ＩＤ）とが記述されている。
【００６４】
まず、課金計算モジュール２２は、特定のユーザーが使用した連携サービスの開始ポイントの履歴を取得する。履歴は、履歴保管ＤＢ２１に図１９又は図２０の上部に示すような形態で保管されている（ステップＳ２５０２）。
そして、課金計算モジュール２２は、図２６に示されるような原価配賦ルールを取得する（ステップＳ２５０４）。
次に、履歴のツリー構造をたどりながら、個々の実行履歴を順次読み込む（ステップＳ２５０６）。
履歴が終了するまでステップＳ２５０６の処理を繰り返す（ステップＳ２５０８）。履歴に図２０に示すような分岐が存在する場合には、すべての分岐をたどる。
履歴構造を読み終わった段階で（ステップＳ２５０８でＹＥＳ）、原価配賦ルールを適用し、原価配賦額を計算し、図２７に示すように社内の部門ごとに原価配賦額を提示する（ステップＳ２５１０）。この例は、プリミティブサービス単位での単純な加算であるが、ユーザーへの課金処理と同様に、履歴の構造を利用してプリミティブサービス提供の場合と連携サービス提供の場合とで、原価配賦ルールを変更するといった処理を行うようにしてもよい。
この結果を課金結果送付モジュール２３が、会計システム等へ送付する（ステップＳ２５１２）。
【００６５】
（社外への売上配賦処理）
図２８に示すフローチャートを用いて、履歴保管ＤＢ２１に保管されている履歴から、サービス処理において発生した売上を社外の協力会社等と売上配賦処理するための処理例を説明する。
図２９は、課金ルールＤＢ２０に記憶される、連携サービスの履歴を用いて売上を配賦するための売上配賦ルールを示したものである。つまり、サービスＩＤごとに、そのサービスでの売上である料金と複数の配賦先（配賦先ＩＤ）及び配賦比率（％）の対とが記述されている。
【００６６】
まず、課金計算モジュール２２が特定のユーザーが使用した連携サービスの開始ポイントの履歴を取得する。履歴は、履歴保管ＤＢ２１に図１９又は図２０の上部に示すような形態で保管されている（ステップＳ２８０２）。
そして、課金計算モジュール２２は、図２９に示されるような売上配賦ルールを取得する（ステップＳ２８０４）。
次に、履歴のツリー構造をたどりながら、個々の実行履歴を順次読み込む（ステップＳ２８０６）。
履歴が終了するまでステップＳ２８０６の処理を繰り返す（ステップＳ２８０８）。履歴に図２０に示すような分岐が存在する場合には、すべての分岐をたどる。
履歴構造を読み終わった段階で（ステップＳ２８０８でＹＥＳ）、売上配賦ルールを適用し、売上配賦額を計算し、図３０に示すように社外の協力会社ごとに売上配賦額を提示する（ステップＳ２８１０）。この例は、プリミティブサービス単位での単純な加算であるが、ユーザーへの課金処理と同様に、履歴の構造を利用してプリミティブサービス提供の場合と連携サービス提供の場合とで、売上配賦ルールを変更するといった処理を行うようにしてもよい。
この結果を課金結果送付モジュール２３が、会計システム等へ送付する（ステップＳ２８１２）。
【００６７】
（ハードウェア構成等）
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図３１に示すように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。共通ＩＤ発行要求モジュール７、プリミティブサービス実行モジュール９、連携サービス実行モジュール１０、履歴取得モジュール１３、エンティティ配信先管理モジュール１６、履歴収集モジュール１９、課金計算モジュール２２等のプログラムを実行するＣＰＵ（マイクロプロセッサ）３１０１と、そのプログラムやデータを記憶するＲＡＭ（ランダムアクセスメモリ）３１０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ（リードオンリメモリ）３１０３と、補助記憶装置であるＨＤ（ハードディスク）３１０４と、キーボード、マウス等のデータを入力する入力装置３１０６と、ＣＲＴや液晶ディスプレイ等の出力装置３１０５と、例えばネットワークを介して他の装置と通信を行うための通信回線インタフェース３１０７、そして、それらをつないでデータのやりとりをするためのバス３１０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００６８】
なお、図３１に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図３１に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Application Specific Integrated Circuit：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図３１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機（多機能複写機とも呼ばれ、スキャナ、プリンタ、複写機、ファックス等の機能を有している）などに組み込まれていてもよい。
【００６９】
前記実施の形態においては、図７、図９〜図１５、図１７〜図２０、図２２、図２６、図２９で示したデータ構造は、これらのデータ構造に限らず他のデータ構造であってもよい。例えば、テーブル構造のものはリンク構造等であってもよい。また、データ項目は、これらに図示したものに限られず、他のデータ項目を有していてもよい。
履歴に構造を持たせたことによって、より複雑な課金処理を実行するようにしてもよい。例えば、フローの分岐やフローのツリー構造の深さ等によって課金を変更する等である。これらについては、課金ルールをそのツリー構造に対応させ、課金計算の際にツリー構造の分析処理を行うことによって、実現することが可能である。
【００７０】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【図面の簡単な説明】
【００７１】
【図１】共通ＩＤ発行モジュール内の概念的なモジュール構成図である。
【図２】本実施の形態の構成例についての概念的なモジュール構成図である。
【図３】連携サービス履歴記録装置の構築例を示す説明図である。
【図４】連携サービスフロー（分岐なしの場合）の例を示す説明図である。
【図５】連携サービスフロー（分岐ありの場合）の例を示す説明図である。
【図６】共通ＩＤの発行処理の例を示すフローチャートである。
【図７】共通ＩＤの実現構造の例を示す説明図である。
【図８】エンティティの生成処理例を示すフローチャートである。
【図９】エンティティ配信先ＤＢによって管理される配信先情報の例を示す説明図である。
【図１０】エンティティ保管ＤＢによって管理されるユーザー情報エンティティの例を示す説明図である。
【図１１】エンティティ保管ＤＢによって管理される管理情報エンティティの例を示す説明図である。
【図１２】エンティティ保管ＤＢによって管理されるスキャンイメージ情報エンティティの例を示す説明図である。
【図１３】プリミティブサービスに関する情報の例を示す説明図である。
【図１４】連携サービスのスクリプト（分岐なしの場合）の例を示す説明図である。
【図１５】連携サービスのスクリプト（分岐ありの場合）の例を示す説明図である。
【図１６】連携サービスを実行する処理の例を示すフローチャートである。
【図１７】プリミティブサービスの実行履歴のフォーマットを示す説明図である。
【図１８】プリミティブサービスの実行履歴の例を示す説明図である。
【図１９】分岐がない場合の連携サービスの実行履歴の例を示す説明図である。
【図２０】分岐がある場合の連携サービスの実行履歴の例を示す説明図である。
【図２１】連携履歴からユーザーに対する課金を計算する処理の例を示すフローチャートである。
【図２２】課金ルールの例を示す説明図である。
【図２３】課金情報の例（個別サービス利用を積算した場合）を示す説明図である。
【図２４】課金情報の例（連携サービスに対して料金設定をした場合）を示す説明図である。
【図２５】原価配賦計算の処理例を示すフローチャートである。
【図２６】原価配賦ルールを示す説明図である。
【図２７】原価配賦データの例を示す説明図である。
【図２８】売上配賦計算の処理例を示すフローチャートである。
【図２９】売上配賦ルールの例を示す説明図である。
【図３０】売上配賦データの例を示す説明図である。
【図３１】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００７２】
１…共通ＩＤ発行受付モジュール
２…サブスペースＩＤ
３…共通ＩＤ生成モジュール
４…エンティティＩＤ発行モジュール
５…発行済エンティティＩＤ管理ＤＢ
６…共通ＩＤ発行モジュール
７…共通ＩＤ発行要求モジュール
８…エンティティ生成モジュール
９…プリミティブサービス実行モジュール
１０…連携サービス実行モジュール
１１…エンティティ管理モジュール
１２…履歴送付モジュール
１３…履歴取得モジュール
１４…エンティティ保管ＤＢ
１５…サービス提供サーバー
１６…エンティティ配信先管理モジュール
１７…エンティティ配信先ＤＢ
１８…エンティティ配信管理サーバー
１９…履歴収集モジュール
２０…課金ルールＤＢ
２１…履歴保管ＤＢ
２２…課金計算モジュール
２３…課金結果送付モジュール
２４…サービス履歴管理サーバー
２５…ネットワーク
【図１】
2008228143.tif 000003
【図２】
2008228143.tif 000004
【図３】
2008228143.tif 000005
【図４】
2008228143.tif 000006
【図５】
2008228143.tif 000007
【図６】
2008228143.tif 000008
【図７】
2008228143.tif 000009
【図８】
2008228143.tif 000010
【図９】
2008228143.tif 000011
【図１０】
2008228143.tif 000012
【図１１】
2008228143.tif 000013
【図１２】
2008228143.tif 000014
【図１３】
2008228143.tif 000015
【図１４】
2008228143.tif 000016
【図１５】
2008228143.tif 000017
【図１６】
2008228143.tif 000018
【図１７】
2008228143.tif 000019
【図１８】
2008228143.tif 000020
【図１９】
2008228143.tif 000021
【図２０】
2008228143.tif 000022
【図２１】
2008228143.tif 000023
【図２２】
2008228143.tif 000024
【図２３】
2008228143.tif 000025
【図２４】
2008228143.tif 000026
【図２５】
2008228143.tif 000027
【図２６】
2008228143.tif 000028
【図２７】
2008228143.tif 000029
【図２８】
2008228143.tif 000030
【図２９】
2008228143.tif 000031
【図３０】
2008228143.tif 000032
【図３１】
2008228143.tif 000033