(57)【要約】      （修正有）【課題】ブラウザを用いることなくＨＴＭＬ文書のテキストを表示する方法を提供する。【解決手段】この方法は、送信されたＨＴＭＬテキストを受信し、受信コンソールにおける現在のキャラクタ・マップの偽キャラクタ・マップ名を識別し、ＨＴＭＬテキストの送信側キャラクター・セットを識別し、受信コンソールで利用可能なキャラクタ・マップの真キャラクタ・マップ名を識別し、上記偽キャラクタ・マップ名を用いて上記真キャラクタ・マップ名に対する第１ファジー検索を行い、コンソール・キャラクタ・マップを識別し、上記送信側キャラクター・セットを用いて上記真キャラクタ・マップ名に対する第２ファジー検索を行い、上記送信側キャラクター・セットと関連付けられた送信側キャラクタ・マップを確認し、テキスト・メッセージを送信側キャラクタ・マップからコンソール・キャラクタ・マップにコード変換するステップとを有する。【選択図】図２
2007334875.tif 000002
【特許請求の範囲】
【請求項１】
ハイパーテキスト記述言語（ＨＴＭＬ）コード化メッセージを表示するためのソフトウェアを持たない受信コンソールにおいて、送信側キャラクター・セットを用いてコード化されたテキスト・メッセージを含むＨＴＭＬコード化メッセージを受信するステップと、
前記受信コンソールにおける現在のキャラクタ・マップの偽キャラクタ・マップ名を識別するステップと、
前記テキスト・メッセージのコード化に用いられた前記送信側キャラクター・セットを識別するステップと、
前記受信コンソールで利用可能なキャラクタ・マップの真キャラクタ・マップ名を識別するステップと、
前記偽キャラクタ・マップ名を用いて、前記受信コンソールで利用可能な前記キャラクタ・マップの前記真キャラクタ・マップ名に対する第１ファジー検索であって、前記偽キャラクタ・マップ名により特定されたコンソール・キャラクタ・マップを識別する第１ファジー検索、を行うステップと、
前記送信側キャラクター・セットを用いて、前記受信コンソールで利用可能な前記キャラクタ・マップの前記真キャラクタ・マップ名に対する第２ファジー検索であって、前記送信側キャラクター・セットと関連付けられた送信側キャラクタ・マップを識別する第２ファジー検索、を行うステップと、
前記送信側キャラクタ・マップと前記コンソール・キャラクタ・マップとが異なる場合に、前記テキスト・メッセージを前記送信側キャラクタ・マップから前記コンソール・キャラクタ・マップにコード変換するステップと、
を有するコンピュータ実装可能な方法。
【請求項２】
前記第１ファジー検索が、前記受信コンソールによってサポートされる類似だが非同一の真キャラクタ・マップ名を前記偽キャラクタ・マップ名と英数字のマッチングをとるステップをさらに含む、請求項１に記載のコンピュータ実装可能な方法。
【請求項３】
前記第２ファジー検索が、前記受信コンソールによってサポートされる類似だが非同一の真キャラクタ・マップ名を前記受信コンソールのロケールによって制約された送信側キャラクター・セットと英数字のマッチングをとるステップ
をさらに含む、請求項１に記載のコンピュータ実装可能な方法。
【請求項４】
前記テキスト・メッセージのコード変換後に前記ＨＴＭＬコード化メッセージのすべてのＨＴＭＬタグを除外するステップであって、該コード変換は、前記送信側キャラクタ・マップと前記コンソール・キャラクタ・マップとが異なる場合にのみ行われる、ステップ
をさらに有する、請求項１に記載のコンピュータ実装可能な方法。
【請求項５】
表示用に前記テキスト・メッセージの書式再設定をするステップ
をさらに有する、請求項１に記載のコンピュータ実装可能な方法。
【請求項６】
コンソール・ディスプレイを作成するステップと、
前記テキスト・メッセージを前記コンソール・ディスプレイに表示するステップと、
をさらに有する、請求項５に記載のコンピュータ実装可能な方法。
【請求項７】
プロセッサと、
前記プロセッサに結合されたデータ・バスと、
前記データ・バスに結合されたメモリと、
コンピュータ・プログラムを実装するコンピュータ使用可能媒体であって、
を有するシステムであって、該コンピュータ・プログラムは、前記プロセッサによって稼動可能な命令を含むとともに、
ハイパーテキスト記述言語（ＨＴＭＬ）コード化メッセージを表示するためのソフトウェアを持たない受信コンソールにおいて、送信側キャラクター・セットを用いてコード化されたテキスト・メッセージを含むＨＴＭＬコード化メッセージを受信し、
前記受信コンソールにおける現在のキャラクタ・マップの偽キャラクタ・マップ名を識別するステップと、
前記テキスト・メッセージのコード化に用いられた前記送信側キャラクター・セットを識別するステップと、
前記受信コンソールで利用可能なキャラクタ・マップの真キャラクタ・マップ名を識別するステップと、
前記偽キャラクタ・マップ名を用いて、前記受信コンソールで利用可能な前記キャラクタ・マップの前記真キャラクタ・マップ名に対する第１ファジー検索であって、前記偽キャラクタ・マップ名により特定されたコンソール・キャラクタ・マップを識別する第１ファジー検索、を実行し、
前記送信側キャラクター・セットを用いて、前記受信コンソールで利用可能な前記キャラクタ・マップの真キャラクタ・マップ名に対する第２ファジー検索を実行する構成であって、前記送信側キャラクター・セットと関連付けられた送信側キャラクタ・マップを識別する第２ファジー検索、を実行し、
前記送信側キャラクタ・マップと前記コンソール・キャラクタ・マップとが異なる場合に、前記テキスト・メッセージを前記送信側キャラクタ・マップから前記コンソール・キャラクタ・マップにコード変換する、
、コンピュータ使用可能媒体と、
を備えるシステム。
コード変換コード変換
【請求項８】
ハイパーテキスト記述言語（ＨＴＭＬ）コード化メッセージを表示するためのソフトウェアを持たない受信コンソールにおいて、送信側キャラクター・セットを用いてコード化されたテキスト・メッセージを含むＨＴＭＬコード化メッセージを受信するステップと、
前記受信コンソールにおける現在のキャラクタ・マップの偽キャラクタ・マップ名を識別するステップと、
前記テキスト・メッセージのコード化に用いられた前記送信側キャラクター・セットを識別するステップと、
前記受信コンソールで利用可能なキャラクタ・マップの真キャラクタ・マップ名を識別するステップと、
前記偽キャラクタ・マップ名を用いて、前記受信コンソールで利用可能な前記キャラクタ・マップの前記真キャラクタ・マップ名に対する第１ファジー検索であって、前記偽キャラクタ・マップ名により特定されたコンソール・キャラクタ・マップを識別する第１ファジー検索、を行うステップと、
前記送信側キャラクター・セットを用いて、前記受信コンソールで利用可能な前記キャラクタ・マップの前記真キャラクタ・マップ名に対する第２ファジー検索であって、前記送信側キャラクター・セットと関連付けられた送信側キャラクタ・マップを識別する第２ファジー検索、を行うステップと、
前記送信側キャラクタ・マップと前記コンソール・キャラクタ・マップとが異なる場合に、前記テキスト・メッセージを前記送信側キャラクタ・マップから前記コンソール・キャラクタ・マップにコード変換するステップと、
をコンピュータに実行させるための、稼動可能な命令を含みコンピュータ使用可能媒体に実装されたコンピュータ・プログラム。
【請求項９】
表示用に前記テキスト・メッセージの書式再設定をするステップを前記コンピュータにさらに実行させるための、請求項８に記載のコンピュータ・プログラム。
【請求項１０】
コンソール・ディスプレイ・ドライバを作成するステップと、
前記テキスト・メッセージをコンソール・ディスプレイに表示するステップと、
を前記コンピュータにさらに実行させるための、請求項９に記載のコンピュータ・プログラム。
【請求項１１】
前記稼動可能な命令は、遠隔地にあるサーバからクライアント・コンピュータに導入可能である、請求項８に記載のコンピュータ・プログラム。
【請求項１２】
前記稼動可能な命令が、サービス・プロバイダによってオンデマンドベースで顧客に提供される、請求項８に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはコンピュータおよび類似技術の分野に関し、特に、この分野で利用するソフトウェアに関する。より詳細には、ブラウザを持たないコンピュータでＨＴＭＬ文書のテキスト・コンテンツを表示する方法およびシステムを提示する。
【背景技術】
【０００２】
ソフトウェア製品は、オンライン・ドキュメントおよびオンライン・サポートをハイパーテキスト記述言語（ＨＴＭＬ）で顧客に提供することが多く、取扱説明書、インストール・ガイド、ヘルプ・ページ等の文書類は、任意の一般的なウェブ・ブラウザ（例えば、インターネット・エクスプローラ、ネットスケープ等）を用いて表示することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、セキュリティ上の問題から、大部分とは言わないまでも多くのネットワーク管理者は、企業サーバに敢えてブラウザをインストールしない。大部分のウィルス、ハッカー、およびその他のミスチフ・メーカは、ブラウザを介して攻撃を仕掛けてくるからである。このように、ブラウザをインストールしないことでシステムのセキュリティは向上するが、ユーザが必要なサポート文書を読む際の妨げとなってしまう。さらに、ソフトウェア製品のインストールの妨げとなるソフトウェアまたはハードウェア要件の欠落が存在する場合があり、その製品のＨＴＭＬテキストを表示する機能が同様に阻害されてしまう。
【０００４】
その上、テキスト・ファイルをユーザ表示可能なキャラクタ・マップにコード化するという問題もある。すなわち、大部分の「ｒｅａｄ  ｍｅ」ファイル（ソフトウェアのインストールおよび特定のソフトウェア機能の使用、もしくはソフトウェアのインストールまたは特定のソフトウェア機能の使用に際して基本的または高度な指示を与えるファイル）は、平易なテキスト形式であることが多い。そのため、「ｒｅａｄ  ｍｅ」ファイルのテキストは、受信したユーザ・コンソールの正しいキャラクタ・マップを用いてコード化されている場合にのみ正確に表示される。例えば、「ｒｅａｄ  ｍｅ」テキスト・ファイルがＢｉｇ５コードを用いて中国語で記述されている場合でも、受信したユーザは、ＵＴＦ−８コードでしか漢字表示を行うことができない場合がある。最新技術を利用すれば、コード変換ソフトウェアにより、この「ｒｅａｄ  ｍｅ」ファイルをＢｉｇ５からＵＴＦ−８にコード変換することができるが、送信側では、受信側がそれぞれどのキャラクタ・マップを有しているかを把握することができないため、このようなコード変換を送信側で実現することは不可能である。
【課題を解決するための手段】
【０００５】
そこで、本発明は、ブラウザ非対応のコンピュータによる受信ＨＴＭＬ文書の表示を可能にするコンピュータ実装可能な方法、システム、およびコンピュータ媒体を提示する。一実施形態において、コンピュータ実装可能な方法は、ハイパーテキスト記述言語（ＨＴＭＬ）コード化メッセージを表示するためのソフトウェアを持たない受信コンソールにおいて、送信側キャラクター・セットを用いてコード化されたテキスト・メッセージを含むＨＴＭＬコード化メッセージを受信するステップと、受信コンソールにおける現在のキャラクタ・マップの偽キャラクタ・マップ名を識別するステップと、テキスト・メッセージのコード化に用いられた上記送信側キャラクター・セットを識別するステップと、受信コンソールで利用可能なキャラクタ・マップの真キャラクタ・マップ名を識別するステップと、上記偽キャラクタ・マップ名を用いて受信コンソールで利用可能なキャラクタ・マップの上記真キャラクタ・マップ名に対する第１ファジー検索であって、上記偽キャラクタ・マップ名により特定されたコンソール・キャラクタ・マップを識別する第１ファジー検索を行うステップと、上記送信側キャラクター・セットを用いて、受信コンソールで利用可能なキャラクタ・マップの上記真キャラクタ・マップ名に対する第２ファジー検索であって、上記送信側キャラクター・セットと関連付けられた送信側キャラクタ・マップを識別する第２ファジー検索を行うステップと、送信側キャラクタ・マップとコンソール・キャラクタ・マップとが異なる場合に、テキスト・メッセージを送信側キャラクタ・マップからコンソール・キャラクタ・マップにコード変換するステップとを有する。
【０００６】
上記実施形態、ならびに本発明の他の目的、特徴、および利点については、以下の詳細な説明において明らかとなる。
【０００７】
本発明に特有と考えられる新規な特徴は、添付した請求の範囲に開示する。ただし、本発明自体、ならびに好ましい使用形態、さらには本発明のその他の目的および利点については、添付の図面と併せて以下の詳細な具体例の説明を参照することにより、最も良く理解される。
【発明を実施するための最良の形態】
【０００８】
本発明は、ＨＴＭＬ文書の読み込みが不可能な（すなわち、ブラウザがインストールされていない）システムによるＨＴＭＬ文書の読み込みを可能にする方法、システム、およびコンピュータ可読媒体を提供する。以下の疑似コードは、本発明の好ましい実施形態である。疑似コードの特定の領域および関数は、識別子「セクションＡ〜Ｈ」によって参照する。
【０００９】
[式１]
＃：セクション「Ａ」
＃：「セットアップ」コード
locale=`$installsourcepath/GetLocale.sh`
if [ -x "$BROWSER" ]; then
(set -x
$BROWSER $HTMLFILE)&& exit
fi
【００１０】
[式２]
＃：セクション「Ｂ」
＃：受信コンソールの現在のキャラクタ・マップに関して人間が読める形式を識別する。
＃：以下の評価により引用を外して実際のキャラクタ・マップを取得する。
eval toCharmap=`locale charmap`
＃：ファイル名の拡張子が付されている場合は、いかなるものであれ除外する。
toCharmap=`echo "$toCharmap" | sed "s:\..*::"`
if[ -z "$toCharmap" ]; then
toCharmap=$locale.iso88591
fi
【００１１】
[式３]
＃：セクション「Ｃ」
＃：テキスト・メッセージに使用した文字コード系を識別する。
＃：必要に応じてデフォルトの文字コード系を与える。
＃：ＨＴＭＬファイルを読み込んで文字コード系を探す。＝
fromCharset=`grep -i "content[  ]*=.*charset=[  ]*[a-zA-Z\-\_0-9]*[ ]*[\'\"]" $HTMLFILE |
sed"s:.*charset=[  ]*::; s:[  ]*[\'\"].*::"`
＃：見つからない場合は、デフォルトを与える。
if [ -z "$fromCharset" ]; then
fromCharset=iso88591
fi
【００１２】
[式４]
＃：セクション「Ｄ」
＃：受信コンソールで利用可能なキャラクタ・マップを検出する。
＃：このコンピュータが把握するすべてのキャラクタ・マップ名の一覧を取得する。
availableCharmaps=`locale -a | egrep"^${locale}([\-\_][A-Z]*)?\." | sed "s:^[^\.]*\.::;s:@.*::" | sort -u | xargs -l99 echo`
【００１３】
[式５]
＃：セクション「Ｅ」
＃：セクションＤで返された一覧からセクションＢおよびＣで識別されたマップに対するファジー検索を実行する。
＃：ｔｏＣｈａｒｍａｐおよびｆｒｏｍＣｈａｒｍａｐの実際のキャラクタ・マップ名を取得する。
＃：ｔｏＣｈａｒｍａｐの名称を標準化する。
toCharmapCompare=`echo $toCharmap | tr"[A-Z]" "[a-z]" | sed "s:[^0-9a-z]::"`
＃：ｆｒｏｍＣｈａｒｍａｐの名称を標準化する。
fromCharmapCompare=`echo $fromCharset | tr"[A-Z]" "[a-z]" | sed "s:[^0-9a-z]::"`
for charmap in $availableCharmaps;do
＃：キャラクタ・マップ名を標準化して比較する。
charmapCompare=`echo $charmap | tr"[A-Z]" "[a-z]" | sed "s:[^0-9a-z]::"`
if [ "$charmapCompare" = "$toCharmapCompare" ];then
＃：一致する場合は偽名を実名に置き換える。
toCharmap=$charmap
fi
if[ "$charmapCompare" = "$fromCharmapCompare" ]; then
＃：一致する場合は偽名を実名に置き換える。
fromCharmap=$charmap
fi
done
【００１４】
[式６]
＃：セクション「Ｆ」
＃：送信側のキャラクタ・マップ（ｆｒｏｍＣｈａｒｍａｐ）を受信側のキャラクタ・マップ（ｔｏＣｈａｒｍａｐ）に変換する必要があるか否かを確認する。
＃：変換が必要か否かを確認する。
if [ "$fromCharmap" ="$toCharmap" ]; then
＃：変換は不要。
PGM=cat
else
PGM="iconv-f $fromCharmap -t $toCharmap"
fi
cr=`echo"\r\c"`
【００１５】
[式７]
＃：セクション「Ｇ」
＃：必要に応じてキャラクタ・マップ変換を実施する。
＃：ファイル用にテキスト整形を行う。
＃：ＨＴＭＬタグを除外する。
＃：（必要に応じて）変換を実施し、見栄えを良くするために後処理を実行する。
OUTPUT_COMMAND="( ( set -x
$PGM$HTMLFILE 2>/dev/null
) ||
(
(set -x
cat$installsourcepath/en/noBrowser.html
)||
echo ERROR: No supported browser could be found!
)
) |
sed\"s:<[Bb][Rr]>: :g;s:<[^>]*>::g; s:\&nbsp\;: :g; s:\&lt\;:<:g;s:\&gt\;:>:g; s:^[  ][ ]*::\" | uniq |$PAGER"
【００１６】
[式８]
＃：セクション「Ｈ」
＃：コンソール・ディスプレイに更新（ｃｌｅａｎｅｄ−ｕｐ）ファイルを送信する。
if [ -z "$PAGER" ]; then
if[ -t 1 ]; then
pager="cat"
elif[ "$DISPLAY" ]; then
pager="cat &&read nothing"
else
pager="cat"
fi
PAGER=`( IFS=:
for path in $PATH;do
if [ -x "$path/more" ]; then
pager="$path/more"
break
elif [ -x "$path/less" ]; then
pager="$path/less"
break
elif [ -x "$path/pg" ]; then
pager="$path/pg"
break
fi
done
echo $pager )`
fi
if [ -t 1 ]; then
＃：標準出力がコンソールとなっている場合は、出力をコンソールに送信する。
eval"$OUTPUT_COMMAND"
elif [ "$DISPLAY" ]; then
＃：ｘｔｅｒｍでの表示を試行する。
PATH=$PATH:/usr/bin:/usr/X11R6/bin:/usr/bin/X11:/usr/lpp/X11/bin:/usr/openwin/bin
xterm -e /bin/sh -c "$OUTPUT_COMMAND" || eval"$OUTPUT_COMMAND"
else
＃：出力をいずれかへ送信して何が起きるかを確認する。
eval"$OUTPUT_COMMAND"
fi
【００１７】
ここで図面、特に図１を参照して、例示的なステップのフローチャートを提示する。このステップは、以下の説明および上記疑似コードを参照して、より詳細に論じるものとする。開始ブロック１０２の後、受信コンソールは、ブロック１０４に示すように、着信メッセージがハイパーテキスト記述言語（ＨＴＭＬ）にコード化されていることを識別する。なお、受信コンソールは、ＨＴＭＬ文書の解釈および表示を可能にするソフトウェア（例えば、ブラウザ等）を有していない。また、上記疑似コードのセクション「Ａ」に示すように、受信コンソールの「ロケール」（地理的地域）が特定されており、これは、受信コンソールのユーザが会話や記述に利用する可能性の高い方言を判定する際に有用である。
【００１８】
ブロック１０６（および上記疑似コードのセクション「Ｂ」）に記載の通り、受信コンソールの現在のキャラクタ・マップに関して、人間が読める形式の識別を行う。例えば、ラテン文字の標準的な文字コード系である「ｉｓｏ８８５９１」というテキスト文字列が返されたとしても、この文字列は、受信コンソールが把握するキャラクタ・マップの実名ではない。このように返される人間が読める形式のキャラクタ・マップは、受信コンソールに特有の人間語を用いたものに限定されてもよいし、限定されなくてもよい。
【００１９】
ブロック１０８（および上記疑似コードのセクション「Ｃ」に示すコードの一部）に記載の通り、ＨＴＭＬ文書に使用した送信側キャラクター・セットの識別を行う。この「Ｃｈａｒｓｅｔ」値は、ＨＴＭＬタグから得られるものであるか、さもなければ、デフォルトの文字コード系（例えば、８ビットのユニコード変換形式ＵＴＦ−８等）をＨＴＭＬ文書に使用した送信側キャラクター・セットとする。
【００２０】
ブロック１１０（および上記疑似コードのセクション「Ｄ」）に示すように、受信コンソールで利用可能なすべてのキャラクタ・マップ（「ｔｏＣｈａｒｍａｐ」の候補）の検出を行う。その後、ブロック１１２（および上記疑似コードのセクション「Ｅ」）に示すように、ブロック１０６および１１０で識別されたキャラクタ・マップに対する第１ファジー検索を行って、「ｔｏＣｈａｒｍａｐ」の「実際」の名称を識別する。この第１ファジー検索では、受信コンソールのキャラクタ・マップの人間が読める「偽」の名称を用いて、（受信コンソールのキャラクタ・マップの）「実際」の名称のうち、いずれが上記人間が読める「偽」の名称に最も適合するかを識別する。例えば、第１ファジー検索アルゴリズムにおいては、ローカル・コンソールのデフォルトのキャラクタ・マップ（例えば、「２３１２」等）およびロケール／言語（「ｚｈ＿ＴＷ」−繁体字中国語）を入力パラメータとして用い、「ｚｈ＿ＴＷ．ｇｂ２３１２」を「ｔｏＣｈａｒｍａｐ」の実際のキャラクタ・マップ名として返すものとする。
【００２１】
ブロック１１４（および上記疑似コードのセクション「Ｅ」）に示すように、ブロック１０８で識別された文字コード系を入力として、ブロック１１０で識別されたキャラクタ・マップに対する第２ファジー検索を行う。例えば、送信側では、受信コンソールの設定を調べることにより、受信コンソールがＢｉｇ５文字コード系を用いて繁体字中国語で記述された入力を受信するように設定されていると判定するものとする。したがって、第２ファジー論理アルゴリズムの入力は、「ｚｈ＿ＴＷ」（繁体字中国語に対して可変の言語環境）およびＵＴＦ−８（ＨＴＭＬ文書に使用したＨＴＭＬ文字コード系）となる。第２ファジー論理アルゴリズムは、受信コンソールのすべてのキャラクタ・マップを検索対象とし、「ｚｈ＿ＴＷ．ｕｔｆ８」という「実際」のキャラクタ・マップを返すが、これは、ＵＴＦ−８形式の繁体字（「ＴＷ」）中国語（「ｚｈ」）文字をサポートする。これにより、「ｆｒｏｍＣｈａｒｍａｐ」を規定する。
【００２２】
なお、上記説明において、キャラクタ・マップは、受信コンソールに入力可能なキーボード文字の指標として規定する。文字コード系は、ＨＴＭＬ文書のテキスト・メッセージに入力可能な表示可能文字の指標として規定する。また、文字コード系は複数の言語を網羅／包含するものであってもよいが、キャラクタ・マップは単一の言語／方言に対して規定される。
【００２３】
上掲の例において、ローカルの「ｔｏＣｈａｒｍａｐ」は、ローカル受信コンソール上でＧＢ２３１２文字のみを表示可能である。ＧＢ２３１２コード化で把握されない文字に関する問題を解決するため、必要に応じてコード変換処理（例えば、「ｉｃｏｎｖ」ユーティリティ等）を実行する。すなわち、「ｆｒｏｍＣｈａｒｍａｐ」と「ｔｏＣｈａｒｍａｐ」が同じキャラクタ・マップである場合（ブロック１１６および上記疑似コードのセクション「Ｆ」）、変換は不要である。しかし、「ｆｒｏｍＣｈａｒｍａｐ」と「ｔｏＣｈａｒｍａｐ」とが異なる場合（上掲の例に同じ）、ＨＴＭＬ文書のテキスト・メッセージに使用した「ｆｒｏｍＣｈａｒｍａｐ」は、受信コンソールの「ｔｏＣｈａｒｍａｐ」に変換しなければならない（ブロック１１８および上記疑似コードのセクション「Ｇ」に記載の通り）。このステップにより、テキスト・メッセージは、送信側のキャラクタ・マップからコンソール・キャラクタ・マップにコード変換される。すなわち、コード変換は、あるキャラクタ・マップの文字コードから別のキャラクタ・マップの対応する文字コードへの変換として規定される。したがって、「Ａ」という文字は、いずれのキャラクタ・マップにおいても「Ａ」であるが、各キャラクタ・マップはそれぞれ異なるコード化配列指標を使用する。
【００２４】
ブロック１２０および上記疑似コードのセクション「Ｇ」に記載の通り、着信ＨＴＭＬ文書からすべてのＨＴＭＬタグを除外する。ＨＴＭＬに精通した人であれば理解できるように、ＨＴＭＬ文書は通常、先頭のＨＴＭＬ開始タグおよび最後尾のＨＴＭＬ終了タグに挟まれたコンテンツ（例えば、テキスト・メッセージ等）を含む（さらには、コンテンツに組み込まれた付加的なタグを含む）。なお、本発明の一実施形態において、ＨＴＭＬ文書に使用した文字コード系に関するＨＴＭＬタグからの情報は、後で参照できるように別のファイルに保存しておくようにしてもよい。その後、ブロック１２２および上記疑似コードのセクション「Ｇ」に記載の通り、テキスト・コンテンツの「整形」（フォント、改行、余白等の書式の再設定）を行い、テキスト・コンテンツをローカル・コンソール上に表示する（ブロック１２４および上記疑似コードのセクション「Ｈ」）。また、テキスト・コンテンツを表示するためのコンソール・ディスプレイ（およびドライバ）がない場合は、必要に応じてディスプレイ（およびドライバ）を作成／提供することもできる。そして、フローチャートの終了ブロック１２６で処理が終了する。
【００２５】
ここで図２を参照して、本発明を適用できる例示的なクライアント・コンピュータ２０２のブロック図を示す。クライアント・コンピュータ２０２は、システム・バス２０６に結合されたプロセッサ２０４を有する。また、ディスプレイ２１０をドライブ／サポートするビデオ・アダプタ２０８もシステム・バス２０６に結合されている。システム・バス２０６は、バス・ブリッジ２１２を介して入出力（Ｉ／Ｏ）バス２１４に結合されている。Ｉ／Ｏインターフェース２１６はＩ／Ｏバス２１４に結合されている。Ｉ／Ｏインターフェース２１６は、キーボード２１８、マウス２２０、コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）ドライブ２２２、フロッピ・ディスク・ドライブ２２４、およびフラッシュ・ドライブ・メモリ２２６を含むさまざまなＩ／Ｏ機器との通信を提供する。Ｉ／Ｏインターフェース２１６に接続されたポートのフォーマットは、ユニバーサル・シリアル・バス（ＵＳＢ）ポート等のコンピュータ・アーキテクチャ技術に精通した人であれば分かる任意のフォーマットであってもよいが、これには限定されない。
【００２６】
クライアント・コンピュータ２０２は、システム・バス２０６に結合されたネットワーク・インターフェース２３０を用いることにより、ネットワーク２２８を介してサービス・プロバイダ・サーバ３０２と通信することができる。ネットワーク２２８は、インターネット等の外部ネットワークであっても、あるいは、イーサネットまたは仮想プライベート・ネットワーク（ＶＰＮ）等の内部ネットワークであってもよい。ネットワーク２２８を利用することにより、クライアント・コンピュータ２０２は、サービス・プロバイダ・サーバ３０２へのアクセスに本発明を用いることができる。
【００２７】
また、ハード・ドライブ・インターフェース２３２もシステム・バス２０６に結合されている。ハード・ドライブ・インターフェース２３２は、ハード・ドライブ２３４と連動する。好ましい実施形態において、ハード・ドライブ２３４は、システム・バス２０６に結合されたシステム・メモリ２３６を構成する。システム・メモリ２３６中のデータには、クライアント・コンピュータ２０２のオペレーティング・システム（ＯＳ）２３８およびアプリケーション・プログラム２４４が含まれる。
【００２８】
ＯＳ２３８は、シェル２４０を有しており、アプリケーション・プログラム２４４等のリソースに対する透過的なユーザ・アクセスを提供する。一般的に、シェル２４０は、ユーザとオペレーティング・システムとの間にインタープリタとインターフェースを提供するプログラムである。さらに具体的に言えば、シェル２４０は、コマンド・ライン・ユーザ・インターフェースに入力されたコマンドまたはファイルから入力されたコマンドを実行する。したがって、シェル２４０は、（ＵＮＩＸ（Ｒ）と同様に）Ｗｉｎｄｏｗｓ（Ｒ）においてもコマンド・プロセッサと呼ばれており、一般的には、オペレーティング・システム・ソフトウェアの最上位の階層であって、コマンド・インタープリタとしての役割を果たす。シェルは、システム・プロンプトを提供し、キーボード、マウス、またはその他のユーザ入力媒体により入力されたコマンドを解釈し、解釈したコマンドをオペレーティング・システムの適当な下位層（例えば、カーネル２４２等）に送出して処理を行う。なお、シェル２４０は、テキストベースのライン指向型ユーザ・インターフェースであるが、本発明は、図形モード、音声モード、動作的モード等のその他のユーザ・インターフェース・モードも同様にサポートする。
【００２９】
上述の通り、ＯＳ２３８は、ＯＳ２３８の機能性の下位層を含むカーネル２４２を有しており、ＯＳ２３８およびアプリケーション・プログラム２４４の他の部分から要求されたメモリ管理、プロセス・タスク管理、ディスク管理、およびマウス・キーボード管理等の必要不可欠なサービスを提供する。
【００３０】
アプリケーション・プログラム２４４は、ブラウザ２４６を含む。ブラウザ２４６は、ワールド・ワイド・ウェブ（ＷＷＷ）クライアント（すなわち、クライアント・コンピュータ２０２）がハイパーテキスト転送プロトコル（ＨＴＴＰ）メッセージングを用いることにより、インターネットに対してネットワーク・メッセージの送信および受信を行って、サービス・プロバイダ・サーバ３０２との通信を行うことができるようにするプログラム・モジュールおよび命令を有する。
【００３１】
クライアント・コンピュータ２０２のシステム・メモリ中のアプリケーション・プログラム２４４は、図１に記載した処理を実行するためのコードを含む非ブラウザ・プログラム（ＮＢＰ）２４８を含んでおり、これは、上記疑似コードに記載されたコンピュータ命令を含むが、これには限定されない。一実施形態において、クライアント・コンピュータ２０２は、サービス・プロバイダ・サーバ３０２からＮＢＰ２４８をダウンロードすることができる。
【００３２】
クライアント・コンピュータ２０２のハードウェア要素は、網羅的に示すことを意図したものではなく、むしろ本発明が求める必要不可欠な構成要素を明らかにするために代表として示したものである。例えば、クライアント・コンピュータ２０２は、磁気カセット、デジタル多用途ディスク（ＤＶＤ）、ベルヌーイ・カートリッジ、およびその種の他のものを含む代替的な記憶デバイスを含む構成であってもよい。これらおよびその他の変形は、本発明の精神と範囲に含まれるものである。
【００３３】
上述したように、ＮＢＰ２４８は、図３の形態例に示すサービス・プロバイダ・サーバ３０２からクライアント・コンピュータ２０２にダウンロードすることができる。サービス・プロバイダ・サーバ３０２は、システム・バス３０６に結合されたプロセッサ３０４を有する。また、ビデオ・アダプタ３０８もシステム・バス３０６に結合されている。ビデオ・アダプタ３０８はディスプレイ３１０をドライブ／サポートする。システム・バス３０６は、バス・ブリッジ３１２を介して入出力（Ｉ／Ｏ）バス３１４に結合されている。また、Ｉ／Ｏインターフェース３１６はＩ／Ｏバス３１４に結合されている。Ｉ／Ｏインターフェース３１６は、キーボード３１８、マウス３２０、コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）ドライブ３２２、フロッピ・ディスク・ドライブ３２４、およびフラッシュ・ドライブ・メモリ３２６を含むさまざまなＩ／Ｏ機器との通信を提供する。Ｉ／Ｏインターフェース３１６に接続されたポートのフォーマットは、ユニバーサル・シリアル・バス（ＵＳＢ）ポート等のコンピュータ・アーキテクチャ技術に精通した人であれば分かる任意のフォーマットであってもよいが、これには限定されない。
【００３４】
サービス・プロバイダ・サーバ３０２は、システム・バス３０６に結合されたネットワーク・インターフェース３３０を用いることにより、ネットワーク２２８を介してクライアント・コンピュータ２０２と通信することができる。ネットワーク２２８にアクセスすることにより、サービス・プロバイダ・サーバ３０２は、クライアント・コンピュータ２０２に対してＮＢＰ２４８の実行およびダウンロード、もしくは実行またはダウンロードを行うことができる。
【００３５】
また、システム・バス３０６は、ハード・ドライブ３３４と連動するハード・ドライブ・インターフェース３３２にも結合されている。好ましい実施形態において、ハード・ドライブ３３４は、システム・バス３０６に結合されたシステム・メモリ３３６を構成する。システム・メモリ３３６中のデータには、シェル３４０およびカーネル３４２を有するサービス・プロバイダ・サーバ３０２のオペレーティング・システム３３８が含まれる。シェル３４０は、オペレーティング・システムの上位層に組み込まれており、クライアント・コンピュータ２０２に導入可能な上述のブラウザ３４６およびＮＢＰのコピー３４８を含むアプリケーション・プログラム３４４等のリソースに対する透過的なユーザ・アクセスを提供するのに用いられる。
【００３６】
サービス・プロバイダ・サーバ３０２のハードウェア要素は、網羅的に示すことを意図したものではなく、むしろ本発明が求める必要不可欠な構成要素を明らかにするために代表として示したものである。例えば、サービス・プロバイダ・サーバ３０２は、フラッシュ・ドライブ、磁気カセット、デジタル多用途ディスク（ＤＶＤ）、ベルヌーイ・カートリッジ、およびその種の他のものを含む代替的な記憶デバイスを含む構成であってもよい。これらおよびその他の変形は、本発明の精神と範囲に含まれるものである。
【００３７】
さらに、本発明の好ましい実施形態において、サービス・プロバイダ・サーバ３０２は、本発明に関係する機能すべてを（ＮＢＰ２４８の実行を含む）実行するため、クライアント・コンピュータ２０２はそのリソースの使用を免れる。
【００３８】
なお、当然のことながら、本発明の少なくとも一部の態様は、プログラム製品を含むコンピュータで使用可能な媒体にて代替的に実施してもよい。本発明の機能を規定するプログラムをデータ記憶システムまたはコンピュータ・システムに供給する場合、書き込み不可能な記憶媒体（例えば、ＣＤ−ＲＯＭ等）、書き込み可能な記憶媒体（例えば、ハード・ディスク・ドライブ、読み込み／書き込みＣＤ−ＲＯＭ、光媒体等）、ならびに、イーサネット、インターネット、無線ネットワーク、および同種のネットワーク・システムを含むコンピュータ・ネットワークおよび電話網等の通信媒体といったさまざまな信号支持媒体を介することができるが、これには限定されない。したがって、当然のことながら、本発明においてメソッド機能を指示するコンピュータ可読命令を搬送またはコード化する際の上記のような信号支持媒体は、本発明の別の実施形態を表す。さらに、当然のことながら、本発明は、本明細書に記載するようなハードウェア構成、ソフトウェア構成、またはソフトウェアとハードウェアを組み合わせた構成、もしくは、それらと同等な構成の手段を有するシステムによって実施してもよい。
【００３９】
ソフトウェアの導入：上述したように、一実施形態において、ＮＢＰ２４８の機能を含む本発明に記載の処理は、サービス・プロバイダ・サーバ３０２によって行われる。あるいは、ＮＢＰ２４８および本明細書、特に図１に示す方法を処理ソフトウェアとして、サービス・プロバイダ・サーバ３０２からクライアント・コンピュータ２０２に導入することができる。より詳細には、このような方法に対応する処理ソフトウェアを別のサービス・プロバイダ・サーバ（図示せず）からサービス・プロバイダ・サーバ３０２に導入してもよい。
【００４０】
次に図４、図５を参照すると、ステップ４００にて処理ソフトウェアの導入が開始される。最初に、処理ソフトウェアの実行に際してひとつまたは複数のサーバ上に常駐するプログラムが存在するか否かを判定する（クエリ・ブロック４０２）。存在する場合は、実行可能プログラムを送るサーバを識別する（ブロック４０４）。サーバ用の上記処理ソフトウェアは、ファイル転送プロトコル（ＦＴＰ）またはその他のプロトコルによりサーバの記憶装置に直接転送するか、もしくは、共有ファイル・システムを用いてコピーすることにより転送する（ブロック４０６）。そして、処理ソフトウェアをサーバにインストールする（ブロック４０８）。
【００４１】
次に、処理ソフトウェアの導入を、ユーザがサーバ上の処理ソフトウェアにアクセスすることによって行うか否かを判定する（クエリ・ブロック４１０）。ユーザがサーバ上の処理ソフトウェアにアクセスする場合は、処理ソフトウェアを格納するサーバのアドレスを識別する（ブロック４１２）。
【００４２】
処理ソフトウェアを格納するためにプロキシ・サーバを構築すべきか否かを判定する（クエリ・ブロック４１４）。プロキシ・サーバは、ウェブ・ブラウザ等のクライアント・アプリケーションと実サーバとの間に置かれるサーバであり、実サーバに対するすべての要求をインターセプトすることによって、要求そのものの履行が可能であるか否かを識別するものである。履行不可の場合は、当該要求を実サーバに転送する。プロキシ・サーバは、性能の向上および要求のフィルタリングという２つの大きな利点を有する。プロキシ・サーバが必要な場合は、インストールする（ブロック４１６）。処理ソフトウェアは、ＦＴＰ等のプロトコルによってサーバに送信するか、もしくは、ファイル共有によってソース・ファイルからサーバ・ファイルへ直接コピーする（ブロック４１８）。別の実施形態としては、処理ソフトウェアを有するサーバにトランザクションを送信し、サーバにおけるトランザクション処理によって、処理ソフトウェアをサーバのファイル・システムに受信およびコピーする方法が挙げられる。処理ソフトウェアがいったんサーバに格納されると、ユーザは、それぞれのクライアント・コンピュータを介してサーバ上の処理ソフトウェアにアクセスし、クライアント・コンピュータのファイル・システムに処理ソフトウェアをコピーする（ブロック４２０）。別の実施形態では、サーバが自動的に処理ソフトウェアを各クライアントにコピーした後、各クライアント・コンピュータにおいて、処理ソフトウェア用のインストール・プログラムを実行する。ユーザは、処理ソフトウェアをクライアント・コンピュータにインストールするプログラムを実行（ブロック４２２）した後、この処理を抜ける（終了ブロック４２４）。
【００４３】
クエリ・ステップ４２６において、処理ソフトウェアの導入を、電子メールにより当該処理ソフトウェアをユーザに送信することによって行うか否かを判定する。そして、処理ソフトウェアを導入する一組のユーザを、ユーザのクライアント・コンピュータのアドレスとともに識別する（ブロック４２８）。処理ソフトウェアは、電子メールにより各ユーザのクライアント・コンピュータに送信する（ブロック４３０）。ユーザは、電子メールを受信し（ブロック４３２）、処理ソフトウェアを電子メールからクライアント・コンピュータ上のディレクトリに保存する（ブロック４３４）。ユーザは、処理ソフトウェアをクライアント・コンピュータにインストールするプログラムを実行（ブロック４２２）した後、この処理を抜ける（終了ブロック４２４）。
【００４４】
最後に、処理ソフトウェアをクライアント・コンピュータ上のユーザ・ディレクトリに直接送信するか否かを判定する（クエリ・ブロック４３６）。直接送信の場合は、ユーザ・ディレクトリを識別する（ブロック４３８）。そして、処理ソフトウェアをクライアント・コンピュータ上のユーザ・ディレクトリに直接転送する（ブロック４４０）。この処理は複数の方法で行うことができ、例えば、ファイル・システムのディレクトリを共有した後、送信側のファイル・システムから受信ユーザ側のファイル・システムにコピーする方法、あるいは、ファイル転送プロトコル（ＦＴＰ）等の転送プロトコルを使用する方法が挙げられるが、これには限定されない。ユーザは、それぞれのクライアント・ファイル・システム上のディレクトリにアクセスして、処理ソフトウェアのインストールの準備を行う（ブロック４４２）。ユーザは、処理ソフトウェアをクライアント・コンピュータにインストールするプログラムを実行（ブロック４２２）した後、この処理を抜ける（終了ブロック４２４）。
【００４５】
ＶＰＮの導入：本ソフトウェアは、サードパーティＶＰＮサービスが安全な導入媒体として提供されているサービス、あるいは、個別の導入要求に応じてＶＰＮがオンデマンドに構築されているサービスの一部として、サードパーティに導入することができる。
【００４６】
仮想プライベート・ネットワーク（ＶＰＮ）は、これがなければ安全性と信頼性を確保できないネットワークを介した接続の保護に利用可能な技術の任意の組み合わせである。ＶＰＮにより、安全性が向上するとともに、運用コストが削減される。ＶＰＮは、公衆網（通常はインターネット）を利用して、リモート・サイトまたはリモート・ユーザを接続する。ＶＰＮは、専用線等の現実の専用接続を用いる代わりに、インターネットを介して企業のプライベート・ネットワークからリモート・サイトまたは従業員にルーティングされた「仮想的」な接続を利用する。ＶＰＮを介したソフトウェアへのアクセスは、処理ソフトウェアの供給または実行を目的として（すなわち、ソフトウェアは他の場所にある）ＶＰＮを具体的に構築することにより、サービスとして提供することができる。この場合、ＶＰＮのライフタイムは、支払額に基づいて、一定の時間または一定の導入数に制限される。
【００４７】
処理ソフトウェアの導入、アクセス、および実行は、リモート・アクセスＶＰＮまたはサイト・ツー・サイトＶＰＮのいずれかにより行うことができる。リモート・アクセスＶＰＮを用いる場合、処理ソフトウェアの導入、アクセス、および実行は、サードパーティ・サービス・プロバイダを通じた企業のプライベート・ネットワークとリモート・ユーザ間の安全な暗号化接続を介して行われる。企業システム・サービス事業者（ＥＳＰ）は、ネットワーク・アクセス・サーバ（ＮＡＳ）を設定するとともに、リモート・ユーザに対してコンピュータ用デスクトップ・クライアント・ソフトウェアを提供する。そして、在宅勤務者は、フリーダイヤル番号をダイヤルするか、もしくは、ケーブルまたはＤＳＬモデムを介して直接ＮＡＳに接続して、ＶＰＮクライアント・ソフトウェアを用いることにより企業ネットワークにアクセスするとともに、処理ソフトウェアにアクセスしてダウンロードおよび実行することができる。
【００４８】
サイト・ツー・サイトＶＰＮを用いる場合、処理ソフトウェアの導入、アクセス、および実行は、企業の複数の固定サイトをインターネット等の公衆網上で接続するための専用機器および大規模暗号化を用いることにより行われる。
【００４９】
処理ソフトウェアは、パケット全体を別のパケットに埋め込んでネットワーク上に送信する処理であるトンネリングにより、ＶＰＮ上で移送される。外部パケットのプロトコルは、ネットワークと、パケットがネットワークに出入りするトンネル・インターフェースと呼ばれる両ポイントとにより把握される。
【００５０】
ソフトウェアの統合：本明細書に記載の処理を実施するコードからなる処理ソフトウェアは、アプリケーション、オペレーティング・システム、およびネットワーク・オペレーティング・システム・ソフトウェアと共存させ、処理ソフトウェアが機能する環境でクライアントおよびサーバにインストールすることによって、クライアント、サーバ、およびネットワーク環境に統合させることができる。
【００５１】
最初のステップは、処理ソフトウェアを導入するクライアントおよびサーバにおいて、ネットワーク・オペレーティング・システムを含むソフトウェアをすべて識別することであり、これは、処理ソフトウェアまたは処理ソフトウェアと関連する作業の要求として行われるものである。これには、ネットワーク機能を付加することによって基本的なオペレーティング・システムを増強させたソフトウェアであるネットワーク・オペレーティング・システムも含まれる。
【００５２】
次に、ソフトウェア・アプリケーションおよびバージョン番号を識別し、これを、処理ソフトウェアとともに動作することをテスト済みのソフトウェア・アプリケーションおよびバージョン番号の一覧と比較する。正しいバージョンが欠落または整合しないソフトウェア・アプリケーションについては、正しいバージョン番号で更新する。また、処理ソフトウェアからソフトウェア・アプリケーションにパラメータを受け渡すプログラム命令については、パラメータ一覧が処理ソフトウェアの要求するパラメータ一覧と整合することを確認する。逆に、ソフトウェア・アプリケーションによって処理ソフトウェアに受け渡されるパラメータについては、それらパラメータが処理ソフトウェアの要求するパラメータと整合することを確認する。そして、ネットワーク・オペレーティング・システムを含むクライアントおよびサーバのオペレーティング・システムを識別し、これを、処理ソフトウェアとともに動作することをテスト済みのオペレーティング・システム、バージョン番号、およびネットワーク・ソフトウェアの一覧と比較する。テスト済みのオペレーティング・システムおよびバージョン番号の一覧と整合しないオペレーティング・システム、バージョン番号、およびネットワーク・ソフトウェアについては、クライアントおよびサーバにて所要のレベルに更新する。
【００５３】
処理ソフトウェアを導入するソフトウェアが、処理ソフトウェアとともに動作することをテスト済みの正しいバージョン・レベルにあることを確認した後、処理ソフトウェアをクライアントおよびサーバにインストールすることによって統合を完了する。
【００５４】
オンデマンド：処理ソフトウェアは、共有により複数のユーザが同時に柔軟かつ自動的に利用できる。また、標準化によりカスタマイズがほとんど必要なく、拡張可能であることから、従量制（ｐａｙ−ａｓ−ｙｏｕ−ｇｏ）モデルで要求に応じた容量提供を行う。
【００５５】
処理ソフトウェアは、ひとつまたは複数のサーバからアクセス可能な共有ファイル・システム上に格納することができる。また、処理ソフトウェアは、アクセスのあったサーバのＣＰＵ単位を使用するデータおよびサーバ処理要求を含むトランザクションにより実行される。ＣＰＵ単位は、サーバの中央プロセッサ上における分、秒、時間等の単位時間である。さらに、アクセスのあったサーバは、ＣＰＵ単位を必要とする他のサーバの要求を作成することができる。ＣＰＵ単位は、使用量単位を表す一例であって、他の使用量単位としては、ネットワーク帯域、メモリの使用量、記憶装置の使用量、パケット転送量、完了トランザクション等が挙げられるが、これには限定されない。
【００５６】
複数の顧客が同じ処理ソフトウェア・アプリケーションを使う場合、それらのトランザクションは、一意の顧客およびその顧客に対するサービスの種類を識別するパラメータによって識別される。そして、各顧客に対するサービスに使用するＣＰＵ単位およびその他の使用量単位は、すべて記録される。いずれか１つのサーバに対するトランザクション数がそのサーバの性能に影響を及ぼし始める数に達した場合は、他のサーバにアクセスさせることによって、容量を増加させるとともに作業付加を分担する。同様に、ネットワーク帯域、メモリの使用量、記憶装置の使用量等の他の使用量単位が性能に影響を及ぼす容量に近づいた場合は、付加的なネットワーク帯域、メモリ、記憶装置等を追加することにより作業付加を分担する。
【００５７】
各サービスおよび顧客に対して用いた使用量は収集サーバに送信され、処理ソフトウェアの分担実行を担ったサーバのネットワークにおける任意の場所で処理された各サービスに対して各顧客の使用量が合計される。合計の使用量は、一定期間ごとに単位コストを乗算し、その結果得られる処理ソフトウェア・アプリケーションのサービス総費用を顧客に送信するか、もしくは、顧客がアクセスするウェブ・サイト上に表示する。そして、顧客は、サービス・プロバイダへの支払いを行う。
【００５８】
別の実施形態において、サービス・プロバイダは、銀行または金融機関にある顧客の口座から直接支払うことを要求する。
【００５９】
さらに別の実施形態において、サービス・プロバイダが処理ソフトウェア・アプリケーションを利用する顧客の顧客である場合は、サービス・プロバイダへの支払いがサービス・プロバイダからの支払いと相殺されて、支払金の移動が最小限に抑えられる。
【００６０】
ここで図６、図７を参照すると、開始ブロック５０２にてオンデマンド処理が開始される。次に、一意の顧客ＩＤ、要求されたサービスの種類、およびサービスの種類を特定するサービス・パラメータを含むトランザクションを作成する（ブロック５０４）。そして、トランザクションをメイン・サーバに送信する（ブロック５０６）。オンデマンド環境において、当初はメイン・サーバのみが唯一のサーバであるが、容量の使用増加に合わせて、他のサーバをオンデマンド環境に追加する。
【００６１】
オンデマンド環境におけるサーバの中央プロセッサ（ＣＰＵ）の容量を問い合わせる（ブロック５０８）。そして、トランザクションのＣＰＵ要件を推定した後、オンデマンド環境におけるサーバの利用可能なＣＰＵ容量をトランザクションのＣＰＵ要件と比較することにより、トランザクション処理のために利用可能なＣＰＵ容量が任意のサーバに十分あることを確認する（クエリ・ブロック５１０）。サーバの利用可能なＣＰＵ容量が十分でない場合は、サーバのＣＰＵ容量を追加で割り当てて、トランザクション処理を行う（ブロック５１２）。利用可能なＣＰＵ容量が既に十分ある場合は、選択したサーバにトランザクションを送信する（ブロック５１４）。
【００６２】
トランザクションの実行前に、残りのオンデマンド環境に関して、トランザクション処理に利用可能な容量が十分にあるか否かを確認する。この環境容量は、ネットワーク帯域、プロセッサのメモリ、記憶装置等からなるが、これには限定されない（ブロック５１６）。利用可能な容量が十分でない場合は、オンデマンド環境に容量を追加する（ブロック５１８）。次に、トランザクション処理に必要なソフトウェアにアクセスし、メモリにロードして、トランザクションを実行する（ブロック５２０）。
【００６３】
そして、使用量を記録する（ブロック５２２）。使用量は、トランザクション処理に使用したオンデマンド環境の機能部分からなる。記録対象は、ネットワーク帯域、プロセッサのメモリ、記憶装置、およびＣＰＵサイクル等の機能の使用量であるが、これには限定されない。使用量を合計し、単位コストを乗算して、要求顧客の使用料として記録する（ブロック５２４）。
【００６４】
顧客がオンデマンド費用のウェブ・サイトへの掲載を求める場合は（クエリ・ブロック５２６）、ウェブ・サイトに掲載する（ブロック５２８）。顧客がオンデマンド費用を電子メールにより顧客・アドレスへ送信することを求める場合は（クエリ・ブロック５３０）、これら費用を顧客へ送信する（ブロック５３２）。また、顧客がオンデマンド費用を顧客の口座から直接支払うことを求める場合は（クエリ・ブロック５３４）、顧客の口座から直接支払いを受ける（ブロック５３６）。そして、終了ブロック５３８にてオンデマンド処理を抜ける。
【００６５】
このように、本発明は、ブラウザ非対応のコンピュータによる受信ＨＴＭＬ文書の表示を可能にするコンピュータ実装可能な方法、システム、およびコンピュータ媒体を提示する。一実施形態において、コンピュータ実装可能な方法は、ハイパーテキスト記述言語（ＨＴＭＬ）コード化メッセージを表示するためのソフトウェアを持たない受信コンソールにおいて、送信側キャラクター・セットを用いてコード化されたテキスト・メッセージを含むＨＴＭＬコード化メッセージを受信するステップと、受信コンソールにおける現在のキャラクタ・マップの偽キャラクタ・マップ名を識別するステップと、テキスト・メッセージのコード化に用いられた上記送信側キャラクター・セットを識別するステップと、受信コンソールで利用可能なキャラクタ・マップの真キャラクタ・マップ名を識別するステップと、上記偽キャラクタ・マップ名を用いて、受信コンソールで利用可能なキャラクタ・マップの上記真キャラクタ・マップ名に対する第１ファジー検索であって、上記偽キャラクタ・マップ名により特定されたコンソール・キャラクタ・マップを識別する第１ファジー検索を行うステップと、上記送信側キャラクター・セットを用いて、受信コンソールで利用可能なキャラクタ・マップの上記真キャラクタ・マップ名に対する第２ファジー検索であって、上記送信側キャラクター・セットと関連付けられた送信側キャラクタ・マップを識別する第２ファジー検索を行うステップと、送信側キャラクタ・マップとコンソール・キャラクタ・マップとが異なる場合に、テキスト・メッセージを送信側キャラクタ・マップからコンソール・キャラクタ・マップにコード変換するステップとを有する。当然のことながら、一実施形態において、「ファジー検索」という用語は、別のキャラクタ・マップのすべてとは言わないまでもいくつかの属性を共有するキャラクタ・マップを検索する処理を指すものである。これらの属性としては、キャラクタ・マップの名称の特徴が含まれるが、これには限定されない。第１ファジー検索は、受信コンソールによってサポートされる類似だが非同一の真キャラクタ・マップ名を上記偽キャラクタ・マップ名と英数字をマッチングをとるステップをさらに含んでもよい。第２ファジー検索は、受信コンソールによってサポートされる類似だが非同一の真キャラクタ・マップ名を受信コンソールのロケールによって制約された送信側キャラクター・セットと英数字のマッチングをとるステップをさらに含んでもよい。一実施形態において、上記方法は、テキスト・メッセージのコード変換後にＨＴＭＬコード化メッセージのすべてのＨＴＭＬタグを除外するステップをさらに含んでもよく、この場合のコード変換は、送信側キャラクタ・マップとコンソール・キャラクタ・マップとが異なる場合にのみ行われる。また、テキスト・メッセージは、コンソール・ディスプレイに表示するため、最終的に書式の再設定を行ってもよい。コンソール・ディスプレイがない場合は、操作のためのディスプレイ・ドライバとともに作成してもよい。さらに、上述の通り、コンピュータで使用可能な媒体の各実施形態で用いられる命令は、サービス・プロバイダからユーザに導入される構成であってもよい。また、上述の「真キャラクタ・マップ名」は、実マップ名を直接割り当て（および指定）もしくは割り当て（または指定）可能なキャラクタ・マップの実マップ名である。キャラクタ・マップを「識別する」という概念は、正確に名付けられたキャラクタ・マップに（その識別のため）偽キャラクタ・マップ名を「関連付ける」という概念に関係するものである。この導入は、本明細書に記載の通り「オンデマンド」ベースで行ってもよい。
【００６６】
好ましい実施形態を参照して本発明を詳細に説明したが、本発明の精神と範囲を逸脱することなく形態および細部の種々変更が可能であることは、当業者にとっては当然のことである。さらに、本明細書および添付した請求の範囲で用いているように、「コンピュータ」、「システム」、「コンピュータ・システム」、または「コンピュータ・デバイス」という用語には、パーソナル・コンピュータ、サーバ、ワークステーション、ネットワーク・コンピュータ、メイン・フレーム・コンピュータ、ルータ、切替装置、パーソナル・デジタル・アシスタント（ＰＤＡ）、電話、ならびに、データの処理、伝送、受信、計算、および記憶もしくはそれらを組み合わせて行うことが可能なその他任意のシステムを含む任意のデータ処理システムが含まれるが、これには限定されない。
【図面の簡単な説明】
【００６７】
【図１】ＨＴＭＬメッセージのテキスト・ファイルをＨＴＭＬ非対応のシステム上で表示するための例示的なステップを示すフローチャートである。
【図２】本発明を実施する例示的なクライアント・コンピュータを示す図である。
【図３】図２に示すクライアント・コンピュータのユーザのために、本発明を実施するソフトウェアの導入および実施、もしくは導入または実施を行う例示的なサーバを示す図である。
【図４】図１に示すステップを実行可能なソフトウェアを導入するためのステップを示したフローチャートである。
【図５】図１に示すステップを実行可能なソフトウェアを導入するためのステップを示したフローチャートである。
【図６】オンデマンド・サービス・プロバイダを用いて図１に示すステップを実行するためのステップを示したフローチャートである。
【図７】オンデマンド・サービス・プロバイダを用いて図１に示すステップを実行するためのステップを示したフローチャートである。
【図１】
2007334875.tif 000003
【図２】
2007334875.tif 000004
【図３】
2007334875.tif 000005
【図４】
2007334875.tif 000006
【図５】
2007334875.tif 000007
【図６】
2007334875.tif 000008
【図７】
2007334875.tif 000009