JP2010191701A - 情報処理システム、情報処理装置及び情報処理プログラム - Google Patents

情報処理システム、情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP2010191701A
JP2010191701A JP2009035655A JP2009035655A JP2010191701A JP 2010191701 A JP2010191701 A JP 2010191701A JP 2009035655 A JP2009035655 A JP 2009035655A JP 2009035655 A JP2009035655 A JP 2009035655A JP 2010191701 A JP2010191701 A JP 2010191701A
Authority
JP
Japan
Prior art keywords
identifier
electronic information
module
service processing
specifying
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009035655A
Other languages
English (en)
Inventor
Taro Terao
太郎 寺尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2009035655A priority Critical patent/JP2010191701A/ja
Publication of JP2010191701A publication Critical patent/JP2010191701A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複合電子情報内の電子情報の数が増加しても生成される情報量の増加を抑制するようにした情報処理装置を提供する。
【解決手段】情報処理装置の電子情報識別子生成手段は、電子情報を特定するための識別子を、該電子情報の内容に基づいて生成し、複合電子情報識別子生成手段は、複数の前記電子情報によって構成されている複合電子情報を特定するための識別子を、前記電子情報識別子生成手段によって生成された該電子情報の識別子に基づいて生成する。
【選択図】図1

Description

本発明は、情報処理システム、情報処理装置及び情報処理プログラムに関する。
複数の情報処理装置が通信回線を介して電子情報の通信を行って、他方の情報処理装置に情報処理を行ってもらうことが行われている。
これに関連する技術として、例えば、特許文献1には、複合コンテンツを実行側の端末上で解析・処理するとともに、サービス利用者自身が複合コンテンツのカスタマイズを容易に実現することを課題とし、少なくとも1つのプロバイダ装置によって提供される複数のコンテンツを連携させて実行するために必要となる複合コンテンツ情報リストをコンテンツ管理装置に記憶しておき、記憶されている複合コンテンツ情報リストをコンテンツ実行端末が取得し、コンテンツ実行端末は、取得した複合コンテンツ情報リストに基づいてコンテンツの実行手順を導出し、導出された実行手順にしたがって実行可能なコンテンツをユーザーが選択できるように該ユーザーに提示し、ユーザーによって選択されたコンテンツをコンテンツ実行端末が実行することが開示されている。
特開2005−250971号公報
ところで、前述の背景技術では、複合コンテンツ情報リストにて提示されるコンテンツの数が増加すると、リストに含まれる各コンテンツのIDの数も増加することから、生成される情報量も増加することになる。
本発明は、かかる課題を解決するようにした情報処理システム、情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、電子情報を特定するための識別子を、該電子情報の内容に基づいて生成する電子情報識別子生成手段と、複数の前記電子情報によって構成されている複合電子情報を特定するための識別子を、前記電子情報識別子生成手段によって生成された該電子情報の識別子に基づいて生成する複合電子情報識別子生成手段を有する第1の情報処理装置と、前記第1の情報処理装置によって生成された、前記複合電子情報を特定するための識別子に基づいて、該複合電子情報を構成している電子情報を特定するための識別子を抽出する識別子抽出手段と、前記識別子抽出手段によって抽出された電子情報を特定するための識別子に基づいて、必要とする電子情報の内容を抽出する電子情報抽出手段を有する第2の情報処理装置を具備することを特徴とする情報処理システムである。
請求項2の発明は、電子情報を特定するための識別子を、該電子情報の内容に基づいて生成する電子情報識別子生成手段と、複数の前記電子情報によって構成されている複合電子情報を特定するための識別子を、前記電子情報識別子生成手段によって生成された該電子情報の識別子に基づいて生成する複合電子情報識別子生成手段を具備することを特徴とする情報処理装置である。
請求項3の発明は、前記複合電子情報は、前記電子情報が階層的に構成されており、前記複合電子情報識別子生成手段は、前記複合電子情報を特定するための識別子を階層毎に生成し、上位の階層を特定するための識別子を下位の階層を特定するための識別子に基づいて生成することを特徴とする請求項2に記載の情報処理装置である。
請求項4の発明は、複合電子情報を特定するための識別子に基づいて、該複合電子情報を構成している電子情報を特定するための識別子を抽出する識別子抽出手段と、前記識別子抽出手段によって抽出された電子情報を特定するための識別子に基づいて、必要とする電子情報の内容を抽出する電子情報抽出手段を具備することを特徴とする情報処理装置である。
請求項5の発明は、前記複合電子情報は、前記電子情報が階層的に構成されており、前記識別子抽出手段は、前記複合電子情報を特定するための識別子を階層毎に抽出し、下位の階層を特定するための識別子を上位の階層を特定するための識別子に基づいて生成することを特徴とする請求項4に記載の情報処理装置である。
請求項6の発明は、コンピュータを、電子情報を特定するための識別子を、該電子情報の内容に基づいて生成する電子情報識別子生成手段と、複数の前記電子情報によって構成されている複合電子情報を特定するための識別子を、前記電子情報識別子生成手段によって生成された該電子情報の識別子に基づいて生成する複合電子情報識別子生成手段として機能させることを特徴とする情報処理プログラムである。
請求項7の発明は、コンピュータを、複合電子情報を特定するための識別子に基づいて、該複合電子情報を構成している電子情報を特定するための識別子を抽出する識別子抽出手段と、前記識別子抽出手段によって抽出された電子情報を特定するための識別子に基づいて、必要とする電子情報の内容を抽出する電子情報抽出手段として機能させることを特徴とする情報処理プログラムである。
請求項1の情報処理システムによれば、複合電子情報を特定するための識別子を、複合電子情報を構成する各々の電子情報の識別子により生成することから、生成される情報量の増加を抑制することができる。
請求項2の情報処理装置によれば、複合電子情報を特定するための識別子を、複合電子情報を構成する各々の電子情報の識別子により生成することから、生成される情報量の増加を抑制することができる。
請求項3の情報処理装置によれば、電子情報が階層的に構成された複合電子情報であっても、その複合電子情報内の必要とする電子情報の内容を抽出させる識別子を生成することができる。
請求項4の情報処理装置によれば、複数の情報処理装置間で複合電子情報内の一部の電子情報に対して情報処理を行う場合にあって、その複合電子情報内の必要とする電子情報の内容を抽出することができる。
請求項5の情報処理装置によれば、電子情報が階層的に構成された複合電子情報であっても、その複合電子情報内の必要とする電子情報の内容を抽出することができる。
請求項6の情報処理プログラムによれば、複合電子情報を特定するための識別子を、複合電子情報を構成する各々の電子情報の識別子により生成することから、生成される情報量の増加を抑制することができる。
請求項7の情報処理プログラムによれば、複数の情報処理装置間で複合電子情報内の一部の電子情報に対して情報処理を行う場合にあって、その複合電子情報内の必要とする電子情報の内容を抽出することができる。
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「予め定められた」とは、対象としている処理の前であることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
処理対象の電子情報として、オブジェクトを主に例示して説明する。オブジェクトとは、テキスト、画像、動画、音声等の電子データであり、記憶、編集及び検索等ができ、システム又は利用者間で個別の単位として交換できるものをいい、これらに類似するものを含む。より具体的には、電子文書、ファイル等が該当する。なお、オブジェクトにはアイデンティティが必要であるが、名前は必須ではない。例えば、jpeg形式のオクテットストリームで名前(ファイル名)のないものもオブジェクトである。さらに補足すると、ここでのオブジェクトはいわゆるイミュータブルなオブジェクトであり、そのアイデンティティは本質的に内容から定まる。例えば,オブジェクトとしていわゆる文字列を考えた場合、ミュータブルな文字列ではなくインターンされた文字列を考えているのである。
また、情報処理装置間の通信プロトコルとして、HTTP(HyperText Transfer Protocol)を主に例示して説明する。
本実施の形態は、外部サービスがオブジェクトを参照、書き込み等するにあたって、URI(Uniform Resource Identifier)およびHTTPで用意された基本的なメソッド(GET,PUT,DELETEなど)をサービス連携用のインターフェイスとして利用するものである。そのURIは、例えば、コンテンツハッシュ等のような一様な方法を用いて、オブジェクトに基づいて定まるものである。また、サービス連携用のインターフェイスとして利用するものであり、単に、ユーザーがオブジェクトを指定するのにURIを用いるだけでなく、サービス(コンピュータ・プログラム)同士が連携して処理を行う場合にも用いられるようにしたものである。
本実施の形態は、汎用的なデータ構造(ZIP、XML、JSON(JavaScript(登録商標) Object Notation)等)を扱い得る簡易なREST(Representational State Transfer)型のサービス連携方式であって、次のことがらを1つ以上実現しえるものである。
・コンパウンドオブジェクトの必要部分のみを送受信すればよい。
・データ転送又はデータ処理を効率的に行う。
・データ保持サービス側が、データおよびその構成部分データまで含めてセキュリティを担保したうえで、運用管理の負荷を上げずに運用できる。
・データが受け渡されるデータ処理サービス側では、データ取得が安全(必要なデータのみが開示される)かつ効率的(SOAPで実体を送るのと比べて)で、処理結果をデータ保持サービスに書き戻すのも安全(他のデータを破壊されたりしない)かつ容易(サービス間のネゴシエーションが不要)とする。
・データの利用参照関係や履歴を正確に捕捉できる。
本実施の形態である情報処理システムは、オブジェクトに対して処理を行うものであって、図1に示すように、情報処理装置としてクライアント110、サービス処理装置120、サービス処理装置140を有しており、通信回線190を介して互いに接続されている。
クライアント110は、通信モジュール111、リクエスト出力モジュール112、レスポンス受付モジュール113、制御モジュール119を有している。なお、ここでのクライアント110は、サービスを利用するユーザーが用いる装置であって、サービス開始の契機、サービス結果の提示等を行うものである。
通信モジュール111は、リクエスト出力モジュール112、レスポンス受付モジュール113と接続されており、通信回線190を介して接続されているサービス処理装置120、サービス処理装置140との通信を行う。主に、サービス処理装置120とは、オブジェクトの処理依頼であるリクエスト、その処理結果の授受を行う。
リクエスト出力モジュール112は、通信モジュール111と接続されており、通信モジュール111、通信回線190を介して、サービス処理装置120へリクエストを送信する。そのリクエストにはオブジェクトが含まれていてもよい。例えば、リクエストとして、オブジェクトのストア(格納)、リトリーブ(読み出し、取り出し)、オブジェクトが画像データであるならば画像処理(色変換処理、アフィン変換等)、オブジェクトがテキストデータであるならばテキスト処理(翻訳処理、要約処理等)等の依頼がある。例えば、リクエストの対象であるオブジェクトをサービス処理装置120へ送信してもよい。もちろんのことながら、オブジェクトの送信以外に一般的なリクエストの送信にも関与する。
レスポンス受付モジュール113は、通信モジュール111と接続されており、通信モジュール111、通信回線190を介して、リクエスト出力モジュール112が送信したリクエストに対するサービス処理装置120からのレスポンスを受信する。例えば、リクエスト出力モジュール112によって送信されたオブジェクトを特定するための識別子をサービス処理装置120から受信してもよい。もちろんのことながら、オブジェクトを特定するための識別子の受信以外に一般的なレスポンスの受信にも関与する。
さらに、リクエスト出力モジュール112は、レスポンス受付モジュール113によって受信された識別子を含む電子情報(以後、このような識別子を0個以上含む電子情報をメタ電子情報と呼称する)をサービス処理装置120へ送信する。メタ電子情報は、典型的には、識別子とその識別子が指し示すオブジェクトに関する電子情報を含むものであり例えば、識別子とそのオブジェクトの名称が結合していてもよい。また、結合するとは、2つの電子情報(例えば、識別子の文字列とオブジェクトの名称の文字列)が分離可能に結合したものであり、例えば、2つの文字列の間に「:」、「、」等の特殊文字を挿入して連続させた文字列(また、一方の文字列の文字数が予め定められた数であるならば挿入文字も不要である)等が該当する。なお、ここでのメタ電子情報は、複合オブジェクトを示すための表現であればよく、種々の汎用的なデータ構造の表現が該当する。なお、メタ電子情報に対応する識別子を生成する側(オブジェクトリファレンス化モジュール127)にとっては、識別子を生成する対象のオブジェクトにすぎない。
そして、レスポンス受付モジュール113は、リクエスト出力モジュール112によって送信されたメタ電子情報を特定するための識別子をサービス処理装置120から受信する。
また、リクエスト出力モジュール112は、オブジェクトAをサービス処理装置120へ送信した後に、オブジェクトBをサービス処理装置120へ送信する。
そして、レスポンス受付モジュール113は、オブジェクトAを特定するためのID−Aをサービス処理装置120から受信した後に、リクエスト出力モジュール112によって送信されたオブジェクトBを特定するためのID−Bをサービス処理装置120から受信する。
さらに、リクエスト出力モジュール112は、ID−AとID−Bが結合されたメタ電子情報をサービス処理装置120へ送信する。
そして、レスポンス受付モジュール113は、リクエスト出力モジュール112によって送信されたメタ電子情報を特定するためのID−Cを受信する。ここで、ID−CはオブジェクトAとオブジェクトBからなる複合オブジェクトの識別子とみなせる。
また、リクエスト出力モジュール112、レスポンス受付モジュール113は、これらの組み合わせの送信、受信を行ってもよい。
例えば、フォルダWにオブジェクトXが含まれ、フォルダVにはフォルダWとオブジェクトYが含まれているという構造を有する複合オブジェクトを送信するためのリクエスト出力モジュール112とレスポンス受付モジュール113の一連の処理を説明する。なお、複合オブジェクトとは、0個以上の部分オブジェクトから構成されるオブジェクトであり、その部分オブジェクトも複合オブジェクトであることを許す。つまり、複合オブジェクトでは、一般に複数のオブジェクトを含み、そのオブジェクト間は階層構造をなしているものである。
まず、リクエスト出力モジュール112がサービス処理装置120へオブジェクトXを送信し、それに対応して、レスポンス受付モジュール113がオブジェクトXを特定するためのID−Xを受信する。
次に、リクエスト出力モジュール112がサービス処理装置120へオブジェクトXの名称とID−Xを結合したメタ電子情報を送信し、それに対応して、レスポンス受付モジュール113がそのメタ電子情報を特定するためのID−Wを受信する。
次に、リクエスト出力モジュール112がサービス処理装置120へオブジェクトYを送信し、それに対応して、レスポンス受付モジュール113がオブジェクトYを特定するためのID−Yを受信する。
次に、リクエスト出力モジュール112がサービス処理装置120へフォルダWの名称とID−WとオブジェクトYの名称とID−Yを結合したメタ電子情報を送信し、それに対応して、レスポンス受付モジュール113がそのメタ電子情報を特定するためのID−Vを受信する。
これによって、前述の複合オブジェクトを特定するためのID−Vが生成されたことになる。
また、例えば、フォルダKにオブジェクトJがあり、フォルダMにオブジェクトLがあり、さらにその2つのフォルダの親であるフォルダNがあるという構造を有する複合オブジェクトを送信するためのリクエスト出力モジュール112とレスポンス受付モジュール113の一連の処理を説明する。
まず、リクエスト出力モジュール112がサービス処理装置120へオブジェクトJを送信し、それに対応して、レスポンス受付モジュール113がオブジェクトJを特定するためのID−Jを受信する。
次に、リクエスト出力モジュール112がID−JとオブジェクトJの名称を結合したメタ電子情報Kを送信し、それに対応して、レスポンス受付モジュール113がメタ電子情報Kを特定するためのID−Kを受信する。
同様に、リクエスト出力モジュール112がサービス処理装置120へオブジェクトLを送信し、それに対応して、レスポンス受付モジュール113がオブジェクトLを特定するためのID−Lを受信する。
次に、リクエスト出力モジュール112がID−LとオブジェクトLの名称を結合したメタ電子情報Mを送信し、それに対応して、レスポンス受付モジュール113がメタ電子情報Mを特定するためのID−Mを受信する。
そして、リクエスト出力モジュール112がフォルダKの名称とID−KとフォルダMの名称とID−Mを結合したメタ電子情報Nを送信し、それに対応して、レスポンス受付モジュール113がメタ電子情報Nを特定するためのID−Nを受信する。
これによって、前述の複合オブジェクトを特定するためのID−Nが生成されたことになる。
逆に、識別子からオブジェクトを取り出す場合について説明する。
リクエスト出力モジュール112が識別子をサービス処理装置120へ送信し、それに対応してレスポンス受付モジュール113がサービス処理装置120から識別子によって特定されるオブジェクトを受信する。
次に、前述のID−C(ID−AとID−Bが結合されたメタ電子情報を特定するための識別子)から、オブジェクトA又はオブジェクトBのいずれか一方を取り出す場合について説明する。つまり、ID−CからオブジェクトAとオブジェクトBの両方を取り出すわけではなく、必要とする片方のオブジェクトを取り出そうとする処理である。
リクエスト出力モジュール112が前述のID−Cをサービス処理装置120へ送信し、それに対応してレスポンス受付モジュール113がID−Cに対応するID−AとID−Bが結合されたメタ電子情報を受信する。
次に、リクエスト出力モジュール112がそのメタ電子情報に基づいて、ID−A又はID−Bのうちいずれか一方をサービス処理装置120へ送信する。それに対応してレスポンス受付モジュール113がID−A又はID−Bのうちいずれか一方に対応するオブジェクトA又はオブジェクトBのいずれか一方を受信する。
例えば、前述のID−VからオブジェクトXを取り出す場合について説明する。
まず、リクエスト出力モジュール112がサービス処理装置120へID−Vを送信し、それに対応して、レスポンス受付モジュール113がフォルダWの名称とID−WとオブジェクトYの名称とID−Yを結合したメタ電子情報を受信する。
次に、リクエスト出力モジュール112がサービス処理装置120へID−Wを送信し、それに対応して、レスポンス受付モジュール113がオブジェクトXの名称とID−Xを結合したメタ電子情報を受信する。
次に、リクエスト出力モジュール112がサービス処理装置120へID−Xを送信し、それに対応して、レスポンス受付モジュール113がオブジェクトXを受信する。
これによって、複合オブジェクトから不要なオブジェクトは取り出さずに、必要なオブジェクトを取り出している。
次に、前述のID−Cによって特定されるもののうちオブジェクトAをオブジェクトA’に置き換える場合について説明する。オブジェクトA’は、オブジェクトAを処理(画像処理、テキスト処理等)したもの、異なる別のオブジェクト等であってもよい。
リクエスト出力モジュール112がオブジェクトA’をサービス処理装置120へ送信し、それに対応してレスポンス受付モジュール113がオブジェクトA’を特定するためのID−A’をサービス処理装置120から受信する。
次に、リクエスト出力モジュール112がID−A’とID−Bが結合されたメタ電子情報をサービス処理装置120へ送信し、レスポンス受付モジュール113がそのメタ電子情報を特定するためのID−C’を受信する。
例えば、前述のID−Vに対応する複合オブジェクトからオブジェクトXをオブジェクトX’に置き換える場合について説明する。
まず、リクエスト出力モジュール112がサービス処理装置120へオブジェクトX’を送信し、それに対応して、レスポンス受付モジュール113がオブジェクトX’を特定するためのID−X’を受信する。
次に、リクエスト出力モジュール112がサービス処理装置120へオブジェクトX’の名称とID−X’を結合したメタ電子情報を送信し、それに対応して、レスポンス受付モジュール113がそのメタ電子情報を特定するためのID−W’を受信する。
次に、リクエスト出力モジュール112がサービス処理装置120へフォルダWの名称とID−W’とオブジェクトYの名称とID−Yを結合したメタ電子情報を送信し、それに対応して、レスポンス受付モジュール113がそのメタ電子情報を特定するためのID−V’を受信する。
これによって、前述のオブジェクトXがオブジェクトX’に置き換わった複合オブジェクトを特定するためのID−V’が生成されたことになる。なお、ID−Yを生成するためのステップが省略されているのは、オブジェクトYを特定するためのID−Yは既に受信しており、それをクライアント110が記憶しておき、ここで利用したためである。
制御モジュール119は、サービス処理装置120に対するリクエスト処理、サービス処理装置120からのレスポンスの受信処理を行うように、クライアント110内の各モジュールを制御する。また、サービス処理装置120から受信したIDを記憶するようにしてもよい。制御モジュール119が、サービス処理装置120のサービス処理モジュール126、オブジェクトリファレンス化モジュール127、コンパウンドオブジェクトリファレンス化モジュール128と同等の機能を有し、オブジェクトのIDを生成するようにしてもよい。
サービス処理装置120は、通信モジュール121、リクエスト受付モジュール122、レスポンス出力モジュール123、オブジェクト受付モジュール124、オブジェクト出力モジュール125、サービス処理モジュール126、オブジェクトリファレンス化モジュール127、コンパウンドオブジェクトリファレンス化モジュール128、オブジェクト記憶モジュール129、ユーザー管理モジュール130、制御モジュール131を有している。
通信モジュール121は、リクエスト受付モジュール122、レスポンス出力モジュール123、オブジェクト受付モジュール124、オブジェクト出力モジュール125と接続されており、通信回線190を介して接続されているクライアント110、サービス処理装置140との通信を行う。主に、クライアント110とは、オブジェクトの処理依頼であるリクエスト、その処理結果の授受を行い、サービス処理装置140とは、処理対象であるオブジェクト、処理後のオブジェクトの授受を行う。
リクエスト受付モジュール122は、通信モジュール121、サービス処理モジュール126と接続されている。通信モジュール121によって受信されたクライアント110、サービス処理装置140からのリクエストを受け付ける。そして、その受け付けたリクエストをサービス処理モジュール126へ渡す。なお、リクエストにはオブジェクトが含まれる場合がある。
レスポンス出力モジュール123は、通信モジュール121、サービス処理モジュール126と接続されている。リクエスト受付モジュール122が受け付けたリクエストに対するサービス処理モジュール126による処理結果を、通信モジュール121、通信回線190を介してクライアント110、サービス処理装置140へ出力する。
オブジェクト受付モジュール124は、通信モジュール121、オブジェクトリファレンス化モジュール127と接続されている。通信モジュール121によって受信されたクライアント110、サービス処理装置140からのオブジェクトを、通信モジュール121、通信回線190を介して受け付ける。そして、その受け付けたオブジェクトをオブジェクトリファレンス化モジュール127へ渡す。
オブジェクト出力モジュール125は、通信モジュール121、オブジェクト記憶モジュール129と接続されている。オブジェクト記憶モジュール129に記憶されているオブジェクトを、通信モジュール121、通信回線190を介してクライアント110、サービス処理装置140へ出力する。
サービス処理モジュール126は、リクエスト受付モジュール122、レスポンス出力モジュール123、オブジェクトリファレンス化モジュール127、コンパウンドオブジェクトリファレンス化モジュール128と接続されている。リクエスト受付モジュール122が受け付けたリクエスト及びそのリクエスト内のオブジェクト又はメタ電子情報に応じて、オブジェクトリファレンス化モジュール127又はコンパウンドオブジェクトリファレンス化モジュール128に、そのオブジェクト又はメタ電子情報を特定するための識別子を生成させる。つまり、リクエストとしてオブジェクトの格納である場合はオブジェクトリファレンス化モジュール127にオブジェクトを渡し、その識別子を生成させ、そのオブジェクトと生成させた識別子を対応させてオブジェクト記憶モジュール129に記憶させる。また、リクエストとしてメタ電子情報である場合もオブジェクトリファレンス化モジュール127は識別子を生成し、そのメタ電子情報と識別子を対応させてオブジェクト記憶モジュール129に記憶させる。一方、例えば、ZIPファイルやXML文書、あるいはJSONオブジェクトなどの従来型の(つまり階層単位でリファレンス化されているわけではない)複合オブジェクトをサービス処理モジュール126が処理する際には、コンパウンドオブジェクトリファレンス化モジュール128に複合オブジェクトを渡し、コンパウンドオブジェクトリファレンス化モジュール128は再帰的にオブジェクトリファレンス化モジュール127を呼ぶことによって、従来型の複合オブジェクトを階層単位で再帰的にリファレンス化し、そのトップレベルの識別子(つまり,複合オブジェクトの識別子)を生成させることができる。
サービス処理モジュール126は、リクエスト受付モジュール122を介して、オブジェクトをクライアント110から受信する。次に、その受信されたオブジェクトを特定するための識別子をオブジェクトリファレンス化モジュール127に生成させる。そして、オブジェクトリファレンス化モジュール127によって生成された識別子をリクエストを行ったクライアント110へ、レスポンス出力モジュール123を介して送信する。
そして、受信したオブジェクトをオブジェクト記憶モジュール129に記憶させてもよい。そして、その記憶したオブジェクトに識別子を付与して、その識別子に基づいてオブジェクトを抽出し得るようにしてもよい。
また、サービス処理モジュール126は、リクエスト受付モジュール122を介して、識別子とオブジェクトに関する電子情報が結合されたメタ電子情報をクライアント110から受信するようにしてもよい。次に、その受信されたメタ電子情報を特定するための識別子をオブジェクトリファレンス化モジュール127に生成させる。そして、オブジェクトリファレンス化モジュール127によって生成された識別子をクライアント110へ、レスポンス出力モジュール123を介して送信する。
そして、受信したメタ電子情報をオブジェクト記憶モジュール129に記憶させてもよい。そして、その記憶したメタ電子情報に識別子を付与して、その識別子に基づいてメタ電子情報を抽出し得るようにしてもよい。
また、サービス処理モジュール126は、リクエスト受付モジュール122を介して、クライアント110からオブジェクトAを受信し、その受信されたオブジェクトAを特定するためのID−Aをオブジェクトリファレンス化モジュール127に生成させる。そして、オブジェクトリファレンス化モジュール127によって生成されたID−Aをクライアント110へ、レスポンス出力モジュール123を介して送信する。その後に、クライアント110からオブジェクトBを受信するようにしてもよい。その受信されたオブジェクトBを特定するためのID−Bをオブジェクトリファレンス化モジュール127に生成させる。そして、オブジェクトリファレンス化モジュール127によって生成されたID−Bをクライアント110へ、レスポンス出力モジュール123を介して送信する。次に、リクエスト受付モジュール122を介して、ID−AとID−Bが結合されたメタ電子情報をクライアント110から受信する。その受信されたメタ電子情報を特定するためのID−Cをオブジェクトリファレンス化モジュール127に生成させる。その生成されたID−Cをクライアント110へ、レスポンス出力モジュール123を介して送信する。
また、サービス処理モジュール126は、クライアント110からのリクエストがサービス処理装置140を用いた処理である場合は、対象のオブジェクトをオブジェクト出力モジュール125を介して、サービス処理装置140へ送信し、その処理結果のオブジェクトをオブジェクト受付モジュール124を介して受け取り、その処理結果のオブジェクトを特定するための識別子をオブジェクトリファレンス化モジュール127に生成させ、オブジェクト記憶モジュール129へ記憶させた後、レスポンス出力モジュール123を介してクライアント110へ送信する。
また、サービス処理モジュール126は、オブジェクトを特定するための識別子とそのオブジェクトの部分をクライアント110から、リクエスト受付モジュール122を介して受信するようにしてもよい。そして、その識別子に基づいて、そのオブジェクトがオブジェクト記憶モジュール129に記憶されているか否かを判断する。既に記憶されていると判断した場合は、クライアント110へ、そのオブジェクトの残りの部分の送信は不要である旨を、レスポンス出力モジュール123を介して送信する。
そして、残りの部分は不要である旨を受信したクライアント110のレスポンス受付モジュール113はその旨を制御モジュール119へ通知し、制御モジュール119はオブジェクトの残りの部分の送信を中止するように、リクエスト出力モジュール112を制御する。
また、サービス処理モジュール126は、リクエスト受付モジュール122が受け付けたリクエストとして取り出しの場合は、識別子を受け取り、オブジェクト記憶モジュール129に記憶されている識別子とオブジェクトの対応、識別子とメタ電子情報の対応から、識別子を検索して、対応するオブジェクト又はメタ電子情報を取り出して、レスポンス出力モジュール123を介してレスポンスとしてクライアント110へ送信する。
オブジェクトリファレンス化モジュール127は、オブジェクト受付モジュール124、サービス処理モジュール126、コンパウンドオブジェクトリファレンス化モジュール128、オブジェクト記憶モジュール129と接続されている。サービス処理モジュール126又はオブジェクト受付モジュール124から受け取ったオブジェクトの識別子を生成する。そして、その識別子をサービス処理モジュール126又はコンパウンドオブジェクトリファレンス化モジュール128へ渡す。また、そのオブジェクトと対応する識別子をオブジェクト記憶モジュール129に記憶させる。識別子の生成は、オブジェクトの内容に基づいて、そのオブジェクトを特定するための識別子を生成すればよく、例えば、ハッシュ関数を用いて行う。
コンパウンドオブジェクトリファレンス化モジュール128は、サービス処理モジュール126、オブジェクトリファレンス化モジュール127と接続されている。サービス処理モジュール126から受け取ったオブジェクト(例えば、複合オブジェクトが含まれる)の識別子を生成する。そして、その識別子をサービス処理モジュール126へ渡す。識別子の生成は、オブジェクトの内容(複合オブジェクトである場合は、その複合オブジェクトを構成しているオブジェクトの識別子)に基づいて、そのオブジェクトを特定するための識別子を生成すればよく、例えば、ハッシュ関数を用いて行う。また、そのハッシュ関数は、オブジェクトリファレンス化モジュール127で用いたものと同じものである。コンパウンドオブジェクトリファレンス化モジュール128は、例えば、渡されたZIPファイルを再帰的にリファレンス化する。その場合、再帰的にオブジェクトリファレンス化モジュール127を呼ぶようにしてもよい。
オブジェクト記憶モジュール129は、オブジェクト出力モジュール125、オブジェクトリファレンス化モジュール127と接続されている。オブジェクトリファレンス化モジュール127によって生成された識別子と対応するオブジェクトやメタ電子情報を記憶しており、サービス処理モジュール126等の指示に基づいて、記憶しているオブジェクトをオブジェクト出力モジュール125へ渡す。
ユーザー管理モジュール130は、サービス処理装置120を使用することができるユーザーのログイン管理を行う。例えば、サービス処理装置120を使用することができるユーザー名、パスワードを対応させて記憶しており、クライアント110からのユーザー名、パスワードを受け取って、そのユーザーがサービス処理装置120を利用できるか否かを判断する。ログインしたユーザーからのリクエストに対して処理を行うようにする。
制御モジュール131は、サービス処理装置120内の各モジュールを制御して、クライアント110からの処理依頼に対する処理を、サービス処理装置140と連携して行う。
サービス処理装置140は、通信モジュール141、オブジェクト受付モジュール144、オブジェクト出力モジュール145、オブジェクト処理モジュール146、制御モジュール149を有している。
通信モジュール141は、オブジェクト受付モジュール144、オブジェクト出力モジュール145と接続されており、通信回線190を介して接続されているクライアント110、サービス処理装置120との通信を行う。主に、サービス処理装置120とは、処理対象であるオブジェクト、処理後のオブジェクトの授受を行う。
オブジェクト受付モジュール144は、通信モジュール141、オブジェクト処理モジュール146と接続されている。通信モジュール141によって受信されたサービス処理装置140(場合によってはクライアント110)からのオブジェクトを受け付ける。そして、その受け付けたオブジェクトをオブジェクト処理モジュール146へ渡す。
オブジェクト出力モジュール145は、通信モジュール141、オブジェクト処理モジュール146と接続されている。オブジェクト処理モジュール146によって処理されたオブジェクトを、通信モジュール141、通信回線190を介してクライアント110、サービス処理装置120へ出力する。
オブジェクト処理モジュール146は、オブジェクト受付モジュール144、オブジェクト出力モジュール145と接続されている。オブジェクト受付モジュール144から対象となるオブジェクトを受け取り、そのオブジェクトに対する処理(画像処理、テキスト処理等)を行い、その処理結果をオブジェクト出力モジュール145へ渡す。
制御モジュール149は、サービス処理装置140内の各モジュールを制御して、サービス処理装置120と連携してクライアント110からの処理依頼に対する処理を行う。
図2は、第1の実施の形態による処理例を示すフローチャートである。ここで説明する処理例は、クライアント110がオブジェクトをサービス処理装置120に格納する処理についてである。
ステップS202では、制御モジュール119が対象とするオブジェクトを分割する。例えば、1回の通信で送信できる容量が予め定められている場合は、その容量以下の値になるように分割する。より具体的な例として、HTTPのメッセージボディに記載し得る容量に、オブジェクトを分割する。
ステップS204では、リクエスト出力モジュール112が、ステップS202で分割したオブジェクトの部分をサービス処理装置120へ送信する。
より具体的な例として、
POST http://storage/ メッセージボディにオブジェクト(部分)
を実行する。
ステップS206では、リクエスト受付モジュール122が、ステップS204で送信されたオブジェクトの部分を受信する。ステップS204、ステップS206の処理を、分割されたオブジェクトの全体を送信し終えるまで繰り返す。より具体的な例では、レスポンス出力モジュール123が「100 Continue」を返し、それを受信したクライアント110が送信を繰り返すようにする。そして、サービス処理モジュール126が、受信したオブジェクトを結合する。
ステップS208では、サービス処理モジュール126が、オブジェクトリファレンス化モジュール127を用いて、結合したオブジェクトの識別子を生成する。
ステップS210では、サービス処理モジュール126が、受信したオブジェクトと識別子を対応させてオブジェクト記憶モジュール129に格納する。
ステップS212では、サービス処理モジュール126が、レスポンス出力モジュール123を用いて、識別子をクライアント110へ送信する。
より具体的な例として、
[hash(object)]_hex
をレスポンスとして送信する。なお、hash(object)は、識別子の一例としてオブジェクトのハッシュ値であり、[ ]_hexは、HTTPを用いるために識別子を16進数表現にするものである。
ステップS214では、レスポンス受付モジュール113が識別子を受信する。そして、その識別子をクライアント110内の記憶部に記憶する。
図3は、第1の実施の形態による処理例を示すフローチャートである。ここで説明する処理例は、図2の例に示したフローチャートと同様に、クライアント110がオブジェクトをサービス処理装置120に格納する処理についてである。ただし、クライアント110が識別子を生成して、分割したオブジェクトを途中で送信しなくてもよい場合が生じる処理である。
ステップS302では、制御モジュール119が、オブジェクトの識別子を生成する。そして、その識別子をクライアント110内の記憶部に記憶する。
ステップS304は、図2の例に示したステップS202と同等の処理である。
ステップS306では、リクエスト出力モジュール112が、ステップS302で生成した識別子とステップS304で分割されたオブジェクトの部分をサービス処理装置120へ送信する。
より具体的な例として、
PUT http://storage/[hash(object)]_hex メッセージボディにオブジェクト(部分)
を実行する。
ステップS308では、リクエスト受付モジュール122が、ステップS306で送信された識別子とオブジェクトの部分を受信する。
ステップS310では、サービス処理モジュール126が、ステップS308で受信した識別子は、オブジェクト記憶モジュール129に既に格納されていないかを確認する。
ステップS312では、サービス処理モジュール126が、ステップS310での確認の結果を判断する。既に格納されている場合はステップS316へ進み、それ以外の場合はステップS314へ進む。
ステップS314では、サービス処理モジュール126が、次のオブジェクトの部分を送信するように要求する。より具体的な例では、レスポンス出力モジュール123が「100 Continue」を返し、それを受信したクライアント110が送信を繰り返すようにする。
ステップS316では、サービス処理モジュール126が、次のオブジェクトの部分の送信は不要である旨を報告する。より具体的な例では、レスポンス出力モジュール123が「100 Continue」ではなく、「200 OK」を返し、それを受信したクライアント110が送信を中止するようにする。
ステップS318では、レスポンス受付モジュール113が、ステップS314又はステップS316での要求又は報告を受信する。
ステップS320では、制御モジュール119が、ステップS318で受信した要求又は報告で、オブジェクトの送信を継続するか否かを判断する。送信要求の場合はステップS322へ進み、それ以外の場合は終了する(ステップS399)。
ステップS322では、リクエスト出力モジュール112が、オブジェクトの次の部分をサービス処理装置120へ送信する。
ステップS324では、リクエスト受付モジュール122が、ステップS322で送信されたオブジェクトの部分を受信する。ステップS322、ステップS324の処理を、分割されたオブジェクトの全体を送信し終えるまで繰り返す。そして、サービス処理モジュール126が、受信したオブジェクトを結合する。
ステップS326では、サービス処理モジュール126が、受信したオブジェクトと識別子を対応させてオブジェクト記憶モジュール129に格納する。
図4は、第1の実施の形態による処理例を示すフローチャートである。ここで説明する処理例は、図2又は図3の例に示すフローチャートによって格納されたオブジェクトを取り出す処理である。
ステップS402では、リクエスト出力モジュール112が、取り出したいオブジェクトの識別子をサービス処理装置120へ送信する。
より具体的な例として、
GET http://storage/[hash(object)]_hex
を実行する。
ステップS404では、リクエスト受付モジュール122が、ステップS402で送信された識別子を受信する。
ステップS406では、サービス処理モジュール126が、ステップS404で受信した識別子に対応するオブジェクトをオブジェクト記憶モジュール129から読み出す。
ステップS408は、図2の例に示したステップS202と同等の処理である。
ステップS410では、レスポンス出力モジュール123が、分割されたオブジェクトの部分をクライアント110へ送信する。
ステップS412では、レスポンス受付モジュール113が、ステップS410で送信されたオブジェクトの部分を受信する。ステップS410、ステップS412の処理を、分割されたオブジェクトの全体を送信し終えるまで繰り返す。そして、制御モジュール119が、受信したオブジェクトを結合して、クライアント110内の記憶部に格納する。
図5は、第1の実施の形態による処理対象の例を示す説明図である。図4から図6の例に示したフローチャートは、単独のオブジェクトの格納又は取り出しの処理であったが、図5の例に示すような複合オブジェクトを対象としてもよい。図5の例に示す複合オブジェクトは、フォルダaの下にフォルダbとd.xmlというファイルがあり、フォルダbの下にはc.jpgというファイルがあるような構成をしている。例えば、この複合オブジェクトとして、圧縮又はアーカイブ等されたデータ形式であってもよい。
この図5の例に示した複合オブジェクトの格納の手順について説明する。なお、具体的な例として、JSONの表現形式を用い、HTTPのPOSTを用いて説明する。
(A1)クライアント110が、次のリクエストを行う。
POST http://storage/ メッセージボディにc.jpgのオブジェクト(コンテンツ)
そして、サービス処理装置120から識別子として、
χ=[hash(c.jpg)]_hex
をレスポンスとして得る。つまり、c.jpgのオブジェクトを対象とした識別子を得る。
(A2)クライアント110が、次のリクエストを行う。
POST http://storage/{“c.jpg”:“χ”}
そして、サービス処理装置120から識別子として、
β=[hash({“c.jpg”:“χ”})]_hex
をレスポンスとして得る。つまり、クライアント110は、「c.jpg」というファイル名と識別子であるχを結合したもの(階層構造内の一階層を表現したもの)を対象とした識別子を得る。サービス処理装置120は、受け取ったオブジェクト(階層構造内の一階層を表現したもの)の識別子を生成している。
(A3)クライアント110が、次のリクエストを行う。
POST http://storage/ メッセージボディにd.xmlのオブジェクト(コンテンツ)
そして、サービス処理装置120から識別子として、
δ=[hash(d.xml)]_hex
をレスポンスとして得る。つまり、d.xmlのオブジェクトを対象とした識別子を得る。
(A4)クライアント110が、次のリクエストを行う。
POST http://storage/{“b”:“β”,“d.xml”:“δ”}
そして、サービス処理装置120から識別子として、
α=[hash({“b”:“β”,“d.xml”:“δ”})]_hex
をレスポンスとして得る。つまり、「b」というフォルダ名と識別子であるβと「d.xml」というファイル名と識別子であるδを結合したものを対象とした識別子を得る。αが図5の例に示した複合オブジェクトであるフォルダaの識別子であり、β、χ、δはそれぞれ部分対象であるフォルダb、c.jpgのオブジェクト、d.xmlのオブジェクトの識別子である。下位階層の識別子(β、δ)を用いて、その上位の階層を示す識別子(α)を生成している。
なお、この例では、HTTPのPOSTを用いたが、前述のようにクライアント110が識別子を生成して、前述の図4の例に示したHTTPのPUTを用いるようにしてもよい。
以上の例では、通信回線を介して外部から階層ごとに逐次的に複合オブジェクトの識別子を獲得する過程を示したが、サービス処理装置120内でコンパウンドオブジェクトリファレンス化モジュール128により、従来型の複合オブジェクトを階層毎にリファレンス化(各部分オブジェクトが一様な手法で識別子を持つ)することによって識別子を生成する過程も全く同様である。
この図5の例に示した複合オブジェクトの取り出しの手順について説明する。なお、具体的な例として、JSONの表現形式を用い、HTTPのGETを用いて説明する。複合オブジェクトの格納が行われた後の処理である。
(B1)クライアント110が、次のリクエストを行う。
GET http://storage/α
そして、サービス処理装置120からレスポンスとして、
{“b”:“β”,“d.xml”:“δ”}
を得る。このレスポンスから、フォルダbの内容は識別子のβから取り出せること、「d.xml」のオブジェクトは識別子のδから取り出せることが判明する。つまり、識別子(α)に基づいて、その識別子は複合オブジェクトを示していることが判明し、その複合オブジェクトの最上位の階層の構造を抽出している。その抽出した構造内には、オブジェクトの識別子(δ)がある。
(B2)クライアント110が、次のリクエストを行う。
GET http://storage/β
そして、サービス処理装置120からレスポンスとして、
{“c.jpg”:“χ”}
を得る。このレスポンスから、「c.jpg」のオブジェクトは識別子のχから取り出せることが判明する。つまり、下位の階層の識別子(χ)を、上位の階層の識別子(β)から抽出している。
(B3)クライアント110が、次のリクエストを行う。
GET http://storage/χ
そして、サービス処理装置120からレスポンスとして、
c.jpgのオブジェクト(コンテンツ)
を得る。
(B4)クライアント110が、次のリクエストを行う。
GET http://storage/δ
そして、サービス処理装置120からレスポンスとして、
d.xmlのオブジェクト(コンテンツ)
を得る。
なお、この例では、図5の例に示した複合オブジェクトの全てを取り出すことを示したが、処理に必要な画像データであるc.jpgだけを取り出すようにした場合は、(B4)の処理を省略してもよい。もちろん、処理に必要なデータがd.xmlだけである場合は、(B2)、(B3)の処理を省略してもよい。
この図5の例に示した複合オブジェクトの更新(c.jpgを画像処理してc.jpg_にする)の手順について説明する。なお、具体的な例として、JSONの表現形式を用い、HTTPのPOSTを用いて説明する。複合オブジェクトの格納が行われた後の処理である。
(C1)クライアント110が、次のリクエストを行う。
POST http://storage/ メッセージボディにc.jpg_のオブジェクト(コンテンツ)
そして、サービス処理装置120から識別子として、
χ_=[hash(c.jpg_)]_hex
をレスポンスとして得る。
(C2)クライアント110が、次のリクエストを行う。
POST http://storage/{“c.jpg”:“χ_”}
そして、サービス処理装置120から識別子として、
β_=[hash({“c.jpg”:“χ_”})]_hex
をレスポンスとして得る。
(C3)クライアント110が、次のリクエストを行う。
POST http://storage/{“b”:“β_”,“d.xml”:“δ”}
なお、δは、前述の(A3)でのレスポンスで得たものを利用したものである。
そして、サービス処理装置120から識別子として、
α_=[hash({“b”:“β_”,“d.xml”:“δ”})]_hex
をレスポンスとして得る。α_が図5の例に示した複合オブジェクトであるフォルダaを更新したものの識別子であり、β_、χ_、δはそれぞれ部分対象であるフォルダbを更新したもの、c.jpgのオブジェクトを更新したもの、d.xmlのオブジェクトの識別子である。
この処理は、図5の例に示した複合オブジェクトと同等の構造を有していながら、前述の格納の手順((A1)から(A4))よりも、1ステップ少ない処理である。
なお、この例では、HTTPのPOSTを用いたが、前述のようにクライアント110が識別子を生成して、前述の図4の例に示したHTTPのPUTを用いるようにしてもよい。
図6は、第1の実施の形態による複合オブジェクトに対する格納の処理例を示すフローチャートである。なお、この処理は再帰的な処理としてもよい。
ステップS602では、オブジェクトの識別子を生成する(リファレンス化)。最初は、複合オブジェクトの階層の中で葉(その下にはオブジェクトがない状態)のオブジェクトを対象とする。
ステップS604では、そのオブジェクトに親がある(つまり、オブジェクトはフォルダに含まれている状態である)か否かを判断する。親があればステップS606へ進み、それ以外の場合は終了(ステップS699)する。
ステップS606では、そのオブジェクトに兄弟がある(つまり、同じ階層にあるものがある)か否かを判断する。兄弟があればステップS610へ進み、それ以外の場合はステップS608へ進む。
ステップS608では、ファイル名と識別子(リファレンス)を結合する(この結合したものをメタ情報ともいう)。このメタ情報が、ステップS602で識別子生成の対象となる。
ステップS610では、ファイル名と識別子(リファレンス)の結合に、兄弟のファイル名と識別子(リファレンス)の結合をさらに結合する(この結合したものもメタ情報ともいう)。このメタ情報が、ステップS602で識別子生成の対象となる。
図7は、第2の実施の形態の構成例についての概念的なモジュール構成図である。なお、第1の実施の形態と同種の部位には同一符号を付し重複した説明を省略する。
第1の実施の形態は、主にクライアント110がリクエストして、サービス処理装置120がサービス処理装置140と連携して処理を行ってレスポンスするという処理を行うものであるが、第2の実施の形態では、サービス処理装置120とサービス処理装置740の間で、第1の実施の形態におけるクライアント110とサービス処理装置120の間での処理と同等のことを行うようにしたものである。
サービス処理装置740は、通信モジュール741、リクエスト受付モジュール742、レスポンス出力モジュール743、オブジェクト受付モジュール744、オブジェクト出力モジュール745、サービス処理モジュール746、オブジェクト処理モジュール747、ユーザー管理モジュール748、制御モジュール749を有している。
通信モジュール741は、リクエスト受付モジュール742、レスポンス出力モジュール743、オブジェクト受付モジュール744、オブジェクト出力モジュール745と接続されており、通信回線190を介して接続されているクライアント110、サービス処理装置120との通信を行う。主に、サービス処理装置120とは、オブジェクトの処理依頼であるリクエスト、その処理結果の授受を行い、処理対象であるオブジェクト、処理後のオブジェクトの授受を行う。
リクエスト受付モジュール742は、通信モジュール741、サービス処理モジュール746と接続されている。通信モジュール741によって受信されたクライアント110、サービス処理装置120からのリクエストを受け付ける。そして、その受け付けたリクエストをサービス処理モジュール746へ渡す。なお、リクエストにはオブジェクトが含まれる場合がある。
レスポンス出力モジュール743は、通信モジュール741、サービス処理モジュール746と接続されている。リクエスト受付モジュール742が受け付けたリクエストに対するサービス処理モジュール746による処理結果を、通信モジュール741、通信回線190を介してクライアント110、サービス処理装置120へ出力する。
オブジェクト受付モジュール744は、通信モジュール741、オブジェクト処理モジュール747と接続されている。クライアント110、サービス処理装置120からのオブジェクトを、通信回線190、通信モジュール741を介して受け付ける。そして、その受け付けたオブジェクトをオブジェクト処理モジュール747へ渡す。
オブジェクト出力モジュール745は、通信モジュール741、オブジェクト処理モジュール747と接続されている。オブジェクト処理モジュール747によって処理されたオブジェクトを、通信モジュール741、通信回線190を介してクライアント110、サービス処理装置120へ出力する。
サービス処理モジュール746は、リクエスト受付モジュール742、レスポンス出力モジュール743、オブジェクト処理モジュール747と接続されている。リクエスト受付モジュール742が受け取ったリクエストにしたがって対象となるオブジェクトに対する処理を行うようにオブジェクト処理モジュール747を制御する。そして、その処理結果をレスポンス出力モジュール743へ渡す。また、サービス処理モジュール126、オブジェクトリファレンス化モジュール127、コンパウンドオブジェクトリファレンス化モジュール128と同等の処理を行ってもよい。
オブジェクト処理モジュール747は、オブジェクト受付モジュール744、オブジェクト出力モジュール745、サービス処理モジュール746と接続されている。サービス処理モジュール746による制御にしたがって、オブジェクト受付モジュール744から対象となるオブジェクトを受け取り、そのオブジェクトに対する処理(画像処理、テキスト処理等)を行い、その処理結果をオブジェクト出力モジュール745へ渡す。
ユーザー管理モジュール748は、サービス処理装置740を使用することができるユーザーのログイン管理を行う。例えば、サービス処理装置740を使用することができるユーザー名、パスワードを対応させて記憶しており、クライアント110からのユーザー名、パスワードを受け取って、そのユーザーがサービス処理装置740を利用できるか否かを判断する。ログインしたユーザーからのリクエストに対して処理を行うようにする。
制御モジュール749は、サービス処理装置740内の各モジュールを制御して、サービス処理装置120と連携してクライアント110からの処理依頼に対する処理を行う。
図8、図9は、第2の実施の形態による処理例を示すフローチャートである。
ステップS802では、リクエスト出力モジュール112が、オブジェクトに対する処理(画像処理、テキスト処理等)をサービス処理装置120にリクエストする。
ステップS804では、リクエスト受付モジュール122が、ステップS802で送信されたリクエストを受信する。
ステップS806では、サービス処理モジュール126が、リクエストにおける処理の対象となるオブジェクトの識別子(ソース識別子)をサービス処理装置740へ送信する。
ステップS808では、サービス処理モジュール746が、ステップS806で送信されたソース識別子を受信する。
ステップS810では、サービス処理モジュール746が、処理の対象となる識別子をサービス処理装置120へ送信する。
ステップS812では、サービス処理モジュール126が、ステップS810で送信された対象識別子を受信する。
ステップS814では、サービス処理モジュール126が、オブジェクト記憶モジュール129から対象識別子に対応するメタ情報を抽出する。
ステップS816では、サービス処理モジュール126が、ステップS814で抽出したメタ情報をサービス処理装置740へ送信する。
ステップS818では、サービス処理モジュール746が、ステップS816で送信されたメタ情報を受信する。このステップS810からステップS818までの処理を、処理対象のオブジェクトの識別子を取り出すまで繰り返す。
ステップS820では、サービス処理モジュール746が、処理の対象となるオブジェクトの識別子をサービス処理装置120へ送信する。
ステップS822では、サービス処理モジュール126が、ステップS820で送信された処理の対象となるオブジェクトの識別子を受信する。
ステップS824では、サービス処理モジュール126が、その識別子に対応するオブジェクトをオブジェクト記憶モジュール129から取り出す。
ステップS826では、オブジェクト出力モジュール125が、ステップS824で取り出されたオブジェクトをサービス処理装置740へ送信する。
ステップS828では、オブジェクト受付モジュール744が、ステップS826で送信されたオブジェクトを受信する。
ステップS830では、オブジェクト処理モジュール747が、サービス処理モジュール746による制御によって、ステップS828で受信されたオブジェクトに対して処理を行う。
ステップS832では、オブジェクト出力モジュール745(レスポンス出力モジュール743でもよい)が、ステップS830で処理されたオブジェクトをサービス処理装置120へ送信する。
ステップS834では、サービス処理モジュール126が、ステップS832で送信された処理済オブジェクトを受信する。
ステップS836では、サービス処理モジュール126が、オブジェクトリファレンス化モジュール127を用いて、ステップS834で受信した処理済オブジェクトの識別子を生成する。
ステップS838では、サービス処理モジュール126が、ステップS836で生成した識別子をサービス処理装置740へ送信する。
ステップS840では、サービス処理モジュール746が、ステップS838で送信された識別子を受信する。
ステップS842では、サービス処理モジュール746が、ステップS840で受信した識別子、ステップS818等で受信したメタ情報を用いて、処理済のメタ情報を生成する。つまり、元の複合オブジェクト内の処理対象のオブジェクトを処理済のオブジェクトに置き換えた複合オブジェクトのメタ情報を生成する。
ステップS844では、サービス処理モジュール746が、ステップS842で生成したメタ情報をサービス処理装置120へ送信する。
ステップS846では、サービス処理モジュール126が、ステップS844で送信されたメタ情報を受信する。
ステップS848では、サービス処理モジュール126が、ステップS846で受信したメタ情報の識別子を生成する。
ステップS850では、サービス処理モジュール126が、ステップS848で生成した識別子をサービス処理装置740へ送信する。
ステップS852では、サービス処理モジュール746が、ステップS850で送信された識別子を受信する。このステップS842からステップS852までの処理を、複合オブジェクトの全体の識別子を生成するまで繰り返す。
ステップS854では、レスポンス出力モジュール123が、リクエストされた処理(サービス処理)が終了したことの報告をクライアント110へ送信する。
ステップS856では、レスポンス受付モジュール113が、ステップS854で送信された報告を受信する。
なお、前述の実施の形態としてのプログラムが実行されるクライアント110、サービス処理装置120、140、740のハードウェア構成は、図10に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU1001を用い、記憶装置としてRAM1002、ROM1003、HD1004(例えばハードディスクを用いることができる)を用いている。リクエスト出力モジュール112、レスポンス受付モジュール113、制御モジュール119、サービス処理モジュール126、オブジェクトリファレンス化モジュール127、コンパウンドオブジェクトリファレンス化モジュール128、サービス処理モジュール746、オブジェクト処理モジュール747等のプログラムを実行するCPU1001と、そのプログラムやデータを記憶するRAM1002と、本コンピュータを起動するためのプログラム等が格納されているROM1003と、補助記憶装置であるHD1004と、キーボード、マウス等のデータを入力する入力装置1006と、CRTや液晶ディスプレイ等の出力装置1005と、通信ネットワークと接続するための通信回線インターフェイス1007(例えばネットワークインターフェイスカードを用いることができる)、そして、それらをつないでデータのやりとりをするためのバス1008により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図10に示すハードウェア構成は、1つの構成例を示すものであり、前述の実施の形態は、図10に示す構成に限らず、前述の実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図10に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
前述の実施の形態において、制御モジュール131がユーザー毎にリクエスト、レスポンス等を履歴としてサービス処理装置120内の記憶部に記憶するようにしてもよい。また、識別子毎にアクセスポリシー(識別子が指し示すオブジェクト、メタ電子情報の取り扱いに関する指針)を設定してもよい。例えば、アクセスポリシーとして、そのオブジェクトに対する読み出しの時限制限(予め定められた権限を有するユーザーは、いつまで読み出し可能か等の制限)、回数制限(予め定められた権限を有するユーザーは、何回まで読み出し可能か等の制限)等がある。つまり、サービス処理モジュール126は、対象としているオブジェクトに対応するアクセスポリシーにしたがって、履歴を参照して、そのユーザーが読み出し可能であるか否か等を判断するようにしてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
第1の実施の形態の構成例についての概念的なモジュール構成図である。 第1の実施の形態による処理例を示すフローチャートである。 第1の実施の形態による処理例を示すフローチャートである。 第1の実施の形態による処理例を示すフローチャートである。 第1の実施の形態による処理対象の例を示す説明図である。 第1の実施の形態による複合オブジェクトに対する格納の処理例を示すフローチャートである。 第2の実施の形態の構成例についての概念的なモジュール構成図である。 第2の実施の形態による処理例を示すフローチャートである。 第2の実施の形態による処理例を示すフローチャートである。 第1及び第2の実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
110…クライアント
111…通信モジュール
112…リクエスト出力モジュール
113…レスポンス受付モジュール
119…制御モジュール
120…サービス処理装置
121…通信モジュール
122…リクエスト受付モジュール
123…レスポンス出力モジュール
124…オブジェクト受付モジュール
125…オブジェクト出力モジュール
126…サービス処理モジュール
127…オブジェクトリファレンス化モジュール
128…コンパウンドオブジェクトリファレンス化モジュール
129…オブジェクト記憶モジュール
130…ユーザー管理モジュール
131…制御モジュール
140…サービス処理装置
141…通信モジュール
144…オブジェクト受付モジュール
145…オブジェクト出力モジュール
146…オブジェクト処理モジュール
149…制御モジュール
190…通信回線
740…サービス処理装置
741…通信モジュール
742…リクエスト受付モジュール
743…レスポンス出力モジュール
744…オブジェクト受付モジュール
745…オブジェクト出力モジュール
746…サービス処理モジュール
747…オブジェクト処理モジュール
748…ユーザー管理モジュール
749…制御モジュール

