(57)【要約】      （修正有）【課題】グローバライゼーション・テスト管理のための方法、システム、及びコンピュータ・プログラム製品を提供すること。【解決手段】グローバライゼーション・テスト管理システムは、グローバライゼーション・データの組を収集することを含む。グローバライゼーション・データの組に基づいて、グローバライゼーション・テスト動作の組の実行を決定する。グローバライゼーション・テスト動作の組を実行することによって、グローバライゼーション・データの組を処理し、処理したことに応答して、グローバライゼーション・テスト出力データの組を確立する。【選択図】図５
2017102920.tif 000002
【特許請求の範囲】
【請求項１】
グローバライゼーション・テスト管理のためのコンピュータ実装方法であって、
グローバライゼーション・テスト動作の組を用いて処理するために、グローバライゼーション・パラメータの組に関連するグローバライゼーション・データの組を収集することと、
前記グローバライゼーション・データの組に基づいて、前記グローバライゼーション・テスト動作の組の実行を決定することと、
前記グローバライゼーション・テスト動作の組を実行することによって、前記グローバライゼーション・データの組を処理することと、
前記グローバライゼーション・テスト動作の組を実行することによって前記グローバライゼーション・データの組を処理したことに応答して、グローバライゼーション・テスト出力データの組を確立することと、
を含む、方法。
【請求項２】
前記グローバライゼーション・パラメータの組は、
イネーブル化言語、ロケール、ルーチン、アプリケーション・プログラム・インタフェース、又はメッセージ・バッファサイズ
のうちの少なくとも１つから成る第１の群から選択され、
前記グローバライゼーション・データの組は、
イネーブル化言語識別子、ロケール識別子、ルーチン識別子、アプリケーション・プログラム・インタフェース識別子、又はメッセージ・バッファサイズ値
のうちの少なくとも１つから成る第２の群から選択される、
請求項１に記載の方法。
【請求項３】
前記グローバライゼーション・データの組に基づいて、前記グローバライゼーション・テスト動作の組の実行を決定することが、
前記グローバライゼーション・データの組を解析することと、
前記グローバライゼーション・データの組を解析したことに基づいて及びこれに応答して、グローバライゼーション・テスト動作の候補群から前記グローバライゼーション・テスト動作の組を選択することと、
を含む、請求項１に記載の方法。
【請求項４】
前記グローバライゼーション・テスト動作の組は、翻訳可能性テスト動作を含む、請求項１に記載の方法。
【請求項５】
前記翻訳可能性テスト動作は、
前記グローバライゼーション・データの組からグローバライゼーション・サブルーチン呼出順序を抽出することと、
ロケールについてのプロファイル順序を検出することと、
前記グローバライゼーション・サブルーチン呼出順序と前記プロファイル順序とを比較することによって、前記ロケールについての翻訳評価を決定することと、
を含む、請求項４に記載の方法。
【請求項６】
前記グローバライゼーション・テスト動作の組は、符号化テスト動作を含む、請求項１に記載の方法。
【請求項７】
前記符号化テスト動作は、
前記グローバライゼーション・データの組から、製品キャラクタ・データの組を抽出することと、
ロケールについてのプロファイル・キャラクタ・データの組を検出することと、
前記製品キャラクタ・データの組と前記プロファイル・キャラクタ・データの組とを比較することによって、前記ロケールについての符号化評価を決定することと、
を含む、請求項６に記載の方法。
【請求項８】
前記製品キャラクタ・データの組は、言語に対する第１の符号化を含み、前記プロファイル・キャラクタ・データの組は、前記言語に対する第２の符号化を含み、前記符号化評価は、不合格インジケータを含む、請求項７に記載の方法。
【請求項９】
前記グローバライゼーション・テスト動作の組は、トランケーション・テスト動作を含む、請求項１に記載の方法。
【請求項１０】
前記トランケーション・テスト動作は、
前記グローバライゼーション・データの組から、第１言語に対する製品バッファサイズを抽出することと、
第２言語に対するプロファイル・バッファサイズを検出することと、
前記製品バッファサイズ及び前記プロファイル・バッファサイズの両方を用いて、予測バッファサイズを計算することと、
前記予測バッファサイズと閾値バッファサイズとを比較することによって、前記第２言語に対するトランケーション評価を決定することと、
を含む、請求項９に記載の方法。
【請求項１１】
前記グローバライゼーション・データの組を構文解析して、イネーブル化言語識別子、ロケール識別子、ルーチン識別子、アプリケーション・プログラム・インタフェース識別子、又はメッセージ・バッファサイズ値のうちの少なくとも１つから成る群から選択を抽出すること、
をさらに含む、請求項１に記載の方法。
【請求項１２】
前記グローバライゼーション・テスト出力データの組を確立することが、
前記グローバライゼーション・テスト出力データの組をデータベース内に格納すること、
を含む、請求項１に記載の方法。
【請求項１３】
前記グローバライゼーション・テスト管理の使用を計量することと、
前記計量された使用に基づいてインボイスを生成することと、
をさらに含む、請求項１に記載の方法。
【請求項１４】
前記グローバライゼーション・テスト出力データの組に基づいて、グローバライゼーション・テスト出力を決定することと、
前記グローバライゼーション・テスト出力を決定したことに応答して、前記グローバライゼーション・テスト出力を提供することと、
をさらに含む、請求項１に記載の方法。
【請求項１５】
前記グローバライゼーション・テスト出力を提供することが、
合格インジケータを提供すること、
不合格インジケータを提供すること、
前記グローバライゼーション・テスト出力を物理的に分離したコンピュータに送信すること、
前記グローバライゼーション・テスト出力を提示すること、又は
前記グローバライゼーション・テスト出力を表示すること
のうちの少なくとも１つから成る群からの選択を含む、請求項１４に記載の方法。
【請求項１６】
前記グローバライゼーション・テスト管理は、クラウドベースのアプリケーション・プログラム・インタフェースを含む、請求項１に記載の方法。
【請求項１７】
グローバライゼーション・テスト管理のためのシステムであって、
コンピュータ可読命令の組を有するメモリと、
コンピュータ可読命令の組を実行するためのプロセッサと、
を含み、前記コンピュータ可読命令の組は、
グローバライゼーション・テスト動作の組を用いて処理するために、グローバライゼーション・パラメータの組に関連するグローバライゼーション・データの組を収集することと、
前記グローバライゼーション・データの組に基づいて、前記グローバライゼーション・テスト動作の組の実行を決定することと、
前記グローバライゼーション・テスト動作の組を実行することによって、前記グローバライゼーション・データの組を処理することと、
前記グローバライゼーション・テスト動作の組を実行することによって前記グローバライゼーション・データの組を処理したことに応答して、グローバライゼーション・テスト出力データの組を確立することと、
を含む、システム。
【請求項１８】
グローバライゼーション・テスト管理のためのコンピュータ・プログラム製品であって、具体化されたプログラム命令を有するコンピュータ可読ストレージ媒体を含み、前記コンピュータ可読ストレージ媒体は、それ自体が一時的な信号ではなく、前記プログラム命令はプロセッサによって実行可能であって、
グローバライゼーション・テスト動作の組を用いて処理するために、グローバライゼーション・パラメータの組に関連するグローバライゼーション・データの組を収集することと、
前記グローバライゼーション・データの組に基づいて、前記グローバライゼーション・テスト動作の組の実行を決定することと、
前記グローバライゼーション・テスト動作の組を実行することによって、前記グローバライゼーション・データの組を処理することと、
前記グローバライゼーション・テスト動作の組を実行することによって前記グローバライゼーション・データの組を処理したことに応答して、グローバライゼーション・テスト出力データの組を確立することと、
を含む方法を前記プロセッサに行わせる、コンピュータ・プログラム製品。
【請求項１９】
前記プログラム命令は、データ処理システム内のコンピュータ可読ストレージ媒体に格納され、ここで前記プログラム命令は、遠隔データ処理システムからネットワーク上でダウンロードされたものである、請求項１８に記載のコンピュータ・プログラム製品。
【請求項２０】
前記プログラム命令は、サーバ・データ処理システム内のコンピュータ可読ストレージ媒体内に格納され、前記プログラム命令は、ネットワーク上で遠隔データ処理システムに、前記遠隔データ処理システムによるコンピュータ可読ストレージ媒体内での使用のためにダウンロードされる、請求項１８に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にコンピュータ・システムに関し、より具体的には、グローバライゼーション・テスト管理に関する。企業がテストする又は管理する必要があるデータの量は、増大している。グローバライゼーション・テストは、可能な限り効率的に行われることが望まれるであろう。テスト又は管理が必要とされるデータが増大するにつれて、効率的なグローバライゼーション・テストを求める要望が高まるであろう。
【背景技術】
【０００２】
グローバライゼーション・イネーブルメント特徴は、国ごとのデータ（nationaldata）を適正な形式、適正な言語、及び適正な情報で処理することに関連するものとすることができる。適正にグローバライゼーション・イネーブル化された特徴及びサービスを配信するためには、熟練したグローバライゼーション検証チームが初期開発段階でグローバライゼーション・イネーブルメント検証の組を実行する多大な負担を負う場合がある。グローバライゼーション検証は、グローバライゼーション技能を有するスタッフ、適正なテストケース、及び資金の不足に起因する課題を提示する場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、グローバライゼーション・テスト管理のための方法、システム、及びコンピュータ・プログラム製品を提供することである。
【課題を解決するための手段】
【０００４】
開示される態様は、グローバライゼーション検証サービスを製品開発から分離することにより、オンサイト・サポート・レベル、セキュリティ・アクセス管理業務、又は開発の速さに対して良い影響を有することができるオンライン又はクラウド環境のグローバライゼーション検証テストをサポートすることができる。本開示の態様は、グローバライゼーション・データの組を収集することを含むことができる。グローバライゼーション・データの組は、グローバライゼーション・パラメータの組に関連するものとすることができる。グローバライゼーション・データの組に基づいて、グローバライゼーション・テスト動作の組の実行を決定することができる。従って、グローバライゼーション・テスト動作の組を実行することによって、グローバライゼーション・データの組を処理することできる。処理したことに応答して、グローバライゼーション・テスト出力データの組を確立することができる。
【０００５】
実施形態において、グローバライゼーション・テスト動作の組は、翻訳可能性テスト動作、符号化テスト動作、又はトランケーション（truncation）・テスト動作のうちの少なくとも１つを含む。実施形態において、グローバライゼーション・テスト管理の使用は計量される。計量された使用に基づいて、インボイスを生成することができる。全体で、グローバライゼーション・テスト管理に関する性能又は効率的な利益を発生させることができる（例えば、スピード、柔軟性、応答性、リソース使用率、生産性）。
【０００６】
上記の要旨は、本開示の各々の例証的実施形態又はあらゆる実装を説明することを意図したものではない。
【０００７】
本出願に含まれる図面は、本明細書に組み入れられ、その一部を形成する。これらは、本開示の実施形態を例証するものであり、記述と共に、本開示の原理を説明する役割を果たす。図面は、特定の実施形態の単なる例証である、開示を限定するものではない。
【図面の簡単な説明】
【０００８】
【図１】実施形態によるクラウド・コンピューティング・ノードを示す。
【図２】実施形態によるクラウド・コンピューティング環境を示す。
【図３】実施形態による抽象モデル層を示す。
【図４】実施形態によるグローバライゼーション・テスト・サービスの態様を実装するためのコンピュータ・環境を示す。
【図５】グローバライゼーション・テスト管理システムを示したブロック図を示す。
【図６】グローバライゼーション・テスト管理システムを示したブロック図を示す。
【図７】グローバライゼーション・テスト管理システムを示したブロック図を示す。
【図８】グローバライゼーション検証管理のための方法を示したフローチャートを示す。
【図９】グローバライゼーション検証管理のための方法を示したフローチャートを示す。
【発明を実施するための形態】
【０００９】
本発明は、種々の修正及び変更形態に従うが、それらのうちの特定のものを例として図面に示し、かつ詳細に説明する。しかしながら、その意図は本発明を説明される具体的な実施形態に限定することではない。反対に、その意図は、本発明の思想及び範囲内に入る全ての修正、均等物、及び変更をカバーすることである。
【００１０】
本開示の態様は、オンライン又はクラウドのグローバライゼーション・テスト・サービスを自動化することを含む。自動化されたグローバライゼーション・テスト／検証サービスのフレームワークを構築することができる。フレームワークは、クライアント側グローバライゼーション特徴抽出器（client side globalization feature abstracter)と、サービス側グローバライゼーションテスト・アプリケーション・プログラミング・インタフェース（ＡＰＩ）とを含むことができる。クライアント側グローバライゼーション特徴抽出器によって、クライアント開発環境からグローバライゼーション態様を抽出することができる。このような態様は、クライアント側グローバライゼーション・データを形成することができる、イネーブル化言語、ロケール名、ルーチン、ＡＰＩ、及びメッセージ・バッファサイズを含むことができる。クライアント側グローバライゼーション特徴抽出器は、クライアント側グローバライゼーション・データを編成して、サーバ側グローバライゼーションテスト・アプリケーションが使用することができるデータセットを形成することができる。サーバ側グローバライゼーションテスト・アプリケーションがサンプリングされたクライアント側グローバライゼーション・データを受領したことに応答して、テスト・サービスを実行して課金することができる
【００１１】
グローバライゼーション・イネーブルメント特徴は、適正な形式、適正な言語、及び適正な情報で国ごとのデータを処理することに対して良い影響を有することができる。適正なグローバライゼーション・イネーブルメント特徴及びサービスを配信するためには、熟練したグローバライゼーション検証チームは、初期開発段階（サイクルにおける適正な時点は、品質保証管理にとって利益を有し得る）でグローバライゼーション・イネーブルメント検証の組を実行する多大な負担（例えば、費用的に）を負う場合がある。グローバライゼーション検証は、グローバライゼーション技能を有するスタッフ、適正なテストケース、及び資金の不足に起因する課題を提示する場合がある。例えば、Ｕｎｉｘコマンド（例えば、“ａ．ｏｕｔ−−ｈｅｌｐ）に対する潜在的な使用の翻訳可能性（usage translatability）の問題が、非英語環境下のある種のグローバライゼーション検証テストでは見つけられない場合がある（例えば、翻訳されたメッセージファイルは正しいが、Ｕｎｉｘ（UNIX はThe Open Groupの商標です。）コマンド内でロケール設定サブルーチンが欠落している場合）。
【００１２】
グローバライゼーション・アーキテクチャ及びグローバライゼーションに基づく要件は、幾つかのアセット製品／アプリケーションに対して同様の場合がある。グローバライゼーション・データ・サンプリング（Ｇｌｏｂａｌｉｚａｔｉｏｎ  Ｄａｔａ  Ｓａｍｐｌｉｎｇ）及び実時間グローバライゼーション・イネーブルメント分析論（Ｇｌｏｂａｌｉｚａｔｉｏｎ  Ｅｎａｂｌｅｍｅｎｔ  Ａｎａｌｙｔｉｃｓ）に対するサービスを提供する、オンライン・グローバライゼーション検証ＡＰＩ及び関連のフレームワークを作成することができる。従って、本明細書で説明される態様は、従量料金制（ｐａｙ−ａｓ−ｙｏｕ−ｇｏ）オンライン・グローバライゼーション検証テスト・プロセスを含み、特定のグローバライゼーション・イネーブルメント分析論に基づいて通常のソフトウェア開発から分離したグローバライゼーション検証テストに対して実時間グローバライゼーション検証テスト・サービスのフレームワークを与える。
【００１３】
本開示の態様は、グローバライゼーション・テスト管理のための、第１の方法、システム、及びコンピュータ・プログラム製品を含む。グローバライゼーション・パラメータの組に関連したグローバライゼーション・データの組を識別するために、製品開発環境の製品開発データの組が検査される。製品開発データの組を検査したことに応答して、グローバライゼーション・データの組が識別される。グローバライゼーション・データの組を識別したことに応答して、グローバライゼーション・データの組が伝送される。実施形態において、グローバライゼーション・パラメータの組は、イネーブル化言語、ロケール、ルーチン、アプリケーション・プログラム・インタフェース、又はメッセージ・バッファサイズのうちの少なくとも１つを含む。実施形態において、グローバライゼーション・データの組は、イネーブル化言語識別子、ロケール識別子、ルーチン識別子、アプリケーション・プログラム・インタフェース識別子、又はメッセージ・バッファサイズ値のうちの少なくとも１つを含む。
【００１４】
本開示の態様は、グローバライゼーション・テスト管理のための、第２の方法、システム、及びコンピュータ・プログラム製品を含む。グローバライゼーション・パラメータの組に関連したグローバライゼーション・データの組が受領される。グローバライゼーション・テスト動作の組を用いてグローバライゼーション・データの組を処理することによって、グローバライゼーション・テスト出力が決定される。グローバライゼーション・テスト出力が決定されたことに応答して、グローバライゼーション・テスト出力が提供される。実施形態において、グローバライゼーション・テスト動作の組は、翻訳可能性テスト動作、符号化テスト動作、又はトランケーション・テスト動作のうちの少なくとも１つを含む。
【００１５】
本開示の態様は、グローバライゼーション・テスト管理のための、第３の方法、システム、及びコンピュータ・プログラム製品を含む。グローバライゼーション・パラメータの組に関連したグローバライゼーション・データの組が収集される。グローバライゼーション・データの組は、グローバライゼーション・テスト動作の組を用いて処理するために収集される。グローバライゼーション・データの組に基づいて、グローバライゼーション・テスト動作の組を実行することの決定がなされる。グローバライゼーション・テスト動作の組を実行することによってグローバライゼーション・データの組が処理される。グローバライゼーション・テスト動作の組を実行することによってグローバライゼーション・データの組を処理したことに応答して、グローバライゼーション・テスト出力データの組が確立される。
【００１６】
実施形態において、グローバライゼーション・テスト管理の使用は計量される。計量された使用に基づいて、インボイスを生成することができる。これら態様は、グローバライゼーション検証サービスを製品開発から分離すること速さに対して良い影響を有することができる、オンライン又はクラウド環境のグローバライゼーション検証テストをサポートすることができる。全体で、グローバライゼーション・テスト管理に関する性能又は効率的な利益を発生させることができる（例えば、スピード、柔軟性、応答性、リソース使用率、生産性）。これら態様は、帯域幅、処理、又はメモリといったリソースを節約することができる。
【００１７】
この開示はクラウド・コンピューティングについての詳細な説明を含んでいるが、本明細書で述べられる教示の実装はクラウド・コンピューティング環境に限定されるものではないことが予め理解される。むしろ、本発明の実施形態は、現在知られている又は後で開発されることになる他の任意の型式のコンピューティング環境と共に実装されることが可能である。
【００１８】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及びリリースすることができる、構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス）の共有プールに対する便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも５つの特性、少なくとも３つのサービス・モデル、及び少なくとも４つの配備モデルを含むことができる。
【００１９】
特性は以下の通りである。
【００２０】
オンデマンドのセルフサービス：クラウド・コンシューマは、必要に応じて、人間がサービスのプロバイダと対話する必要なく自動的に、サーバ時間及びネットワーク・ストレージといったコンピューティング能力を一方的にプロビジョニングすることができる。
【００２１】
広範なネットワーク・アクセス：能力は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、及びＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。
【００２２】
リソースのプール化：プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて、複数のコンシューマに供されるようにプールされ、異なる物理及び仮想リソースが要求に応じて動的に割り当て及び再割り当てされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を有さないという点で位置独立感覚であるが、より高次の抽象レベル（例えば、国、州、又はデータセンタ）での位置を指定することができる場合がある。
【００２３】
迅速な弾力性：能力は、迅速かつ弾力的に、場合によっては自動的にプロビジョニングされてすばやくスケール・アウトし、迅速に解放されてすばやくスケール・インすることができる。コンシューマにとっては、プロビジョニングに利用可能な能力は、多くの場合、無制限に見え、いつでもどんな量でも購入することができる。
【００２４】
計測されるサービス：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント）に適した何らかの抽象レベルで計量能力を活用することによって、リソース使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告して、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【００２５】
サービス・モデルは以下の通りである。
【００２６】
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）：コンシューマに提供される能力は、クラウド・インフラストラクチャ上で実行される、プロバイダのアプリケーションを使用することである。アプリケーションは、ウェブブラウザなどのシンクライアント・インタフェースを通じて、種々のクライアントデバイスからアクセス可能である（例えば、ウェブ・ベースの電子メール）。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を可能な例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション能力をも含む基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
【００２７】
Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）：コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語及びツールを用いて作成された、コンシューマが作成した又取得したアプリケーションを、クラウド・インフラストラクチャ上に配備することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、配備されたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対する制御を有する。
【００２８】
Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）：コンシューマに提供される能力は、コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアをそこに配備して実行させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションに対する制御、及び場合によってはネットワーキング・コンポーネント（例えば、ホストのファイアウォール）選択に対する限定的な制御を有する。
【００２９】
配備モデルは以下の通りである。
【００３０】
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運営される。これは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスで存在することができる。
【００３１】
コミュニティ・クラウド：クラウド・インフラストラクチャは、幾つかの組織によって共有され、関心事項（例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項）を共有する特定のコミュニティをサポートする。これは、それらの組織又は第三者により管理することができ、オンプレミス又はオフプレミスで存在することができる。
【００３２】
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループが利用できるようにされており、クラウド・サービスを販売する組織によって所有される。
【００３３】
ハイブリッド・クラウド：クラウド・インフラストラクチャは、固有のエンティティを残しているが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専用技術（例えば、クラウド間の負荷平衡のためのクラウド・バースティング）によって互いに結び付けられた、２つ又はそれより多いクラウド（プライベート、コミュニティ、又はパブリック）の組合せである。
【００３４】
クラウド・コンピューティング環境は、サービス指向であり、無国籍性、低結合性、モジュール性、及び意味論的相互運用性に焦点を合わせている。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【００３５】
ここで図１を参照すると、クラウド・コンピューティング・ノードの一例のブロック図が示されている。クラウド・コンピューティング・ノード１００は、好適なクラウド・コンピューティング・ノードの単なる一例であり、本明細書で説明される本発明の実施形態の使用又は機能の範囲に関していずれかの限定を示唆することを意図するものではない。いずれにせよ、クラウド・コンピューティング・ノード１００は、上述された機能のいずれかを実装及び／又は実施することができる。
【００３６】
クラウド・コンピューティング・ノード１００内には、多数の他の汎用又は専用コンピューティング・システム環境若しくは構成で動作可能なコンピュータ・システム／サーバ１１０が存在する。コンピュータ・システム／サーバ１１０と共に使用するのに好適であり得る周知のコンピューティング・システム、環境、及び／又は構成の例として、これらに限定されるものではないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、タブレット・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち式又はラップトップ型デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップボックス、プログラム可能民生電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、及び、上述のシステム又はデバイスのいずれかを含む分散型クラウド・コンピューティング環境、等が含まれる。
【００３７】
コンピュータ・システム／サーバ１１０は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム／サーバ１１０は、通信ネットワークを通じてリンクされた遠隔処理デバイスによってタスクが行われる分散型クラウド・コンピューティング環境内で実行することができる。分散型クラウド・コンピューティング環境においては、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル及び遠隔の両方のコンピュータ・システム・ストレージ媒体内に配置されることができる。
【００３８】
図１に示されるように、クラウド・コンピューティング・ノード１００内のコンピュータ・システム／サーバ１１０は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム／サーバ１１０のコンポーネントは、これらに限定されるものではないが、１つ又は複数のプロセッサ又は処理ユニット１２０、システム・メモリ１３０、及び、システム・メモリ１３０を含む種々のシステム・コンポーネントを処理ユニット１２０に結合するバス１２２を含むことができる。
【００３９】
バス１２２は、メモリ・バス又はメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、及び、種々のバス・アーキテクチャのいずれかを用いるプロセッサ又はローカル・バスを含む、幾つかのタイプのバス構造のうちのいずれかの１つ又は複数を表す。限定ではなく例として、このようなアーキテクチャは、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、Ｅｎｈａｎｃｅｄ  ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカル・バス、及びＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスを含む。
【００４０】
コンピュータ・システム／サーバ１１０は、典型的には、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム／サーバ１１０がアクセス可能ないずれかの利用可能媒体とすることができ、揮発性媒体及び不揮発性媒体の両方と、取外し可能媒体及び取外し不能媒体の両方とを含む。図１には、取外し可能媒体の例がデジタル・ビデオ・ディスク（ＤＶＤ）１９２を含むものとして示されている。
【００４１】
システム・メモリ１３０は、ファームウェア１３２などの、揮発性又は不揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。ファームウェア１３２は、コンピュータ・システム／サーバ１１０に対するインタフェースを提供する。システム・メモリ１３０はまた、ランダム・アクセス・メモリ（ＲＡＭ）１３４及び／又はキャッシュ・メモリ１３６といった、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ１１０は、他の取外し可能／取外し不能な、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取外し不能の不揮発性磁気媒体（図示されておらず、典型的には「ハード・ドライブ」と呼ばれる）との間の読み出し及び書き込みのために、ストレージ・システム１４０を設けることができる。図示されていないが、取外し可能な不揮発性磁気ディスク（例えば、「フロッピー・ディスク」）との間の読み出し及び書き込みのための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又は他の光媒体などの取外し可能な不揮発性光ディスクとの間の読み出し及び書き込みのための光ディスク・ドライブとを設けることができる。このような例においては、各々は、１つ又は複数のデータ媒体インタフェースによってバス１２２に接続することができる。以下でさらに示され、説明されるように、メモリ１３０は、より詳細に後述される機能を実行するように構成されたプログラム・モジュールの組（例えば、少なくとも１つ）を有する少なくとも１つのプログラム製品を含むことができる。
【００４２】
プログラム・モジュールの組１５２（少なくとも１つ）を有するプログラム／ユーティリティ１５０、並びにオペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを、限定ではなく例として、メモリ１３０内に格納することができる。オペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの幾つかの組み合わせの各々は、ネットワーキング環境の実装を含むことができる。プログラム・モジュール１５２は、一般に、本明細書において説明される本発明の実施形態の機能及び／又は方法を実行する。
【００４３】
コンピュータ・システム／サーバ１１０はまた、キーボード、ポインティング・デバイス、ディスプレイ１８０、ディスク・ドライブなどといった１つ又は複数の外部デバイス１９０、ユーザがコンピュータ・システム／サーバ１１０と対話することを可能にする１つ又は複数のデバイス、及び／又は、コンピュータ・システム／サーバ１１０が１つ又は複数の他のコンピューティング・デバイスと通信することを可能にするいずれかのデバイス（例えば、ネットワークカード、モデムなど）と通信することができる。このような通信は、入力／出力（Ｉ／Ｏ）インタフェース１７０を経由して行うことができる。さらにまた、コンピュータ・システム／サーバ１１０は、ローカル・エリア・ネットワーク（ＬＡＮ）、汎用広域ネットワーク（ＷＡＮ）、及び／又はパブリック・ネットワーク（例えば、インターネット）などの１つ又は複数のネットワークと、ネットワーク・アダプタ１６０を介して通信することができる。示されるように、ネットワーク・アダプタ１６０は、コンピュータ・システム／サーバ１１０の他のコンポーネントと、バス１２２を介して通信する。図示されないが、コンピュータ・システム／サーバ１１０と共に他のハードウェア及び／又はソフトウェア・コンポーネントを使用できることを理解されたい。例として、これらに限定されるものではないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋ  （ＲＡＩＤ）システム、テープ・ドライブ、及びデータ・アーカイブ・ストレージ・システムなどが挙げられる。
【００４４】
ここで図２を参照すると、例示的なクラウド・コンピューティング環境２００が示される。示されるように、クラウド・コンピューティング環境２００は、例えば携帯情報端末（ＰＤＡ）又は携帯電話２１０Ａ、デスクトップ・コンピュータ２１０Ｂ、ラップトップ・コンピュータ２１０Ｃ、及び／又は自動車コンピュータ・システム２１０Ｎなどといった、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスが通信することができる、１つ又は複数のクラウド・コンピューティング・ノード１００を含む。ノード１００は、互いに通信することができる。これらは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、若しくはハイブリッド・クラウド、又はこれらの組み合わせなどの１つ又は複数のネットワーク内で、物理的又は仮想的にグループ化することができる（図示せず）。これにより、クラウド・コンピューティング環境２００は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、及び／又はソフトウェアを提供できるようになる。図２に示されるコンピューティング・デバイス２１０Ａ−Ｎのタイプは単なる例示として意図されており、コンピューティング・ノード１００及びクラウド・コンピューティング環境２００は、あらゆるタイプのネットワーク及び／又はネットワーク・アドレス指定可能な接続（例えば、ウェブ・ブラウザを用いて）を介して、あらゆるタイプのコンピュータ化された装置と通信できることが理解される。
【００４５】
ここで図３を参照すると、図２のクラウド・コンピューティング環境２００によって提供される機能抽象化層の組が示される。図３に示されるコンポーネント、層及び機能は、単なる例証を意図したものであり、開示及び特許請求の範囲はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【００４６】
ハードウェア及びソフトウェア層３１０は、ハードウェア及びソフトウェアのコンポーネントを含む。ハードウェア・コンポーネントの例は、ＩＢＭＳｙｓｔｅｍ  ｚシステムを一例とするメインフレーム、ＩＢＭ  Ｓｙｓｔｅｍ  Ｐシステムを一例とするＲＩＳＣ（縮小命令セット・コンピュータ）アーキテクチャ・ベースのサーバ、ＩＢＭ  Ｓｙｓｔｅｍ  ｘシステム、ＩＢＭ  ＢｌａｄｅＣｅｎｔｅｒシステム、ストレージ・デバイス、ネットワーク及びネットワーキング・コンポーネントを含む。ソフトウェア・コンポーネントの例は、ＩＢＭ  ＷｅｂＳｐｈｅｒｅ（登録商標）アプリケーション・サーバ・ソフトウェアを一例とするネットワーク・アプリケーション・サーバ・ソフトウェア、及びＩＢＭ  ＤＢ２（登録商標）データベース・ソフトウェアを一例とするデータベース・ソフトウェアを含む。ＩＢＭ、Ｓｙｓｔｅｍ  ｚ、Ｓｙｓｔｅｍ  ｐ、Ｓｙｓｔｅｍ  ｘ、ＢｌａｄｅＣｅｎｔｅｒ、ＷｅｂＳｐｈｅｒｅ、及びＤＢ２は、世界中の多くの管轄区域において登録されているインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。
【００４７】
仮想化層３２０は、仮想エンティティティの以下の例、すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーション及びオペレーティング・システム、並びに仮想クライアントを提供することができる、抽象層を提供する。
【００４８】
一例において、管理層３３０は、以下で説明される機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを行うために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格設定は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクについての識別検証、並びにデータ及び他のリソースに対する保護を提供する。ユーザ・ポータルは、コンシューマ及びシステム管理者に対して、クラウド・コンピューティング環境へのアクセスを提供する。サービスレベル管理は、必要なサービスレベルが満たされるように、クラウド・コンピューティング・リソースの割当て及び管理を提供する。サービスレベル・アグリーメント（ＳＬＡ）計画及び履行は、ＳＬＡに従って将来的な必要性が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。クラウド・マネージャ３５０は、より詳細に後述するクラウド・マネージャ（又は共有プール・マネージャ）を表す。クラウド・マネージャ３５０は、図３では管理層３３０内に常駐するものとして示されているが、クラウド・マネージャ３５０は、後述するように、図３に示すレベルの全てにわたることができる。
【００４９】
ワークロード層３４０は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例は、マッピング及びナビゲーションと、ソフトウェア開発及びライフサイクル管理と、仮想教室教育配信と、データ解析処理と、トランザクション処理と、グローバライゼーション・テスト３６０と、を含み、これらはより詳細に後述されるように利用することができる。
【００５０】
図４を参照すると、グローバライゼーション・テスト管理サービスの態様を実装するためのコンピュータ環境４００が示されている。図４の態様は、クライアント側グローバライゼーション特徴抽出器及びサーバ側グローバライゼーション・テスト・アプリケーション・プログラミング・インタフェース（ＡＰＩ）を含むコンピュータ環境４００に向けられる。図４に示すように、コンピュータ環境４００は、１つ又は複数の遠隔デバイス４０２、４２２並びに１つ又は複数のホスト・デバイス４４２を含むことができる。遠隔デバイス４０２、４２２及びホスト・デバイス４４２は、互いに離れており、ネットワーク４８０上で通信することができ、このネットワーク内にホスト・デバイス４４２は中央ハブを含み、そこから遠隔デバイス４０２、４２２が通信接続を確立することができる。あるいは、ホスト・デバイス４４２と遠隔デバイス４０２、４２２を他のいずれかの適切な関係（例えば、ピア・ツー・ピア又はその他の関係）で構成することができる。実施形態において、ホスト・デバイス４４２は、サーバ側グローバライゼーション・テストＡＰＩに対応するものとすることができ、遠隔デバイス４０２、４２２は、クライアント側グローバライゼーション特徴抽出器に対応するものとすることができる。他の構成もまた可能である。
【００５１】
実施形態において、ネットワーク４８０は、多数の適切な通信媒体（例えば、広域ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、インターネット、イントラネットなど）のうちの１つ又は複数によって実装することができる。あるいは、遠隔デバイス４０２、４２２及びホスト・デバイス４４２は、互いにローカルであって適切なローカル通信媒体（例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、有線、無線リンク、イントラネットなど）を介して通信することができる。特定の実施形態において、ネットワーク４８０は、クラウド・コンピューティング環境内で、又は１つ若しくは複数のクラウド・コンピューティング・サービスを用いて、実装することができる。種々の実施形態で一貫して、クラウド・コンピューティング環境は、１つ又は複数のクラウド・コンピューティング・サービスを提供するネットワークベースの分散型データ処理システムを含むことができる。特定の実施形態において、クラウド・コンピューティング環境は、数百又は数千のコンピュータが１つ又は複数のデータセンタ内に配置されてネットワーク４８０上でリソースを共有するように構成された、多数のコンピュータを含むことができる。
【００５２】
種々の実施形態で一貫して、ホスト・デバイス４４２及び遠隔デバイス４０２、４２２は、ディスプレイ又はモニタを備えたコンピュータ・システムとすることができる。実施形態において、コンピュータ・システムは、少なくとも１つのプロセッサ４０６、４２６、４４６、メモリ４０８、４２８、４４８及び／又は内部又は外部ネットワーク・インタフェース又は通信デバイス４０４、４２４、４４４（例えば、モデム、ネットワークカードなど）、随意の入力デバイス（例えば、キーボード、マウス、又は他の入力装置）、及び他の市販及びカスタム・ソフトウェア（例えば、ブラウザ・ソフトウェア、通信ソフトウェア、サーバ・ソフトウェア、自然言語処理ソフトウェア、検索エンジン及び／又はウェブ・クローリング・ソフトウェア、所定の基準に基づいてコンテンツをフィルタリングするためのフィルタ・モジュールなど）を含むことができる。特定の実施形態において、コンピュータ・システムは、サーバ、デスクトップ、ラップトップ、手持ち式デバイスを含むことができる。
【００５３】
図４に示すように、遠隔デバイス４０２は、管理アプリケーション４１０を含むことができ、遠隔デバイス４２２は、管理アプリケーション４３０を含むことができ、ホスト・デバイス４４２は、管理アプリケーション４５０を含むことができる。実施形態において遠隔デバイス４０２の管理アプリケーション４１０は、遠隔デバイス４２２の管理アプリケーション４３０に実質的に対応するものとすることができる（例えば、両方の管理アプリケーション４１０及び４３０を、おそらくは異なる製品にサービス提供する実質的に同じ動作を行うように構成することができ、これによりグローバライゼーション・データが別々に／独立して抽出される）。例えば、実施形態において、管理アプリケーション４１０、４３０は、検査動作４１２、４３２、識別動作４１４、４３４、及び伝送動作４１６、４３６を含むことができる。本明細書で明示的に記述された動作以外の他の動作もまた可能である。
【００５４】
本開示の態様は、クライアント側グローバライゼーション特徴抽出器を含むグローバライゼーション・テスト管理サービスに向けられている。従って、遠隔デバイス４０２、４２２の管理アプリケーション４１０、４３０の態様は、クライアント側グローバライゼーション・データ管理を促進することに向けられる。検査動作４１２、４３２において、製品開発環境の製品開発データの組を検査して、グローバライゼーション・データの組を識別することができる。グローバライゼーション・データの組は、特定の地域、文化、言語、設定、又は他の代表的分類若しくは群に関する情報の、データ、ファクト、統計量、及びその他の事項を含むことができる。製品開発環境の製品開発データの組は、例えば、ソフトウェア・アプリケーションについてのソースコードを含むことができる。
【００５５】
識別動作４１４、４３４において、製品開発データの組を検査したことに応答してグローバライゼーション・データの組を識別することができる。グローバライゼーション・データの組は、グローバライゼーション・パラメータと関連するものである得る。一般に、グローバライゼーション・パラメータは、グローバライゼーション・データについての基準分類又はカテゴリとしての役割を果たす因子又は属性とすることができる。実施形態において、グローバライゼーション・データの組を識別することは、ソフトウェア・アプリケーションについてのソースコードを検査することと、特定の地域、文化、言語又は他の代表群に関連した因子を抽出することとを含むことができる。例えば、実施形態において、識別動作４１４、４３４は、イネーブル化言語識別子、ロケール識別子、ルーチン識別子、ＡＰＩ識別子、又はソースコードのメッセージ・バッファサイズ値を識別することができる。グローバライゼーション・データの他の例もまた可能である。
【００５６】
伝送動作４１６、４３６において、グローバライゼーション・データの組を識別したことに応答してグローバライゼーション・データが伝送される。グローバライゼーション・データの組を伝送することは、グローバライゼーション・データの組を送信すること、搬送すること、中継すること、転送すること、又はその他の通信を含むことができる。実施形態において、グローバライゼーション・データの組は、グローバライゼーション・データに基づいてグローバライゼーション・テスト出力を生成するように構成されたサーバ側デバイスに伝送することができる。例として、図４に示すように、グローバライゼーション・データは、遠隔デバイス４０２、４２２の一方又は両方からネットワーク４８０上でホスト・デバイス４４２へ伝送することができる。ホスト・デバイス４４２は、グローバライゼーション・データに基づいてグローバライゼーション・テスト出力を生成するように構成することができる。
【００５７】
本開示の態様は、実施形態において、サーバ側グローバライゼーション・テスト（ＡＰＩ）を含むグローバライゼーション・テスト・サービスに向けられる。従って、ホスト・デバイス４４２の管理アプリケーション４５０の態様は、サーバ側グローバライゼーション・データ管理を促進することに向けられる。ホスト・デバイス４４２の管理アプリケーション４５０は、受領動作４５２、決定動作４５４、及び提供動作５６を含むことができる。受領動作４５２において、ホスト・デバイス４４２は、グローバライゼーション・パラメータの組に関連したグローバライゼーション・データの組を受領するように構成することができる。実施形態において、グローバライゼーション・データの組は、１つ又は複数の遠隔デバイス４０２、４２２から受領することができる。グローバライゼーション・データの組を受領することは、遠隔デバイス４０２、４２２からの直接伝送の配信を受け取ること、遠隔デバイス４０２、４２２にグローバライゼーション・データの組を求める要求を提出すること、又は共有ストレージ場所にアクセスしてグローバライゼーション・データの組を収集することを含むことができる。実施形態において、グローバライゼーション・データの組を受領することは、サーバ側グローバライゼーション検証システムとクライアント側開発環境との間でパブリッシャ−サブスクリプション・モデルとして構造化することができる。例えば、クライアントは、サーバ側グローバライゼーション検証システムによって提供されるグローバライゼーション検証サービスに申し込んで、グローバライゼーション・データがグローバライゼーション検証サービスのデータ転送動作を介して交換されるようにすることができる。グローバライゼーション・データの組を受領するための他の方法もまた可能である。
【００５８】
決定動作４５４において、グローバライゼーション・テスト動作の組を用いてグローバライゼーション・データの組を処理することによって、グローバライゼーション・テスト出力を決定することができる。一般に、グローバライゼーション・テスト動作は、グローバライゼーション・データの組の１つ又は複数の態様を評価するための多数のアクション、手順、アクティビティ、又は他のプロセスのうちの１つ又は複数を含むことができる。例えば、グローバライゼーション・テスト動作は、翻訳可能性テスト動作、符号化テスト動作、又はトランケーション・テスト動作のうちの１つ又は複数を含むことができる。実施形態において、グローバライゼーション・テスト動作の結果に基づいてグローバライゼーション・テスト出力を決定することができる。グローバライゼーション・テスト出力は、グローバライゼーション・テスト動作の結果を定量的に表すために取った１つ又は複数のアクションを含むことができる。提供動作４５６において、グローバライゼーション・テスト出力を決定したことに応答して、グローバライゼーション・テスト出力を１つ又は複数の個人、組織、コンピューティング・デバイス、又は他のエンティティに提供することができる。グローバル・テスト出力を提供することは、グローバル・テスト出力を送信すること、転送すること、提示すること、表示すること、伝送すること、又はそれ以外の通信することを含むことができる。
【００５９】
ここで図５を参照すると、グローバライゼーション・テスト管理システム５００を示すブロック図が示されている。実施形態において、システム５００は、クライアント側グローバライゼーション特徴抽出器に対応するものとすることができる。従って、図５の態様は、グローバライゼーション・データの組をクライアント開発環境から抽出すること及びグローバライゼーション・データの組をサーバ側グローバライゼーション・テスト動作のために準備することに向けられている。図５に示すように、システム５００は、構成された、データソース５０２、製品開発データの組５０４、グローバライゼーション・テスト管理システム５０５、検査動作５１０、識別動作５２０、伝送動作５３０、第１のモジュール管理システム５５０、第２のモジュール管理システム５７０、並びにグローバライゼーション・テスト管理のための方法の態様を実装するように多数のサブモジュール及び動作を含むことができる。
【００６０】
図５に示すように、システム５００は、データソース５０２を含むことができる。データソース５０２は、データ及び情報を維持するように構成された、ファイルの組、ストレージ・デバイス、実時間データフィード、データベース、又は他のストレージ手段を含むことができる。例えば、データソース５０２は、異なるソフトウェア開発プロジェクトに対応するデータの１つ又は複数の組を有する、組織化された情報のアーカイブを含むことができる。データソース５０２内のデータは、構造化されている場合又は構造化されていない場合、いずれの場合もあり得、多数のファイル形式（例えば、プレーンテキスト、ＸＭＬ、ＳＱＬ、Ｐｅｒｌ  ＤＢＭ）のうちの１つ又は複数を用いて組織化されている。実施形態において、データソース５０２は、製品開発データの組５０４を含むことができる。製品開発データ５０４は、グローバライゼーション・テストを受けるように構成された、１つ又は複数のソフトウェア開発プロジェクトについてのソースコードを含むことができる。一例として、製品開発データ５０４は、複数の国で発売することが計画されている企業アプリケーション・ソフトウェア・プログラムについてのソースコードを含むことができる。
【００６１】
本明細書で説明されるように、グローバライゼーション・テスト管理システム５０５は、検査動作５１０、識別動作５２０、及び伝送動作５３０を含むことができる。検査動作５１０において、製品開発環境の製品開発データの組を検査してグローバライゼーション・データの組を識別することができる。一般に、グローバライゼーション・データの組は、特定の地域、文化、言語、経済、設定、又は他の代表的な分類若しくは群に関する情報の、データ、ファクト、統計量、及びその他の態様を含むことができる。例えば、グローバライゼーション・データは、イネーブル化言語識別子（例えば、英語など特定の言語の利用可能性を示すラベル）、ロケール識別子（例えば、ブラジルなど特定の地域又は地方に対する参照）、ルーチン識別子（例えば、グローバライゼーション・サブルーチンの呼出）、アプリケーション・プログラム・インタフェース識別子（例えば、特定のＡＰＩを呼び出すコードルーチン）、又はメッセージ・バッファサイズ値（例えば、メッセージ本体を格納するメモリを示す整数）を含むことができる。
【００６２】
製品開発データの組５０４を検査することは、解析すること、テストすること、処理すること、評価すること、又は同様の動作を実行して、グローバライゼーション・データの識別を促進する１つ又は複数の特性を確かめることを含むことができる。一般に、検査することは、製品開発データの組を詳細に調べて又は吟味して、ロケールの影響を受け易い（例えば、他の地域でリリースするには修正又は適合が必要な）要素を調査することを含むことができる。例えば、特定の実施形態において、製品開発データの組５０４を検査することは、製品開発データ５０４に含まれるソースコードをスキャンすることを含むことができる。第１のモジュール管理システム５５０のソースコード・スキャン動作５５３において、１つ又は複数のソースコード解析技術を利用してソースコードを検査することができる。例えば、静的解析技術、動的解析技術、又は両方の組合せを用いてソースコードをスキャンすることができる。ソースコードをスキャンするための他の技術を用いることも可能である。
【００６３】
識別動作５２０において、製品開発データの組５０４（例えばソースコード）を検査したことに応答してグローバライゼーション・データの組を識別することができる。グローバライゼーション・データの組は、グローバライゼーション・パラメータの組に関連し得る。本明細書で説明したように、グローバライゼーション・パラメータは、グローバライゼーション・データに対するカテゴリ又は基準分類としての役割を果たす因子又は属性の組を含むことができる（例えば、グローバライゼーション・パラメータは、特定のオブジェクト又はアイデアよりもむしろ、広範な概念のクラス又はカテゴリを指すものとすることができる）。例えば、グローバライゼーション・パラメータは、イネーブル化言語、ロケール、ルーチン、ＡＰＩ、又はメッセージ・バッファサイズを含むことができる。グローバライゼーション・データの組を識別することは、グローバライゼーション・テスト管理プロセスに関連した１つ又は複数のデータ・オブジェクトを、認識すること、抽出すること、確認すること、解決すること（resolving）、又はそれ以外に決定することを含むことができる。
【００６４】
第１のモジュール管理システム５５０の言語及びロケール収集動作５５１において、識別動作５２０は、イネーブル化言語の組及びロケールの組を収集することを含むことができる。実施形態において、１つ又は複数のソースコード解析ツールによりソースコードをスキャンしたことに応答して、イネーブル化言語の組及びロケールの組を収集することができる。一例として、実施形態において、ソースコード解析ツールは、ソースコードを構文解析して以下のコード「ｃｏｎｓｏｌｅ．ｌｏｇ（ｒｅｑ．ｈｅａｄｅｒ（’Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ’））；／／ｅｎ−ＧＢ，ｅｎ；ｑ＝０．８，ｆｒ；ｑ＝０．６，ｄｅ；ｑ＝０．４｝）；」を検出することができる。従って、コード解析ツールは、コード要素「ｅｎ−ＧＢ」がイギリス英語への参照（例えばＥｎｇｌｉｓｈ−Ｇｒｅａｔ  Ｂｒｉｔａｉｎ）であることを認識することができる。言語及びロケール収集動作５５１は、識別された言語「英語」及びロケール「英国」をグローバライゼーション・データとして抽出することができる。
【００６５】
バッファサイズ検出モジュール５５２において、識別動作５２０は、メッセージのバッファサイズを検出することを含むことができる。バッファサイズは、送信及び受信待ち行列に入れられたメッセージに割り当てられるメモリの量を示す値とすることができる。実施形態において、メッセージ・バッファサイズは、言語及びロケールに基づいて変化する場合がある。従って、グローバライゼーション・テスト管理プロセスの態様は、特定のソフトウェア・プログラムが配備される言語及びロケールに基づいてメッセージ・バッファサイズを検出すること及び調整することに向けられるものとすることができる。特定の実施形態において、理論的メッセージ・バッファサイズは、言語及びロケール収集動作５５１において抽出された言語及びロケール情報に基づいて計算することができる。例えば、特定の言語は、決められたバッファサイズ・インデックス（例えば、２．８）を有することができ、これをメッセージのサイズ値（例えば、１２キロバイト）と共に用いてメッセージの理論的バッファサイズを計算することができる（例えば、メッセージのサイズ値にバッファサイズ・インデックスを掛け合わせて理論的バッファサイズを計算することができる）。特定の実施形態において、ソースコード解析ツールでソースコードをスキャンしたことに応答してバッファサイズを得ることができる（例えば、メッセージ・バッファサイズはソースコード内に記録されている場合がある）。メッセージ・バッファサイズを検出する他の方法もまた可能である。
【００６６】
動作５５３において製品開発データ５０４のソースコードをスキャンしたことに応答して、動作５５４において、ソースコードの１つ又は複数のグローバライゼーション・サブルーチンを解決する（resolve）ことができる。グローバライゼーション・サブルーチンは、グローバライゼーション・プロセスの１つ又は複数の態様（ロケール設定、言語設定、数値形式、時間構成）に関連付けられたタスクを行うように構成された一連のプログラム命令を含むことができる。グローバライゼーション・サブルーチンを解決することは、ソースコードをスキャンしたことに応答して、グローバライゼーション・タスクに関連するサブルーチンの組を識別することを含むことができる。実施形態において、グローバライゼーション・サブルーチンを解決することは、コンパイルされたグローバライゼーション・サブルーチンのリストを含む参照データベースを調べること、及びソースコード内で用いられている各サブルーチンをこのグローバライゼーション・サブルーチンのリストと比較して、どのサブルーチンがグローバライゼーション・タスクに関係したものであるのか判定することを含むことができる。例えば、言語又は地域（例えば、ロケール）の検出／選択などのタスクに関連したサブルーチンをグローバライゼーション・サブルーチンとして識別することができる。一例として、サブルーチン「ｓｅｔｌｏｃａｌｅ（）」をグローバライゼーション・サブルーチンとして識別することができる（例えば、参照データベースは、これが地域についてのロケールデータを入手することに関連するものであることを示し得る）。グローバライゼーション・サブルーチンを解決する他の方法もまた可能である。
【００６７】
実施形態において、第１のモジュール管理システム５５０のパラメータ処理サブモジュール５６０は、グローバライゼーション・サブルーチンのサブルーチン・パラメータの組を処理するように構成することができる。サブルーチン・パラメータの組を処理することは、グローバライゼーション・データに対して実行される１つ又は複数のグローバライゼーション・テスト動作を識別することに向けられるものとすることができる。一般に、サブルーチン・パラメータは、グローバライゼーション・タスクの１つ又は複数に関連して定義されたアクションを指示する又は起動する、サブルーチンの特定の部分又は要素とすることができる（例えば、特定の言語又は通貨の選択、特定の数値又は通貨形式への変換）。サブルーチン・パラメータ検出モジュール５６１において、パラメータ処理サブモジュール５６０は、グローバライゼーション・サブルーチンの組により用いられているサブルーチン・パラメータの組を検出するように構成することができる。実施形態において、サブルーチン・パラメータの組を検出することは、解決されたサブルーチンの構文を解析して、グローバライゼーション・タスクに関係する呼出及びキーワード（例えば、言語、ロケール、形式、キャラクタ、時間、サブルーチンの論理的順序）を確認するように構成された、専用ソースコード解析技術を使用することを含むことができる。
【００６８】
以下の例を考える。製品開発データの組５０４のソースコードは、以下のコード行を含むものとする。
＃ｉｎｃｌｕｄｅ  ＜ｌａｎｇｉｎｆｏ．ｈ＞
＃ｉｎｃｌｕｄｅ  ＜ｌｏｃａｌｅ．ｈ＞
ｍａｉｎ（）
｛
ｃｈａｒ  ＊ｐｔｒ；
（ｖｏｉｄ）ｓｅｔｌｏｃａｌｅ（ＬＣ＿ＡＬＬ，  ””）；
ｐｔｒ  ＝  ｎｌ＿ｌａｎｇｉｎｆｏ（ＣＲＮＣＹＳＴＲ）；
｝
【００６９】
本明細書で説明したように、１つ又は複数のソースコード解析技術によって上記コードをスキャンすることができ、１つ又は複数のサブルーチンを解決することができる。例えば、上記ソースコードを参照すると、サブルーチン「ｓｅｔｌｏｃａｌｅ」及び「ｎｌ＿ｌａｎｇｉｎｆｏ」を識別することができる（例えば、これらのサブルーチンの両方が、参照データベース内でグローバライゼーション・タスクに関連したサブルーチンとしてリスト化されているものとすることができる）。サブルーチンの組を解決したことに応答して、ソースコード解析技術によってサブルーチンを処理して、１つ又は複数のサブルーチン・パラメータを検出することができる。例えば、特定の実施形態において、「ｓｅｔｌｏｃａｌｅ」サブルーチンに関して、パラメータ「（ＬＣ＿ＡＬＬ，””）」を検出することができ、「ｎｌ＿ｌａｎｇｉｎｆｏ」サブルーチンに関して、パラメータ「ＣＲＮＣＹＳＴＲ」を検出することができる。特定の実施形態において、個々のサブルーチンに対するサブルーチン・パラメータもまた参照データベース内にリスト化されている場合がある。サブルーチン・パラメータを検出する他の方法もまた可能である。
【００７０】
パラメータ解析動作５６２において、パラメータ処理サブモジュールは、サブルーチン・パラメータ検出モジュール５６１によって検出されたサブルーチン・パラメータを解析するように構成される。サブルーチン・パラメータを解析することは、サブルーチン・パラメータを検査すること、及び、特定のサブルーチン・パラメータと１つ又は複数のグローバライゼーション・テスト動作との関係を確認することを含むことができる。本明細書で説明したように、グローバライゼーション・テスト動作は、翻訳可能性テスト動作、符号化テスト動作、又はトランケーション・テスト動作のうちの少なくとも１つを含むことができる。サブルーチン・パラメータを解析することは、サブルーチン・パラメータの機能を判定し、これを対応するグローバライゼーション・テスト動作とマッチングするように構成された機械学習技術を用いることを含むことができる。実施形態において、機械学習技術は、サブルーチンを実行し、結果を観察して、サブルーチン・パラメータの機能を判定することができる。例えば、上記の例を参照すると、機械学習技術は、コードを実行し、サブルーチン・パラメータ「ＣＲＮＣＹＳＴＲ」が現在のローカルに対する通貨ストリング（例えば、通貨記号）（例えば、米国ドルに対する＄）を取得するように機能することを観察することができる。
【００７１】
サブルーチン・パラメータの機能／結果を観察したことに応答して、機械学習技術は、サブルーチン・パラメータ及びコード実行の結果を、過去のサブルーチン・パラメータと関連付けられたグローバライゼーション・テスト動作とについての集積されたデータのコーパスと比較することができる。この比較に基づいて、パラメータ・マッピング動作５６３において、機械学習技術は、サブルーチン・パラメータを対応するグローバライゼーション・テスト動作にマッピングするように構成することができる。一般に、サブルーチン・パラメータをマッピングすることは、そのサブルーチン・パラメータの機能に実質的に関連するグローバライゼーション・テスト動作に、サブルーチン・パラメータをマッチングすること、割り当てること、ソートすること、又はそれ以外に分類することを含むことができる。例えば、特定の実施形態において、サブルーチン・パラメータ「ＣＲＮＣＹＳＴＲ」は、符号化テスト動作にマッピングすることができる（例えば、コーパス内の集積データに基づいて、ロケールについての通貨ストリングを取得することは、典型的には符号化動作として分類することができる）。サブルーチン・パラメータをマッピングする他の方法もまた可能である。実施形態において、解析されたサブルーチン・パラメータ及び対応するグローバライゼーション・テスト動作に関するデータを、グローバライゼーション・データの組に含めることができる。
【００７２】
伝送動作５３０において、グローバライゼーション・データの組を識別したことに応答して、グローバライゼーション・データの組を伝送することができる。一般に、グローバライゼーション・データの組を伝送することは、グローバライゼーション・データの組を送信すること、搬送すること、中継すること、転送すること、又はそれ以外の通信を含むことができる。本明細書で説明したように、特定の実施形態において、本開示の態様は、グローバライゼーション・データの組を、クライアント側グローバライゼーション特徴抽出器からクライアント側グローバライゼーション・テスト・アプリケーション・プログラミング・インタフェース（ＡＰＩ）に伝送して、グローバライゼーション・テストを受けさせることに向けられる。一例として、実施形態において、グローバライゼーション・テストＡＰＩによるアクセスのために、グローバライゼーション・データの組を共有サーバにアップロードすることができる。実施形態において、グローバライゼーション・データの組をサーバ側テスト環境に直接伝送することができる（例えば、セキュアなネットワーク接続を介した実時間データ転送）。グローバライゼーション・データの組の他の伝送方法もまた可能である。
【００７３】
本開示の態様は、実施形態において、グローバライゼーション・データの組をサーバ側グローバライゼーション・テスト環境に伝送するときにソースコードを開示することが望ましくない場合があることの認識に関連する。従って、クライアント側グローバライゼーション特徴抽出器からサーバ側グローバライゼーション・テスト環境へ伝送されるグローバライゼーション・データの組は、製品開発データ５０４の組のソースコードを含まない場合がある。例えば、グローバライゼーション・データの組の識別後に、グローバライゼーション・データの組以外のソースコードを製品開発データ５０４の組から除去することができる。実施形態において、権限のない閲覧者がアクセスできないようにソースコードを暗号化することができる。
【００７４】
本開示の態様は、グローバライゼーション・テストのための方法の態様を実装するように構成されたグローバライゼーション・テスト・サブモジュール５７１を含む第２のモジュール管理システム５７０に関連する。実施形態において、グローバライゼーション・テスト・サブモジュール５７１は、グローバライゼーション・テスト管理システム５０５及び第１のモジュール管理システム５５０とは物理的に分離したコンピュータ又はネットワーク上に位置することができる。グローバライゼーション・テスト・サブモジュール５７１は、グローバライゼーション・データ受領動作５７２、グローバライゼーション・テスト出力決定モジュール５７３、及びグローバライゼーション・テスト出力プロビジョニングモジュール５７４を含むことができる。
【００７５】
グローバライゼーション・データ受領モジュール５７２において、グローバライゼーション・テスト・サブモジュール５７１は、グローバライゼーション・テスト管理システム５０５の伝送動作５３０によって伝送されたグローバライゼーション・データを受領するように構成することができる。本明細書で説明したように、グローバライゼーション・データを受領することは、グローバライゼーション・データの伝送を受け取ること、共有ストレージ・デバイス上のグローバライゼーション・データにアクセスすること、又は伝送動作５３０にアクセス要求を提出することを含むことができる。グローバライゼーション・データの組を受領したことに応答して、グローバライゼーション・テスト出力決定モジュール５７３は、グローバライゼーション・テスト動作の組を用いてグローバライゼーション・データの組を処理することを含むことができる。例えば、グローバライゼーション・テスト出力決定モジュール５７３は、本明細書で説明したグローバライゼーション・テスト動作（例えば、トランケーション動作、符号化動作、翻訳動作）のうちの１つ又は複数をグローバライゼーション・データの組に適用することができる。実施形態において、グローバライゼーション・テスト出力決定動作５７３において行われるグローバライゼーション・テスト動作は、動作５６３において１つ又は複数のサブルーチン・パラメータをグローバライゼーション・テスト動作にマッピングしたことに基づくことができる。グローバライゼーション・テスト出力は、グローバライゼーション・テスト動作をグローバライゼーション・データの組に適用したことに応答して生成される結果又は成果とすることができる。
【００７６】
グローバライゼーション・テスト出力プロビジョニング動作５７４において、グローバライゼーション・テスト出力決定動作５７３において生成されたグローバライゼーション・テスト出力を、１つ又は複数のデバイス、組織、個人、又は他のエンティティに提供することができる。実施形態において、グローバライゼーション・テスト出力は、その製品開発データ５０４の組を受領した相手のクライアントに提供することができる。実施形態において、動作５７５において、グローバライゼーション・テスト出力を１つ又は複数の受領者（例えばクライアント）が受領することができる。本明細書で説明したように、グローバライゼーション・テスト出力をグローバライゼーション・テスト・サブモジュール５７１から受領者に直接送信することができ、又はグローバライゼーション・テスト出力を１つ又は複数の受領者がアクセス可能な共有ストレージ・デバイス上に格納することができる。実施形態において、テスト出力提示動作５７６において、第２のモジュール管理システム５７０は、テスト出力を提示するように構成することができる。テスト出力を提示することは、グローバライゼーション・データに対して行われたグローバライゼーション動作の視覚的説明（例えば、スライドショー、対話型ウォークスルー）を生成することを含むことができる。テスト出力提示５７６を用いて、複数国での使用に合わせてグローバライゼーション・データを構成するためにグローバライゼーション・データに対してなされた変更を示すことができる。他のテスト出力提示方法もまた可能である。
【００７７】
本開示の態様は、実施形態において、グローバライゼーション検証テスト・プロセスの態様を従量料金制（ｐａｙ−ａｓ−ｙｏｕ−ｇｏ）オンライン・サービスとして実装することに向けられる。従って、テスト管理計量動作５７７において、第２のモジュール管理システム５７０は、グローバライゼーション・テスト管理動作を計量してグローバライゼーション検証プロセスに対する料金を評価することを含むことができる。実施形態において、グローバライゼーション検証プロセスの料金は、グローバライゼーション検証プロセスによって改訂が必要とされるソースコードの部分の数に基づいて決定することができる（例えば、改訂の数が多いほど高い料金に対応するものとすることができる）。実施形態において、料金は、グローバライゼーション・テスト・サブモジュール５７１が受領したグローバライゼーション・データのサイズに基づいて決定することができる（例えば、大きいファイルサイズほど高い料金に関連付けることができる）。特定の実施形態において、グローバライゼーション・テスト・サブモジュールの特徴をユーザに対して個別にリースすることができ、その料金は、段階的価格構造及びリースされた特徴に基づいて決定される。他のグローバライゼーション・テスト管理動作計量方法もまた可能である。インボイス生成モジュール５７８において、行われたサービス、料金及び他の支払項目を記述したインボイス又は請求書を生成することができる。生成されたインボイスは、支払のためにユーザに提供する（例えば、電子メールよる送信又は転送、テキストメッセージ、郵送）ことができる。
【００７８】
図６を参照すると、グローバライゼーション・テスト管理システム６００を示すブロック図が示されている。実施形態において、システム６００は、サーバ側グローバライゼーション・テストシステムに対応するものとすることができる。従って、図６の態様は、グローバライゼーション・データの組をクライアント側開発環境から受領し、１つ又は複数のグローバライゼーション・テスト動作を行うことに向けられている。図６に示されているように、システム６００は、データソース６０２、グローバライゼーション・データ６０４の組、グローバライゼーション・テスト管理システム６０５、受領動作６１０、決定動作６２０、提供動作６３０、第１のモジュール管理システム６５０、第２のモジュール管理システム６８０、並びにグローバライゼーション・テスト管理のための方法の態様を実装するように構成された多数のサブモジュール及び動作を含むことができる。
【００７９】
図６に示すように、システム６００は、データソース６０２を含むことができる。種々の実施形態において、データソース６０２は、図５のデータソース５０２に対応するものとすることができる。特定の実施形態において、データソースは、クライアント側開発環境とサーバ側グローバライゼーション・テスト・システムとの間で共有されたストレージ・デバイス又はサーバとすることができる。実施形態において、データソース６０２は、グローバライゼーション・データ６０４の組を含むことができる。本明細書で説明したように、グローバライゼーション・データ６０４は、クライアント側特徴抽出器（例えば、図５のグローバライゼーション・テスト管理システム５０５）から受領することができる。グローバライゼーション・データ６０４は、図５の製品開発データ５０４のソースコードから収集された、イネーブル化言語識別子、ロケール識別子、ルーチン識別子、ＡＰＩ識別子、又はメッセージ・バッファサイズ値を含むことができる。他の型式のグローバルデータ６０４もまた可能である。
【００８０】
本明細書で説明したように、グローバライゼーション・テスト管理システム６０５は、受領動作６１０、決定動作６２０、及び提供動作６３０を含むことができる。受領動作６１０において、グローバライゼーション・データ６０４の組をグローバライゼーション・テスト管理システム６０５によって受領することができる。本明細書で説明したように、グローバライゼーション・データ６０４の組を受領することは、（例えば、図５の伝送ブロック５３０から）グローバライゼーション・データの伝送を受け取ること、共有ストレージ・デバイス（例えば、データソース６０２）上のグローバライゼーション・データにアクセスすること、又はクライアント側開発環境に対して、グローバライゼーション・データ６０４の組の閲覧、編集、又は収集の許可を与えることを求めるアクセス要求を提出することを含むことができる。グローバライゼーション・データ６０４の組を受領する他の方法もまた可能である。
【００８１】
動作６２０において、グローバライゼーション・テスト動作の組を用いてグローバライゼーション・データの組を処理することによって、グローバライゼーション・テスト出力を決定することができる。グローバライゼーション・テスト出力を決定することは、受領動作６１０において収集されたグローバライゼーション・データの組に対してグローバライゼーション・テスト動作の組のうちの１つ又は複数を行うことを含むことができる。本明細書で説明したように、グローバライゼーション・テスト出力は、１つ又は複数のグローバライゼーション・テスト動作によって生成されたグローバライゼーション・データの組の定量的評価を含むことができる。例えば、グローバライゼーション・テスト出力は、グローバライゼーション・データがグローバルな配備に対して準備されているかどうか判定するように構成されたグローバライゼーション基準の組に関するグローバライゼーション・データの査定を含むことができる。実施形態において、第１のモジュール管理システム６５０のテスト動作サブモジュール６６０は、グローバライゼーション・データ６０４の組と共に用いるための、翻訳可能性テスト動作６６１、符号化テスト動作６６２、又はトランケーション・テスト動作６６３のうちの１つ又は複数を選択するように構成することができる。グローバライゼーション・データの組に対して行うように選択される１つ又は複数のグローバライゼーション・テスト動作は、図５のパラメータ・マッピング動作５６３の結果に基づくものとすることができる。例えば、翻訳可能性テスト動作に対してマッピングされたサブルーチン・パラメータは、翻訳可能性テスト動作６６１において処理することができる。グローバライゼーション・テスト出力を決定する他の方法もまた可能である。
【００８２】
動作６３０において、グローバライゼーション・テスト出力を（例えば、グローバライゼーション・テスト動作のうちの１つ又は複数を用いて）決定したことに応答してグローバライゼーション・テスト出力を提供することができる。一般に、グローバライゼーション・テスト出力を提供することは、グローバライゼーション・テスト出力を転送すること、配布すること、配信すること、提示すること、表示すること、又はそれ以外に搬送することを含むことができる。実施形態において、テスト出力サブモジュール６７０は、テスト出力を提供するための１つ又は複数の動作を選択するように構成することができる。明示的に説明された動作以外の他の動作もまた可能である。
【００８３】
実施形態において、合格／不合格指示動作６７１において、グローバライゼーション・テスト出力を提供することは、合格インジケータ又は不合格インジケータを提供することを含むことができる。合格又は不合格インジケータは、そのグローバライゼーション・データが、グローバルな配備の準備ができた状態にあると判定されたのか（例えば合格インジケータ）又は改訂が必要と判定されたのか（例えば不合格インジケータ）を表す、メッセージ、査定、評価、又はその他の表示とすることができる。特定の実施形態において、合格又は不合格インジケータは、グローバライゼーション・データに対して行われたグローバライゼーション・テスト動作の各グローバライゼーション基準に対して提供することができる。一例として、符号化テスト動作は、ロケール−キャラクタ・セット対応（Ｌｏｃａｌｅ−Ｃｈａｒａｃｔｅｒ  Ｓｅｔ  Ｃｏｒｒｅｓｐｏｎｄｅｎｃｅ）（例えば、グローバライゼーション・データ内で用いられている文字、数字及びその他のキャラクタが、それらが使用される地域に対応していることを検証すること）、キャラクタ符号化（Ｃｈａｒａｃｔｅｒ  Ｅｎｃｏｄｉｎｇ）（例えば、キャラクタに対して用いられている符号化が目標ロケールのデバイスによってサポートされていることの検証）、及びキャラクタ可読性（Ｃｈａｒａｃｔｅｒ  Ｒｅａｄａｂｉｌｉｔｙ）（例えば、キャラクタがある範囲のフォント及び文字サイズで正しく表示されること及び可読であることの検証）といったグローバライゼーション基準を含むことができる。他のグローバライゼーション基準もまた可能である。従って、達成された各グローバライゼーション基準に対して合格インジケータを提供することができ、一方、達成できていない各グローバライゼーション基準に対して不合格インジケータを提供することができる。
【００８４】
実施形態において、テスト出力伝送動作６７２において、グローバライゼーション・テスト出力を提供することは、グローバライゼーション・テスト出力を伝送することを含むことができる。動作６７２においてグローバライゼーション・テスト出力を伝送することは、図５の伝送動作５３０に実質的に対応するものとすることができる。実施形態において、グローバライゼーション・テスト出力を伝送することは、グローバライゼーション・テスト出力を物理的に分離したコンピュータ又は他のデバイスに送信することを含むことができる。例えば、伝送することは、グローバライゼーション・テスト出力を、その後の（例えば、合格／不合格指示動作６７１において合格インジケータを達成しなかったグローバライゼーション・データの態様の）改訂のために、クライアント側開発環境に送信することを含むことができる。実施形態において、伝送は、グローバライゼーション・テスト出力を下流でのレビュー、ファイナライズ又は処理のために第三者エンティティに送信することを含むことができる。グローバライゼーション・テスト出力の他の伝送方法、並びに他の受領者もまた可能である。
【００８５】
図７を参照すると、グローバライゼーション・テスト管理システム７００を示すブロック図が示されている。実施形態において、システム７００の態様は、グローバライゼーション・データの組に対して１つ又は複数のグローバライゼーション・テスト動作を行うことに向けられている。図７に示すように、システム７００は、データソース７０２、グローバライゼーション・データ７０４の組、グローバライゼーション・テスト管理システム７０５、収集動作７１０、決定動作７２０、処理動作７３０、及び確立モジュール７４０を含むことができる。システム７００はまた、第１のモジュール管理システム７５０、第２のモジュール管理システム７７０、並びにグローバライゼーション・テスト管理のための方法の態様を実装するように構成された多数のサブモジュール及び動作を含むことができる。実施形態において、グローバライゼーション・テスト管理システム７０５は、図６の決定動作６２０に対応するものとすることができる。
【００８６】
図７に示すように、システム７００は、データソース７０２を含むことができる。種々の実施形態において、データソース７０２は、図５／図６のデータソース５０２／６０２に対応するものとすることができる。特定の実施形態において、データソースは、クライアント側開発環境とサーバ側グローバライゼーション・テスト・システムとの間で共有されたストレージ・デバイス又はサーバとすることができる。実施形態において、データソース７０２は、グローバライゼーション・データ７０４の組を含むことができる。本明細書で説明したように、グローバライゼーション・データ７０４は、クライアント側特徴抽出器（例えば、図５のグローバライゼーション・テスト管理システム５０５）から受領することができる。グローバライゼーション・データ７０４は、図５の製品開発データ５０４のソースコードから収集された、イネーブル化言語識別子、ロケール識別子、ルーチン識別子、ＡＰＩ識別子、又はメッセージ・バッファサイズ値を含むことができる。他の型式のグローバルデータ７０４もまた可能である。
【００８７】
本明細書で説明したように、グローバライゼーション・テスト管理システム７０５は、収集動作７１０、決定動作７２０、処理動作７３０、及び確立動作７４０を含むことができる。収集動作７１０において、グローバライゼーション・テスト動作の組を用いた処理のために、グローバライゼーション・データの組７０４を収集することができる。実施形態において、グローバライゼーション・データの組７０４を収集することは、グローバライゼーション・テスト管理システム７０５によってグローバライゼーション・データ７０４を取得することを含むことができる。例えば、グローバライゼーション・データの組７０４を収集することは、（例えば、クライアント側開発環境から）グローバライゼーション・データ７０４の直接伝送を受領すること、又はデータソース７０２などの共有ストレージ・デバイス上のグローバライゼーション・データにアクセスすることを含むことができる。実施形態において、グローバライゼーション・データの組を収集することは、別のプログラム又はソフトウェア動作からグローバライゼーション・データの組を摂取すること又はインポートすることを含むことができる。グローバライゼーション・データの組７０４の他の収集方法もまた可能である。
【００８８】
決定動作７２０において、グローバライゼーション・テスト管理システム７０５は、グローバライゼーション・データの組に基づいて１つ又は複数のグローバライゼーション・テスト動作の実行を決定することを含むことができる。一般に、グローバライゼーション・テスト動作の実行を決定することは、グローバライゼーション・データ７０４を解析することと、１つ又は複数のグローバライゼーション・テスト動作がグローバライゼーション・データ７０４に対する実行に適用可能であるか否かを確認することと、を含むことができる。実施形態において、第１のモジュール管理システム７５０のグローバライゼーション・データ解析動作７５１は、グローバライゼーション・データ解析を行うように構成することができる。グローバライゼーション・データ解析動作７５１は、図５のソースコード・スキャン動作５５３に実質的に対応するものとすることができる。
【００８９】
例えば、解析することは、抽出すること（例えば、導出を作成すること（creatinga derivation））、検査すること（例えば、点検（inspection）を行うこと）、スキャンすること（例えば、サンプルをレビューすること）、評価すること（例えば、査定を生成すること）、吟味すること（dissecting）（例えば、属性を精査すること）、解決すること（例えば、観察／結論／回答を確かめること）、構文解析すること（例えば、構造を解読すること）、クエリすること（例えば、質問すること）、検索すること（例えば、理由／証拠／動機を探査すること）、比較すること（例えば、評価を関連付けること）、分類すること（例えば、名称を割り当てること）、又はカテゴリ化すること（例えば、特徴により組織化すること）を含むことができる。データ解析は、有用な情報を発見し、結論を示唆し、又は決定を支援するために、データを点検すること、クリーニングすること、伝送すること、又はモデル化することを含むことができる。データ解析は、データセットから情報／パターンを抽出し、これを変形／翻訳して、さらなる使用のための理解可能な構造（例えば、提供／供給することができるデータレポート）にすることができる。
【００９０】
実施形態において、グローバライゼーション・データ解析動作７５１において、１つ又は複数のソースコード解析技術を利用してグローバライゼーション・データ７０４を検査することができる。例えば、グローバライゼーション・データ７０４を検査して、グローバライゼーション・データ７０４を含むソフトウェア・アプリケーションが複数の国におけるリリースを計画しているかどうか判定することができる（例えば、ソフトウェア・サマリ、ソースコードの要素、クライアント指示などに基づいて）。実施形態において、決定動作７２０は、１つ又は複数のグローバライゼーション・テスト動作の適用可能性を示す１つ又は複数のサブルーチンを検出するように構成することができる。一例として、決定動作は、時間表示を書式設定するために用いられる「ｗｃｓｆｔｉｍｅ」サブルーチンを検出することができる（例えば、時間表示形式は、そのソフトウェア・アプリケーションが表示されるロケールに基づいて変化する場合がある）。従って、「ｗｃｓｆｔｉｍｅ」サブルーチンを検出したことに応答して、決定動作７２０は、１つ又は複数のグローバライゼーション・テスト動作（例えば、符号化動作）の実行を決定することができる。
【００９１】
実施形態において、解析することは、グローバライゼーション・データ構文解析動作７５２においてグローバライゼーション・データ７０４を構文解析することを含むことができる。グローバライゼーション・データ７０４の組を構文解析することは、イネーブル化言語識別子、ロケール識別子、ルーチン識別子、ＡＰＩ識別子、又はメッセージ・バッファサイズ値のうちの１つ又は複数をグローバライゼーション・データ７０４から抽出することを含むことができる。グローバライゼーション・データ７０４内のこれらの要素のうちの１つ又は複数を検出したことに応答して、決定動作７２０は、１つ又は複数のグローバライゼーション・テスト動作の実行を決定することができる。グローバライゼーション・テスト動作の実行を決定する他の方法もまた可能である。
【００９２】
テスト動作選択モジュール７５３において、１つ又は複数のグローバライゼーション・テスト動作を選択することができる（例えば、グローバライゼーション・データの組を解析したことに応答して）。実施形態において、グローバライゼーション・テスト動作は、グローバライゼーション・テスト動作の候補群から選択することができる。本明細書で説明したように、グローバライゼーション・テスト動作の候補群は、トランケーション動作、翻訳動作、及び符号化動作を含むことができる。他のグローバライゼーション・テスト動作もまた可能である。実施形態において、グローバライゼーション・データ７０４に対して実行するためのグローバライゼーション・テスト動作を選択することは、図５のパラメータ・マッピング動作５６３に実質的に対応するものとすることができる。例えば、機械学習技術は、グローバライゼーション・データのサブルーチン・パラメータを、過去のサブルーチン・パラメータと関連付けられたグローバライゼーション・テスト動作についての集積データのコーパスと比較して、１つ又は複数のサブルーチン・パラメータを対応するグローバライゼーション・テスト動作に対してマッピングすることができる。例えば、サブルーチン・パラメータ「ＬＣ＿ＭＥＳＳＡＧＥＳ」は、翻訳テスト動作にマッピングすることができる（例えば、コーパス内の集積データに基づいて、このサブルーチン・パラメータがメッセージ／応答の生成と、ローカル言語でのソフトウェア・ダイアログ・メニューとに関連しており、従って翻訳動作に対応することを判定することができる）。
【００９３】
本明細書で説明したように、グローバライゼーション・テスト動作は、翻訳動作（例えば、翻訳可能性検証テスト動作）を含むことができる。翻訳動作の態様は、第１のモジュール管理システム７５０の翻訳動作サブモジュール７６０において実装することができる。翻訳動作は、メッセージ及びプログラム・テキストが所与のロケールに対して適正な言語で表示されることを検証するように構成することができる。この検証を行うことは、グローバライゼーション・サブルーチン呼出順序抽出動作７６１を使用してソースコードのプログラム論理を検査して、サブルーチンが適正な順序で実行されて、翻訳されたメッセージを特定の言語で表示するための適正なパラメータを起動するかどうか判定することを含むことができる。グローバライゼーション・サブルーチン呼出順序は、翻訳されたメッセージを表示するためにグローバライゼーション・データの組７０４の中で用いられるＡＰＩコマンドの順序又はシーケンスを含むことができる。従って、動作７６１において、本開示の態様は、検出されたグローバライゼーション・サブルーチン呼出順序をグローバライゼーション・データ７０４の組から抽出することに関連する。グローバライゼーション・サブルーチン呼出順序は、本明細書で説明したソースコード解析技術のうちの１つ又は複数を用いて検出することができる。実施形態において、ソースコード内で検出されるグローバライゼーション・サブルーチン呼出順序を、中国語の翻訳メッセージを表示することに向けられたものとすることができる。一例として、グローバライゼーション・データの組から抽出されたグローバライゼーション・サブルーチン呼出順序を、「ｃａｔｏｐｅｎ（翻訳されたメッセージファイルをロードして開く）→ｓｅｔｌｏｃａｌｅ（ロケールを設定する）→ｃａｔｇｅｔｓ（正しい翻訳メッセージを入手する）→ｐｒｉｎｔ（翻訳メッセージ）」（これは、動作７６１に従って抽出された順序であり得る）とすることができる。他のグローバライゼーション・サブルーチン呼出順序もまた可能である。
【００９４】
翻訳動作サブモジュール７６０のプロファイル順序検出モジュール７６２において、開示の態様は、ロケールについてのプロファイル順序を検出することを含むことができる。ロケールについてのプロファイル順序は、特定の言語の翻訳メッセージを表示するためのＡＰＩコマンドの適正なシーケンスを含むことができる（例えば、他方で、グローバライゼーション・サブルーチン呼出順序は、グローバライゼーション・データ内で見いだされる実際の呼出順序である）。実施形態において、参照データベース（例えば、図５におけるサブルーチン・マッピングのために用いられる参照データベース）は、多数のロケールについてのプロファイル順序を含む場合がある。プロファイル順序検出モジュール７６２は、参照データベースにアクセスして、グローバライゼーション・データの組の目標ロケールに対して対応するプロファイル順序を検出するように構成することができる。一例として、プロファイル順序検出モジュール７６２は、中国語翻訳メッセージを表示するためのコマンドのシーケンスが「ｓｅｔｌｏｃａｌｅ（ロケールを設定する）→ｃａｔｏｐｅｎ（翻訳されたメッセージファイルをロードして開く）→ｃａｔｇｅｔｓ（正しい翻訳メッセージを入手する）→ｐｒｉｎｔ（翻訳メッセージ）」（これは、適正かつ予期された順序であり得る）であるべきことを検出することができる。
【００９５】
翻訳評価動作７６３において、翻訳動作サブモジュール７６０は、ロケールについての翻訳評価を決定するように構成することができる。実施形態において、ロケールについての翻訳動作を判定することは、グローバライゼーション・サブルーチン呼出順序をプロファイル順序と比較することによって決定することができる。グローバライゼーション・サブルーチン呼出順序が参照データベースのプロファイル順序と一致している場合、グローバライゼーション・データに合格インジケータを割り当てることができ、一方、グローバライゼーション・サブルーチン呼出順序がプロファイル順序と一致していない場合に不合格インジケータを割り当てることができる。本明細書で説明した例を再び参照すると、製品順序「ｃａｔｏｐｅｎ（翻訳されたメッセージファイルをロードして開く）→ｓｅｔｌｏｃａｌｅ（ロケールを設定する）→ｃａｔｇｅｔｓ（正しい翻訳メッセージを入手する）→ｐｒｉｎｔ（翻訳メッセージ）」を、プロファイル順序「ｓｅｔｌｏｃａｌｅ（ロケールを設定する）→ｃａｔｏｐｅｎ（翻訳されたメッセージファイルをロードして開く）→ｃａｔｇｅｔｓ（正しい翻訳メッセージを入手する）→ｐｒｉｎｔ（翻訳メッセージ）」と比較することができる。実施形態において、翻訳評価動作７６３は、グローバライゼーション・データ７０４の製品順序が、そのロケールに対して参照データベースでリスト化されているプロファイル順序と一致していないと判定することができる。従って、翻訳評価動作７６３によってグローバライゼーション動作に不合格インジケータを割り当てることができる。
【００９６】
本明細書で説明したように、グローバライゼーション・テスト動作は、符号化動作を含むことができる。符号化動作の態様は、第２のモジュール管理システム７７０の符号化動作サブモジュール７８０において実装することができる。符号化動作は、テキスト及びメッセージが、所与のロケール及び言語環境に対して適正なキャラクタ・セット及び符号化を用いて表示されることを検証するように構成することができる。従って、製品キャラクタ・データ抽出動作７８１は、製品キャラクタ・データの組をグローバライゼーション・データ７０４の組から抽出するように構成することができる。製品キャラクタ・データの組は、グローバライゼーション・データ７０４内のメッセージ及びテキストを表示するために用いられるキャラクタ・セットについての、コード、名称、エイリアス、又は他の識別子とすることができる。例えば、ＩＢＭ−８５６は、ヘブライ文字をサポートするために用いられるキャラクタ・セットの例とすることができる。実施形態において、製品キャラクタ・データを抽出することは、グローバライゼーション・データ７０４の組を構文解析することと、製品キャラクタ・データが明示的に起動される又は呼び出されるサブルーチン又はコマンド（例えば、「ｃｈａｒｓｅｔ"ＩＢＭ−８５６"」）の位置を突き止めることを含むことができる。実施形態において、製品キャラクタ・データの組を抽出することは、目標キャラクタ・セットのサンプル・テキストを抽出すること、及びこれを既知の製品キャラクタ・データ・セットのデータベースと比較してこれを識別することを含むことができる。製品キャラクタ・データの組を抽出する他の方法もまた可能である。
【００９７】
プロファイル・キャラクタ・データ検出動作７８２において、符号化動作サブモジュール７８０は、ロケールについての製品キャラクタ・データの組を検出するように構成することができる。ロケールについての製品キャラクタ・データは、特定の国又は地域での使用に対して検証された１つ又は複数の標準化されたキャラクタ・セットとすることができる。ロケールについての製品キャラクタ・データの組を検出することは、リスト化されたロケールと対応する標準化キャラクタ・セットとのインデックス又は辞書を調べることを含むことができる。一例として、特定の実施形態において、韓国でのリリースを意図したソフトウェア・アプリケーションの場合、プロファイル・キャラクタ検出動作７８２は、インデックス又は標準化キャラクタ・セットを調べて、「ＩＢＭ−ｅｕｃＫＲ」コードセットが韓国語圏の国をサポートするために用いられる工業的標準コード・セットであることを検出することができる。プロファイル・キャラクタ・データの組を検出する他の方法もまた可能である。
【００９８】
符号化評価決定モジュール７８３において、符号化動作サブモジュール７８０は、ロケールについての符号化評価を決定するために、製品キャラクタ・データの組とプロファイル・キャラクタ・データの組とを比較するように構成することができる。一般に、製品キャラクタ・データの組がプロファイル・キャラクタ・データの組に対応していない場合、関連するキャラクタ・セット及び言語構成は正しくない場合がある。例えば、日本でのリリースを意図したソフトウェア・アプリケーションにおけるシナリオが「ＩＢＭ−ｅｕｃＴＷ」製品キャラクタ・データ・セットを使用していると判定された場合を考える。製品キャラクタ・データの組を検出されたプロファイル・キャラクタ・データの組と比較したことに応答して、適正な言語構成は「ＩＢＭ−ｅｕｃＪＰ」であることを判定することができる。従って、「ＩＢＭ−ｅｕｃＴＷ」製品キャラクタ・セットは適正ではないと判定することができ（例えば、現在の構成は、文字化け／判読不可能なキャラクタの表示をもたらす場合がある）、符号化動作は、グローバライゼーション・データ７０４に不合格インジケータを割り当てることができる。グローバライゼーション・データ７０４の符号化を評価する他の方法もまた可能である。
【００９９】
本明細書で説明したように、グローバライゼーション・テスト動作は、トランケーション動作を含むことができる。トランケーション動作の態様は、第２のモジュール管理システム７７０のトランケーション動作サブモジュール７９０において実装することができる。トランケーション動作は、数値、日付、通貨及び他のキャラクタが所与のロケールに対して適正な言語及び形式で表示されていることを検証するように構成することができる。さらに、トランケーション動作の態様は、翻訳言語でのメッセージ及びダイアログに対するバッファ・ファイルサイズを検証することに向けられるものとすることができる。従って、トランケーション動作の態様は、翻訳言語に対する理論的バッファサイズを計算することに向けられるものとすることができる。本明細書で説明したように、バッファサイズは、ユーザに提示されるために待ち行列に入れられたメッセージ（例えば、プログラム使用データ、ヘルプダイアログ、エラーメッセージ、警告、プログラムステータス）に割り当てられたメモリの量を示す値とすることができる。実施形態において、メッセージ・バッファサイズは、言語又はロケールに基づいて変化し得る。従って、トランケーション動作サブモジュール７９０の態様は、特定のソフトウェア・プログラムが配備される言語及びロケールに基づいて、メッセージ・バッファサイズを検出すること及び評価することに向けられるものとすることができる。
【０１００】
実施形態において、第１言語製品バッファサイズ抽出動作７９１において、第２のモジュール管理システム７７０は、グローバライゼーション・データから第１言語に対する製品バッファサイズを抽出するように構成することができる。実施形態において、理論的メッセージ・バッファサイズを計算することは、グローバライゼーション・データ７０４から抽出された言語及びロケール情報に基づくことができる。例えば、第１言語製品バッファサイズ抽出動作は、グローバライゼーション・データのサブルーチンに基づいて第１言語を検出することができる。一例として、サブルーチン「ｃｏｎｓｏｌｅ．ｌｏｇ（ｒｅｑ．ｈｅａｄｅｒ（’Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ’））；／／ｅｎ−ＧＢ，ｅｎ；ｑ＝０．８，ｆｒ；ｑ＝０．６，ｄｅ；ｑ＝０．４｝）；」に基づいて、第１言語を英国英語として検出することができる（例えば、コード「ｅｎ−ＧＢ」は、英国英語に対応すると認識することができる）。
【０１０１】
第１言語を検出したことに応答して、第２言語プロファイル・バッファサイズ抽出動作７９２において、第２言語に対するプロファイル・バッファサイズを検出することができる。実施形態において、第２言語は、第１言語がそれに翻訳されるように構成された目標言語とすることができる。第２言語プロファイル・バッファサイズを検出することは、バッファサイズ・インデックスを調べて、第２言語に対するバッファサイズ・インデックス値を判定することを含むことができる。バッファサイズ・インデックス値は、基準言語と比べた目標言語のメッセージを格納するために必要なメモリの相対量を示すものであり、特定の言語に対して一定の値であり得る。従って、第２言語プロファイル・バッファサイズ抽出動作７９２において、バッファサイズ・インデックスを調べて、第２言語に対するバッファサイズ・インデックス値を判定することができる。一例として、ソフトウェア・アプリケーションのメッセージを日本語で表示しようとする（例えば、英国英語から日本語に翻訳される）シナリオにおいて、バッファサイズ・インデックスは、日本語に対するバッファサイズ・インデックス値が英語に対して２．８であることを示し得る。
【０１０２】
予測バッファサイズ計算動作（projected buffer size computationoperation）７９３において、トランケーション動作サブモジュール７９０は、製品バッファサイズ及びプロファイル・バッファサイズを用いてメッセージに対する予測バッファサイズを計算するように構成することができる。予測バッファサイズは、第１言語から第２言語に翻訳された１つ又は複数のメッセージが必要とすることが予測されるメモリ量の見積もり計算値とすることができる。特定の実施形態において、予測バッファサイズを計算することは、製品バッファサイズ（例えば、第１言語の）及びプロファイル・バッファサイズ（例えば、第２言語バッファサイズ・インデックス値）の関数とすることができる。例えば、予測バッファサイズは、製品バッファサイズとプロファイル・バッファサイズとの積とすることができる。一例として、英国英語のメッセージのプロファイル・バッファサイズが２キロバイトであり、日本語のバッファサイズ・インデックス値が２．３８であるシナリオにおいて、そのメッセージに対して算出される予測バッファサイズは、４．７６キロバイトと判定することができる。翻訳メッセージに対する予測バッファサイズを計算する他の方法もまた可能である。
【０１０３】
トランケーション評価決定動作７９４において、トランケーション動作サブモジュール７９０は、予測バッファサイズを閾値バッファサイズと比較して、第２言語に対するトランケーション評価を決定するように構成することができる。閾値バッファサイズは、翻訳メッセージの予測バッファサイズについての、所定の又はユーザ定義された（最大）許容値とすることができる。実施形態において、各翻訳メッセージを、個別に閾値バッファサイズと比較することができる。閾値バッファサイズを超えたメッセージに不合格インジケータを割り当てることができ、一方、閾値バッファサイズを下回るメッセージには合格インジケータを割り当てることができる。実施形態において、閾値バッファサイズは、総計閾値とすることができ、全ての翻訳メッセージの合計が閾値バッファサイズを超えないようにすることができる。一例として、特定の実施形態において、単一メッセージに対する閾値バッファサイズを２０キロバイトとすることができる。従って、上記の例を参照すると、予測バッファサイズ４．７６キロバイトを閾値バッファサイズ２０キロバイトと比較することができ、トランケーション評価を決定することができる。実施形態において、この翻訳メッセージに合格インジケータを割り当てることができる。他のトランケーション評価決定方法もまた可能である。
【０１０４】
本明細書で説明したように、特定の実施形態において、他のグローバライゼーション検証モジュール／動作を含め／追加して構成することができる（例えば、符号化／トランケーション動作といった本明細書で説明したものと同様の従量料金制（ｐａｙ−ａｓ−ｙｏｕ−ｇｏ）サービスを用いて）。他の企図される（ただしそれに限定されない）テスト特徴は、貨幣（monetary）、時間、正規表現などを含むことができる。以下の例を考える。実施形態において、トルコでのリリースが計画されているソフトウェア・アプリケーションについてのグローバライゼーション・データの組を符号化動作によって解析して、トルコのロケール言語構成がＵｎｉｃｏｄｅ標準符号化形式の下で適正であるかどうか判定することができる。別の動作サブモジュールを、ロケール・シード・ファイル「ＴＲ＿ＴＲ．ＵＴＦ−８．ｓｒｃ，」を抽出してｔｏｕｐｐｅｒマッピング・テーブル・ディレクトリのエントリ「＜ＬＡＴＩＮ＿ＳＭＡＬＬ＿ＬＥＴＴＥＲ＿ＤＯＴＬＥＳＳ＿Ｉ＞，＜ＬＡＴＩＮ＿ＣＡＰＩＴＡＬ＿ＬＥＴＴＥＲ＿Ｉ＞」を確認するように構成することができる。トルコ語サポートに対して構成されていないＵｎｉｃｏｄｅソフトウェアは、大文字「Ｉ」を小文字「ｉ」に変換し、小文字「ｉ」を大文字「Ｉ」に変換するが、トルコ語ではドット付きとドットなしの「Ｉ」を区別するので
【数１】
2017102920.tif 000003
、これは適正ではない。従って、この別の動作サブモジュールが、ｔｏｕｐｐｅｒマッピング・テーブル・ディレクトリをチェックして、ドット付き及びドットなし「Ｉ」に対するサポートが適正にイネーブルにされているかどうか検証することができる。ドット付き及びドットなし「Ｉ」に対するサポートは、トルコのロケール言語構成がＵｎｉｃｏｄｅ標準の下で適正であることを示すことができ、グローバライゼーション・データの組に符号化動作についての合格インジケータを割り当てることができ、一方、ドット付き及びドットなし「Ｉ」が上手くサポートされていないことは、グローバライゼーション・データ７０４の組に不合格インジケータを割り当てる結果となり得る。
【０１０５】
本明細書で説明したように、特定の実施形態において、他のグローバライゼーション検証モジュール／動作を含め／追加して構成することができる（例えば、符号化／トランケーション動作といった本明細書で説明したものと同様の従量料金制（ｐａｙ−ａｓ−ｙｏｕ−ｇｏ）サービスを用いて）。他の企図される（ただしそれに限定されない）テスト特徴は、数値、日付、貨幣、又は他のキャラクタが所与のロケールに対して適切な／正しい言語及び形式で提示／表示されていることを検証するように構成されたクラウドＡＰＩを含むことができる。以下の例を考える。例示的な動作サブモジュールは、通貨ＡＰＩのｓｔｒｍｏｎ（）がフランス語圏／ルクセンブルク及びフランス語圏／カナダの両方の地域で適正であることを検証するように構成することができる。従って、この例示的な動作サブモジュールは、ロケール・シード・ファイル「ＦＲ＿ＬＵ．ＵＴＦ−８．ｓｒｃ」及び「ＦＲ．ＵＴＦ−８．ｓｒｃ」をグローバライゼーション・データ７０４から抽出して、通貨形式及び通貨略号が国際標準に準拠しているか否かを検証するように構成することができる。実施形態において、例示的動作サブモジュールは、参照データベースにアクセスして、ロケール・シード・ファイルの通貨形式を参照データベースに記載された国際標準と比較するように構成することができる。例えば、国際標準は、フランス語圏／ルクセンブルク地域に関して、通貨が「１２３．４５６，７９ＥＵＲ」形式でリスト化され、一方、フランス語圏／カナダ領域では、「１２３，４５６，７９ＥＵＲ」形式でリスト化されることを示すものとすることができる。従って、グローバライゼーション・データから抽出されたロケール・シード・ファイルを参照データベースに記載された国際標準と比較して、通貨形式が適正（従って合格インジケータが割り当てられる）又は不適正（従って不合格インジケータが割り当てられる）のどちらであるかを検証することができる。
【０１０６】
本開示の態様、特定の実施形態において、本明細書で説明した従量料金制（ｐａｙ−ａｓ−ｙｏｕ−ｇｏ）グローバライゼーション検証サービスの態様は、グローバライゼーション・データ７０４の組を改訂して、これを１つ又は複数の特定の目標国での配備に合わせて構成することを含むことができる。例えば、１つ又は複数のグローバライゼーション・テスト動作から不合格インジケータを受領したことに応答して、グローバライゼーション・テスト管理システム７００は、グローバライゼーション・データを編集して、これを対応するグローバライゼーション・テスト動作についてのグローバライゼーション基準に準拠するように適合させるように構成することができる。実施形態において、グローバライゼーション・データを改訂することは、機械学習技術を用いて、他のソフトウェア・アプリケーションについての集積ソードコードのコーパスに基づいてグローバライゼーション・データの１つ又は複数の要素を訂正することを含むことができる。特定の実施形態において、グローバライゼーション・データを改訂することは、クライアント側開発環境に提供されるテスト出力に含める提案の候補の組を生成することを含むことができる。グローバライゼーション・データの他の改訂方法もまた可能である。
【０１０７】
図８を参照すると、グローバライゼーション・テスト管理方法８００を示すフローチャートが示されている。図８の態様は、クライアント側グローバライゼーション特徴抽出器及びサーバ側グローバライゼーション・テストＡＰＩを使用したグローバライゼーション検証方法に向けられている。本明細書で説明したように、クライアント側グローバライゼーション特徴抽出器は、クライアント側開発環境からグローバライゼーション・データの組を抽出し、サービス側グローバライゼーション・テスト動作のためのグローバライゼーション・データの組を準備するように構成することができる。製品開発データの組（例えば、ソースコード）を検査して、グローバライゼーション・データの組を識別することができる。グローバライゼーション・データの組を識別したことに応答して、グローバライゼーション・データをサーバ側グローバライゼーション・テストＡＰＩに伝送して、１つ又は複数のグローバライゼーション検証テスト動作を受けさせることができる。実施形態において、図８の態様は、図５のグローバライゼーション・テスト管理システム５０５及び図６のグローバライゼーション・テスト管理システム６０５に実質的に対応するものとすることができる。
【０１０８】
図９を参照すると、グローバライゼーション・テスト管理方法９００を示すフローチャートが示されている。図９の態様は、グローバライゼーション・データの組に対して１つ又は複数のグローバライゼーション検証テストを行うことに向けられている。本明細書で説明したように、グローバライゼーション検証テストは、トランケーション動作、符号化動作、及び翻訳動作（例えば、Ｇ１１Ｎ論理評価）を含むことができる。グローバライゼーション・データに対して１つ又は複数の検証テスト動作を行ったことに応答して、グローバライゼーション・テスト管理システム９００は、グローバライゼーション・テスト出力（例えば、１つ又は複数のテスト動作に関する合格／不合格インジケータ）を決定し、このグローバライゼーション・テスト出力をクライアント側開発環境に提供するように構成することができる。実施形態において、図９の態様は、図７のグローバライゼーション・テスト管理システム７０５に実質的に対応するものとすることができる。
【０１０９】
上述の実施形態に加えて、より少ない動作ステップ、より多くの動作ステップ、又は異なる動作ステップを有する他の実施形態が企図される。また、実施形態によっては、上記動作ステップの幾つか又は全てを異なる順序で行うことができる場合もある。実施形態において、随意的な動作ステップを他の動作ステップに応答して行うことができる。これらのモジュールは、ある実施形態に従って例示的にリスト化され、説明されたものであり、特定のモジュールの必要性又は他の潜在的なモジュール（又は特定のモジュールに適用されるような機能／目的）の排他性を示すことを意味するものではない。
【０１１０】
上述のことにおいて、種々の実施形態を参照している。しかしながらこの開示は具体的に説明した実施形態に限定されないことを理解されたい。その代わりに、説明した特徴及び要素のあらゆる組合せは、異なる実施形態に関連するか否かを問わず、この開示を実装及び実施することが企図される。説明した実施形態の範囲及び思想から逸脱することなく、多くの修正及び変形が当業者には明らかとなるであろう。さらに、本開示の実施形態は、可能性のある解決策又は従来技術と比べた利点を達成することができるが、特定の利点が所与の実施形態によって達成されるか否かは、この開示を限定しない。従って、説明した態様、特徴、実施形態、及び利点は、単なる例証であり、請求項に明示的に述べられている場合を除いて、添付の特許請求の範囲の要素又は限定とはみなされない。
【０１１１】
本発明は、システム、方法、及び／又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する１つ又は複数のコンピュータ可読ストレージ媒体を含むことができる。
【０１１２】
コンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持し、格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のものの任意の適切な組合せとすることができるがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、パンチカード若しくは記録された命令を有する溝内に隆起した構造のような機械式符号化デバイス、及び上記のものの任意の適切な組合せを含む。コンピュータ可読ストレージ媒体は、本明細書で用いられる場合、無線波若しくは他の自由に伝搬する電磁波、導波路若しくは他の伝送媒体を通って伝搬する電磁波（例えば光ファイバケーブルを通る光パルス）、又は電線を通って伝送される電気信号のようなそれ自体が一時的な信号と解釈されるべきではない。
【０１１３】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスにダウンロードすることも、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク及び／又は無線ネットワークを経由して、外部コンピュータ若しくは外部ストレージ・デバイスにダウンロードすることもできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ及び／又はエッジサーバを含むことができる。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令をそれぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体にストレージのために転送する。
【０１１４】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語及び「Ｃ」プログラミング言語若しくは類似のプログラミング言語のような従来の手続き型プログラミング言語を含む１つ若しくは複数のプログラミング言語の任意の組合せで記述されたソースコード若しくはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続が行われる場合もある（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えばプログラム可能論理回路、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することにより、コンピュータ可読プログラム命令を実行することができる。
【０１１５】
本発明の態様は、本明細書において、本発明の実施形態による方法、装置（システム）、及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図のブロックの組合せは、コンピュータ可読プログラム命令によって実装することができることが理解されるである。
【０１１６】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、プログラム可能データ処理装置、及び／又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、その中に格納された命令を有するコンピュータ可読媒体が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作の態様を実装する命令を含む製品を含むようにすることもできる。
【０１１７】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置又は他のデバイス上で行わせてコンピュータ実装のプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置又は他のデバイス上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装するようにすることもできる。
【０１１８】
この開示に従う実施形態は、クラウド・コンピューティング・インフラストラクチャを通じてエンドユーザに提供することができる。クラウド・コンピューティングは一般に、ネットワーク上のサービスとしてのスケーラブルなコンピューティング・リソースのプロビジョニングを指す。より形式的には、クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及びリリースすることができる、構成可能なコンピューティング・リソースの共有プールに対する便利なオンデマンドのネットワーク・アクセスを可能にする、コンピューティング・リソースとその基礎をなす技術的アーキテクチャ（例えば、サーバ、ストレージ、ネットワーク）との間の抽象概念を提供するコンピューティング能力として定義することができる。従って、クラウド・コンピューティングは、ユーザが、そのコンピューティング・リソースを提供するために用いられる基礎をなす物理システム（又はそれらのシステムの場所）にかかわりなく、「クラウド」内で、仮想的コンピューティング・リソース（例えば、ストレージ、データ、アプリケーション、さらには完全に仮想化されたコンピューティング・システム）にアクセスすることを可能にする。
【０１１９】
典型的には、クラウド・コンピューティング・リソースは、ユーザが実際に使用したコンピューティング・リソース（例えば、ユーザが使用したストレージ・スペースの量又はユーザによってインスタンス化された仮想化システムの数）に対してのみ課金されるペイ・パー・ユース（ｐａｙ−ｐｅｒ−ｕｓｅ）ベースで提供される。ユーザは、クラウド内に常駐するあらゆるリソースに、いつでも、インターネット中のどこからでもアクセスすることができる。本開示の文脈において、ユーザは、クラウド内で利用可能なアプリケーション又は関連データにアクセスすることができる。例えば、ストリーム・コンピューティング・アプリケーションを作成するために用いられるノードは、クラウド・サービス・プロバイダによってホストされる仮想機械とすることができる。そうすることで、ユーザが、クラウドに接続したネットワーク（例えば、インターネット）にアタッチされたあらゆるコンピューティング・システムからこの情報にアクセスすることを可能にする。
【０１２０】
本開示の実施形態はまた、クライアントの法人、非営利組織、政府機関、内部組織構造などとのサービス契約の一部として配信することができる。これらの実施形態は、コンピュータ・システムが稼働するように構成すること、並びに本明細書で説明した方法の幾つか又は全てを実装するソフトウェア、ハードウェア、及びウェブサービスを配備することができる。これらの実施形態はまた、クライアントの動作を解析すること、解析に応じた推奨を作成すること、推奨の一部を実装するシステムを構築すること、システムを既存プロセス及びインフラストラクチャに組み込むこと、システムの使用を計量すること、「システムのユーザに費用を割り当てること、及びシステムのユーザに料金請求することを含むことができる。
【０１２１】
図面内のフローチャート及びブロック図は、本開示の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又は命令の一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図中に記された順序とは異なる順序で行われることがある。例えば、連続して示された２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図中のブロックの組合せは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステムによって実装することもでき、又は専用ハードウェアとコンピュータ命令との組合せを実行することもできることにも留意されたい。
【０１２２】
上述のことは例示的な実施形態に向けられているが、本発明の他の及びさらなる実施形態を、その基本的な範囲から逸脱することなく考案することができ、その範囲は以下の特許請求の範囲によって決定される。本開示の種々の説明は、例証の目的で提示されたものであり、網羅的であること又は開示された実施形態に限定することを意図したものではない。説明した実施形態の範囲及び思想から逸脱しない多くの修正及び変形が当業者には明らかとなるであろう。本明細書で用いられる用語は、実施形態の原理、実際の適用、又は市場で見いだされる技術に対する技術的改善を説明するため、及び、本明細書で開示された実施形態を当業者が理解することを可能にするために選択されたものである。
【符号の説明】
【０１２３】
１００：クラウド・コンピューティング・ノード
１５２：プログラム・モジュール
２００：クラウド・コンピューティング環境
４００：コンピュータ環境
５００、６００、７００：グローバライゼーション・テスト管理システム
８００、９００：グローバライゼーション・テスト管理方法
【図１】
2017102920.tif 000004
【図２】
2017102920.tif 000005
【図３】
2017102920.tif 000006
【図４】
2017102920.tif 000007
【図５】
2017102920.tif 000008
【図６】
2017102920.tif 000009
【図７】
2017102920.tif 000010
【図８】
2017102920.tif 000011
【図９】
2017102920.tif 000012