JP5293036B2 - プログラム配信装置、画像処理装置、コンピュータシステム、及びプログラム - Google Patents

プログラム配信装置、画像処理装置、コンピュータシステム、及びプログラム Download PDF

Info

Publication number
JP5293036B2
JP5293036B2 JP2008239296A JP2008239296A JP5293036B2 JP 5293036 B2 JP5293036 B2 JP 5293036B2 JP 2008239296 A JP2008239296 A JP 2008239296A JP 2008239296 A JP2008239296 A JP 2008239296A JP 5293036 B2 JP5293036 B2 JP 5293036B2
Authority
JP
Japan
Prior art keywords
structured document
information
program
version
existing
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.)
Expired - Fee Related
Application number
JP2008239296A
Other languages
English (en)
Other versions
JP2010072920A (ja
Inventor
博之 長谷川
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
Fujifilm Business Innovation Corp
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, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2008239296A priority Critical patent/JP5293036B2/ja
Publication of JP2010072920A publication Critical patent/JP2010072920A/ja
Application granted granted Critical
Publication of JP5293036B2 publication Critical patent/JP5293036B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、プログラム配信装置、画像処理装置、コンピュータシステム、プログラムに関する。
端末でプリンタにおける印刷処理を指示すると、端末のドライバプログラムが、コアプログラムをサーバのプログラムデータベースからダウンロードし印刷処理を行うことにより、プリンタを利用するときに、そのドライバプログラムを自動的に最新なものにして処理を行えるようにしたドライバプログラムの配信方法が知られている(例えば、特許文献1参照)。
特開2003−131976号公報
ここで、一般に、プログラムの配信は既存の仕様の範囲内で行われるものであり、仕様の拡張のための部分を用いてプログラムを容易に配信することはできなかった。
本発明の目的は、仕様の拡張のための部分を用いてプログラムを容易に配信することにある。
請求項1に記載の発明は、構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、特定プログラムを実行する際に認証画面から入力された入力情報が当該既存要素に設定され、当該特定プログラムの配信対象のバージョンを決定するための情報が当該拡張要素に設定された第1の構造化文書データを、他の装置から受信する受信手段と、前記受信手段により受信した前記第1の構造化文書データに含まれる拡張要素に設定された情報に基づいて、前記配信対象のバージョンを決定する決定手段と、構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、前記入力情報を認証処理した結果である結果情報が当該既存要素に設定され、前記決定手段により決定された前記配信対象のバージョンの前記特定プログラム、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の少なくとも何れか一方が当該拡張要素に設定された第2の構造化文書データを生成する生成手段と、前記生成手段により生成された前記第2の構造化文書データを、前記他の装置に送信する送信手段とを備えたことを特徴とするプログラム配信装置である。
請求項2に記載の発明は、前記構造化文書は、XML文書であり、前記拡張要素は、Any要素であることを特徴とする請求項1記載のプログラム配信装置である。
請求項3に記載の発明は、前記受信手段は、前記他の装置が保持する前記特定プログラムのバージョン情報が前記配信対象のバージョンを決定するための情報として拡張要素に設定された前記第1の構造化文書データを受信し、前記決定手段は、前記受信手段により受信した前記第1の構造化文書データに含まれる拡張要素に設定された前記特定プログラムのバージョン情報と、自装置が管理する当該特定プログラムのバージョン情報とを比較することにより、前記配信対象のバージョンを決定することを特徴とする請求項1記載のプログラム配信装置である。
請求項4に記載の発明は、前記受信手段は、前記配信対象のバージョンの前記特定プログラムの配信を要求するかどうか、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の配信を要求するかどうかを示す配信方法指示情報が拡張要素に設定された前記第1の構造化文書データを受信し、前記生成手段は、前記配信対象のバージョンの前記特定プログラム及び当該配信対象のバージョンの当該特定プログラムの入手先を示す情報のうち、前記配信方法指示情報に基づいて決定された方が拡張要素に設定された前記第2の構造化文書データを生成することを特徴とする請求項1記載のプログラム配信装置である。
請求項5に記載の発明は、構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、自装置が提供する画像処理の機能を端末装置に利用させるための特定プログラムを実行する際に認証画面から入力された入力情報が当該既存要素に設定され、当該特定プログラムの配信対象のバージョンを決定するための情報が当該拡張要素に設定された第1の構造化文書データを、当該端末装置から受信する受信手段と、前記受信手段により受信した前記第1の構造化文書データに含まれる拡張要素に設定された情報に基づいて、前記配信対象のバージョンを決定する決定手段と、構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、前記入力情報を認証処理した結果である結果情報が当該既存要素に設定され、前記決定手段により決定された前記配信対象のバージョンの前記特定プログラム、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の少なくとも何れか一方が当該拡張要素に設定された第2の構造化文書データを生成する生成手段と、前記生成手段により生成された前記第2の構造化文書データを、前記端末装置に送信する送信手段とを備えたことを特徴とする画像処理装置である。
請求項6に記載の発明は、構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、特定プログラムを実行する際に認証画面から入力された入力情報が当該既存要素に設定され、当該特定プログラムの配信対象のバージョンを決定するための情報が当該拡張要素に設定された第1の構造化文書データを生成する第1の生成手段と、当該第1の生成手段により生成された当該第1の構造化文書データを送信する第1の送信手段とを含むクライアントコンピュータと、前記第1の送信手段により送信された前記第1の構造化文書データを受信すると、構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、当該既存要素に、前記入力情報を認証処理した結果である結果情報が設定され、当該拡張要素に、当該第1の構造化文書データに含まれる拡張要素に設定された情報に基づいて決定された前記配信対象のバージョンの前記特定プログラム、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の少なくとも何れか一方が設定された第2の構造化文書データを生成する第2の生成手段と、当該第2の生成手段により生成された当該第2の構造化文書データを前記クライアントコンピュータに送信する第2の送信手段とを含むサーバコンピュータとを備えたことを特徴とするコンピュータシステムである。
請求項7に記載の発明は、コンピュータに、構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、特定プログラムを実行する際に認証画面から入力された入力情報が当該既存要素に設定され、当該特定プログラムの配信対象のバージョンを決定するための情報が当該拡張要素に設定された第1の構造化文書データを、他の装置から受信する機能と、受信した前記第1の構造化文書データに含まれる拡張要素に設定された情報に基づいて、前記配信対象のバージョンを決定する機能と、構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、前記入力情報を認証処理した結果である結果情報が当該既存要素に設定され、決定された前記配信対象のバージョンの前記特定プログラム、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の少なくとも何れか一方が当該拡張要素に設定された第2の構造化文書データを生成する機能と、生成された前記第2の構造化文書データを、前記他の装置に送信する機能とを実現させるためのプログラムである。
請求項1の発明によれば、本構成を有していない場合に比較して、仕様の拡張のための部分を用いてプログラムを容易に配信することができ、かつ、既存の仕様における入力情報はそのまま処理することができる
請求項2の発明によれば、本構成を有していない場合に比較して、XML文書のAny要素の部分を用いてプログラムを容易に配信することができる。
請求項3の発明によれば、本構成を有していない場合に比較して、他の装置におけるバージョン情報と自装置におけるバージョン情報とを比較することで決定されたプログラムを、仕様の拡張のための部分を用いて容易に配信することができる。
請求項4の発明によれば、プログラムそのもの、プログラムの入手先のうち、指示された方を配信することができる。
請求項5の発明によれば、本構成を有していない場合に比較して、仕様の拡張のための部分を用いてプログラムを容易に配信することができ、かつ、既存の仕様における入力情報はそのまま処理することができる
請求項6の発明によれば、本構成を有していない場合に比較して、仕様の拡張のための部分を用いてプログラムを容易に配信することができ、かつ、既存の仕様における入力情報はそのまま処理することができる
請求項7の発明によれば、本構成を有していない場合に比較して、仕様の拡張のための部分を用いてプログラムを容易に配信することができ、かつ、既存の仕様における入力情報はそのまま処理することができる
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
図1は、本実施の形態が適用されるコンピュータシステムの構成を示している。
図示するように、このコンピュータシステムは、画像処理装置10と、端末装置20とが、ネットワーク80で接続されることにより構成されている。
このうち、画像処理装置10は、端末装置20からネットワーク80を介して入力された情報や、直接メディアを挿入したり紙文書をスキャンしたりすることで得られた情報に基づいて、画像処理を行う装置である。例えば、プリンタであり、この観点からは画像形成装置として捉えることができる。また、スキャナであってもよく、この観点からは画像読取装置として捉えることもできる。更に、ファクシミリであってもよく、この観点からは画像送信装置又は画像受信装置として捉えることもできる。尚、本実施の形態において、画像処理装置10は、Web Services on Devices仕様をサポートしているものとする。
また、端末装置20は、文書の印刷や文書のファクシミリ送信等を画像処理装置10に指示する装置であり、PC(Personal Computer)が例示される。尚、端末装置20は、ウェブブラウザを有することもでき、その場合は、画像処理装置10の各種設定をウェブブラウザから行うことができる。
更に、ネットワーク80は、LAN(Local Area Network)であってもよいし、インターネットであってもよい。
ところで、本実施の形態において、画像処理装置10は、端末装置20に画像処理の機能を提供し、端末装置20は、画像処理装置10が提供する画像処理の機能を利用する。そこで、以下では、一般化して、画像処理装置10をサービスを提供するサーバ10として、端末装置20をサービスの提供を受けるクライアント20として説明することにする。
さて、このようなサーバ10とクライアント20と間の通信の規約としてXMLスキーマを用いたものがある。例えば、SOAP(Simple Object Access Protocol)である。ここで、XMLスキーマでは、サーバ10とクライアント20の間で交換されることが分かっている情報を指定する要素、つまり、既存の仕様のための要素(以下、「既存要素」という)と、サーバ10とクライアント20の間で将来的に交換されるであろう情報を指定するために用意される要素、つまり、仕様の拡張のための要素(以下、「拡張要素」という)とを定義することができる。XMLスキーマにおいて、後者のような、拡張が許されている要素は、特に「Any要素」と呼ばれる。本実施の形態において、サーバ10は、Any要素を持つXMLスキーマを用いてウェブサービスを提供することを前提にする。
近年では、各企業のデバイスに特化した情報をAny要素に追加できるようにスキーマを定義することが多い。しかしながら、各企業のデバイスに特化した情報をAny要素に追加することでサーバ10側の仕様を変更すると、そのAny要素の情報を処理できるプログラム(クライアントプログラム)をクライアント20側に用意しなければならず、ユーザに面倒な作業を強いることになる。
こうしたことから、サーバ10における仕様の変更に伴って必要となるクライアントプログラムを利用者が容易に取得できるようなクライアントプログラム配信の仕組みが望まれる。ところが、XMLスキーマを使った仕様として、クライアントプログラムをダウンロードするための一般的な仕様は未だ存在しない。一方で、Java(登録商標)やFlash(登録商標)等のプラットフォーム(OS)に依存しない実行環境は整備されつつある。
そこで、本実施の形態では、クライアントプログラムや、クライアントプログラムに関する各種情報も、Any要素に追加することで、ユーザが容易にクライアントプログラムを入手可能にする。また、Any要素を使用することで、既存のスキーマを変更する必要がなく、Any要素以外のメッセージはそのまま処理することを可能とする。即ち、ウェブサービス等の仕様の範囲内でクライアントプログラムのインストールを支援する機能を提供し、他の仕様には依存しないようにする。
具体的には、クライアントプログラムに関する情報(以下、「クライアントプログラム情報」という)を表す要素をAny要素に新たに追加し、クライアント20に配信する。ここで、クライアントプログラム情報には、クライアントプログラムそのものや、クライアントプログラムを入手できる場所、クライアントプログラムのバージョンや種類等を表す情報が含まれる。クライアント20はそれらの情報を使ってクライアントプログラムを更新する。
次に、このような動作を実現するサーバ10及びクライアント20について詳細に説明する。
図2は、本実施の形態におけるサーバ10とクライアント20のメッセージ交換の様子を模式的に示した図である。
まず、図示しないが、サーバ10及びクライアント20に設けられる主な手段について説明する。
サーバ10には、クライアントプログラム、クライアントプログラムの入手先、クライアントプログラムのバージョンや種類等の情報をAny要素に追加したXMLデータをクライアントに送信する手段が設けられている。また、クライアント20からXMLデータを受信した際に、XMLデータのAny要素に含まれるクライアントプログラム情報を参照し、クライアント20に返信するXMLデータのAny要素に追加するクライアントプログラム情報を決定する手段も設けられている。
クライアント20には、サーバ10がクライアントプログラム情報を確認できるよう、現在のクライアントプログラムのバージョン、種類、クライアントプログラムを要求するか、クライアントプログラムの場所を要求するか等をAny要素に追加したXMLデータをサーバ10に送信する手段が設けられている。また、サーバ10からXMLデータを受信した際に、XMLデータのAny要素に含まれるクライアントプログラムを実行したり、クライアントプログラム入手先に接続したりする手段も設けられている。
次いで、サーバ10とクライアント20の間でメッセージ交換を行う際の概略動作を説明する。
図示するように、最初、クライアント20には、クライアントプログラムのUIであるサービス認証画面31が表示されている。そして、このサービス認証画面31には、ユーザ名とパスワードの入力欄が表示されている。また、サービス認証画面31には、クライアントプログラムのバージョンが1.0であることも表示されている。
このような状態で、まず、ユーザは、サービス認証画面31にユーザ名とパスワードを入力してサーバ10への送信を要求する。すると、クライアント20は、ユーザ名とパスワードからなる認証情報を既存要素(Any要素以外の要素)にセットし、現在のクライアント20におけるクライアントプログラム情報をAny要素にセットしたXMLデータをサーバ10に送信する(A)。尚、この例において、クライアント20が保持するバージョン1.0のクライアントプログラムは、企業のデバイスに特化した情報を追加したAny要素に対応していないものとする。
これにより、サーバ10は、Aで送信された認証情報及びクライアントプログラム情報を処理する(B)。即ち、Aで送信されたクライアントプログラム情報と、サーバ10が保持している最新のクライアントプログラム情報とを照合する。その結果、クライアント20で使用されているクライアントプログラムのバージョンが古ければ、クライアント20へ最新のクライアントプログラムを送信することを決定する。また、Aで送信された認証情報を用いて、通常の認証処理も行う。
その後、サーバ10は、認証結果を既存要素(Any要素以外の要素)にセットしたXMLデータをクライアント20に送信する。但し、Bにおいて、クライアント20におけるクライアントプログラムのバージョンが、最新のクライアントプログラムのバージョンよりも古いと判定されると、認証結果に加え、最新のクライアントプログラム情報をAny要素にセットしたXMLデータを送信する(C)。ここで、最新のクライアントプログラム情報には、クライアントプログラムそのものを含めてもよいし、クライアントプログラムの入手先を示す情報(例えば、URL)を含めてもよい。
これにより、クライアント20は、Cで送信された情報に基づいて取得した最新のクライアントプログラムを実行又はインストールし、処理を継続する(D)。また、受信した認証結果を処理する。ここでは、クライアントプログラムのUIである認証成功画面32を表示している。また、認証成功画面32には、クライアントプログラムのバージョンが2.0であることも表示されている。尚、この例において、サーバ10から受信したバージョン2.0のクライアントプログラムは最新のものであり、企業のデバイスに特化した情報を追加したAny要素に対応している。
ここで、サーバ10とクライアント20の間で交換されるXMLデータ、及び、そのXMLデータの要素を定義するXMLスキーマの具体例を示す。
図3は、図2のAでクライアント20からサーバ10へ送信されるXMLデータ(SOAPリクエスト)の例である。
図示するように、<soap:Body>から</soap:Body>の間には、既存要素として、UserName要素と、Password要素とが記述されている。ここで、UserName要素にはユーザ名が設定され、Password要素にはパスワードが設定される。
また、<soap:Body>から</soap:Body>の間には、Any要素41も記述されている。このAny要素41は、Name要素、Version要素、Type要素、DataRequired要素、LocationRequired要素等を含む。ここで、Name要素にはクライアントプログラムの名前が設定され、Version要素にはクライアントプログラムのバージョンが設定され、Type要素にはクライアントプログラムのタイプが設定される。また、DataRequired要素には、クライアントプログラムの配信を要求するかどうかが設定される。クライアントプログラムの配信を要求する場合には「true」が設定され、要求しない場合には「false」が設定される。更に、LocationRequired要素には、クライアントプログラムの入手先を示す情報の配信を要求するかどうかが設定される。クライアントプログラムの入手先を示す情報の配信を要求する場合には「true」が設定され、要求しない場合には「false」が設定される。
図4は、図3に示したSOAPリクエストのうち、Any要素41が含む要素を定義するスキーマの例である。Any要素41に含まれるName要素、Version要素、Type要素、DataRequired要素、LocationRequired要素等が定義されている。
図5−1及び図5−2は、図2のCでサーバ10からクライアント20へ送信されるXMLデータ(SOAPレスポンス)の例である。尚、このXMLデータは、一続きのデータであるが、ここでは、図面作成の都合上、途中で2つに分けて示している。
図示するように、<soap:Body>から</soap:Body>の間には、既存要素として、Result要素が記述されている。ここで、Result要素には認証結果が設定される。
また、<soap:Body>から</soap:Body>の間には、Any要素42も記述されている。このAny要素42は、Name要素、Version要素、Type要素、Data要素、Location要素等を含む。ここで、Name要素にはクライアントプログラムの名前が設定され、Version要素にはクライアントプログラムのバージョンが設定され、Type要素にはクライアントプログラムのタイプが設定される。また、Data要素には、クライアントプログラムそのものが設定される。但し、ここでは、Include要素でクライアントプログラムを含む添付ファイルの記述43の識別情報を指定している。更に、Location要素には、クライアントプログラムの入手先を示す情報が設定される。
図6は、図5−1及び図5−2に示したSOAPレスポンスのうち、Any要素42が含む要素を定義するスキーマの例である。Any要素42に含まれるName要素、Version要素、Type要素、Data要素、Location要素等が定義されている。
次に、本実施の形態におけるサーバ10及びクライアント20の機能構成について詳細に説明する。
図7は、サーバ10及びクライアント20の機能構成例を示したブロック図である。
まず、サーバ10の機能構成について説明する。尚、本実施の形態において、サーバ10は、プログラム配信装置の一例である。
図示するように、本実施の形態におけるサーバ10は、プログラム記憶部11と、管理情報記憶部12と、既存定義記憶部13aと、拡張定義記憶部13bと、XMLデータ生成部14と、送信部15と、受信部16と、XMLデータ解析部17と、認証部18と、決定部19とを備える。尚、これらのうち、プログラム記憶部11、管理情報記憶部12、既存定義記憶部13a、拡張定義記憶部13bは、例えばHDDにより実現される。また、XMLデータ生成部14、送信部15、受信部16、XMLデータ解析部17、認証部18、決定部19の各機能は、CPUがROMに記憶されたプログラムをRAMに読み込んで実行することにより、実現される。
プログラム記憶部11は、クライアント20に配信する対象であるクライアントプログラムを記憶する。
管理情報記憶部12は、クライアントプログラム情報を記憶する。ここで、クライアントプログラム情報には、クライアントプログラムの名前、バージョン、タイプ、入手先等がある。
既存定義記憶部13aは、既存要素に関する定義情報を記憶する。
拡張定義記憶部13bは、拡張要素(Any要素)に関する定義情報を記憶する。
XMLデータ生成部14は、既存定義記憶部13aを参照して決定された要素に、認証部18による認証結果を設定し、拡張定義記憶部13bを参照して決定された要素に、決定部19による決定結果、プログラム記憶部11から取得したクライアントプログラム、管理情報記憶部12から取得した入手先を設定することにより、XMLデータを生成する。本実施の形態では、第2の構造化文書データを生成する生成手段及び第2の生成手段の一例として、XMLデータ生成部14を設けている。
送信部15は、XMLデータ生成部14により生成されたXMLデータをクライアント20に送信する。本実施の形態では、第2の構造化文書データを送信する送信手段及び第2の送信手段の一例として、送信部15を設けている。
受信部16は、クライアント20からXMLデータを受信する。本実施の形態では、第1の構造化文書データを受信する受信手段の一例として、受信部16を設けている。
XMLデータ解析部17は、受信部16により受信されたXMLデータを解析して情報を抽出する。
認証部18は、XMLデータ解析部17が抽出した情報に基づいて、認証処理を行う。
決定部19は、XMLデータ解析部17が抽出した情報と管理情報記憶部12に記憶された情報とに基づいて、配信対象の候補である最新プログラムの名前、バージョン等を決定する。本実施の形態では、特定プログラムを決定する決定手段の一例として、決定部19を設けている。
次に、クライアント20の機能構成について説明する。
図示するように、本実施の形態におけるクライアント20は、プログラム記憶部21と、管理情報記憶部22と、既存定義記憶部23aと、拡張定義記憶部23bと、XMLデータ生成部24と、送信部25と、受信部26と、XMLデータ解析部27と、表示部28と、操作受付部29とを備える。尚、これらのうち、プログラム記憶部21、管理情報記憶部22、既存定義記憶部23a、拡張定義記憶部23bは、例えばHDDにより実現される。また、XMLデータ生成部24、送信部25、受信部26、XMLデータ解析部27、表示部28、操作受付部29の各機能は、CPUがROMに記憶されたプログラムをRAMに読み込んで実行することにより、実現される。
プログラム記憶部21は、サーバ20から配信されたクライアントプログラムを記憶する。
管理情報記憶部22は、クライアントプログラム情報を記憶する。ここで、クライアントプログラム情報には、クライアントプログラムの名前、バージョン、タイプ、入手先等がある。
既存定義記憶部23aは、既存要素に関する定義情報を記憶する。
拡張定義記憶部23bは、拡張要素(Any要素)に関する定義情報を記憶する。
XMLデータ生成部24は、既存定義記憶部23aを参照して決定された要素に、操作受付部29から取得した情報を設定し、拡張定義記憶部23bを参照して決定された要素に、管理情報記憶部22から取得した情報を設定することにより、XMLデータを生成する。本実施の形態では、第1の構造化文書データを生成する第1の生成手段の一例として、XMLデータ生成部24を設けている。
送信部25は、XMLデータ生成部24により生成されたXMLデータをサーバ10に送信する。本実施の形態では、第1の構造化文書データを送信する第1の送信手段の一例として、送信部25を設けている。
受信部26は、サーバ10からXMLデータを受信する。
XMLデータ解析部27は、受信部26により受信されたXMLデータを解析して情報を抽出する。
表示部28は、XMLデータ解析部27が抽出した情報に基づく表示を行う。
操作受付部29は、XMLデータの既存要素に含めてサーバ10に受け渡す情報の入力操作を受け付ける。
次いで、本実施の形態におけるサーバ10及びクライアント20の動作について詳細に説明する。
まず、クライアント20がサーバ10にXMLデータを送信するときの動作を説明する。
図8は、このときのクライアント20の動作を示したフローチャートである。
クライアント20では、まず、操作受付部29が、サービス認証画面31上で入力されたユーザ名及びパスワードを取得し、XMLデータ生成部24に受け渡す(ステップ201)。すると、XMLデータ生成部24は、サービス認証画面31から使用されるクライアントプログラムの名前、バージョン、タイプを管理情報記憶部22から取り出すと共に、クライアントプログラムそのものを要求するかどうかの指示(以下、「プログラム要求指示」という)、クライアントプログラムの入手先を要求するかどうかの設定(以下、「入手先要求指示」という)を図示しない指示情報記憶部から取り出す(ステップ202)。
その後、XMLデータ生成部24は、既存要素及びAny要素以外の部分が予め記述されたXMLデータの雛型に対して、ユーザ名が設定されたUserName要素と、パスワードが設定されたPassword要素とからなる既存要素を追加する(ステップ203)。このとき、各情報を設定すべき要素は、既存定義記憶部23aを参照することにより特定される。
また、XMLデータ生成部24は、ステップ203で既存要素が追加されたXMLデータの雛型に対して、名前が設定されたName要素、バージョンが設定されたVersion要素、タイプが設定されたType要素、プログラム要求指示が設定されたDataRequired要素、入手先要求指示が設定されたLocationRequired要素等からなるAny要素を追加する(ステップ204)。このとき、各情報を設定すべき要素は、拡張定義記憶部23bを参照することにより特定される。
これにより、XMLデータが生成されるので、送信部25は、XMLデータ生成部24からXMLデータを受け取り、これをサーバ10に送信する(ステップ205)。
次に、サーバ10がクライアント20からXMLデータを受信してクライアント20に応答を返すときの動作を説明する。
図9は、このときのサーバ10の動作を示したフローチャートである。
サーバ10では、まず、受信部16が、クライアント20からXMLデータを受信し、XMLデータ解析部17に受け渡す(ステップ101)。
すると、XMLデータ解析部17は、XMLデータの既存要素を解析し、ユーザ名をUserName要素から、パスワードをPassword要素からそれぞれ抽出し、認証部18に受け渡す(ステップ102)。このとき、抽出した各情報に対する処理内容は、既存定義記憶部13aを参照することにより特定される。
また、XMLデータ解析部17は、XMLデータのAny要素を解析し、名前をName要素から、バージョンをVersion要素から、タイプをType要素から、プログラム要求指示をDataRequired要素から、入手先要求指示をLocationRequired要素からそれぞれ抽出し、決定部19に受け渡す(ステップ103)。このとき、抽出した各情報に対する処理内容は、拡張定義記憶部13bを参照することにより特定される。尚、ここで取得したクライアント20が保持するクライアントプログラムのバージョンを、以下では「Vc」と表記する。
これにより、認証部18は、認証処理を行う(ステップ104)。即ち、ユーザ名とパスワードの組み合わせが登録済のものと同じかどうかを判定する。そして、同じであれば、認証結果に「OK」を代入し、異なっていれば、認証結果に「NG」を代入し、認証結果をXMLデータ生成部14に受け渡す。
一方、名前、バージョン、タイプを渡された決定部19は、配信対象の候補のプログラム、つまり、サーバ10が管理する最新のプログラムを決定する(ステップ105)。具体的には、管理情報記憶部12を参照して、同じ名前、タイプに対応する最新のバージョンを求める。そして、この求めたバージョンを、名前、タイプと共にXMLデータ生成部14に受け渡す。また、DataRequired要素に設定されたプログラム要求指示、及び、LocationRequired要素に設定された入手先要求指示もXMLデータ生成部14に受け渡す。尚、ここで取得したサーバ10が保持するクライアントプログラムのバージョンを、以下では「Vs」と表記する。
その後、XMLデータ生成部14は、既存要素及びAny要素以外の部分が予め記述されたXMLデータの雛型に対して、認証結果が設定されたResult要素からなる既存要素を追加する(ステップ106)。このとき、各情報を設定すべき要素は、既存定義記憶部13aを参照することにより特定される。
また、XMLデータ生成部14は、VcよりもVsが大きいかどうかを判定する(ステップ107)。即ち、クライアント20が保持するクライアントプログラムのバージョンが、サーバ10が保持するクライアントプログラムのバージョンよりも古く、クライアントプログラムを配信する必要があるかどうかを判定する。
その結果、VcよりもVsが大きくないと判定されれば、クライアントプログラム情報をAny要素に設定することなく、ステップ113へ進む。
一方、VcよりもVsが大きいと判定されれば、ステップ106で既存要素が追加されたXMLデータの雛型に対して、名前が設定されたName要素、バージョンが設定されたVersion要素、タイプが設定されたType要素からなるAny要素を追加する(ステップ108)。このとき、各情報を設定すべき要素は、拡張定義記憶部13bを参照することにより特定される。
その後、XMLデータ生成部14は、DataRequired要素に設定されたプログラム要求指示が「True」であるかどうかを判定する(ステップ109)。そして、「True」であれば、クライアントプログラムをData要素に設定してAny要素に追加する(ステップ110)。この場合、図5−2に示したように、クライアントプログラムは添付ファイルとし、添付ファイルの識別情報をData要素に設定すればよい。また、「True」でなければ、Data要素をAny要素に追加しない。
加えて、XMLデータ生成部14は、LocationRequired要素に設定された入手先要求指示が「True」であるかどうかを判定する(ステップ111)。そして、「True」であれば、クライアントプログラムの入手先をLocation要素に設定してAny要素に追加する(ステップ112)。また、「True」でなければ、Location要素をAny要素に追加しない。
これにより、XMLデータが生成されるので、送信部15は、XMLデータ生成部14からXMLデータを受け取り、これをクライアント20に送信する(ステップ113)。
次いで、クライアント20がサーバ10からXMLデータを受信するときの動作を説明する。
図10は、このときのクライアント20の動作を示したフローチャートである。
クライアント20では、まず、受信部26が、サーバ10からXMLデータを受信し、XMLデータ解析部27に受け渡す(ステップ221)。
すると、XMLデータ解析部27は、XMLデータの既存要素を解析し、認証結果をResult要素から抽出し、表示部28に受け渡す(ステップ222)。このとき、抽出した各情報に対する処理内容は、既存定義記憶部23aを参照することにより特定される。その後、表示部28は、認証結果が「OK」であるかどうかを判定する(ステップ223)。そして、「OK」であれば、認証成功画面32を表示し(ステップ224)、「OK」でなければ、認証が失敗したことを示す認証失敗画面を表示する(ステップ225)。
また、XMLデータ解析部27は、XMLデータのAny要素を解析し、名前をName要素から、バージョンをVersion要素から、タイプをType要素からそれぞれ抽出し、管理情報記憶部22を更新する(ステップ226)。このとき、抽出した各情報に対する処理内容は、拡張定義記憶部23bを参照することにより特定される。
更に、XMLデータ解析部27は、Any要素にData要素が含まれているかどうかを判定する(ステップ227)。ここで、Data要素が含まれていると判定されれば、添付ファイルの識別情報をData要素から抽出して、この識別情報に基づいて特定された添付ファイルからプログラムを取り出し、プログラム記憶部21に記憶する(ステップ228)。一方、Data要素が含まれていないと判定されれば、クライアントプログラムを記憶することなく次の処理へ進む。
更にまた、XMLデータ解析部27は、Any要素にLocation要素が含まれているかどうかを判定する(ステップ229)。ここで、Location要素が含まれていると判定されれば、クライアントプログラムの入手先を示す情報をLocation要素から抽出し、管理情報記憶部22を更新する(ステップ230)。そして、この入手先を示す情報に基づいて、その入手先からクライアントプログラム取得し、プログラム記憶部21に記憶する(ステップ231)。一方、Location要素が含まれていないと判定されれば、クライアントプログラムを記憶することなく処理を終了する。
尚、本実施の形態では、各企業のデバイスに特化した情報を追加したAny要素に対応しないクライアントプログラムを、そのようなAny要素に対応するクライアントプログラムにバージョンアップするために配信する場面を例示した。しかしながら、種々の目的の下でのクライアントプログラムの配信の場面において、本実施の形態は適用可能である。また、クライアントプログラムは、Java(登録商標)やFlash(登録商標)等のプラットフォームに依存せずに実行可能なコードや、ドライバ、プラグイン等でもよい。更には、アプリケーションプログラムであってもよい。
また、本実施の形態では、クライアントプログラム情報をAny要素に含めたが、クライアントプログラム情報の他に、認証情報やフィルタ情報等をAny要素に含めてもよい。
更に、クライアント20が受信したクライアントプログラムの扱いは、予め決めておいてもよいし、ユーザに決めさせてもよい。また、クライアントプログラムを保存しておいて次回に利用するようにしてもよい。
更にまた、本実施の形態では、サーバ10が、クライアントプログラムのバージョンや種類によってクライアントプログラムを配信するかどうかを決定したが、サーバ10がこのような決定を行わない場合は、クライアント20が、クライアントプログラムのバージョンや種類によってクライアントプログラムを実行するか、クライアントプログラムの入手先への接続を行うかを決定するようにしてもよい。
また、本実施の形態では、バージョンの比較によってクライアントプログラムを配信するかどうかを決定したが、クライアントプログラムを配信するかどうかを決定する態様は、これには限らない。例えば、クライアント20から要求されたクライアントプログラムをサーバ10が保持しているかどうかによって、クライアントプログラムを配信するかどうかを決定するようなものであってもよい。
更に、本実施の形態では、既存要素及びAny要素以外の部分が予め記述されたXMLデータの雛型に対して、既存要素及びAny要素を自動生成して追加することにより、XMLデータを生成した。しかしながら、これはあくまで一例であり、図3、図5−1及び図5−2に示したようなXMLデータが生成できれば、如何なる処理手順を採用してもよい。
更にまた、本実施の形態では、DataRequired要素に「False」が設定されていればData要素は生成せず、LocationRequired要素に「False」が設定されていればLocation要素は生成しなかった。これは、Data要素及びLocation要素がオプションとして定義され省略可能であることを前提としたためである。しかしながら、Data要素及びLocation要素がオプションとして定義されていない場合もあり得る。この場合は、DataRequired要素に「False」が設定されていれば、例えば空の値が設定されたData要素を生成し、LocationRequired要素に「False」が設定されていれば、例えば空の値が設定されたLocation要素を生成するようにすればよい。
ところで、本実施の形態では、画像処理装置10がクライアントプログラムを配信し、端末装置20がクライアントプログラムの配信を要求し、配信されたクライアントプログラムを実行することを前提とした。しかしながら、画像処理装置10で行われる処理、及び、端末装置20で行われる処理は、汎用のコンピュータで行うようにしてもよい。
そこで、これらの処理をコンピュータ90で行うものとして、コンピュータ90のハードウェア構成について説明する。
図11は、コンピュータ90のハードウェア構成を示した図である。
図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信I/F94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供するようにしてもよい。
本発明の実施の形態が適用されるシステムの構成を示した図である。 本発明の実施の形態の概要を説明するための図である。 本発明の実施の形態でクライアントからサーバへ送信されるリクエストの例を示した図である。 図3のリクエストに設定されるクライアントプログラム情報を表すスキーマの例を示した図である。 本発明の実施の形態でサーバからクライアントへ送信されるレスポンスの例を示した図である。 本発明の実施の形態でサーバからクライアントへ送信されるレスポンスの例を示した図である。 図5−1及び図5−2のレスポンスに設定されるクライアントプログラム情報を表すスキーマの例を示した図である。 本発明の実施の形態におけるサーバ及びクライアントの機能構成例を示した図である。 本発明の実施の形態におけるクライアントのリクエスト送信時の動作例を示したフローチャートである。 本発明の実施の形態におけるサーバのリクエスト受信からレスポンス送信までの動作例を示したフローチャートである。 本発明の実施の形態におけるクライアントのレスポンス受信時の動作例を示したフローチャートである。 本発明の実施の形態を実現可能なコンピュータのハードウェア構成図である。
符号の説明
10…画像処理装置(サーバ)、11,21…プログラム記憶部、12,22…管理情報記憶部、13a,23a…既存定義記憶部、13b,23b…拡張定義記憶部、14,24…XMLデータ生成部、15,25…送信部、16,26…受信部、17,27…XMLデータ解析部、18…認証部、19…決定部、20…端末装置(クライアント)、28…表示部、29…操作受付部

Claims (7)

  1. 構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、特定プログラムを実行する際に認証画面から入力された入力情報が当該既存要素に設定され、当該特定プログラムの配信対象のバージョンを決定するための情報が当該拡張要素に設定された第1の構造化文書データを、他の装置から受信する受信手段と、
    前記受信手段により受信した前記第1の構造化文書データに含まれる拡張要素に設定された情報に基づいて、前記配信対象のバージョンを決定する決定手段と、
    構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、前記入力情報を認証処理した結果である結果情報が当該既存要素に設定され、前記決定手段により決定された前記配信対象のバージョンの前記特定プログラム、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の少なくとも何れか一方が当該拡張要素に設定された第2の構造化文書データを生成する生成手段と、
    前記生成手段により生成された前記第2の構造化文書データを、前記他の装置に送信する送信手段と
    を備えたことを特徴とするプログラム配信装置。
  2. 前記構造化文書は、XML文書であり、
    前記拡張要素は、Any要素であることを特徴とする請求項1記載のプログラム配信装置。
  3. 前記受信手段は、前記他の装置が保持する前記特定プログラムのバージョン情報が前記配信対象のバージョンを決定するための情報として拡張要素に設定された前記第1の構造化文書データを受信し、
    前記決定手段は、前記受信手段により受信した前記第1の構造化文書データに含まれる拡張要素に設定された前記特定プログラムのバージョン情報と、自装置が管理する当該特定プログラムのバージョン情報とを比較することにより、前記配信対象のバージョンを決定することを特徴とする請求項1記載のプログラム配信装置。
  4. 前記受信手段は、前記配信対象のバージョンの前記特定プログラムの配信を要求するかどうか、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の配信を要求するかどうかを示す配信方法指示情報が拡張要素に設定された前記第1の構造化文書データを受信し、
    前記生成手段は、前記配信対象のバージョンの前記特定プログラム及び当該配信対象のバージョンの当該特定プログラムの入手先を示す情報のうち、前記配信方法指示情報に基づいて決定された方が拡張要素に設定された前記第2の構造化文書データを生成することを特徴とする請求項1記載のプログラム配信装置。
  5. 構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、自装置が提供する画像処理の機能を端末装置に利用させるための特定プログラムを実行する際に認証画面から入力された入力情報が当該既存要素に設定され、当該特定プログラムの配信対象のバージョンを決定するための情報が当該拡張要素に設定された第1の構造化文書データを、当該端末装置から受信する受信手段と、
    前記受信手段により受信した前記第1の構造化文書データに含まれる拡張要素に設定された情報に基づいて、前記配信対象のバージョンを決定する決定手段と、
    構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、前記入力情報を認証処理した結果である結果情報が当該既存要素に設定され、前記決定手段により決定された前記配信対象のバージョンの前記特定プログラム、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の少なくとも何れか一方が当該拡張要素に設定された第2の構造化文書データを生成する生成手段と、
    前記生成手段により生成された前記第2の構造化文書データを、前記端末装置に送信する送信手段と
    を備えたことを特徴とする画像処理装置。
  6. 構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、特定プログラムを実行する際に認証画面から入力された入力情報が当該既存要素に設定され、当該特定プログラムの配信対象のバージョンを決定するための情報が当該拡張要素に設定された第1の構造化文書データを生成する第1の生成手段と、当該第1の生成手段により生成された当該第1の構造化文書データを送信する第1の送信手段とを含むクライアントコンピュータと、
    前記第1の送信手段により送信された前記第1の構造化文書データを受信すると、構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、当該既存要素に、前記入力情報を認証処理した結果である結果情報が設定され、当該拡張要素に、当該第1の構造化文書データに含まれる拡張要素に設定された情報に基づいて決定された前記配信対象のバージョンの前記特定プログラム、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の少なくとも何れか一方が設定された第2の構造化文書データを生成する第2の生成手段と、当該第2の生成手段により生成された当該第2の構造化文書データを前記クライアントコンピュータに送信する第2の送信手段とを含むサーバコンピュータと
    を備えたことを特徴とするコンピュータシステム。
  7. コンピュータに、
    構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、特定プログラムを実行する際に認証画面から入力された入力情報が当該既存要素に設定され、当該特定プログラムの配信対象のバージョンを決定するための情報が当該拡張要素に設定された第1の構造化文書データを、他の装置から受信する機能と、
    受信した前記第1の構造化文書データに含まれる拡張要素に設定された情報に基づいて、前記配信対象のバージョンを決定する機能と、
    構造化文書の既存の仕様のための既存要素と、構造化文書の仕様の拡張のための拡張要素とを含み、前記入力情報を認証処理した結果である結果情報が当該既存要素に設定され、決定された前記配信対象のバージョンの前記特定プログラム、及び、当該配信対象のバージョンの当該特定プログラムの入手先を示す情報の少なくとも何れか一方が当該拡張要素に設定された第2の構造化文書データを生成する機能と、
    生成された前記第2の構造化文書データを、前記他の装置に送信する機能と
    を実現させるためのプログラム。
JP2008239296A 2008-09-18 2008-09-18 プログラム配信装置、画像処理装置、コンピュータシステム、及びプログラム Expired - Fee Related JP5293036B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008239296A JP5293036B2 (ja) 2008-09-18 2008-09-18 プログラム配信装置、画像処理装置、コンピュータシステム、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008239296A JP5293036B2 (ja) 2008-09-18 2008-09-18 プログラム配信装置、画像処理装置、コンピュータシステム、及びプログラム

Publications (2)

Publication Number Publication Date
JP2010072920A JP2010072920A (ja) 2010-04-02
JP5293036B2 true JP5293036B2 (ja) 2013-09-18

Family

ID=42204643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008239296A Expired - Fee Related JP5293036B2 (ja) 2008-09-18 2008-09-18 プログラム配信装置、画像処理装置、コンピュータシステム、及びプログラム

Country Status (1)

Country Link
JP (1) JP5293036B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003303071A (ja) * 2002-01-16 2003-10-24 Canon Inc 情報処理装置及び情報処理方法及び情報処理システム及び制御プログラム及び記憶媒体
JP4358203B2 (ja) * 2006-05-01 2009-11-04 シャープ株式会社 複合機、複合機の制御方法、制御装置、制御装置の制御方法、複合機制御システム、制御プログラム、およびコンピュータ読み取り可能な記録媒体
JP4285658B2 (ja) * 2006-10-17 2009-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・サービスを提供する装置およびその方法
JP2008146250A (ja) * 2006-12-07 2008-06-26 Canon Inc アップデートシステム、アップデート方法及びプログラム

Also Published As

Publication number Publication date
JP2010072920A (ja) 2010-04-02

Similar Documents

Publication Publication Date Title
JP5424614B2 (ja) 情報処理システム、情報処理装置、Webサーバ、制御方法、及びプログラム
JP4533780B2 (ja) 画像形成システム、画像形成装置、端末装置及び端末装置のドライバの更新方法
US7849099B2 (en) Document management method and apparatus thereof
US8826176B2 (en) Information processing apparatus and control method
JP2006252480A (ja) コンピュータ、画像処理システム、及び画像処理方法
JP2003288191A (ja) プリンタドライバを動的にアップデートするシステムおよび方法
JP2004005607A (ja) ワークステーションにおけるプリンタインスタンスの遠隔作成
US8863300B2 (en) License install support system, license install support method
JP5157690B2 (ja) 画像形成装置、情報処理方法、及び、画像形成システム
JP2008251009A (ja) エンドユーザのコンピュータでターゲット装置のドライバをインストールするための方法及び周辺装置
JP5383155B2 (ja) 通信装置、画像処理装置、画像処理システム、それらの制御方法、プログラム
JP2004303218A (ja) 情報提供装置及び情報表示装置
US20120023551A1 (en) Information processing system, information processing apparatus, and computer-readable storage medium
WO2011055497A1 (en) Management apparatus and method therefor
JP2014002619A (ja) 情報処理装置及びその制御方法とプログラム
JP5293036B2 (ja) プログラム配信装置、画像処理装置、コンピュータシステム、及びプログラム
JP2009110050A (ja) 情報処理装置、情報処理システム、表示制御方法、表示制御プログラム及び記録媒体
JP5091003B2 (ja) 情報処理システム、情報処理方法、プログラム、及び、記録媒体
US20080256614A1 (en) Network terminal management apparatus, method and program
JP5052171B2 (ja) 配信システム、機器設定システム及び配信設定管理方法
JP2010146324A (ja) 定型書式データ管理サーバ装置、定型文書作成システム
JP2010055559A (ja) 文書管理装置、文書管理方法、及びプログラム
JP2005107708A (ja) アプリケーション配布システム
JP2014052751A (ja) プロキシを使用したネットワーク印刷システム
JP5745013B2 (ja) 画像処理システム、画像処理装置、画像処理システムにおける制御方法、画像処理装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130405

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Ref document number: 5293036

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees