(57)【要約】  メタデータ計算装置（５６）は、ホストインタフェース（６８）、ストレージインタフェース（６０）および１または複数のプロセッサ（６４）を含む。ホストインタフェースは、コンピュータネットワーク（２８）を介して１または複数のリモートホスト（２４）と通信するように構成される。ストレージインタフェースは、１または複数のストレージデバイス（４４）の１または複数の不揮発性メモリ（５２）と通信するように構成される。プロセッサは、不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索を管理することと、ストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトのメタデータを計算することであって、ここで、メディアオブジェクトは複数のメディアタイプであり、計算されたメタデータは、複数のメディアタイプのうち少なくとも２つの異なるメディアタイプのメディアオブジェクトにおけるターゲットフィーチャをタグ付けする、計算することと、不揮発性メモリに、少なくとも２つの異なるメディアタイプで見られるターゲットフィーチャをタグ付けするメタデータを、ホストによる使用のために格納することとを行うように構成される。
2021532472.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークを介して１または複数のリモートホストと通信するように構成されたホストインタフェースと、
１または複数のストレージデバイスの１または複数の不揮発性メモリと通信するように構成されたストレージインタフェースと、
１または複数のプロセッサと
を備え、
前記１または複数のプロセッサは、
前記１または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索を管理することと、
前記１または複数のストレージデバイスに格納されたまたは格納される途中の複数の前記メディアオブジェクトのメタデータを計算することであって、前記メディアオブジェクトは複数のメディアタイプであり、前記計算されたメタデータは、前記複数のメディアタイプのうち少なくとも２つの異なるメディアタイプの前記メディアオブジェクトにおけるターゲットフィーチャをタグ付けする、計算することと、
前記１または複数の不揮発性メモリに、前記少なくとも２つの異なるメディアタイプで見られる前記ターゲットフィーチャをタグ付けする前記メタデータを、前記１または複数のホストによる使用のために格納することと
を行うように構成される、
メタデータ計算装置。
【請求項２】
少なくともいくつかの前記メディアオブジェクトは非構造化メディアオブジェクトであり、前記メタデータの計算において、前記１または複数のプロセッサは、前記非構造化メディアオブジェクトに前記ターゲットフィーチャが出現する位置をタグ付けするように構成される、請求項１に記載のメタデータ計算装置。
【請求項３】
フレームのシーケンスを備えるメディア項目の場合、前記１または複数のプロセッサは、前記ターゲットフィーチャが出現する１または複数の前記フレームを識別およびタグ付けすることにより前記位置をタグ付けするように構成される、請求項２に記載のメタデータ計算装置。
【請求項４】
少なくともフレームを備えるメディア項目の場合、前記１または複数のプロセッサは、前記ターゲットフィーチャが出現する前記フレームにおける１または複数の座標を識別およびタグ付けすることにより前記位置をタグ付けするように構成される、請求項２に記載のメタデータ計算装置。
【請求項５】
前記１または複数のプロセッサは、それぞれの前記メディアタイプに対して定義された複数の異なる位置メトリックに従って前記位置を計算するように構成される、請求項２に記載のメタデータ計算装置。
【請求項６】
前記１または複数のプロセッサは、前記１または複数のホストから、前記コンピュータネットワークを介して、前記メディアオブジェクトからの前記メタデータの抽出を特定する１または複数のモデルを受信することと、受信された前記１または複数のモデルに基づいて前記メタデータを生成することとを行うように構成される、請求項１から５のいずれか一項に記載のメタデータ計算装置。
【請求項７】
前記１または複数のプロセッサは、前記複数のメディアタイプの各々に対するそれぞれのモデルを、前記１または複数のホストから受信するように構成される、請求項６に記載のメタデータ計算装置。
【請求項８】
前記１または複数のプロセッサは、１または複数の予めトレーニングされた人工知能（ＡＩ）モデルを、前記１または複数のモデルとして受信するように構成される、請求項６に記載のメタデータ計算装置。
【請求項９】
前記１または複数のプロセッサは、同じＡＩ推論エンジンを複数の前記ＡＩモデルに適用することにより、前記メタデータを生成するように構成される、請求項８に記載のメタデータ計算装置。
【請求項１０】
前記１または複数のプロセッサは、前記メディアタイプに対応する複数のバッチに前記メディアオブジェクトを編成することと、前記複数のバッチの各々を介して前記メタデータを計算することとを行うように構成される、請求項１から５のいずれか一項に記載のメタデータ計算装置。
【請求項１１】
前記１または複数のプロセッサは、前記１または複数のプロセッサの少なくともいくつかのリソースが前記メディアオブジェクトのストレージを管理することから解放されているアイドル期間中に前記メタデータを生成するように構成されている、請求項１から５のいずれか一項に記載のメタデータ計算装置。
【請求項１２】
前記１または複数のプロセッサは、前記ターゲットフィーチャをタグ付けする且つ異なるメディアソースから抽出されたまたは異なるプロセッサにより抽出されたメタデータを、統合されたメタデータデータベースにおいて結合するように構成される、請求項１から５のいずれか一項に記載のメタデータ計算装置。
【請求項１３】
前記１または複数のプロセッサは、メディアタイプ、前記メディアオブジェクトを含むファイルのファイル識別子、および前記ファイル内の前記メディアオブジェクトの位置からなる属性グループから選択された少なくとも１つの属性を識別する統合されたメタデータデータベースにおいて、前記ターゲットフィーチャをタグ付けする前記メタデータを結合するように構成される、請求項１から５のいずれか一項に記載のメタデータ計算装置。
【請求項１４】
メタデータ計算のための方法であって、前記方法は、
コンピュータネットワークを介して、１または複数のストレージデバイスのストレージコントローラにより１または複数のリモートホストと通信し、前記１または複数のストレージデバイスの１または複数の不揮発性メモリと通信する段階と、
前記ストレージコントローラを使用して、前記１または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索を管理し、前記１または複数のストレージデバイスに格納されたまたは格納される途中の複数の前記メディアオブジェクトのメタデータを計算する段階であって、前記メディアオブジェクトは複数のメディアタイプであり、計算された前記メタデータは、前記複数のメディアタイプのうち少なくとも２つの異なるメディアタイプの前記メディアオブジェクトにおけるターゲットフィーチャをタグ付けする、段階と、
前記少なくとも２つの異なるメディアタイプで見られる前記ターゲットフィーチャをタグ付けする前記メタデータを、前記１または複数のホストによる使用のために前記１または複数の不揮発性メモリに格納する段階と
を備える、メタデータ計算のための方法。
【請求項１５】
少なくともいくつかの前記メディアオブジェクトは非構造化メディアオブジェクトであり、前記メタデータを計算する段階は、前記非構造化メディアオブジェクトに前記ターゲットフィーチャが出現する位置をタグ付けする段階を有する、請求項１４に記載のメタデータ計算のための方法。
【請求項１６】
フレームのシーケンスを備えるメディア項目の場合、前記位置をタグ付けする段階は、前記ターゲットフィーチャが出現する１または複数の前記フレームを識別およびタグ付けする段階を含む、請求項１５に記載のメタデータ計算のための方法。
【請求項１７】
少なくともフレームを備えるメディア項目の場合、前記位置をタグ付ける段階は、前記ターゲットフィーチャが出現する前記フレームにおける１または複数の座標を識別およびタグ付けする段階を含む、請求項１５に記載のメタデータ計算のための方法。
【請求項１８】
前記位置を計算する段階は、それぞれの前記メディアタイプに対して定義された複数の異なる位置メトリックに従って前記位置を計算する段階を備える、請求項１５に記載のメタデータ計算のための方法。
【請求項１９】
前記１または複数のホストから、前記コンピュータネットワークを介して、前記メディアオブジェクトからの前記メタデータの抽出を特定する１または複数のモデルを受信する段階と、受信された前記１または複数のモデルに基づいて前記メタデータを生成する段階とを備える、請求項１４から１８のいずれか一項に記載のメタデータ計算のための方法。
【請求項２０】
前記１または複数のモデルを受信する段階は、前記メディアタイプの各々に対するそれぞれのモデルを前記１または複数のホストから受信する段階を有する、請求項１９に記載のメタデータ計算のための方法。
【請求項２１】
前記１または複数のモデルを受信する段階は、１または複数の予めトレーニングされた人工知能（ＡＩ）モデルを受信する段階を有する、請求項１９に記載のメタデータ計算のための方法。
【請求項２２】
前記メタデータを計算する段階は、複数の前記ＡＩモデルに同じＡＩ推論エンジンを適用する段階を有する、請求項２１に記載のメタデータ計算のための方法。
【請求項２３】
前記メタデータを計算する段階は、前記メディアタイプに対応する複数のバッチに前記メディアオブジェクトを編成する段階と、前記複数のバッチの各々を介して前記メタデータを計算する段階とを有する、請求項１４から１８のいずれか一項に記載のメタデータ計算のための方法。
【請求項２４】
前記メタデータを計算する段階は、前記ストレージコントローラの少なくともいくつかのリソースが前記メディアオブジェクトのストレージを管理することから解放されているアイドル期間中に前記メタデータを生成する段階を有する、請求項１４から１８のいずれか一項に記載のメタデータ計算のための方法。
【請求項２５】
前記メタデータを格納する段階は、前記ターゲットフィーチャをタグ付けする且つ異なるメディアソースから抽出されたまたは異なるプロセッサにより抽出されたメタデータを、統合されたメタデータデータベースにおいて結合する段階を有する、請求項１４から１８のいずれか一項に記載のメタデータ計算のための方法。
【請求項２６】
前記メタデータを格納する段階は、メディアタイプ、前記メディアオブジェクトを含むファイルのファイル識別子、および前記ファイル内の前記メディアオブジェクトの位置からなる属性グループから選択された少なくとも１つの属性を識別する統合されたメタデータデータベースにおいて、前記ターゲットフィーチャをタグ付けする前記メタデータを結合する段階を有する、請求項１４から１８のいずれか一項に記載のメタデータ計算のための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］  本開示は、３５Ｕ．Ｓ．Ｃ．§１１９（ｅ）に基づいて、同時係属中の同一出願人による米国仮特許出願第６２／７１２，８２３号（２０１８年７月３１日出願）、第６２／７１４，５６３号（２０１８年８月３日出願）、第６２／７１６，２６９号（２０１８年８月８日に出願）、第６２／７２６，８４７号（２０１８年９月４日に出願）、第６２／７２６，８５２号（２０１８年９月４日に出願）の利益を主張する。以下の同一出願人による米国非仮特許出願の各々も、上記の米国仮特許出願の利益を主張しており、本明細書に同時に提出される。  １．２０１９年１月３１日に出願された「ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＧＥＮＥＲＡＴＩＮＧ  ＭＥＴＡＤＡＴＡ  ＤＥＳＣＲＩＢＩＮＧ  ＵＮＳＴＲＵＣＴＵＲＥＤ  ＤＡＴＡ  ＯＢＪＥＣＴＳ  ＡＴ  ＴＨＥ  ＳＴＯＲＡＧＥ  ＥＤＧＥ」と題する米国特許出願第１６／２６３，３８７号（代理人整理番号ＭＰ１１０４９／００４０４８  ０７２９  １０１）  ２．２０１９年１月３１日に出願された「ＳＴＯＲＡＧＥ  ＥＤＧＥ  ＣＯＮＴＲＯＬＬＥＲ  ＷＩＴＨ  Ａ  ＭＥＴＡＤＡＴＡ  ＣＯＭＰＵＴＡＴＩＯＮＡＬ  ＥＮＧＩＮＥ」と題する米国特許出願第１６／２６４，４７３号（代理人整理番号ＭＰ１１０６０／００４０４８  ０７３０  １０１）  ３．２０１９年１月３１日に出願された「ＳＴＯＲＡＧＥ  ＡＧＧＲＥＧＡＴＯＲ  ＣＯＮＴＲＯＬＬＥＲ  ＷＩＴＨ  ＭＥＴＡＤＡＴＡ  ＣＯＭＰＵＴＡＴＩＯＮ  ＣＯＮＴＲＯＬ」と題する米国特許出願第１６／２６４，２４８号（代理人整理番号ＭＰ１１０６５／００４０４８  ０７３１  １０１）  ４．２０１９年１月３１日に出願された「ＭＥＴＡＤＡＴＡ  ＧＥＮＥＲＡＴＩＯＮ  ＡＴ  ＴＨＥ  ＳＴＯＲＡＧＥ  ＥＤＧＥ」と題する米国特許出願第１６／２６２，９７５号（代理人整理番号ＭＰ１１０７３／１０３６  １１８１）
【０００２】
本開示は一般的にメディアオブジェクトの処理に関連し、具体的には、メディアオブジェクトのメタデータ生成の方法およびシステムに関連する。
【背景技術】
【０００３】
様々なシステムおよびアプリケーションは、いくつかの例を挙げると、テキスト項目、動画、画像、音声ファイルおよびセンサデータなどの大量のコンテンツの分析を含む。いくつかの分析タスクは、コンテンツに関連付けられたメタデータを使用する。 
【０００４】
上記の説明はこの分野における関連技術の一般的な概要として示されており、上記の説明が含む情報のいずれかが本特許出願に対する先行技術を構成することを認めるものと解釈されるべきではない。
【発明の概要】
【０００５】
本明細書に説明されている実施形態は、ホストインタフェース、ストレージインタフェースおよび１または複数のプロセッサを含むメタデータ計算装置を提供する。ホストインタフェースは、コンピュータネットワークを介して１または複数のリモートホストと通信するように構成される。ストレージインタフェースは、１または複数のストレージデバイスの１または複数の不揮発性メモリと通信するように構成される。１または複数のプロセッサは、１または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索を管理することと、１または複数のストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトのメタデータを計算することであって、ここで、メディアオブジェクトは複数のメディアタイプであり、計算されたメタデータは、複数のメディアタイプのうち少なくとも２つの異なるメディアタイプのメディアオブジェクトにおけるターゲットフィーチャをタグ付けする、計算することと、１または複数の不揮発性メモリに、少なくとも２つの異なるメディアタイプで見られるターゲットフィーチャをタグ付けするメタデータを、１または複数のホストによる使用のために格納することとを行うように構成される。
【０００６】
いくつかの実施形態において、少なくともいくつかのメディアオブジェクトは非構造化メディアオブジェクトであり、メタデータの計算において、１または複数のプロセッサは、非構造化メディアオブジェクトにターゲットフィーチャが出現する位置をタグ付けするように構成される。一実施形態において、フレームのシーケンスを含むメディア項目の場合、１または複数のプロセッサは、ターゲットフィーチャが出現する１または複数のフレームを識別およびタグ付けすることにより位置をタグ付けするように構成される。例示的な実施形態において、少なくともフレームを含むメディア項目の場合、１または複数のプロセッサは、ターゲットフィーチャが出現するフレームにおける１または複数の座標を識別およびタグ付けすることにより位置をタグ付けするように構成される。開示された実施形態において、１または複数のプロセッサは、それぞれのメディアタイプに対して定義された複数の異なる位置メトリックに従って位置を計算するように構成される。
【０００７】
いくつかの実施形態において、１または複数のプロセッサは、１または複数のホストから、コンピュータネットワークを介して、メディアオブジェクトからのメタデータの抽出を特定する１または複数のモデルを受信することと、受信されたモデルに基づいてメタデータを生成することとを行うように構成される。一実施形態において、１または複数のプロセッサは、複数のメディアタイプの各々に対するそれぞれのモデルを、１または複数のホストから受信するように構成される。例示的な実施形態において、１または複数のプロセッサは、１または複数の予めトレーニングされた人工知能（ＡＩ）モデルを、１または複数のモデルとして受信するように構成される。開示された実施形態において、１または複数のプロセッサは、同じＡＩ推論エンジンを複数のＡＩモデルに適用することにより、メタデータを生成するように構成される。
【０００８】
別の実施形態において、１または複数のプロセッサは、メディアタイプに対応する複数のバッチにメディアオブジェクトを編成することと、バッチの各々を介してメタデータを計算することとを行うように構成される。さらに別の実施形態において、１または複数のプロセッサは、１または複数のプロセッサの少なくともいくつかのリソースがメディアオブジェクトのストレージを管理することから解放されているアイドル期間中にメタデータを生成するように構成されている。
【０００９】
さらに別の実施形態において、１または複数のプロセッサは、ターゲットフィーチャをタグ付けする且つ異なるメディアソースから抽出されたまたは異なるプロセッサにより抽出されたメタデータを、統合されたメタデータデータベースにおいて結合するように構成される。追加的または代替的に、１または複数のプロセッサは、メディアタイプ、メディアオブジェクトを含むファイルのファイル識別子、およびファイル内のメディアオブジェクトの位置からなる属性グループから選択された少なくとも１つの属性を識別する統合されたメタデータデータベースにおいて、ターゲットフィーチャをタグ付けするメタデータを結合するように構成される。
【００１０】
本明細書に説明されている実施形態に従って追加的に提供された、メタデータ計算のための方法が存在する。方法は、コンピュータネットワークを介して、１または複数のストレージデバイスのストレージコントローラにより１または複数のリモートホストと通信することと、１または複数のストレージデバイスの１または複数の不揮発性メモリと通信することとを含む。１または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索は、ストレージコントローラを使用して管理される。さらに、ストレージコントローラを使用することで、メタデータは、１または複数のストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトに対して計算される。メディアオブジェクトは複数のメディアタイプであり、計算されたメタデータは、複数のメディアタイプのうち少なくとも２つの異なるメディアタイプのメディアオブジェクトにおけるターゲットフィーチャをタグ付けする。少なくとも２つの異なるメディアタイプで見られるターゲットフィーチャにタグ付けするメタデータは、１または複数のホストによる使用のために１または複数の不揮発性メモリに格納される。
【００１１】
また、本明細書に説明されている実施形態に従って、ホストインタフェース、ストレージインタフェースおよび１または複数のプロセッサを含むメタデータ計算装置を提供する。ホストインタフェースは、コンピュータネットワークを介して１または複数のリモートホストと通信するように構成される。ストレージインタフェースは、１または複数のストレージデバイスの１または複数の不揮発性メモリと通信するように構成される。１または複数のプロセッサは、１または複数のストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトに対してメタデータを計算することであって、ここでメディアオブジェクトは複数のメディアタイプであり、計算されたメタデータは、複数のメディアタイプのうち少なくとも２つのメディアタイプのメディアオブジェクトにおけるターゲットフィーチャをタグ付けする、計算することと、１または複数のホストによる使用のためにメタデータを格納することとを行うように構成される。
【００１２】
本明細書に説明されている実施形態に従ってさらに提供された、メタデータ計算のための方法が存在する。方法は、コンピュータネットワークを介して、１または複数のストレージデバイスのストレージコントローラにより１または複数のリモートホストと通信することと、１または複数のストレージデバイスの１または複数の不揮発性メモリと通信することとを含む。ストレージコントローラを使用することで、メタデータは、１または複数のストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトに対して計算され、ここでメディアオブジェクトは複数のメディアタイプであり、計算されたメタデータは、メディアタイプのうち少なくとも２つのメディアオブジェクトにおけるターゲットフィーチャをタグ付けし、メタデータは、１または複数のホストによる使用のために格納される。
【００１３】
本開示は、図面と合わせると、本開示の実施形態の以下の詳細な説明から、より十分に理解されるであろう。
【図面の簡単な説明】
【００１４】
【図１】本明細書に説明されている実施形態に従って、ストレージエッジにおいてメタデータ生成を実行するデータセンターを概略的に示すブロック図である。
【００１５】
【図２】本明細書に説明されている実施形態に従って、ローカルメタデータ生成を実行するエッジアプライアンスを概略的に示すブロック図である。
【００１６】
【図３】本明細書に説明されている実施形態に従って、ＳＳＤを概略的に示すブロック図である。
【００１７】
【図４】本明細書に説明されている実施形態に従って、メタデータ生成のための方法を概略的に示すフロー図である。
【００１８】
【図５】本明細書に説明されている実施形態に従って、統合されたメタデータデータベースを形成するプロセスを概略的に示す図である。
【発明を実施するための形態】
【００１９】
本明細書に説明されている実施形態は、メディアオブジェクトのメタデータを生成することと、そのようなメタデータをデータ処理システムにおいて格納および使用することとのための向上された方法およびシステムを提供する。 
【００２０】
いくつかの実施形態において、データ処理システムは、メディアオブジェクトに含まれる大量のコンテンツデータを格納および分析するために使用される。オブジェクト分析アプリケーションのいくつかの非限定的な例は、防犯カメラの動画映像における関心人物または他のオブジェクトの識別、ストリーミングされた動画に対する広告（「ａｄ」）のカスタマイズされた挿入、自律走行車両からのデータの分析、ＣｈａｔＢｏｔのボイスコールデータベースにおける呼び出しおよび応答の品質の分析、テキスト文書および／またはテキストメッセージデータベースの分析、機嫌の検出、動画ファイルまたはボイスコール内のシーン識別、監視カメラ映像における人またはオブジェクトの識別、監視カメラ映像において発生している動作のタイプの識別、録音における音声またはサウンドのタイプの識別、会話中に使用されるフレーズおよび／または応答の分類、自動車用センサのデータおよび運転応答の分析、およびその他の多くを含む。
【００２１】
メディアオブジェクトの例は、動画、サウンドの録音、静止画像、テキストメッセージおよび電子メールなどのテキストオブジェクト、自動車用センサおよびモノのインターネット（ＩｏＴ）センサなどの様々なタイプのセンサから取得されたデータ、データベースオブジェクト、および／または任意の他の適切なオブジェクトを含む。メディアオブジェクトは、簡潔さのために、本明細書において単に「オブジェクト」とも呼ばれる。
【００２２】
通常、システムは、メディアオブジェクトのメタデータを生成し、所望の分析を実行するか、またはメタデータに基づく動作を実行する。ａｄ挿入のためのシステムにおいて、例えば、システムは通常、ストリーミングされた各動画を分析し、動画をシーンに分割し、シーンにおける各シーン、人および／またはオブジェクトに関連付けられた感情を推定し、シーンにおける音声のコンテキストを識別し、推定されたシーンの感情および他の情報を動画に関連付けられたメタデータとして格納する。このメタデータに基づいて、システムは次に、ａｄの影響を最大にすべく、動画内のどこに所与のａｄを挿入するかを選択できる。
【００２３】
完全に異なる分野における別の例として、データ処理システムは、自律走行車のカメラおよび他のセンサにより取得されたデータのオフライン分析に使用される。この例において、システムは、車両カメラにより取得された動画および／または他車両センサの出力をスキャンし、ＡＩモデルにより予め分類されたイベントを関心のあるイベントと識別し、それらをメタデータとしてタグ付けし得る。システムは次に、メタデータを使用して識別されたイベントを調査することができる。 
【００２４】
例示的な実施形態において、自動車システムでは、非常に大量のセンサデータが生成される。メタデータは、ネットワークに周期的に接続される車両のストレージ側で生成される。メタデータは、車両のストレージデバイスに少なくとも一時的に格納されるまたは破棄される、関連するセンサデータの部分を選択するのに使用される。次に、選択された関連するオブジェクトと共に、メタデータは、メタデータオブジェクトが分析されるセントラルプロセッサに、ネットワーク接続を介して周期的にアップロードされ、自律走行車両の挙動を改善すること、または車両のユーザに伝達されるべきターゲット広告を決定することなどの様々な目的に適用され得る。
【００２５】
多くの場合、メディアオブジェクトは構造化されていない。この文脈において、用語「非構造化オブジェクト」は、オブジェクトのメディアコンテンツ（例えば、テキストコンテンツ、オーディオコンテンツ、画像コンテンツまたは動画コンテンツ）が未加工の形態で提供され、固定フィールドフォーマットに従って前もって編成されていないことを意味する。通常、非構造化オブジェクトは、フレームごとのコンテンツまたは他のコンテンツ部分の任意の側面を定義するメタデータで演繹的にタグ付けされるものではない。通常、非構造化データは非トランザクションであり、そのフォーマットはリレーショナルデータベーススキーマに容易には準拠しない。
【００２６】
メタデータは、ほぼ常に構造化されていないメディアオブジェクトから、様々な方法で生成され得る。１つの可能性は、例えばニューラルネットワークなどの人工知能（ＡＩ）モデルを使用することである。典型的な実装において、ＡＩモデルは、メディアオブジェクトの本体と正確であると既知である対応するメタデータとである「トレーニングセット」を使用してトレーニングされる。トレーニングされたモデルは次に、他のメディアオブジェクトのメタデータを生成するのに適用される。予めトレーニングされたＡＩモデルを受信し、それをオブジェクトのメタデータを計算するのに使用するソフトウェアまたはハードウェアモジュールは、本明細書では、「ＡＩ推論エンジン」と呼ばれる。いくつかの実装において、いくつかの異なるＡＩモデルが、非構造化メディアオブジェクトまたは部分的に構造化されたメディアオブジェクトに適用される。
【００２７】
本明細書に説明されている実施形態は、複数の異なるメディアタイプのメディアオブジェクトに、共通であるターゲットフィーチャに関連するメタデータを生成、格納および使用する方法およびシステムを提供する。１つの説明例において、ターゲットフィーチャは関心人物である。異なるメディアタイプのメディアオブジェクトにおけるこのターゲットフィーチャの発生は、例えば、データベースファイル、電子メールおよび／またはテキストメッセージにおける人への参照、画像、動画および／またはウェブページにおける人の顔の出現、および録音における人の声の出現などを備え得る。
【００２８】
多くの実際の適用において、ターゲットフィーチャ（例えば、人）の発生を、複数のメディアタイプにわたって共に分析できることが非常に望ましい。
【００２９】
いくつかの実施形態において、データ処理システムは、メディアオブジェクトを分析する１または複数のホストサーバ（「ホスト」）と、メディアオブジェクトが格納される１または複数のストレージデバイスとを備える。ホストおよびストレージデバイスは、コンピュータネットワークを介して通信する。様々な実施形態において、データ処理システムにおけるプロセッサは、ストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトのメタデータを計算する。他の特徴のうち、計算されたメタデータは、複数のメディアタイプのうち少なくとも２つのメディアオブジェクトにおける特定のターゲットフィーチャをタグ付けする。
【００３０】
一実施形態において、プロセッサは、ターゲットフィーチャに従って、異なるメディアタイプのメディアオブジェクトのメタデータをインデックス化および格納する統合されたメタデータデータベースを作成および維持する。
【００３１】
例えば、ターゲットフィーチャが関心人物である場合、いくつかの実施形態において、メタデータは、その人を参照する電子メールまたは他のテキストメディアオブジェクトと、その人がリストされているデータベースファイル、その人の顔が出現する画像および／または動画、および／またはその人の声が認識され得る音声ファイルをタグ付けする。一実施形態において、プロセッサは、共通の識別子を使用して、複数の異なるメディアタイプにわたってターゲットフィーチャ（この例では関心人物）をタグ付けする。別の実施形態において、メタデータはターゲットフィーチャによりグループ化される。任意の他の適切なデータ構造または表示が使用され得る。
【００３２】
プロセッサは通常、統合されたメタデータデータベースをホストにアクセス可能にする。このように、ホストは、メタデータと、ターゲットフィーチャに関連する異なるメディアタイプのオブジェクトとを検索および分析することができる。
【００３３】
いくつかの実施形態において、メタデータは、ターゲットフィーチャが出現するメディアオブジェクト内の位置を示す。位置は、例えば、動画の開始からのフレーム数または経過時間、動画または静止画像におけるフレーム内の座標、音声ファイルにおける経過時間、またはテキストオブジェクトの開始からの語数を備え得る。
【００３４】
いくつかの実施形態において、プロセッサはＡＩ推論エンジンを実行し、ＡＩ推論エンジンはメディアオブジェクトのメタデータを計算するＡＩモデルを実行するように構成される。ＡＩモデルは通常、メディアタイプによって異なる。例えば、電子メールメッセージ用のＡＩモデルは、動画用のＡＩモデルと異なる。例示的な実施形態において、プロセッサは、特定のメディアタイプのＡＩモデルをロードし、次に、別のメディアタイプのＡＩモデルに切り替える前に、そのタイプのオブジェクトのバッチのためのメタデータを計算する。このバッチされた動作モードは、ＡＩモデルが大きい間隔で交換されるので、効率的である。
【００３５】
いくつかの実施形態において、メタデータ生成を実行するプロセッサは、ストレージと処理デバイスとの間のネットワークを通じて非常に多くのメディアオブジェクトデータの搬送を従来から要求する１つの集中された位置ではなく、オブジェクトが格納された位置に近いストレージエッジに位置付けられる。
【００３６】
この文脈において、用語「ストレージエッジに（ａｔ  ｔｈｅ  ｓｔｏｒａｇｅ  ｅｄｇｅ）」は、ネットワークのホスト側とは対照的に、ネットワークのストレージデバイス側に位置付けられた１つのプロセッサまたは複数のプロセッサを意味する。換言すると、ストレージエッジにおけるプロセッサは、ホストと通信すべくネットワークにわたって情報を送信および／または受信する必要があるが、ストレージデバイスと通信するべくネットワークにわたって情報を送信および／または受信する必要はない。以下に詳述されるように、ストレージエッジプロセッサの非限定的な例は、ソリッドステートドライブ（ＳＳＤ）コントローラ、ストレージアレイコントローラにおけるプロセッサ（アグリゲータとも呼ばれる）、および自律走行車両などの接続されたストレージエッジアプライアンスにおけるプロセッサを含む。
【００３７】
図１は、本例では、本明細書に説明されている実施形態に従って、ストレージエッジにおけるメタデータ生成を実行するデータセンターであるデータ処理システム２０を概略的に示すブロック図である。システム２０は、上記で説明されるように、多数のオブジェクトを格納することと、オブジェクトのメタデータを計算することと、メタデータに基づいてオブジェクトを分析することとに使用される。いくつかの実施形態において、システム２０は、複数の異なるタイプのオブジェクトを受信、格納および分析する。 
【００３８】
図１の実施形態において、データ処理システム２０は、コンピュータネットワーク２８を介して通信する１または複数のホストサーバ２４を備える。ホストサーバ２４は、簡潔さのために、本明細書において単に「ホスト」とも呼ばれる。コンピュータネットワーク２８は、任意の適切なタイプのネットワーク、例えば、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、クラウドネットワーク、またはデータセンターネットワークなどを備え得る。一実施形態において、システム２０は、格納および分析されるメディアオブジェクトを生成する１または複数のメディア生成器３０を備える。
【００３９】
システム２０はさらにリモートストレージラック３２を備え、リモートストレージラック３２は、オブジェクト、メタデータ、および他の関連するデータを格納するためにホスト２４により使用される。いくつかの実施形態において、ストレージラック３２は、ネットワーク２８と通信するストレージエリアネットワーク（ＳＡＮ）の一部である。ホスト２４は、データを格納および検索するためにネットワーク２８を介してストレージラック３２と通信する。 
【００４０】
図１の例において、ストレージラック３２は、Ａｌｌ−Ｆｌａｓｈ  Ａｒｒａｙ（ＡＦＡ）３６と呼ばれる複数のストレージユニットを備える。（代替的な実施形態において、必ずフラッシュベースであるとは限らない、任意の他の適切なタイプのストレージユニットおよび任意の他の適切なタイプのストレージデバイスが使用され得る。）トップオブラック（ＴＯＲ）スイッチ４０は、ネットワーク２８を介してＡＦＡ３６とホスト２４との間の通信を管理する。本例において、その様々なコンポーネントを含むストレージラック３２は、システム２０の「ストレージエッジに」位置付けられているとみなされる。
【００４１】
図１の左下の挿入図は、一実施形態において、ＡＦＡ３６の内部構造を示す。見られるように、ＡＦＡ３６は、データ（例えば、オブジェクトおよびメタデータ）が格納された複数のソリッドステートドライブ（ＳＳＤ）４４を備える。ＡＦＡ３６はストレージコントローラ５０を備え、ストレージコントローラ５０は、データ（例えば、メディアオブジェクト）のストレージを管理するように構成される。ストレージコントローラ５０は、本明細書で、アグリゲーションプロセッサまたはアグリゲータとも呼ばれる。ＡＦＡ３６はさらに、適切なネットワークケーブル４２を介してＴＯＲスイッチ４０と通信するように構成されたスイッチ４８を備える。 
【００４２】
いくつかの実施形態において、スイッチ４８は、共通のペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）バスを介して、例えば、不揮発性メモリエクスプレス（ＮＶＭｅ）プロトコルを使用して、ＳＳＤ４４を通信する。他の実施形態において、ホスト２４は、Ｅｔｈｅｒｎｅｔ（登録商標）を使用して、例えば、ＮＶＭｅオーバーファブリックプロトコルを使用して、スイッチ４８を介してＳＳＤ４４と通信する。さらに代替的に、他の適切なプロトコルが使用され得る。スイッチ４８とＴＯＲスイッチ４０との間の通信は通常、Ｅｔｈｅｒｎｅｔ（登録商標）を使用して行われる。一実施形態において、必須ではないが、ＡＦＡ３６は、ＴＯＲスイッチ４０との通信のために、図示されていない中央処理ユニット（ＣＰＵ）および／またはネットワークインタフェースコントローラ（ＮＩＣ）を備える。
【００４３】
図の右下の挿入図は、本明細書に説明されている実施形態に従って、ＳＳＤ４４の内部構造を示す。本実施形態において、各ＳＳＤ４４は、複数のメモリフラッシュデバイス５２（例えば、ＮＡＮＤフラッシュメモリ）、およびＳＳＤコントローラ５６を備える。ＳＳＤコントローラ５６は、フラッシュデバイス５２と通信するためのメモリインタフェース６０、（スイッチ４８およびＴＯＲスイッチ４０を介して）ホスト２４と通信するためのホストインタフェース６８、およびプロセッサ６４を備える。ホストインタフェース６８は、任意の適切なストレージプロトコル、例えば、不揮発性メモリエクスプレス（ＮＶＭｅ）またはシリアル・アドバンスド・テクノロジ・アタッチメント（ＳＡＴＡ）を使用してホスト２４と通信し得る。
【００４４】
以下に詳細に説明されるように、プロセッサ６４は、格納／検索タスクとメタデータ計算タスクとの両方を実行する。メタデータ計算タスクの非限定的な例は、オブジェクトの識別、説明および／またはタグ付け、アクティビティ、シーンの特性、およびメディアオブジェクト内のコンテンツの他の特徴を含む。さらなる他の実施形態において、メタデータ計算タスクは、ストレージコントローラ（アグリゲータ）５０により実行される。
【００４５】
一実施形態において、プロセッサ６４は、フラッシュ管理モジュール７２と人工知能（ＡＩ）推論エンジン７６とを備える。フラッシュ管理モジュール７２は、データ（例えば、オブジェクトおよびメタデータ）をフラッシュデバイス５２に格納および検索するように構成される。フラッシュ管理モジュール７２のタスクは、「フラッシュ変換層」（Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ、ＦＴＬ）とも呼ばれる。ＡＩ推論エンジン７６は、以下に説明されるように、メディアオブジェクトのメタデータを計算するように構成される。一実施形態において、ＳＳＤコントローラ５６は、（ｉ）メディアオブジェクト８０と（ｉｉ）メディアオブジェクト８０のメタデータを保持するメタデータデータベース８４を、フラッシュデバイス５２に格納する。
【００４６】
図１のＳＳＤ構成は、非限定的な構成例であることと、任意の他の適切なＳＳＤコントローラが代替的な実施形態において使用され得ることとに留意されたい。例えば、ＳＳＤコントローラが、適切なファブリックを介して互いに通信する複数の集積回路（ＩＣ）を備える代替的な実施形態が、以下の図３に説明される。
【００４７】
図２は、本明細書に説明されている実施形態に従って、エッジアプライアンス９４がローカルメタデータ生成を実行するデータ処理システム９０を概略的に示すブロック図である。エッジアプライアンス９４は、一実施形態において、例えば、自律走行車、監視ボックス、ＩｏＴデバイス、または任意の他の適切なタイプのエッジデバイスを備える。
【００４８】
一実施形態において、エッジアプライアンス９４は、コンピュータネットワーク（本例ではインターネット）を介してクラウドベースのデータセンター１０２と通信する。データセンター１０２は、１または複数のホスト（図示せず）を備える。エッジアプライアンス９４は、中央処理装置（ＣＰＵ）クラスタ１０６、ローカルメモリ１１０（通常、ランダムアクセスメモリ（ＲＡＭ）または他の揮発性メモリ）、およびＳＳＤ１１４を備える。ＳＳＤ１１４の内部構造は、一実施形態において、図の右側の挿入図に示される。ＳＳＤ１１４の構造は、図１のＳＳＤ４４の構造と同様である。
【００４９】
様々なＳＳＤ４４のローカルデータベース８４におけるメタデータは、ホスト２４による使用のためにアクセス可能である。いくつかの実施形態において、ホスト２４はメタデータを、場合によっては関連されるオブジェクトまたはそれらの一部を、ＳＳＤ４４から読み取る。代替的な実施形態において、ＳＳＤコントローラ５６のプロセッサ６４は、ホスト２４から、特定のメタデータに対する要求を受信し、要求されるメタデータを要求ホストに応答して送信する。いくつかの実施形態において、要求されるメタデータに加えて、プロセッサ６４は、要求ホストに、１または複数の関連されるメディアオブジェクト、またはそれらの一部をも送信する。他の実施形態において、プロセッサ６４は、メタデータの一部または全部を積極的に、すなわち、ホストからの任意の要求にかかわらず、ホスト２４に送信する。一実施形態において、ホスト２４はメタデータを分析し、メタデータの分析に基づいて、オブジェクトメディアの選択されたセグメントを要求する。
【００５０】
いくつかの実施形態において、ホスト２４の分析タスクは、異なるＳＳＤ４４の複数のメタデータデータベース８４からのメタデータの使用を要求する。そのような実施形態において、ホストは通常、複数のＳＳＤから関連するメタデータを取得し、必要に応じてメタデータを統合する。
【００５１】
いくつかの実施形態において、ＡＩモデルおよび格納のためのオブジェクトは、同じホスト２４から受信される。他の実施形態において、ＡＩモデルおよび格納のためのオブジェクトは、異なるホスト２４から受信される。
【００５２】
いくつかの実施形態において、データ格納プロセスおよびメタデータ生成プロセスは、同時に実行される。いくつかの実施形態において、プロセッサ６４は、メタデータ生成よりオブジェクトの格納／検索に高い優先度を与える。上述のように、いくつかの実施形態において、ＡＩ推論エンジン７６は、プロセッサ６４の少なくともいくつかのリソースがオブジェクトの格納／検索を管理することから解放されているアイドル期間中に、メタデータを生成する。例示的な実施形態において、プロセッサ６４は、そのようなアイドル期間をリアルタイムで識別し、識別されたアイドル期間中に、メタデータ生成を開始または再開する。プロセッサ６４は、識別されたアイドル期間外においてはメタデータ生成を中断する。一実施形態において、メタデータの生成が中断されている間（アイドル期間外）、プロセッサ６４は、関連されるメタデータが生成されるまで、未処理のメディアオブジェクトを揮発性メモリにバッファリングする。代替的に、プロセッサ６４は、メタデータ生成より格納／検索に優先度を与えるために、任意の他の適切な優先順位付けスキームを使用し得る。
【００５３】
図３は、本明細書に説明されている代替的な実施形態に従って、ＳＳＤ１６０を概略的に示すブロック図である。本例において、ＳＳＤ１６０は、複数のフラッシュデバイス５２、例えば、ＮＡＮＤフラッシュメモリ、ＳＳＤコントローラ１６４および（任意選択的に）ダイナミックＲＡＭ（ＤＲＡＭ）１６８を備える。ＳＳＤコントローラ１６４は、ホストインタフェース１７２と、メディアコントローラ１７６と、スタティックＲＡＭ（ＳＲＡＭ）１８０と、１または複数のＣＰＵ１８４と、ＤＲＡＭコントローラ１８８と、ＣＰＵ１９２を任意選択的に備えるＡＩ推論エンジン７６とを備える。 
【００５４】
ホストインタフェース１７２は、例えば、ＮＶＭｅ、ＳＡＴＡプロトコルまたは他の適切なストレージプロトコルに従って、ホスト２４と通信する。メディアコントローラ１７６は、図１および図２のフラッシュ管理モジュール７２と同様に、フラッシュデバイス５２におけるデータの格納および検索を管理するプロセッサである。ＤＲＡＭコントローラ１８８は、ＤＲＡＭ１６８におけるデータの格納を管理する。ＳＳＤコントローラ１６４の様々な要素は、ファブリック１９６を介して互いに通信し、通常、適切なデータおよび制御バスを備える。
【００５５】
他の特徴のうち、図３の例は、いくつかの実施形態において、ＳＳＤコントローラ（または他のストレージデバイスコントローラ）がデータの格納／検索（例えば、メディアオブジェクトの格納／検索）およびメタデータ計算を共に実行する複数のプロセッサを備えることを示す。複数のプロセッサは１または複数の集積回路（ＩＣ）に存在し得、単一デバイスとして単一パッケージにパッケージ化されるまたは複数の別個パッケージにパッケージ化される。 
【００５６】
いくつかの実施形態において、データ処理システムにおける１または複数のプロセッサは、複数の異なるタイプのメディアオブジェクトに、共通のターゲットフィーチャに関連するメタデータを生成する。様々な実施形態において、対象のプロセッサまたは複数のプロセッサはストレージエッジに位置付けられ、システム２０のＳＳＤコントローラ５６におけるプロセッサ６４（図１）またはシステム９０（図２）および／またはシステム２０のストレージコントローラ（アグリゲータ）５０（図１）を備える。以下の説明では、明確さおよび簡潔さのために「プロセッサ」および「システム」を単に参照する。
【００５７】
上述のように、１つの例示的な実施形態において、ターゲットフィーチャは関心人物である。他の実施形態において、開示された技術は、異なるタイプのメディアオブジェクトにおいて見られる任意の他の適切なタイプのターゲットフィーチャに適用され得る。ターゲットフィーチャのいくつかの非限定的な例は、いくつかの例を挙げると、場所の名前（例えば、空港、道路の名前または都市）、企業または他の組織（例えば、企業のロゴ、名前、テキスト、構内の写真または住所）、イベント（例えば、ビデオフィルムで、テキストの招待で、ボイスコールでまたは新郎新婦の静止画像で参照され得る結婚式）を備える。
【００５８】
図４は、本明細書に説明されている実施形態に従って、メタデータ生成のための方法を概略的に示すフロー図である。
【００５９】
通常、プロセッサは、１または複数のホスト２４から、予めトレーニングされたＡＩモデルのセットを受信し、各ＡＩモデルは、それぞれのメディアタイプのオブジェクトからメタデータを生成するように構成される。例えば、プロセッサは、動画のためのＡＩモデルと、テキストメッセージのための別のＡＩモデルと、音声ファイルのためのさらに別のＡＩモデルなどを受信し得る。一実施形態において、ＡＩモデルのうち少なくとも２つ（少なくとも２つのメディアタイプに対応する）は、共通のターゲットフィーチャを識別およびタグ付けするように構成される。 
【００６０】
通常、プロセッサは、メタデータが計算される様々なメディアオブジェクトと、ストレージデバイスにおけるそれらのそれぞれの位置と、それらのそれぞれのメディアタイプとを識別するマッピングを備えるまたはマッピングへのアクセスを有する。プロセッサがＳＳＤコントローラ５６のプロセッサ６４である１つの例示的な実施形態において、対象のメディアオブジェクトはＳＳＤのフラッシュデバイス５２に格納される。プロセッサがＡＦＡ３６のストレージコントローラ（アグリゲータ）５０である別の例示的な実施形態において、対象のメディアオブジェクトはＡＦＡのＳＳＤ４４に格納される。この種のマッピングは、例えば、上位層のファイルシステムまたはオブジェクトデータベースにより作成され得る。例示的な実施形態において、プロセッサは、メタデータを生成するコマンドと共に、ホスト２４のうち１つからマッピングを受信する。
【００６１】
方法は、タイプ選択動作２００において、メタデータが生成されるメディアタイプをプロセッサが選択することから始まる。モデルロード動作２０４において、プロセッサは、選択されたメディアタイプに対応するＡＩモデルを、ＡＩ推論エンジン７６にロードする。本例において、各メディアタイプは、単一のそれぞれのＡＩモデルに対応する。しかしながら、代替的な実施形態において、そのような１対１の関係は必須ではない。例えば、特定のメディアタイプは、他の要因に基づいて選択されるいくつかのＡＩモデルに関連付けられ得る。
【００６２】
オブジェクト識別動作２０８において、プロセッサは、（上記で説明されたマッピングを使用して）現在選択されたメディアタイプのメディアオブジェクトを識別する。メタデータ生成動作２１２において、プロセッサは、現在ロードされたＡＩモデルを使用して、現在選択されたメディアタイプのメディアオブジェクトのメタデータを生成する。データベース格納動作２１６において、プロセッサは、生成されたメタデータをメタデータデータベース８４に格納する。方法は次に、上記のタイプ選択動作２００にループバックし、プロセッサはメタデータ生成のために次のメディアタイプの選択に進む。この種の例示的なプロセスが以下の図５に示される。
【００６３】
通常、図４の方法は、例えば、プロセッサのバックグラウンドまたは優先度の低いタスクとして連続的に実行される。そのような連続的な動作は、例えば、時間の経過と共にストレージに到着し続ける新しいメディアオブジェクトを説明する。
【００６４】
いくつかの実施形態において、図４の方法を使用して作成されたメタデータデータベース８４は統合されたメタデータデータベースであり、複数の異なるメディアタイプのメディアオブジェクトのメタデータを共にインデックス化および格納する。他の特徴のうち、プロセッサは、共通のターゲットフィーチャに従って、２つまたはそれより多くのメディアタイプに属する少なくともいくつかのメディアオブジェクトをタグ付けおよびインデックス化する。統合されたメタデータデータベースの例示的なフォーマットは、以下の図５に示される。
【００６５】
ターゲットフィーチャが関心人物である例示的な実施形態において、プロセッサは、例えば、データベースファイル、電子メールおよび／またはテキストメッセージにおける人への参照、画像、動画および／またはウェブページにおける人の顔の出現、および録音における人の声の出現などのようなデータベースにおいてタグ付けを行う。 
【００６６】
一実施形態において、プロセッサは、共通の識別子を使用して、データベース８４における複数の異なるメディアタイプの様々なメディアオブジェクトにおけるターゲットフィーチャをタグ付けする。別の実施形態において、プロセッサは、データベース８４におけるメタデータをターゲットフィーチャ別にグループ化する。 
【００６７】
そのような統合されたデータベースにおいて共通のターゲットフィーチャをタグ付けすることは、メディアオブジェクトが異なるソースから生じる、および／または、複数のメディアタイプである、および／または、例えば、上記に引用され、その開示の全てが参照により本明細書に組み込まれる「ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＧＥＮＥＲＡＴＩＮＧ  ＭＥＴＡＤＡＴＡ  ＤＥＳＣＲＩＢＩＮＧ  ＵＮＳＴＲＵＣＴＵＲＥＤ  ＤＡＴＡ  ＯＢＪＥＣＴＳ  ＡＴ  ＴＨＥ  ＳＴＯＲＡＧＥ  ＥＤＧＥ」と題する米国特許出願（代理人整理番号ＭＰ１１０４９／００４０４８  ０７２９  １０１）、「ＳＴＯＲＡＧＥ  ＥＤＧＥ  ＣＯＮＴＲＯＬＬＥＲ  ＷＩＴＨ  Ａ  ＭＥＴＡＤＡＴＡ  ＣＯＭＰＵＴＡＴＩＯＮＡＬ  ＥＮＧＩＮＥ」と題する米国特許出願（代理人整理番号ＭＰ１１０６０／００４０４８  ０７３０  １０１）、「ＳＴＯＲＡＧＥ  ＡＧＧＲＥＧＡＴＯＲ  ＣＯＮＴＲＯＬＬＥＲ  ＷＩＴＨ  ＭＥＴＡＤＡＴＡ  ＣＯＭＰＵＴＡＴＩＯＮ  ＣＯＮＴＲＯＬ」と題する米国特許出願（代理人整理番号ＭＰ１１０６５／００４０４８  ０７３１  １０１）、および「ＭＥＴＡＤＡＴＡ  ＧＥＮＥＲＡＴＩＯＮ  ＡＴ  ＴＨＥ  ＳＴＯＲＡＧＥ  ＥＤＧＥ」と題する米国特許出願（代理人整理番号ＭＰ１１０７３／１０３６  １１８１）においてさらに詳細に説明されるような、ストレージエッジにおいて異なるストレージデバイスに配置されたプロセッサのような異なるプロセッサで生成される場合でさえ、ホスト２４が、ターゲットフィーチャに関連される多種多様なメディアオブジェクトを効率的に分析することを可能にする。
【００６８】
統合されたデータベースはストレージエッジで生成されるので、開示された技術は、メタデータを計算するためにネットワークにわたってメディアオブジェクトを搬送する必要を解消する。通常、全部ではないがほとんどのメディアオブジェクトが、ストレージデバイスの境界内にあるままであり、それが分析のためにホストに提供されるメタデータである。メタデータに基づいて、ホストは、どの特定のメディアオブジェクトまたはその一部が、あったとしても、ネットワークを介して検索される必要があるかを選択できる。このように、コンピュータネットワークにわたってのトラフィックオーバーヘッドは大幅に減少する。また、例えば、より少ないデータ移動を要求するので、且つ複数のストレージデバイスコントローラにより分配メタデータ生成が並列に行われることを可能にするので、開示された技術はレイテンシを減少させる。開示されている解決手段は複数のストレージデバイスにわたって分配された実装に適しているので、解決手段は非常に拡張可能である。開示された技術はメタデータ生成速度を向上させるので、それはメディアオブジェクトのアップデートに迅速に応答する。
【００６９】
１つの例示的な実装において、統合されたメタデータデータベース８４における各エントリは、共通のターゲットフィーチャの出現を示す。各エントリは、少なくとも、（ｉ）メディアオブジェクトのメディアタイプと、（ｉｉ）メディアオブジェクトが存在するまたは格納される予定のファイルのファイル識別子と、（ｉｉｉ）メディアオブジェクト内のターゲットフィーチャの出現位置とを備える。任意の他の適切なデータ構造または表示が使用され得る。
【００７０】
プロセッサは通常、メディアのタイプに適切な位置メトリックにより出現する位置を表す。様々な実施形態において、出現位置は、例えば、動画の開始からのフレーム数または経過時間、動画または静止画像におけるフレーム内の座標（例えば、ターゲットフィーチャを囲む矩形の対角線の座標）、音声ファイルにおける経過時間、テキストオブジェクトの開始からの語数、または任意の他の適切な位置メトリックを備える。
【００７１】
図４の方法のフローは、単に概念の明確性のために示される例示的なフローである。代替的な実施形態において、任意の他の適切な方法は、メタデータ計算および統合されたメタデータデータベースの作成に使用され得る。例えば、上記の説明は、不揮発性メモリ（ＮＶＭ）に既に格納されているメディアオブジェクトに対するメタデータ生成を主に参照する。追加的または代替的に、開示された技術は、オンザフライである、すなわち、ＮＶＭに格納される途中の、メディアオブジェクトのメタデータを生成するためにも使用され得る。
【００７２】
図５は、本明細書に説明されている実施形態に従って、統合されたメタデータデータベースを形成するプロセスを概略的に示す図である。図５の例において、ターゲットフィーチャは関心人物であり、処理中のメディアオブジェクトは特定のＳＳＤに格納される。
【００７３】
図５の左側は、ＳＳＤで混合された複数のメディアタイプの複数のメディアオブジェクトを示す。この実施形態において、「Ｖ」でマークされたオブジェクトはビデオオブジェクトであり、「Ａ」でマークされたオブジェクトは音声オブジェクトであり、「Ｔ」でマークされたオブジェクトはテキストオブジェクトである。
【００７４】
図５の中央は、メディアオブジェクトがメディアタイプによりバッチされ、ＡＩ推論エンジンによるバッチ処理の準備が整った段階を示す。見られるように、ビデオオブジェクト、音声オブジェクトおよびテキストオブジェクトは別々にバッチされる。オブジェクト内の共通のターゲットフィーチャの出現（この例では関心人物への参照）は「ｘ」でマークされる。見られるように、ターゲットフィーチャは、複数のメディアタイプのオブジェクトに出現する。いくつかのオブジェクトはターゲットフィーチャの複数の発生を備え、他のオブジェクトは単一の発生を備え、さらに他のオブジェクトではターゲットフィーチャが全く出現しない。
【００７５】
図５の右側は、ストレージエッジにおけるプロセッサによって、例えば、ＳＳＤコントローラ５６のプロセッサ６４によってまたはアグリゲータ５０によって作成される統合されたメタデータデータベースを示す。統合されたメタデータデータベースにおける各エントリは、共通のターゲットフィーチャのそれぞれの発生に対応する。各エントリは、メディアオブジェクトのメディアタイプ（本例では「Ｖ」、「Ａ」または「Ｔ」）、例えばファイルの名前とその格納位置を含むファイルの一意識別子、ファイル内のターゲットフィーチャの発生位置などの属性を特定する。
【００７６】
上記の図１から図３に示されたシステムおよびストレージデバイスの構成と、上記の図５に示されたデータベースの構成は、構成例であり、単に概念の明確性のために選択されたものである。図１から図３は、ストレージデバイスのコントローラ（例えば、ＳＳＤにおけるＳＳＤコントローラ、またはＡＦＡのアグリゲータ）が、コンピュータネットワークを介して１または複数のリモートホストと通信し、ストレージデバイスのＮＶＭとローカルに通信する構成例を示す。コントローラは、ＮＶＭに格納されたまたは格納される予定のメディアオブジェクトのＮＶＭメタデータを共に計算および格納する１または複数のプロセッサを備える。代替的な実施形態において、任意の他の適切なシステムおよび／またはストレージデバイスの構成が使用され得る。開示された技術の理解に必須ではない要素は、明確性のために図から省略されている。 
【００７７】
代替的な実施形態において、開示された技術は、記録媒体が磁気的である他の適切なタイプのストレージデバイス、例えば、ハードディスクドライブ（ＨＤＤ）とともに使用され得る。
【００７８】
データ処理システム２０および９０、そしてＳＳＤ４４、ＳＳＤ１１４、ＡＦＡ３６およびそのコンポーネント、ならびにＳＳＤ１６０およびそのコンポーネント（例えば、ＡＩ推論エンジン７６）などの、それらのコンポーネントの様々な要素は、例えば、特定用途向け集積回路（ＡＳＩＣ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）におけるハードワイヤードまたはプログラマブルロジックを使用することなどの、専用ハードウェアまたはファームウェアを使用すること、ソフトウェアを使用すること、または、ハードウェア要素とソフトウェア要素との組み合わせを使用することで実装され得る。
【００７９】
通常、ＳＳＤコントローラ５６のプロセッサ６４、アグリゲータ５０、ＣＰＵ１８４および／またはＣＰＵ１９２はプログラマブルプロセッサを備え、それらは、本明細書に説明されている機能（例えば、フラッシュ管理およびメタデータ計算）を実行するために、ソフトウェアにおいてプログラミングされる。ソフトウェアは、ネットワークを介して電子的形態でプロセッサにダウンロードされてもよく、または、例えば、代替的にまたは追加的に、非一時的な有形媒体（磁気メモリ、光メモリ、または電子メモリなど）に提供および／または格納されてもよい。
【００８０】
本明細書に説明されている実施形態は主にメディア処理を対象とするが、本明細書に説明されている方法およびシステムは、人の挙動分析などの他のアプリケーションにも使用され得る。
【００８１】
本明細書に説明されている実施形態は主にストレージエッジにおけるメタデータ生成を対象とするが、本明細書に説明されている方法およびシステムは、ネットワークのホスト側に位置付けられた１つのプロセッサまたは複数のプロセッサによるメタデータ生成にも使用され得る。メタデータ生成タスクがストレージエッジにおけるプロセッサとホスト側におけるプロセッサとの間で分割されるハイブリッド解決手段も実行可能である。
【００８２】
上記で説明された実施形態は例として挙げられていることと、本発明は上記に具体的に示され説明されたものに限定されないこととに留意されたい。むしろ、本発明の範囲は、上記に説明された様々な特徴の組み合わせおよび部分的な組み合わせの両方、ならびに上記の説明を読むと当業者が想到する、且つ先行技術に開示されていない、それらの変形および修正を含む。参照により本特許出願に組み込まれる文献は、本願の不可欠な部分とみなされることになる。本明細書において明示的または暗示的になされた定義と矛盾する形で、任意の用語がこれらの組み込まれた文献において定義されている限りにおいては、本明細書における定義のみが考慮されるべきである。
【図１】
2021532472.tif 000003
【図２】
2021532472.tif 000004
【図３】
2021532472.tif 000005
【図４】
2021532472.tif 000006
【図５】
2021532472.tif 000007
【国際調査報告】
2021532472.tif 000008
2021532472.tif 000009
2021532472.tif 000010