(57)【要約】【課題】サーバ装置において、複数の提供可能言語の中からクライアント装置のユーザにとって好ましい言語が選択される可能性を向上させる。【解決手段】クライアント装置に対して、複数の言語で情報を提供可能なサーバ装置サーバ装置は、提供可能言語認識手段と、要求言語認識手段と、属性情報取得手段と、言語選択手段と、を備える。提供可能言語認識手段は、複数の提供可能言語を、言語識別情報を用いてそれぞれ認識する。要求言語認識手段は、クライアント装置が要求する要求言語を、言語識別情報を用いて認識する。属性情報取得手段は、言語識別情報に関連付けられた属性情報を取得する。言語選択手段は、要求言語の言語識別情報が提供可能言語の言語識別情報のいずれとも一致しない場合に、属性情報を用いて複数の提供可能言語の中から、クライアントに対して情報を提供するための提供言語を選択する。【選択図】図３
2008107964.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置に対して、複数の言語で情報を提供可能なサーバ装置であって、
複数の提供可能言語を、言語識別情報を用いてそれぞれ認識する提供可能言語認識手段と、
前記クライアント装置が要求する要求言語を、前記言語識別情報を用いて認識する要求言語認識手段と、
前記言語識別情報に関連付けられた属性情報を取得する属性情報取得手段と、
前記要求言語の前記言語識別情報が前記提供可能言語の前記言語識別情報のいずれとも一致しない場合に、前記属性情報を用いて前記複数の前記提供可能言語の中から、前記クライアントに対して情報を提供するための提供言語を選択する言語選択手段と、
を備えるサーバ装置。
【請求項２】
請求項１に記載のサーバ装置において、
前記言語識別情報は、少なくとも第１の識別子を含み、
前記属性情報は、前記第１の識別子が同一である複数の前記提供可能言語の優先順位を特定するための優先情報を含み、
前記言語選択手段は、前記言語識別情報が前記要求言語と一致する前記提供可能言語がなく、前記第１の識別子が前記要求言語と一致する前記提供可能言語がある場合に、前記優先順位に従って、前記第１の識別子が前記要求言語と一致する前記提供可能言語の中から、前記提供言語を選択する、サーバ装置。
【請求項３】
請求項２に記載のサーバ装置において、
前記第１の識別子は、言語コードである、サーバ装置。
【請求項４】
請求項３に記載のサーバ装置において、
前記言語識別情報は、前記言語コードと国コードを含み、
前記優先順位は、前記国コードに応じて定められている、サーバ装置。
【請求項５】
請求項１に記載のサーバ装置において、
前記言語識別情報は、少なくとも第２の識別子を含み、
前記属性情報は、前記第２の識別子ごとにデフォルトの言語を特定するためのデフォルト情報を含み、
前記言語選択手段は、前記言語識別情報が前記要求言語と一致する前記提供可能言語がなく、前記第２の識別子が前記要求言語と一致する前記提供可能言語がある場合に、前記デフォルト情報に従って、前記第２の識別子が前記要求言語と一致する前記提供可能言語の中から、前記提供言語を選択する、サーバ装置。
【請求項６】
請求項５に記載のサーバ装置において、
前記第２の識別子は、国コードである、サーバ装置。
【請求項７】
請求項２に記載のサーバ装置において、
前記言語識別情報は、予め複数のグループに分類され、
前記属性情報は、前記要求言語が属するグループを特定するための第１のグループ情報を含み、
前記言語選択手段は、前記要求言語が属するグループを考慮して、前記提供可能言語の中から、前記提供言語を選択する、サーバ装置。
【請求項８】
請求項７に記載のサーバ装置において、
前記属性情報は、前記要求言語が属するグループに属する前記提供可能言語を特定するための第２のグループ情報を含み、
前記言語選択手段は、前記要求言語が属するグループに属する前記提供可能言語を、前記提供言語として選択する、サーバ装置。
【請求項９】
請求項７または請求項８に記載のサーバ装置において、
前記言語識別情報は、少なくとも第２の識別子を含み、
前記第１のグループ情報は、第２の識別子ごとに関連付けられている、サーバ装置。
【請求項１０】
請求項９に記載のサーバ装置において、
前記第２の識別子は、国コードである、サーバ装置。
【請求項１１】
請求項１ないし請求項１０のいずれかに記載のサーバ装置において、
前記要求言語認識手段は、前記クライアント装置からの情報提供要求に含まれる前記言語識別情報を取得することにより、前記要求言語を認識する、サーバ装置。
【請求項１２】
請求項１ないし請求項１１のいずれかに記載のサーバ装置は、さらに、
予め定められた前記属性情報が前記言語識別情報に関連付けて格納された属性情報格納部を備え、
前記属性情報取得手段は、前記属性情報格納部から前記属性情報を取得する、サーバ装置。
【請求項１３】
クライアント装置に対して、複数の言語で情報を提供可能なサーバ装置における方法であって、
複数の提供可能言語を、言語識別情報を用いてそれぞれ認識し、
前記クライアント装置が要求する要求言語を、前記言語識別情報を用いて認識する要求し、
前記言語識別情報に関連付けられた属性情報を取得し、
前記要求言語の前記言語識別情報が前記提供可能言語の前記言語識別情報のいずれとも一致しない場合に、前記属性情報を用いて前記複数の前記提供可能言語の中から、前記クライアントに対して情報を提供するための提供言語を選択する、方法。
【請求項１４】
クライアント装置に対して、複数の言語で情報を提供可能なサーバ機能をコンピュータに実現させるコンピュータプログラムであって、
複数の提供可能言語を、言語識別情報を用いてそれぞれ認識する第１の機能と、
前記クライアント装置が要求する要求言語を、前記言語識別情報を用いて認識する第２の機能と、
前記言語識別情報に関連付けられた属性情報を取得する第３の機能と、
前記要求言語の前記言語識別情報が前記提供可能言語の前記言語識別情報のいずれとも一致しない場合に、前記属性情報を用いて前記複数の前記提供可能言語の中から、前記クライアントに対して情報を提供するための提供言語を選択する第４の機能と、
を前記コンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、サーバ装置における方法、および、コンピュータプログラムに関し、特に、複数種類の言語で情報を提供可能なサーバ装置、サーバ装置における方法、および、コンピュータプログラムに関する。
【背景技術】
【０００２】
クライアント装置に対して、複数種類の言語で情報（コンテンツ）を提供可能なサーバ装置が知られている（例えば、特許文献１）。例えば、ＨＴＴＰプロトコルを用いてＷＥＢブラウザを備えるクライアント装置に対して、ＨＴＭＬやＸＨＴＭＬなどの形式のファイルを提供するＷＥＢサーバ装置には、予め複数種類の言語で作成されたファイルを記憶しており、ＨＴＴＰリクエストに含まれるａｃｃｅｐｔ−ｌａｎｇｕａｇｅフィールドに記述された言語識別情報に応じて、複数のファイルの中から提供するファイルを選択するものがある。
【０００３】
【特許文献１】特開２００４−２２７１９９号公報
【特許文献２】特開２００２−２５１２６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、要求された言語と、提供可能な言語とが完全一致しない場合には、以下のような対応がとられていた。１．エラーを送信する。２．予め定められた一つの言語を選択する。この結果、クライアント装置のユーザにとって好ましい言語とはかけ離れた言語を選択してしまうおそれがあった。
【０００５】
本発明は、上記課題の少なくとも一部を解決するためになされたものであり、複数種類の言語で情報を提供可能なサーバ装置において、提供可能言語の中からクライアント装置のユーザにとって好ましい言語が選択される可能性を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するため、本発明の第１の態様は、クライアント装置に対して、複数の言語で情報を提供可能なサーバ装置を提供する。第１の態様に係るサーバ装置は、提供可能言語認識手段と、要求言語認識手段と、属性情報取得手段と、言語選択手段と、を備える。前記提供可能言語認識手段は、複数の提供可能言語を、言語識別情報を用いてそれぞれ認識する。前記要求言語認識手段は、前記クライアント装置が要求する要求言語を、前記言語識別情報を用いて認識する。前記属性情報取得手段は、前記言語識別情報に関連付けられた属性情報を取得する。前記言語選択手段は、前記要求言語の前記言語識別情報が前記提供可能言語の前記言語識別情報のいずれとも一致しない場合に、前記属性情報を用いて前記複数の前記提供可能言語の中から、前記クライアントに対して情報を提供するための提供言語を選択する。
【０００７】
第１の態様に係るサーバ装置によれば、要求言語の言語識別情報が提供可能言語の言語識別情報のいずれとも一致しない場合に、属性情報を用いて提供可能言語の中から、クライアントに対する提供言語を選択するので、要求言語をサポートしていない場合であっても、クライアントのユーザにとって好ましい言語で情報を提供することができる。
【０００８】
第１の態様に係るサーバ装置において、前記言語識別情報は、少なくとも第１の識別子を含み、前記属性情報は、前記第１の識別子が同一である複数の前記提供可能言語の優先順位を特定するための優先情報を含み、前記言語選択手段は、前記言語識別情報が前記要求言語と一致する前記提供可能言語がなく、前記第１の識別子が前記要求言語と一致する前記提供可能言語がある場合に、前記優先順位に従って、前記第１の識別子が前記要求言語と一致する前記提供可能言語の中から、前記提供言語を選択しても良い。こうすれば、優先順位に従って、よりクライアントのユーザにとって好ましい提供言語を選択することができる。
【０００９】
第１の態様に係るサーバ装置において、前記第１の識別子は、言語コードであっても良い。こうすれば、要求言語と言語コードが一致する提供可能言語の中からよりクライアントのユーザにとって好ましい提供言語を選択することができる。
【００１０】
第１の態様に係るサーバ装置において、前記言語識別情報は、前記言語コードと国コードを含み、前記優先順位は、前記国コードに応じて定められていても良い。こうすれば、国コードに応じて定められた優先順位に従って、よりクライアントのユーザにとって好ましい提供言語を選択することができる。
【００１１】
第１の態様に係るサーバ装置において、前記言語識別情報は、少なくとも第２の識別子を含み、前記属性情報は、前記第２の識別子ごとにデフォルトの言語を特定するためのデフォルト情報を含み、前記言語選択手段は、前記言語識別情報が前記要求言語と一致する前記提供可能言語がなく、前記第２の識別子が前記要求言語と一致する前記提供可能言語がある場合に、前記デフォルト情報に従って、前記第２の識別子が前記要求言語と一致する前記提供可能言語の中から、前記提供言語を選択しても良い。こうすれば、デフォルト情報に従って、よりクライアントのユーザにとって好ましい提供言語を選択することができる。
【００１２】
第１の態様に係るサーバ装置において、前記第２の識別子は、国コードであっても良い。こうすれば、要求言語と国コードが一致する提供可能言語の中からよりクライアントのユーザにとって好ましい提供言語を選択することができる。
【００１３】
第１の態様に係るサーバ装置において、前記言語識別情報は、予め複数のグループに分類され、前記属性情報は、前記要求言語が属するグループを特定するための第１のグループ情報を含み、前記言語選択手段は、前記要求言語が属するグループを考慮して、前記提供可能言語の中から、前記提供言語を選択しても良い。こうすれば、要求言語が属するグループを考慮して、よりクライアントのユーザにとって好ましい提供言語を選択することができる。
【００１４】
第１の態様に係るサーバ装置において、前記属性情報は、前記要求言語が属するグループに属する前記提供可能言語を特定するための第２のグループ情報を含み、前記言語選択手段は、前記要求言語が属するグループに属する前記提供可能言語を、前記提供言語として選択しても良い。こうすれば、要求言語が属するグループに属する提供可能言語を、提供言語として選択するので、よりクライアントのユーザにとって好ましい提供言語を選択することができる。
【００１５】
第１の態様に係るサーバ装置において、前記言語識別情報は、少なくとも第２の識別子を含み、前記第１のグループ情報は、第２の識別子ごとに関連付けられても良い。かかる場合において、前記第２の識別子は、国コードであっても良い。こうすれば、国コードが表す国の特徴を考慮して、よりクライアントのユーザにとって好ましい提供言語を選択することができる。
【００１６】
第１の態様に係るサーバ装置において、前記要求言語認識手段は、前記クライアント装置からの情報提供要求に含まれる前記言語識別情報を取得することにより、前記要求言語を認識しても良い。こうすれば、サーバ装置は、容易に要求言語を認識することができる。
【００１７】
第１の態様に係るサーバ装置は、さらに、予め定められた前記属性情報が前記言語識別情報に関連付けて格納された属性情報格納部を備え、前記属性情報取得手段は、前記属性情報格納部から前記属性情報を取得しても良い。こうすれば、サーバ装置は、容易に属性情報を取得することができる。
【００１８】
なお、本発明は、種々の態様で実現することが可能であり、例えば、クライアント装置に対して、複数の言語で情報を提供可能なサーバ装置における方法のような方法発明として実現することができる。あるいは、かかる装置または方法を構築するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明について、図面を参照しつつ、実施例に基づいて説明する。
【００２０】
Ａ．実施例：
・ネットワークシステムの構成：
図１〜図３を参照して、本実施例におけるネットワークシステムの構成について説明する。図１は、ネットワークシステムの概略構成を示す説明図である。図２は、提供ファイル格納部に格納されているファイル群を概念的に示す図である。図３は、言語属性情報格納部に格納されている言語属性情報を概念的に示す図である。ネットワークシステムは、図１に示すように、プリントサーバ装置１００と、プリンタ２００と、クライアント装置としての計算機（以下、単にクライアントという。）３００と、を含む。クライアント３００と、プリントサーバ装置１００とは、ＬＡＮなどのネットワークＮＷを介して互いに接続されている。プリントサーバ装置１００と、プリンタ２００とは、ＵＳＢ（Universal Serial Bus）ケーブルＣＶを用いて接続されている。
【００２１】
プリントサーバ装置１００は、図１に示すように、中央演算装置（ＣＰＵ）１１０と、メモリ１２０と、ＵＳＢホストインタフェース（ＩＦ）部１３０と、ネットワークインタフェース（ＩＦ）部１４０とを備えている。
【００２２】
ＵＳＢホストＩＦ部１３０は、ＵＳＢケーブルＣＶを介してプリンタ２００などのローカルデバイスと通信するためのインタフェースであり、ＵＳＢ規格に従ったデータ通信をＵＳＢケーブルＣＶ接続されたローカルデバイスとの間で実行する。
【００２３】
ネットワークＩＦ部１４０は、ネットワークＮＷを介してクライアント３００と通信するためのインタフェースであり、イーサネットの仕様に対応したケーブルを介してネットワークＮＷと接続される。
【００２４】
ＣＰＵ１１０は、メモリ１２０に格納されている各種プログラムを実行することにより、プリントサーバとしての機能を実現する。
【００２５】
メモリ１２０には、種々のプログラムやデータが格納されるが、図１においては、本実施例における処理に必要な構成を選択的に図示し、本明細書においては、図示された構成について説明する。メモリ１２０には、サーバプログラム１２２と通信プロトコルプログラム１２４が格納されている。メモリ１２０は、さらに、言語属性情報格納部１２６と、提供ファイル格納部１２８を備えている。
【００２６】
サーバプログラム１２２は、クライアント３００の要求に応じてプリンタ２００に印刷を実行させるプリントサービスや、クライアント３００の要求に応じてプリンタ２００の情報を提供したりプリンタ２００の設定を行ったりするプリンタ管理サービスなど、プリントサーバとしての主たる機能をＣＰＵ１１０に実現させるプログラムである。サーバプログラム１２２は、機能部として、提供可能言語認識部Ｍ１と、要求言語認識部Ｍ２と、言語属性情報取得部Ｍ３と、言語選択部Ｍ４とを含む。提供可能言語認識部Ｍ１は、後述する言語識別情報を用いて、提供可能な言語（サポート言語）を認識する。要求言語認識部Ｍ２は、後述する言語識別情報を用いて、クライアントが要求する要求言語を認識する。言語属性情報取得部Ｍ３は、後述する言語属性情報を取得する。言語選択部Ｍ４は、後述する提供言語選択処理を実行する。
【００２７】
通信プロトコルプログラム１２４は、サーバプログラム１２２の階層にある通信プロトコルの機能を実現するプログラムである。具体的には、通信プロトコルプログラム１２４は、ＵＳＢホストＩＦ部１３０を介してプリンタ２００と通信するためのプロトコル（ドライバ）を実装している。また、通信プロトコルプログラム１２４は、ＨＴＴＰ（HyperText Transfer Protocol）、および、ＨＴＴＰの下位プロトコルであるＴＣＰ／ＩＰを実装している。
【００２８】
提供ファイル格納部１２８には、サーバプログラム１２２がクライアント３００に提供する提供情報、例えば、上述したプリンタ管理サービスのためのＧＵＩ（graphical user interface）を提供するＷＥＢページを記述したファイルが格納されている。これらの提供情報については、さらに、後述する。
【００２９】
言語属性情報格納部１２６には、言語属性情報が言語識別情報に関連付けて記憶されている。言語属性情報および言語識別情報については、後述する。
【００３０】
プリンタ２００は、図１に示すように、ＣＰＵ２１０と、メモリ２２０と、ＵＳＢデバイスインタフェース（ＩＦ）部２３０と、プリンタエンジン２４０とを備えている。
【００３１】
ＵＳＢデバイスＩＦ部２３０は、ＵＳＢケーブルＣＶを介してプリントサーバ装置１００と通信するためのインタフェースである。
【００３２】
プリンタエンジン２４０は、実際に印刷を行う機構部分であり、感光体ドラム等、用紙に印刷するためのハードウェア群から成る。
【００３３】
ＣＰＵ２１０は、メモリ２２０に格納されている各種プログラムを実行することにより、プリンタ２００の各構成要素の制御を行う。例えば、ＣＰＵ２１０は、上述したＵＳＢデバイスＩＦ部２３０を制御して、プリントサーバ装置１００から印刷データを受け取り、プリンタエンジン２４０を制御して、受け取った印刷データに基づく印刷を行う。
【００３４】
メモリ２２０には、種々のプログラムやデータが格納されるが、図１においては、本実施例における処理に必要な構成を選択的に図示し、本明細書においては、図示された構成について説明する。メモリ２２０には、ＣＰＵ２１０によるプリンタ２００の制御を実現するための制御プログラム２２２が格納されている。メモリ２２０は、さらに、プリンタ２００に関する種々の情報がＭＩＢ(Management Information Base)と呼ばれる形式で格納されているＭＩＢ格納部２２４を備えている。ＭＩＢ形式で格納されている情報は、例えば、プリンタの設定情報や、印刷に使用した紙の種類や枚数の情報、印刷に使用したトナー量あるいはインク量の情報などに加えて、後述する仕向地情報を含む。
【００３５】
クライアント３００は、例えば、周知のパーソナルコンピュータであり、図示しないＣＰＵやメモリを備える。クライアント３００には、ＷＥＢブラウザ３１０がインストールされており、クライアント３００はＷＥＢブラウザ３１０を介して、プリントサーバ装置１００にアクセスすることにより、プリントサーバ装置１００が提供する各種のサービスを利用することができる。
【００３６】
続いて、図２を参照して、提供ファイル格納部１２８に格納されている提供情報について説明する。提供情報は、具体的にはＷＥＢコンテンツであり、図２に示すように、ＸＭＬファイルとＸＳＬファイルとして格納されている。ＸＭＬファイルは、ＸＭＬ（eXtensible Markup Language）を用いて記述されたデータ（ＸＭＬデータ）が格納されたファイルである。ＸＳＬファイルは、ＸＭＬデータのレイアウトをＸＳＬ（eXtensible Stylesheet Language）を用いて記述したスタイルシートが格納されたファイルである。ＸＭＬデータとＸＳＬデータとに基づいて、ＨＴＭＬ（Hyper Text Markup Language）データが生成される。ＸＭＬデータは、１種類のコンテンツについて、複数の提供可能言語（以下、サポート言語とも言う。）で準備されている。例えば、上述したプリンタ管理サービスのためのＧＵＩ（graphical user interface）を提供するＷＥＢページをｐａｇｅＡとすると、図２に示すように、ｐａｇｅＡの内容を記述したｘｍｌファイルはサポート言語の数だけ用意されている。図２において、ｘｍｌファイルのファイル名の最後の拡張子、例えば、「ｐａｇｅＡ．ｘｍｌ．ｅｎ−ＡＵ」における「ｅｎ−ＡＵ」は、そのファイルが記述された言語を表す言語識別情報である。
【００３７】
言語識別情報は、「言語コード−国コード」という書式で示される。言語コードはアルファベットで言語の種類を表す識別子であり、ＩＳＯ６３９によって定義されている。例えば、言語コードは、ｅｎ：英語、ｚｈ：中国語、ｒｕ：ロシア語、ｄｅ：ドイツ語、ｆｒ：フランス語、ｅｓ：スペイン語、ｊａ：日本語、ｉｔ：イタリア語、が定義されている。国コードはアルファベットで国を表す識別子であり、ＩＳＯ３１６６によって定義されている。例えば、国コードは、ＵＳ：アメリカ、ＪＰ：日本、ＡＵ：オーストラリア、ＣＮ：中国、ＲＵ：ロシア、ＧＢ：イギリス、ＤＥ：ドイツなどが定義されている。上述した言語識別情報「ｅｎ−ＡＵ」は、言語コードｅｎ：英語と国コードＡＵ：オーストラリアの組み合わせであり、オーストラリア英語を表している。このように、言語識別情報を単純に言語コードのみを用いず、言語コードと国コードの組み合わせにすることにより、よりユーザのニーズに合わせた情報をユーザに提供することができる。例えば、同じ英語のページであっても、「ｅｎ−ＵＳ」のページでは、サービスセンターへアクセスするための電話番号としてアメリカのコールセンターの番号を表示し、「ｅｎ−ＪＰ」のページでは、日本のコールセンターの番号を表示することが可能になる。
【００３８】
続いて、図３を参照して、言語属性情報格納部１２６に格納されている言語属性情報について説明する。図３に示すように、言語属性情報格納部１２６には、言語属性情報として、サポート言語テーブルと、言語コード別優先国コードテーブルと、国コード別デフォルト言語テーブルと、国コード別グループコードテーブルと、グループコード別優先言語テーブルとが格納されている。
【００３９】
サポート言語テーブルは、プリントサーバ装置１００のサポート言語の言語識別情報、すなわち、上述した提供ファイル格納部１２８にＸＭＬファイルが準備されている言語（図２）の言語識別情報が記述されたテーブルである。本実施例におけるプリントサーバ装置１００は、仕向地がオーストラリアであり、図３に示すように、「ｅｎ−ＡＵ（オーストラリア英語）」「ｚｈ−ＡＵ（オーストラリア中国語）」「ｒｕ−ＡＵ（オーストラリアロシア語）」「ｄｅ−ＤＥ（ドイツ語）」「ｅｎ−ＧＢ（イギリス英語）」の５つをサポートしている。サポート言語は、プリントサーバ装置１００の仕向地ごとに異なるため、サポート言語テーブルの内容は、プリントサーバ装置１００の仕向地ごとに異なる。サーバプログラム１２２の提供可能言語認識部Ｍ１は、サポート言語テーブルを参照することにより、提供可能な言語（サポート言語）を認識する。
【００４０】
言語コード別優先国コードテーブルは、主要な言語の言語コードごとに、優先される国を表す国コードを優先順位と共に関連付けて記録したテーブルである。図３に示すように、例えば、言語コードｊａ（日本語）には、３つの国コード、すなわち、優先順位１：ＪＰ（日本）、優先順位２：ＵＳ（アメリカ）、優先順位３：ＣＮ（中国）が関連付けられている。
【００４１】
国コード別デフォルト言語テーブルは、主要な国の国コードごとに、デフォルトの言語を関連付けて記録したテーブルである。図３に示すように、例えば、国コードＵＳ（アメリカ）には、デフォルト言語の言語識別情報「ｅｎ−ＵＳ」が関連付けられている。
【００４２】
国コード別グループコードテーブルは、主要な国の国コードごとに、グループコードを優先順位と共に関連付けて記録したテーブルである。グループコードは、国コードが表す国の特色に応じて、国コードを分類したグループを表すコードである。例えば、図３に示すように、グループコードＡは、第１外国語が英語である国のグループを表すコードであり、グループコードＢは、ゲルマン・ファリスク語群に属する言語を用いる国のグループを表すコードである。例えば、図３に示すように、国コードＵＳ（アメリカ）には、３つのグループコード、すなわち、優先順位１：Ｄ（北アメリカ）、優先順位２：Ｅ（南アメリカ）、優先順位３：Ｃ（西ゲルマン語群）が関連付けられている。
【００４３】
グループコード別優先言語テーブルは、グループコードごとに、優先される言語を表す言語識別情報を、優先順位と共に関連付けて記録したテーブルである。例えば、図３に示すように、グループコードＡ（第１外国語が英語）には、３つの言語識別情報、すなわち、優先順位１：ｅｎ−ＵＳ（米語）、優先順位２：ｅｎ−ＧＢ（イギリス英語）、優先順位３：ｅｎ−ＡＵ（オーストラリア英語）が関連付けられている。
【００４４】
ここで、言語コード別優先国コードテーブル、国コード別デフォルト言語テーブル、国コード別グループコードテーブル、グループコード別優先言語テーブルの内容は、仕向地に関わらず、全てのプリントサーバ装置１００に共通である。
【００４５】
・ネットワークシステムの動作：
プリントサーバ装置１００がクライアント３００からの情報要求（具体的には、ＨＴＴＰリクエスト）を受け付け、該情報要求に対する応答（具体的には、ＨＴＴＰレスポンス）として要求された情報をクライアント３００に対して送信する情報提供処理を、図４〜図８を参照して説明する。図４は、情報提供処理の処理ルーチンを示すフローチャートである。図５〜図８は、提供言語選択処理の処理ルーチンを示すフローチャートである。
【００４６】
クライアント３００ａはＷＥＢブラウザ３１０を用いて、ＷＥＢコンテンツ、例えば、上述したプリンタ管理サービスのためのＧＵＩを提供するＷＥＢページを要求する情報要求ＨＴＴＰリクエストをプリントサーバ装置１００に対して送信する。ＨＴＴＰリクエストは、例えば、以下のような内容を含んでいる。
１ GET /webservice/PageA.html HTTP/1.1
２ Host: www.printserver100.jp
３ Accept: text/html, text/plain, image/gif, image/jpeg
４ Accept-Language: en-JP
５ Accept-Encoding: gzip, deflate
６ Accept-Charset: Shift_JIS, utf-8
【００４７】
ここで、左端に付した行番号は、見やすくするために付したもので、実際のＨＴＴＰリクエストには含まれていない。１行目は、リクエストラインと呼ばれるＨＴＴＰリクエストの主要部分で、上記の例では、/webservice/PageA.htmlというファイルを要求するＨＴＴＰリクエストであることを示している。２行目〜６行目は、メッセージヘッダと呼ばれ、ＨＴＴＰリクエストの付加的な情報が記述される部分である。メッセージヘッダには、種々の付加的な情報が記述されるが、本実施例におけるクライアント３００がプリントサーバ装置１００に対して送信するＨＴＴリクエストのメッセージヘッダには、Accept-Languageフィールド（４行目）が記述されている。Accept-Languageフィールドは、リクエストへのレスポンスとして望む言語（要求言語）を指定するフィールドである。Accept-Languageフィールドのフィールド値には、上述した言語指定情報を用いて、要求言語が記述される。上述したＨＴＴＰリクエストでは、要求言語として、ｅｎ−ＪＰ（日本英語）が指定されている。
【００４８】
クライアント３００から送信されたＨＴＴＰリクエストは、プリントサーバ装置１００において、ネットワークＩＦ部１４０および通信プロトコルプログラム１２４を介して、サーバプログラム１２２によって受信される（ステップＳ１０２）。
【００４９】
サーバプログラム１２２は、ＨＴＴＰリクエストが受信されると（ステップＳ１０２）、上述したAccept-Languageフィールドにフィールド値として記述された言語識別情報を取得して、クライアント３００の指定した要求言語を認識する（ステップＳ１０４）。
【００５０】
次に、サーバプログラム１２２は、提供言語選択処理を実行する（ステップＳ１０６）。提供言語選択処理は、サポート言語テーブルに記述されたサポート言語の中から、クライアント３００に対してＷＥＢコンテンツを提供するための言語（提供言語）を選択する処理である。
【００５１】
提供言語選択処理が開始されると、サーバプログラム１２２は、サポート言語テーブルに記述された言語識別情報の中に、要求言語の言語識別情報と完全に一致するものがあるか否かを判断する（ステップＳ２０２）。すなわち、要求言語と完全一致するサポート言語があるか否かを判断する。完全一致するものがある場合には（ステップＳ２０２：ＹＥＳ）、サーバプログラム１２２は、該当するサポート言語を提供言語として選択する（ステップＳ２０４）。
【００５２】
完全一致するものがない場合には（ステップＳ２０２：ＮＯ）、サーバプログラム１２２は、サポート言語テーブルに記述された言語識別情報の中に、要求言語の言語識別情報と言語コードが一致するものがあるか否かを判断する（ステップＳ２０６）。すなわち、要求言語と言語コードが一致するサポート言語があるか否かを判断する。
【００５３】
言語コードが一致するサポート言語がある場合には（ステップＳ２０６：ＹＥＳ）、サーバプログラム１２２は、国コードの優先順位が高いサポート言語を提供言語として選択する（ステップＳ３０２）。具体的には、サーバプログラム１２２は、言語コード別優先国コードテーブルにおいて要求言語の言語コードに関連付けられている国コードを優先順位が高い順に取得する。そして、サーバプログラム１２２は、要求言語の言語コードと取得した国コードとの組み合わせからなる言語識別情報が、サポート言語テーブルに記述された言語識別情報と一致するか否かを順次照合する。サーバプログラム１２２は、一致した言語識別情報が表すサポート言語を提供言語として選択する。
【００５４】
要求言語の言語識別情報が「ｅｎ−ＪＰ」である場合を具体例として説明する。かかる場合には、要求言語「ｅｎ−ＪＰ」と完全一致するサポート言語はないが、要求言語と言語コード「ｅｎ」が一致するサポート言語はある（「ｅｎ−ＡＵ」と「ｅｎ−ＧＢ」）ので、ステップＳ３０２の処理が行われる。言語コード別優先国コードテーブルにおいて、言語コード「ｅｎ」には、優先順位が高い順に「ＵＳ」「ＧＢ」「ＡＵ」の３つの国コードが関連付けられている（図３）。従って、優先順位が最も高いのは、「ｅｎ−ＵＳ」であるが、これはサポート言語の中にはない（図３）。次に優先順位が高いのは、「ｅｎ−ＧＢ」であり、これはサポート言語の中にある（図３）。この結果、この具体例では、「ｅｎ−ＧＢ」が提供言語として選択される。
【００５５】
言語コードが一致するサポート言語がない場合には（ステップＳ２０６：ＮＯ）、サーバプログラム１２２は、サポート言語テーブルに記述された言語識別情報の中に、要求言語の言語識別情報と国コードが一致するものがあるか否かを判断する（ステップＳ２０８）。すなわち、要求言語と言語コードが一致するサポート言語があるか否かを判断する。
【００５６】
国コードが一致するサポート言語がある場合には（ステップＳ２０８：ＹＥＳ）、サーバプログラム１２２は、国コードに対応するデフォルト言語を提供言語として選択する（ステップＳ４０２）。具体的には、サーバプログラム１２２は、国コード別デフォルト言語テーブルにおいて要求言語の国コードに関連付けられているデフォルト言語の言語識別情報を取得する。そして、サーバプログラム１２２は、取得した言語識別情報が表すサポート言語を提供言語として選択する。
【００５７】
要求言語の言語識別情報が「ｔｒ−ＡＵ」である場合を具体例として説明する。かかる場合には、要求言語「ｔｒ−ＡＵ」と完全一致するサポート言語はなく、かつ、要求言語と言語コード「ｔｒ」が一致するサポート言語もない。一方で、要求言語と国コード「ＡＵ」が一致するサポート言語はある（「ｅｎ−ＡＵ」、「ｚｈ−ＡＵ」および「ｒｕ−ＡＵ」）ので、ステップＳ４０２の処理が行われる。国コード別デフォルト言語テーブルにおいて、国コード「ＡＵ」には、デフォルト言語の言語識別情報として「ｅｎ−ＡＵ」が関連付けられている（図３）。この結果、この具体例では、「ｅｎ−ＡＵ」が提供言語として選択される。
【００５８】
国コードが一致するサポート言語がない場合には（ステップＳ２０８：ＮＯ）、サーバプログラム１２２は、国コード別グループコードテーブルにおいて、要求言語の国コードにグループコードが関連付けられているか否かを判断する（ステップＳ２１０）。
【００５９】
要求言語の国コードにグループコードが関連付けられている場合には（ステップＳ２１０：ＹＥＳ）、サーバプログラム１２２は、グループコードに関連付けられている言語の中にあるサポート言語を提供言語として選択する（ステップＳ５０２）。この際、サーバプログラム１２２は、要求言語の国コードに複数のグループコードが関連付けられている場合には、なるべく優先順位の高いグループコードに関連付けられている言語の中から提供言語を選択する。また、サーバプログラム１２２は、グループコードに関連付けられている言語の中に複数のサポート言語がある場合には、これらのうち優先順位の高い方の言語を提供言語として選択する。
【００６０】
具体的には、サーバプログラム１２２は、国コード別グループコードテーブルにおいて要求言語の国コードに関連付けられているグループコードを優先順位が高い順に取得する。そして、サーバプログラム１２２は、グループコード別優先言語テーブルにおいて、取得したグループコードに関連付けられている言語識別情報が、サポート言語テーブルに記述された言語識別情報と一致するか否かを優先順位の高い順に照合する。サーバプログラム１２２は、一致した言語識別情報が表すサポート言語を提供言語として選択する。
【００６１】
要求言語の言語識別情報が「ｔｒ−ＪＰ」である場合を具体例として説明する。かかる場合には、要求言語「ｔｒ−ＪＰ」と完全一致するサポート言語はなく、かつ、要求言語と言語コード「ｔｒ」が一致するサポート言語もない。さらに、要求言語と国コード「ＪＰ」が一致するサポート言語もない。一方、要求言語の国コード「ＪＰ」は、国コード別グループコードテーブルに登録されており、グループコードが関連付けられている（図３）ので、ステップＳ５０２の処理が行われる。国コード別グループコードテーブルにおいて、国コード「ＪＰ」には、優先順位が高い順に、グループコード「Ａ（第１外国語が英語）」および「Ｆ（アジア）」が関連付けられている（図３）。そこで、優先順位が高いグループコード「Ａ」についてグループコード別優先言語テーブルを見ると、グループコード「Ａ」には、優先順位が高い順に、言語識別情報「ｅｎ−ＵＳ」「ｅｎ−ＧＢ」「ｅｎ−ＡＵ」、「ｅｎ−ＡＵ」が関連付けられている。優先順位が最も高いのは、「ｅｎ−ＵＳ」であるが、これはサポート言語の中にはない（図３）。次に優先順位が高いのは、「ｅｎ−ＧＢ」であり、これはサポート言語の中にある（図３）。この結果、この具体例では、「ｅｎ−ＧＢ」が提供言語として選択される。
【００６２】
要求言語の国コードにグループコードが関連付けられていない場合には（ステップＳ２１０：ＮＯ）、サーバプログラム１２２は、デバイス、本実施例では、プリンタ２００が有する国コードおよび言語コードと一致するサポート言語を提供言語として選択する（ステップＳ２１２）。プリンタ２００のＭＩＢ格納部２２４には、ＭＩＢデータとしてプリンタ２００の仕向地に応じた国コードと言語コードが格納されている。サーバプログラム１２２は、プリンタ２００と通信を行い、プリンタ２００のＭＩＢ格納部２２４に格納されている国コードおよび言語コードを取得する。そして、サーバプログラム１２２は、取得した言語コードと国コードの組み合わせと言語識別情報が一致するサポート言語を提供言語として選択する。
【００６３】
サーバプログラム１２２は、提供言語を選択すると、提供言語選択処理を終了する。
【００６４】
図４に戻って説明を続ける。サーバプログラム１２２は、提供言語選択処理を終了すると、選択された提供言語で記述された提供ファイルを生成する（ステップＳ１０８）。具体的には、サーバプログラム１２２は、ＨＴＴＰリクエストの１行目のリクエストラインにおいて指定されたＵＲＩに対応するｘｍｌファイル群（図２に示すように、各サポート言語に対応するファイルが用意されている。）の中から選択された提供言語で記述されたファイルを選択する。そして、サーバプログラム１２２は、選択されたｘｍｌファイルと、当該ｘｍｌファイルに対応するｘｓｌファイルとに基づいて、提供ファイルとしてのｈｔｍｌファイルを生成する。
【００６５】
提供ファイルを生成すると、サーバプログラム１２２は、ＨＴＴＰレスポンスとして、生成された提供ファイルを、クライアント３００に対して送信し（ステップＳ１１０）、情報提供処理を終了する。
【００６６】
以上、説明した本実施例におけるプリントサーバ装置１００によれば、クライアント３００からの要求言語が、サポート言語の中にない場合であっても、言語属性情報格納部１２６に格納された言語属性情報を用いてサポート言語の中から好ましい提供言語を選択することができる。この結果、プリントサーバ装置１００は、クライアント３００のユーザが理解できる可能性が高い言語で、クライアント３００に対して情報を提供することができる。
【００６７】
具体的には、要求言語と言語コードが一致するサポート言語が複数ある場合であっても、言語コード別優先国コードテーブルを用いて、より優先順位が高い国コードを有するサポート言語を選択するので、優先順位を、例えば、国コードが表す国における人口の多い順に定めておくことにより、よりクライアント３００のユーザが理解できる可能性が高い言語を選択することができる。
【００６８】
また、要求言語と国コードが一致するサポート言語が複数ある場合であっても、国コード別デフォルト言語テーブルにおいて、当該国コードに関連付けられているサポート言語を選択するので、例えば、当該国コードが表す国において使用人口の多い言語を当該国コードに関連付けておけば、よりクライアント３００のユーザが理解できる可能性が高い言語を選択することができる。
【００６９】
また、要求言語とサポート言語とで、国コードおよび言語コードのいずれも一致しない場合であっても、国コード別グループコードテーブルおよびグループコード別優先言語テーブルを用いて、要求言語と関連性の高い言語を選択するので、よりクライアント３００のユーザが理解できる可能性が高い言語を選択することができる。
【００７０】
Ｂ．変形例：
・第１変形例：
上記実施例における国コード別デフォルト言語テーブルには、各国コードごとに一つのデフォルト言語のみを関連付けているが、これは、どの仕向地用のプリントサーバ装置１００であっても、同一の国コードを持つ複数の言語をサポートする場合には、必ずデフォルト言語をサポートすることと定めているからである。もし、このような定めをしない場合には、他のテーブルのように、各国コードごとに、複数の言語を優先順位と共に関連付けても良い。
【００７１】
・第２変形例：
上記実施例における言語識別情報に関連付けられた属性情報（図３に示すテーブル群）および提供言語の選択アルゴリズム（図５〜図８）は、一例であり他のアルゴリズムを用いても良い。例えば、上記実施例では、要求言語と言語コードが一致するサポート言語が複数ある場合であっても、言語コード別優先国コードテーブルを用いて、より優先順位が高い国コードを有するサポート言語を選択するがこれに代えて、以下のようなアルゴリズムを用いても良い。
【００７２】
例えば、プリントサーバ装置１００が、言語コードｅｎ（英語）を含む言語として、「ｅｎ−ＵＳ（アメリカ）」「ｅｎ−ＪＰ（日本）」「ｅｎ−ＧＢ（イギリス）」「ｅｎ−ＳＡ（サウジアラビア）」の４つをサポートするとする。そして、言語属性情報において、グループコード「アメリカ」を「ＵＳ、ＣＡ（カナダ）、ＡＲ（アルゼンチン）、ＭＸ（メキシコ）…」など北中南米の国コードに関連付ける。同様に、グループコード「アジア」を「ＪＰ、ＣＮ（中国）、ＴＷ（台湾）、ＫＲ（韓国）…」などアジアの国コードに、グループコード「欧州」を「ＧＢ、ＥＳ（スペイン）、ＦＲ（フランス）、ＩＴ（イタリア）…」など欧州の国コードに、グループコード「中東」を「ＳＡ、ＹＥ（イエメン）、ＩＱ（イラク）、ＥＧ（エジプト）…」など中東の国コードに、それぞれ関連付ける。そして、プリントサーバ装置１００は、要求言語の言語コードがｅｎである場合には、要求言語の国コードと同じグループに属する国コードを有するサポート言語を提供言語として選択する。具体的には、要求言語が「ｅｎ−ＣＡ」である場合には、国コード「ＣＡ」と同じアメリカグループに属する国コード「ＵＳ」を有するサポート言語である「ｅｎ−ＵＳ」が提供言語として選択される。一方、要求言語が「ｅｎ−ＥＳ」である場合には、国コード「ＥＳ」と同じ欧州グループに属する国コード「ＧＢ」を有するサポート言語である「ｅｎ−ＧＢ」が提供言語として選択される。
【００７３】
・第３変形例：
上記実施例では、プリントサーバ装置１００は、ＨＴＴＰプロトコルを用いて、クライアント３００にサービスを提供しているが、これに限られない。例えば、プリントサーバ装置１００は、プリンタメーカ独自のプロトコルを用いて、クライアント３００に同様のサービスを提供しても良い。かかる場合には、クライアント３００には、ＷＥＢブラウザに代えて、独自のクライアントプログラム（例えば、ネットワークプリンタ管理プログラムなど）がインストールされ、かかるプログラムを用いてプリントサーバ装置１００に対してアクセスする。このような場合には、独自のクライアントプログラムは、ＨＴＴＰリクエストにおけるAccept-Languageフィールドのように、要求言語を特定する要求言語特定情報をプリントサーバ装置１００に対するリクエストに記述する仕組みを備えることが好ましい。
【００７４】
・第４変形例：
上記実施例では、プリントサーバ装置１００を例に説明したが、本発明は、プリントサーバ装置１００に限らず、複数の言語で情報を提供可能なあらゆるサーバ装置に適用可能である。具体的には、本発明は、一般的なＷＥＢサーバーや、ＦＴＰサーバなどに適用可能である。
【００７５】
・第５変形例：
上記実施例では、プリントサーバ装置１００は、提供ファイル格納部１２８に複数のサポート言語分のｘｍｌファイルを格納することにより複数のサポート言語で情報を提供しているが、複数のサポート言語で情報を提供する仕組みはこれに限られない。例えば、プリントサーバ装置１００は、一つのサポート言語分のｘｍｌファイルを提供ファイル格納部１２８に格納し、他のサポート言語分の翻訳プログラムを備えても良い。かかる場合には、プリントサーバ装置１００は、選択した提供言語に対応する翻訳プログラムを用いて、提供ファイル格納部１２８に格納されたｘｍｌデータの内容を翻訳することにより、提供言語で記述されたｘｍｌデータを生成する。
【００７６】
・第６変形例：
上記実施例では、プリンタ２００と接続されるプリントサーバ装置１００を例として用いているが、他の種類のデバイスと接続されるサーバ装置であっても良い。例えば、スキャナ、ファクシミリ、コピー機、プリンタ、スキャナなどの機能を複数備える複合機などに接続されるサーバ装置であっても良い。さらに一般的に言えば、サーバ装置に限らず、なんらかのデバイスと接続される装置であって、デバイスとの間の通信を所定数に制限する必要があれば、本発明を適用することができる。
【００７７】
・第７変形例：
上記実施例において、ハードウエアによって実現されていた構成の一部をソフトウエアに置き換えても良く、逆にソフトウエアによって実現されていた構成の一部をハードウエアに置き換えても良い。
【００７８】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【図面の簡単な説明】
【００７９】
【図１】ネットワークシステムの概略構成を示す説明図である。
【図２】提供ファイル格納部に格納されているファイル群を概念的に示す図である。
【図３】言語属性情報格納部に格納されている言語属性情報を概念的に示す図である。
【図４】情報提供処理の処理ルーチンを示すフローチャートである。
【図５】提供言語選択処理の処理ルーチンを示す第１のフローチャートである。
【図６】提供言語選択処理の処理ルーチンを示す第２のフローチャートである。
【図７】提供言語選択処理の処理ルーチンを示す第３のフローチャートである。
【図８】提供言語選択処理の処理ルーチンを示す第４のフローチャートである。
【符号の説明】
【００８０】
１００…プリントサーバ装置
１１０…ＣＰＵ
１２０…メモリ
１２２…制御プログラム
１２４…ネットワークプロトコル部
１２６…ＵＳＢ通信制御部
１３０…ＵＳＢホストＩＦ部
１４０…ネットワークＩＦ部
１５０…操作部
２００…プリンタ
２１０…ＣＰＵ
２２０…メモリ
２２２…制御プログラム
２２４…ＭＩＢ格納部
２３０…ＵＳＢデバイスＩＦ部
２４０…プリンタエンジン
３００ａ、３００ｂ…クライアント
ＣＶ…ＵＳＢケーブル
Ｍ１…終了制御部
Ｍ１…処理モジュール
Ｍ２…設定データ制御部
Ｍ３…ネットワーク制御部
ＮＷ…ネットワーク
【図１】
2008107964.tif 000003
【図２】
2008107964.tif 000004
【図３】
2008107964.tif 000005
【図４】
2008107964.tif 000006
【図５】
2008107964.tif 000007
【図６】
2008107964.tif 000008
【図７】
2008107964.tif 000009
【図８】
2008107964.tif 000010