Claims (7)

  1. 電子情報を特定するための識別子を、該電子情報の内容に基づいて生成する電子情報識別子生成手段と、
    複数の前記電子情報によって構成されている複合電子情報を特定するための識別子を、前記電子情報識別子生成手段によって生成された該電子情報の識別子に基づいて生成する複合電子情報識別子生成手段
    を有する第1の情報処理装置と、
    前記第1の情報処理装置によって生成された、前記複合電子情報を特定するための識別子に基づいて、該複合電子情報を構成している電子情報を特定するための識別子を抽出する識別子抽出手段と、
    前記識別子抽出手段によって抽出された電子情報を特定するための識別子に基づいて、必要とする電子情報の内容を抽出する電子情報抽出手段
    を有する第2の情報処理装置
    を具備することを特徴とする情報処理システム。
  2. 電子情報を特定するための識別子を、該電子情報の内容に基づいて生成する電子情報識別子生成手段と、
    複数の前記電子情報によって構成されている複合電子情報を特定するための識別子を、前記電子情報識別子生成手段によって生成された該電子情報の識別子に基づいて生成する複合電子情報識別子生成手段
    を具備することを特徴とする情報処理装置。
  3. 前記複合電子情報は、前記電子情報が階層的に構成されており、
    前記複合電子情報識別子生成手段は、前記複合電子情報を特定するための識別子を階層毎に生成し、上位の階層を特定するための識別子を下位の階層を特定するための識別子に基づいて生成する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 複合電子情報を特定するための識別子に基づいて、該複合電子情報を構成している電子情報を特定するための識別子を抽出する識別子抽出手段と、
    前記識別子抽出手段によって抽出された電子情報を特定するための識別子に基づいて、必要とする電子情報の内容を抽出する電子情報抽出手段
    を具備することを特徴とする情報処理装置。
  5. 前記複合電子情報は、前記電子情報が階層的に構成されており、
    前記識別子抽出手段は、前記複合電子情報を特定するための識別子を階層毎に抽出し、下位の階層を特定するための識別子を上位の階層を特定するための識別子に基づいて生成する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. コンピュータを、
    電子情報を特定するための識別子を、該電子情報の内容に基づいて生成する電子情報識別子生成手段と、
    複数の前記電子情報によって構成されている複合電子情報を特定するための識別子を、前記電子情報識別子生成手段によって生成された該電子情報の識別子に基づいて生成する複合電子情報識別子生成手段
    として機能させることを特徴とする情報処理プログラム。
  7. コンピュータを、
    複合電子情報を特定するための識別子に基づいて、該複合電子情報を構成している電子情報を特定するための識別子を抽出する識別子抽出手段と、
    前記識別子抽出手段によって抽出された電子情報を特定するための識別子に基づいて、必要とする電子情報の内容を抽出する電子情報抽出手段
    として機能させることを特徴とする情報処理プログラム。
