JP2002163114A - ユーザ・インターフェース・リソースの互換性を動的に検証するシステムおよび方法 - Google Patents

ユーザ・インターフェース・リソースの互換性を動的に検証するシステムおよび方法

Info

Publication number
JP2002163114A
JP2002163114A JP2001332263A JP2001332263A JP2002163114A JP 2002163114 A JP2002163114 A JP 2002163114A JP 2001332263 A JP2001332263 A JP 2001332263A JP 2001332263 A JP2001332263 A JP 2001332263A JP 2002163114 A JP2002163114 A JP 2002163114A
Authority
JP
Japan
Prior art keywords
resource
module
resource module
alternative
default
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001332263A
Other languages
English (en)
Other versions
JP4510345B2 (ja
Inventor
Julie D Bennett
ジュリー・ディー・ベネット
Yung-Shin Lin
ユン−シン・リン
Shenghua Ye
シェングア,イー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002163114A publication Critical patent/JP2002163114A/ja
Application granted granted Critical
Publication of JP4510345B2 publication Critical patent/JP4510345B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【課題】 ユーザ・インターフェース、リソース・ロー
ダおよびレジストリ・リソース・データベースを有する
コンピュータ・オペレーティング・システムにおいて、
リソース・モジュールのリソース・コンテンツがオペレ
ーティング・システムの最新バージョンと互換性がある
か否か動的に検証する方法およびシステムを提供する。 【解決手段】 リソースの要求を取得すると、リソース
・ローダは、代替リソース・モジュールからリソースを
ロードする前に、リソース・モジュールがオペレーティ
ング・システムとの互換性を保っていることを検証す
る。本発明の一実施形態によれば、オペレーティング・
システムは、多言語ユーザ・インターフェースを有し、
言語固有のリソース・モジュールを利用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概して言えば、コ
ンピュータのソフトウエアに関し、特にオペレーティン
グ・システム内部のリソース・モジュールの互換性を動
的に検証するシステムおよび方法に関する。
【0002】
【従来の技術】本願は、2000年10月30日に出願
した米国予備出願第60/244,338号の優先権を
主張する。米国予備出願第60/244,338号は、
この言及により具体的に本願にも含まれるものとする。
【0003】世界的な市場にソフトウエアを流通させる
には、種々のユーザにアクセス可能なユーザ・インター
フェースが必要となる。通常、インターフェースとは、
2つのエレメント間で接続を行い、これらが互いに作用
し合い、情報を交換することができるようにするポイン
トのことである。コンピュータ・ソフトウエアの目的で
は、インターフェースとは、通例、プログラムがユー
ザ、オペレーティング・システムを含むその他のプログ
ラム、およびコンピュータのハードウエアと共に動作す
ることを可能にするソフトウエアである。プログラムが
ユーザと動作することを可能にするインターフェースの
ことをユーザ・インターフェースと呼び、コマンド・ラ
イン・インターフェース、メニュー・ドリブン(menu-dr
iven)、またはグラフィカル・ユーザ・インターフェー
スが可能である。
【0004】例えば、異なる国/領域において共通のユ
ーザ・インターフェースの使用を促進するために、ユー
ザ・インターフェースは多数の言語に対応しなければな
らない。最も単純な形態では、ソフトウエア・プロバイ
ダは、手作業でユーザ・インターフェース・ソフトウエ
ア・コードをカスタム化し、対応する各言語の具体的な
言語の要件を満たすことによって、多言語ユーザ・イン
ターフェースを設けることができる。しかしながら、こ
の手法は、ソフトウエア・プロバイダが対応する言語の
各々に別個のソフトウエア・コード・ベースを維持しな
ければならないという点で、概して非効率的である。し
たがって、ソフトウエア・プロバイダは、技術的支援を
与えること、更新を行なうこと、および/またはパッチ
(patch)を与えること等、各別個のソフトウエア・コー
ド・ベースに個別に対応しなければならない。
【0005】異なる国/領域において共通ユーザ・イン
ターフェースの使用を促進する別の手法では、種々の言
語固有リソース・ライブラリと関連付けて、共通ユーザ
・インターフェース・ソフトウエア・コード・ベースを
オペレーティング・システムに設けている。このような
システムの1つが、Microsoft Corporation(マイクロ
ソフト社)の多言語ユーザ・インターフェース(「MU
I:multilingual userinterface」)である。MUI手
法の下では、オペレーティング・システムは、共通のユ
ーザ・インターフェース・コード・ベース、デフォルト
の言語リソース・モジュール、およびそれぞれの言語で
ユーザ・インターフェース・オブジェクトの一部または
全部を表示するための多数の代替言語固有リソース・モ
ジュール(alternate language-specific resource modu
le)を維持する。例えば、ユーザがスペイン語を所望の
言語として選択すると、オペレーティング・システム
は、スペイン語特定のリソース・モジュールからシステ
ム・リソースをロードする。
【0006】コンピュータのオペレーティング・システ
ムは、通例では、種々のリソース・ライブラリ・ファイ
ルを引用することにより、オペレーティング・システム
内で走るソフトウエア・アプリエーションに種々の機能
を与える。オペレーティング・システムは、多くの場
合、多数のリソース・モジュールを維持しており、各リ
ソース・モジュールは、複数のリソースから成り、オペ
レーティング・システムがこれらを用いて特定のタスク
を実行する。概して言えば、リソースは、多数のプログ
ラムまたは1つのプログラム内の1つよりも多い場所で
共有するデータまたはコードの一種であり、ダイアログ
・ボックス、サウンド・エフェクト、またはウィンドウ
環境におけるフォント等がある。プログラムにおける多
くの特徴(feature)は、リソースの追加または置換を行
なえば、プログラムのソース・コードを修正することな
く、変更することができる。リソース・データは、通
常、データ構造、テンプレート、定義手順、管理ルーチ
ン、アイコン・マップ等で構成され、メニュー、ウィン
ドウ、またはダイアログ・ボックスのような特定のリソ
ースと連動する。
【0007】MUIを用いたオペレーティング・システ
ムの特定的な実施態様では、オペレーティング・システ
ムは、リソース・ローダを含む。リソース・ローダは、
所望の言語固有リソース・モジュールからリソースを得
て、ロードする。リソース・ローダは、通例では英語で
エンコードされているデフォルト・リソース・モジュー
ル、または指定の言語固有代替リソース・モジュールの
どちらかからリソースをロードすることを選択する。通
例では、所望の代替リソース・モジュールが利用できな
い場合、リソース・ローダはデフォルト・リソース・モ
ジュールを選択する。
【0008】オペレーティング・システムのリソース・
モジュールは、周期的に更新するとよいことは、当業者
には認められよう。通例では、オペレーティング・シス
テムの更新は、バージョン番号によって特定され、これ
によってどの更新が適用されているか判断することがで
きる。例えば、元のオペレーティング・システムのリソ
ース・モジュールは、「バージョン5.0」というよう
なバージョン番号によって特定することができる。オペ
レーティング・システムのリソース・モジュールを更新
すると、(リソース情報を含む)更新後のリソース・モ
ジュールは「バージョン5.2」と呼ばれる。しかしな
がら、リソース・モジュールの更新は必ずしもリソース
内に含まれるリソースを変更する訳ではないことを、当
業者は認めよう。加えて、オペレーティング・システム
は大多数のリソース・モジュールを利用する場合もある
ので、殆どのオペレーティング・システムの更新は、代
替リソース・モジュールの各々ではなく、デフォルト・
リソース・モジュールのバージョンのみを更新すること
に、少なくとも最初は制限される。
【0009】
【発明が解決しようとする課題】MUIを用いた、リソ
ース・ローダを有するオペレーティング・システムの前
述の例では、一般に、リソース・ローダは代替リソース
・モジュールからロードするリソースが、オペレーティ
ング・システムの最新バージョンと互換性があるか否か
検証しなければならない。従来のMUIを用いたオペレ
ーティング・システムでは、これを行なう際に、代替リ
ソース・モジュールのバージョン情報を、オペレーティ
ング・システムの現バージョンと比較する。例えば、リ
ソース・ローダが、「3.0」というバージョン・ラベ
ルを有する代替リソース・モジュールからリソースをロ
ードする要求を受け、一方デフォルトのオペレーティン
グ・システムのリソース・モジュールが「3.3」とい
うバージョン・ラベルに更新されている場合、リソース
・ローダは、代替リソース・モジュールからリソースを
ロードしない。何故なら、代替リソース・モジュールは
オペレーティング・システムの現バージョンとは互換性
がないと見なすからである。したがって、リソース・ロ
ーダは、更新したデフォルトのリソース・モジュールか
らリソースをロードすることを実行しない。その結果、
代替リソース・モジュールのリソースがなおも有効であ
っても、オペレーティング・システムは更新後デフォル
ト言語に戻るので、MUIの機能性が低下する。
【0010】したがって、オペレーティング・システム
の更新を実施する場合に、リソース・モジュールの互換
性を動的に検証し、MUI機能性の継続を図るシステム
および方法が求められている。
【0011】
【課題を解決するための手段】ユーザ・インターフェー
ス、リソース・ローダ、およびレジストリ・リソース・
データベースを有するコンピュータ・オペレーティング
・システムにおいて、リソース・モジュールのリソース
・コンテンツがオペレーティング・システムの現バージ
ョンと互換性があるか否かについて、動的に検証する方
法を提供する。リソースの要求を取得すると、代替リソ
ース・モジュールからリソースをロードする前に、リソ
ース・ローダは、リソース・モジュールが、オペレーテ
ィング・システムと互換性を保っていることを検証す
る。本発明の一実施形態によれば、オペレーティング・
システムは、多言語ユーザ・インターフェースを有し、
言語固有のリソース・モジュールを利用する。
【0012】本発明によれば、リソースのオペレーティ
ング・システムとの互換性を動的に検証する方法を提供
する。この方法によれば、リソース・ローダは、代替リ
ソース・モジュールからリソースをロードする要求を取
得する。この場合、代替リソース・モジュールは特定の
インターフェースに対応する。リソース・ローダは、代
替リソース・モジュールをローカライズ(localize)した
デフォルト・リソース・モジュールのリソース・コンテ
ンツを取得する。リソース・ローダは、現デフォルト・
リソース・モジュールのリソース・コンテンツを取得す
る。リソース・ローダは、代替リソース・モジュールを
ローカライズしたデフォルト・リソース・モジュールの
リソース・コンテンツを、現デフォルト・リソース・モ
ジュールのリソース・コンテンツと比較する。代替リソ
ース・モジュールをローカライズしたデフォルト・リソ
ース・モジュールのリソース・コンテンツが、現デフォ
ルト・リソース・モジュールのリソース・コンテンツと
同一である場合、リソース・ローダは、代替リソース・
モジュールをロードする。
【0013】本発明の別の態様によれば、リソース・モ
ジュールがオペレーティング・システムの現バージョン
と互換性があることを検証するコンピュータ・システム
を提供する。コンピュータ・システムは、リソース・モ
ジュールからリソースをロードするリソース・ローダ
と、少なくとも1つのリソースを含むデフォルト・リソ
ース・モジュールと、デフォルト・リソース・モジュー
ルからローカライズされた1つ以上のリソースを含む代
替リソース・モジュールと、代替リソース・モジュール
をローカライズしたデフォルト・リソース・モジュール
のリソース・コンテンツを表わす一意の番号とを含む。
この一意の番号は、チェックサムを含むことができる。
代替リソース・モジュールをローカライズしたリソース
・コンテンツが、現デフォルト・リソース・モジュール
のリソース・コンテンツと同一である場合、リソース・
ローダは代替リソース・モジュールからリソースをロー
ドする。本発明の付加的な態様によれば、リソースがオ
ペレーティング・システムの現バーションと互換性があ
ることを動的に検証するコンピュータ実行可能モジュー
ルを有するコンピュータ読み取り可能媒体を提供する。
【0014】このように、本発明は、リソースのオペレ
ーティング・システムとの互換性を動的に検証するシス
テムおよび方法を提供する。好適な実施形態によれば、
オペレーティング・システムは多言語ユーザ・インター
フェースを有し、リソース・モジュールは言語固有であ
る。
【0015】本発明の前述の態様および付随する利点の
多くは、添付図面と関連付けて以下の詳細な説明を参照
することによって、一層用意に認められよう。
【0016】
【発明の実施の形態】図5は、本発明を実現可能とする
のに相応しい計算システム環境の一例である。計算シス
テム環境は、相応しい計算環境の一例に過ぎず、本発明
の使用または機能の範囲に関していかなる限定をも示唆
しようとするのではない。更に、計算環境は、例示の計
算環境に示すコンポーネントのいずれの1つまたはその
組み合わせに関しても、依存性も要件も有するものとし
て解釈してはならない。
【0017】本発明は、多数のその他の汎用または特殊
目的計算システム環境またはコンフィギュレーションと
共に動作する。公知の計算システム、環境および/また
はコンフィギュレーションで、本発明との使用に相応し
い例は、限定としてではなく、パーソナル・コンピュー
タ、サーバ・コンピュータ、ハンドヘルドまたはラップ
トップ・デバイス、マイクロプロセッサ・システム、マ
イクロプロセッサ系システム、セット・トップ・ボック
ス、プログラマブル消費者電子機器、ネットワークP
C、ミニコンピュータ、メインフレーム・コンピュー
タ、電話システム、上述のシステムまたはデバイスのい
ずれをも含む分散計算環境等を含む。
【0018】本発明の説明は、コンピュータが実行する
プログラム・モジュールのようなコンピュータ実行可能
命令の一般的なコンテキストで行うこととする。一般
に、プログラム・モジュールは、特定のタスクを実行し
たり、あるいは特定の抽象的データ・タイプを使用す
る、ルーチン、プログラム、オブジェクト、コンポーネ
ント、データ構造等を含む。また、本発明は、分散型計
算機環境において、通信ネットワークを通じてリンクし
たリモート処理デバイスによってタスクを実行するとい
う実施も可能である。ある分散型計算機環境において
は、プログラム・モジュールは、メモリ記憶素子を含む
ローカルおよびリモート双方のコンピュータ記憶媒体に
配することができる。
【0019】図5を参照すると、本発明を実施するため
の例示のシステムは、コンピュータ20の形態とした汎
用計算デバイスを含む。コンピュータ20のコンポーネ
ントは、処理ユニット22、システム・メモリ24、お
よびシステム・メモリからプロセッサまでを含む種々の
システム・コンポーネントを結合するシステム・バス2
6を含むことができるが、これらに限定される訳ではな
い。システム・バスは、種々のバス・アーキテクチャの
いずれかを用いたメモリ・バスまたはメモリ・コントロ
ーラ、周辺バス、およびローカル・バスを含む、数種類
のバス構造のいずれでもよい。限定ではなく一例とし
て、このようなアーキテクチャは、業界標準アーキテク
チャ(ISA)バス、マイクロ・チャネル・アーキテク
チャ(MCA)バス、改良ISA(EISA)バス、ビ
デオ電子規格協会(VESA)ローカル・バス、および
Mezzanineバスとしても知られている周辺素子
相互接続(PCI)バスを含む。
【0020】コンピュータ20は、通例では、種々のコ
ンピュータ読み取り可能媒体を含む。コンピュータ読み
取り可能媒体は、コンピュータ20がアクセス可能であ
れば、入手可能な媒体のいずれでも可能であり、揮発性
および不揮発性双方の媒体、リムーバブルおよび非リム
ーバブル媒体を含む。一例として、そして限定ではな
く、コンピュータ読み取り可能媒体は、コンピュータ記
憶媒体および通信媒体を含むことができる。コンピュー
タ記憶媒体は、RAM、ROM、EEPROM、フラッ
シュ・メモリまたはその他のメモリ技術、CD−RO
M、ディジタル・バーサタイル・ディスク(DVD)、
またはその他の光ディスク・ストレージ、磁気カセッ
ト、磁気テープ、磁気ディスク・ストレージ、またはそ
の他の磁気ストレージ・デバイス、あるいは所望の情報
を格納するために使用可能であり、コンピュータ20に
よってアクセス可能なその他のいずれの媒体でも含まれ
る。
【0021】通信媒体は、通例では、コンピュータ読み
取り可能命令、データ構造、プログラム・モジュール、
またはその他データを、キャリア波またはその他のトラ
ンスポート機構のような変調データ信号におけるその他
のデータを具体化し、あらゆる情報配信媒体を含む。
「変調データ信号」という用語は、信号内に情報をエン
コードするように、その1つ以上の特性を設定または変
更した信号を意味する。一例として、そして限定ではな
く、通信媒体は、有線ネットワークまたは直接有線接続
のような有線媒体、ならびに音響、RF、赤外線および
その他のワイヤレス媒体のようなワイヤレス媒体を含
む。前述のいずれの組み合わせでも、コンピュータ読み
取り可能媒体の範囲内に当然含まれるものとする。
【0022】システム・メモリ24は、リード・オンリ
・メモリ(ROM)28およびランダム・アクセス・メ
モリ(RAM)30のような揮発性および/または不揮
発性メモリの形態のコンピュータ記憶媒体を含む。基本
入出力システム32(BIOS)は、起動中のように、
コンピュータ20内のエレメント間におけるデータ転送
を補助する基本的なルーチンを含み、通例ではROM2
8内に格納されている。RAM30は、通例では、処理
ユニット22が直ちにアクセス可能であるデータおよび
/またはプログラム・モジュール、または現在処理ユニ
ット22によって処理されているデータおよび/または
プログラム・モジュールを収容する。一例として、そし
て限定ではなく、図5は、オペレーティング・システム
46、アプリケーション・プログラム48、その他のプ
ログラム・モジュール50、およびプログラム・データ
52を示す。
【0023】また、コンピュータ20は、その他のリム
ーバブル/非リムーバブル揮発性/不揮発性コンピュー
タ記憶媒体も含むことができる。一例としてのみ、図5
は、非リムーバブル不揮発性磁気媒体34からの読み取
りおよびこれへの書き込みを行なうハード・ディスク・
ドライブ36、リムーバブル不揮発性磁気ディスク40
からの読み取りおよびこれへの書き込みを行なう磁気デ
ィスク・ドライブ38、ならびにCD ROMまたはそ
の他の光媒体のようなリムーバブル不揮発性光ディスク
44からの読み取りおよびこれへの書き込みを行なう光
ディスク・ドライブ42を示す。動作環境の一例におい
て使用可能なその他のリムーバブル/非リムーバブル、
揮発性/不揮発性コンピュータ記憶媒体には、限定する
訳ではないが、磁気テープ・カセット、フラッシュ・メ
モリ・カード、DVD、ディジタル・ビデオテープ、ベ
ルヌーイ・キャップ・カートリッジ、ソリッド・ステー
トRAM、ソリッド・ステートROM等が含まれる。ハ
ード・ディスク・ドライブ36、磁気ディスク・ドライ
ブ38、および光ディスク・ドライブ42は、それぞ
れ、ハード・ディスク・ドライブ・インターフェース5
4、磁気ディスク・ドライブ・インターフェース56、
および光ディスク・ドライブ・インターフェース60に
よって、システム・バス26に接続することができる。
あるいは、ハード・ディスク・ドライブ36、磁気ディ
スク・ドライブ38、および光ディスク・ドライブ42
は、通例では、小型コンピュータ・システム・インター
フェース(SCSI)によって、システム・バス26に
接続する。
【0024】先に論じ図5に示すドライブおよびそれら
と連動するコンピュータ記憶媒体は、コンピュータ読み
取り可能命令、データ構造、プログラム・モジュール、
およびコンピュータ20のその他のデータを格納する。
図5では、例えば、ハード・ディスク・ドライブ36
は、オペレーティング・システム46、アプリケーショ
ン・プログラム48、その他のプログラム・モジュール
50、およびプログラム・データ52を格納するように
示されている。尚、これらのコンポーネントは、オペレ
ーティング・システム46、その他のプログラム・モジ
ュール50、およびプログラム・データ52と同じでも
異なっていても可能であることを注記しておく。ユーザ
は、キーボード60、およびマウス、トラックボールま
たはタッチ・パッドと一般に呼ばれているポインティン
グ・デバイス62によって、コマンドおよび情報をコン
ピュータ20に入力することができる。他の入力デバイ
ス(図示せず)は、マイクロフォン、ジョイスティッ
ク、ゲーム・パッド、衛星ディッシュ、スキャナ等を含
むことができる。これらおよびその他の入力デバイス
は、多くの場合、ユーザ入力インターフェース64を介
して、処理ユニット22に接続されており、パラレル・
ポート、ゲーム・ポートまたはユニバーサル・シリアル
・バス(USB)のようなその他のインターフェースお
よびバス構造によって接続することも可能である。
【0025】コンピュータ20は、1つ以上のリモート
・コンピュータへの論理接続を用いて、ネットワーク環
境において動作することも可能である。リモート・コン
ピュータ65は、パーソナル・コンピュータ、サーバ、
ルータ、ネットワークPC、ピア・デバイス、またはそ
の他の共通ネットワーク・ノードとすることができ、通
例では、コンピュータ20に関して先に説明したエレメ
ントの多くまたは全てを含むが、図5にはメモリ・スト
レージ・デバイスのみを示している。図5に示す論理接
続は、ローカル・エリア・ネットワーク(LAN)66
およびワイド・エリア・ネットワーク(WAN)67を
含むが、他のネットワークも含むことができる。このよ
うなネットワーク環境は、事務所、企業規模のコンピュ
ータ・ネットワーク、イントラネットおよびインターネ
ットにおいては一般的である。コンピュータ20は、少
なくとも1つのネットワーク接続を非連続とするように
構成してもよいことを、当業者は認めよう。したがっ
て、コンピュータ20は、ネットワーク接続がディスエ
ーブルされている時間期間にわたって、リモート・コン
ピュータ65と接続することはできない。このような構
成を一般に「オフライン」構成と呼ぶ。
【0026】LANネットワーク環境で用いる場合、コ
ンピュータ20は、ネットワーク・インターフェースま
たはアダプタ68を介してLAN77に接続する。WA
Nネットワーク環境で用いる場合、コンピュータは、通
例では、モデム、またはインターネットのようなWAN
67を通じて通信を確立するその他の手段を含む。モデ
ムは、内蔵でも外付けでもよく、シリアル・ポート・イ
ンターフェースまたはその他の適切な機構を介してシス
テム・バス26に接続することができる。ネットワーク
環境では、コンピュータ20に関して図示したプログラ
ム・モジュール、またはその一部は、リモート・メモリ
・ストレージ・デバイスに格納することもできる。一例
として、そして限定ではなく、図5は、リモート・アプ
リケーション・プログラム48がメモリ素子24上に常
駐するものとして示している。尚、図示のネットワーク
接続は一例であり、コンピュータ間で通信リンクを確立
する他の手段も使用可能であることは認められよう。コ
ンピュータ20の他の多くの内部コンポーネントは示さ
れていないが、このようなコンポーネントおよびその相
互接続は周知であることを当業者は認めよう。したがっ
て、コンピュータ20の内部構造に関するこれ以上の詳
細は、本発明に関連つけて開示する必要はない。
【0027】オペレーティング・システム46、アプリ
ケーション・プログラム48、およびデータ52のよう
なプログラム・モジュールは、そのメモリ・ストレージ
・デバイスの1つを介してコンピュータ20に供給す
る。メモリ・ストレージ・デバイスは、ROM28、R
AM30、ハード・ディスク・ドライブ36、磁気ディ
スク・ドライブ38、または光ディスク・デバイス42
を含むことができる。ハード・ディスク・ドライブ36
は、データ52、ならびにオペレーティング・システム
46およびアプリケーション・プログラム48を含む、
プログラムを格納するために用いられる。
【0028】コンピュータ20をオンにするかまたはリ
セットすると、ROM28に格納してあるBIOS32
が、処理ユニット22に、ハード・ディスク・ドライブ
36からRAM30にオペレーティング・システムをロ
ードするように命令する。一旦オペレーティング・シス
テム46がRAM30にロードされると、処理ユニット
はオペレーティング・システム・コードを実行し、オペ
レーティング・システムのユーザ・インターフェースと
連動するビジュアル・エレメントをモニタ上に表示させ
る。ユーザがアプリケーション・プログラム48を開く
と、プログラム・コードおよび関連するデータがハード
・ディスク・ドライブから読み出され、RAM30に格
納される。
【0029】本願は、リソース・モジュールのオペレー
ティング・システムとの互換性を動的に検証することが
できるリソース・ローダを実装する方法およびシステム
を対象とする。即ち、本発明は、リソース・モジュール
とも呼ばれる、言語固有MUIリソースのファイル・セ
ットをロードするシステムおよび方法に関して説明す
る。当業者には容易に理解されようが、本発明は、その
動的MUIリソース・モジュール・ローダへの応用のみ
に限定される訳ではない。したがって、開示する実施形
態は、単なる一例に過ぎず、限定的に解釈すべきでない
ことは理解して当然である。
【0030】図1は、本発明にしたがって、リソース・
モジュールからロードしたリソースの互換性を動的に検
証することができるリソース・ローディング・システム
70を示すブロック図である。図1に示すように、シス
テム70は一般にリソース・ローダ72を含み、これ
は、通常オペレーティング・システム46の一部として
含まれる。リソース・ローダ72は、レジストリ・リソ
ース・バージョン・データベース74にアクセスし、使
用可能な種々のオペレーティング・システム・リソース
のバージョンおよびロケーションを追跡することができ
る。本発明の一実施形態では、レジストリ・リソース・
バージョン・データベース74は、デフォルト・リソー
ス・モジュールおよび1つ以上の代替リソース・モジュ
ールのバージョン情報を追跡する。また、レジストリ・
リソース・バージョン・データベース74は、代替リソ
ース・モジュールと共に動作するデフォルト・リソース
・モジュールのバージョン情報も追跡する。リソース・
モジュールにおけるバージョン情報は、どのリソース・
モジュールをロードすべきか判定を行なう際に用いられ
る。
【0031】本発明の一実施形態は、レジストリ・リソ
ース・バージョン・データベース74を用いてリソース
の互換性を追跡し判定するが、本発明の範囲から逸脱す
ることなく、リソースの互換性を追跡する多くの異なる
方法も利用可能であることを当業者は認めよう。この点
についても、本発明は、リソースの互換性を追跡するい
ずれの特定のやり方にも限定されることはない。例え
ば、階層状データベースまたはリレーショナル・データ
ベースのような異なるタイプのデータベースを利用した
り、データベース・レコードに異なるフォーマットを利
用して、リソースの互換性を追跡することによって、本
発明を実施することも可能である。加えて、本発明は、
データベースを用いないように、互換性情報をリソース
・モジュール自体に格納する等で、リソースの互換性を
追跡することによって実施することも可能である。
【0032】本発明の一実施形態によれば、レジストリ
・リソース・バージョン・データベース74は、アプリ
ケーション名フィールド、代替リソース・モジュール・
バージョン・フィールド、デフォルト・リソース・モジ
ュール・バージョン・フィールド、およびリソース互換
性フィールドを収容するレコードを含む。キー・フィー
ルド上のインデックスを利用して、これらのフィールド
を探索することができる。本発明の別の実施形態では、
レジストリ・リソース・バージョン・データベース74
内のレコードに、異なるフォーマットを利用する場合も
ある。例えば、本発明は、異なるフィールド数を有し、
各フィールドに異なるタイプのデータを格納し、フィー
ルドに異なる名称を有するレコードを用いて実施するこ
とも可能である。
【0033】図1に示すように、リソース・ローダ72
はデフォルト・リソース・モジュール76とも交信す
る。本発明の一実施形態では、デフォルト・リソース・
モジュール76は、概して、デフォルト・リソース・コ
ンテンツ・コード、およびメニュー、ウィンドウ、また
はダイアログ・ボックスのように、特定のリソースと連
動するデータ構造、テンプレート、定義手順、管理ルー
チン、アイコン・マップ等を含む種々のリソースを含
み、通例では英語である。あるいは、デフォルト・リソ
ース・モジュールのリソース・コンテンツは、データの
みまたはコードのみで構成することも可能である。ま
た、デフォルト・リソース・モジュール76は、デフォ
ルト・リソース・モジュール76と互換性のあるオペレ
ーティング・システム・バージョンのバージョン情報7
8を含む識別子も含む。加えて、本発明の一実施形態で
は、デフォルト・リソース・モジュール76は、デフォ
ルト・リソース・モジュール76内に収容されているリ
ソース・コンテンツを表わしかつ識別する一意の番号を
含む。例えば、一実施形態では、一意の数値識別子は、
モジュール内部のリソース・コンテンツのチェックサム
80である。本発明の一実施形態によれば、チェックサ
ムは、リソース・モジュールのリソース・コンテンツの
みに基づく。チェックサム生成の間、コードおよびバー
ジョン情報は生成プロセスにおいて除外される。何故な
ら、リソース・モジュールは、リソース・コンテンツに
は全く変更を加えることなく、そのコードまたはバージ
ョン番号の変更によって更新することができるからであ
る。
【0034】図示する本発明の実施形態では、ハッシン
グ・ルーチンを利用して、リソース・ファイルのコンテ
ンツに一意の数値識別子を与える。ハッシングとは、ハ
ッシング関数として知られている変換によって、情報を
数値にマップするプロセスのことである。何らかの方法
で処理または操作されるデータ(必ずしも数値データで
はない)から取った番号の集合の和から得られるエラー
・チェック値として、ハッシュ合計(hash total)を用い
ることができる。処理の後、ハッシュ合計を再度計算
し、元の合計と比較する。双方が一致しない場合、元の
データが何らかの方法で変更されていることになる。ハ
ッシング・ルーチンから戻された値は、通常、チェック
サムとして記述される。
【0035】本発明の一実施形態では、MD5−メッセ
ージ・ダイジェスト・ハッシング・アルゴリズムを利用
して、チェックサムを生成する。MD5−メッセージ・
ダイジェスト・アルゴリズムは、入力として任意長のメ
ッセージを取り込み、出力として128ビットのフィン
ガプリント(fingerprint)即ち入力のメッセージ・ダイ
ジェストを生成する。MD5−メッセージ・ダイジェス
ト・ハッシング・アルゴリズムは、当業者には周知であ
り、これ以上詳しくはここに記載しない。異なるリソー
スを表わし比較する種々のハッシング・ルーチンのいず
れでも、本発明と共に実用可能であることは、当業者で
あれば容易に理解されよう。また、異なるリソースを表
わし比較する別の方法も、本発明と共に実用可能である
ことも当業者には理解されよう。
【0036】引き続き図1を参照すると、リソース・ロ
ーダ72は、更に、1つ以上の代替リソース・モジュー
ル82とも交信する。代替リソース・モジュールは、デ
フォルト・リソース・モジュール76からローカライズ
したリソース・コンテンツを含む。概して言えば、ロー
カライゼーション(localization)とは、プログラムを変
更し、それが用いられるエリアに対してそれが適切とな
るようにするプロセスである。多言語ローカライゼーシ
ョンに関しては、プログラムの開発者は、異なる国また
は言語毎にプログラムをローカライズしなければならな
い。何故なら、ある言語でのキャラクタが他の言語では
正しくないという場合もあり得るからである。
【0037】また、代替リソース・モジュール82は、
バージョン番号84、および代替リソース・モジュール
82をローカライズしたデフォルト・リソース・モジュ
ール76のリソース・コンテンツを表わす情報も含む。
本発明の一実施形態では、代替リソース・モジュール8
2は、二進実行可能コードを収容せず、ローカライズし
たリソース情報、バージョン情報84、およびこれらを
ローカライズしたデフォルト・リソース・モジュールの
リソース・コンテンツのみを収容する。当業者には容易
に理解されようが、本発明の範囲内において、代わりの
システム構成も考えられる。
【0038】概して言えば、MUIを用いるオペレーテ
ィング・システムでは、指定のユーザ・インターフェー
ス言語を特定し、リソース・ローダは、対応する代替リ
ソース・モジュール82からリソースの一部または全部
をロードしようとする。本発明によれば、リソース・ロ
ーダ72はリソースに対するコールを取得する。リソー
スをロードする前に、リソース・ローダ72は、代替リ
ソース・モジュール内のリソースがオペレーティング・
システム46と互換性があることを検証する。デフォル
ト言語固有リソース・モジュール76のバージョン情報
78が、代替言語固有リソース・モジュール82のバー
ジョン情報84と一致した場合、リソース・ローダ72
は、代替言語固有モジュール82からリソースをロード
する。しかしながら、バージョン情報が一致しない場
合、リソース・ローダは、所望の代替リソース・モジュ
ールをローカライズしたデフォルト・リソース・コンテ
ンツが、最新のデフォルト・リソース・コンテンツと同
一が否か、動的に判定を行なう。具体的には、リソース
・ローダ72は、現デフォルト・リソース・モジュール
のリソース・コンテンツのチェックサムを、代替リソー
ス・モジュールをローカライズしたデフォルト・リソー
ス・モジュールのチェックサムと比較する。
【0039】図2、図3および図4は、本発明による動
的リソース互換性検証およびローディング・ルーチン2
00のフロー図である。本発明の一実施形態では、ルー
チン200は、2つの方法でリソースの互換性を検証す
る。図4を参照すると、デフォルト・リソース・モジュ
ール76および代替リソース・モジュール82の双方
は、各モジュール内に収容されているリソースのコンテ
ンツを定量化するチェックサム情報を含む。代替リソー
ス・モジュール82の場合、チェックサム86は、これ
らをローカライズしたデフォルト・リソース・モジュー
ルのリソース・コンテンツを定量化する。デフォルト・
リソース・モジュールがチェックサム情報を含まない場
合、追加の処理をブロック225で行なわなければなら
ない。
【0040】図2を参照すると、ブロック202におい
て、リソース・ローダ72は、代替リソースの要求を取
得する。本発明の一実施形態によれば、代替リソースは
ユーザが選択したインターフェース言語に対応し、代替
リソースは言語固有である。ブロック204におおい
て、リソース・ローダ72は、デフォルト・リソース・
モジュール76からバージョン情報78を取得する。ブ
ロック206において、リソース・ローダは、対応する
代替リソース・モジュール82からバージョン情報84
を取得する。判断ブロック208において、検査を実施
し、デフォルト・リソース・モジュールのバージョン情
報が代替リソース・モジュールのバージョン情報と一致
するか否か判定をオ行なう。バージョン情報が一致した
場合、代替リソース・モジュールに含まれるリソース
は、現オペレーティング・システムのユーザ・インター
フェースと互換性があると考えられる。この時点で、リ
ソース・ローダ72は、ブロック210において要求さ
れた代替リソース・モジュールをロードし、ブロック2
12においてルーチン200は終了する。デフォルトお
よび代替リソース・モジュールのバージョン番号に変更
が見られなかったので、更新は適用されなかったのであ
り、リソースに互換性があることを検証するためにこれ
以上の処理は必要でない。
【0041】判断ブロック208において、バージョン
情報が一致しないと判定された場合、ルーチン200は
判断ブロック213(図3)に進む。これについて、以
下に説明する。従来のリソース・ローディング・ルーチ
ンは、単にこの時点でデフォルト・リソース・モジュー
ルからリソースをロードするだけであったことを認めよ
う。図3は、本発明の一実施形態を示し、リソース・ロ
ーダ72は、リソースのバージョン情報が一致しなかっ
た場合、レジストリ・リソース・データベース74を利
用して、リソースの互換性を動的に検証する。図3を参
照すると、判断ブロック213において、ルーチン20
0を最後に完了して以来、代替リソース・モジュール8
2が更新されているか否か判定を行なう。更に本発明の
一実施形態によれば、代替リソース・モジュール82の
更新を検出するには、レジストリ・リソース・バージョ
ン・データベース74が、代替リソース・モジュール8
2のバージョンのレコードを収容しているか否か判定を
行なう。探索を促進するために、リソース・ローダ72
は、代替リソース・モジュールのバージョン番号がキー
・フィールドになっている、レジストリ・リソース・バ
ージョン・データベース74上のインデックスを用いる
ことができる。レジストリ・リソース・バージョン・デ
ータベース74が代替リソース・モジュール82のバー
ジョンの記録を収容している場合、ルーチン200が最
後に完了して以来更新は行われていない。それ以外の場
合、レジストリ・リソース・バージョン・データベース
74が代替リソース・モジュール82のバージョンのレ
コードを収容していない場合、ルーチン200を最後に
完了して以来代替リソース・モジュール82が更新され
ていることになる。ブロック213において、レジスト
リ・リソース・バージョン・テータベース74におい
て、代替リソース・モジュール82のバージョンのレコ
ードが見つからなかった場合、ブロック214におい
て、レジストリ・リソース・バージョン・データベース
74に新たなレコードを作成し、代替リソース・モジュ
ール82のバージョンおよびデフォルト・リソース・モ
ジュール76のバージョンの互換性を追跡し、ルーチン
200は図4に進み、互換性情報を取得する。一方、ブ
ロック213において、レジストリ・リソース・バージ
ョン・データベース74内に代替リソース・モジュール
82のバージョンのレコードが見つかった場合、ルーチ
ン200はブロック215に進む。
【0042】判断ブロック215において、ルーチン2
00を最後に完了して以来、デフォルト・リソース・モ
ジュール76が更新されているか否か判定を行なう。本
発明の一実施形態によれば、リソース・ローダ72は、
デフォルト・リソース・モジュールの更新を検出する
際、レジストリ・リソース・バージョン・データベース
74がデフォルト・リソース・モジュール76のバージ
ョンのレコードを収容しているか否か判定を行なう。探
索を促進するために、リソース・ローダ72は、デフォ
ルト・リソース・モジュールのバージョンがキー・フィ
ールドになっているレジストリ・リソース・バージョン
・データベース74上のインデックスを用いることがで
きる。レジストリ・リソース・バージョン・データベー
ス74がデフォルト・リソース・モジュール76のバー
ジョンのレコードを収容している場合、デフォルト・リ
ソース・モジュールは、ルーチン200が最後に更新さ
れて以来、更新されていないことになる。それ以外の場
合、レジストリ・リソース・バージョン・データベース
74がデフォルト・リソース・モジュール76のバージ
ョンのレコードを収容していない場合、ルーチン200
はブロック214に進み、レジストリ・リソース・バー
ジョン・データベース74内に、代替リソース・モジュ
ール82のバージョンおよびデフォルト・リソース・モ
ジュール76のバージョンのために新たなレコードを作
成する。
【0043】図3に示すブロック213および215に
おいて、レジストリ・リソース・バージョン・データベ
ース74が代替リソース・モジュール82および現デフ
ォルト・リソース・モジュール76のバージョンに対す
る互換性情報を含んでいると判定した場合、リソースは
更新されておらず、ルーチン200は判断ブロック21
6に進む。判断ブロック216において、リソース・ロ
ーダ72は、レジストリ・リソース・バージョン・デー
タベース内に格納されている互換性情報を用いて、代替
リソース・モジュール82のバージョンが、デフォルト
・リソース・モジュール76のバージョンと互換性があ
るか否か判定を行なう。本発明の一実施形態によれば、
レジストリ・リソース・バージョン・データベース74
内のリソース互換性情報フィールドは、真値および偽値
を格納可能なブール・データ・タイプである。互換性情
報フィールドは、現デフォルト・リソース・モジュール
のリソース・コンテンツが、代替リソース・モジュール
をローカライズしたデフォルト・リソース・モジュール
のリソース・コンテンツと互換性がある場合に真値を格
納するように用いられる。同様に、互換性情報フィール
ドは、現デフォルト・リソース・モジュールのリソース
・コンテンツが、代替リソース・モジュールをローカラ
イズしたデフォルト・リソース・モジュールのリソース
・コンテンツと互換性がない場合には偽値を格納するよ
うに用いられる。リソースの互換性を判定するために、
リソース・ローダ72は、レジストリ・リソース・バー
ジョン・データベース74内に真値または偽値として格
納されている互換性情報を検索し代替リソース・モジュ
ール82のバージョンおよびデフォルト・リソース・モ
ジュール76のバージョンを求める。
【0044】図3に示す判断ブロック216において、
レジストリ・リソース・バージョン・データベース74
から検索した互換性情報が真と評価された場合、現デフ
ォルト・リソース・モジュールは代替リソース・モジュ
ール82のバージョンと互換性がある。このようにリソ
ースに互換性ある場合、ルーチン200はブロック21
8に進み、リソース・ローダ72は代替リソース・モジ
ュール82からリソースをロードする。判断ブロック2
16において、レジストリ・リソース・バージョン・デ
ータベース74から検索した互換性情報が偽と評価され
た場合、現デフォルト・リソース・モジュールは代替リ
ソース・モジュール82のバージョンとは互換性がない
ことになる。このようにリソースに互換性がない場合、
ルーチン200はブロック220に進み、リソース・ロ
ーダ72はデフォルト・リソース・モジュール76から
リソースをロードする。適切なリソース・モジュールか
らリソースをロードした後、ルーチン200はブロック
222において終了する。
【0045】図3の判断ブロック215において、レジ
ストリ・リソース・バージョン・データベース74が代
替リソース・モジュール82のバージョンおよび現デフ
ォルト・リソース・モジュール76について互換性情報
を収容していなかったと判定することによって、リソー
スに対する更新が検出された場合、ルーチン200は図
4に進む。図4は、本発明の一実施形態にしたがってリ
ソースの互換性を検証する2つの方法を示す。ブロック
226に示すプロセスを実行するのは、コンテンツ検証
情報が現デフォルト・リソース・モジュール内に収容さ
れている場合である。具体的には、本発明の一実施形態
では、コンテンツ検証情報はチェックサム80の情報で
ある。
【0046】ここで図4を参照する。判断ブロック22
4において、検査を行い、デフォルト・リソース・モジ
ュール76にコンテンツ検証情報が格納されているか否
か判定を行なう。デフォルト・リソース・ファイル内に
チェックサム情報が格納されていない場合、ルーチン2
00はブロック225に進む。ブロック225は、本発
明の一実施形態にしたがってリソースの互換性を検証す
る2つの方法の内、2番目の方法を示す。ブロック22
5に示すプロセスを実行するのは、現デフォルト・リソ
ース・モジュール内にコンテンツ検証情報が収容されて
いない場合である。この場合、動的なリソース互換性の
検証に用いる、現デフォルト・リソース・モジュール7
6のリソース・コンテンツを判断するためには、追加の
処理を実行しなければならない。本発明の実際の実施形
態によれば、リソース・ローダ72は最新のデフォルト
・リソース・モジュール76のリソース・コンテンツの
チェックサムを計算する。
【0047】チェックサム80の情報をデフォルト・リ
ソース・モジュール76に格納すると、ルーチン200
はブロック226に進み、リソース・ローダ72はデフ
ォルト・リソース・モジュール・チェックサム情報80
を取得する。ブロック228において、リソース・ロー
ダは代替リソース・モジュール・チェックサム84の情
報を取得する。判断ブロック230において、検査を行
い、チェックサムが一致するか否か判定する。チェック
サムが一致した場合、ルーチン200はブロック232
に進み、レジストリ・リソース・バージョン・データベ
ース74を更新し、現デフォルト・リソース・モジュー
ルのリソース・コンテンツは、代替リソース・モジュー
ル82をローカライズしたデフォルト・リソース・モジ
ュールのリソース・コンテンツと互換性があることを示
す。本発明の一実施形態によれば、代替リソース・モジ
ュール82のバージョンおよびデフォルト・リソース・
モジュール76のバージョンについての互換性情報は、
レジストリ・リソース・バージョン・データベース74
内に真値として格納する。こうして、ルーチン200
は、デフォルト・リソース・モジュール76および代替
リソース・モジュール82の同じバージョンがその後ロ
ードされたときにはいつでも、レジストリ・リソース・
バージョン・データベース74内に格納されている代替
リソース・モジュール82のバージョンおよびデフォル
ト・リソース・モジュール76のバージョンについての
互換性情報を用いることができる。ブロック232にお
いてレジストリ・リソース・データベース74内の互換
性情報を更新した後、ルーチン200はブロック233
に進み、リソース・ローダ72は代替リソース・モジュ
ール82からリソースをロードする。
【0048】判断ブロック230において、チェックサ
ムが一致しなかったと判定した場合、ルーチン200は
ブロック234に進む。チェックサム値が一致しなかっ
たので、デフォルト・リソース・モジュール76におい
てリソースは変更されていないことになる。したがっ
て、代替リソース・モジュール82はもはやオペレーテ
ィング・システム46と互換性はない。ブロック234
において、レジストリ・リソース・バージョン・データ
ベース74を更新し、代替リソース・モジュール82の
バージョンは、デフォルト・リソース・モジュール76
のバージョンとは互換性がないことを示す。本発明の一
実施形態では、代替リソース・モジュール82のバージ
ョンおよびデフォルト・リソース・モジュール76のバ
ージョンについての互換性情報は、レジストリ・リソー
ス・バージョン・データベース74内に偽値として格納
する。こうして、ルーチン200は、デフォルト・リソ
ース・モジュール76および代替リソース・モジュール
82の同じバージョンがその後にロードされたときには
いつでも、レジストリ・リソース・データベース74に
格納されている互換性情報を用いて、リソースの互換性
を判定することができる。ブロック234においてレジ
ストリ・リソース・バージョン・データベース74内の
互換性情報を更新した後、ルーチン200はブロック2
35に進み、リソース・ローダ72はデフォルト・リソ
ース・モジュール76からリソースをロードする。この
時点で、ルーチン200はブロック236において終了
する。
【0049】再度図3を参照すると、更新が行われるま
で、リソース・ローダ72はレジストリ・リソース・バ
ージョン・データベース74内の互換性情報を利用し
て、代替リソース・モジュール82の現デフォルト・リ
ソース・モジュール76との互換性を動的に検証する。
本発明の一実施形態によれば、リソース・ローダ72
は、更新が行われバージョン情報が変更した場合にの
み、図4に示す追加の処理ステップを実行する。その場
合、デフォルトおよび代替リソース・モジュールの内容
が互換性を保ったままであるか否か判定を行なうことが
必要となる。本発明は、代替リソース・モジュール82
内のリソースのオペレーティング・システム70の最新
バージョンとの互換性を動的に検証することによって、
MUIリソース・モジュールの利用を促進する。代替リ
ソース・モジュール82内のリソースとの互換性に影響
を与えることなくオペレーティング・システム70を更
新した場合、本発明のリソース・ローダ72は、代替リ
ソース・モジュール82からリソースをロードし利用し
続けることによって、リソース・モジュールのバージョ
ン情報がオペレーティング・システムのそれからのもの
と異なっていても、MUI機能性を提供し続ける。
【0050】以上、本発明の好適な実施形態について図
示し説明したが、本発明の精神および範囲から逸脱する
ことなく、種々の変更が可能であることは認められよ
う。
【図面の簡単な説明】
【図1】図1は、本発明にしたがって、リソース・モジ
ュールの互換性を動的に検証することができる、例示の
リソース・ローディング・システムのブロック図であ
る。
【図2】図2は、本発明にしたがってリソース・モジュ
ールの互換性を動的に検証することができるリソース・
ローディング・プロセスのフロー図である。
【図3】図3は、本発明にしたがってリソース・モジュ
ールの互換性を動的に検証することができるリソース・
ローディング・プロセスのフロー図である。
【図4】図4は、本発明にしたがってリソース・モジュ
ールの互換性を動的に検証することができるリソース・
ローディング・プロセスのフロー図である。
【図5】本発明を実施することができる、適当な計算シ
ステム環境を示すブブロック図である。
【符号の説明】
20 コンピュータ 22 処理ユニット 24 システム・メモリ 26 システム・バス 28 リード・オンリ・メモリ(ROM) 30 ランダム・アクセス・メモリ(RAM) 32 基本入出力システム 34 非リムーバブル不揮発性磁気媒体 36 ハード・ディスク・ドライブ 38 磁気ディスク・ドライブ 40 リムーバブル不揮発性磁気ディスク 42 光ディスク・ドライブ 44 リムーバブル不揮発性光ディスク 46 オペレーティング・システム 48 アプリケーション・プログラム 50 プログラム・モジュール 52 プログラム・データ 54 ハード・ディスク・ドライブ・インターフェー
ス 56 磁気ディスク・ドライブ・インターフェース 60 光ディスク・ドライブ・インターフェース 60 キーボード 62 ポインティング・デバイス 64 ユーザ入力インターフェース 65 リモート・コンピュータ 66 ローカル・エリア・ネットワーク(LAN) 67 ワイド・エリア・ネットワーク(WAN) 68 アダプタ 70 リソース・ローディング・システム 72 リソース・ローダ 74 レジストリ・リソース・バージョン・データベ
ース 76 デフォルト・リソース・モジュール 78 バージョン情報 80 チェックサム 82 代替リソース・モジュール 84 バージョン情報 86 チェックサム
フロントページの続き (72)発明者 ユン−シン・リン アメリカ合衆国ワシントン州98074,サン マミッシュ,ノースイースト・テンス・ス トリート 22440 (72)発明者 シェングア,イー アメリカ合衆国ワシントン州98053,レッ ドモンド,トゥハンドレッドアンドトゥエ ンティサード・プレイス・ノースイースト 939 Fターム(参考) 5B001 AA14 5B076 AA06 AC07 BB17 CA06

Claims (44)

    【特許請求の範囲】
  1. 【請求項1】 リソースのオペレーティング・システム
    との互換性を動的に検証する方法であって、 代替リソース・モジュールからリソースをロードする要
    求を取得するステップであって、前記代替リソース・モ
    ジュールが、選択されたインターフェースに対応する、
    ステップと、 前記代替リソース・モジュールをローカライズしたデフ
    ォルト・リソース・モジュールのリソース・コンテンツ
    を取得するステップと、 現デフォルト・リソース・モジュールのリソース・コン
    テンツを取得するステップと、 前記代替リソース・モジュールをローカライズしたデフ
    ォルト・リソース・モジュールのリソース・コンテンツ
    と、現デフォルト・リソース・モジュールの前記リソー
    ス・コンテンツとを比較するステップと、 前記代替リソース・モジュールをローカライズした前記
    デフォルト・リソース・モジュールのリソース・コンテ
    ンツが、前記現デフォルト・リソース・モジュールのリ
    ソース・コンテンツと同一である場合、前記代替リソー
    ス・モジュールから、前記要求されたリソースをロード
    するステップと、から成ることを特徴とする方法。
  2. 【請求項2】 請求項1記載の方法において、前記代替
    リソース・モジュールが、選択したインターフェース言
    語に対応し、前記リソース・モジュールが言語固有であ
    ることを特徴とする方法。
  3. 【請求項3】 請求項1記載の方法において、前記代替
    リソース・モジュールをローカライズした前記デフォル
    ト・リソース・モジュールのリソース・コンテンツと、
    前記現デフォルト・リソース・モジュールのリソース・
    コンテンツとを比較するステップは、各モジュールの表
    現を比較するステップを含むことを特徴とする方法。
  4. 【請求項4】 請求項3記載の方法において、前記リソ
    ース・コンテンツを一意の番号として表わすことを特徴
    とする方法。
  5. 【請求項5】 請求項4記載の方法において、前記一意
    の番号はチェックサムであることを特徴とする方法。
  6. 【請求項6】 請求項5記載の方法において、前記現デ
    フォルト・リソース・モジュールのリソース・コンテン
    ツを取得するステップは、前記現デフォルト・リソース
    ・モジュールからチェックサム値を取得するステップを
    含むことを特徴とする方法。
  7. 【請求項7】 請求項5記載の方法において、前記現デ
    フォルト・リソース・モジュールのリソース・コンテン
    ツを取得するステップは、前記現デフォルト・リソース
    ・モジュールからチェックサム値を計算するステップを
    含むことを特徴とする方法。
  8. 【請求項8】 請求項5記載の方法において、前記代替
    リソース・モジュールをローカライズした前記デフォル
    ト・リソース・モジュールのリソース・コンテンツを取
    得するステップは、前記代替リソース・モジュールから
    チェックサム値を取得するステップを含むことを特徴と
    する方法。
  9. 【請求項9】 請求項5記載の方法において、前記リソ
    ース・コンテンツを取得するステップは、MD5−メッ
    セージ・ダイジェスト・アルゴリズムを用いて計算した
    チェックサム値を取得するステップを含むことを特徴と
    する方法。
  10. 【請求項10】 請求項1記載の方法であって、更に、
    前記代替リソース・モジュールをローカライズした前記
    デフォルト・リソース・モジュールのリソース・コンテ
    ンツが、前記現デフォルト・リソース・モジュールのリ
    ソース・コンテンツと同一でない場合、前記現デフォル
    ト・リソース・モジュールからリソースをロードするス
    テップを含むことを特徴とする方法。
  11. 【請求項11】 請求項1記載の方法であって、更に、
    前記代替リソース・モジュールをローカライズした前記
    デフォルト・リソース・モジュールのリソース・コンテ
    ンツは、前記現デフォルト・リソース・モジュールのリ
    ソース・コンテンツと同一であるか否かに関する互換性
    情報を追跡するステップを含むことを特徴とする方法。
  12. 【請求項12】 請求項11記載の方法において、前記
    互換性情報を追跡するステップは、情報ストア内に前記
    互換性情報を格納するステップを含むことを特徴とする
    方法。
  13. 【請求項13】 請求項1記載の方法であって、更に、
    前記代替リソース・モジュールをローカライズした前記
    デフォルト・リソース・モジュールのリソースを取得す
    るステップの前に、 前記代替リソース・モジュールのバージョン情報を取得
    するステップと、 前記現デフォルト・リソース・モジュールのバージョン
    情報を取得するステップと、 前記代替リソース・モジュールおよび前記現デフォルト
    ・リソース・モジュールのバージョン情報を比較するス
    テップと、 前記代替リソース・モジュールおよび前記デフォルト・
    リソース・モジュールのバージョン情報が同一である場
    合、前記代替リソース・モジュールから、要求されたリ
    ソースをロードするステップと、を含むことを特徴とす
    る方法。
  14. 【請求項14】 請求項13記載の方法であって、更
    に、 前記デフォルト・リソース・モジュールおよび前記代替
    リソース・モジュールのバージョン情報が同一でない場
    合、前記現デフォルトまたは代替リソース・モジュール
    が更新されているか否か判定を行なうステップと、 更新が行われていない場合、前記現デフォルト・リソー
    ス・モジュールおよび前記代替リソース・モジュールの
    バージョンについての互換性情報を取得するステップ
    と、 前記互換性情報に基づいて、前記要求されたリソースを
    ロードするステップと、を含むことを特徴とする方法。
  15. 【請求項15】 請求項14記載の方法において、前記
    互換性情報に基づいて、前記要求されたリソースをロー
    ドするステップは、前記現デフォルト・リソース・モジ
    ュールが前記代替リソース・モジュールと互換性がある
    ことを前記互換性情報が示す場合、前記代替リソース・
    モジュールからリソースをロードするステップを含むこ
    とを特徴とする方法。
  16. 【請求項16】 請求項14記載の方法において、前記
    互換性情報に基づいて前記要求されたリソースをロード
    するステップは、前記現デフォルト・リソース・モジュ
    ールが前記代替リソース・モジュールと互換性がないこ
    とを前記互換性情報が示す場合、前記デフォルト・リソ
    ース・モジュールからリソースをロードするステップを
    含むことを特徴とする方法。
  17. 【請求項17】 請求項14記載の方法において、更新
    が行われたか否か判定を行なうステップは、互換性情報
    を保持する情報ストアを探索するステップを含むことを
    特徴とする方法。
  18. 【請求項18】 請求項17記載の方法において、更新
    が行われたか否か判定を行なうステップは、互換性情報
    を保持する前記情報ストア内において情報がみつからな
    い場合、更新が行われなかったと判定するステップを含
    むことを特徴とする方法。
  19. 【請求項19】 請求項18記載の方法であって、更
    に、更新が行われた場合、前記現デフォルト・リソース
    ・モジュールのバージョンおよび前記代替リソース・モ
    ジュールに対応して、前記情報ストアにレコードを作成
    するステップを含むことを特徴とする方法。
  20. 【請求項20】 請求項14記載の方法において、前記
    互換性情報は、互換性情報を追跡するために用いる情報
    ストアから取得することを特徴とする方法。
  21. 【請求項21】 請求項1記載の方法において、前記オ
    ペレーティング・システムは複数の代替リソース・モジ
    ュールを含むことを特徴とする方法。
  22. 【請求項22】 請求項1記載の方法において、前記代
    替リソース・モジュールをユーザが選択することを特徴
    とする方法。
  23. 【請求項23】 請求項1ないし22のいずれか1項記
    載の方法を実行する、コンピュータ実行可能命令を有す
    ることを特徴とするコンピュータ読み取り可能媒体。
  24. 【請求項24】 プロセッサと、メモリとを動作環境に
    おいて有するコンピュータ・システムであって、請求項
    1ないし22のいずれか1項記載の方法を実行すること
    を特徴とするコンピュータ・システム。
  25. 【請求項25】 リソース・モジュールのオペレーティ
    ング・システムとの互換性を動的に検証する方法であっ
    て、前記リソース・モジュールが言語固有のデータを含
    み、デフォルト・リソース・モジュールがデフォルト・
    インターフェース言語に対応し、1つ以上の代替リソー
    ス・モジュールが、選択したインターフェース言語に対
    応し、前記方法は、 代替リソース・モジュールから言語特定リソースをロー
    ドする要求を取得するステップと、 前記代替リソース・モジュールのバージョン情報を取得
    するステップと、 前記現デフォルト・リソース・モジュールのバージョン
    情報を取得するステップと、 前記代替リソース・モジュールおよび前記現デフォルト
    ・リソース・モジュールのバージョン情報を比較するス
    テップと、 前記現デフォルト・リソース・モジュールおよび前記代
    替リソース・モジュールのバージョン情報が同一でない
    場合、前記現デフォルトおよび代替リソース・モジュー
    ルのどちらが更新されたか判定を行なうステップと、 更新が行われた場合、前記代替リソース・モジュールを
    ローカライズしたデフォルト・リソース・モジュールの
    リソース・コンテンツを取得するステップと、 更新が行われた場合、前記現デフォルト・リソース・モ
    ジュールのリソース・コンテンツを取得するステップ
    と、 前記代替リソース・モジュールをローカライズした前記
    デフォルト・リソース・モジュールのリソース・コンテ
    ンツと、前記現デフォルト・リソース・モジュールのリ
    ソース・コンテンツとを比較するステップと、 前記代替リソース・モジュールをローカライズした前記
    デフォルト・リソース・モジュールのリソース・コンテ
    ンツが、前記現デフォルト・リソース・モジュールのリ
    ソース・コンテンツと同一であるか否かに関して、互換
    性情報を追跡するステップと、 前記代替リソース・モジュールをローカライズした前記
    デフォルト・リソース・モジュールのリソース・コンテ
    ンツが、前記現デフォルト・リソース・モジュールのリ
    ソース・コンテンツと同一である場合、前記代替リソー
    ス・モジュールから、要求された言語固有リソースをロ
    ードするステップと、から成ることを特徴とする方法。
  26. 【請求項26】 請求項25記載の方法であって、更
    に、前記代替リソース・モジュールおよび前記デフォル
    ト・リソース・モジュールのバージョン情報が同一であ
    る場合、前記代替リソース・モジュールから、前記要求
    されたリソースをロードするステップを含むことを特徴
    とする方法。
  27. 【請求項27】 請求項25記載の方法であって、更
    に、更新が行われていない場合、前記現デフォルト・リ
    ソース・モジュールおよび前記代替リソース・モジュー
    ルのバージョンについての互換性情報を取得し、該互換
    性情報に基づいて、前記要求されたリソースをロードす
    るステップを含むことを特徴とする方法。
  28. 【請求項28】 リソース・モジュールがオペレーティ
    ング・システムと互換性があることを動的に検証するコ
    ンピュータ・システムであって、 リソース・モジュールからリソースをロードするリソー
    ス・ローダと、 少なくとも1つのリソースを含む現デフォルト・リソー
    ス・モジュールであって、リソース・コンテンツを有す
    る、現デフォルト・リソース・モジュールと、 デフォルト・リソース・モジュールからローカライズさ
    れた1つ以上のリソースと、前記代替リソース・モジュ
    ール内に含まれるリソースをローカライズしたデフォル
    ト・リソース・モジュールのリソース・コンテンツとを
    含む代替リソース・モジュールと、を備え、前記代替リ
    ソース・モジュールをローカライズしたリソース・コン
    テンツが前記現デフォルト・リソース・モジュールのリ
    ソース・コンテンツと同一である場合、前記リソース・
    ローダは前記代替リソース・モジュールからリソースを
    ロードすることを特徴とするコンピュータ・システム。
  29. 【請求項29】 請求項28記載のコンピュータ・シス
    テムにおいて、前記代替リソース・モジュールは、選択
    したインターフェース言語に対応し、前記リソース・モ
    ジュールは言語固有であることを特徴とするコンピュー
    タ・システム。
  30. 【請求項30】 請求項28記載のコンピュータ・シス
    テムにおいて、前記リソース・コンテンツを一意の番号
    として表わすことを特徴とするコンピュータ・システ
    ム。
  31. 【請求項31】 請求項30記載のコンピュータ・シス
    テムにおいて、前記一意の番号はリソース・コンテンツ
    のチェックサムであることを特徴とするコンピュータ・
    システム。
  32. 【請求項32】 請求項30記載のコンピュータ・シス
    テムにおいて、前記デフォルト・リソース・モジュール
    は、そのリソース・コンテンツのチェックサムを含むこ
    とを特徴とするコンピュータ・システム。
  33. 【請求項33】 請求項30記載のコンピュータ・シス
    テムにおいて、前記代替リソース・モジュールは、これ
    をローカライズしたデフォルト・リソース・モジュール
    のリソース・コンテンツのチェックサムを含むことを特
    徴とするコンピュータ・システム。
  34. 【請求項34】 請求項28記載のコンピュータ・シス
    テムにおいて、前記オペレーティング・システムは、複
    数の代替リソース・モジュールを含むことを特徴とする
    コンピュータ・システム。
  35. 【請求項35】 請求項28記載のコンピュータ・シス
    テムにおいて、前記代替リソース・モジュールをユーザ
    が選択することを特徴とするコンピュータ・システム。
  36. 【請求項36】 請求項28記載のコンピュータ・シス
    テムであって、更に、前記現デフォルト・リソース・モ
    ジュールおよび前記代替リソース・モジュールの互換性
    情報を保持するレジストリ・リソース・バージョン・デ
    ータベースを備え、前記リソース・リーダは、前記互換
    性情報を利用して、前記代替リソース・モジュールが前
    記オペレーティング・システムと互換性があるか否か判
    定を行なうことを特徴とするコンピュータ・システム。
  37. 【請求項37】 コンピュータ実行可能モジュールを有
    するコンピュータ読み取り可能媒体であって、 リソース・モジュールからリソースをロードするリソー
    ス・ローダ・モジュールと、 少なくとも1つのリソースを含む現デフォルト・リソー
    ス・モジュールと、 代替リソース・モジュールであって、デフォルト・リソ
    ース・モジュールからローカライズされた1つ以上のリ
    ソースと、当該代替リソース・モジュールをローカライ
    ズした前記デフォルト・リソース・モジュールのリソー
    ス・コンテンツとを含む代替リソース・モジュールと、
    を備え、前記代替リソース・モジュールをローカライズ
    した前記リソース・コンテンツが前記現デフォルト・リ
    ソース・モジュールのリソース・コンテンツと同一であ
    る場合、前記代替リソース・モジュールからリソースを
    ロードすることを特徴とするコンピュータ読み取り可能
    媒体。
  38. 【請求項38】 請求項37記載のコンピュータ読み取
    り可能媒体において、前記代替リソース・モジュール
    は、選択したインターフェース言語に対応し、前記リソ
    ース・モジュールは言語固有であることを特徴とするコ
    ンピュータ読み取り可能媒体。
  39. 【請求項39】 請求項37記載のコンピュータ読み取
    り可能媒体において、前記リソース・コンテンツを一意
    の番号として表わすことを特徴とするコンピュータ読み
    取り可能媒体。
  40. 【請求項40】 請求項39記載のコンピュータ読み取
    り可能媒体において、前記一意の番号はリソース・コン
    テンツのチェックサムであることを特徴とするコンピュ
    ータ読み取り可能媒体。
  41. 【請求項41】 請求項40記載のコンピュータ読み取
    り可能媒体において、前記デフォルト・リソース・モジ
    ュールは、そのリソース・コンテンツのチェックサムを
    含むことを特徴とするコンピュータ読み取り可能媒体。
  42. 【請求項42】 請求項40記載のコンピュータ読み取
    り可能媒体において、前記代替リソース・モジュール
    は、これをローカライズしたデフォルト・リソース・モ
    ジュールのリソース・コンテンツのチェックサムを含む
    ことを特徴とするコンピュータ読み取り可能媒体。
  43. 【請求項43】 請求項37記載のコンピュータ読み取
    り可能媒体において、前記オペレーティング・システム
    は、複数の代替リソース・モジュールを含むことを特徴
    とするコンピュータ読み取り可能媒体。
  44. 【請求項44】 請求項37記載のコンピュータ読み取
    り可能媒体であって、更に、前記現デフォルト・リソー
    ス・モジュールのバージョン情報と、前記代替リソース
    ・モジュールのバージョン情報と、前記現デフォルト・
    リソース・モジュールおよび前記代替リソース・モジュ
    ールの互換性情報とを保持するレジストリ・リソース・
    バージョン・データベースを備え、前記リソース・リー
    ダは、前記互換性情報を利用して、前記代替リソース・
    モジュールが前記オペレーティング・システムと互換性
    があるか否か判定を行なうことを特徴とするコンピュー
    タ読み取り可能媒体。
JP2001332263A 2000-10-30 2001-10-30 リソースの互換性を動的に検証する方法 Expired - Fee Related JP4510345B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US24433800P 2000-10-30 2000-10-30
US60/244338 2000-10-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007136806A Division JP4150060B2 (ja) 2000-10-30 2007-05-23 コンピュータ・システムにおいてリソース・モジュールをロードする方法

Publications (2)

Publication Number Publication Date
JP2002163114A true JP2002163114A (ja) 2002-06-07
JP4510345B2 JP4510345B2 (ja) 2010-07-21

Family

ID=22922318

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001332263A Expired - Fee Related JP4510345B2 (ja) 2000-10-30 2001-10-30 リソースの互換性を動的に検証する方法
JP2007136806A Expired - Fee Related JP4150060B2 (ja) 2000-10-30 2007-05-23 コンピュータ・システムにおいてリソース・モジュールをロードする方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007136806A Expired - Fee Related JP4150060B2 (ja) 2000-10-30 2007-05-23 コンピュータ・システムにおいてリソース・モジュールをロードする方法

Country Status (3)

Country Link
US (2) US7178142B2 (ja)
EP (1) EP1202168A3 (ja)
JP (2) JP4510345B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178947A (ja) * 2004-12-20 2006-07-06 Microsoft Corp ソフトウェアセットアップのための言語に中立なインストレーションパッケージ、および言語に固有のインストレーションパッケージ

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6620573B2 (en) * 2000-11-21 2003-09-16 Agfa-Gavaert Processless lithographic printing plate
US7191439B2 (en) * 2001-02-28 2007-03-13 Palmsource, Inc. Verification of software application attributes for optimal compatibility with a software system
US20030212438A1 (en) * 2002-05-07 2003-11-13 Nova Richard C. Customization of medical device
US7275244B1 (en) * 2003-03-18 2007-09-25 Microsoft Corporation System and method for incrementally saving web files to a web server using file hash values
ATE366912T1 (de) * 2003-05-07 2007-08-15 Harman Becker Automotive Sys Verfahren und vorrichtung zur sprachausgabe, datenträger mit sprachdaten
US7725892B2 (en) * 2003-07-01 2010-05-25 Hewlett-Packard Development Company, L.P. Field-replaceable unit revision compatibility
US7730476B2 (en) * 2003-07-01 2010-06-01 Hewlett-Packard Development Company, L.P. Field-replaceable unit revision compatibility
US7516442B2 (en) * 2003-10-23 2009-04-07 Microsoft Corporation Resource manifest
US20050257093A1 (en) * 2004-04-21 2005-11-17 Johnson Stephen L Dynamic update of pluggable modules using a reference manager
US7424719B2 (en) * 2004-08-02 2008-09-09 Hewlett-Packard Development Company, L.P. Application with multiple embedded drivers
AR051014A1 (es) * 2004-08-24 2006-12-13 Geneva Software Technologies Ltd Sistema y metodo para la migracion de un producto en varios idiomas
US20060161910A1 (en) * 2005-01-14 2006-07-20 International Business Machines Corporation Method, system and program product for automatically ensuring compatability of a code module loaded into a program-code environment
US7653528B2 (en) * 2005-03-08 2010-01-26 Microsoft Corporation Resource authoring incorporating ontology
US7774195B2 (en) * 2005-03-08 2010-08-10 Microsoft Corporation Method and system for creating, storing, managing and consuming culture specific data
US8219907B2 (en) * 2005-03-08 2012-07-10 Microsoft Corporation Resource authoring with re-usability score and suggested re-usable data
US20060206797A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Authorizing implementing application localization rules
US7698126B2 (en) * 2005-03-08 2010-04-13 Microsoft Corporation Localization matching component
US7869367B2 (en) * 2005-11-30 2011-01-11 Hewlett-Packard Development Company, L.P. Methods and systems for checking expected network traffic
US7739663B2 (en) * 2006-05-16 2010-06-15 International Business Machines Corporation Method, system and program product for validating a runtime environment
US8255790B2 (en) * 2006-09-08 2012-08-28 Microsoft Corporation XML based form modification with import/export capability
US20080127161A1 (en) * 2006-10-16 2008-05-29 Microsoft Corporation Environment state changes to alter functionality
GB0623933D0 (en) * 2006-11-29 2007-01-10 Ibm Apparatus and method for synchronizing controller firmware download
US7974993B2 (en) * 2006-12-04 2011-07-05 Microsoft Corporation Application loader for support of version management
JP5097130B2 (ja) * 2006-12-27 2012-12-12 パナソニック株式会社 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム
JP2008191786A (ja) * 2007-02-01 2008-08-21 Canon Inc プログラム管理装置、プログラム管理方法及びプログラム
KR20080114510A (ko) 2007-06-25 2008-12-31 가부시키가이샤 다까라토미 자동차 완구
US8055496B2 (en) * 2007-11-01 2011-11-08 Microsoft Corporation Ensuring product correctness in a multilingual environment
US8359599B2 (en) * 2007-11-20 2013-01-22 Ricoh Production Print Solutions LLC Methods and systems for efficient use and mapping of distributed shared resources
US8156477B2 (en) * 2007-11-21 2012-04-10 Oracle America, Inc. Method and system for assessing virtualization capability of a software application
US8595710B2 (en) * 2008-03-03 2013-11-26 Microsoft Corporation Repositories and related services for managing localization of resources
US10755287B2 (en) * 2008-11-25 2020-08-25 Microsoft Technology Licensing, Llc Selecting between client-side and server-side market detection
US20100179980A1 (en) * 2009-01-14 2010-07-15 Movidilo S.L. Cache system for mobile communications devices
US8677329B2 (en) * 2009-06-03 2014-03-18 Apple Inc. Methods and apparatuses for a compiler server
US9117071B2 (en) 2009-06-03 2015-08-25 Apple Inc. Methods and apparatuses for secure compilation
US9047103B2 (en) 2010-12-21 2015-06-02 Microsoft Technology Licensing, Llc Resource index identifying multiple resource instances and selecting most appropriate UI resource instance based on weighted resource request conditions
US8495570B2 (en) * 2010-12-23 2013-07-23 Microsoft Corporation Resource deployment based on conditions
US9495371B2 (en) 2010-12-28 2016-11-15 Microsoft Technology Licensing, Llc Unified access to resources
US20120198436A1 (en) * 2011-01-27 2012-08-02 Preimesberger Lee A Compatible Operating System
US8438532B2 (en) 2011-04-19 2013-05-07 Sonatype, Inc. Method and system for scoring a software artifact for a user
US8627270B2 (en) 2011-09-13 2014-01-07 Sonatype, Inc. Method and system for monitoring a software artifact
US9141378B2 (en) 2011-09-15 2015-09-22 Sonatype, Inc. Method and system for evaluating a software artifact based on issue tracking and source control information
US8656343B2 (en) 2012-02-09 2014-02-18 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
JP5949904B2 (ja) * 2012-03-29 2016-07-13 ソニー株式会社 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム
US8825689B2 (en) 2012-05-21 2014-09-02 Sonatype, Inc. Method and system for matching unknown software component to known software component
US9183012B2 (en) * 2012-06-22 2015-11-10 Microsoft Technology Licensing, Llc Adaptive rendering based on runtime capability check
US9141408B2 (en) * 2012-07-20 2015-09-22 Sonatype, Inc. Method and system for correcting portion of software application
US8984487B2 (en) 2012-09-14 2015-03-17 Microsoft Technology Licensing, Llc Resource tracker
US9135263B2 (en) 2013-01-18 2015-09-15 Sonatype, Inc. Method and system that routes requests for electronic files
US9323514B2 (en) * 2013-05-30 2016-04-26 Microsoft Technology Licensing, Llc Resource package indexing
US9594749B2 (en) 2014-09-30 2017-03-14 Microsoft Technology Licensing, Llc Visually differentiating strings for testing
US9971594B2 (en) 2016-08-16 2018-05-15 Sonatype, Inc. Method and system for authoritative name analysis of true origin of a file
US10235156B2 (en) * 2016-12-01 2019-03-19 Entit Software Llc Versioned extension points of graphical user interfaces
US10691428B2 (en) * 2018-10-24 2020-06-23 Sap Se Digital compliance platform
JP2021182282A (ja) * 2020-05-19 2021-11-25 富士フイルムビジネスイノベーション株式会社 ファイル管理装置およびプログラム
US11720550B2 (en) * 2021-05-28 2023-08-08 Microsoft Technology Licensing, Llc Transaction log validation in a database transaction log service
US11934442B2 (en) * 2022-05-17 2024-03-19 Xerox Corporation Methods and systems for managing different versions of a document in a document management system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
JPS6437621A (en) * 1987-07-20 1989-02-08 Ibm Updating of program
EP0559221B1 (en) * 1992-03-06 1999-05-12 Microsoft Corporation Method for storing programs
JP3343354B2 (ja) * 1993-05-05 2002-11-11 アップル コンピューター インコーポレーテッド コンピュータシステム中にある複数のモジュラーコンポーネント間に互換性如何を確認する方法ならびに装置
US5634114A (en) * 1993-11-18 1997-05-27 Intel Corporation Dynamic link library version negotiation
US6807558B1 (en) * 1995-06-12 2004-10-19 Pointcast, Inc. Utilization of information “push” technology
US6717588B1 (en) * 1998-08-14 2004-04-06 Microsoft Corporation Multilingual user interface for an operating system
US6252589B1 (en) * 1998-08-14 2001-06-26 Microsoft Corporation Multilingual user interface for an operating system
US6591417B1 (en) * 1999-12-30 2003-07-08 International Business Machines Corporation Method of and system for testing compatibility with an external API upgrade

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178947A (ja) * 2004-12-20 2006-07-06 Microsoft Corp ソフトウェアセットアップのための言語に中立なインストレーションパッケージ、および言語に固有のインストレーションパッケージ

Also Published As

Publication number Publication date
US20020052910A1 (en) 2002-05-02
JP4510345B2 (ja) 2010-07-21
US7178142B2 (en) 2007-02-13
JP2007250003A (ja) 2007-09-27
EP1202168A3 (en) 2006-08-23
US20060225068A1 (en) 2006-10-05
EP1202168A2 (en) 2002-05-02
JP4150060B2 (ja) 2008-09-17
US7673299B2 (en) 2010-03-02

Similar Documents

Publication Publication Date Title
JP4150060B2 (ja) コンピュータ・システムにおいてリソース・モジュールをロードする方法
US7698126B2 (en) Localization matching component
AU2006200694B2 (en) Method and system for creating, storing, managing and consuming culture specific data
US7653528B2 (en) Resource authoring incorporating ontology
US8219907B2 (en) Resource authoring with re-usability score and suggested re-usable data
US7376673B1 (en) Offline editing of XML files using a solution
US9146735B2 (en) Associating workflows with code sections in a document control system
US20020194398A1 (en) System and method for building a target operating system from a source operating system
US20040250239A1 (en) Maintaining multiple valid concurrent serialized object versions
US20060206797A1 (en) Authorizing implementing application localization rules
US9116770B2 (en) Recipe-based application conversion
US7340719B1 (en) Methods and apparatus to preserve software modifications
US20070033190A1 (en) Unified storage security model
US6401100B1 (en) Method for associating classes contained in the same or different models
JP2002132522A (ja) オペレーティング・システム用多言語ユーザ・インターフェース
US6592628B1 (en) Modular storage method and apparatus for use with software applications
US20060041870A1 (en) Systems and methods for varying software build properties using primary and supplemental build files
US6922735B2 (en) Management of co-processor information by integrating non-program information with program information
CN111273956B (zh) 一种程序模块加载方法、装置、设备及存储介质
CN111611578B (zh) 一种检测powershadow虚拟环境的方法及其系统
US7904883B2 (en) Localizable object pattern
US20080115106A1 (en) Method, system and program product to identify the use of a restricted term in a source file
CN113590223A (zh) 引擎编辑器的启动方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041020

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041020

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20070911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070911

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071016

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071109

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7431

Effective date: 20091109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100401

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100430

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees