(57)【要約】      （修正有）【課題】連想メモリを更新する際の再構築に要する時間及び労力の増大を解消する。【解決手段】システムは連想メモリ、第１テーブル、第２テーブル、コンパレータ、及びアップデータを含む。連想メモリはデータ及びデータ間の連想を含み、第１テーブルから構築する。第１テーブルは、第１及び第２フィールドを伴うレコードを含む。連想メモリは第１フィールドを取り込み、第２フィールドの取り込みを回避するように構成する。第２テーブルは、第１フィールドが連想メモリによって取り込み済みかどうか、又は連想メモリによって忘却処理済みかどうかを示す情報を保存する。コンパレータは、第１フィールドを連想メモリによって忘却処理すべきかどうか、又は取り込むべきかどうかを特定するため、第１テーブルと第２テーブルの比較を行う。アップデータは、第１フィールドの取り込み又は忘却処理のいずれか一つを実施することによって、連想メモリを更新する。【選択図】図１
2013033583.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ及び複数のデータ間の複数の連想を含む連想メモリと、
連想メモリ構築の元となっていて、第１レコードを含む第１テーブルであって、該第１レコードが第１フィールド及び第２フィールドを含み、前記連想メモリが前記第１フィールドを取り込むように構成され、且つ前記連想メモリが前記第２フィールドの取り込みを回避するようにさらに構成されている第１テーブルと、
第２レコードを含む第２テーブルであって、該第２レコードが第３フィールドを含み、該第３フィールドが、前記第１フィールドが前記連想メモリによって取り込み済みかどうか、又は前記連想メモリによって忘却処理済みかどうか、のうちの少なくとも一つを示す第１の情報を保存している第２テーブルと、
前記第１フィールドを前記連想メモリによって忘却処理すべきかどうか、又は前記第１フィールドを前記連想メモリによって取り込むべきかどうか、のうちの一つを特定するために、前記第１テーブルと前記第２テーブルとを比較するように構成されたコンパレータと、
前記第１フィールドの取り込み又は前記第１フィールドの忘却処理のうちの一つを実施することによって、前記連想メモリを更新するように構成されたアップデータと
を含むシステム。
【請求項２】
前記第２フィールドが、前記第１フィールドを前記連想メモリによって忘却処理すべきかどうか、又は前記連想メモリによって前記第１フィールドが取り込まれていない場合には、前記アップデータによって無視すべきかどうかを示す、第２の情報を含む、請求項１に記載のシステム。
【請求項３】
前記コンパレータが、前記第３フィールドと前記第２フィールドを比較するように構成されている、請求項１または２に記載のシステム。
【請求項４】
前記アップデータが、前記第２フィールド内の第２の情報が前記第１フィールドを忘却処理すべきであることを示しているとき、及び前記第３フィールド内の第１の情報が前記連想メモリに前記第１フィールドが取り込み済みであることを示しているときには、前記第１フィールドを忘却処理することによって、前記連想メモリを更新するように構成されている、請求項２に記載のシステム。
【請求項５】
前記第１の情報が、前記第１フィールドが連想メモリによって忘却処理済み又は取り込み済みであることを示すように、前記第２テーブルを更新するように構成されている第２アップデータを
さらに含む、請求項１に記載のシステム。
【請求項６】
前記第１テーブル及び前記第２テーブルが互いに分離されて維持される、請求項１に記載のシステム。
【請求項７】
前記第１テーブル及び前記第２テーブルが一つのテーブルの一部である、請求項１に記載のシステム。
【請求項８】
前記アップデータが、前記第１フィールドの修正又は削除を回避するように構成されている、請求項１に記載のシステム。
【請求項９】
前記第１フィールドが連想メモリによって忘却処理された後でのみ、前記第１テーブルから前記第１レコードを削除できるように構成されたリムーバを
さらに含む、請求項１に記載のシステム。
【請求項１０】
連想メモリが更新される前に、第３レコードを第１テーブルに加算するように構成されている加算器をさらに含み、前記連想メモリが更新されると前記第３レコードが前記連想メモリによって取り込まれることになっている、請求項１に記載のシステム。
【請求項１１】
前記第１フィールドを前記連想メモリによって忘却処理すべきであることを示すため、第２フィールドの第２の情報を変更するように構成されているマーカーを
さらに含む、請求項２に記載のシステム。
【請求項１２】
第１の有形メモリの中で、連想メモリ構築の元となっている第１テーブルへの更新情報を受け取るステップであって、該第１テーブルが第１レコードを含み、該第１レコードが第１フィールド及び第２フィールドを含み、前記連想メモリが該第１フィールドを取り込むように構成され、前記連想メモリが複数のデータ及び該複数のデータ間の複数の連想を含み、且つ前記連想メモリがさらに該第２フィールドの取り込みを回避するように構成されているステップと、
前記第１フィールドを前記連想メモリによって忘却処理すべきかどうか又は前記第１フィールドを前記連想メモリによって取り込むべきかどうかのうちの一つを特定するため、第１プロセッサを用いて、前記第１テーブルを第２の有形メモリの第２テーブルと比較するステップであって、前記第２テーブルが第２レコードを含み、該第２レコードが第３フィールドを含み、且つ該第３フィールドが前記第１フィールドが前記連想メモリによって取り込み済みかどうか又は前記連想メモリによって忘却処理済みかどうかのうちの少なくとも一つを示す第１の情報を保存し、さらに前記比較が形成されているステップと、
第２プロセッサを用いて、前記第１フィールドの取り込み又は前記第１フィールドの忘却処理のうちの一つを実施することによって、前記連想メモリを更新するステップと
を含む方法。
【請求項１３】
前記第２フィールドが、前記第１フィールドを前記連想メモリによって忘却処理すべきかどうか、又は前記第１フィールドが前記連想メモリによって取り込まれていない場合には、前記第２プロセッサによって無視すべきかどうか、を示す第２の情報を含む、請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は連想メモリ更新の方法及び装置に関する。
【背景技術】
【０００２】
連想メモリは人間の知能の考え方に基づく技術で、自然知能と呼ばれることもある。典型的には、記憶からアイテム、事象、及び／又は概念を想起するとき、人間の知能はこれらのアイテム、事象、又は概念がどのように関連しているかを考慮する。アイテム、事象、及び／又は概念は、「エンティティ」と総称されることがある。すなわち、人間の知能は、過去に経験したエンティティを想起するとき、過去に経験したエンティティと他のエンティティとの間の関係を考慮する。
【０００３】
このようにして、人間の知性は、過去に経験したエンティティを想起するため連想に基づく記憶を利用する。この概念は、現在利用及び研究されている種々の連想メモリ技術の基礎となっている。現在では、様々な種類の連想メモリ技術が存在する。これらの種類には、例えば、自己連想メモリ及びヘテロ連想メモリが含まれるが、以下に説明する有利な実施形態は、これらの種類の連想メモリに限定されていない。
【０００４】
自己連想メモリは、１個のデータの一部のみを用いて１個のデータを取り出すことができる。ヘテロ連想メモリは、別のカテゴリーに含まれる関連する１個のデータを用いて１個のカテゴリの１個のデータを読み出すことができる。
【０００５】
典型的には、連想メモリシステムは、ニューラルネットワーク、人工知能、及び／又は、個々のデータ間の連想を形成し、これらの連想に基づいて様々なデータを読み出す他の好適な技術を利用して実装することができる。連想メモリシステムの種々のデータは、様々なデータソース群に由来することがある。
【０００６】
例えば、連想メモリは、任意の数のデータベース、テーブル、スプレッドシート、ログ、画像、ファイル、データ構造、及び／又は他のデータソースのデータを用いて構築しうる。特に、連想メモリは、これらの様々なデータソースに保存されているデータを取り込むように構成されている。本明細書で使用している「取り込む」という表現は、連想メモリ内に存在する既存のデータに新しいデータを組み込み、新たに取り込まれたデータ間及び／又は新たに取り込まれたデータと過去に取り込まれたデータとの間の連想を形成することを想定している。「取り込む」という表現はまた、過去に取り込まれたデータ間に新たな関係を形成するために、過去に取り込まれたデータを再取り込みすることを想定している。
【０００７】
このような様々なデータソースに保存されているデータに対して、しばしば変更が行われる。これらの変更には、例えば、データの追加、データの削除、データの修正、及び／又は他の形式の変更が含まれる。したがって、連想メモリを更新するためには、連想メモリにデータソース群の新しいバージョンを取り込ませることが望ましい場合がある。しかしながら、連想メモリの更新のために現在利用可能なシステムでは、更新情報を「新規データ」として処理することで、連想メモリ内の既存のデータに更新情報を取り込むことができない場合がある。したがって、幾つかの場合には、連想メモリは、データソース群の新しいバージョンを利用して連想メモリ全体を再構築することによってのみ、更新することができる。しかしながら、連想メモリの大きさが増大するにつれて、連想メモリの再構築に要する時間及び／又は労力の量も増大する。幾つかの場合には、連想メモリが十分に大きいと、所望の更新情報を連想メモリに含める速度では、当該連想メモリの再構築に要する時間を超えることがある。
【０００８】
したがって、少なくとも上述の問題点の幾つか並びに起こりうるその他の問題点を考慮に入れた方法及び装置を有することは有利であろう。
【発明の概要】
【０００９】
一つの有利な実施形態では、システムは連想メモリ、第１テーブル、第２テーブル、コンパレータ、及びアップデータを含むことができる。連想メモリは複数のデータ及び複数のデータ間の複数の連想を含むことがある。連想メモリは第１テーブルから構築することができる。第１テーブルは第１レコードを含み、この第１レコードは第１フィールド及び第２フィールドを含むことがある。連想メモリは第１フィールドを取り込み、第２フィールドの取り込みを回避するように構成することができる。第２テーブルは第２レコードを含み、この第２レコードは第３フィールドを含むことがある。第３フィールドは、第１フィールドが連想メモリによって取り込み済みかどうか、又は連想メモリによって忘却処理済みかどうかに関して、少なくとも一つを示す第１の情報を保存することができる。コンパレータは、第１フィールドを連想メモリによって忘却処理すべきかどうか、又は第１フィールドを連想メモリによって取り込むべきかどうかにに関して、いずれか一つを特定するため、第１テーブルと第２テーブルの比較を行うように構成することができる。アップデータは、第１フィールドの取り込み又は第１フィールドの忘却処理のいずれか一つを実施することによって、連想メモリを更新するように構成することができる。
【００１０】
別の有利な実施形態では、連想メモリを更新する方法が提供される。連想メモリが構築されている第１テーブルへの更新情報は、第１の有形メモリで受け取ってもよい。第１テーブルは第１レコードを含み、この第１レコードは第１フィールド及び第２フィールドを含むことがある。連想メモリは第２フィールドを取り込むように構成することができる。連想メモリは複数のデータ及び複数のデータ間の複数の連想を含むことができる。連想メモリは第２フィールドの取り込みを回避するようにさらに構成することができる。第１プロセッサは、第１フィールドを連想メモリによって忘却処理すべきかどうか、又は第１フィールドを連想メモリによって取り込むべきかどうかに関して、いずれか一つを特定するため、第１テーブルと第２テーブルの比較を行うことができる。第２テーブルは第２レコードを含み、この第２レコードは第３フィールドを含むことがある。第３フィールドは、第１フィールドが連想メモリによって取り込み済みかどうか、又は連想メモリによって忘却処理済みかどうかのうちの少なくとも一つを示す第１の情報を保存することができる。比較表を形成してもよい。第２プロセッサは、第１フィールドの取り込み又は第１フィールドの忘却処理のいずれか一つを実施することによって、連想メモリを更新することができる。
【００１１】
さらに別の有利な実施形態では、コンピュータで使用可能なプログラムコードを保存する永続的なコンピュータで読取可能な記憶媒体は、コンピュータで使用可能なプログラムコードを含むことができる。コンピュータで使用可能なプログラムコードは、構築済みの連想メモリからの更新情報を第１テーブルに受け取るため、第１の有形メモリ内に存在していてもよい。第１テーブルは第１レコードを含み、この第１レコードは第１フィールド及び第２フィールドを含むことがある。連想メモリは第１フィールドを取り込むように構成することができる。連想メモリは複数のデータ及び複数のデータ間の複数の連想を含むことができる。連想メモリは第２フィールドの取り込みを回避するようにさらに構成することができる。コンピュータで使用可能なプログラムコードは、第１のプロセッサを利用して、第１フィールドを連想メモリによって忘却処理すべきかどうか、又は第１フィールドを連想メモリによって取り込むべきかどうかのいずれか一つを特定するため、第１テーブルと第２テーブルの比較を行えるよう第２の有形メモリ内に存在していてもよい。第２テーブルは第２レコードを含み、この第２レコードは第３フィールドを含むことがある。第３フィールドは、第１フィールドが連想メモリによって取り込み済みかどうか、又は連想メモリによって忘却処理済みかどうかのうちの少なくとも一つを示す第１の情報を保存することができる。比較表を形成してもよい。コンピュータで使用可能なプログラムコードは、第２プロセッサを使用して、第１フィールドの取り込み又は第１フィールドの忘却処理のいずれか一つを実施することによって、連想メモリを更新するように存在していてもよい。
【００１２】
特徴、機能及び利点は、本発明の様々な実施形態で独立に実現することが可能であるか、以下の説明及び図面を参照してさらなる詳細が理解されうる、さらに別の実施形態で組み合わせることが可能である。
【００１３】
有利な実施形態の特性と考えられる新規特徴は添付した特許請求の範囲に記載されている。しかしながら、有利な実施形態に加えて、好適な使用形態、さらなる目的、及びその利点は、以下に示す本発明の有利な実施形態の詳細な説明を参照し、添付の図面と併せて読むときに最もよく理解されるであろう。
【図面の簡単な説明】
【００１４】
【図１】図１は有利な実施形態による連想メモリを管理するためのメモリ管理システムのブロック図を示したものである。
【図２Ａ】図２Ａは有利な実施形態による連想メモリを更新するプロセスのフロー図を示したものである。
【図２Ｂ】図２Ｂは有利な実施形態による連想メモリを更新するプロセスのフロー図を示したものである。
【図３】図３は有利な実施形態による連想メモリを更新するプロセスのフロー図を示したものである。
【図４】図４は有利な実施形態による連想メモリ構築の元となる第１テーブルを更新するプロセスのフロー図を示したものである。
【図５】図５は有利な実施形態による連想メモリを更新するプロセスのフロー図を示したものである。
【図６】図６は有利な実施形態によるデータ処理システムを示したものである。
【発明を実施するための形態】
【００１５】
種々の有利な実施形態は、任意の数の種々の検討事項を認識し、考慮している。例えば、種々の有利な実施形態は、連想メモリを更新して基礎となるデータソース群から更新されたデータのバージョンを含めるためには、更新済みデータを利用して連想メモリの再構築が必要となりうることを認識し、考慮している。種々の有利な実施形態は、連想メモリのサイズが大きくなるにつれて、連想メモリの再構築に要する時間、労力、及び／又はリソース処理が、所望の値よりも大きくなることを認識し、考慮している。さらに、種々の有利な実施形態は、連想メモリの再構築のプロセスが種々の基礎となるデータソース群で行った変更を追跡するためのシステムを提供できないことを認識し、考慮している。
【００１６】
さらに、種々の有利な実施形態は、連想メモリがデータソース群中のデータへの変更が行われたデータソース群のみを再取り込みすることが一つの解決策になりうることを認識し、考慮している。すなわち、連想メモリは、連想メモリを構築した際の基礎となっているデータソース群の残存データを再取り込みすることなく、更新されたデータのみを再取り込みすることができる。
【００１７】
例えば、連想メモリは、テーブルの中のレコード群に対して変更を行ったときに、レコードを含むテーブルのデータを再取り込みしてもよい。このテーブルへのデータの再取り込みは、データに対する変更が１レコード中に１箇所だけの変更を含む場合であっても、テーブルの中に保存されている全レコードに対する繰り返しを含むことがある。種々の有利な実施形態は、このプロセスが望む以上のリソース処理を行い、望む以上の時間を要しうることを認識し、考慮している。
【００１８】
したがって、種々の有利な実施形態は、連想メモリの再構築を必要としない方法で連想メモリを更新するための方法及び装置を提供することができる。一つの有利な実施形態では、システムは連想メモリ、第１テーブル、第２テーブル、コンパレータ、及びアップデータを含むことができる。連想メモリは複数のデータ及び複数のデータ間の複数の連想を含むことができる。
【００１９】
連想メモリは第１テーブルから構築することができる。第１テーブルは第１レコードを含み、この第１レコードは第１フィールド及び第２フィールドを含むことがある。連想メモリは第１フィールドを取り込み、第２フィールドの取り込みを回避するように構成することができる。第２テーブルは第２レコードを含み、この第２レコードは第３フィールドを含むことがある。第３フィールドは、第１フィールドが連想メモリによって取り込み済みかどうか、又は連想メモリによって忘却処理済みかどうかのうちの少なくとも一つを示す第１の情報を保存することができる。
【００２０】
コンパレータは、第１フィールドを連想メモリによって忘却処理すべきかどうか、又は第１フィールドを連想メモリによって取り込むべきかどうかに関して、いずれか一つを特定するため、第１テーブルと第２テーブルの比較を行うように構成することができる。アップデータは、第１フィールドの取り込み又は第１フィールドの忘却処理のいずれか一つを実施することによって、連想メモリを更新するように構成することができる。
【００２１】
ここで図面、特に図１を参照すると、有利な実施形態に従って、連想メモリを管理するためのメモリ管理システムのブロック図が図解されている。図１では、メモリ管理システム１００は、連想メモリ１０２を管理するように構成されたシステムであってもよい。これらの例示的な実施例では、メモリ管理システム１００はコンピュータシステム１０４及び記憶システム１０６を含みうる。
【００２２】
コンピュータシステム１０４は任意の数のコンピュータを含みうる。本明細書で使用している「任意の数のアイテム」は、一又は複数のアイテムを意味する。例えば、任意の数のコンピュータは一又は複数のコンピュータを意味する。コンピュータシステム１０４内に複数のコンピュータが存在する場合には、これらのコンピュータは相互に通信することができる。さらに、一又は複数のこれらのコンピュータは、実装に応じて、同一の場所及び／又は異なる場所に、分散環境又はネットワーク環境で配置することができる。
【００２３】
コンピュータシステム１０４は、記憶システム１０６と通信することができる。記憶システム１０６は、これらの例示的な実施例では、任意の数の記憶デバイスを含みうる。記憶システム１０６の中に複数の記憶デバイスが存在する場合には、これらの記憶デバイスは同一の場所及び／又は異なる場所に、分散環境又はネットワーク環境で配置することができる。
【００２４】
連想メモリ１０２は、記憶システム１０６の中の一又は複数の記憶デバイスに保存することができる。このように、連想メモリ１０２は、実装に応じて、一又は複数の場所に、おそらくは分散環境又はネットワーク環境で配置することができる。
【００２５】
これらの例示的な実施例では、連想メモリ１０２は複数のデータ１０８及び複数のデータ１０８間の複数の連想１１０を含みうる。幾つかのハードウェア実装では連想は有形のものであるが、本明細書で使用しているように、複数のデータ１０８間の複数の連想１１０の中の「連想」は、データ間の論理的なつながりを意味している。
【００２６】
ひとつの例示的な実施例として、複数のデータ１０８の中の第１データカテゴリの第１の１個のデータは、複数のデータ１０８の中の第２データカテゴリの第２の１個のデータと関連づけられることがある。この連想では、他のデータを利用して、これらのデータを連想メモリ１０２から取り出すことができる。本明細書で使用しているように、複数のデータ１０８の中の「１個のデータ」は「データム」と呼んでもよい。「１個のデータ」すなわち「データム」は、これらの例示的な実施例の中では、任意の数の数値、数字、識別子、ラベル、日付、時刻、及び／又は他の好適な情報、及びこれらの組み合わせを含みうる。
【００２７】
幾つかの例示的な実施例では、連想はデータムとデータムの一部分との間に存在しうる。すなわち、データムは連想メモリ１０２から、データム全体ではなくデータムの一部分を利用して取り出すことができる。
【００２８】
これらの例示的な実施例では、連想メモリ１０２は、記憶システム１０６の任意の数のデータソース群１１６に保存されている情報１１４を利用して構築しうる。任意の数のデータソース群１１６の中のデータソースは、データを保存及び体系化するように構成された任意の形式のデータ構造であってもよい。例えば、任意の数のデータソース群１１６は、テーブル、データベース、リスト、配列、ツリー、ファイル、ログ、レポート、画像、ビデオ、及び他の好適なデータソースのうちの少なくとも一つを含みうる。
【００２９】
本明細書で使用しているように、列挙されたアイテムと共に使用される「〜のうちの少なくとも一つ」という表現は、列挙されたアイテムの一又は複数の様々な組み合わせが使用可能であり、且つ列挙されたアイテムのいずれかが一つだけあればよいということを意味する。例として、「アイテムＡ、アイテムＢ、及びアイテムＣのうちの少なくとも一つ」は、例えば、限定しないが、「アイテムＡ」又は「アイテムＡとアイテムＢ」を含む。この例は、「アイテムＡとアイテムＢとアイテムＣ」、又は「アイテムＢとアイテムＣ」も含む。他の例では、「〜のうちの少なくとも一つ」は、例えば、限定しないが、「２個のアイテムＡ、１個のアイテムＢ、及び１０個のアイテムＣ」、「４個のアイテムＢ及び７個のアイテムＣ」、さらに他の好適な組み合わせであってもよい。
【００３０】
記憶システム１０６の任意の数のデータソース群１１６に保存されている情報１１４の少なくとも一部は、連想メモリ１０２の複数のデータ１０８を形成する。本明細書で使用しているように、情報１１４の「少なくとも一部」は、情報１１４の部分又はすべてを意味する。さらに、任意の数のアイテムの「少なくとも一部」は、本明細書で使用しているように、任意の数のアイテムのうちの一つ、幾つか、又はすべてを意味する。
【００３１】
ソーステーブル１１８は任意の数のデータソース群１１６の一例である。ソーステーブル１１８は、例えば、連想メモリ１０２の構築に使用されるリレーショナルデータベースであってもよい。これらの例示的な実施例では、連想メモリの構築に使用されている情報１１４の少なくとも一部は、ソーステーブル１１８に由来する。
【００３２】
ソーステーブル１１８は、任意の数のソースレコード群１２０及び任意の数のソースフィールド形式群１２２を含むことができる。本明細書で使用されているように、「レコード」は必ずしもテーブル中の１行に限定されるわけではないが、テーブル中の「レコード」はテーブル中の１行であってもよい。さらに、「フィールド形式」は必ずしもテーブル中の１列に限定されるわけではないが、テーブル中の「フィールド形式」はテーブル中の１列であってもよい。したがって、他の例示的な実施例では、「レコード」及び「フィールド形式」という用語は、テーブルの構造に関する他の特徴を表わしうる。
【００３３】
一つの例示的な実施例では、ソースレコード１２４は任意の数のソースレコード群１２０のうちの一例であってもよい。ソースレコード１２４は、任意の数のソースフィールド形式群１２２のうちの任意の数のフィールド群１２６を有する。本明細書で使用されているように、テーブル中の「フィールド」は、テーブルのレコードとフィールド形式が交わる部分であってもよい。この「フィールド」は「セル」と呼ばれることもある。このように、任意の数のソースフィールド形式群１２２の各フィールド形式に対するフィールドは、ソースレコード１２４の任意の数のフィールド群の中に存在していてもよい。
【００３４】
さらに、フィールドに含まれるデータ又は値は、フィールドの情報としても参照されうる。この例示的な実施例では、すべての任意の数のフィールド群１２６に情報が含まれる場合と含まれない場合がありうる。
【００３５】
ソーステーブル１１８は更新可能であってもよい。すなわち、ソーステーブル１１８を更新する際には、ユーザーはユーザー入力を入力して、ソーステーブル１１８に保存されている情報を変更してもよい。ソーステーブル１１８に保存されている情報の変更は、情報の追加、情報の削除、及び／又はソーステーブル１１８に既に保存されている情報の修正のうちの少なくとも一つを含みうる。幾つかの場合には、ソーステーブル１１８に対する更新は、コンピュータシステム１０４上でのソフトウェアの実行によって行うことができる。
【００３６】
これらの例示的な実施例では、メモリ更新モジュール１３０はコンピュータシステム１０４の中にあってもよい。メモリ更新モジュール１３０は、ハードウェア、ソフトウェア、又は両者の組み合わせを利用して実装しうる。一つの例示的な実施例として、メモリ更新モジュール１３０は、一又は複数のプロセッサを用いて実装されうるが、これには、例えば、第１プロセッサ、第２プロセッサ、第３プロセッサ、第４プロセッサ、第５プロセッサ、及び場合によってはこれより多くの又は少ないプロセッサが含まれうる。
【００３７】
メモリ更新モジュール１３０は、２つの前提に基づいて連想メモリ１０２が更新できるように実装可能である。第１の前提となりうるのは、連想メモリ構築の元となる情報１１４の一部が、情報１１４のこの部分の上に連想メモリ１０２が構築される間には、変更又は修正できないことである。第２の前提となりうるのは、連想メモリ１０２が複数のデータ１０８の中の一部のデータを「忘却処理」すなわち削除できるのは、データの一部が連想メモリ１０２によって取り込まれたときと同一となる場合に限られるということである。
【００３８】
メモリ更新モジュール１３０は、ソーステーブル１１８を実際に取り込むことなく、連想メモリ１０２がソーステーブル１１８に保存されている情報を取り込むことができるように構成することができる。例えば、メモリ更新モジュール１３０は、ソーステーブル１１８を利用して第１テーブル１３４を作成するように構成することができる。第１テーブル１３４に含まれている情報は、ソーステーブル１１８に由来することがある。このように、連想メモリ１０２は、第１テーブル１３４に保存されている情報を利用してソーステーブル１１８に情報を取り込むことができる。
【００３９】
連想メモリ１０２が情報を取り込むとき、連想メモリ１０２は複数のデータ１０８にこの情報を組み込んでもよい。さらに、連想メモリ１０２は、新たに取り込んだ情報の中に、及び／又は新たに取り込んだ情報と連想メモリ１０２が過去に取り込んだ情報との間に、連想を形成することができる。
【００４０】
図示されているように、第１テーブル１３４は、第１の任意の数のフィールド形式群１４０及び第２の任意の数のフィールド形式群１４２に加えて、第１の任意の数のレコード群１３８を含むことができる。第１の任意の数のフィールド形式群１４０は、ソーステーブル１１８の任意の数のソースフィールド形式群１２２の少なくとも一部分と同じであってもよい。連想メモリ１０２は、第１の任意の数のフィールド形式群１４０のフィールド群を取り込み、第１の任意の数のレコード群１３８に対して第２の任意の数のフィールド形式群１４２のフィールド群の取り込みを回避するように構成することができる。フィールド取り込みはフィールド内の情報の取り込みを含むことができる。
【００４１】
これらの例示的な実施例では、第１テーブル１３４の第１の任意の数のレコード群１３８は、ソーステーブル１１８の任意の数のソースレコード群１２０を用いて作成しうる。一つの例示的な実施例として、第１の任意の数のレコード群１３８の第１レコード１４４は、ソースレコード１２４を用いて作成しうる。このように、第１レコード１４４はソースレコード１２４に対応可能である。第１レコード１４４は、任意の数のフィールド形式群１４０の第１の任意の数のフィールド群１４６及び第２の任意の数のフィールド形式群１４２の第２の任意の数のフィールド群１４８を含むことができる。
【００４２】
メモリ更新モジュール１３０は、ソースレコード１２４用の任意の数の情報を、第１レコード１４４用の第１の任意の数のフィールド群１４６に複写することができる。特に、メモリ更新モジュール１３０は、任意の数のソースフィールド形式１２２の一部分１４３に対する任意の数のフィールド群１２６の一部分の情報を、第一レコード１４４用の第一の任意の数のフィールド群１４６に複写することができる。
【００４３】
第１フィールド形式１４９は、ソーステーブル１１８の任意の数のソースフィールド形式群１２２の一部分１４３のフィールド形式と同一である、第１テーブル１３４の第１の任意の数のフィールド形式群１４０の一例であってもよい。第１フィールド形式１４９の第１フィールド１５０は、第１レコード１４４用の第１の任意の数のフィールド群１４６の一例であってもよい。第１フィールド１５０は、第１フィールド形式１４９と同一のフィールド形式を有するソーステーブル１１８内にソースレコード１２４用の任意の数のフィールド群１２６中のフィールド１５１の情報を含むことができる。
【００４４】
連想メモリ１０２は、第１レコード１４４に対しては、第１フィールド１５０及び第１の任意の数のフィールド１４６中の他のフィールドの情報を取り込むように構成することができる。このように、連想メモリ１０２は、第１テーブル１３４に保存されている第１レコード１４４の情報を利用して、ソースレコード１２４に間接的に情報を取り込むことができる。
【００４５】
第２フィールド１５２は、第１レコード１４４に対する第２の任意の数のフィールド群１４８の一例であってもよい。第２フィールド１５２は、第２フィールド形式１５３からなる。第２フィールド形式１５３の第２フィールド１５２の情報は、連想メモリ１０２が第１レコード１４４に対して第１の任意の数のフィールド群１４６の情報を取り込むか又は忘却処理するかを示すことがある。連想メモリ１０２が情報を「忘却処理する」場合には、連想メモリ１０２は複数のデータ１０８及び／又はその情報を含む複数の連想１１０のうちの任意の情報を削除してもよい。
【００４６】
例えば、ソーステーブル１１８のソースレコード１２４に関するフィールド１５１の情報が変更された場合、メモリ更新モジュール１３０は、第１テーブル１３４の第１の任意の数のレコード１３８に新規レコード１５４を追加することができる。特に、メモリ更新モジュール１３０の加算器１５５は、第１の任意の数のレコード１３８に新規レコード１５４を追加することがある。新規レコード１５４はソースレコード１２４に対応可能である。このように、第１の任意の数のレコード群１３８は、任意の数のソースレコード群１２０のうちのソースレコード１２４など、同一ソースレコードに対応する第１レコード１４４及び新規レコード１５４などの一又は複数のレコードを含むことがある。
【００４７】
加算器１５５は、新規レコード１５４に関する第１の任意の数のフィールド形式群１４０の任意の数のフィールド群が連想メモリ１０２によって取り込みが予定されていることを示す、新規レコード１５４の第２フィールド形式１５３のフィールドに情報を追加することができる。さらに、第１テーブル１３４に新規レコード１５４を追加することにより、メモリ更新モジュール１３０のマーカー１５９は、第１レコード１４４に関する第１の任意の数のフィールド群１４６が連想メモリ１０２によって忘却処理が予定されていることを示すため、第１レコード１４４に関する第２フィールド１５２の情報を変更することができる。
【００４８】
これらの例示的な実施例では、連想メモリ１０２によって取り込み及び／又は忘却処理される情報は、第２テーブル１３６を利用するメモリ更新モジュール１３０によって追跡可能である。図解しているように、第２テーブル１３６は、第２の任意の数のレコード群１５６及び第３の任意の数のフィールド形式群１５７を含むことができる。第２の任意の数のレコード群１５６は、連想メモリ１０２の中の第１の任意の数のレコード群１３８の情報のステータスを特定することができる。第２の任意の数のレコード群１５６の各々は、これらの実施例では第１の任意の数のレコード群１３８の１つに対応している。
【００４９】
第３フィールド形式１５８は、第３の任意の数のフィールド形式群１５７の一例であってもよい。第３フィールド形式１５８のフィールドは、第１の任意の数のレコード群１３８の中の対応するレコードのステータスを特定することができる。
【００５０】
例えば、第１レコード１４４の情報が連想メモリ１０２によって取り込まれるとき、メモリ更新モジュール１３０の加算器１５５は、第２の任意の数のレコード群１５６に第２レコード１６０を追加するように構成することができる。このように、第２レコード１６０は、第１の任意の数のレコード群１３８の第１レコード１４４に対応しうる。
【００５１】
第２レコード１６０は、第３フィールド形式１５８の第３フィールド１６２を含むことができる。第３フィールド１６２の情報は、第１レコード１４４に関する第１の任意の数のフィールド群１４６の情報が取り込まれ、連想メモリ１０２の中に存在することを示すことができる。さらに、第１レコード１４４に関する第１の任意の数のフィールド群１４６の情報が連想メモリ１０２によって忘却処理されるとき、第３フィールド１６２の情報は、この情報が連想メモリ１０２によって忘却処理されたことを示すように変更することができる。
【００５２】
これらの例示的な実施例では、第１テーブル１３４及び／又は第２テーブル１３６の情報は、時間とともにソーステーブル１１８の変更に呼応して更新されうる。連想メモリ１０２は、第１テーブル１３４及び／又は第２テーブル１３６の更新情報を利用して更新を行うように構成することができる。この更新は、連想メモリ１０２のリフレッシュと呼ばれることがある。
【００５３】
連想メモリ１０２が更新されると、連想メモリ１０２は任意の数の操作を実施することができる。例えば、連想メモリ１０２は、新しい情報の取り込み、過去に取りこまれた情報の削除、データ間の新しい連想の形成、データ間の既存の連想の削除、他の適切な操作、及びこれらの組み合わせのうちの少なくとも１つを実施することができる。幾つかの場合には、取り込まれる新しい情報の一部分が、過去に取り込まれたが削除された情報とほぼ同じになることがある。さらに、形成される新しい連想は、新しい情報と過去に取り込まれ現在も連想メモリ１０２に保存されている情報との間の連想形成も含みうる。
【００５４】
連想メモリ１０２は事象１３２の発生に呼応して更新されることがある。事象１３２は、例えば、限定しないが。ユーザー入力、命令、ある時間の経過、警告、通知、又は他の好適な種類の事象であってもよい。
【００５５】
幾つかの例示的な実施例では、事象１３２は第１テーブル１３４への新規レコードの追加となることがある。他の例示的な実施例では、連想メモリ１０２は連続的に更新を行うように構成されうる。さらに他の例示的な実施例では、事象１３２は新しいソーステーブル及び対応する新しい第１テーブルの作成であってもよい。
【００５６】
メモリ更新モジュール１３０は、加算器１５５及びマーカー１５９に加えて、コンパレータ１６４、第１アップデータ１６６、第２アップデータ１６８、及びリムーバ１７０を含みうる。第１の任意の数のレコード１３８のいずれかのフィールドは連想メモリ１０２によって取り込まれるべきか忘却処理されるべきかを示すために、コンパレータ１６４は第１テーブル１３４と第２テーブル１３６とを比較するように構成することができる。
【００５７】
例えば、第１レコード１４４に関する第２フィールド形式１５３の第２フィールド１５２は、第１レコード１４４に関する第１の任意の数のフィールド群１４６が連想メモリ１０２によって取り込みが予定されていることを示すことができる。コンパレータ１６４は、第１レコード１４４に対応する第２レコード１６０が第２テーブル１３６内に存在するかどうかを判断することができる。
【００５８】
第１レコード１４４に対応する第２レコード１６０が存在しない場合には、第１アップデータ１６６によって、連想メモリ１０２は第１レコード１４４に関する第１の任意の数のフィールド群１４６を取り込むことができる。加算器１５５は、第２の任意の数のレコード群１５６に第２レコードを追加することができる。ただし、第２レコード１６０が存在する場合には、第１アップデータ１６６によって、連想メモリ１０２は第１レコード１４４に関する第１の任意の数のフィールド群１４６を無視することができる。
【００５９】
別の実施例では、第１レコード１４４に関する第２フィールド形式１５３の第２フィールド１５２は、第１レコード１４４に関する第１の任意の数のフィールド群１４６が連想メモリ１０２によって忘却処理が予定されていることを示すことができる。コンパレータ１６４は、第１レコード１４４に対応する第２レコード１６０が第２テーブル１３６内に存在するかどうかを判断することができる。第２レコード１６０が存在しない場合には、第１アップデータ１６６は、連想メモリ１０２に、第１の任意の数のフィールド群１４６を無視させることができる。
【００６０】
さらに、第２レコード１６０が存在する場合には、第３フィールド形式１５８の第３フィールド１６２が、第１の任意の数のフィールド群１４６の情報が現在連想メモリ１０２内に存在することを示しているかどうかを、コンパレータ１６４は判断することができる。情報が連想メモリ１０２に存在する場合には、第１アップデータ１６６によって、連想メモリ１０２はこの情報を忘却処理することができる。
【００６１】
次に第２アップデータは、第１の任意の数のフィールド群１４６が連想メモリ１０２によって忘却処理されていることを示すために、第３フィールド１６２の情報を変更することができる。しかしながら、第３フィールド１６２が、第１の任意の数のフィールド群１４６の情報が既に忘却処理されていることを示す場合には、第１アップデータによって、連想メモリ１０２は第１の任意の数のフィールド群１４６を無視することができる。
【００６２】
これらの例示的な実施例では、リムーバ１７０は、第１レコード１４４に関して第１の任意の数のフィールド群１４６の情報が連想メモリ１０２によって忘却処理された後にのみ、第１テーブル１３４の第１の任意の数のレコード群１３８から第１レコード１４４を削除するように、構成することができる。このように、連想メモリ１０２の構築に使用される第１テーブル１３４の情報は、連想メモリ１０２が不要になったとき、又は情報を保持する必要がなくなったときにはじめて削除することができる。
【００６３】
このように、連想メモリ１０２を必ずしも再構築することなく、連想メモリ１０２は更新することができる。第１テーブル１３４を使用することにより、ソーステーブル１１８を使用することなく連想メモリ１０２を更新することが可能で、第１テーブル１３４の中の第１の任意の数のフィールド形式群１４０に含まれるフィールドの情報を変更することも不要である。
【００６４】
特に、第１アップデータ１６６は、第１テーブル１３４の中の第１の任意の数のフィールド形式群１４０に含まれるフィールドの情報を修正及び／又は削除することを回避するように構成することができる。このように、複数のデータ１０８の連想メモリ１０２の更新時に形成される任意の数の好ましくない矛盾を、減らし、最小化し、おそらくはゼロまで低減することが可能である。
【００６５】
さらに、第２テーブル１３６を使用することにより、取り込み済みの情報を再取り込みするためのリソースの追加処理が不要になるように、第１の任意の数のレコード群１３８のうちのいずれが連想メモリ１０２によって取り込み及び／又は忘却処理されるのかを追跡することができる。しかもさらに、第２テーブル１３６を使用することにより、連想メモリ１０２は既に忘却処理されている情報の忘却処理を試みないでもよい。
【００６６】
図１のメモリ管理システム１００の図解は、有利な実施形態が実装されうる方法に対する物理的又は構造的な制限を示唆することを意図していない。他のコンポーネントを追加的に、及び／又は代替的に他のコンポーネントを使用してもよい。幾つかのコンポーネントは不必要になることもある。また、幾つかの機能コンポーネントを示すためにブロックが表示されている。有利な実施形態で実装される場合、一又は複数のこれらのブロックは結合されること、及び／又は分割されることがありうる。
【００６７】
例えば、これらの例示的な実施例では、第１テーブル１３４及び第２テーブル１３６は、メモリ更新モジュール１３０によって記憶システム１０６内で互いから切り離して維持することができる。しかしながら、他の例示的な実施例では、第１テーブル１３４及び第２テーブル１３６は同一テーブルの一部であってもよい。
【００６８】
幾つかの例示的な実施例では、第２アップデータ１６８はメモリ更新モジュール１３０内に存在していなくてもよい。その代わりに、第２アップデータ１６８によって実施される機能は、メモリ更新モジュール１３０のマーカー１５９によって実施されうる。すなわち、第１の任意の数のフィールド１４６の情報が連想メモリ１０２によって忘却処理されていることを示すために、マーカー１５９は、第３フィールド１６２の情報を変更することができる。
【００６９】
次に図２Ａ及び２Ｂを参照するに、有利な実施形態による連想メモリを更新するプロセスのフロー図が示されている。この例示的な実施例では、連想メモリ２００は、図１の連想メモリ１０２の実装の一例である。図２Ａ及び２Ｂに関して説明されている技法は、図６のプロセッサ装置６０４など、一又は複数のプロセッサを用いて実装することができる。図２Ａ及び２Ｂに関して説明されている技法は、以下のようにさらに参照されている図１のメモリ管理システム１００のようなシステムを利用して実装することができる。
【００７０】
連想メモリ２００は、ソーステーブル２０２を起源とする情報を取り込むように構成することができる。ソーステーブル２０２は、図１のソーステーブル１１８への実装の一例とすることができる。特に、連想メモリ２００は、第１テーブル２０４及び第２テーブル２０６を利用してソーステーブル２０２に間接的に情報を取り込むように構成することができる。
【００７１】
図示されているように、ソーステーブル２０２はソースレコード群２０８を含むことができる。ソースレコード群２０８は、図１の任意の数のソースレコード群１２０への実装の一例とすることができる。さらに、ソーステーブル２０２は、キー２１０、形式２１２、説明２１４、ステータス２１６、及びタイムスタンプ２１８を含むことができる。キー２１０、形式２１２、説明２１４、ステータス２１６、及びタイムスタンプ２１８は、図１の任意の数のソースフィールド形式群１２２の実装の一例である。
【００７２】
キー２１０のフィールドは、ソースレコード群２０８内の対応するレコードに対して重複のない識別子を提供することができる。形式２１２のフィールドは、ソースレコード群２０８内に対応するレコードが作成されたコンポーネントの形式を特定することができる。説明２１４のフィールドは、ソースレコード群２０８内の対応するレコードに対してコンポーネントを説明することができる。ステータス２１６のフィールドは、ソースレコード群２０８内の対応するレコードに対してコンポーネントのステータスを特定することができる。さらに、タイムスタンプ２１８のフィールドは、ソースレコード群２０８内に対応するレコードが作成された時刻を特定することができる。
【００７３】
第１テーブル２０４は第１レコード群２２２を含むことができる。第１レコード群２２２は、図１の第１の任意の数のレコード群１３８に対する実装の一例である。さらに、第１テーブル２０４はまた、識別子２２４、キー２２６、形式２２８、説明２３０、ステータス２３２、タイムスタンプ２３４、及び忘却指示２３６を含むことができる。
【００７４】
キー２２６、形式２２８、説明２３０、ステータス２３２、及びタイムスタンプ２３４は、図１の第１の任意の数のフィールド形式群１４０の実装の一例である。さらに、第１テーブル２０４のキー２２６、形式２２８、説明２３０、ステータス２３２、及びタイムスタンプ２３４は、第２テーブル２０２のキー２１０、形式２１２、説明２１４、ステータス２１６、及びタイムスタンプ２１８とほぼ同一のフィールド形式となりうる。連想メモリ２００は、第１テーブル２０４のキー２２６、形式２２８、説明２３０、ステータス２３２、及びタイムスタンプ２３４のフィールドの情報を取り込むように構成することができる。
【００７５】
識別子２２４及び忘却指示２３６は、図１の第２の任意の数のフィールド形式群１４２の実装の一例である。特に、忘却指示２３６は、図１の第２フィールド形式１５３に対する実装の一例とすることができる。これらの例示的な実施例では、連想メモリ２００は、識別子２２４及び忘却指示２３６に対するフィールドの取り込みを回避するように構成することができる。しかしながら、他の例示的な実施例では、識別子２２４に対するフィールドは取り込まれうる。
【００７６】
キー２２４のフィールドは、第１レコード群２２２内の対応するレコードに対して重複のない識別子を提供することができる。忘却指示２３６のフィールドは、第１レコード群２２２の対応するレコードに対して、キー２２６、形式２２８、説明２３０、ステータス２３２、及びタイムスタンプ２３４のフィールドの情報が、連想メモリによって取り込み又は忘却処理が予定されているかどうかを示すことができる。
【００７７】
この例示的な実施例では、第１レコード群２２２の特定のレコードに対するキー２２６のフィールドは、ソーステーブル２０２のキー２１０のフィールドに一致するように選択することができる。このように、第１レコード群２２２の各レコードはソースレコード群２０８のレコードに一致させることができる。さらに、第１レコード群２２２の特定のレコードに対して形式２２８、説明２３０、ステータス２３２、及びタイムスタンプ２３４のフィールドの情報を、ソーステーブル２０２の一致するテーブルから複写することができる。
【００７８】
さらに、第２テーブル２０６は第２レコード群２３８を含むことができる。第２レコード群２３８は、図１の第２の任意の数のレコード群１５６に対する実装の一例である。さらに、第２テーブル２０６はまた、識別子２４０、状態２４２、及び日付２４４を含んでいてもよい。識別子２４０、状態２４２、及び日付２４４は、図１の第３の任意の数のフィールド形式群１５７の実装の一例である。特に、状態２４２は、図１の第３フィールド形式１５８に対する実装の一例とすることができる。
【００７９】
識別子２４０のフィールドは、第２レコード群２３８内の対応するレコードに対して重複のない識別子を提供することができる。この重複のない識別子は、第１レコード群２２２の対応する重複のない識別子に一致するように選択することができる。このように、第２レコード群２３８の各レコードは第１レコード群２２２のレコードに一致させることができる。第２レコード群２３８の特定のレコードに対する状態２４２のフィールドは、第１レコード群２２２の対応するレコードにある情報が連想メモリ２００の中に存在するか、又は連想メモリ２００によって忘却処理されたかを示すことができる。
【００８０】
これらの例示的な実施例では、連想メモリ２００、ソーステーブル２０２、第１テーブル２０４、及び第２テーブル２０６は、第１テーブル２０４を用いて連想メモリ２００が構築された後も、元の状態２４６のままで存在してもよい。第２テーブル２０６の情報で図解しているように、第１テーブル２０４の第１レコード群２２２すべての所望の情報は、連想メモリ２００が構築された後、連想メモリ２００内に存在していることがある。
【００８１】
しかしながら、更新は、第１テーブル２０４、第２テーブル２０６及び連想メモリ２００に更新を引き起こすソーステーブル２０２に対して行ってもよい。このような種々の更新に対応して、連想メモリ２００、ソーステーブル２０２、第１テーブル２０４及び第２テーブル２０６は、更新された状態２４８を有する。
【００８２】
一つの例示的な実施例として、第１テーブル２０４のレコード２５０は、ソーステーブル２０２のレコード２５２に対応してもよい。ソーステーブル２０２で元の状態２４６にあるレコード２５２のフィールド２５４及びフィールド２５６の情報は、ソーステーブル２０２の更新状態に変更されることがある。
【００８３】
この変更に対応して、第１テーブル２０４に関しては、更新状態２４８にある第１テーブル２０４に新規レコード２５８が追加されることがある。新規レコード２５８は、ソーステーブル２０２のレコード２５２に対応する。新規レコード２５８は、フィールド２５４及びフィールド２５６に更新情報を含むことがある。
【００８４】
さらに、第１テーブル２０４の更新状態２４８では、第１テーブル２０４のレコード２５０のフィールド２６０の情報が変更されることがある。特に、連想メモリ２００によって過去に取り込まれたレコード２５０の情報が連想メモリ２００によって忘却処理される予定になっていることを示すため、フィールド２６０に情報が追加されることがある。
【００８５】
連想メモリ２００に保存された情報を更新するため、連想メモリ２００は、例えば、図１のメモリ更新モジュール１３０によって提供される情報を使用することができる。例えば、メモリ更新モジュール１３０は、更新状態２４８にある第１テーブルのどのレコードが取り込まれ、どのレコードが忘却処理されるかを示す識別情報を、連想メモリ２００に提供することができる。
【００８６】
一つの例示的な実施例として、図１のメモリ更新モジュール１３０は、更新状態２４８にある第１テーブル２０４と元の状態２４６にある第２テーブル２０６との間で比較を行ってもよい。この比較は、新規レコード２５８が連想メモリ２００によって取り込まれていないことを示すことがある。さらに、この比較は、レコード２５０が連想メモリ２００によって忘却処理されていないことを示している。
【００８７】
この比較に基づいて、メモリ更新モジュール１３０は、新規レコード２５８が取り込み予定にあり、レコード２５０が忘却処理予定にあることを示す情報を連想メモリ２００に送ることがある。連想メモリ２００は第１テーブル２０４の新規レコード２５８に所望の情報を取り込み、第１テーブル２０４のレコード２５０から過去に取り込まれた情報を忘却処理することができる。この更新に対応して、メモリ更新モジュール１３０は、第２テーブル２０６が更新状態２４８に更新されるように、第２テーブル２０６に新規レコード２６２を追加してもよい。
【００８８】
新規レコード２６２は、第１テーブル２０４の新規レコード２５８に対応していてもよい。新規レコード２６２のフィールド２６４は、第１テーブル２０４の新規レコード２５８の所望の情報が連想メモリ２００によって取り込まれ、現在連想メモリ２００内に存在することを示すことがある。
【００８９】
さらに、第２テーブル２０６のレコード２６６は、第１テーブル２０４のレコード２５０に対応していてもよい。更新状態２４８では、第２テーブル２０６のレコード２６６のフィールド２６８は、連想メモリ２００によって過去に取り込まれた第１テーブル２０４のレコード２５０の情報が連想メモリ２００によって忘却処理されたことを示すことがある。
【００９０】
このように、連想メモリ２００は、ソーステーブル２０２を直接使用せずに、第１テーブル２０４及び第２テーブル２０６を用いて更新することができる。さらに、連想メモリ２００はソーステーブル２０２の修正済みレコードの使用に照らして、第１テーブル２０４の新規レコードを使用する更新情報を取り込むことができる。
【００９１】
次に図３を参照すると、有利な実施形態に従って描かれた連想メモリ更新プロセスのフロー図が示されている。図３に示されているプロセスは、図１の連想メモリ１０２及び／又は図２Ａ及び２Ｂの連想メモリ２００を更新するように実装可能である。図３に関して説明されている技法は、図６のプロセッサ装置６０４など、一又は複数のプロセッサを用いて実装することができる。図３に関して説明されている技法は、以下のようにさらに参照されている図１のメモリ管理システム１００のようなシステムを利用して実装することができる。
【００９２】
さらに、図３に関して説明されているプロセスは、システムによって実装可能である。図３に関して使用されているように、「システム」という用語は、図１の一又は複数のメモリ管理システム１００、図６のプロセッサユニット６０４、ハードウェア実装、ソフトウェア実装、及びこれらの組み合わせを含むことができる。図３に関して説明されているプロセスは、持続的なコンピュータで読込可能な記憶媒体で具現化されたコンピュータプログラム製品の形態で実装可能である。
【００９３】
このプロセスは、連想メモリ構築の元となっている第１テーブルへの更新情報をシステムが受け取ることによって開始される（作業３００）。第１テーブルは第１レコードを含み、この第１レコードは第１フィールド及び第２フィールドを含む。連想メモリは第１フィールドを取り込み、第２フィールドの取り込みを回避するように構成することができる。連想メモリは複数のデータ及び複数のデータ間の複数の連想を含むことができる。
【００９４】
次にシステムは第１テーブルと第２テーブルを比べて、比較表を形成することがある（作業３０２）。第２テーブルは第２レコードを含み、この第２レコードは第３フィールドを含むことがある。第３フィールドは、第１フィールドが連想メモリによって取り込み済みかどうか、又は連想メモリによって忘却処理済みかどうかのうちの少なくとも一つを示す第１の情報を保存することができる。
【００９５】
次にシステムは比較表に基づく第１フィールドの取り込み又は第１フィールドの忘却処理のうちの少なくとも一つを実施することによって、連想メモリを更新することができる（作業３０４）。特に作業３０４では、第１フィールドが取り込み予定になっていることを第１テーブルの第２フィールドが示し、且つ第１フィールドが連想メモリによってまだ取り込まれていないことを第２テーブルの第３フィールドが示すときには、システムは第１フィールドを取り込むことができる。
【００９６】
さらに作業３０４では、第１フィールドが忘却処理予定になっていることを第１テーブルの第２フィールドが示し、且つ第１フィールドが連想メモリによってまだ忘却処理されていないことを第２テーブルの第３フィールドが示すときには、システムは第１フィールドを忘却処理することができる。したがって、システムは連想メモリの第１フィールドの新しいステータスを反映するために第２テーブルの第３フィールドを更新し（作業３０６）、その後のプロセスを停止する。
【００９７】
次に図４を参照すると、有利な実施形態に従って描かれた連想メモリ構築の元となる第１テーブルの更新プロセスのフロー図が示されている。図４に示されているプロセスは、図１の第１テーブル１３４及び／又は図２の第１テーブル２０４を更新するように実装可能である。特にこのプロセスは、図３の作業３００で受け取った第１テーブルに更新情報を生成するように使用可能である。図４に関して説明されている技法は、図６のプロセッサ装置６０４など、一又は複数のプロセッサを用いて実装することができる。図４に関して説明されている技法は、以下のようにさらに参照されている図１のメモリ管理システム１００のようなシステムを利用して実装することができる。
【００９８】
図４に関して説明されているプロセスは、システムによって実装可能である。図４に関して使用されているように、「システム」という用語は、図１の一又は複数のメモリ管理システム１００、図６のプロセッサユニット６０４、ハードウェア実装、ソフトウェア実装、及びこれらの組み合わせを含むことができる。図４に関して説明されているプロセスは、持続的なコンピュータで読込可能な記憶媒体で具現化されたコンピュータプログラム製品の形態で実装可能である。
【００９９】
このプロセスは、ソーステーブルのソースレコードの情報に対する更新をシステムが監視することによって開始される（作業４００）。この例示的な実施例では、ソーステーブルは、例えば、図１のソーステーブル１１８及び／又は図２のソーステーブル２０２であってもよい。
【０１００】
ソーステーブルのソースレコードの情報に対する更新の検出に対応して、システムはソーステーブルのソースレコードに対応する新規レコードを第１テーブルに追加してもよい（作業４０２）。作業４０２では、第１テーブルに追加された新規レコードは、ソーステーブルのソースレコードの更新情報を含むことができる。
【０１０１】
したがって、連想メモリによって過去に取り込まれた第１レコードの情報が連想メモリによって忘却処理予定になっていることを示すため、システムはソーステーブルのソースレコードに対応する第１テーブルの第１レコードのフィールドの情報を変更し（作業４０４）、その後のプロセスを停止することができる。
【０１０２】
次に図５を参照すると、有利な実施形態に従って描かれた連想メモリ更新プロセスのフロー図が示されている。図５に示されているプロセスは、図１の連想メモリ１０２及び／又は図２の連想メモリ２００を更新するように実装可能である。図５に関して説明されている技法は、図６のプロセッサ装置６０４など、一又は複数のプロセッサを用いて実装することができる。図５に関して説明されている技法は、以下のようにさらに参照されている図１のメモリ管理システム１００のようなシステムを利用して実装することができる。
【０１０３】
図５に関して説明されているプロセスは、システムによって実装可能である。図５に関して使用されているように、「システム」という用語は、図１の一又は複数のメモリ管理システム１００、図６のプロセッサユニット６０４、ハードウェア実装、ソフトウェア実装、及びこれらの組み合わせを含むことができる。図５に関して説明されているプロセスは、持続的なコンピュータで読込可能な記憶媒体で具現化されたコンピュータプログラム製品の形態で実装可能である。
【０１０４】
このプロセスは事象の発生を待っているシステムによって開始される（作業５００）。事象は、例えば、ある時間の経過、連想メモリ構築の元となる第１テーブルへの更新、警告、及び／又は幾つかの他の好適な形式の事象であってもよい。
【０１０５】
第１テーブルは、第１の任意の数のフィールド形式及び第２の任意の数のフィールド形式を含むレコードを有する。連想メモリは、第１テーブルの特定のレコードに対して第１の任意の数のフィールド形式のフィールドを取り込み、且つ特定のレコードを取り込むときに特定のレコードに対して第２の任意の数のフィールド形式のフィールドの取り込みを回避するように構成することができる。
【０１０６】
次にシステムは、処理のため第１テーブルのレコードを選択してもよい（作業５０２）。次にシステムは、第１テーブルのレコードに対する忘却フィールドが、レコードの所望の情報が忘却処理予定になっていることを示しているかどうかを判断することができる（作業５０４）。第１テーブルのレコードに対する忘却フィールドが、レコード中の所望の情報が忘却処理予定になっていることを示していない場合には、システムは第１テーブルのレコードが第２テーブルに対応するレコードを有するかどうかを判断することができる（作業５０６）。
【０１０７】
第１テーブルが第２テーブルに対応するレコードを有しない場合には、連想メモリは第１テーブルのレコードの所望の情報を取り込んでもよい（作業５０８）。その後、システムは第１テーブルに任意の未処理の追加レコードが存在するかどうかを判断することができる（作業５１０）。未処理の追加レコードが第１テーブルに存在しない場合には、プロセスは終了する。存在する場合には、プロセスは上述のように作業５０２に戻る。
【０１０８】
作業５０６を再度参照して、第１テーブルのレコードが第２テーブルに対応するレコードを有しない場合には、上述のようにシステムは作業５１０に進んでもよい。作業５０４を再度参照して、第１テーブルのレコードに対する忘却フィールドが、レコード中の所望の情報が忘却処理予定になっていることを示している場合には、システムは第１テーブルのレコードが第２テーブルに対応するレコードを有するかどうかを判断することができる（作業５１２）。
【０１０９】
第１テーブルが第２テーブルに対応するレコードを有していない場合には、上述のように処理は作業５１０に進む。そうではなく、第１テーブルが第２テーブルに対応するレコードを有している場合には、システムはレコード中の所望の情報が連想メモリによって既に忘却処理済みかどうかを判断することができる（作業５１４）。
【０１１０】
所望の情報が既に忘却処理済みの場合には、プロセスは上述のように作業５１０に進む。忘却処理済みでない場合には、連想メモリは第１テーブルのレコードの所望の情報を忘却処理してもよい（作業５１６）。その後、プロセスは上述のように作業５１０に進む。
【０１１１】
別の実施形態でのフロー図及びブロック図は、有利な実施形態で実装可能な装置及び方法の構造、機能、及び作業を示している。その際、フロー図又はブロック図の各ブロックは、作業又はステップのモジュール、セグメント、機能及び／又は部分を表わすことができる。例えば、一又は複数のブロックは、ハードウェア内のプログラムコードとして、又はプログラムコードとハードウェアの組合せとして実装可能である。ハードウェア内に実装した場合、ハードウェアは、例えば、フロー図又はブロック図の一又は複数の作業を実施するように製造又は構成された集積回路の形態をとりうる。
【０１１２】
幾つかの有利な実施形態の代替的な実装では、ブロックに記載された機能又は機能群は、図の中に記載の順序を逸脱して現れることがある。例えば、場合によっては、連続して示されている二つのブロックがほぼ同時に実行されること、又は時には含まれる機能によってはブロックが逆順に実施されることもありうる。また、フローチャート又はブロック図に描かれているブロックに加えて他のブロックが追加されることもありうる。
【０１１３】
次に図６に注目すると、有利な実施形態に従って図解されたデータ処理システムが示されている。この例示的な実施例では、データ処理システム６００は図１のコンピュータシステム１０４に一又は複数のコンピュータを実装するために使用しうる。データ処理システム６００は通信ファブリック６０２を含み、これによりプロセッサ装置６０４、メモリ６０６、固定記憶域６０８、通信装置６１０、入出力（Ｉ／Ｏ）装置６１２、及び表示装置６１４の間の通信を提供する。
【０１１４】
プロセッサ装置６０４は、メモリ６０６に読み込まれうるソフトウェアに対する命令を実行するように働く。プロセッサ装置６０４は、特定の実装に応じて、任意の数のプロセッサ、マルチプロセッサコア、又は他の形式のプロセッサであってもよい。本明細書でアイテムを参照する際に使用している「任意の数の」は、一又は複数のアイテムを意味する。さらに、プロセッサ装置６０４は、単一チップ上でメインプロセッサが二次プロセッサと共存する異種プロセッサシステムを任意の個数だけ使用して実装されてもよい。別の例示的な実施例では、プロセッサ装置６０４は同一形式の複数のプロセッサを含む対称型マルチプロセッサシステムであってもよい。
【０１１５】
メモリ６０６及び固定記憶域６０８は記憶デバイス６１６の例である。記憶デバイスは、例えば、限定しないが、データ、機能的な形態のプログラムコード、及び／又は他の好適な情報などの情報を、一時的に及び／又は永続的に保存することができる任意の個数のハードウェアである。記憶デバイス６１６は、これらの実施例ではコンピュータで読取可能な記憶デバイスと呼ばれることもある。これらの例では、メモリ６０６は、例えば、ランダムアクセスメモリ又は他の好適な揮発性又は不揮発性の記憶デバイスであってもよい。固定記憶域６０８は特定の実装に応じて様々な形態をとりうる。
【０１１６】
例えば、固定記憶域６０８は一又は複数のコンポーネント又はデバイスを含みうる。例えば、固定記憶域６０８は、ハードドライブ、フラッシュメモリ、書換型光ディスク、書換型磁気テープ、又はこれらの組み合わせでありうる。固定記憶域６０８によって使用される媒体は着脱式であってもよい。例えば、着脱式ハードドライブは固定記憶域６０８に使用しうる。
【０１１７】
通信装置６１０はこれらの例では、他のデータ処理システム又はデバイスとの通信を提供する。これらの例では、通信装置６１０はネットワークインターフェースカードである。通信装置６１０は、物理的及び無線の通信リンクのいずれか一方又は両方を使用することによって、通信を提供する。
【０１１８】
入出力装置６１２により、データ処理システム６００に接続可能な他のデバイスによるデータの入力及び出力が可能になる。例えば、入出力装置６１２は、キーボード、マウス、及び／又は他の幾つかの好適な入力デバイスを介してユーザ入力への接続を提供することができる。さらに、入出力装置６１２は出力をプリンタに送ってもよい。表示装置６１４はユーザーに情報を表示する機構を提供する。
【０１１９】
オペレーティングシステム、アプリケーション、及び／又はプログラムに対する命令は、通信ファブリック６０２を介してプロセッサ装置６０４と通信する記憶媒体６１６内に配置されうる。これらの例示的な実施例では、命令は固定記憶域６０８上の機能的な形態になっている。これらの命令は、プロセッサ装置６０４によって実行するため、メモリ６０６に読み込まれうる。異なる実施形態のプロセスは、メモリ６０６などのメモリに配置されうる命令を実装したコンピュータを使用して、プロセッサ装置６０４によって実行されうる。
【０１２０】
これらの命令は、プログラムコード、コンピュータで使用可能なプログラムコード、又はコンピュータで読込可能なプログラムコードと呼ばれ、プロセッサ装置６０４内のプロセッサによって読込及び実行されうる。異なる実施形態のプログラムコードは、メモリ６０６又は固定記憶域６０８など、異なる物理的な又はコンピュータで読込可能な媒体上に具現化しうる。
【０１２１】
プログラムコード６１８は、選択的に着脱可能でコンピュータで読込可能な媒体６２０上に機能的な形態で配置され、プロセッサ装置６０４での実行用のデータ処理システム６００に読込み又は転送することができる。プログラムコード６１８及びコンピュータで読込可能な媒体６２０は、これらの実施例ではコンピュータプログラム製品６２２を形成する。一つの実施例では、コンピュータで読込可能な媒体６２０は、コンピュータで読取可能な記憶媒体６２４又はコンピュータで読取可能な信号媒体であってもよい。コンピュータで読込可能な記憶媒体６２４は、例えば、固定記憶域６０８の一部であるハードディスなどのように、記憶デバイス上に転送するための固定記憶域６０８の一部であるドライブ又は他のデバイスに挿入又は配置される光ディスク又は磁気ディスクなどを含みうる。
【０１２２】
コンピュータで読込可能な記憶媒体６２４はまた、データ処理システム６００に接続されているハードドライブ、サムドライブ、又はフラッシュメモリなどの固定記憶域の形態をとりうる。幾つかの例では、コンピュータで読込可能な記憶媒体６２４はデータ処理システム６００から着脱可能ではないことがある。これらの実施例では、コンピュータで読込可能な記憶媒体６２４は、プログラムコード６１８を伝搬又は転送する媒体よりはむしろプログラムコード６１８を保存するために使用される物理的な又は有形の記憶デバイスである。コンピュータで読込可能な記憶媒体６２４は、コンピュータで読込可能な有形の記憶デバイス又はコンピュータで読込可能な物理的な記憶デバイスと呼ばれることもある。すなわち、コンピュータで読込可能な記憶媒体６２４は、人が触れることのできる媒体である。
【０１２３】
代替的に、プログラムコード６１８はコンピュータで読込可能な信号媒体６２６を用いてデータ処理シスム６００に転送可能である。コンピュータで読込可能な信号媒体６２６は、例えば、プログラムコード６１８を含む伝播されたデータ信号であってもよい。例えば、コンピュータで読込可能な信号媒体６２６は、電磁信号、光信号、及び／又は他の好適な形式の信号であってもよい。これらの信号は、無線通信リンク、光ファイバケーブル、同軸ケーブル、有線、及び／又は他の好適な形式の通信リンクなどの通信リンクによって転送されうる。すなわち、通信リンク及び／又は接続は、例示的な実施例で物理的なもの又は無線によるものでありうる。
【０１２４】
幾つかの例示的な実施形態では、プログラムコード６１８は、データ処理システム６００内で使用するため、コンピュータで読込可能な信号媒体６２６を経由する他のデバイス又はデータ処理システムから、ネットワークを介して固定記憶域６０８へダウンロードすることができる。例えば、サーバーデータ処理システムのコンピュータで読取可能な記憶媒体に保存されたプログラムコードは、ネットワークを介してサーバーからデータ処理システム６００にダウンロードすることができる。プログラムコード６１８を提供するデータ処理システムは、サーバーコンピュータ、クライアントコンピュータ、又はプログラムコード６１８を保存及び転送することができる他のデバイスであってもよい。
【０１２５】
データ処理システム６００に対して例示されている種々のコンポーネントは、異なる実施形態が実装しうる方法に対して構造上の制限を設けることを意図していない。種々の有利な実施形態は、データ処理システム６００に対して図解されているコンポーネントに対して追加的又は代替的なコンポーネントを含むデータ処理システム内に実装しうる。図６に示した他のコンポーネントは、本明細書に示した例示的な実施例から異なることがある。種々の実施形態は、プログラムコードを実行しうる任意のハードウェアデバイス又はシステムを使用して実装しうる。一つの実施例として、データ処理システムは無機コンポーネントと一体化した有機コンポーネントを含むことが可能、及び／又は人間を除く有機コンポーネントを完全に含みうる。例えば、記憶デバイスは有機半導体を含んでいてもよい。
【０１２６】
別の例示的な実施例では、プロセッサ装置６０４は、特定の用途のために製造又は構成されたハードウェア装置の形態をとってもよい。この形式のハードウェアは、作業を実施するために構成される記憶デバイスからメモリにプログラムコードを読み込まずに作業を実施することができる。
【０１２７】
例えば、プロセッサ装置６０４がハードウェア装置の形態をとる場合、プロセッサ装置６０４は回路システム、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス、又は任意の数の作業を実施するために構成された他の好適な形式のハードウェアであってもよい。プログラマブル論理デバイスにより、デバイスは任意の数の作業を実施するように構成されている。このデバイスはその後再構成すること、又は任意の数の作業を実施するために永続的に構成することができる。プログラマブル論理デバイスの例は、例えば、プログラマブル論理アレイ、プログラマブルアレイロジック、フィールドプログラマブルロジックアレイ、フィールドプログラマブルゲートアレイ、及び他の好適なハードウェアデバイスを含む。この形式の実装により、異なる実施形態のプロセスはハードウェア装置に実装されるため、プログラムコード６１８は除外されうる。
【０１２８】
さらに別の例示的な実施例では、プロセッサ装置６０４は、コンピュータ及びハードウェア装置の中に見出されるプロセッサの組み合わせを利用して実装可能である。プロセッサ装置６０４は、任意の数のハードウェア装置及びプログラムコード６１８を実行するように構成されている任意の数のプロセッサを有していてもよい。ここに描かれている実施例では、プロセスの一部は任意の数のハードウェア装置に実装することが可能であるが、一方、他のプロセスは任意の数のプロセッサに実装可能である。
【０１２９】
他の実施例では、バスシステムは通信システムファブリック６０２を実装するために使用可能で、システムバス又は入出力バスなどの一又は複数のバスを含みうる。言うまでもなく、このバスシステムは、当該バスシステムに結合された様々なコンポーネント又はデバイス間でのデータ転送を可能にする、任意の好適な形式のアーキテクチャを用いて実装することができる。
【０１３０】
さらに、通信装置は、データの送信、データの受信、又はデータの送受信を行う任意の数のデバイスを含みうる。通信装置は例えば、モデム又はネットワークアダプタ、２個のネットワークアダプタ、又はこれらの組み合わせであってもよい。さらに、メモリは例えば、通信ファブリック６０２に備わっていることがあるインターフェース及びメモリ制御装置ハブにみられるような、メモリ６０６又はキャッシュであってもよい。
【０１３１】
したがって、種々の有利な実施形態は、連想メモリの再構築を必要としない連想メモリを更新するための方法及び装置を提供する。一つの有利な実施形態では、システムは連想メモリ、第１テーブル、第２テーブル、コンパレータ、及びアップデータを含むことができる。連想メモリは複数のデータ及び複数のデータ間の複数の連想を含むことができる。
【０１３２】
連想メモリは第１テーブルから構築することができる。第１テーブルは第１レコードを含み、この第１レコードは第１フィールド及び第２フィールドを含むことがある。連想メモリは第１フィールドを取り込み、第２フィールドの取り込みを回避するように構成することができる。第２テーブルは第２レコードを含み、この第２レコードは第３フィールドを含むことがある。第３フィールドは、第１フィールドが連想メモリによって取り込み済みかどうか、又は連想メモリによって忘却処理済みかどうかに関して、少なくとも一つを示す第１情報を保存することができる。
【０１３３】
コンパレータは、第１フィールドを連想メモリによって忘却処理すべきかどうか、又は第１フィールドを連想メモリによって取り込むべきかどうかにに関して、いずれか一つを特定するため、第１テーブルと第２テーブルの比較を行うように構成することができる。アップデータは、第１フィールドの取り込み又は第１フィールドの忘却処理のいずれか一つを実施することによって、連想メモリを更新するように構成することができる。
【０１３４】
一つの有利な実施形態では、システムは連想メモリ、第１テーブル、第２テーブル、コンパレータ、及びアップデータを含むことができる。連想メモリは複数のデータ及び複数のデータ間の複数の連想を含むことができる。第１テーブルは第１の任意の数の第１レコード群を含むことができる。ここで第１レコードの各々は連想メモリによって取り込み可能となっている第１の任意の数の第１フィールド群、及び連想メモリによって取り込み予定になっていない第２の任意の数の第２フィールド群を含む。連想メモリは第１テーブルから構築することができた。第２テーブルは、第２の任意の数の第２レコード群を含むことができ、ここで第２レコード群の各々は、連想メモリによって過去に取り込まれた第１の任意の数の第１フィールド群の対応する１つのフィールドの過去のステータスを含む第３の任意の数の第３フィールド群を含む。第１テーブル及び第２テーブルは互いに分離されて維持されるか、又は他のテーブルの一部となりうる。
【０１３５】
コンパレータは、連想メモリによって取り込み予定となっている第１レコード群の第１セット及び連想メモリによって忘却処理予定になっている第１レコード群の第２セットのうちの少なくとも１つを判定するため、第１テーブルと第２テーブルを比較するように構成することができる。アップデータは、第１セットの取り込み又は第２セットの忘却処理のうちの少なくとも１つを実施することによって、連想メモリを更新するように構成することができる。
【０１３６】
さらに、第３の任意の数の第３フィールド群は、第１レコードの中で連想メモリに取り込み済みのものを示すように構成された情報を含むフィールド群の第１グループを含むことができる。第３の任意の数の第３フィールド群は、第１テーブルのレコード群を特定するように構成された追加情報を含むフィールド群の第２グループを含むことができる。アップデータは、第１の任意の数の第１フィールド群の修正又は削除を回避するように構成することができる。さらに、第２アップデータは、第３の任意の数の第２フィールド群の新規ステータスを反映し、新規レコードのステータスを追加するように構成されたシステムに提示されることがある。
【０１３７】
しかもさらに、システムは、リムーバ、加算器、及びマーカーのうちの少なくとも１つを含むことができる。リムーバは、連想メモリによって第３レコードが忘却処理された後にのみ、第３レコードの第１の任意の数の第１フィールド群から対応するフィールド群を削除することを含め、第１テーブルから第１レコード群の第３レコードを削除するように構成することができる。加算器は、連想メモリが更新される前に、第１テーブルに第１レコード群の第４レコードを加算するように構成することができる。マーカーは、第１レコード群の第５レコードが忘却予定であることをマーキングするように構成することができる。マーカーは、第５レコードの第２の任意の数の第２フィールド群のうちの少なくとも一つを変更することができる。
【０１３８】
さらに別の有利な実施形態では、連想メモリを更新するために方法が提示されている。連想メモリが構築されている第１テーブルへの更新情報は、第１の有形メモリで受け取ってもよい。第１テーブルは第１の任意の数の第１レコード群を含むことができる。ここで第１レコード群の各々は連想メモリによって取り込み可能となっている第１の任意の数の第１フィールド群、及び連想メモリによって取り込み予定になっていない第２の任意の数の第２フィールド群を含む。連想メモリは複数のデータ及び複数のデータ間の複数の連想を含むことができる。第１プロセッサは、第１テーブルと第２の有形メモリの第２テーブルとを比較するように使用することができる第２テーブルは、第２の任意の数の第２レコードを含むことができる。ここで第２レコードの各々は、連想メモリによって過去に取り込まれた第１の任意の数の第１フィールド群の対応する１つのフィールドの過去のステータスを含む第３の任意の数の第３フィールドを含む。比較を行うことができる。比較に基づいて第１レコード群の第１セットを連想メモリに取り込むこと、及び比較に基づいて第１レコード群の第２セットを連想メモリで忘却処理すること、のうちの少なくとも一つを実施することによって、連想メモリを更新するように、第２プロセッサを使用することができる。
【０１３９】
さらに、第１テーブルと第２テーブルとの対照では、第１の任意の数の第１レコード群及び第２の任意の数の第２レコード群の各々に対して、第１プロセッサは、第２の任意の数の第２フィールド群を第３の任意の数のフィールド群と比較することができる。第２テーブルは、第２の任意の数の第２フィールド群の新規ステータス及び新規レコードのステータスを反映するように、更新することができる。連想メモリの更新は、第１の任意の数の第１フィールド群の修正回避、修正又は削除を含むことができる。しかもさらに、第２セットは連想メモリの中で忘却処理し、その後第１テーブルから削除することができる。幾つかの例示的な実施例では、第１プロセッサ及び第２プロセッサは１個のプロセッサを含んでいてもよく、且つ第１の有形メモリ及び第２の有形メモリは１個の有形メモリを含んでいてもよい。
【０１４０】
種々の有利な実施形態の説明は、例示及び説明を目的として提示されているものであり、網羅的な説明であること、又は開示された形態に実施形態を限定することを意図していない。当業者には、多数の修正例及び変形例が明らかであろう。さらに、種々の有利な実施形態は、他の有利な実施形態に照らして別の利点を提供することができる。選択された一又は複数の実施形態は、実施形態の原理、実際の用途を最もよく説明するため、及び他の当業者に対し、様々な実施形態の開示と、考慮される特定の用途に適した様々な修正との理解を促すために選択及び記述されている。
【符号の説明】
【０１４１】
１００    メモリ管理システム
１０２    連想メモリ
１０４    コンピュータシステム
１０６    記憶システム
１０８    複数のデータ
１１０    複数の連想
１１４    情報
１１６    任意の数のデータソース群
１１８    ソーステーブル
１２０    任意の数のソースレコード群
１２２    任意の数のソースフィールド形式群
１２４    ソースレコード
１２６    任意の数のフィールド群
１３０    メモリ更新モジュール
１３２    事象
１３４    第１テーブル
１３６    第２テーブル
１３８    第１の任意の数のレコード群
１４０    第１の任意の数のフィールド形式群
１４２    第２の任意の数のフィールド形式群
１４３    一部分
１４４    第１レコード
１４６    第１の任意の数のレコード群
１４８    第２の任意の数のレコード群
１４９    第１フィールド形式
１５０    第１フィールド
１５１    フィールド
１５２    第２フィールド
１５３    第２フィールド形式
１５４    新規レコード
１５５    加算器
１５６    第２の任意の数のレコード群
１５７    第３の任意の数のフィールド形式群
１５８    第３フィールド形式
１５９    マーカー
１６０    第２レコード
１６２    第３フィールド
１６４    コンパレータ
１６６    第１アップデータ
１６８    第２アップデータ
１７０    リムーバ
２００    連想メモリ
２０２    ソーステーブル
２０４    第１テーブル
２０６    第２テーブル
２０８    ソースレコード
２１０    キー
２１２    形式
２１４    説明
２１６    ステータス
２１８    タイムスタンプ
２２２    第１レコード
２２４    識別子
２２６    キー
２２８    形式
２３０    説明
２３２    ステータス
２３４    タイムスタンプ
２３６    忘却指示
２３８    第２レコード
２４０    識別子
２４２    ステータス
２４４    日付
２４６    情報
２４８    更新済み状態
２５０    レコード
２５２    レコード
２５４    フィールド
２５６    レコード
２５８    新規レコード
２６６    レコード
【図１】
2013033583.tif 000003
【図２Ａ】
2013033583.tif 000004
【図２Ｂ】
2013033583.tif 000005
【図３】
2013033583.tif 000006
【図４】
2013033583.tif 000007
【図５】
2013033583.tif 000008
【図６】
2013033583.tif 000009
【外国語明細書】
2013033583000001.pdf
2013033583000002.pdf
2013033583000003.pdf
2013033583000004.pdf