(57)【要約】  ストレージデバイスに結合され、かつ、ホストデバイスから遠く離れて配置される、ストレージ制御デバイスが、ホストデバイスからメディアオブジェクトデータを受信する。ストレージ制御デバイスは、メディアオブジェクトデータのタイプを識別し、識別されたタイプに基づいて、ストレージ制御デバイスの計算エンジンにより使用される複数の計算モデルの中から計算モデルを選択する。計算エンジンは、選択された計算モデルを使用して、メディアオブジェクトデータを記述するメタデータを生成する。メタデータは、メディアオブジェクトデータとは別個にストレージデバイスから選択的に検索できるようにストレージデバイスに記憶される。
2021533446.tif 000002
【特許請求の範囲】
【請求項１】
メディアオブジェクトデータを記憶および管理するための方法であって、
ストレージ制御デバイスでメディアオブジェクトデータを受信する段階であって、前記ストレージ制御デバイスは、ホストデバイスから遠く離れてストレージエッジに配置され、ストレージデバイスに結合される、段階と、
前記ストレージ制御デバイスで、前記ストレージ制御デバイスの制御回路を使用して前記メディアオブジェクトデータのタイプを識別する段階と、
前記ストレージ制御デバイスで、前記識別されたタイプに基づいて、前記ストレージ制御デバイスの計算エンジンにより使用される複数の計算モデルの中から計算モデルを選択する段階と、
前記計算エンジンが、前記選択された計算モデルを使用して、前記メディアオブジェクトデータを記述するメタデータを生成する段階と、
前記生成されたメタデータを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから選択的に検索できるように記憶するために、前記生成されたメタデータを前記ストレージデバイスに提供する段階と
を備える方法。
【請求項２】
前記選択された計算モデルと関連付けられる入力データインタフェースパラメータを検索する段階であって、前記入力データインタフェースパラメータは、前記選択された計算モデルが構成されるデータ形式を識別する、段階と、
前記入力データインタフェースパラメータを使用して前記ストレージエッジで前記メディアオブジェクトデータにアクセスする段階と、
前記メディアオブジェクトデータを前記識別されたデータ形式に変換する段階と
を更に備える請求項１に記載の方法。
【請求項３】
前記ストレージ制御デバイスが、前記選択された計算モデルと関連付けられるハードウェアインタフェースパラメータを検索する段階と、
前記ハードウェアインタフェースパラメータをハードウェアインタフェースに適用する段階と、
前記ストレージエッジで、前記ハードウェアインタフェースを使用して第１物理的接続から前記メディアオブジェクトデータにアクセスする段階と、
前記ハードウェアインタフェースを使用して第２物理的接続を介して前記ストレージデバイスに前記メディアオブジェクトデータおよびメタデータを記憶する段階と
を更に備える請求項１または２に記載の方法。
【請求項４】
前記メディアオブジェクトデータは暗号化され、前記方法は、
前記ストレージ制御デバイスが、前記選択された計算モデルと関連付けられる復号パラメータを検索する段階と、
前記ストレージエッジで、前記復号パラメータを使用して前記メディアオブジェクトデータを復号する段階と
を更に備える、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記メディアオブジェクトデータは、前記ストレージデバイスから検索され、前記方法は、
前記メタデータを生成するために使用される前記計算モデルを識別する段階であって、前記計算モデルは第１計算モデルであり、前記メタデータは第１メタデータである、段階と、
前記第１計算モデルとは異なる第２計算モデルを選択して、前記第１メタデータとは異なる第２メタデータを生成する段階と、
前記第１メタデータおよび前記メディアオブジェクトデータから選択的に検索できるように前記第２メタデータを記憶する段階と
を更に備える、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記第１メタデータと前記第２メタデータとを組み合わせて、組み合わされたメタデータを生成する段階と、
前記組み合わされたメタデータを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから選択的に検索できるように記憶するために、前記組み合わされたメタデータを前記ストレージデバイスに提供する段階と
を更に備える請求項５に記載の方法。
【請求項７】
前記ストレージエッジで、１または複数の基準を満たすメディアオブジェクトデータの要求を前記ホストデバイスから受信する段階を更に備える請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記１または複数の基準を満たすメディアオブジェクトデータの前記要求に応答して、
前記メディアオブジェクトデータを記述する前記メタデータのみを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから検索する段階と、
前記検索されたメタデータに基づいて、前記１または複数の基準を満たす前記メディアオブジェクトデータの１または複数の部分を識別する段階と、
前記ストレージエッジで、前記メディアオブジェクトデータの前記識別された１または複数の部分のみを、前記メディアオブジェクトデータを記述する前記メタデータとは別個に前記ストレージデバイスから検索する段階と
を更に備える請求項７に記載の方法。
【請求項９】
前記メディアオブジェクトデータのコピーを生成する段階と、
前記ストレージ制御デバイスが、前記メディアオブジェクトデータを、記憶するために前記ストレージデバイスに提供すること、および、前記メディアオブジェクトデータの前記コピーを、処理してメタデータを生成するために前記計算エンジンに提供することを同時に行う段階と
を更に備える請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記メディアオブジェクトデータおよび前記メタデータを、互いに別々に選択的に検索できるように論理的に分離された方式で記憶する段階
を更に備える請求項１から９のいずれか一項に記載の方法。
【請求項１１】
ホストデバイスから遠く離れてストレージエッジに配置され、かつ、１または複数のストレージデバイスに結合される、データストレージコントローラであって、
前記１または複数のストレージデバイスのストレージデバイスに対してローカルな制御回路であって、
メディアオブジェクトデータを、前記ストレージデバイスに記憶するために受信し、かつ、
前記メディアオブジェクトデータのタイプを識別する
ように構成される制御回路と、
前記制御回路と関連付けられる計算エンジンであって、
前記識別されたタイプに少なくとも基づいて、前記計算エンジンにより使用される複数の計算モデルの中から計算モデルを選択して、前記メディアオブジェクトデータを記述するメタデータを生成し、
前記選択された計算モデルを使用して、前記メディアオブジェクトデータを記述するメタデータを生成し、かつ、
前記生成されたメタデータを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから選択的に検索できるように記憶するために、前記生成されたメタデータを前記ストレージデバイスに提供する
ように構成される計算エンジンと
を備えるデータストレージコントローラ。
【請求項１２】
前記制御回路は、
前記選択された計算モデルと関連付けられる入力データインタフェースパラメータを検索することであって、前記入力データインタフェースパラメータは、前記選択された計算モデルが構成される形式を識別する、検索することと、
前記入力データインタフェースパラメータを使用して前記ストレージエッジで前記メディアオブジェクトデータにアクセスすることと、
前記メディアオブジェクトデータを前記識別されたデータ形式に変換することと
を行うように更に構成される、請求項１１に記載のデータストレージコントローラ。
【請求項１３】
前記制御回路は、
前記選択された計算モデルと関連付けられるハードウェアインタフェースパラメータを検索し、
前記ハードウェアインタフェースパラメータをハードウェアインタフェースに適用し、
前記ストレージエッジで、前記ハードウェアインタフェースを使用して第１物理的接続を介して前記メディアオブジェクトデータにアクセスし、かつ、
前記ハードウェアインタフェースを使用して第２物理的接続を介して前記ストレージデバイスに前記メディアオブジェクトデータおよびメタデータを記憶する
ように更に構成される、請求項１１または１２に記載のデータストレージコントローラ。
【請求項１４】
前記制御回路は、
前記選択された計算モデルと関連付けられる復号パラメータを検索し、かつ、
前記ストレージエッジで、前記復号パラメータを使用して前記メディアオブジェクトデータを復号する
ように更に構成される、請求項１１から１３のいずれか一項に記載のデータストレージコントローラ。
【請求項１５】
前記メディアオブジェクトデータは、前記ストレージデバイスから検索され、前記制御回路は、
前記メタデータを生成するために使用される前記計算モデルを識別することであって、前記計算モデルは第１計算モデルであり、前記メタデータは第１メタデータである、識別することと、
前記第１計算モデルとは異なる第２計算モデルを選択して、前記第１メタデータとは異なる第２メタデータを生成することと、
前記第１メタデータおよび前記メディアオブジェクトデータから選択的に検索できるように前記第２メタデータを記憶することと
を行うように更に構成される、請求項１１から１４のいずれか一項に記載のデータストレージコントローラ。
【請求項１６】
前記制御回路は、
前記第１メタデータと前記第２メタデータとを組み合わせて、組み合わされたメタデータを生成し、かつ、
前記組み合わされたメタデータを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから選択的に検索できるように記憶するために、前記組み合わされたメタデータを前記ストレージデバイスに提供する
ように更に構成される、請求項１５に記載のデータストレージコントローラ。
【請求項１７】
前記制御回路は、１または複数の基準を満たすメディアオブジェクトデータの要求を前記ホストデバイスから受信するように更に構成される、請求項１１から１６のいずれか一項に記載のデータストレージコントローラ。
【請求項１８】
前記制御回路は、
１または複数の基準を満たすメディアオブジェクトデータの前記要求に応答して、
前記メディアオブジェクトデータを記述する前記メタデータのみを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから検索し、
前記検索されたメタデータに基づいて、前記１または複数の基準を満たす前記メディアオブジェクトデータの１または複数の部分を識別し、かつ、
前記メディアオブジェクトデータの前記識別された１または複数の部分のみを、前記メディアオブジェクトデータを記述する前記メタデータとは別個に前記ストレージデバイスから検索する
ように更に構成される、請求項１７に記載のデータストレージコントローラ。
【請求項１９】
前記制御回路は、
前記メディアオブジェクトデータのコピーを生成し、かつ、
前記メディアオブジェクトデータを、記憶するために前記ストレージデバイスに提供すること、および、前記メディアオブジェクトデータの前記コピーを、処理してメタデータを生成するために前記計算エンジンに提供することを同時に行う
ように更に構成される、請求項１１から１８のいずれか一項に記載のデータストレージコントローラ。
【請求項２０】
前記制御回路は、前記メディアオブジェクトデータおよび前記メタデータを、互いに別々に選択的に検索できるように論理的に分離された方式で記憶するように更に構成される、請求項１１から１９のいずれか一項に記載のデータストレージコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本開示は、同時係属の共通に付与された、２０１８年７月３１日に出願された米国仮出願第６２／７１２，８２３号、２０１８年８月３日に出願された米国仮出願第６２／７１４，５６３号、２０１８年８月８日に出願された米国仮出願第６２／７１６，２６９号、２０１８年９月４日に出願された米国仮出願第６２／７２６，８４７号、および２０１８年９月４日に出願された米国仮出願第６２／７２６，８５２号の米国特許法第１１９条（ｅ）に基づく利益を主張するものである。以下の共通に付与された米国非仮特許出願の各々も、前述の米国仮特許出願の利益を主張するものであり、これと同時に出願されている。
１．米国特許出願第１６／２６４，４７３号、
２．米国特許出願第１６／２６４，２４８号、
３．米国特許出願第１６／２６２，９７５号、および、
４．米国特許出願第１６／２６２，９７１号
前述の仮特許出願および非仮特許出願の各々は、それぞれの全体がここで参照により本明細書に組み込まれる。
【０００２】
［使用分野］
本開示は、計算エンジンを使用したストレージエッジにおけるメディアオブジェクトデータを記述するメタデータの生成に関する。
【背景技術】
【０００３】
本明細書で提供する背景説明は、本開示の文脈を一般的に提示することを目的としている。本明細書の発明者の研究は、その研究がこの背景欄に記載されている範囲で、および、出願時に先行技術として別段の資格を持たない説明の側面は、本開示に対する先行技術であることが明示的にも暗示的にも認められない。
【０００４】
メディアデータなどの非構造化データを記述するメタデータを生成するための典型的なシステムは、取り込みサーバ（ｉｎｇｅｓｔ  ｓｅｒｖｅｒ）または他の集中型ネットワーク処理位置などの、データが最初に受信される位置（取り込みポイント（ｉｎｇｅｓｔ  ｐｏｉｎｔ））で、生成することができる。取り込みポイントは、システムのユーザと物理的に併置されてもよいし、クラウドストレージの位置であってもよい。例えば、映像データは、メディアのトランスコード、および、メディアを記述するメタデータの生成の両方を担うサーバで、カメラまたは他の映像ソースから受信され得る。これらのシステムは通常、受信またはトランスコードされたメディアデータを有するメディアデータストリームにメタデータを埋め込み、その結果、メディアデータを記述する全てのメタデータにアクセスするためにメディアデータ全体を検索する必要がある。これによって、メタデータを埋め込むかまたは含めるために処理されるメディアデータの量に起因して、取り込みポイントにおける負荷が増加し得る。典型的なシステムは、取り込みポイントまたは集中型サーバでメディアデータを記述するメタデータを生成する。これによって、集中型サーバの取り込みポイントからストレージに転送されるデータの量が増加し、その結果、ストレージ操作の実行に必要なネットワーク帯域幅が増加し得る。例えば、遠く離れて配置される処理位置と記憶位置との間で大量のデータを伝送する必要がある場合がある。
【発明の概要】
【０００５】
本明細書に記載の実装は、メディアオブジェクトデータを記憶および管理するための装置および方法を提供する。ストレージデバイスに結合され、かつ、ホストデバイスから遠く離れてストレージエッジに配置される、ストレージ制御デバイスが、ホストデバイスからメディアオブジェクトデータを受信する。ストレージ制御デバイスは、メディアオブジェクトデータのタイプを識別し、識別されたタイプに基づいて、ストレージ制御デバイスの計算エンジンにより使用される複数の計算モデルの中から計算モデルを選択する。計算エンジンは、選択された計算モデルを使用して、メディアオブジェクトデータを記述するメタデータを生成する。メタデータは、メディアオブジェクトデータとは別個にストレージデバイスから選択的に検索できるようにストレージデバイスに記憶される。
【０００６】
幾つかの実装では、ストレージ制御デバイスは、データ入力インタフェースを使用してメディアオブジェクトデータにアクセスする。各計算モデルは、計算モデルが構成されるデータ形式を識別する、関連付けられる入力データインタフェースパラメータを有する。ストレージ制御デバイスは、入力データインタフェースパラメータを使用してメディアオブジェクトデータにアクセスし、メディアオブジェクトデータを識別されたデータ形式に変換する。
【０００７】
幾つかの実装では、各計算モデルは、関連付けられるハードウェアインタフェースパラメータを有する。ストレージ制御デバイスは、ハードウェアインタフェースパラメータを検索し、ハードウェアインタフェースパラメータをハードウェアインタフェースに適用する。ストレージ制御デバイスは、ハードウェアインタフェースを使用して第１物理的接続からメディアオブジェクトデータにアクセスし、ハードウェアインタフェースを使用して第２物理的接続を介してストレージデバイスにメディアオブジェクトデータおよびメタデータを記憶する。
【０００８】
幾つかの実装では、各計算モデルは、関連付けられる復号パラメータを有する。ストレージ制御デバイスは、復号パラメータを検索し、復号パラメータを使用してメディアオブジェクトデータを復号する。
【０００９】
幾つかの実装では、ストレージ制御デバイスは、第１計算モデルを使用してメタデータが既に生成されているメディアオブジェクトデータをストレージデバイスから検索する。ストレージ制御デバイスは、第１計算モデルを識別し、第２計算モデルを選択して、第１メタデータとは異なる第２メタデータを生成する。ストレージ制御デバイスは、第２メタデータを、第１メタデータおよびメディアオブジェクトデータから選択的に検索できるように記憶することができる。ストレージ制御デバイスは、第１メタデータおよび第２メタデータを組み合わせて、組み合わされたメタデータを生成し、組み合わされたメタデータを、メディアオブジェクトデータから選択的に検索できるように記憶することができる。
【００１０】
幾つかの実装では、ストレージ制御デバイスは、１または複数の基準を満たすメディアオブジェクトデータの要求をホストデバイスから受信する。この要求に応答して、幾つかの実装では、ストレージ制御デバイスは、メディアオブジェクトデータを記述するメタデータのみを、メディアオブジェクトデータとは別個にストレージデバイスから検索する。ストレージ制御デバイスは、検索されたメタデータに基づいて、１または複数の基準を満たすメディアオブジェクトデータの１または複数の部分を識別する。次に、ストレージ制御デバイスは、メディアオブジェクトデータの識別された部分のみを、メディアオブジェクトデータを記述するメタデータとは別個にストレージデバイスから検索する。
【００１１】
幾つかの実装では、ストレージ制御デバイスは、メディアオブジェクトデータのコピーを生成し、メディアオブジェクトデータを、記憶するためにストレージデバイスに提供すること、および、メディアオブジェクトデータのコピーを、処理してメタデータを生成するために計算エンジンに提供することを同時に行う。
【００１２】
幾つかの実装では、ストレージ制御デバイスは、メディアオブジェクトデータを、互いに別々に選択的に検索できるように論理的に分離された方式で記憶する。
【図面の簡単な説明】
【００１３】
添付の図面と併せて以下の詳細な説明を検討することで、本開示の更なる特徴、その性質、および様々な利点が明らかになるであろう。ここで、同様の参照文字は、全体を通じて同様の部分を指す。
【００１４】
【図１】本開示の幾つかの実装に係る、非構造化データオブジェクトを記述するメタデータを生成するためのコンポーネントおよびそれらの間のデータフローを示すブロック図である。
【００１５】
【図２】本開示の幾つかの実装に係る、非構造化データオブジェクトを記述するメタデータを生成するためのコンポーネントおよびそれらの間のデータフローを示す別のブロック図である。
【００１６】
【図３】本開示の幾つかの実装に係る、不揮発性ストレージデバイスへのメタデータおよびメディアデータの記憶を示すブロック図である。
【００１７】
【図４】本開示の幾つかの実装に係る、不揮発性ストレージデバイスへのメタデータおよびメディアデータの記憶を示す別のブロック図である。
【００１８】
【図５】本開示の幾つかの実装に係る、計算エンジンのコンポーネントを示すブロック図である。
【００１９】
【図６】本開示の幾つかの実装に係る、計算モデルが抽出されるデータ構造のコンポーネントを示すブロック図である。
【００２０】
【図７】本開示の幾つかの実装に係る、非構造化データオブジェクトを記述するメタデータを生成するためのプロセスを表すフローチャートである。
【００２１】
【図８】本開示の幾つかの実装に係る、データオブジェクトを記述するメタデータを生成するための別のプロセスを表すフローチャートである。
【００２２】
【図９】本開示の幾つかの実装に係る、データオブジェクトを記述する別個に検索されたメタデータに基づいてデータオブジェクトの一部を検索するためのプロセスを表すフローチャートである。
【発明を実施するための形態】
【００２３】
本明細書に記載の実装は、ストレージエッジで非構造化データオブジェクトを記述するメタデータを生成するための装置および方法を提供する。ストレージエッジとは、１または複数のソリッドステートストレージドライブまたはハードディスクドライブなどのストレージデバイスに対してローカルな環境を指す。ストレージエッジに配置されるストレージ制御デバイスは、１または複数のストレージデバイスにおけるデータの記憶および検索を制御するために使用される。各ストレージデバイスは、それぞれのストレージ制御デバイスに結合され、それぞれのストレージ制御デバイスにより制御され得る。代替的に、幾つかのストレージデバイスは、上で組み込まれた米国特許出願第１６／２６４，２４８号に記載されているようなストレージアグリゲータなどの単一のストレージ制御デバイスに結合され、単一のストレージ制御デバイスにより制御され得る。ストレージ制御デバイスは、記述メタデータがまだ生成されていないメディアオブジェクトなどの非構造化データオブジェクトを受信する。ストレージ制御デバイスの制御回路は、データタイプなどのデータオブジェクトのタイプを識別する。そのタイプに基づいて、複数の計算モデルの中から計算モデルが選択される。計算エンジン、例えば、ストレージエッジまたはストレージデバイスに対してローカルな計算エンジンは、選択された計算モデルを使用して、データオブジェクトを記述するメタデータを生成する。ストレージ制御デバイスは、当該メタデータを、データオブジェクトのデータとは別個に選択的に検索できるようにデータオブジェクト内にまたはデータオブジェクトと関連付けて記憶するために、ストレージデバイスに提供する。メタデータは、データオブジェクトとは別個に検索され得る、ヘッダ内のデータオブジェクトまたはデータオブジェクトの他の個別の部分に埋め込まれ得る。例えば、データオブジェクトは映像データを含んでよく、メタデータはテキストファイルとして生成され得る。ストレージ制御デバイスは、メタデータテキストと映像データとを組み合わせて、論理的に分離されたテキスト部分と映像部分とを有する単一のファイルにする。次に、メタデータは、ファイルのテキスト部分のみにアクセスすることにより別個に検索され得る。代替的に、メタデータは、データオブジェクトのデータとインタリーブされ得る。例えば、映像データに含まれる各キーフレームは、それぞれのキーフレームが適用される映像データの部分を記述する幾らかのメタデータを含む。第３代替案として、メタデータは、物理的に別個のストレージデバイスに記憶されてもよいし、データオブジェクトが記憶されるストレージデバイスの論理的に別個の部分に記憶されてもよい。例えば、データオブジェクトは、第１ソリッドステートドライブに記憶されてよく、メタデータは、第２ソリッドステートドライブに記憶されてよい。別の例として、データオブジェクトは、ソリッドステートドライブの第１パーティションに記憶されてよく、メタデータは、同じソリッドステートドライブの第２パーティションに記憶されてよい。データの任意の他の適切な物理的または論理的な分離が使用されてもよい。
【００２４】
本開示は、ストレージエッジで非構造化データオブジェクトを記述するメタデータを生成し、かつ、当該メタデータを、データオブジェクトのデータとは別個に選択的に検索できるように記憶するための方法およびシステムについて説明する。ストレージ制御デバイスは、制御回路と、適切な人工知能（ＡＩ）または機械学習（ＭＬ）のエンジンなどの計算エンジンとを含む。ストレージ制御デバイスは、ストレージエッジに配置され、ストレージデバイスに記憶されるメディアオブジェクトなどの非構造化データを受信する。ストレージ制御デバイスは、非構造化メディアオブジェクトのメディアデータに関するメタデータを生成し、当該メタデータを、非構造化メディアデータとは別個に選択的に検索できるようにストレージデバイスに記憶する。
【００２５】
本明細書で使用する場合、「ストレージエッジ」という用語は、不揮発性ストレージデバイスに対してローカルなモジュールまたはコンポーネントを意味する。例えば、不揮発性メモリの１または複数のインスタンスでデータを記憶または検索するために１または複数のストレージデバイスの動作を制御するコントローラが、ストレージエッジ上に配置される。ストレージエッジは、例えば、専用ストレージデバイスまたはストレージネットワークにあり、例えば、ホストコンピュータまたはデータセンタに遠く離れて配置されるプロセッサから分離される。ストレージエッジとリモートホストとの間の通信は、コンピュータネットワーク接続を介して行われる。
【００２６】
本明細書で使用する場合、「メディアデータオブジェクト」、「データオブジェクト」、「メディアオブジェクト」、または「オブジェクト」という用語は、ホストシステム上で実行されるアプリケーションにより発行され、かつ、ストレージデバイス上に記憶され得る、様々なタイプのデータを意味する。「メディアオブジェクト」または「オブジェクト」の例には、以下に限定されるわけではないが、映像、録音物、静止画像、テキストメッセージ、および電子メールなどのテキストオブジェクト、自動車センサおよびモノのインターネット（ＩｏＴ）センサなどの様々なタイプのセンサから取得されるデータ、データベースオブジェクト、および／または任意の他の適切なオブジェクトが含まれ得る。多くの場合、メディアオブジェクトは構造化されていない。本明細書で使用する場合、「非構造化オブジェクト」という用語は、オブジェクト（例えば、テキストコンテンツ、オーディオコンテンツ、画像コンテンツ、または映像コンテンツ）のメディアコンテンツ（「コンテンツメディアデータ」）が生の形態で提供され、固定フィールド形式に従って予め編成されていないことを意味する。非構造化オブジェクトは、フレームごとのコンテンツまたは他のコンテンツ部分の任意の側面を定義するメタデータで先験的にタグ付けされない。非構造化データは非トランザクショナルであり、その形式は関係データベーススキーマに容易に準拠しない。
【００２７】
本明細書で使用する場合、「メタデータ」という用語は、不揮発性ストレージデバイスに記憶されるメディアオブジェクトの実際のデータコンテンツの概略的表現を指す。「メタデータ」は、実際のデータコンテンツの抽象化レイヤであってよく、データコンテンツの説明または意味をコンパクトな形式で提供する。メタデータは、ほとんどの場合は構造化されていないメディアオブジェクトから、様々な方法で生成され得る。メタデータの例には、ラベル、タグ、データのタイプ、データコンテンツで検出されるオブジェクト／概念／感情、データコンテンツ内の係るオブジェクト／概念／感情の空間的／時間的位置などが含まれ得る。
【００２８】
本明細書で使用する場合、「人工知能（ＡＩ）モデル」という用語は、例えば、ディープニューラルネットワークまたは任意のリカレントニューラルネットワークまたはそれらの任意の変形に実装される任意の適切なＡＩアルゴリズムを指す。幾つかの実装では、ＡＩモデルは、適切には、任意の他の教師あり学習または教師なし学習または強化学習のアルゴリズムである。ＡＩモデルは、「トレーニングセット」、すなわち、メディアオブジェクトの本体と、正確であることが分かっている対応するメタデータとを使用してトレーニングされる。次に、トレーニングされたＡＩモデルは、他のメディアオブジェクトに関するメタデータを生成するために適用される。本明細書では、予めトレーニングされたＡＩモデルを受信し、かつ、それを使用してオブジェクトのメタデータを計算する、ソフトウェアまたはハードウェアのモジュールは、「ＡＩエンジン」または「ＡＩインタフェースエンジン」と呼ばれる。幾つかの実装では、幾つかの異なるＡＩモデルが、構造化されていないか、または部分的に構造化されたメディアオブジェクトに適用される。
【００２９】
本開示の一態様によれば、ストレージ制御デバイスは、インターネットまたは他の適切なネットワーキングプロトコルを使用して、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）などのネットワークを介してホストデバイスから非構造化データを受信する。代替的に、非構造化データは、コンピュータにローカルに接続される撮像デバイス（例えば、映像レコーダ、オーディオレコーダ、センサ）から受信される。係る実装では、ストレージ制御デバイスは、コンピュータのストレージデバイスに組み込まれ、コンピュータの他の部分からバスを介してデータを受信する。ストレージ制御デバイスは、データオブジェクトのコピーを作成し、当該コピーを使用してメタデータを生成するために計算エンジンを使用しながら、元のデータオブジェクトをストレージデバイスに記憶する。メタデータを生成した後、データオブジェクトのコピーは必要なくなる。メタデータは、非構造化データから選択的に検索できる方式で記憶され、データオブジェクトのコピーは、削除されるか、削除のマークが付けられるか、上書きされるか、またはストレージ制御デバイスから除去される。
【００３０】
メタデータは、関連付けられる非構造化データの検索を必要とすることなくメタデータの選択的な検索を容易にするために、以下に説明するように、非構造化データとは別個に記憶される。例えば、メタデータおよび非構造化データは、データファイルまたは他のデータ構造の１または複数の論理的に分離された部分に記憶され得る。ある実装では、メタデータを含む１または複数の部分は、非構造化データの文脈外でストレージ制御デバイスがアクセスおよび読み取りできる自己完結型のデータファイルとして構造化される。更に、メタデータを含む１または複数の部分は、データファイルまたはデータ構造内でタグ付けまたは識別されて、ストレージ制御デバイスがそれらを容易に見つけ、検索できるようにすることができる。更に、メタデータは、それが記述する非構造化データとの関連付けを識別するか、または含む。これによって、ストレージ制御デバイスは、メタデータの確認または分析に基づいて、非構造化データの関連部分を検索することができる。この実装および他の実装は、上で組み込まれた米国特許出願第１６／２６２，９７１号に更に記載されている。
【００３１】
非構造化データから選択的に検索できる方式でメタデータを記憶すると、インデックス作成機能およびサーチ機能の効率を高めることができる場合がある。非構造化データオブジェクトからメタデータを解析する必要はなく、サーチエンジンまたはインデクサは単独で、メタデータにアクセスするか、またはメタデータを検索することができる。この選択的検索によって、メタデータまたは非構造化データオブジェクトの関連部分を検索するためにアクセスする必要があるデータの量が削減され、サーチ機能もしくはインデックス作成機能、または、メディアオブジェクトの関連部分などの以前に構造化されていなかったデータの関連部分の検索を実行するときの、プロセッサの負荷が軽減される。
【００３２】
ホストデバイスではなくストレージエッジでメタデータを生成すると、ストレージエッジに伝送されるデータが少なくなり、その結果、取り込みポイントまたは中央データ処理センタからの全体的なデータ転送速度が速くなる。例えば、メタデータが取り込みポイント、データ処理センタ、またはクラウドサーバ（すなわち、ストレージエッジに対して遠く離れた位置）で生成される場合は、メタデータはまた、非構造化データオブジェクトと共にストレージエッジに転送されなければならない。これによって、転送されるデータの量が増加するので、データの転送に必要な時間が増加する。別の例として、非構造化データは、最初にメディアを生成することなくストレージに直接伝送されてよく、次に、非構造化データの一部が、メタデータの生成のためにコンピュータネットワークを介してデータ処理センタに返送される。これによって、コンピュータネットワークを介して転送されるデータの量が増加し、全体的なネットワークの速度および／または性能に影響を与える可能性がある。メタデータの生成をストレージエッジに移動することにより、かなり大量の非構造化データについてメタデータを容易に生成することができるので、メタデータを使用して、記憶されている非構造化コンテンツメディアデータの関連部分を識別することが容易になる。より大量のコンテンツメディアを、関連するセグメントについてフィルタリングすることができ、当該関連するセグメントを、ストレージデバイスから転送することができ、非構造化コンテンツメディアデータの膨大な集まり全体を、ストレージからコンピュータネットワークを介してデータセンタ施設に転送することはない。これによって、転送する必要があるコンテンツメディアデータの量の大幅な削減が容易になり、コンテンツメディアデータの当該関連するセグメントのみをより迅速に特定および確認する能力が促進される。従って、非構造化データの関連部分をストレージエッジからの検索に利用できるようにするために必要な時間は、一方でデータセンタの計算エンジンを使用してメタデータを生成するために必要な大量のコンテンツデータメディアをデータセンタ施設に転送するために必要な時間と、ストレージエッジで生成されるメタデータ、および、コンテンツデータの当該関連するセグメントの両方を含む、特定のニーズに応えるための比較的少量のデータをデータ処理施設に転送するために必要な時間との差だけ短縮される。例えば、監視映像で撮像される人々の気分、または、監視映像で撮像される特定の人々または活動の存在にタグを付けるために、監視映像についてメタデータが生成される。更なる分析のために、所望の人物、気分、または活動を含む関連フレームのみを（例えば、データ処理センタまたは人間のオペレータに）送信する必要があるかもしれない。別の例として、ロボットサービスデスクなどで特定の音声シーケンスにタグを付けるために、オーディオ記録についてメタデータが生成される。メタデータの特定の音声シーケンスがサーチされ、録音全体ではなく、関連するシーケンスを含む関連する録音部分のみが施設に送信され、当該施設では、自動化された会話におけるロボットの応答を改善するために、これらの録音部分が分析および使用される。
【００３３】
本開示の別の態様によれば、第１計算モデルを使用して以前にメタデータが生成された、以前に受信された非構造化データが、ストレージデバイスから検索される。第１計算モデルとは異なる第２計算モデルを使用して、検索された非構造化データについて第２メタデータが生成される。第２計算モデルは、第１計算モデルと同じタイプのメタデータをより正確に生成する第１計算モデルの更新バージョンであってよい。第２メタデータは、第１メタデータと比較され、第１メタデータの対応するメタデータとは異なる第２メタデータの任意のメタデータ、または、第１メタデータに存在しない第２メタデータの任意のメタデータが記憶される。代替的に、第２計算モデルは、第１計算モデルとは異なるタイプのメタデータを生成するように構成され得る。第２メタデータは、以前に記憶された非構造化データおよび以前に生成された第１メタデータの両方とは別個に選択的に検索できるように記憶されてもよい。代替的に、第２メタデータは、第１メタデータとマージされ、マージされたメタデータは、以前に記憶された非構造化メディアとは別個に選択的に検索できるように記憶される。
【００３４】
図１は、本開示の幾つかの実装に係る、非構造化データオブジェクトを記述するメタデータを生成するためのコンポーネントおよびそれらの間のデータフローを示すブロック図である。ストレージ制御デバイス１０２は、ストレージエッジ１００に配置される。ストレージ制御デバイスでは、オーディオレコーダ、映像レコーダ、画像センサ（例えば、赤外線センサ）、環境センサ（例えば、温度計）、運動センサ（例えば、加速度計、レーダ、ライダ）、または任意の係るレコーダまたはセンサからのデータが最初に受信されるサーバ（「取り込みサーバ」）などのホストデバイスからネットワークを介して非構造化データオブジェクト１０４が受信される。
【００３５】
幾つかの実装では、制御回路１０６が、入力データインタフェースを使用して、非構造化データ１０４を受信するか、検索するか、または非構造化データ１０４にアクセスすることができる。入力データインタフェースは、必要に応じて様々なタイプの非構造化データにアクセスするように構成可能である。入力データインタフェースの構成は、入力データインタフェースパラメータを入力データインタフェースに適用することにより実現され得る。図６との関連で以下に説明するように、特定の形式の非構造化データを処理するように構成される特定の計算モデルと関連付けて、入力データインタフェースパラメータが記憶され得る。非構造化データ１０４が特定の形式以外の形式で受信される場合は、制御回路１０６は、非構造化データ１０４を特定の形式に変換して、非構造化データを記述するメタデータの生成を容易にすることができる。例えば、映像データはＨ．２６２などの圧縮形式で受信され得るが、計算モデルは、Ｈ．２６４映像データを処理するように構成される。入力データインタフェースパラメータは、必要とされるＨ．２６４形式に変換され得る映像圧縮形式のセットを識別し、更には、映像データをＨ．２６４形式に変換するために制御回路１０６により使用される形式変換ツールを供給することができる。別の例として、画像データはＪＰＥＧ形式で受信され得るが、計算モデルは、ビットマップ形式で画像を処理するように構成される。入力データインタフェースパラメータは、ビットマップ形式への変換に適した入力形式としてＪＰＥＧを識別し、制御回路１０６により使用される変換ツールを提供する。
【００３６】
幾つかの実装では、制御回路１０６は、ハードウェアインタフェースを使用して、非構造化データ１０４を受信するか、検索するか、または非構造化データ１０４にアクセスすることができる。ハードウェアインタフェースは、ストレージ制御デバイス１０２の様々な物理的または論理的なポートおよび／または接続からデータにアクセスするように構成可能である。ハードウェアインタフェースの構成は、ハードウェアインタフェースパラメータをハードウェアインタフェースに適用することにより実現され得る。図６との関連で以下に説明するように、特定の計算モデルと関連付けてハードウェアインタフェースパラメータが記憶され得る。特定の計算モデルの選択に応答して（例えば、非構造化データの受信前に受信され得る命令１１８に応答して）、制御回路１０６は、ハードウェアインタフェースパラメータをハードウェアインタフェースに適用する。ハードウェアインタフェースパラメータは、ＴＣＰポート２０（ＦＴＰ）、８０（ＨＴＴＰ）、または１１５（ＳＦＴＰ）などのネットワーク接続の特定の論理的ポートを指定することができる。ハードウェアインタフェースパラメータは、イーサネット（登録商標）ポート、シリアルポート、ＵＳＢポート、または、ストレージ制御デバイス１０２が非構造化データを受信できる際に用いる他のデータポートなどの、物理的なポートまたは接続を指定することができる。ハードウェアインタフェースは、指定されたポートを待ち受け、制御回路１０６が、指定されたポートを介して受信されるデータにアクセスできるようにする。
【００３７】
幾つかの実装では、非構造化データ１０４は、ストレージエッジへ伝送するために暗号化される。非構造化データ１０４の処理ができるように、制御回路１０６は、復号パラメータを使用して非構造化データ１０４を復号する。図６との関連で以下に説明するように、特定の計算モデルと関連付けて復号パラメータが記憶され得る。特定の計算モデルの選択に応答して（例えば、非構造化データの受信前に受信され得る命令１１８に応答して）、制御回路１０６は復号パラメータを検索する。復号パラメータは、予め定義された復号キー、またはＲＳＡアルゴリズムなどの復号キー生成ルーチンを含み得る。制御回路は、復号キーを適用するか、または、ＲＳＡアルゴリズムを使用して復号キーを生成および適用して、非構造化データ１０４にアクセスする。
【００３８】
非構造化データ１０４にアクセスするか、または非構造化データ１０４を受信すると、ストレージ制御デバイス１０２の制御回路１０６は、２つの同一のデータストリームを作成する。第１データストリームは、最初に受信される非構造化データ１０４を含み、第２データストリームは、制御回路１０６により生成される非構造化データ１０４の同一のコピーを含む。次に、制御回路１０６は、不揮発性ストレージ１１０に第１データストリーム１０８を記憶する。不揮発性ストレージ１１０は、ハードドライブ、フラッシュメモリアレイ（例えば、ＮＯＲ型フラッシュメモリまたはＮＡＮＤ型フラッシュメモリ）、または任意の他の適切なタイプのデータストレージ媒体などの、任意の不揮発性データストレージデバイスであってよい。上記の復号および／または形式変換は、最初に受信される非構造化データ１０４に対して、または、計算エンジン１１６により処理される第２データストリームのみに対して実行され得る。
【００３９】
制御回路１０６はまた、映像データ、画像データ、オーディオデータ、または任意の他のデータタイプなどの非構造化データのデータタイプを決定する。制御回路１０６は、データストリーム１０８と同一の第２データストリーム１１４を、ストレージ制御デバイス１０２の計算エンジン１１６に向ける。計算エンジン１１６は、計算モデルを使用してメタデータを生成する。例えば、計算エンジン１１６は、機械学習エンジン、人工知能エンジン、または他の適切なメタデータ生成エンジンであってよい。計算エンジン１１６により使用される計算モデルは、ＡＩモデルであってよく、行列乗算演算、畳み込み演算、ニューラルネットワークで定義される他の演算、または任意の他の適切なデータ処理の方法または演算を採用することができる。ストレージ制御デバイス１０２は、計算エンジン１１６により使用される計算モデルを選択し、選択されたモデルを使用するように命令１１８を計算エンジン１１６に伝送する。ストレージ制御デバイス１０２は、決定されたデータタイプ、またはコンテンツからの抽出が望まれるメタデータのタイプに対応する計算モデルを選択する。例えば、幾つかの計算モデルは、画像フレーム内の顔または録音物のセグメント内の声を識別するのに適しているが、他の計算モデルは、例えば、画像フレーム内の人物の行動または気分を識別するように設計される。幾つかの計算モデルは、フレームまたはデータストリーム内のオブジェクトの位置を識別する。幾つかの計算モデルは、メディアデータのセグメントの複数の異なる特性を識別するように構成される。
【００４０】
計算エンジン１１６は、ある実装では、非構造化データのコピーを処理して、非構造化データをフレームにセグメント化し、例えば、非構造化データ内のコンテンツおよび当該コンテンツの位置を記述するメタデータを生成する。次に、メタデータ１２０は、図３および図４との関連で以下に説明するように、非構造化データとは別個に選択的に検索できるように不揮発性ストレージ１１０に記憶される。これによって、メタデータ内のインデックス作成機能およびサーチ機能の効率を高めて、例えば、コンテンツメディアデータの関連するセグメントを抽出することができる場合がある。
【００４１】
幾つかの実装では、不揮発性ストレージ１１０におけるメディアデータおよびメタデータの上記のストレージは、上記のハードウェアインタフェースパラメータを使用して構成されるハードウェアインタフェースを使用して実現され、これらのハードウェアインタフェースパラメータは、ストレージ制御デバイス１０２がメディアオブジェクトデータおよびメタデータを不揮発性ストレージ１１０に記憶する際に用いる特定のポートまたは接続を更に指定することができる。例えば、ハードウェアインタフェースパラメータは、メディアオブジェクトデータおよびメタデータを記憶するための特定のサーバまたはデータストレージデバイスの物理的または論理的なアドレスを指定することができる。代替的または追加的に、ハードウェアインタフェースパラメータは、イーサネットポート、シリアルポート、ＵＳＢポート、または、ストレージ制御デバイス１０２が不揮発性ストレージ１１０にアクセスできる際に用いる他のデータポートなどの、特定のポートを指定することができる。
【００４２】
図２は、本開示の幾つかの実装に係る、非構造化データオブジェクトを記述するメタデータを生成するためのコンポーネントおよびそれらの間のデータフローを示す別のブロック図である。不揮発性ストレージ１１０に既に記憶されている非構造化データオブジェクトについてメタデータが生成されていない場合、または、非構造化データオブジェクトについて更なるメタデータが生成される場合は、ストレージ制御デバイス１０２は、不揮発性ストレージ１１０からコンテンツメディアデータ２００を検索する。制御回路１０６は、図１との関連で先ほど説明したように、メディアデータ２００のデータタイプを識別する。制御回路１０６は、コンテンツメディアデータ２０２を処理するために計算エンジン１１６に提供する。幾つかのシナリオでは、コンテンツデータが構造化されていないが、他のシナリオでは、コンテンツが部分的に構造化されており、コンテンツについて部分的なメタデータが以前に生成されている。ストレージ制御デバイス１０２は計算モデルを選択し、選択された計算モデルを使用するように命令２０４を計算エンジン１１６に伝送する。図１との関連で先ほど説明したように、ストレージ制御デバイス１０２は、メディアデータ２００の決定されたデータタイプに基づいて計算モデルを選択する。非構造化データオブジェクトを記述するメタデータが既に存在している場合は、制御回路１０６は、メタデータを生成するために使用された第１計算モデルを決定し、使用される第２計算モデルを選択する。例えば、監視映像内の顔を識別するための計算モデルを使用して、メタデータが既に生成されている場合がある。制御回路１０６は、同じ監視映像内の顔の表情、行動、気分、または声を識別するための計算モデルを、第２計算モデルとして選択することができる。次に、第２計算モデルを使用して生成されるメタデータ２０６は、図３および図４との関連で以下に説明するように、非構造化データとは別個に選択的に検索できるように不揮発性ストレージ１１０に記憶される。第１計算モデルを使用して生成されるメタデータ、および第２計算モデルを使用して生成されるメタデータは、選択的に検索できるようにするために互いに別々に記憶され得る。代替的または追加的に、第２計算モデルを使用して生成されるメタデータは、第１計算モデルを使用して生成されるメタデータと組み合わされて、非構造化データとは別個に選択的に検索できる方式で記憶されるメタデータの単一のセットを生成することができる。
【００４３】
図３は、本開示の幾つかの実装に係る、不揮発性ストレージ１１０へのメタデータおよびメディアデータの記憶を示すブロック図である。不揮発性ストレージ１１０内の単一のデータファイル３００内にメタデータおよびメディアデータが記憶される。データファイル３００は、テキストベースのメタデータおよび非構造化メディアデータの両方を、メタデータ部分３０２およびメディアデータ部分３０４でそれぞれホストできるファイル形式である。非構造化メディアデータを含むデータストリーム１０８は、不揮発性ストレージ１１０で受信され、データファイル３００は、例えば、メディアデータ部分３０４に非構造化メディアデータを含むように作成される。計算エンジン１１６により生成されるメタデータ１２０も、不揮発性ストレージ１１０で受信される。不揮発性ストレージ１１０は、データファイル３００のメタデータ部分３０２にメタデータを記憶する。ある実装では、メタデータ部分３０２は、メディアデータ部分３０４とは別個に記憶される。別の実装では、それぞれのメタデータ部分３０２およびメディアデータ部分３０４は、例えば、インタリーブされるが、相互に分離可能であるように、一緒に記憶される。データファイル３００は、メタデータ部分３０２およびメディアデータ部分３０４の両方で作成され得る。代替的に、非構造化メディアデータ１０８がメタデータ１２０の前に不揮発性ストレージ１１０で受信される場合は、データファイル３００は、メディアデータ部分３０４のみで作成されてよく、メタデータ１２０の受信時に、メタデータ部分３０２は、メディア部分３０４の末尾に付加されるか、メディア部分３０４の先頭に付加されるか、メディア部分３０４と連結されるか、またはメディア部分３０４とインタリーブされ得る。メタデータ１２０をメディアデータ１０８から分離できるように記憶することにより、メタデータ１２０を、メディアデータ１０８とは別個に選択的に検索できるようにすることができ、その結果、上記のように、メタデータ１２０にアクセスする際、またはメタデータ１２０に基づいてメディアデータ１０８の特定の部分にアクセスする際の効率が高まる。
【００４４】
図４は、本開示の幾つかの実装に係る、不揮発性ストレージ１１０へのメタデータおよびメディアデータの代替的な記憶を示す別のブロック図である。不揮発性ストレージ１１０は、物理的に別個のストレージ領域（例えば、幾つかのハードディスクドライブまたはソリッドステートドライブ）または論理的に別個のストレージ領域（例えば、単一のハードディスクまたはソリッドステートドライブ上の幾つかのパーティション）を含み得る。不揮発性ストレージ１１０は、メタデータストレージ用の第１ストレージ領域４００、およびデータオブジェクトストレージ用の第２ストレージ領域４０２を指定することができる。データストリーム１０８は、不揮発性ストレージ１１０で受信される。不揮発性ストレージ１１０は、受信されたデータストリーム１０８が非構造化メディアデータを含むと判断し、非構造化メディアデータをデータオブジェクトストレージ４０２に記憶する。不揮発性ストレージ１１０は、計算エンジン１１６により生成されるメタデータ１２０も受信する。不揮発性ストレージ１１０は、受信されるデータがテキストベースのメタデータであると判断し、メタデータ１２０をメタデータストレージ４００に記憶する。上記のように、メタデータ１２０をメディアデータ１０８から分離できるように記憶することで、メタデータ１２０を、メディアデータ１０８とは別個に検索できるようにすることができ、その結果、メタデータ１２０にアクセスする際、またはメタデータ１２０に基づいてメディアデータ１０８の特定の部分にアクセスする際の効率が高まる。
【００４５】
幾つかの実装では、計算モデルは、ストレージ制御デバイス１０２のメモリ内のそれぞれのデータ構造に記憶される。計算エンジン１１６または制御回路１０６は、選択された計算モデルを、計算エンジン１１６により使用されるそのそれぞれのデータ構造から抽出する。図５は、本開示の幾つかの実装に係る、計算エンジンのコンポーネントを示すブロック図である。計算エンジン１１６は、データ構造ランタイムモジュール５００を含む。データ構造ランタイムモジュール５００は、データ構造のコンテンツが計算エンジン１１６により実行されるか、または計算エンジン１１６に適用され得る環境を提供する。更に、データ構造ランタイムモジュール５００は、特定のデータ構造に必要な仮想システムリソースを割り当てる。すなわち、データ構造ランタイムモジュール５００は、データ構造のコンテンツが、図６との関連で以下に説明するように、ＣＰＵ５０６およびハードウェアアクセラレータ５１２などの計算エンジン１１６のハードウェアを使用して実行され得る、アプリケーション層を提供する。計算エンジン１１６は、オーケストレーションエージェント５０２も含む。データ構造ランタイムモジュール５００は、データ構造（図６との関連で以下に説明するようなデータ構造５１４ｎなど）の実行を担うが、オーケストレーションエージェント５０２は、実行するデータ構造を決定する。オーケストレーションエージェント５０２は、特定のデータ構造を選択するための命令１１８などのコマンドを受信するか、または、処理される非構造化データオブジェクトの決定されたデータタイプの指示を受信し、適切なデータ構造を決定する。オーケストレーションエージェント５０２は、ストレージ制御デバイス１０２のメモリに要求５１６を伝送して、複数のデータ構造（５１４ａ、５１４ｂ、５１４ｃ、...５１４ｎ）の中からデータ構造（例えば、データ構造５１４ｂ）を検索する。ストレージ制御デバイス１０２のメモリは、選択されたデータ構造５１４ｂを含む応答３１８を伝送し、次に、データ構造５１４ｂは、計算エンジン１１６によりデータ構造ランタイムモジュール５００にロードされる。
【００４６】
データ構造ランタイムモジュール５００は、データ構造５１４ｂから計算モデルを抽出する。データ構造ランタイムモジュール５００は、抽出された計算モデル５２０を計算エンジン１１６の揮発性メモリ５１０にロードする。データ構造ランタイムモジュール５００は、抽出された計算モデル５２０を使用して、メディアデータを処理するために必要とされる選択されたデータ構造から他のデータおよびパラメータを抽出することもできる。計算エンジン１１６は、ある実装では、ＣＰＵ５０６上で実行されるオペレーティングシステム５０４を含み、それを介して、データ構造ランタイムモジュール５００およびオーケストレーションエージェント５０２は、上記の動作を実行する。
【００４７】
ある実装では、計算エンジン１１６は、ハードウェアアクセラレータ５１２を更に含む。計算モデルには、ＣＰＵ５０６上で効率的に実行できない何千もの動作が含まれる。計算エンジン１１６は、ハードウェアアクセラレータ５１２を使用して、抽出された計算モデルを実行する。
【００４８】
図６は、本開示の幾つかの実装に係る、計算モデルが抽出されるデータ構造のコンポーネントを示すブロック図である。幾つかの実装では、コンパイルされた計算モデル６００に加えて、データ構造５１４ｎなどのデータ構造は、非構造化データオブジェクトを処理する際に計算エンジン１１６により使用され得る幾つかの他の項目およびパラメータを含む。例えば、入力データインタフェース６０２が、非構造化データの入力形式用のパラメータを提供する。例えば、特定のデータ構造内に含まれる計算モデルは、ビットマップタイプの形式で画像を処理するように構成され得る。メディアオブジェクトデータがＪＰＥＧなどの圧縮形式で画像を供給する場合は、計算エンジン１１６は、圧縮された画像をビットマップに変換しなければならない。メディアオブジェクトデータは暗号化され得る。例えば、メディアデータは、セキュリティ上の懸念または著作権の対象になり得る。データ暗号化／復号６０４は、例えば、データを復号することにより、非構造化データにアクセスするために必要な暗号化または復号のアルゴリズムおよびキーを提供する。データ前処理モジュール６０６は、上記のように入力データインタフェース６０２により必要とされる非構造化データの変換など、処理に備えて非構造化データの準備をするためのメカニズムを提供する。更に、データ前処理モジュール６０６は、メディアオブジェクトデータから個々の映像フレームまたはオーディオサンプルを抽出するためのメカニズムを提供することができる。データ後処理モジュール６０８は、ある実装では、計算モデル６００により生成されるメタデータをフォーマットするためのパラメータを提供する。例えば、データ後処理モジュールは、メディアオブジェクトデータに関連するメタデータが配置される特定のデータ構造および／またはデータフィールドを提供する。データ構造またはデータフィールドは、処理されているデータのタイプおよびコンパイルされた計算モデル６００の構成の両方に固有である。ハードウェアインタフェース６１０は、ネットワークインタフェースまたはシリアルデータ接続などの特定のコンポーネントを使用してデータにアクセスするためのパラメータを提供する。
【００４９】
図７は、本開示の幾つかの実装に係る、非構造化データオブジェクトを記述するメタデータを生成するためのプロセス７００を表すフローチャートである。非限定的な例として、非構造化データオブジェクトは、コンテンツメディアデータオブジェクトである。７０２では、ストレージ制御デバイス１０２は、制御回路１０６を使用して、ホストデバイスからメディアオブジェクトを受信する。例えば、制御回路１０６は、データがリモートソースから受信される際に用いるネットワークインタフェースまたは他のデータ入力接続を含み得る。リモートソースは、映像レコーダ、オーディオレコーダ、取り込みサーバ、およびクラウドサーバなどといった、メディアオブジェクトが生成されるおよび／またはストレージエッジに伝送される任意のホストデバイスまたはサーバを含む。データストレージセンタまたは分散ストレージシステム（すなわち、クラウドストレージ）に記憶されるデータではなく、ストレージエッジで受信されるか、またはストレージエッジに既に存在しているデータに関するメタデータの生成をストレージエッジで実行すると、ネットワークにわたって転送する必要があるデータの量が大幅に削減される。幾つかの実装では、ストレージ制御デバイス１０２は、メディアオブジェクトデータを不揮発性ストレージ１１０に記憶する要求をホストデバイスから受信することができる。７０４では、制御回路１０６は、メディアオブジェクトデータのコピーを作成し、それにより、同じコンテンツデータを含む２つのデータストリームがもたらされる。７０６では、制御回路１０６は、１つのデータストリームを記憶するために不揮発性ストレージ１１０に提供する。７０８では、制御回路１０６は、メディアオブジェクトデータのデータタイプを識別する。例えば、メディアオブジェクトデータは、映像ストリームであってよい。制御回路１０６は、パケットヘッダを処理、検査、または調査して、ホストデバイスから受信されるデータのタイプを決定することができる。制御回路１０６は、ＭＰＥＧ−２、ＭＰＥＧ−４、または他の映像データ形式などのデータ形式を更に決定することができる。別の例として、メディアオブジェクトデータは、オーディオストリームであってよい。制御回路１０６は、パケットヘッダを処理、検査、または調査して、受信されるデータのタイプを決定することができ、ＭＰ３、ＷＡＶ、または他の適切なオーディオデータ形式などのデータ形式を更に決定することができる。第３の例として、メディアオブジェクトデータは、赤外線センサなどの画像センサから撮像されるセンサデータであってよい。制御回路１０６は、センサの署名などのパケットヘッダデータからセンサのタイプを識別することができる。
【００５０】
７１０では、制御回路１０６は、識別されたデータタイプに基づいて、計算エンジン１１６により使用される複数の計算モデルの中から計算モデルを選択する。例えば、制御回路１０６は、映像データの連続フレームに対する画像処理を実行するための計算モデルを選択して、各フレームに描写されるオブジェクトを識別する。幾つかの実装では、制御回路１０６による計算モデルの選択は、生成が望まれるメタデータのタイプに更に基づく。例えば、映像データを処理するために幾つかの計算モデルが利用可能であってよく、各々がメタデータの異なるセットを生成する。１つの計算モデルが映像データ内の顔を識別できる一方で、別の計算モデルが映像データ内の行動を識別する。制御回路１０６は、ユーザから、またはストレージエッジで実行されているプログラムからの入力を受信して、特定のタイプのメタデータを生成することができる。従って、制御回路１０６は、映像データを処理し、かつ、所望のメタデータを生成するように構成される計算モデルを選択する。上で組み込まれた米国特許出願第１６／２６２，９７１号には、更なる概念が記載されている。
【００５１】
７１２では、計算エンジン１１６は、選択された計算モデルを使用して第２データストリームを処理して、メディアオブジェクトデータを記述するメタデータを生成する。７１４では、制御回路１０６は、図３および図４との関連で先ほど説明した方法を使用して、当該メタデータを、メディアオブジェクトデータとは別個に不揮発性ストレージ１１０から選択的に検索できるように記憶するために、不揮発性ストレージ１１０に提供する。このように、メタデータをメディアオブジェクトデータとは別個に検索することができ、それにより、上記のプロセスでは、第１計算モデルにより生成されるメタデータのみを、メディアオブジェクトデータとは無関係に検索することができる。
【００５２】
図８は、本開示の幾つかの実装に係る、データオブジェクトを記述するメタデータを生成するための別のプロセス８００を表すフローチャートである。幾つかの実装では、第１メタデータを生成するために第１計算モデルを使用して既に処理されているメディアオブジェクトデータは、追加的または補足的なメタデータを生成するために第２計算モデルを使用して再び処理される。８０２では、制御回路１０６は、第１計算モデルを使用して以前に生成されたメディアオブジェクトデータを記述する第１メタデータを検索する。例えば、制御回路８０６は、ＳＱＬ「選択」コマンドを使用してクエリ不揮発性ストレージ１１０またはメタデータストレージ４００を使用することができ、当該コマンドに応答して、不揮発性ストレージ１１０は第１メタデータを提供する。代替的に、制御回路１０６は、不揮発性ストレージ１１０のファイル割り当てテーブルにアクセスして、第１メタデータが記憶されるメモリ位置またはメモリアドレス範囲を識別し、識別された位置またはアドレス範囲から第１メタデータを検索することができる。
【００５３】
８０４では、制御回路１０６は、第１メタデータを生成するために使用される第１計算モデルを識別する。例えば、ある実装では、制御回路１０６は、以前に生成されたメタデータのタイプ、または、１または複数の計算モデルに関して第１メタデータ内に含まれる特定のメタデータフィールド、または、メタデータのタイプまたは第１メタデータ内に含まれる特定のメタデータフィールドを生成する、識別されたデータタイプを処理するための第２計算モデルを識別するための利用可能な計算モデルのインデックスを分析することができる。例えば、顔および顔の位置を経時的に記述するフィールドを第１メタデータが含む場合は、制御回路１０６は、映像コンテンツ内の顔を識別するように構成される計算モデルを使用して第１メタデータが生成されたと判断する。
【００５４】
８０６では、制御回路１０６は、生成されるメタデータのタイプを決定する。制御回路１０６は、第１計算モデルの更新バージョンが存在するかどうかを判断することができる。例えば、制御回路１０６は、第１計算モデルがコンパイルされた日時、または第１計算モデルを含むデータ構造が最初に利用可能になったときを識別する。第１計算モデルの更新バージョンが存在する場合は、制御回路１０６は、第１メタデータと同じタイプのメタデータが生成されるべきであると判断する。代替的に、制御回路１０６は、第１メタデータを補足するためにメタデータのタイプを自動的に選択してもよいし、生成される特定のタイプのメタデータを識別するユーザからの入力を受信してもよい。例えば、制御回路１０６は、第１計算モデルを、映像フレームに描写される顔などのオブジェクトを識別するための画像処理モデルとして識別する。次に、制御回路１０６は、気分などの、顔と関連付けられる更なる特性を識別するメタデータが生成されると判断する。代替的に、制御回路１０６は、映像データ内の話し言葉を記述するメタデータが生成されると判断する。
【００５５】
８０８では、制御回路１０６は、生成されるメタデータの決定されたタイプに基づいて計算モデルを選択する。例えば、制御回路１０６が、生成されるメタデータのタイプが第１メタデータのタイプと同じであると判断し、第１計算モデルの更新バージョンが存在することを示す場合は、制御回路１０６は、更新された計算モデルを選択する。代替的に、異なるタイプのメタデータが生成される場合は、制御回路１０６は、そのタイプのメタデータを生成するように構成される計算モデルを選択する。例えば、気分を記述するメタデータが生成される場合は、制御回路１０６は、気分を識別するために顔が識別されるフレームを処理するように構成される計算モデルを選択する。話し言葉を記述するメタデータが生成される場合は、制御回路１０６は、映像全体の、または顔を含む映像のセグメントのオーディオデータを処理するためのオーディオ処理計算モデルを選択して、映像内の話し言葉を含むセグメントを識別し、次に、同じまたは異なる計算モデルを使用して、話し言葉をテキスト化する、および／または音声のコンテンツを分析することができる。代替的または追加的に、制御回路１０６は、コンテンツメディア内の、またはコンテンツメディアと関連付けられるクローズドキャプションなどのテキストを抽出および／または処理するためのテキスト処理計算モデルを選択することができる。
【００５６】
８１０では、制御回路１０６は、選択された計算モデルの構成に基づいて、不揮発性ストレージ１１０からメディアオブジェクトデータの少なくとも一部を検索する。例えば、第１計算モデルは、映像コンテンツ内の顔を識別するように構成され、選択された計算モデルは、映像データ内の顔に基づいて気分を識別するように構成される。制御回路１０６は、不揮発性ストレージ１１０から映像コンテンツ全体を検索するのではなく、第１計算モデルにより生成される第１メタデータを使用して、選択された計算モデルを使用して計算エンジン１１６により処理するための顔を含む映像コンテンツの部分を識別する。次に、制御回路１０６は、映像コンテンツの当該識別された部分のみを検索する。
【００５７】
８１２では、計算エンジン１１６は、第２計算モデルを使用して、メディアオブジェクトデータ内のコンテンツを記述する第２メタデータを生成する。８１４では、制御回路１０６は、図３および図４との関連で先ほど説明した方法を使用して、第２メタデータを、メディアオブジェクトデータとは別個にストレージデバイスから選択的に検索できるように記憶するために、不揮発性ストレージ１１０に提供する。このように、メタデータをメディアオブジェクトデータとは別個に検索することができ、それにより、上記のプロセスでは、第１計算モデルにより生成されるメタデータのみを、メディアオブジェクトデータとは無関係に検索することができる。
【００５８】
図９は、本開示の幾つかの実装に係る、データオブジェクトを記述する別個に検索されたメタデータに基づいてデータオブジェクトの一部を検索するためのプロセス９００を表すフローチャートである。９０２では、ストレージ制御デバイス１０２は、１または複数の基準を満たすメディアオブジェクトの要求をホストデバイスから受信する。例えば、メディアオブジェクトは監視映像であり、ホストデバイスは、人間の顔を含む映像データを要求する。９０４では、ストレージ制御デバイス１０２は、メディアオブジェクトデータを記述するメタデータのみを不揮発性ストレージ１１０から検索する。例えば、ストレージ制御デバイス１０２は、監視映像を記述するメタデータが記憶されるメディアオブジェクトの論理的に別個の部分にアクセスし、監視映像データのいずれをも検索することなく、その論理的に別個の部分に含まれるメタデータを抽出、コピー、または検索する。
【００５９】
９０６では、ストレージ制御デバイス１０２は、制御回路１０６を使用して、メタデータを分析して、１または複数の基準を満たすメディアオブジェクトデータの部分を識別する。例えば、制御回路１０６は、監視映像を記述するメタデータを分析し、人間の顔を含む監視映像の部分を識別する。９０８では、ストレージ制御デバイス１０２は、メディアオブジェクトデータの識別された部分のみを、メディアオブジェクトデータを記述するメタデータとは別個に検索する。例えば、ストレージ制御デバイス１０２は、メタデータに基づいて識別される人間の顔を含む監視映像の部分のみを検索する。ストレージ制御デバイス１０２は、監視映像の当該部分を、映像を記述するメタデータとは別個に検索する。
【００６０】
以下に限定されるわけではないが、集積回路、特定用途向け集積回路（ＡＳＩＣ）、および／またはＤＳＰなどといった１または複数の電子回路の様々な電子コンポーネントにより、図１から図９と併せて説明する様々な実装が実行される。以下に限定されるわけではないが、制御回路およびハードウェアアクセラレータ（例えば、制御回路１０６およびハードウェアアクセラレータ３１２）、および／または同様のものなどの、本開示全体を通じて説明する様々なコンポーネントが、電子回路コンポーネントのセットを含み、かつ、１または複数の電子回路上で通信可能に動作するように構成される。各電子回路は、以下に限定されるわけではないが、論理ゲート、メモリセル、増幅器、および／またはフィルタなどのいずれかを含むように構成される。本明細書で開示する様々な実装およびコンポーネントが、１または複数の一時的または非一時的なプロセッサ可読媒体上に記憶されるプロセッサ実行可能命令により少なくとも部分的に操作および／または実装されるように構成される。
【００６１】
本明細書では本開示の主題の様々な実装を図示および説明してきたが、係る実装はほんの一例として提供されている。本明細書に記載の実装に関連する数々の変形、変更、および置換が、本開示から逸脱することなく適用可能である。なお、本開示を実施する際には、本明細書に記載の開示の実装に対する様々な代替案が採用され得る。以下の請求項が本開示の範囲を画定することと、これらの請求項の範囲内の方法および構造並びにそれらの均等物が当該請求項により包含されることとが意図されている。
【００６２】
図面には動作が特定の順序で描写されているが、これは、係る動作を、示されている特定の順序でまたは順番に実行すべきであること、または、望ましい結果を実現するために、図示されている全ての動作を実行しなければならないことを要求するものとして解釈されるべきではない。
【００６３】
本明細書の主題について特定の態様の観点から説明してきたが、他の態様が実装されてもよく、それらは以下の請求項の範囲内にある。例えば、請求項に列挙する動作は、異なる順序で実行されても望ましい結果を実現することができる。一例として、図７、図８、および図９に描写するプロセスは必ずしも、望ましい結果を実現するために、示されている特定の順序、または順番である必要はない。特定の実装では、マルチタスク処理および並列処理が有利な場合がある。以下の請求項の範囲内には他の変形が含まれる。
【００６４】
［他の考えられる項目］
［項目１］
メディアオブジェクトデータを記憶および管理するための方法であって、
ストレージ制御デバイスでメディアオブジェクトデータを受信する段階であって、上記ストレージ制御デバイスは、ホストデバイスから遠く離れて配置され、ストレージデバイスに結合される、段階と、
上記ストレージ制御デバイスで、上記ストレージ制御デバイスの制御回路を使用して上記メディアオブジェクトデータのタイプを識別する段階と、
上記ストレージ制御デバイスで、上記識別されたタイプに基づいて、上記ストレージ制御デバイスの計算エンジンにより使用される複数の計算モデルの中から計算モデルを選択する段階と、
上記計算エンジンが、上記選択された計算モデルを使用して、上記メディアオブジェクトデータを記述するメタデータを生成する段階と、
上記生成されたメタデータを、上記メディアオブジェクトデータとは別個に上記ストレージデバイスから選択的に検索できるように記憶するために、上記メタデータを上記ストレージデバイスに提供する段階と
を備える方法。
［項目２］
上記複数の計算モデルの各計算モデルは、複数のデータ構造の中のそれぞれのデータ構造に記憶され、上記ストレージ制御デバイスは、ストレージエッジに配置され、上記方法は、
上記ストレージ制御デバイスで、上記選択された計算モデルを上記それぞれのデータ構造から抽出する段階と、
上記計算モデルを上記ストレージ制御デバイスのメモリにロードする段階と
を更に備える、項目１に記載の方法。
［項目３］
上記ストレージエッジで、入力データインタフェースを使用して上記メディアオブジェクトデータにアクセスする段階であって、上記複数のデータ構造の各データ構造は、上記それぞれのデータ構造に含まれる上記計算モデルが構成されるデータ形式を識別する入力データインタフェースパラメータを含む、段階と、
上記メディアオブジェクトデータを上記識別されたデータ形式に変換する段階と
を更に備える項目２に記載の方法。
［項目４］
上記ストレージ制御デバイスが、上記複数のデータ構造のうちのデータ構造からハードウェアインタフェースパラメータを検索する段階と、
上記ハードウェアインタフェースパラメータをハードウェアインタフェースに適用する段階と、
上記ストレージエッジで、上記ハードウェアインタフェースを使用して特定の物理的接続から上記メディアオブジェクトデータにアクセスする段階と
を更に備える項目２に記載の方法。
［項目５］
上記メディアオブジェクトデータは暗号化され、上記方法は、
上記ストレージ制御デバイスが、上記複数のデータ構造のうちのデータ構造から復号パラメータを検索する段階と、
上記ストレージエッジで、上記復号パラメータを使用して上記メディアオブジェクトデータを復号する段階と
を更に備える、項目２に記載の方法。
［項目６］
上記メディアオブジェクトデータは、上記ストレージデバイスから検索され、上記方法は、
上記メタデータを生成するために使用される上記計算モデルを識別する段階であって、上記計算モデルは第１計算モデルであり、上記メタデータは第１メタデータである、段階と、
上記第１計算モデルとは異なる第２計算モデルを選択して、上記第１メタデータとは異なる第２メタデータを生成する段階と、
上記第１メタデータおよび上記メディアオブジェクトデータから選択的に検索できるように上記第２メタデータを記憶する段階と
を更に備える、項目１に記載の方法。
［項目７］
上記第１メタデータと上記第２メタデータとを組み合わせて、組み合わされたメタデータを生成する段階と、
上記組み合わされたメタデータを、上記メディアオブジェクトデータとは別個に上記ストレージデバイスから選択的に検索できるように記憶するために、上記組み合わされたメタデータを上記ストレージデバイスに提供する段階と
を更に備える項目６に記載の方法。
［項目８］
メディアオブジェクトデータを検索することは、
生成されるメタデータのタイプを決定することと、
上記第１メタデータと上記生成されるメタデータのタイプとに基づいて、処理される上記メディアオブジェクトデータの少なくとも１つの部分を識別することと、
上記ストレージエッジで、上記メディアオブジェクトデータの上記識別された部分のみを上記ストレージデバイスから検索することと
を更に含む、項目６に記載の方法。
［項目９］
上記メディアオブジェクトデータのコピーを生成する段階と、
上記ストレージ制御デバイスが、上記メディアオブジェクトデータを、記憶するために上記ストレージデバイスに提供すること、および、上記メディアオブジェクトデータの上記コピーを、処理してメタデータを生成するために上記計算エンジンに提供することを同時に行う段階と
を更に備える項目１に記載の方法。
［項目１０］
上記メディアオブジェクトデータを第１記憶位置に、上記メタデータを第２記憶位置に記憶する段階であって、上記第２記憶位置は、物理的分離および論理的分離のうちの一方により上記第１記憶位置と区別される、段階
を更に備える項目１に記載の方法。
［項目１１］
ホストデバイスから遠く離れて配置され、かつ、１または複数のストレージデバイスに結合される、データストレージコントローラであって、
上記ストレージデバイスに対してローカルな制御回路であって、
メディアオブジェクトデータを、上記ストレージデバイスに記憶するために受信し、
上記メディアオブジェクトデータのタイプを識別する
ように構成される制御回路と、
上記制御回路と関連付けられる計算エンジンであって、
上記識別されたタイプに基づいて、上記計算エンジンにより使用される複数の計算モデルの中から計算モデルを選択して、上記メディアオブジェクトデータを記述するメタデータを生成するように構成されるオーケストレーションエージェント
を有し、
上記選択された計算モデルを使用して、上記メディアオブジェクトデータを記述するメタデータを生成し、かつ、
上記生成されたメタデータを、上記メディアオブジェクトデータとは別個に上記ストレージデバイスから選択的に検索できるように記憶するために、上記メタデータを上記ストレージデバイスに提供する、
計算エンジンと
を備えるデータストレージコントローラ。
［項目１２］
上記データストレージコントローラは、ストレージエッジに配置され、複数のデータ構造の中のそれぞれのデータ構造に上記複数の計算モデルの各計算モデルを記憶するように更に構成され、
上記計算エンジンは、
上記選択された計算モデルを上記それぞれのデータ構造から抽出し、かつ、
上記選択された計算モデルを、上記メディアオブジェクトデータを処理する際に上記計算エンジンが実行するために、上記計算エンジンの揮発性メモリにロードする
ように更に構成される、
項目１１に記載のデータストレージコントローラ。
［項目１３］
上記複数のデータ構造の各データ構造は、上記それぞれのデータ構造に含まれる上記計算モデルが構成される形式を識別する入力データインタフェースパラメータを含み、上記計算エンジンは、
上記入力データインタフェースパラメータを使用して、上記ストレージエッジで上記メディアオブジェクトデータにアクセスし、かつ、
上記メディアオブジェクトデータを上記識別されたデータ形式に変換する
ように更に構成される、項目１２に記載のデータストレージコントローラ。
［項目１４］
上記制御回路は、
上記ストレージエッジに記憶される上記複数のデータ構造のうちのデータ構造からハードウェアインタフェースパラメータを検索し、
上記ハードウェアインタフェースパラメータをハードウェアインタフェースに適用し、かつ、
ネットワーク帯域幅を消費することなく、上記ハードウェアインタフェースを使用して特定の物理的接続を介して上記ストレージエッジで上記ストレージデバイスから上記メディアオブジェクトデータにアクセスする
ように更に構成される、項目１２に記載のデータストレージコントローラ。
［項目１５］
上記制御回路は、
上記ストレージエッジに記憶される上記複数のデータ構造のうちのデータ構造から復号パラメータを検索し、かつ、
上記ストレージエッジで、上記復号パラメータを使用して上記メディアオブジェクトデータを復号する
ように更に構成される、項目１２に記載のデータストレージコントローラ。
［項目１６］
上記メディアオブジェクトデータは、上記ストレージデバイスから検索され、上記制御回路は、
上記メタデータを生成するために使用される上記計算モデルを識別することであって、上記計算モデルは第１計算モデルであり、上記メタデータは第１メタデータである、識別することと、
上記第１計算モデルとは異なる第２計算モデルを選択して、上記第１メタデータとは異なる第２メタデータを生成することと、
上記第１メタデータおよび上記メディアオブジェクトデータから選択的に検索できるように上記第２メタデータを記憶することと
を行うように更に構成される、項目１１に記載のデータストレージコントローラ。
［項目１７］
上記制御回路は、
上記第１メタデータと上記第２メタデータとを組み合わせて、組み合わされたメタデータを生成し、かつ、
上記組み合わされたメタデータを、上記メディアオブジェクトデータとは別個に上記ストレージデバイスから選択的に検索できるように記憶するために、上記組み合わされたメタデータを上記ストレージデバイスに提供する
ように更に構成される、項目１６に記載のデータストレージコントローラ。
［項目１８］
上記制御回路は、メディアオブジェクトデータを、
生成されるメタデータのタイプを決定することと、
上記第１メタデータと上記生成されるメタデータのタイプとに基づいて、処理される上記メディアオブジェクトデータの少なくとも１つの部分を識別することと、
上記ストレージエッジで、上記メディアオブジェクトデータの上記識別された部分のみを上記ストレージデバイスから検索することと
により、検索するように構成される、項目１６に記載のデータストレージコントローラ。
［項目１９］
上記制御回路は、
上記メディアオブジェクトデータのコピーを生成し、かつ、
上記メディアオブジェクトデータを、記憶するために上記ストレージデバイスに提供すること、および、上記メディアオブジェクトデータの上記コピーを、処理してメタデータを生成するために上記計算エンジンに提供することを同時に行う
ように更に構成される、項目１１に記載のデータストレージコントローラ。
［項目２０］
上記制御回路は、上記メディアオブジェクトデータを第１記憶位置に、上記メタデータを第２記憶位置に記憶することであって、上記第２記憶位置は、物理的分離および論理的分離のうちの一方により上記第１記憶位置と区別される、記憶することを行うように更に構成される、項目１１に記載のデータストレージコントローラ。
【図１】
2021533446.tif 000003
【図２】
2021533446.tif 000004
【図３】
2021533446.tif 000005
【図４】
2021533446.tif 000006
【図５】
2021533446.tif 000007
【図６】
2021533446.tif 000008
【図７】
2021533446.tif 000009
【図８】
2021533446.tif 000010
【図９】
2021533446.tif 000011
【手続補正書】
【提出日】令和3年4月6日(2021.4.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホストデバイスから遠く離れてストレージエッジに配置され、かつ、１または複数のストレージデバイスに結合される、データストレージコントローラであって、
前記１または複数のストレージデバイスのストレージデバイスに対してローカルな制御回路であって、
メディアオブジェクトデータを、前記ストレージデバイスに記憶するために受信し、かつ、
前記メディアオブジェクトデータのタイプを識別する
ように構成される制御回路と、
前記制御回路と関連付けられる計算エンジンであって、
前記識別されたタイプに少なくとも基づいて、前記計算エンジンにより使用される複数の計算モデルの中から計算モデルを選択して、前記メディアオブジェクトデータを記述するメタデータを生成し、
前記選択された計算モデルを使用して、前記メディアオブジェクトデータを記述するメタデータを生成し、かつ、
前記生成されたメタデータを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから選択的に検索できるように記憶するために、前記生成されたメタデータを前記ストレージデバイスに提供する
ように構成される計算エンジンと
を備えるデータストレージコントローラ。
【請求項２】
前記制御回路は、
前記選択された計算モデルと関連付けられる入力データインタフェースパラメータを検索することであって、前記入力データインタフェースパラメータは、前記選択された計算モデルが構成される形式を識別する、検索することと、
前記入力データインタフェースパラメータを使用して前記ストレージエッジで前記メディアオブジェクトデータにアクセスすることと、
前記メディアオブジェクトデータを前記識別されたデータ形式に変換することと
を行うように更に構成される、請求項１に記載のデータストレージコントローラ。
【請求項３】
前記制御回路は、
前記選択された計算モデルと関連付けられるハードウェアインタフェースパラメータを検索し、
前記ハードウェアインタフェースパラメータをハードウェアインタフェースに適用し、
前記ストレージエッジで、前記ハードウェアインタフェースを使用して第１物理的接続を介して前記メディアオブジェクトデータにアクセスし、かつ、
前記ハードウェアインタフェースを使用して第２物理的接続を介して前記ストレージデバイスに前記メディアオブジェクトデータおよびメタデータを記憶する
ように更に構成される、請求項１または２に記載のデータストレージコントローラ。
【請求項４】
前記制御回路は、
前記選択された計算モデルと関連付けられる復号パラメータを検索し、かつ、
前記ストレージエッジで、前記復号パラメータを使用して前記メディアオブジェクトデータを復号する
ように更に構成される、請求項１から３のいずれか一項に記載のデータストレージコントローラ。
【請求項５】
前記メディアオブジェクトデータは、前記ストレージデバイスから検索され、前記制御回路は、
前記メタデータを生成するために使用される前記計算モデルを識別することであって、前記計算モデルは第１計算モデルであり、前記メタデータは第１メタデータである、識別することと、
前記第１計算モデルとは異なる第２計算モデルを選択して、前記第１メタデータとは異なる第２メタデータを生成することと、
前記第１メタデータおよび前記メディアオブジェクトデータから選択的に検索できるように前記第２メタデータを記憶することと
を行うように更に構成される、請求項１から４のいずれか一項に記載のデータストレージコントローラ。
【請求項６】
前記制御回路は、
前記第１メタデータと前記第２メタデータとを組み合わせて、組み合わされたメタデータを生成し、かつ、
前記組み合わされたメタデータを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから選択的に検索できるように記憶するために、前記組み合わされたメタデータを前記ストレージデバイスに提供する
ように更に構成される、請求項５に記載のデータストレージコントローラ。
【請求項７】
前記制御回路は、１または複数の基準を満たすメディアオブジェクトデータの要求を前記ホストデバイスから受信するように更に構成される、請求項１から６のいずれか一項に記載のデータストレージコントローラ。
【請求項８】
前記制御回路は、
１または複数の基準を満たすメディアオブジェクトデータの前記要求に応答して、
前記メディアオブジェクトデータを記述する前記メタデータのみを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから検索し、
前記検索されたメタデータに基づいて、前記１または複数の基準を満たす前記メディアオブジェクトデータの１または複数の部分を識別し、かつ、
前記メディアオブジェクトデータの前記識別された１または複数の部分のみを、前記メディアオブジェクトデータを記述する前記メタデータとは別個に前記ストレージデバイスから検索する
ように更に構成される、請求項７に記載のデータストレージコントローラ。
【請求項９】
前記制御回路は、
前記メディアオブジェクトデータのコピーを生成し、かつ、
前記メディアオブジェクトデータを、記憶するために前記ストレージデバイスに提供すること、および、前記メディアオブジェクトデータの前記コピーを、処理してメタデータを生成するために前記計算エンジンに提供することを同時に行う
ように更に構成される、請求項１から８のいずれか一項に記載のデータストレージコントローラ。
【請求項１０】
前記制御回路は、前記メディアオブジェクトデータおよび前記メタデータを、互いに別々に選択的に検索できるように論理的に分離された方式で記憶するように更に構成される、請求項１から９のいずれか一項に記載のデータストレージコントローラ。
【請求項１１】
メディアオブジェクトデータを記憶および管理するための方法であって、
ストレージ制御デバイスでメディアオブジェクトデータを受信する段階であって、前記ストレージ制御デバイスは、ホストデバイスから遠く離れてストレージエッジに配置され、ストレージデバイスに結合される、段階と、
前記ストレージ制御デバイスで、前記ストレージ制御デバイスの制御回路を使用して前記メディアオブジェクトデータのタイプを識別する段階と、
前記ストレージ制御デバイスで、前記識別されたタイプに基づいて、前記ストレージ制御デバイスの計算エンジンにより使用される複数の計算モデルの中から計算モデルを選択する段階と、
前記計算エンジンが、前記選択された計算モデルを使用して、前記メディアオブジェクトデータを記述するメタデータを生成する段階と、
前記生成されたメタデータを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから選択的に検索できるように記憶するために、前記生成されたメタデータを前記ストレージデバイスに提供する段階と
を備える方法。
【請求項１２】
前記選択された計算モデルと関連付けられる入力データインタフェースパラメータを検索する段階であって、前記入力データインタフェースパラメータは、前記選択された計算モデルが構成されるデータ形式を識別する、段階と、
前記入力データインタフェースパラメータを使用して前記ストレージエッジで前記メディアオブジェクトデータにアクセスする段階と、
前記メディアオブジェクトデータを前記識別されたデータ形式に変換する段階と
を更に備える請求項１１に記載の方法。
【請求項１３】
前記ストレージ制御デバイスが、前記選択された計算モデルと関連付けられるハードウェアインタフェースパラメータを検索する段階と、
前記ハードウェアインタフェースパラメータをハードウェアインタフェースに適用する段階と、
前記ストレージエッジで、前記ハードウェアインタフェースを使用して第１物理的接続から前記メディアオブジェクトデータにアクセスする段階と、
前記ハードウェアインタフェースを使用して第２物理的接続を介して前記ストレージデバイスに前記メディアオブジェクトデータおよびメタデータを記憶する段階と
を更に備える請求項１１または１２に記載の方法。
【請求項１４】
前記メディアオブジェクトデータは暗号化され、前記方法は、
前記ストレージ制御デバイスが、前記選択された計算モデルと関連付けられる復号パラメータを検索する段階と、
前記ストレージエッジで、前記復号パラメータを使用して前記メディアオブジェクトデータを復号する段階と
を更に備える、請求項１１から１３のいずれか一項に記載の方法。
【請求項１５】
前記メディアオブジェクトデータは、前記ストレージデバイスから検索され、前記方法は、
前記メタデータを生成するために使用される前記計算モデルを識別する段階であって、前記計算モデルは第１計算モデルであり、前記メタデータは第１メタデータである、段階と、
前記第１計算モデルとは異なる第２計算モデルを選択して、前記第１メタデータとは異なる第２メタデータを生成する段階と、
前記第１メタデータおよび前記メディアオブジェクトデータから選択的に検索できるように前記第２メタデータを記憶する段階と
を更に備える、請求項１１から１４のいずれか一項に記載の方法。
【請求項１６】
前記第１メタデータと前記第２メタデータとを組み合わせて、組み合わされたメタデータを生成する段階と、
前記組み合わされたメタデータを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから選択的に検索できるように記憶するために、前記組み合わされたメタデータを前記ストレージデバイスに提供する段階と
を更に備える請求項１５に記載の方法。
【請求項１７】
前記ストレージエッジで、１または複数の基準を満たすメディアオブジェクトデータの要求を前記ホストデバイスから受信する段階を更に備える請求項１１から１６のいずれか一項に記載の方法。
【請求項１８】
前記１または複数の基準を満たすメディアオブジェクトデータの前記要求に応答して、
前記メディアオブジェクトデータを記述する前記メタデータのみを、前記メディアオブジェクトデータとは別個に前記ストレージデバイスから検索する段階と、
前記検索されたメタデータに基づいて、前記１または複数の基準を満たす前記メディアオブジェクトデータの１または複数の部分を識別する段階と、
前記ストレージエッジで、前記メディアオブジェクトデータの前記識別された１または複数の部分のみを、前記メディアオブジェクトデータを記述する前記メタデータとは別個に前記ストレージデバイスから検索する段階と
を更に備える請求項１７に記載の方法。
【請求項１９】
前記メディアオブジェクトデータのコピーを生成する段階と、
前記ストレージ制御デバイスが、前記メディアオブジェクトデータを、記憶するために前記ストレージデバイスに提供すること、および、前記メディアオブジェクトデータの前記コピーを、処理してメタデータを生成するために前記計算エンジンに提供することを同時に行う段階と
を更に備える請求項１１から１８のいずれか一項に記載の方法。
【請求項２０】
前記メディアオブジェクトデータおよび前記メタデータを、互いに別々に選択的に検索できるように論理的に分離された方式で記憶する段階
を更に備える請求項１１から１９のいずれか一項に記載の方法。
【国際調査報告】
2021533446.tif 000012
2021533446.tif 000013