JP2009035655A 2009-02-18 2009-02-18 情報処理システム、情報処理装置及び情報処理プログラム Pending JP2010191701A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009035655A JP2010191701A (ja) 2009-02-18 2009-02-18 情報処理システム、情報処理装置及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009035655A JP2010191701A (ja) 2009-02-18 2009-02-18 情報処理システム、情報処理装置及び情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2010191701A true JP2010191701A (ja) 2010-09-02

Family

ID=42817678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009035655A Pending JP2010191701A (ja) 2009-02-18 2009-02-18 情報処理システム、情報処理装置及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP2010191701A (ja)

Similar Documents

Publication Publication Date Title
JP5188284B2 (ja) サービス接続システム及びサービス接続方法
JP2002055896A (ja) 通信システムと装置
CN103327209A (zh) 协作处理装置、协作处理系统和程序
US20110246867A1 (en) Form creation apparatus, control method of form creation apparatus, data processing apparatus, control method of data processing apparatus, and storage medium
JP2007026441A (ja) ウェブサービス政策の合意を行う装置及び方法
JP5444652B2 (ja) ネットワーク装置、処理方法及びコンピュータプログラム
JP2008033938A (ja) 複合機のデータ処理用リクエストを処理するための方法、装置及びマシン読み取り可能な媒体
JP2002073310A (ja) 通信システムとその方法及び記憶媒体
JP5157690B2 (ja) 画像形成装置、情報処理方法、及び、画像形成システム
JP7479923B2 (ja) 名刺情報処理装置、名刺情報処理方法、およびプログラム
JP2012174042A (ja) 文書管理装置および文書管理装置の制御方法およびプログラム
US8073827B2 (en) Processing device and processing method
JP2013172336A (ja) 画像形成装置、その制御方法、及びプログラム
US9769246B2 (en) Information processing terminal and control method
JP2009301538A (ja) サービスフロー処理装置及び方法
US20070002739A1 (en) Data processing method, program, device, message structure, message generation method, and message transmission method
US9569149B2 (en) Job processing system, job processing apparatus, and non-transitory computer readable medium
JP5348413B2 (ja) アプリケーションサーバ、オブジェクト管理方法およびオブジェクト管理プログラム
JP2015204060A (ja) 情報処理装置及び情報処理プログラム
JP2010191701A (ja) 情報処理システム、情報処理装置及び情報処理プログラム
JP5091003B2 (ja) 情報処理システム、情報処理方法、プログラム、及び、記録媒体
JP2005215977A (ja) ネットワークデバイス連携方法およびネットワークデバイス連携プログラム
CN101505295A (zh) 一种内容和类别的关联方法、系统和设备
JP2008234406A (ja) サービス通信システム及びサービス通信方法及びサービス通信プログラム
JP5979223B2 (ja) 分散処理におけるサービス検索方法、プログラム、およびサーバ装置