IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許-データクエリの予期的な事前実行 図1
  • 特許-データクエリの予期的な事前実行 図2
  • 特許-データクエリの予期的な事前実行 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-18
(45)【発行日】2024-07-26
(54)【発明の名称】データクエリの予期的な事前実行
(51)【国際特許分類】
   G06F 9/50 20060101AFI20240719BHJP
【FI】
G06F9/50 120A
【請求項の数】 13
(21)【出願番号】P 2023509551
(86)(22)【出願日】2021-05-07
(65)【公表番号】
(43)【公表日】2023-09-06
(86)【国際出願番号】 US2021031434
(87)【国際公開番号】W WO2022035481
(87)【国際公開日】2022-02-17
【審査請求日】2023-05-17
(31)【優先権主張番号】16/989,827
(32)【優先日】2020-08-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ジーマ,コリン
【審査官】漆原 孝治
(56)【参考文献】
【文献】米国特許出願公開第2020/0097470(US,A1)
【文献】米国特許出願公開第2005/0010558(US,A1)
【文献】特表2015-520445(JP,A)
【文献】米国特許出願公開第2014/0052750(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
(57)【特許請求の範囲】
【請求項1】
クエリの予期的な事前実行のための方法であって、前記方法は、
指定された日付の指定された時間スケジュールされた、データソースに対する多数の異なるクエリの各々の実行コストを計算することと、
クエリ処理スケジュールを監視することと、
前記監視により、前記指定された日付の前記指定された時間よりも前の特定の日付のスケジュールされていない時間を検出することと、
前記検出に応答して、前記異なるクエリのうち実行コストの観点から最も高くつくクエリを選択し、前記指定された日付の前記指定された時間よりも前の前記特定の日付の前記スケジュールされていない時間中に、前記異なるクエリのうち前記選択された最も高くつくクエリを実行することとを含む、方法。
【請求項2】
前記特定の日付の前記スケジュールされていない時間の後であって、かつ、前記指定された日付の前記指定された時間の前に更新されることが予期される、基礎をなすデータに依存していないクエリのみを含むように、前記異なるクエリをフィルタリングすることをさらに含む、請求項1に記載の方法。
【請求項3】
前記異なるクエリのうち前記最も高くつくクエリを選択することは、前記異なるクエリのうち前記最も高くつくクエリのみを選択することだけでなく、前記異なるクエリのうち、基礎をなすデータの鮮度に最も依存しないクエリをも選択することを含む、請求項1または2に記載の方法。
【請求項4】
前記クエリ処理スケジュールを監視することは、前記指定された日付の前記指定された時間よりも前の前記特定の日付の前記スケジュールされていない時間を検出するために、どのクエリもスケジュールされていないときに、繰り返されるインスタンスを前記スケジュールされていない時間で数日にわたって検出することを含む、請求項1から3のいずれかに記載の方法。
【請求項5】
前記実行コストは、前記異なるクエリのうち対応するクエリを実行する際に消費される計算リソースの量を含む、請求項1から4のいずれかに記載の方法。
【請求項6】
前記指定された日付の前記指定された時間よりも前の前記特定の日付の前記スケジュールされていない時間中の実行に対して、前記異なるクエリのうち前記最も高くつくクエリに代えて前記異なるクエリのうち手動で指定されたクエリを選択することをさらに含む、請求項1から5のいずれかに記載の方法。
【請求項7】
クエリの予期的な事前実行のために構成されたクエリスケジューリングデータ処理システムであって、前記クエリスケジューリングデータ処理システムは、
各々がメモリと少なくとも1つのプロセッサとを有する、1つまたは複数のコンピュータを含むホストコンピューティングプラットフォームと、
前記ホストコンピューティングプラットフォームに結合されたデータソースと、
前記データソースにおいて配置されたデータに基づいてクエリを実行することに対して適合されたクエリ処理部と、
前記ホストコンピューティングプラットフォームの前記メモリにおいて実行されるコンピュータプログラム命令を含む予期的なクエリ事前実行モジュールとを備え、前記コンピュータプログラム命令は、
指定された日付の指定された時間スケジュールされた、前記データソースに対する多数の異なるクエリの各々の実行コストを計算することと、
クエリ処理スケジュールを監視することと、
前記監視により、前記指定された日付の前記指定された時間よりも前の特定の日付のスケジュールされていない時間を検出することと、
前記検出に応答して、前記異なるクエリのうち実行コストの観点から最も高くつくクエリを選択し、前記指定された日付の前記指定された時間よりも前の前記特定の日付の前記スケジュールされていない時間中に、前記異なるクエリのうち前記選択された最も高くつくクエリを実行するように前記クエリ処理部を指令することとを行う、クエリスケジューリングデータ処理システム。
【請求項8】
前記コンピュータプログラム命令は、前記特定の日付の前記スケジュールされていない時間の後であって、かつ、前記指定された日付の前記指定された時間の前に更新されることが予期される、基礎をなすデータに依存していないクエリのみを含むように、前記異なるクエリをフィルタリングすることをさらに行う、請求項7に記載のクエリスケジューリングデータ処理システム。
【請求項9】
前記異なるクエリのうち前記最も高くつくクエリを選択することは、前記異なるクエリのうち前記最も高くつくクエリのみを選択することだけでなく、前記異なるクエリのうち、基礎をなすデータの鮮度に最も依存しないクエリをも選択することを含む、請求項7または8に記載のクエリスケジューリングデータ処理システム。
【請求項10】
前記クエリ処理スケジュールを監視することは、前記指定された日付の前記指定された時間よりも前の前記特定の日付の前記スケジュールされていない時間を検出するために、どのクエリもスケジュールされていないときに、繰り返されるインスタンスを前記スケジュールされていない時間で数日にわたって検出することを含む、請求項7から9のいずれかに記載のクエリスケジューリングデータ処理システム。
【請求項11】
前記実行コストは、前記異なるクエリのうち対応するクエリを実行する際に消費される計算リソースの量を含む、請求項7から10のいずれかに記載のクエリスケジューリングデータ処理システム。
【請求項12】
前記コンピュータプログラム命令は、前記指定された日付の前記指定された時間よりも前の前記特定の日付の前記スケジュールされていない時間中の実行に対して、前記異なるクエリのうち前記最も高くつくクエリに代えて前記異なるクエリのうち手動で指定されたクエリを選択することをさらに行う、請求項7から11のいずれかに記載のクエリスケジューリングデータ処理システム。
【請求項13】
請求項1~6のいずれかに記載の方法をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は、クエリスケジューリングの分野に関し、より特定的には、要求されたクエリ実行時間の前の実行に対する、クエリの事前スケジューリングに関する。
【背景技術】
【0002】
背景
クエリは、情報検索システムからの、情報に対する要求である。クエリを投げるための3つの一般的な方法:メニュー駆動型、例示によるクエリ、およびクエリ言語記述がある。第1の例では、クエリは、メニューにおけるパラメータの選択に基づいて記述および発行される。第2の例では、情報検索システムは、空白のレコードを提示し、クエリを定義するフィールドおよびバリューをエンドユーザが指定することを可能にする。第3の例では、エンドユーザは、クエリ言語において書かれた様式化されたクエリを活用してクエリを記述する。最後のものは、専門の言語の使用を要するため、最も複雑な方法であるが、最後のものは、情報検索システムにクエリを行うことの最も制約されないモードであるため、最も強力でもある。
【0003】
クエリは、一般的に、クエリインターフェースを通じた要請に応じて、または、コンピュータプログラムを実行する時にプログラム的に発行される。しかし、クエリは、バッチモードにおいても発行され得る。すなわち、クエリは、ある時に指定され得るが、情報検索システムに対するクエリの実行は、後の時点まで延期され得る。この点で、情報検索システムにおいて、多様なユーザが実行のためにデータベースへクエリを同時に送信することはよくあることである。その結果、もしも情報検索システムが、送信されたクエリの全てを同時に実行するための十分な計算リソースを欠くならば、情報検索システムがこれらのクエリのうち1つまたは複数の実行を延期しなければならない一方で当該クエリのサブセットのみが直ちに処理され得る。どのクエリを延期するか、および、当該延期されたクエリが何時に実行される予定であるかを判定することのプロセスは、クエリスケジューリングとして知られている。
【0004】
クエリスケジューリングを行う1つのやり方は、「先着順」アプローチとして呼ばれる、入って来るクエリをそれらが到達する順番で実行することである。しかしながら、先着順アプローチは、異なる応答時間条件を有するクエリ間の区別をすることができず、いくつかのクエリは、その他のものよりもタイムセンシティブである。もしもクエリが単に到達の順番によってスケジュールされるならば、いくつかのタイムセンシティブなクエリは、タイムインセンシティブなクエリの後ろで待つように強いられることがあり、これは、情報検索システムの、有用性および応答性に不都合に影響を及ぼし得る。
【0005】
クエリスケジューリングは、固定優先順位によっても行われ得る。固定優先順位スケジューリングにおいて、各クエリには、クエリ要求元のアイデンティティまたはタイプなどの、クエリ到達の時間で知られている1つまたは複数の性質に基づく優先順位が割り当てられている。その後、各クエリは、割り当てられた優先順位によってスケジュールされ得る。見られるように、タイムセンシティブなクエリがよりタイムセンシティブでないクエリに対して優先されるため、固定優先順位スケジューリングは、先着順アプローチの問題を回避する。それにもかかわらず、固定優先順位スケジューリングは、実行するために相対的に長い時間がかかる「重い」クエリと、実行するために相対的に短い時間がかかる「軽い」クエリとを、ミリ秒または秒のオーダなどで説明することができない。
【発明の概要】
【課題を解決するための手段】
【0006】
概要
本開示の実施形態は、クエリスケジューリングに関する技術の欠如に対処し、クエリの予期的な事前実行のための、新規かつ非自明の、方法、システム、およびコンピュータプログラム製品を提供する。開示の実施形態では、クエリの予期的な事前実行のための方法は、指定された日付の指定された時間スケジュールされた、データソースに対する多数の異なるクエリの各々の実行コストの計算を含む。方法は、クエリ処理スケジュールを監視することと、当該監視により、指定された日付の指定された時間よりも前の特定の日付のスケジュールされていない時間を検出することとをも含む。最後に、方法は、当該検出に応答して、異なるクエリのうち、実行コスト、一例として、異なるクエリのうち対応するクエリを実行する際に消費される計算リソースの量の観点から最も高くつくクエリをまず選択し、そして、指定された日付の指定された時間よりも前の特定の日付のスケジュールされていない時間中に、異なるクエリのうち選択された最も高くつくクエリを実行することを含む。
【0007】
実施形態の一態様において、異なるクエリは、特定の日付のスケジュールされていない時間の後であって、かつ、指定された日付の指定された時間の前に更新されることが予期される、基礎をなすデータに依存していないクエリのみを含むようにフィルタリングされ得る。実施形態の別の態様において、異なるクエリのうち最も高くつくクエリの選択は、異なるクエリのうち最も高くつくクエリのみを選択することだけでなく、異なるクエリのうち、基礎をなすデータの鮮度に最も依存しないクエリをも選択することを含む。実施形態のさらに別の態様において、クエリ処理スケジュールを監視するプロセスステップは、指定された日付の指定された時間よりも前の特定の日付のスケジュールされていない時間を検出するために、どのクエリもスケジュールされていないときに、繰り返されるインスタンスをスケジュールされていない時間で数日にわたって検出し得る。実施形態のなおさらに別の態様において、異なるクエリのうち手動で指定されたクエリは、指定された日付の指定された時間よりも前の特定の日付のスケジュールされていない時間中の実行に対して、異なるクエリのうち最も高くつくクエリに代えて選択され得る。
【0008】
開示の別の実施形態において、クエリスケジューリングデータ処理システムは、クエリの予期的な事前実行のために構成されている。システムは、各々がメモリと少なくとも1つのプロセッサとを有する、1つまたは複数のコンピュータを含むホストコンピューティングプラットフォームと、ホストコンピューティングプラットフォームに結合されたデータソースと、データソースにおいて配置されたデータに基づいてクエリを実行することに対して適合されてきたクエリ処理部とを含む。システムは、予期的なクエリ事前実行モジュールをなおさらに含む。モジュールは、指令された日付の指定された時間スケジュールされた、データソース対する多数の異なるクエリの各々の実行コストを計算、クエリ処理スケジュールを監視当該監視により、指定された日付の指定された時間よりも前の特定の日付のスケジュールされていない時間を検し、当該検出に応答して、異なるクエリのうち実行コストの観点から最も高くつくクエリを選択し、指定された日付の指定された時間よりも前の特定の日付のスケジュールされていない時間中に、異なるクエリのうち選択された最も高くつくクエリを実行するようにクエリ処理部を指令するために、ホストコンピューティングプラットフォームのメモリにおいて実行されるコンピュータプログラム命令を含む。
【0009】
開示の追加的な態様は、あとに続く説明において部分的に述べられるであろう、そして、説明から部分的に明らかであろう、または開示の実践により学ばれ得る。開示の態様は、添付された特許請求の範囲において特に指摘される、要素および組み合わせの手段により、実現され成し遂げられるであろう。請求されるように、上述の一般的な説明、および以下の詳細な説明の双方は、例示的および説明的であるに過ぎず、開示の限定表現でないことが理解されるべきである。
【図面の簡単な説明】
【0010】
開示の1つまたは複数の実施の詳細は、添付の図面および下記の説明において述べられる。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかであろう。
図1】クエリの予期的な事前実行のためのプロセスの、例示の図である。
図2】クエリの予期的な事前実行のために構成されたデータ処理システムの概略図である。
図3】クエリの予期的な事前実行の方法に対する動作の例示的配列のフローチャートである。
【発明を実施するための形態】
【0011】
詳細な説明
開示の実施形態は、クエリの予期的な事前実行を提供する。開示の実施形態に従って、実行コストは、指定された日付の指定された時間スケジュールされた、データソースに対する多数の異なるクエリの各々に対して計算され得る。そして、クエリ処理スケジュールが監視され、指定された日付の指定された時間よりも前の特定の日付に関してスケジュールされていない時間が当該監視から検出され得る。その後、スケジュールされていない時間の検出に応答して、異なるクエリのうち実行コストの観点から最も高くつくクエリが選択され、そして、指定された日付の指定された時間よりも前の特定の日付のスケジュールされていない時間中に実行される。このように、異なるクエリのうち最も高くつくクエリは、指定された日付の指定された時間処理するようにスケジュールされたクエリの全てのトータル実行コストにおける効率を稼ぐために別の方法では無駄にされるであろう時間予期的に事前実行され得る。
【0012】
さらに他の例示において、図1は、クエリの予期的な事前実行のためのプロセス101を絵を用いて示す。図1に示されるように、クエリ処理部170は、データソース140、一例として、データベース、または1つもしくは複数のデータベースにおける、データのデータモデルに対してクエリ100を実行する。クエリ処理部170は、異なるクエリが、異なるスケジュールされた時間110でデータソース140に対する実行のためにスケジュールされているクエリ処理スケジュール150によって、異なるスケジュールされた時間でクエリ100の1つまたは複数を実行する。重要なことに、クエリ100の各々は、クエリ100のうち対応するものが、クエリ処理部170による処理に対するクエリ処理スケジュール150においてスケジュールされているときに、特定の日付のスケジュールされた時間110を定義するメタデータと関連付けられている。そのうえ、クエリ100の各々は、リソースコスト(一例として、プロセッサおよびメモリリソース)、および任意にデータ鮮度値130に対する感度の観点から処理のコスト120を指定するメタデータと関連付けられている。処理のコスト120は、手動でかつメタデータにおいて直接的に指定され得るか、または、処理のコスト120は、走るための時間、鮮度の感度/弾性、および、関与されたレコードにおける観察された更新が原因でクエリを続いて再び走らせる要件の見込み、などの数個の入力パラメータを説明する数学的なコスト関数として計算され得る。実際、実施形態の一態様において、パラメータは、管理者により確立されるように別の仕方で重み付けされ得る。
【0013】
データ鮮度値130に対する感度は、正確なクエリ結果を提供するために可能な限り最新でなければならない、基礎をなすデータに対する、クエリ100のうち対応するものの依存を示す。一例として、アドレッシングデータへの依存は、日々の販売情報への依存よりもセンシティブでない可能性がある。前者の例において、アドレッシング情報が、事前実行の日時と、スケジュールされた時間110との間の暫定的な期間において変わりそうにないため、もしも、クエリ100のうち対応するものが、スケジュールされた時間110の前に事前実行されるならば、影響がない可能性がある。しかし、後者の例において、もしも、クエリ100のうち対応するものが、販売データなどの、対応するスケジュールされた時間110と、スケジュールされた時間110の前の実行の時間との間の期間において変わり得るデータに依存するならば、クエリ100のうち対応するものを事前実行することは、不正確な結果を生み出し得る。
【0014】
監視部160は、どの時間もクエリ処理に対してスケジュールされていないか否か、または、クエリ処理に対してスケジュール中であるか否かを、異なる時間期間に対して識別するためにクエリ処理スケジュール150を監視する。利用可能時間180を検出するとすぐに、監視部160は、処理の最も高い対応するコスト120を有するクエリ100のうち一つを識別するために、利用可能時間180から未来の時間で処理に係属しているクエリ100を検査する。その後、監視部160は、処理の対応する最も高いコスト120を有するクエリ100のうち識別されたものを選択し、検出された利用可能時間180でのクエリ処理部170によるデータソース140に対する処理のために、クエリ100のうち選択されたものを再スケジュールする。クエリ100のうち多数の異なるものが、クエリ100の全ての中で最も高いと判定された同様の対応するコスト120を有する程度まで、同様の対応するコスト120を有するクエリの一つが、最も小さい対応するデータ鮮度感度130に基づいて事前実行のために選択される。
【0015】
図1に関連して説明されるプロセスは、データ処理システム200において実施される。さらに他の例示において、図2は、クエリの予期的な事前実行のために構成されたデータ処理システム200を概略的に示す。システム200は、各々が、メモリと少なくとも1つのプロセッサとを有する一つまたは複数のコンピュータを含むホストコンピューティングシステム210を含む。ホストコンピューティングシステム210は、データコミュニケーションネットワーク220を超えてデータベース230に通信可能に結合されており、クエリ処理部240がデータベース230に対してクエリ260のうち対応するものを実行する予定であるときに日時を指定するクエリスケジュール250によって、異なるクエリ260をデータベース230に対して実行するように適合されたクエリ処理部240の動作を支える。
【0016】
重要なことに、予期的な事前スケジューラモジュール300は、ホストコンピューティングシステム210のメモリにおいて実行する。予期的な事前スケジューラモジュール300は、コンピュータプログラム命令を含み、この命令は、実行中に、クエリ260のうち一つの、利用可能であることがクエリスケジュール250の監視に基づいて知られているより早い時間帯への手動または自動の再スケジューリングを許可する。自動的な再スケジューリングについて、プログラム命令は、クエリ処理部240による処理のためにスケジュールされたクエリ無しで、スケジュールされていない時間がその間に存在する時間期間を識別するためにクエリスケジュール250を監視する。そのため、プログラム命令は、指定された日付の指定された時間よりも前の特定の日付のスケジュールされていない時間を、指定された日付の指定された時間に先立って検出するために、どのクエリもスケジュールされていないときに、スケジュールされていない時間の繰り返されるインスタンスを数日にわたって検出する。
【0017】
スケジュールされていない時間を検出するとすぐに、プログラム指令は、クエリ260の全ての中で最も高いと記録された、または、代わりにしきい値よりも上の、実行の対応するコストを有するスケジュールされていない時間の次のスケジュールされた時間で実行のためにスケジュールされたクエリ260のうち一つを選択することをさらに可能とされる。プログラムコードは、しきい値の上の対応するコストを有する、クエリ260のうち多数のものから、基礎をなすデータにおける変化に対する最も低い記録された感度を有する、クエリ260の一つを任意に選択し、そのクエリは、当該データに依存している。その後、プログラム命令は、利用可能時間での事前実行のために、クエリ260のうち選択されたものを事前スケジュールする。
【0018】
予期的な事前スケジューラモジュール300の動作のなおさらに他の例示において、図3は、クエリの予期的な事前実行の方法301のための動作の例示的配列を例示するフローチャートである。ブロック310において始まり、モジュールは、クエリ処理スケジュールに接続し、ブロック320において、モジュールは、次の時間期間中の処理に対してスケジュールされたクエリのスケジュールを読み出す。決定ブロック330において、モジュールは、その時間期間中に利用可能時間が存在するかを判定する。そうでないならば、ブロック340において、モジュールは、次の時間期間を選択し、ブロック320において、モジュールは、次の時間期間に対するスケジュールを読み出す。そして、プロセスは、決定ブロック330へ戻る。
【0019】
決定ブロック330において、もしも上記の時間期間中に利用可能時間が存在するならば、ブロック350において、モジュールは、その時間期間における利用可能時間帯を選択し、ブロック360において、モジュールは、選択された時間期間の後の未来の時間期間に対してスケジュールされたクエリを検索する。ブロック370において、検索されたクエリは、利用可能時間の後であって、かつ、指定された時間の前に更新されることが予期される、基礎をなすデータに依存していないクエリのみを含むようにフィルタリングされる。ブロック380において、フィルタリングされたクエリは、実行のコストによりソートされる。そして、ブロック390において、最も高いコストのクエリとともに始まり、モジュールは、クエリにより関与される、基礎をなすデータの鮮度に対する最も低い感度のソートにおいてクエリを事前実行のために選択する。最後に、ブロック400において、モジュールは、選択されたクエリを、利用可能時間での事前実行のために再スケジュールする。
【0020】
本開示は、システム、方法、コンピュータプログラム製品、またはそれらの任意の組み合わせの範囲内で具現化され得る。コンピュータプログラム製品は、本開示の態様をプロセッサに遂行させるためのコンピュータ読み取り可能なプログラム命令をその上に有するコンピュータ読み取り可能な記憶媒体(medium or media)を含み得る。コンピュータ読み取り可能な記憶媒体は、命令実行装置による使用のための命令を保持および記憶する有形の装置であり得る。コンピュータ読み取り可能な記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、または上述のものの任意の好適な組み合わせであり得るが、これらに限定されない。
【0021】
この明細書中に説明されたコンピュータ読み取り可能なプログラム命令は、コンピュータ読み取り可能な記憶媒体からそれぞれの計算/処理装置へ、または、ネットワークを介して外部コンピュータもしくは外部記憶装置へダウンロードされ得る。コンピュータ読み取り可能なプログラム命令は、もっぱらユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または、もっぱらリモートコンピュータもしくはサーバ上で実行され得る。本開示の態様は、開示の実施形態によって、方法、機器(システム)、およびコンピュータプログラム製品の、フローチャート例示ならびに/またはブロックダイアグラムを参照してこの明細書中で説明される。フローチャート例示および/またはブロックダイアグラムの各ブロック、ならびに、フローチャート例示および/またはブロックダイアグラムにおける、ブロックの組み合わせが、コンピュータ読み取り可能なプログラム命令により実施され得ることが理解されるであろう。
【0022】
これらのコンピュータ読み取り可能なプログラム命令は、汎用のコンピュータ、専用のコンピュータ、または他のプログラム可能なデータ処理機器のプロセッサへ提供され得て、命令が、コンピュータまたは他のプログラム可能なデータ処理機器のプロセッサを介して実行され、フローチャート、および/またはブロックダイアグラムのブロック(block or blocks)において指定された機能/作動を実施するための手段を作り出すように、機械を生み出す。これらのコンピュータ読み取り可能なプログラム命令は、その内部に記憶された命令を有するコンピュータ読み取り可能な記憶媒体が、フローチャート、および/またはブロックダイアグラムのブロック(block or blocks)において指定された機能/作動の態様を実施する命令を含む製品を含むように、コンピュータ、プログラム可能なデータ処理機器、および/または他の装置を特定のやり方において機能させるように指令し得るコンピュータ読み取り可能な記憶媒体にも記憶され得る。
【0023】
コンピュータ読み取り可能なプログラム命令は、コンピュータ、他のプログラム可能なデータ処理機器、または他の装置にもロードされ得て、コンピュータ、他のプログラム可能な機器、または他の装置上で実行される命令が、フローチャート、および/またはブロックダイアグラムのブロック(block or blocks)において指定された機能/作動を実施するように、コンピュータ実施プロセスを生み出すためにコンピュータ、他のプログラム可能な機器、または他の装置上で行われる一連の、動作上のステップを引き起こす。
【0024】
図における、フローチャートおよびブロックダイアグラムは、本開示の種々の実施形態による、システム、方法、およびコンピュータプログラム製品の可能な実施の、アーキテクチャ、機能性、および動作を例示する。この点において、フローチャートまたはブロックダイアグラムにおける各ブロックは、指定された論理機能(logical function(s))を実施するための1つまたは複数の実行可能な命令を含む、モジュール、セグメント、または、命令の部分を表し得る。いくつかの代替的な実施において、ブロックにおいて言及される機能は、図において言及される順番を離れて起こり得る。例えば、連続して示される2つのブロックは、実際、実質的に同時に実行され得るか、または、当該ブロックは、伴われる機能性に依存して、時々、反対の順番で実行され得る。ブロックダイアグラムおよび/またはフローチャート例示の各ブロック、ならびにブロックダイアグラムおよび/またはフローチャート例示における、ブロックの組み合わせは、指定された機能または作動を行うまたは専用のハードウェアおよびコンピュータ命令の組み合わせを遂行する専用のハードウェアベースのシステムにより実施され得ることにも言及されるであろう。
【0025】
最後に、この明細書中で用いられた術語は、特定の実施形態を説明することの目的のために過ぎず、開示の限定的であることを意図されていない。この明細書中で用いられたように、単数形「a」、「an」、および「the」は、文脈が明確にそうでないことを示さない限り複数形を同様に含むことを意図されている。「含む(includes)」および/または「含む(including)」という用語は、本明細書において使用されるとき、言明された特徴、整数、ステップ、動作、要素、および/または構成要素の存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/もしくはそれらのグループの、存在または追加を除外しないことがさらに理解されるであろう。
【0026】
下記の特許請求の範囲における全てのミーンズまたはステッププラスファンクション要素の、対応する、構造、物質、作動、および均等物は、具体的に請求された他の請求された要素と組み合わせて機能を行うための、任意の構造、物質、または作動を含むことが意図されている。本開示の説明は、例示および説明の目的のために提示されてきたが、網羅的であること、または開示された形式における開示に限定されることが意図されていない。多くの変形例および変形物は、本開示の範囲および趣旨から外れることなく当業者にとって明らかであろう。実施形態は、開示の本質および実用化を最良に解説するために、および、他の当業者が、企図される特定の使用に適している種々の変形例とともに種々の実施形態に対する開示を理解することを可能とするために選ばれて説明された。
【0027】
このように本出願の開示を詳細にかつその実施形態への参照により説明してきたが、あとに続く添付された特許請求の範囲において定義された開示の範囲から外れることなく変形例および変形物が可能であることが明らかであろう。
図1
図2
図3