JP6509204B2 - シャードのオンライン追加によるナイーブなクライアント側シャーディング - Google Patents
シャードのオンライン追加によるナイーブなクライアント側シャーディング Download PDFInfo
- Publication number
- JP6509204B2 JP6509204B2 JP2016523825A JP2016523825A JP6509204B2 JP 6509204 B2 JP6509204 B2 JP 6509204B2 JP 2016523825 A JP2016523825 A JP 2016523825A JP 2016523825 A JP2016523825 A JP 2016523825A JP 6509204 B2 JP6509204 B2 JP 6509204B2
- Authority
- JP
- Japan
- Prior art keywords
- shards
- shard
- data item
- amount
- change
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 93
- 230000008859 change Effects 0.000 claims description 63
- 230000007704 transition Effects 0.000 claims description 23
- 230000009471 action Effects 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 230000033001 locomotion Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 1
- 230000007717 exclusion Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 40
- 230000000694 effects Effects 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 23
- 238000007726 management method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 7
- 230000002730 additional effect Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241000238558 Eucarida Species 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000003325 tomography Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この特許文献の開示の一部は、著作権保護の対象となる資料を含む。この特許文献または特許開示は特許商標庁の特許ファイルまたは記録に記載されているため、著作権保有者は、何人によるその複写複製に対して異議はないが、その他の場合にはいかなるときも全ての著作権を保有する。
本願は、米国特許法第119条に基づいて、「NAIVE, CLIENT-SIDE SHARDING WITH ONLINE ADDITION OF SHARDS(シャードのオンライン追加によるナイーブなクライアント側シャーディング)」と題される2013年6月28日に出願された米国仮特許出願番号第61/841,045号の優先権を主張し、その内容全体は引用によって本明細書に援用され、「NAIVE, CLIENT SIDE SHARDING WITH ONLINE ADDITION OF SHARDS(シャードのオンライン追加によるナイーブなクライアント側シャーディング)」と題される2014年3月26日に出願された米国特許出願番号第14/226,557号の優先権を主張し、その内容全体は引用によって本明細書に援用される。
データベースシャードのシステムでは、記録または行または文書などのデータ項目は、シャード(shard)と呼ばれる複数の別々の独立したデータベースに分散されることができる。このようなシステムでは、データ項目は、一般に、シャード間で重複せず、重複することが許可されない。したがって、このようなシステムでは、いかなる所与の時点においてもいくつかのシャードのうちの1つにのみ特定のデータ項目が位置することになる。いくつかのシャードのうちのどれが当該特定のデータ項目を含んでいるかをクライアントが判断するために、クライアントは、当該特定のデータ項目を一義的に特定するデータ項目のプライマリキーをハッシュ関数に入力することができる。ハッシュ関数は、プライマリキーに基づいて、当該特定のデータ項目が現在格納されているシャードのアイデンティティを計算する。例えば、ハッシュ関数は、数値プライマリキーをシステム内のシャードの量で除算し、次いで剰余(基本的にはモジュロ演算)を、当該特定のデータ項目を含むシャードのための識別子であると考えてもよい。一般に、このようなハッシュ関数を用いて、各々のデータ項目が格納されることになるシャードを最初の段階で判断することにより、データ項目が比較的均一にシャードに分散される。
以下の説明には、説明の目的で、本発明の実施例を完全に理解できるようにするために具体的な詳細が記載されている。しかし、これらの具体的な詳細がなくても本発明を実施できることは明らかであろう。
図1は、本発明の実施例に係る、複数のデータベースシャードに分散されたデータ項目に複数のクライアントがアクセスできるスケーラブルなシャードシステム100の例を示すブロック図である。シャードシステム100は、クライアント102A〜Nと、シャード104A〜Nとを含む。システム100内のクライアントおよびシャードの量は、可変である。シャード104A〜Nの各々は、システム100内のその他のシャードを意識する必要がない別々の独立したデータベースであってもよい。例えば、シャード104A〜Nの各々は、別々のデータベースサーバと、リレーショナルデータベースとを含んでいてもよい。本明細書では具体的な例としてデータベースが記載されているが、本発明の実施例は、データベース以外のさまざまな種類のデータリポジトリ(例えば、ライトウェイト・ディレクトリ・アクセス・プロトコル(Lightweight Directory Access Protocol:LDAP)ディレクトリ、フラットファイル、連想記憶装置など)に適用可能である。クライアント102A〜Nの各々は、互いに独立して動作できる別々の計算システムであってもよい。例えば、クライアント102A〜Nは、デスクトップコンピュータ、ラップトップコンピュータ、モバイル機器などであってもよい。
上記のように、本発明の実施例では、特定のデータ項目の各コピーは、バージョン情報に関連付けて格納されることができる。実施例では、このようなバージョン情報は、システム100においてリバランシングイベントが生じるたびにインクリメントされるシステム全体にわたるバージョン番号の形態をとってもよい。したがって、例えば、既存のデータ項目のバージョン番号が3であり、かつ、リバランシングイベント中に異なるシャード上にデータ項目の新たなコピーが作成された時点でシステムの現在のバージョン番号が4であれば、当該データ項目の新たなコピーは、バージョン番号4を有することになる。リバランシングイベント中に存在し得るデータ項目の2つの別々のコピーのバージョン情報を調べることによって、クライアントは、どのコピーがより新しいバージョンであるかを判断することができ、当該コピーに対して動作を実行することができる。また、リバランシングイベント中に存在し得るデータ項目の2つの別々のコピーのバージョン情報を調べることによって、リバランシングプロセスは、どのコピーがより古いバージョンであり、そのため当該コピーが位置しているシャードから除去されるべきであるかを判断することができる。
上記のように、さまざまな時点において、システム100はリバランシングイベントを実行している状態にある可能性があり、または、システム100はこのようなリバランシングイベント以外の状態にある可能性がある。また、上記のように、クライアント102A〜Nがリバランシングイベント中にデータ項目に対する動作の一部として実行するアクティビティのシーケンスは、リバランシングイベントが生じていない状態の間にクライアント102A〜Nが同一タイプの動作の一部として実行するアクティビティのシーケンスとは異なり得る。簡単な態様で考えると、システム100がリバランシングイベントを受けていない間に存在する「通常」状態の間は、クライアント102A〜Nは、ある種の不整合性から保護する防護策が無い可能性がある単純で高効率の「ナイーブな」技術を用いてデータ項目に対して動作を実行し得る。対照的に、システム100がリバランシングイベントを受けている間に存在する状態の間は、クライアント102A〜Nは、このような防護策を課すより複雑でより慎重な技術を用いて同一タイプの動作を実行し得る。このような防護策は、リバランシングイベント以外では不要であるかもしれないが、リバランシングイベント中は好適であろう。
図3は、本発明の実施例に係る、リバランシング状態にある間に追加動作を実行するための技術300の例を示すフロー図である。技術300は、特定の順序で実行される特定のアクティビティを含むように示されているが、本発明の代替的な実施例は、追加のアクティビティ、より少ない数のアクティビティまたは異なるアクティビティを有する技術を含んでいてもよい。クライアント102A〜Nはいずれも、技術300を実行することができる。ブロック302において、クライアントは、シャード量の変化の前に特定のデータ項目が位置していたであろうソースシャードのアイデンティティを判断し得る。この判断は、例えば古いシャード量を法として特定のデータ項目のプライマリキーを計算することによって実現されてもよい。ブロック304において、クライアントは、シャード量の変化の後に当該特定のデータ項目が位置することになる宛先シャードのアイデンティティを判断し得る。この判断は、例えば新たなシャード量を法として特定のデータ項目のプライマリキーを計算することによって実現されてもよい。ブロック306において、クライアントは、ソースシャードのアイデンティティが宛先シャードのアイデンティティと同一であるか否かを判断し得る。アイデンティティが同一であれば、制御はブロック308に進む。そうでなければ、制御はブロック310に進む。
図4は、本発明の実施例に係る、リバランシング状態にある間に更新動作を実行するための技術400の例を示すフロー図である。技術400は、特定の順序で実行される特定のアクティビティを含むものとして示されているが、本発明の代替的な実施例は、追加のアクティビティ、より少ない数のアクティビティまたは異なるアクティビティを有する技術を含んでいてもよい。クライアント102A〜Nはいずれも、技術400を実行することができる。ブロック402において、クライアントは、シャード量の変化の前に特定のデータ項目が位置していたであろうソースシャードのアイデンティティを判断し得る。この判断は、例えば古いシャード量を法として特定のデータ項目のプライマリキーを計算することによって実現されてもよい。ブロック404において、クライアントは、シャード量の変化の後に当該特定のデータ項目が位置することになる宛先シャードのアイデンティティを判断し得る。この判断は、例えば新たなシャード量を法として特定のデータ項目のプライマリキーを計算することによって実現されてもよい。ブロック406において、クライアントは、ソースシャードのアイデンティティが宛先シャードのアイデンティティと同一であるか否かを判断し得る。アイデンティティが同一であれば、制御はブロック408に進む。そうでなければ、制御はブロック410に進む。
図5は、本発明の実施例に係る、リバランシング状態にある間に削除動作を実行するための技術500の例を示すフロー図である。技術500は、特定の順序で実行される特定のアクティビティを含むものとして示されているが、本発明の代替的な実施例は、追加のアクティビティ、より少ない数のアクティビティまたは異なるアクティビティを有する技術を含んでいてもよい。クライアント102A〜Nはいずれも、技術500を実行することができる。ブロック502において、クライアントは、シャード量の変化の前に特定のデータ項目が位置していたであろうソースシャードのアイデンティティを判断し得る。この判断は、例えば古いシャード量を法として特定のデータ項目のプライマリキーを計算することによって実現されてもよい。ブロック504において、クライアントは、シャード量の変化の後に当該特定のデータ項目が位置することになる宛先シャードのアイデンティティを判断し得る。この判断は、例えば新たなシャード量を法として特定のデータ項目のプライマリキーを計算することによって実現されてもよい。ブロック506において、クライアントは、ソースシャードのアイデンティティが宛先シャードのアイデンティティと同一であるか否かを判断し得る。アイデンティティが同一であれば、制御はブロック508に進む。そうでなければ、制御はブロック510に進む。
図6A〜図6Bは、本発明の実施例に係る、リバランシング状態にある間に取得動作を実行するための技術600の例を示すフロー図である。実施例では、取得動作は、クライアント指定のプライマリキーを有するデータ項目の属性値を読取って、返し得る。技術600は、特定の順序で実行される特定のアクティビティを含むものとして示されているが、本発明の代替的な実施例は、追加のアクティビティ、より少ない数のアクティビティまたは異なるアクティビティを有する技術を含んでいてもよい。クライアント102A〜Nはいずれも、技術600を実行することができる。まず図6Aを参照して、ブロック602において、クライアントは、シャード量の変化の前に指定のプライマリキーを有する特定のデータ項目が位置していたであろうソースシャードのアイデンティティを判断し得る。この判断は、例えば古いシャード量を法として指定のプライマリキーを計算することによって実現されてもよい。ブロック604において、クライアントは、シャード量の変化の後に当該指定のプライマリキーを有する特定のデータ項目が位置することになる宛先シャードのアイデンティティを判断し得る。この判断は、例えば新たなシャード量を法として指定のプライマリキーを計算することによって実現されてもよい。ブロック606において、クライアントは、ソースシャードのアイデンティティが宛先シャードのアイデンティティと同一であるか否かを判断し得る。アイデンティティが同一であれば、制御はブロック608に進む。そうでなければ、制御はブロック610に進む。
図7は、本発明の実施例に係る、クライアント102A〜Nが(最初に)リバランシング状態にある間にリバランシング動作を実行するための技術700の例を示すフロー図である。技術700は、特定の順序で実行される特定のアクティビティを含むものとして示されているが、本発明の代替的な実施例は、追加のアクティビティ、より少ない数のアクティビティまたは異なるアクティビティを有する技術を含んでいてもよい。リバランシングプロセスは、クライアント102A〜Nによる他のタイプの動作の実行に非同期的に技術700を実行し得る。
図8は、本発明の実施例に係る、リバランシング状態にある間にクエリ動作を実行するための技術800の例を示すフロー図である。技術800は、特定の順序で実行される特定のアクティビティを含むものとして示されているが、本発明の代替的な実施例は、追加のアクティビティ、より少ない数のアクティビティまたは異なるアクティビティを有する技術を含んでいてもよい。例えば、クライアント102A〜Nはいずれも、技術800を実行することができる。技術800は、技術700と同時に実行可能である。ブロック802において、シャード104A〜Nの各々の特定のシャードについて、クエリ指定のフィルタリング基準を満たす特定のシャードのデータ項目が全て、当該特定のシャードについての別々の事前結果キューに入れられ得る。各々のこのような事前結果キューは、空の状態で開始し得る。したがって、シャード104A〜Nの各々について、別々の事前結果キューが投入され得る。ブロック804において、シャード104A〜Nの各々の特定のシャードについて、当該特定のシャードの事前結果キュー内に含まれるデータ項目が、少なくとも部分的にそれらのデータ項目のプライマリキーに基づいて、分類され得る。その結果、例えば、各々の事前結果キューは、当該事前結果キューにおけるデータ項目のうちの最小のプライマリキーを有するデータ項目が当該事前結果キューの先頭にあることができるように分類されるデータ項目を含み得る。ブロック806において、全てのシャードの事前結果キューが空であるか否かについて判断がなされ得る。全てのシャードの事前結果キューが空であれば、制御はブロック818に進む。そうでなければ、制御はブロック808に進む。
図9は、実施例のうちの1つを実現するための分散システム900の簡略化された図を示す。示されている実施例では、分散システム900は、1つ以上のクライアント計算装置902,904,906および908を含み、当該1つ以上のクライアント計算装置902,904,906および908は、ウェブブラウザ、専有のクライアント(例えばオラクルフォームズ)などのクライアントアプリケーションを1つ以上のネットワーク910を介して実行および動作させるように構成されている。サーバ912は、ネットワーク910を介して、遠く離れたクライアント計算装置902,904,906および908と通信可能に結合され得る。
Claims (19)
- コンピュータによって実行される方法であって、
複数シャードシステム内のシャードの量の変化が生じたことを判断するステップと、
前記シャードの量の変化の判断に応答して、クライアントを通常状態からリバランシング状態に遷移させるステップとを備え、前記通常状態において、クライアントは前記複数シャードシステムに格納された複数のデータ項目に対して、所定タイプの動作を第1の態様で実行し、前記リバランシング状態において、前記クライアントは前記複数シャードシステムに格納された前記複数のデータ項目に対して、前記所定タイプの動作を第2の態様で実行し、前記第2の態様は前記第1の態様とは異なっており、前記リバランシング状態において、前記クライアントは前記データ項目のいずれに対する1つ以上の排他的ロックを取得することなく前記所定タイプの動作を実行し、前記リバランシング状態において、前記所定タイプの動作は、前記複数シャードシステム内の第1のシャードおよび前記複数シャードシステム内の第2のシャードに基づいて実行され、前記第1のシャードは、前記シャードの量の変化前において、前記第1のシャード内の第1のメモリ位置に格納されたデータ項目を含み、当該データ項目は前記複数のデータ項目の1つであり、前記第2のシャードは、前記シャードの量の変化後において、前記第2のシャード内の第2のメモリ位置に格納されたデータ項目を含み、
前記クライアントが前記リバランシング状態にある間に、前記複数のデータ項目の1つ以上のデータ項目について、1つ以上のソースシャードとは異なる1つ以上の宛先シャードを決定するステップを備え、前記1つ以上のソースシャードは、前記クライアントが前記通常状態から前記リバランシング状態に遷移する前の前記通常状態において、当該1つ以上のデータ項目を格納していたものであり、
前記クライアントが前記リバランシング状態にある間に、前記1つ以上のデータ項目を前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動させるステップを備える、コンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、排他的ロックを取得することなく、前記1つ以上のデータ項目の移動とは非同期的に、データ項目に対して前記所定タイプの動作を前記第2の態様で実行するステップをさらに備える、請求項1に記載のコンピュータによって実行される方法。
- 前記シャードの量の変化に続いて、前記複数シャードシステム内の前記シャードの量に少なくとも部分的に基づいて、前記データ項目のプライマリキーをハッシュすることによって、前記1つ以上のデータ項目について、前記1つ以上の宛先シャードを決定するステップと、
前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されたとの判断に応答して、前記クライアントを前記リバランシング状態から前記通常状態に遷移させるステップとをさらに備える、請求項1または2に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーを有する第1のデータ項目に対して、追加の動作を前記第2の態様で実行するステップをさらに備え、前記追加の動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記第1のデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記第1のデータ項目が追加されることになる特定の宛先シャードを判断することと、
前記特定のソースシャード上のデータ項目のいずれもが前記第1のデータ項目のプライマリキーを有していないことを判断することと、
前記特定の宛先シャード上のデータ項目のいずれもが真のトゥームストーン属性値および前記第1のデータ項目のプライマリキーを有していないことを判断することと、
前記第1のデータ項目を前記特定の宛先シャードに挿入することと、によって実行される、請求項1〜3のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーを有する第1のデータ項目に対して、追加の動作を前記第2の態様で実行するステップをさらに備え、前記追加の動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記第1のデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記第1のデータ項目が追加されることになる特定の宛先シャードを判断することと、
前記特定のソースシャード上のデータ項目のいずれもが前記第1のデータ項目のプライマリキーを有していないことを判断することと、
前記特定の宛先シャード上の第2のデータ項目が真のトゥームストーン属性値および前記第1のデータ項目のプライマリキーを有していることを判断することと、
前記第1のデータ項目の属性値を前記第2のデータ項目の1つ以上の属性に割り当てることと、
前記第2のデータ項目のトゥームストーン属性値を偽に設定することと、によって実行される、請求項1〜4のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーを有する第1のデータ項目に対して、更新タイプの動作を前記第2の態様で実行するステップをさらに備え、
前記更新タイプの動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記第1のデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記第1のデータ項目が位置することになる特定の宛先シャードを判断することと、
前記特定のソースシャード上のデータ項目のいずれもが前記第1のデータ項目のプライマリキーを有していないことを判断することと、
前記特定の宛先シャード上の第2のデータ項目が偽のトゥームストーン属性値および前記第1のデータ項目のプライマリキーを有していることを判断することと、
前記第1のデータ項目の属性値を前記第2のデータ項目の1つ以上の属性に割り当てることと、によって実行される、請求項1〜5のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーを有する第1のデータ項目に対して、更新タイプの動作を前記第2の態様で実行するステップをさらに備え、前記更新タイプの動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記第1のデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記第1のデータ項目が位置することになる特定の宛先シャードを判断することと、
前記特定のソースシャード上の第2のデータ項目が前記第1のデータ項目のプライマリキーおよび偽のトゥームストーン属性値を有していることを判断することと、
前記特定の宛先シャード上の第3のデータ項目が前記第1のデータ項目のプライマリキーを有していることを判断することと、
前記第1のデータ項目の属性値を前記第3のデータ項目の1つ以上の属性に割り当てることと、
前記第3のデータ項目のバージョン番号を前記第2のデータ項目のバージョン番号とは異なる値に設定することと、によって実行される、請求項1〜6のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーを有する第1のデータ項目に対して、更新タイプの動作を前記第2の態様で実行するステップをさらに備え、前記更新タイプの動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記第1のデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記第1のデータ項目が位置することになる特定の宛先シャードを判断することと、
前記特定のソースシャード上の第2のデータ項目が前記第1のデータ項目のプライマリキーおよび偽のトゥームストーン属性値を有していることを判断することと、
前記特定の宛先シャード上のデータ項目のいずれもが前記第1のデータ項目のプライマリキーを有していないことを判断することと、
前記第2のデータ項目のバージョン番号とは異なるバージョン番号を有する前記第1のデータ項目を前記特定の宛先シャードに挿入することと、によって実行される、請求項1〜7のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーを有する第1のデータ項目に対して、削除タイプの動作を前記第2の態様で実行するステップをさらに備え、前記削除タイプの動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記第1のデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記第1のデータ項目が位置することになる特定の宛先シャードを判断することと、
前記特定のソースシャード上の第2のデータ項目が前記第1のデータ項目のプライマリキーを有していることを判断することと、
前記第2のデータ項目のバージョン番号とは異なるバージョン番号を有する前記第1のデータ項目を前記特定の宛先シャードに更新/挿入することと、
前記特定の宛先シャード上の前記第1のデータ項目のトゥームストーン属性値を真に設定することと、によって実行される、請求項1〜8のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーを有する第1のデータ項目に対して、削除タイプの動作を前記第2の態様で実行するステップをさらに備え、前記削除タイプの動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記第1のデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記第1のデータ項目が位置することになる特定の宛先シャードを判断することと、
前記特定のソースシャード上のデータ項目のいずれもが前記第1のデータ項目のプライマリキーを有していないことを判断することと、
前記特定の宛先シャード上の第2のデータ項目が前記第1のデータ項目のプライマリキーを有していることを判断することと、
前記第2のデータ項目のトゥームストーン属性値を真に設定することと、によって実行される、請求項1〜9のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーに対して取得タイプの動作を前記第2の態様で実行するステップをさらに備え、前記取得タイプの動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記プライマリキーを有するデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記プライマリキーを有するデータ項目が位置することになる特定の宛先シャードを判断することと、
前記特定の宛先シャード上の第1のデータ項目が前記プライマリキーおよび偽のトゥームストーン属性値を有していることを判断することと、
前記第1のデータ項目の属性値を読取ることと、によって実行される、請求項1〜10のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーに対して取得タイプの動作を前記第2の態様で実行するステップをさらに備え、前記取得タイプの動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記プライマリキーを有するデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記プライマリキーを有するデータ項目が位置することになる特定の宛先シャードを判断することと、
前記特定の宛先シャード上のデータ項目が前記プライマリキーを有していないことを判断することと、
前記特定のソースシャード上の第1のデータ項目が前記プライマリキーおよび偽のトゥームストーン属性値を有していることを判断することと、
前記第1のデータ項目の属性値を読取ることと、によって実行される、請求項1〜11のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーに対して取得タイプの動作を前記第2の態様で実行するステップをさらに備え、前記取得タイプの動作は、少なくとも部分的に、
前記シャードの量の変化前の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化前に前記プライマリキーを有するデータ項目が格納された特定のソースシャードを判断することと、
前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記プライマリキーを有するデータ項目が位置することになる特定の宛先シャードを判断することと、
前記特定の宛先シャード上のデータ項目が前記プライマリキーを有していないことを第1の時点で判断することと、
前記特定のソースシャード上のデータ項目が前記プライマリキーを有していないことを判断することと、
前記特定の宛先シャード上の第1のデータ項目が前記プライマリキーおよび偽のトゥームストーン属性値を有していることを第2の時点で判断することと、
前記第1のデータ項目の属性値を読取ることと、によって実行される、請求項1〜12のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目を前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動させるステップは、
システム全体にわたるバージョン番号をインクリメントするステップと、
前記システム全体にわたるバージョン番号よりも小さなバージョン番号を有する各々の第1のデータ項目について、前記シャードの量の変化後の前記複数シャードシステム内のシャードの量に少なくとも部分的に基づいて、前記シャードの量の変化後に前記第1のデータ項目が位置することになる第1の宛先シャードを判断するステップと、
(a)前記システム全体にわたるバージョン番号よりも小さなバージョン番号を有し、(b)前記シャードの量の変化後に第2のデータ項目が位置することになる第2の宛先シャードとは異なるソースシャード上に位置する各々の第2のデータ項目について、前記システム全体にわたるバージョン番号を有する前記第2のデータ項目のコピーを前記第2の宛先シャードに挿入するステップと、
(a)前記システム全体にわたるバージョン番号よりも小さなバージョン番号を有し、(b)前記シャードの量の変化後に第3のデータ項目が位置することになる第3の宛先シャード上にすでに位置している各々の第3のデータ項目について、前記第3のデータ項目のバージョン番号を前記システム全体にわたるバージョン番号に変化させるステップとを備える、請求項1〜13のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目を前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動させるステップは、システム全体にわたるバージョン番号をインクリメントするステップを備え、
前記1つ以上のデータ項目の移動が完了した時点で前記複数シャードシステム内の1つ以上のシャードに対してペンディングになっているクエリセットを判断するステップと、
前記クエリセットにおける全てのクエリが終了するのを待機するステップと、
前記クエリセットにおける全てのクエリが終了した後に、前記システム全体にわたるバージョン番号とは異なるバージョン番号属性値を有する全てのデータ項目コピーを前記複数シャードシステム内の全てのシャードから除去するステップと、
前記クエリセットにおける全てのクエリが終了した後に、真のトゥームストーン属性値を有する全てのデータ項目コピーを前記複数シャードシステム内の全てのシャードから除去するステップとをさらに備える、請求項1〜14のいずれか1項に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記複数シャードシステム内の各々の特定のシャードについて、(a)前記特定のシャード上に位置しかつ(b)指定のクエリ基準を満たすデータ項目を有する前記特定のシャードについての事前結果キューを投入するステップと、
各々の特定のシャードの事前結果キューについて、前記シャードの事前結果キューにおけるデータ項目のプライマリキーに少なくとも部分的に基づいて、前記シャードの事前結果キューにおけるデータ項目を分類するステップと、
空ではないシャードの事前結果キューが存在しなくなるまで、動作を繰返し実行するステップとをさらに備え、前記動作は、
前記複数シャードシステム内の全てのシャードの事前結果キューのトップに現在位置しているデータ項目を備えるセットから第1のデータ項目を選択することを備え、前記複数シャードシステム内の全てのシャードの事前結果キューのトップに現在位置しているデータ項目を備える前記クエリセットから前記第1のデータ項目を選択することは、
前記クエリセットにおけるデータ項目のプライマリキーのうち、最小のプライマリキーを有するデータ項目のサブセットを前記クエリセットから選択することと、
前記サブセットにおけるデータ項目のバージョン番号属性値のうち、最大のバージョン番号属性値を有するデータ項目を前記第1のデータ項目から選択することとを備え、前記動作はさらに、
真のトゥームストーン属性値を有していない各々の第1のデータ項目を最終結果セットに追加することと、
前記第1のデータ項目のプライマリキーに一致するプライマリキーを有する全てのデータ項目コピーを全てのシャードの事前結果キューから除去することと、
全てのシャードの事前結果キューが空になった後に、前記最終結果セットにおけるデータ項目をクエリ結果として返すステップとを備える、請求項15に記載のコンピュータによって実行される方法。 - 前記1つ以上のデータ項目が前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動されている間に、前記クライアントが、プライマリキーを有する第1のデータ項目に対して前記第2の態様で削除タイプの動作を実行しようと試みたり、実行することに失敗したりするステップをさらに備え、前記削除タイプの動作は、少なくとも部分的に、
前記ソースシャード上のデータ項目が前記第1のデータ項目のプライマリキーを有していないことを判断することと、
前記宛先シャード上のデータ項目が前記第1のデータ項目のプライマリキーを有していないことを判断することと、
前記第1のデータ項目が存在していないことにより削除動作が失敗したことを示すデータを生成することと、によって実行される、請求項1〜16のいずれか1項に記載のコンピュータによって実行される方法。 - システムであって、
データ項目を格納する複数のデータベースシャードと、
複数のクライアントとを備え、前記複数のクライアントは、前記複数のデータベースシャードの量の変化に応答して、前記複数のクライアントを通常状態からリバランシング状態に遷移するように構成され、前記通常状態において、クライアントは複数シャードシステムに格納された複数のデータ項目に対して、所定タイプの動作を第1の態様で実行し、前記リバランシング状態において、前記クライアントは前記複数のデータ項目に対して、前記所定タイプの動作を第2の態様で実行し、前記第2の態様は前記第1の態様とは異なっており、前記リバランシング状態において、前記クライアントは前記データ項目のいずれに対する1つ以上の排他的ロックを取得することなく前記所定タイプの動作を実行し、前記リバランシング状態において、前記所定タイプの動作は、前記複数シャードシステム内の第1のシャードおよび前記複数シャードシステム内の第2のシャードに基づいて実行され、前記第1のシャードは、前記複数のデータベースシャードの量の変化前において、前記第1のシャード内の第1のメモリ位置に格納されたデータ項目を含み、当該データ項目は前記複数のデータ項目の1つであり、前記第2のシャードは、前記複数のデータベースシャードの量の変化後において、前記第2のシャード内の第2のメモリ位置に格納されたデータ項目を含み、前記システムはさらに、
少なくとも1つの計算装置を備え、前記少なくとも1つの計算装置は、(a)前記複数のクライアントが前記リバランシング状態にある間に、前記複数のデータ項目の1つ以上のデータ項目について、1つ以上の宛先シャードを決定し、1つ以上のソースシャードは、前記複数のクライアントの各クライアントが前記通常状態にあった間に、前記通常状態における前記1つ以上のデータ項目を格納していたものであり、(b)前記複数のクライアントの各クライアントが前記リバランシング状態にある間に、前記1つ以上のデータ項目を前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動させるように構成される、システム。 - プロセッサによって実行可能な命令を含むコンピュータ読取可能プログラムあって、前記プロセッサによって実行可能な命令は、
複数のシャードを有する複数シャードシステム内のシャードの量の変化が生じたことを1つ以上のプロセッサに判断させるための命令と、
前記シャードの量の変化の判断に応答して、クライアントを通常状態からリバランシング状態に遷移させることを1つ以上のプロセッサにさせるための命令とを備え、前記通常状態において、クライアントは前記複数シャードシステムに格納された複数のデータ項目に対して、所定タイプの動作を第1の態様で実行し、前記リバランシング状態において、前記クライアントは前記複数シャードシステムに格納された前記複数のデータ項目に対して、前記所定タイプの動作を第2の態様で実行し、前記リバランシング状態において、前記クライアントは前記データ項目のいずれに対する1つ以上の排他的ロックを取得することなく前記所定タイプの動作を実行し、前記リバランシング状態において、前記所定タイプの動作は、前記複数シャードシステム内の第1のシャードおよび前記複数シャードシステム内の第2のシャードに基づいて実行され、前記第1のシャードは、前記シャードの量
の変化前において、前記第1のシャード内の第1のメモリ位置に格納されたデータ項目を含み、当該データ項目は前記複数のデータ項目の1つであり、前記第2のシャードは、前記シャードの量の変化後において、前記第2のシャード内の第2のメモリ位置に格納されたデータ項目を含み、前記プロセッサによって実行可能な命令はさらに
前記クライアントが前記リバランシング状態にある間に、前記複数のデータ項目の1つ以上のデータ項目について、1つ以上のソースシャードとは異なる1つ以上の宛先シャードを1つ以上のプロセッサに決定させるための命令を備え、前記1つ以上のソースシャードは、前記クライアントが前記通常状態から前記リバランシング状態に遷移する前の前記通常状態において、当該1つ以上のデータ項目を格納していたものであり、前記プロセッサによって実行可能な命令はさらに
前記クライアントが前記リバランシング状態にある間に、前記1つ以上のデータ項目を前記1つ以上のソースシャードから前記1つ以上の宛先シャードに移動させることを1つ以上のプロセッサにさせるための命令を備える、コンピュータ読取可能プログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361841045P | 2013-06-28 | 2013-06-28 | |
US61/841,045 | 2013-06-28 | ||
US14/226,557 | 2014-03-26 | ||
US14/226,557 US9619545B2 (en) | 2013-06-28 | 2014-03-26 | Naïve, client-side sharding with online addition of shards |
PCT/US2014/043599 WO2014209848A1 (en) | 2013-06-28 | 2014-06-23 | Naive, client-side sharding with online addition of shards |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016524255A JP2016524255A (ja) | 2016-08-12 |
JP2016524255A5 JP2016524255A5 (ja) | 2017-07-06 |
JP6509204B2 true JP6509204B2 (ja) | 2019-05-08 |
Family
ID=52116648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016523825A Active JP6509204B2 (ja) | 2013-06-28 | 2014-06-23 | シャードのオンライン追加によるナイーブなクライアント側シャーディング |
Country Status (5)
Country | Link |
---|---|
US (1) | US9619545B2 (ja) |
EP (1) | EP3014485B1 (ja) |
JP (1) | JP6509204B2 (ja) |
CN (1) | CN105339940B (ja) |
WO (1) | WO2014209848A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10970757B2 (en) | 2010-06-15 | 2021-04-06 | Oracle International Corporation | Organizing data in a virtual computing infrastructure |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715457B2 (en) | 2010-06-15 | 2020-07-14 | Oracle International Corporation | Coordination of processes in cloud computing environments |
EP2812809A4 (en) | 2012-02-10 | 2016-05-25 | Oracle Int Corp | FRAMEWORK FOR CLOUD COMPUTING SERVICES |
US9424330B2 (en) * | 2013-03-15 | 2016-08-23 | Tactile, Inc. | Database sharding by shard levels |
US9619545B2 (en) | 2013-06-28 | 2017-04-11 | Oracle International Corporation | Naïve, client-side sharding with online addition of shards |
US9547711B1 (en) * | 2013-07-22 | 2017-01-17 | Google Inc. | Shard data based on associated social relationship |
US10171501B2 (en) | 2013-09-20 | 2019-01-01 | Open Text Sa Ulc | System and method for remote wipe |
US10824756B2 (en) | 2013-09-20 | 2020-11-03 | Open Text Sa Ulc | Hosted application gateway architecture with multi-level security policy and rule promulgations |
EP2851833B1 (en) | 2013-09-20 | 2017-07-12 | Open Text S.A. | Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations |
US10970285B2 (en) * | 2015-02-26 | 2021-04-06 | Red Hat, Inc. | Grid topology change in a distributed data grid when iterating on the contents of the data grid |
US11829349B2 (en) * | 2015-05-11 | 2023-11-28 | Oracle International Corporation | Direct-connect functionality in a distributed database grid |
US11593075B2 (en) | 2015-11-03 | 2023-02-28 | Open Text Sa Ulc | Streamlined fast and efficient application building and customization systems and methods |
US10642813B1 (en) * | 2015-12-14 | 2020-05-05 | Amazon Technologies, Inc. | Techniques and systems for storage and processing of operational data |
US10248793B1 (en) * | 2015-12-16 | 2019-04-02 | Amazon Technologies, Inc. | Techniques and systems for durable encryption and deletion in data storage systems |
US11388037B2 (en) | 2016-02-25 | 2022-07-12 | Open Text Sa Ulc | Systems and methods for providing managed services |
US20170371910A1 (en) * | 2016-06-28 | 2017-12-28 | Microsoft Technology Licensing, Llc | Real-time shard rebalancing for versioned entity repository |
US11138178B2 (en) * | 2016-11-10 | 2021-10-05 | Futurewei Technologies, Inc. | Separation of computation from storage in database for better elasticity |
US20190005066A1 (en) * | 2017-06-29 | 2019-01-03 | International Business Machines Corporation | Multi-tenant data service in distributed file systems for big data analysis |
US10719446B2 (en) | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US10732836B2 (en) | 2017-09-29 | 2020-08-04 | Oracle International Corporation | Remote one-sided persistent writes |
US10956335B2 (en) | 2017-09-29 | 2021-03-23 | Oracle International Corporation | Non-volatile cache access using RDMA |
US10802766B2 (en) | 2017-09-29 | 2020-10-13 | Oracle International Corporation | Database with NVDIMM as persistent storage |
CN108228326A (zh) * | 2017-12-29 | 2018-06-29 | 深圳乐信软件技术有限公司 | 批量任务处理方法和分布式系统 |
US10931450B1 (en) * | 2018-04-27 | 2021-02-23 | Pure Storage, Inc. | Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers |
CN109634949B (zh) * | 2018-12-28 | 2022-04-12 | 浙江大学 | 一种基于多数据版本的混合数据清洗方法 |
US10996887B2 (en) * | 2019-04-29 | 2021-05-04 | EMC IP Holding Company LLC | Clustered storage system with dynamic space assignments across processing modules to counter unbalanced conditions |
CN110968265B (zh) * | 2019-11-05 | 2023-08-08 | 北京字节跳动网络技术有限公司 | 分片扩容方法、装置及电子设备 |
US12045262B2 (en) | 2022-08-10 | 2024-07-23 | Discover Financial Services | Reconciliation systems and methods for unbounded streams |
WO2024035825A1 (en) * | 2022-08-10 | 2024-02-15 | Discover Financial Services | Reconciliation systems and methods for unbounded streams |
US12019642B2 (en) | 2022-11-11 | 2024-06-25 | Microsoft Technology Licensing, Llc | Distributed query technique to efficiently retrieve and merge data from multiple shards |
Family Cites Families (152)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4086628A (en) | 1971-11-10 | 1978-04-25 | International Business Machines Corporation | Directory generation system having efficiency increase with sorted input |
JPH04130950A (ja) | 1990-09-21 | 1992-05-01 | Toshiba Corp | ネットワークシステム |
US5463774A (en) | 1993-06-28 | 1995-10-31 | Digital Equipment Corporation | Object oriented computer architecture using directory objects |
US6038586A (en) | 1993-12-30 | 2000-03-14 | Frye; Russell | Automated software updating and distribution |
US5832505A (en) | 1997-04-02 | 1998-11-03 | Sun Microsystems, Inc. | Computer system for managing and configuring application properties and enabling system administrator to override certain user-set or host properties |
US6772350B1 (en) | 1998-05-15 | 2004-08-03 | E.Piphany, Inc. | System and method for controlling access to resources in a distributed environment |
US6473800B1 (en) | 1998-07-15 | 2002-10-29 | Microsoft Corporation | Declarative permission requests in a computer system |
CA2345241A1 (en) | 1998-09-22 | 2000-03-30 | Science Applications International Corporation | User-defined dynamic collaborative environments |
US6633984B2 (en) | 1999-01-22 | 2003-10-14 | Sun Microsystems, Inc. | Techniques for permitting access across a context barrier on a small footprint device using an entry point object |
US6892230B1 (en) | 1999-06-11 | 2005-05-10 | Microsoft Corporation | Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages |
US7093005B2 (en) | 2000-02-11 | 2006-08-15 | Terraspring, Inc. | Graphical editor for defining and creating a computer system |
US7269185B2 (en) | 2000-05-22 | 2007-09-11 | Nortel Networks Limited | Management and control of multi-layer networks |
US20030055652A1 (en) | 2000-07-07 | 2003-03-20 | Jeffrey Nichols | Private network exchange with multiple service providers, having a portal, collaborative applications, and a directory service |
US7725602B2 (en) | 2000-07-19 | 2010-05-25 | Akamai Technologies, Inc. | Domain name resolution using a distributed DNS network |
US7200865B1 (en) | 2000-12-01 | 2007-04-03 | Sprint Communications Company L.P. | Method and system for communication control in a computing environment |
US20040024892A1 (en) | 2001-05-21 | 2004-02-05 | Creswell Carroll W. | System for providing sequenced communications within a group |
US6944785B2 (en) | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US20030037284A1 (en) | 2001-08-15 | 2003-02-20 | Anand Srinivasan | Self-monitoring mechanism in fault-tolerant distributed dynamic network systems |
US7574496B2 (en) | 2001-11-30 | 2009-08-11 | Surgient, Inc. | Virtual server cloud interfacing |
US7418426B1 (en) | 2002-05-20 | 2008-08-26 | Microsoft Corporation | System and method providing rules driven subscription event processing |
US6950825B2 (en) | 2002-05-30 | 2005-09-27 | International Business Machines Corporation | Fine grained role-based access to system resources |
US7461158B2 (en) | 2002-08-07 | 2008-12-02 | Intelliden, Inc. | System and method for controlling access rights to network resources |
US20040139021A1 (en) | 2002-10-07 | 2004-07-15 | Visa International Service Association | Method and system for facilitating data access and management on a secure token |
US7567510B2 (en) | 2003-02-13 | 2009-07-28 | Cisco Technology, Inc. | Security groups |
US20040184070A1 (en) | 2003-03-18 | 2004-09-23 | Microsoft Corporation | Network printer connection update scheme for printer clients |
FR2854521A1 (fr) | 2003-04-30 | 2004-11-05 | Orange France | Dispositif de communications pour vehicule terrestre |
US7788489B2 (en) | 2003-05-06 | 2010-08-31 | Oracle International Corporation | System and method for permission administration using meta-permissions |
US7516221B2 (en) | 2003-08-14 | 2009-04-07 | Oracle International Corporation | Hierarchical management of the dynamic allocation of resources in a multi-node system |
US7475419B1 (en) | 2003-09-19 | 2009-01-06 | Hewlett-Packard Development Company, L.P. | System and method for controlling access in an interactive grid environment |
US20050065855A1 (en) | 2003-09-23 | 2005-03-24 | Extreming, Inc. | Virtual server consumer authorization, verification and credit update method and article |
US7225210B2 (en) | 2003-11-20 | 2007-05-29 | Overland Storage, Inc. | Block level data snapshot system and method |
JP2005242586A (ja) | 2004-02-25 | 2005-09-08 | Fuji Xerox Co Ltd | 文書ビュー提供のためのプログラム、装置、システム及び方法 |
US7734643B1 (en) * | 2004-06-30 | 2010-06-08 | Oracle America, Inc. | Method for distributed storage of data |
EP1785002B1 (en) | 2004-08-28 | 2008-10-29 | Telefonaktiebolaget LM Ericsson (publ) | An arrangement and a method in communication networks |
US8464250B1 (en) | 2004-09-23 | 2013-06-11 | Transcontinental Events, Llc | System and method for on-demand cloning of virtual machines |
US7706895B2 (en) | 2005-02-25 | 2010-04-27 | Rockwell Automation Technologies, Inc. | Reliable messaging instruction |
US20110016214A1 (en) | 2009-07-15 | 2011-01-20 | Cluster Resources, Inc. | System and method of brokering cloud computing resources |
US20060259947A1 (en) | 2005-05-11 | 2006-11-16 | Nokia Corporation | Method for enforcing a Java security policy in a multi virtual machine system |
US7921452B2 (en) | 2005-08-23 | 2011-04-05 | The Boeing Company | Defining consistent access control policies |
US8429630B2 (en) | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
US20070072591A1 (en) | 2005-09-23 | 2007-03-29 | Mcgary Faith | Enhanced directory assistance system and method including location search functions |
US20070162456A1 (en) | 2005-12-30 | 2007-07-12 | Shai Agassi | Method and system for providing context based content for computer applications |
US8707290B2 (en) | 2006-02-22 | 2014-04-22 | Dell Products L.P. | Firmware update in an information handling system employing redundant management modules |
US20110096174A1 (en) | 2006-02-28 | 2011-04-28 | King Martin T | Accessing resources based on capturing information from a rendered document |
US7801128B2 (en) | 2006-03-31 | 2010-09-21 | Amazon Technologies, Inc. | Managing communications between computing nodes |
US20070255798A1 (en) | 2006-04-26 | 2007-11-01 | Sap Ag | Brokered virtualized application execution |
US20080052203A1 (en) | 2006-08-25 | 2008-02-28 | David Beyer | Design and management of an online environment that serves hierarchical community networks |
US8380880B2 (en) | 2007-02-02 | 2013-02-19 | The Mathworks, Inc. | Scalable architecture |
US7975024B2 (en) | 2007-02-14 | 2011-07-05 | Yakov Nudler | Virtual personal computer access over multiple network sites |
US9069883B2 (en) | 2007-03-17 | 2015-06-30 | Samsung Electronics Co., Ltd. | Document management method and document management apparatus using the same |
US8347263B1 (en) | 2007-05-09 | 2013-01-01 | Vmware, Inc. | Repository including installation metadata for executable applications |
US8577937B1 (en) | 2007-05-09 | 2013-11-05 | Vmware, Inc. | Repository including exclusion list |
US7958246B2 (en) | 2007-08-09 | 2011-06-07 | Kount Inc. | Establishing unique sessions for DNS subscribers |
JP5083090B2 (ja) | 2007-09-18 | 2012-11-28 | ソニー株式会社 | 表示制御装置、撮像装置、表示制御方法およびプログラム |
WO2009048609A1 (en) | 2007-10-12 | 2009-04-16 | Vkernel Corporation | Method, system and apparatus for calculating chargeback for virtualized computing resources |
US20090182622A1 (en) | 2008-01-15 | 2009-07-16 | Agarwal Amit D | Enhancing and storing data for recall and use |
US20100070501A1 (en) | 2008-01-15 | 2010-03-18 | Walsh Paul J | Enhancing and storing data for recall and use using user feedback |
US20090210429A1 (en) * | 2008-02-19 | 2009-08-20 | Yahoo! Inc. | System and method for asynchronous update of indexes in a distributed database |
US8776188B2 (en) | 2008-03-13 | 2014-07-08 | Microsoft Corporation | Remote desktop access |
US8484174B2 (en) | 2008-03-20 | 2013-07-09 | Microsoft Corporation | Computing environment representation |
CN103401952B (zh) | 2008-03-31 | 2018-04-20 | 亚马逊技术有限公司 | 配置计算机节点之间的通信 |
US8627111B2 (en) | 2008-04-23 | 2014-01-07 | Hewlett-Packard Development Company, L.P. | Managing associations between keys and values |
US8972978B2 (en) | 2008-05-02 | 2015-03-03 | Skytap | Multitenant hosted virtual machine infrastructure |
US7886038B2 (en) | 2008-05-27 | 2011-02-08 | Red Hat, Inc. | Methods and systems for user identity management in cloud-based networks |
US8849971B2 (en) | 2008-05-28 | 2014-09-30 | Red Hat, Inc. | Load balancing in cloud-based networks |
US8688622B2 (en) * | 2008-06-02 | 2014-04-01 | The Boeing Company | Methods and systems for loading data into a temporal data warehouse |
US8548428B2 (en) | 2009-01-28 | 2013-10-01 | Headwater Partners I Llc | Device group partitions and settlement platform |
US9069599B2 (en) | 2008-06-19 | 2015-06-30 | Servicemesh, Inc. | System and method for a cloud computing abstraction layer with security zone facilities |
US20090319529A1 (en) | 2008-06-20 | 2009-12-24 | Raytheon Company | Information Rights Management |
EP2313819A2 (en) | 2008-07-14 | 2011-04-27 | The Regents of the University of California | Architecture to enable energy savings in networked computers |
US7631306B1 (en) | 2008-07-30 | 2009-12-08 | International Business Machines Corporation | System and method for network image propagation without a predefined network |
US8201175B2 (en) | 2008-08-05 | 2012-06-12 | International Business Machines Corporation | Creating and associating a virtual pseudo TTY with a running process |
US20100036736A1 (en) | 2008-08-08 | 2010-02-11 | Expresso Fitness Corp. | System and method for revenue sharing with a fitness center |
US8250215B2 (en) | 2008-08-12 | 2012-08-21 | Sap Ag | Method and system for intelligently leveraging cloud computing resources |
US7890626B1 (en) | 2008-09-11 | 2011-02-15 | Gadir Omar M A | High availability cluster server for enterprise data management |
US8340088B2 (en) | 2008-09-11 | 2012-12-25 | Juniper Networks, Inc. | Methods and apparatus related to a low cost data center architecture |
US8065714B2 (en) | 2008-09-12 | 2011-11-22 | Hytrust, Inc. | Methods and systems for securely managing virtualization platform |
US20100114714A1 (en) | 2008-10-31 | 2010-05-06 | James Gerard Vitek | Method and system for sharing revenue of an application platform |
US8341141B2 (en) | 2008-12-16 | 2012-12-25 | Krislov Clinton A | Method and system for automated document registration |
US7996525B2 (en) | 2008-12-31 | 2011-08-09 | Sap Ag | Systems and methods for dynamically provisioning cloud computing resources |
US8019837B2 (en) | 2009-01-14 | 2011-09-13 | International Business Machines Corporation | Providing network identity for virtual machines |
US20100185455A1 (en) | 2009-01-16 | 2010-07-22 | Green Networks, Inc. | Dynamic web hosting and content delivery environment |
US9344401B2 (en) | 2009-02-04 | 2016-05-17 | Citrix Systems, Inc. | Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment |
US9727320B2 (en) | 2009-02-25 | 2017-08-08 | Red Hat, Inc. | Configuration of provisioning servers in virtualized systems |
US20100220622A1 (en) | 2009-02-27 | 2010-09-02 | Yottaa Inc | Adaptive network with automatic scaling |
US9207984B2 (en) | 2009-03-31 | 2015-12-08 | Amazon Technologies, Inc. | Monitoring and automatic scaling of data volumes |
US8713060B2 (en) | 2009-03-31 | 2014-04-29 | Amazon Technologies, Inc. | Control service for relational data management |
US8291416B2 (en) | 2009-04-17 | 2012-10-16 | Citrix Systems, Inc. | Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution |
US8073875B2 (en) * | 2009-04-22 | 2011-12-06 | International Business Machines Corporation | Managing deleted directory entries |
US8285754B2 (en) * | 2009-04-22 | 2012-10-09 | International Business Machines Corporation | Preserving references to deleted directory entries |
CN102460393B (zh) | 2009-05-01 | 2014-05-07 | 思杰系统有限公司 | 用于在虚拟存储资源之间建立云桥的系统和方法 |
US20100332629A1 (en) | 2009-06-04 | 2010-12-30 | Lauren Ann Cotugno | Secure custom application cloud computing architecture |
US8037108B1 (en) | 2009-07-22 | 2011-10-11 | Adobe Systems Incorporated | Conversion of relational databases into triplestores |
US8135771B2 (en) | 2009-07-27 | 2012-03-13 | Cisco Technology, Inc. | Digital signal processor clustering in integrated media-services gateways |
US8769083B2 (en) | 2009-08-31 | 2014-07-01 | Red Hat, Inc. | Metering software infrastructure in a cloud computing environment |
US8504443B2 (en) | 2009-08-31 | 2013-08-06 | Red Hat, Inc. | Methods and systems for pricing software infrastructure for a cloud computing environment |
US8886788B2 (en) | 2009-08-31 | 2014-11-11 | Accenture Global Services Limited | Enterprise-level management, control and information aspects of cloud console |
US8276139B2 (en) | 2009-09-30 | 2012-09-25 | International Business Machines Corporation | Provisioning virtual machine placement |
US8676753B2 (en) | 2009-10-26 | 2014-03-18 | Amazon Technologies, Inc. | Monitoring of replicated data instances |
US8650246B2 (en) | 2009-10-29 | 2014-02-11 | Fujitsu Technology Solutions Intellectual Property Gmbh | Method and system for licensing a software product |
US8250213B2 (en) | 2009-11-16 | 2012-08-21 | At&T Intellectual Property I, L.P. | Methods and apparatus to allocate resources associated with a distributive computing network |
US20110126197A1 (en) | 2009-11-25 | 2011-05-26 | Novell, Inc. | System and method for controlling cloud and virtualized data centers in an intelligent workload management system |
US20110126168A1 (en) | 2009-11-25 | 2011-05-26 | Crowdsource Technologies Ltd. | Cloud plarform for managing software as a service (saas) resources |
US8108377B2 (en) | 2009-12-15 | 2012-01-31 | Facebook, Inc. | Predictive resource identification and phased delivery of structured documents |
US8301746B2 (en) | 2010-01-26 | 2012-10-30 | International Business Machines Corporation | Method and system for abstracting non-functional requirements based deployment of virtual machines |
US8468455B2 (en) | 2010-02-24 | 2013-06-18 | Novell, Inc. | System and method for providing virtual desktop extensions on a client desktop |
US20110214124A1 (en) | 2010-02-26 | 2011-09-01 | James Michael Ferris | Systems and methods for generating cross-cloud computing appliances |
US20110213687A1 (en) | 2010-02-26 | 2011-09-01 | James Michael Ferris | Systems and methods for or a usage manager for cross-cloud appliances |
US8122282B2 (en) | 2010-03-12 | 2012-02-21 | International Business Machines Corporation | Starting virtual instances within a cloud computing environment |
US8464255B2 (en) | 2010-03-12 | 2013-06-11 | Microsoft Corporation | Managing performance interference effects on cloud computing servers |
US8341269B2 (en) | 2010-03-19 | 2012-12-25 | International Business Machines Corporation | Configuring cloud resources |
US8413142B2 (en) | 2010-03-30 | 2013-04-02 | Citrix Systems, Inc. | Storage optimization selection within a virtualization environment |
US8332517B2 (en) | 2010-03-31 | 2012-12-11 | Incnetworks, Inc. | Method, computer program, and algorithm for computing network service value pricing based on communication service experiences delivered to consumers and merchants over a smart multi-services (SMS) communication network |
US8965801B2 (en) | 2010-03-31 | 2015-02-24 | International Business Machines Corporation | Provision of support services as a service |
CA2737631C (en) | 2010-04-18 | 2014-07-15 | Layer 7 Technologies Inc. | Protected application stack and method and system of utilizing |
US8472438B2 (en) | 2010-04-23 | 2013-06-25 | Telefonaktiebolaget L M Ericsson (Publ) | Efficient encapsulation of packets transmitted on a packet-pseudowire over a packet switched network |
US8813065B2 (en) | 2010-04-26 | 2014-08-19 | Vmware, Inc. | Microcloud platform delivery system |
US8627426B2 (en) | 2010-04-26 | 2014-01-07 | Vmware, Inc. | Cloud platform architecture |
US9772831B2 (en) | 2010-04-26 | 2017-09-26 | Pivotal Software, Inc. | Droplet execution engine for dynamic server application deployment |
US8984589B2 (en) | 2010-04-27 | 2015-03-17 | Accenture Global Services Limited | Cloud-based billing, credential, and data sharing management system |
US20110270721A1 (en) | 2010-04-28 | 2011-11-03 | Sap Ag | Monitoring application interactions with enterprise systems |
US20110270968A1 (en) | 2010-04-30 | 2011-11-03 | Salsburg Michael A | Decision support system for moving computing workloads to public clouds |
US9075663B2 (en) | 2010-05-12 | 2015-07-07 | Samsung Electronics Co., Ltd. | Cloud-based web workers and storages |
US8849749B2 (en) * | 2010-05-14 | 2014-09-30 | Oracle International Corporation | Load balancing in parallel database systems using multi-reordering |
US8910278B2 (en) | 2010-05-18 | 2014-12-09 | Cloudnexa | Managing services in a cloud computing environment |
US8504689B2 (en) | 2010-05-28 | 2013-08-06 | Red Hat, Inc. | Methods and systems for cloud deployment analysis featuring relative cloud resource importance |
US8909783B2 (en) | 2010-05-28 | 2014-12-09 | Red Hat, Inc. | Managing multi-level service level agreements in cloud-based network |
US9785472B2 (en) | 2010-06-11 | 2017-10-10 | Hewlett Packard Enterprise Development Lp | Computing cluster performance simulation using a genetic algorithm solution |
US10715457B2 (en) | 2010-06-15 | 2020-07-14 | Oracle International Corporation | Coordination of processes in cloud computing environments |
WO2011159842A2 (en) | 2010-06-15 | 2011-12-22 | Nimbula, Inc. | Virtual computing infrastructure |
EP2586155A4 (en) | 2010-06-23 | 2017-06-07 | Hewlett-Packard Enterprise Development LP | Authorization control |
US20120221603A1 (en) | 2010-07-02 | 2012-08-30 | salesforces.com, Inc. | Distributed mobile services |
EP2591423A4 (en) | 2010-07-09 | 2017-05-24 | State Street Corporation | Systems and methods for private cloud computing |
US8341462B2 (en) | 2010-07-19 | 2012-12-25 | Soasta, Inc. | System and method for provisioning and running a cross-cloud test grid |
US8812627B2 (en) | 2010-08-20 | 2014-08-19 | Adobe Systems Incorporated | System and method for installation and management of cloud-independent multi-tenant applications |
US8515915B2 (en) | 2010-09-24 | 2013-08-20 | Hitachi Data Systems Corporation | System and method for enhancing availability of a distributed object storage system during a partial database outage |
US8918645B2 (en) | 2010-09-24 | 2014-12-23 | Amazon Technologies, Inc. | Content selection and delivery for random devices |
US9235442B2 (en) | 2010-10-05 | 2016-01-12 | Accenture Global Services Limited | System and method for cloud enterprise services |
CN101969475A (zh) | 2010-11-15 | 2011-02-09 | 张军 | 基于云计算的商业数据可控分发与融合应用系统 |
US8880475B2 (en) | 2011-04-08 | 2014-11-04 | International Business Machines Corporation | Reusing snapshots in a network data management protocol backup operation |
US8554726B2 (en) * | 2011-06-01 | 2013-10-08 | Clustrix, Inc. | Systems and methods for reslicing data in a relational database |
US9208201B2 (en) | 2011-06-03 | 2015-12-08 | Apple Inc. | Cloud storage |
US20130036213A1 (en) | 2011-08-02 | 2013-02-07 | Masum Hasan | Virtual private clouds |
US10158638B2 (en) | 2011-08-31 | 2018-12-18 | Salesforce.Com, Inc. | Computer implemented methods and apparatus for providing access to an online social network |
US8429162B1 (en) * | 2011-09-27 | 2013-04-23 | Amazon Technologies, Inc. | Facilitating data redistribution in database sharding |
US8584215B2 (en) | 2012-02-07 | 2013-11-12 | Cisco Technology, Inc. | System and method for securing distributed exporting models in a network environment |
EP2812809A4 (en) | 2012-02-10 | 2016-05-25 | Oracle Int Corp | FRAMEWORK FOR CLOUD COMPUTING SERVICES |
JP6231020B2 (ja) | 2012-02-13 | 2017-11-15 | オラクル・インターナショナル・コーポレイション | クラウドコンピューティング環境におけるプロセスの調整 |
US8438654B1 (en) | 2012-09-14 | 2013-05-07 | Rightscale, Inc. | Systems and methods for associating a virtual machine with an access control right |
US9232000B1 (en) * | 2012-12-21 | 2016-01-05 | Emc Corporation | Method and system for balancing load across target endpoints on a server and initiator endpoints accessing the server |
US9619545B2 (en) | 2013-06-28 | 2017-04-11 | Oracle International Corporation | Naïve, client-side sharding with online addition of shards |
CN103488697B (zh) * | 2013-09-03 | 2017-01-11 | 沈效国 | 能自动收集和交换碎片化商业信息的系统及移动终端 |
-
2014
- 2014-03-26 US US14/226,557 patent/US9619545B2/en active Active
- 2014-06-23 EP EP14740064.2A patent/EP3014485B1/en active Active
- 2014-06-23 CN CN201480036405.9A patent/CN105339940B/zh active Active
- 2014-06-23 WO PCT/US2014/043599 patent/WO2014209848A1/en active Application Filing
- 2014-06-23 JP JP2016523825A patent/JP6509204B2/ja active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10970757B2 (en) | 2010-06-15 | 2021-04-06 | Oracle International Corporation | Organizing data in a virtual computing infrastructure |
US11657436B2 (en) | 2010-06-15 | 2023-05-23 | Oracle International Corporation | Managing storage volume in a virtual computing infrastructure |
Also Published As
Publication number | Publication date |
---|---|
EP3014485A1 (en) | 2016-05-04 |
CN105339940B (zh) | 2019-02-26 |
WO2014209848A1 (en) | 2014-12-31 |
US9619545B2 (en) | 2017-04-11 |
EP3014485B1 (en) | 2019-05-22 |
JP2016524255A (ja) | 2016-08-12 |
US20150006482A1 (en) | 2015-01-01 |
CN105339940A (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6509204B2 (ja) | シャードのオンライン追加によるナイーブなクライアント側シャーディング | |
US11907732B2 (en) | Leveraging microservice containers to provide tenant isolation in a multi-tenant API gateway | |
US10331463B2 (en) | Dynamic role-based view definitions in a repository system | |
US10244070B2 (en) | In-memory message sequencing | |
US10223024B2 (en) | Storage controller for provisioning storage services for an application based upon application-specific requirements | |
US9600342B2 (en) | Managing parallel processes for application-level partitions | |
US10346632B2 (en) | Entity security implied by an asset in a repository system | |
US10614048B2 (en) | Techniques for correlating data in a repository system | |
US20180081643A1 (en) | Controlled availability of objects in a visual design tool for integration development | |
US20150074056A1 (en) | Extensible customization migration via pluggable interface | |
US11934395B2 (en) | Efficient extraction of large data sets from a database | |
US11836519B2 (en) | Decoupled push-down execution generator | |
US11921726B2 (en) | Logical partitions via header-based partition filtering | |
US11966754B2 (en) | Cluster bootstrapping for distributed computing systems | |
US10055448B2 (en) | Techniques to reduce contention windows | |
US9898488B2 (en) | Preserving deprecated database columns |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170525 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180731 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20181031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190219 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190402 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6509204 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |