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

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

▶ マーベル アジア ピーティーイー、リミテッドの特許一覧

特許7419621複数のオブジェクトタイプのためのメタデータ生成
<>
  • 特許-複数のオブジェクトタイプのためのメタデータ生成 図1
  • 特許-複数のオブジェクトタイプのためのメタデータ生成 図2
  • 特許-複数のオブジェクトタイプのためのメタデータ生成 図3
  • 特許-複数のオブジェクトタイプのためのメタデータ生成 図4
  • 特許-複数のオブジェクトタイプのためのメタデータ生成 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】複数のオブジェクトタイプのためのメタデータ生成
(51)【国際特許分類】
   G06F 16/14 20190101AFI20240116BHJP
   G06F 16/188 20190101ALI20240116BHJP
【FI】
G06F16/14
G06F16/188
【請求項の数】 28
(21)【出願番号】P 2021503760
(86)(22)【出願日】2019-07-29
(65)【公表番号】
(43)【公表日】2021-11-25
(86)【国際出願番号】 IB2019056442
(87)【国際公開番号】W WO2020026112
(87)【国際公開日】2020-02-06
【審査請求日】2022-01-07
(31)【優先権主張番号】62/712,823
(32)【優先日】2018-07-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/714,563
(32)【優先日】2018-08-03
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/716,269
(32)【優先日】2018-08-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/726,847
(32)【優先日】2018-09-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/726,852
(32)【優先日】2018-09-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/262,971
(32)【優先日】2019-01-31
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】520078248
【氏名又は名称】マーベル アジア ピーティーイー、リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ミズラヒ、ノーム
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2006-195970(JP,A)
【文献】特開2004-159331(JP,A)
【文献】特表2016-512634(JP,A)
【文献】特表2008-543224(JP,A)
【文献】米国特許出願公開第2017/0293431(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
コンピュータネットワークを介して1または複数のリモートホストと通信するように構成されたホストインタフェースと、
1または複数のストレージデバイスの1または複数の不揮発性メモリと通信するように構成されたストレージインタフェースと、
1または複数のプロセッサと
を備え、
前記1または複数のプロセッサは、
前記1または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索を管理することと、
前記1または複数のストレージデバイスに格納されたまたは格納される途中の複数の前記メディアオブジェクトのメタデータを計算することであって、前記メディアオブジェクトは複数のメディアタイプであり、前記計算されたメタデータは、前記複数のメディアタイプのうち少なくとも2つの異なるメディアタイプの前記メディアオブジェクトにおけるターゲットフィーチャをタグ付けし、前記メタデータは、前記メディアオブジェクト内の前記ターゲットフィーチャの出現位置を示す、計算することと、
前記1または複数の不揮発性メモリに、前記少なくとも2つの異なるメディアタイプで見られる前記ターゲットフィーチャをタグ付けする前記メタデータを、前記1または複数のホストによる使用のために格納することと
を行うように構成される、
メタデータ計算装置。
【請求項2】
少なくともいくつかの前記メディアオブジェクトは非構造化メディアオブジェクトであり、前記メタデータの計算において、前記1または複数のプロセッサは、前記非構造化メディアオブジェクトに前記ターゲットフィーチャが出現する位置をタグ付けするように構成される、請求項1に記載のメタデータ計算装置。
【請求項3】
フレームのシーケンスを備えるメディア項目の場合、前記1または複数のプロセッサは、前記ターゲットフィーチャが出現する1または複数の前記フレームを識別およびタグ付けすることにより前記位置をタグ付けするように構成される、請求項2に記載のメタデータ計算装置。
【請求項4】
少なくともフレームを備えるメディア項目の場合、前記1または複数のプロセッサは、前記ターゲットフィーチャが出現する前記フレームにおける1または複数の座標を識別およびタグ付けすることにより前記位置をタグ付けするように構成される、請求項2に記載のメタデータ計算装置。
【請求項5】
前記1または複数のプロセッサは、それぞれの前記メディアタイプに対して定義された複数の異なる位置メトリックに従って前記位置を計算するように構成される、請求項2に記載のメタデータ計算装置。
【請求項6】
前記1または複数のプロセッサは、前記1または複数のホストから、前記コンピュータネットワークを介して、前記メディアオブジェクトからの前記メタデータの抽出を特定する1または複数のモデルを受信することと、受信された前記1または複数のモデルに基づいて前記メタデータを生成することとを行うように構成される、請求項1から5のいずれか一項に記載のメタデータ計算装置。
【請求項7】
前記1または複数のプロセッサは、前記複数のメディアタイプの各々に対するそれぞれのモデルを、前記1または複数のホストから受信するように構成される、請求項6に記載のメタデータ計算装置。
【請求項8】
前記1または複数のプロセッサは、1または複数の予めトレーニングされた人工知能(AI)モデルを、前記1または複数のモデルとして受信するように構成される、請求項6に記載のメタデータ計算装置。
【請求項9】
前記1または複数のプロセッサは、同じAI推論エンジンを複数の前記AIモデルに適用することにより、前記メタデータを生成するように構成される、請求項8に記載のメタデータ計算装置。
【請求項10】
前記1または複数のプロセッサは、前記メディアタイプに対応する複数のバッチに前記メディアオブジェクトを編成することと、前記複数のバッチの各々を介して前記メタデータを計算することとを行うように構成される、請求項1から5のいずれか一項に記載のメタデータ計算装置。
【請求項11】
前記1または複数のプロセッサは、前記1または複数のプロセッサの少なくともいくつかのリソースが前記メディアオブジェクトのストレージを管理することから解放されているアイドル期間中に前記メタデータを生成するように構成されている、請求項1から5のいずれか一項に記載のメタデータ計算装置。
【請求項12】
前記1または複数のプロセッサは、前記ターゲットフィーチャをタグ付けする且つ異なるメディアソースから抽出されたまたは異なるプロセッサにより抽出されたメタデータを、統合されたメタデータデータベースにおいて結合するように構成される、請求項1から5のいずれか一項に記載のメタデータ計算装置。
【請求項13】
前記1または複数のプロセッサは、メディアタイプ、前記メディアオブジェクトを含むファイルのファイル識別子、および前記ファイル内の前記メディアオブジェクトの位置からなる属性グループから選択された少なくとも1つの属性を識別する統合されたメタデータデータベースにおいて、前記ターゲットフィーチャをタグ付けする前記メタデータを結合するように構成される、請求項1から5のいずれか一項に記載のメタデータ計算装置。
【請求項14】
前記1または複数のプロセッサは、さらに、前記1または複数のプロセッサの少なくともいくつかのリソースが前記メディアオブジェクトの格納を管理することから解放されているアイドル期間を識別するように構成され、前記メタデータの生成は、
前記識別されたアイドル期間中に、開始または再開され、前記識別されたアイドル期間外では中断されている、請求項1から13のいずれか一項に記載のメタデータ計算装置。
【請求項15】
メタデータ計算のための方法であって、前記方法は、
コンピュータネットワークを介して、1または複数のストレージデバイスのストレージコントローラにより1または複数のリモートホストと通信し、前記1または複数のストレージデバイスの1または複数の不揮発性メモリと通信する段階と、
前記ストレージコントローラを使用して、前記1または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索を管理し、前記1または複数のストレージデバイスに格納されたまたは格納される途中の複数の前記メディアオブジェクトのメタデータを計算する段階であって、前記メディアオブジェクトは複数のメディアタイプであり、計算された前記メタデータは、前記複数のメディアタイプのうち少なくとも2つの異なるメディアタイプの前記メディアオブジェクトにおけるターゲットフィーチャをタグ付けし、前記メタデータは、前記メディアオブジェクト内の前記ターゲットフィーチャの出現位置を示す、段階と、
前記少なくとも2つの異なるメディアタイプで見られる前記ターゲットフィーチャをタグ付けする前記メタデータを、前記1または複数のホストによる使用のために前記1または複数の不揮発性メモリに格納する段階と
を備える、メタデータ計算のための方法。
【請求項16】
少なくともいくつかの前記メディアオブジェクトは非構造化メディアオブジェクトであり、前記メタデータを計算する段階は、前記非構造化メディアオブジェクトに前記ターゲットフィーチャが出現する位置をタグ付けする段階を有する、請求項15に記載のメタデータ計算のための方法。
【請求項17】
フレームのシーケンスを備えるメディア項目の場合、前記位置をタグ付けする段階は、前記ターゲットフィーチャが出現する1または複数の前記フレームを識別およびタグ付けする段階を含む、請求項16に記載のメタデータ計算のための方法。
【請求項18】
少なくともフレームを備えるメディア項目の場合、前記位置をタグ付ける段階は、前記ターゲットフィーチャが出現する前記フレームにおける1または複数の座標を識別およびタグ付けする段階を含む、請求項16に記載のメタデータ計算のための方法。
【請求項19】
前記位置を計算する段階は、それぞれの前記メディアタイプに対して定義された複数の異なる位置メトリックに従って前記位置を計算する段階を備える、請求項16に記載のメタデータ計算のための方法。
【請求項20】
前記1または複数のホストから、前記コンピュータネットワークを介して、前記メディアオブジェクトからの前記メタデータの抽出を特定する1または複数のモデルを受信する段階と、受信された前記1または複数のモデルに基づいて前記メタデータを生成する段階とを備える、請求項15から19のいずれか一項に記載のメタデータ計算のための方法。
【請求項21】
前記1または複数のモデルを受信する段階は、前記メディアタイプの各々に対するそれぞれのモデルを前記1または複数のホストから受信する段階を有する、請求項20に記載のメタデータ計算のための方法。
【請求項22】
前記1または複数のモデルを受信する段階は、1または複数の予めトレーニングされた人工知能(AI)モデルを受信する段階を有する、請求項20に記載のメタデータ計算のための方法。
【請求項23】
前記メタデータを計算する段階は、複数の前記AIモデルに同じAI推論エンジンを適用する段階を有する、請求項22に記載のメタデータ計算のための方法。
【請求項24】
前記メタデータを計算する段階は、前記メディアタイプに対応する複数のバッチに前記メディアオブジェクトを編成する段階と、前記複数のバッチの各々を介して前記メタデータを計算する段階とを有する、請求項15から19のいずれか一項に記載のメタデータ計算のための方法。
【請求項25】
前記メタデータを計算する段階は、前記ストレージコントローラの少なくともいくつかのリソースが前記メディアオブジェクトのストレージを管理することから解放されているアイドル期間中に前記メタデータを生成する段階を有する、請求項15から19のいずれか一項に記載のメタデータ計算のための方法。
【請求項26】
前記メタデータを格納する段階は、前記ターゲットフィーチャをタグ付けする且つ異なるメディアソースから抽出されたまたは異なるプロセッサにより抽出されたメタデータを、統合されたメタデータデータベースにおいて結合する段階を有する、請求項15から19のいずれか一項に記載のメタデータ計算のための方法。
【請求項27】
前記メタデータを格納する段階は、メディアタイプ、前記メディアオブジェクトを含むファイルのファイル識別子、および前記ファイル内の前記メディアオブジェクトの位置からなる属性グループから選択された少なくとも1つの属性を識別する統合されたメタデータデータベースにおいて、前記ターゲットフィーチャをタグ付けする前記メタデータを結合する段階を有する、請求項15から19のいずれか一項に記載のメタデータ計算のための方法。
【請求項28】
前記ストレージコントローラにより、前記ストレージコントローラの少なくともいくつかのリソースが前記メディアオブジェクトの格納を管理することから解放されているアイドル期間を識別する段階をさらに備え、前記メタデータの生成は、
前記識別されたアイドル期間中に、開始または再開され、前記識別されたアイドル期間外では中断されている、請求項15から27のいずれか一項に記載のメタデータ計算のための方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照] 本開示は、35U.S.C.§119(e)に基づいて、同時係属中の同一出願人による米国仮特許出願第62/712,823号(2018年7月31日出願)、第62/714,563号(2018年8月3日出願)、第62/716,269号(2018年8月8日に出願)、第62/726,847号(2018年9月4日に出願)、第62/726,852号(2018年9月4日に出願)の利益を主張する。以下の同一出願人による米国非仮特許出願の各々も、上記の米国仮特許出願の利益を主張しており、本明細書に同時に提出される。 1.2019年1月31日に出願された「SYSTEMS AND METHODS FOR GENERATING METADATA DESCRIBING UNSTRUCTURED DATA OBJECTS AT THE STORAGE EDGE」と題する米国特許出願第16/263,387号(代理人整理番号MP11049/004048 0729 101) 2.2019年1月31日に出願された「STORAGE EDGE CONTROLLER WITH A METADATA COMPUTATIONAL ENGINE」と題する米国特許出願第16/264,473号(代理人整理番号MP11060/004048 0730 101) 3.2019年1月31日に出願された「STORAGE AGGREGATOR CONTROLLER WITH METADATA COMPUTATION CONTROL」と題する米国特許出願第16/264,248号(代理人整理番号MP11065/004048 0731 101) 4.2019年1月31日に出願された「METADATA GENERATION AT THE STORAGE EDGE」と題する米国特許出願第16/262,975号(代理人整理番号MP11073/1036 1181)
【0002】
本開示は一般的にメディアオブジェクトの処理に関連し、具体的には、メディアオブジェクトのメタデータ生成の方法およびシステムに関連する。
【背景技術】
【0003】
様々なシステムおよびアプリケーションは、いくつかの例を挙げると、テキスト項目、動画、画像、音声ファイルおよびセンサデータなどの大量のコンテンツの分析を含む。いくつかの分析タスクは、コンテンツに関連付けられたメタデータを使用する。
【0004】
上記の説明はこの分野における関連技術の一般的な概要として示されており、上記の説明が含む情報のいずれかが本特許出願に対する先行技術を構成することを認めるものと解釈されるべきではない。
【発明の概要】
【0005】
本明細書に説明されている実施形態は、ホストインタフェース、ストレージインタフェースおよび1または複数のプロセッサを含むメタデータ計算装置を提供する。ホストインタフェースは、コンピュータネットワークを介して1または複数のリモートホストと通信するように構成される。ストレージインタフェースは、1または複数のストレージデバイスの1または複数の不揮発性メモリと通信するように構成される。1または複数のプロセッサは、1または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索を管理することと、1または複数のストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトのメタデータを計算することであって、ここで、メディアオブジェクトは複数のメディアタイプであり、計算されたメタデータは、複数のメディアタイプのうち少なくとも2つの異なるメディアタイプのメディアオブジェクトにおけるターゲットフィーチャをタグ付けする、計算することと、1または複数の不揮発性メモリに、少なくとも2つの異なるメディアタイプで見られるターゲットフィーチャをタグ付けするメタデータを、1または複数のホストによる使用のために格納することとを行うように構成される。
【0006】
いくつかの実施形態において、少なくともいくつかのメディアオブジェクトは非構造化メディアオブジェクトであり、メタデータの計算において、1または複数のプロセッサは、非構造化メディアオブジェクトにターゲットフィーチャが出現する位置をタグ付けするように構成される。一実施形態において、フレームのシーケンスを含むメディア項目の場合、1または複数のプロセッサは、ターゲットフィーチャが出現する1または複数のフレームを識別およびタグ付けすることにより位置をタグ付けするように構成される。例示的な実施形態において、少なくともフレームを含むメディア項目の場合、1または複数のプロセッサは、ターゲットフィーチャが出現するフレームにおける1または複数の座標を識別およびタグ付けすることにより位置をタグ付けするように構成される。開示された実施形態において、1または複数のプロセッサは、それぞれのメディアタイプに対して定義された複数の異なる位置メトリックに従って位置を計算するように構成される。
【0007】
いくつかの実施形態において、1または複数のプロセッサは、1または複数のホストから、コンピュータネットワークを介して、メディアオブジェクトからのメタデータの抽出を特定する1または複数のモデルを受信することと、受信されたモデルに基づいてメタデータを生成することとを行うように構成される。一実施形態において、1または複数のプロセッサは、複数のメディアタイプの各々に対するそれぞれのモデルを、1または複数のホストから受信するように構成される。例示的な実施形態において、1または複数のプロセッサは、1または複数の予めトレーニングされた人工知能(AI)モデルを、1または複数のモデルとして受信するように構成される。開示された実施形態において、1または複数のプロセッサは、同じAI推論エンジンを複数のAIモデルに適用することにより、メタデータを生成するように構成される。
【0008】
別の実施形態において、1または複数のプロセッサは、メディアタイプに対応する複数のバッチにメディアオブジェクトを編成することと、バッチの各々を介してメタデータを計算することとを行うように構成される。さらに別の実施形態において、1または複数のプロセッサは、1または複数のプロセッサの少なくともいくつかのリソースがメディアオブジェクトのストレージを管理することから解放されているアイドル期間中にメタデータを生成するように構成されている。
【0009】
さらに別の実施形態において、1または複数のプロセッサは、ターゲットフィーチャをタグ付けする且つ異なるメディアソースから抽出されたまたは異なるプロセッサにより抽出されたメタデータを、統合されたメタデータデータベースにおいて結合するように構成される。追加的または代替的に、1または複数のプロセッサは、メディアタイプ、メディアオブジェクトを含むファイルのファイル識別子、およびファイル内のメディアオブジェクトの位置からなる属性グループから選択された少なくとも1つの属性を識別する統合されたメタデータデータベースにおいて、ターゲットフィーチャをタグ付けするメタデータを結合するように構成される。
【0010】
本明細書に説明されている実施形態に従って追加的に提供された、メタデータ計算のための方法が存在する。方法は、コンピュータネットワークを介して、1または複数のストレージデバイスのストレージコントローラにより1または複数のリモートホストと通信することと、1または複数のストレージデバイスの1または複数の不揮発性メモリと通信することとを含む。1または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索は、ストレージコントローラを使用して管理される。さらに、ストレージコントローラを使用することで、メタデータは、1または複数のストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトに対して計算される。メディアオブジェクトは複数のメディアタイプであり、計算されたメタデータは、複数のメディアタイプのうち少なくとも2つの異なるメディアタイプのメディアオブジェクトにおけるターゲットフィーチャをタグ付けする。少なくとも2つの異なるメディアタイプで見られるターゲットフィーチャにタグ付けするメタデータは、1または複数のホストによる使用のために1または複数の不揮発性メモリに格納される。
【0011】
また、本明細書に説明されている実施形態に従って、ホストインタフェース、ストレージインタフェースおよび1または複数のプロセッサを含むメタデータ計算装置を提供する。ホストインタフェースは、コンピュータネットワークを介して1または複数のリモートホストと通信するように構成される。ストレージインタフェースは、1または複数のストレージデバイスの1または複数の不揮発性メモリと通信するように構成される。1または複数のプロセッサは、1または複数のストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトに対してメタデータを計算することであって、ここでメディアオブジェクトは複数のメディアタイプであり、計算されたメタデータは、複数のメディアタイプのうち少なくとも2つのメディアタイプのメディアオブジェクトにおけるターゲットフィーチャをタグ付けする、計算することと、1または複数のホストによる使用のためにメタデータを格納することとを行うように構成される。
【0012】
本明細書に説明されている実施形態に従ってさらに提供された、メタデータ計算のための方法が存在する。方法は、コンピュータネットワークを介して、1または複数のストレージデバイスのストレージコントローラにより1または複数のリモートホストと通信することと、1または複数のストレージデバイスの1または複数の不揮発性メモリと通信することとを含む。ストレージコントローラを使用することで、メタデータは、1または複数のストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトに対して計算され、ここでメディアオブジェクトは複数のメディアタイプであり、計算されたメタデータは、メディアタイプのうち少なくとも2つのメディアオブジェクトにおけるターゲットフィーチャをタグ付けし、メタデータは、1または複数のホストによる使用のために格納される。
【0013】
本開示は、図面と合わせると、本開示の実施形態の以下の詳細な説明から、より十分に理解されるであろう。
【図面の簡単な説明】
【0014】
図1】本明細書に説明されている実施形態に従って、ストレージエッジにおいてメタデータ生成を実行するデータセンターを概略的に示すブロック図である。
【0015】
図2】本明細書に説明されている実施形態に従って、ローカルメタデータ生成を実行するエッジアプライアンスを概略的に示すブロック図である。
【0016】
図3】本明細書に説明されている実施形態に従って、SSDを概略的に示すブロック図である。
【0017】
図4】本明細書に説明されている実施形態に従って、メタデータ生成のための方法を概略的に示すフロー図である。
【0018】
図5】本明細書に説明されている実施形態に従って、統合されたメタデータデータベースを形成するプロセスを概略的に示す図である。
【発明を実施するための形態】
【0019】
本明細書に説明されている実施形態は、メディアオブジェクトのメタデータを生成することと、そのようなメタデータをデータ処理システムにおいて格納および使用することとのための向上された方法およびシステムを提供する。
【0020】
いくつかの実施形態において、データ処理システムは、メディアオブジェクトに含まれる大量のコンテンツデータを格納および分析するために使用される。オブジェクト分析アプリケーションのいくつかの非限定的な例は、防犯カメラの動画映像における関心人物または他のオブジェクトの識別、ストリーミングされた動画に対する広告(「ad」)のカスタマイズされた挿入、自律走行車両からのデータの分析、ChatBotのボイスコールデータベースにおける呼び出しおよび応答の品質の分析、テキスト文書および/またはテキストメッセージデータベースの分析、機嫌の検出、動画ファイルまたはボイスコール内のシーン識別、監視カメラ映像における人またはオブジェクトの識別、監視カメラ映像において発生している動作のタイプの識別、録音における音声またはサウンドのタイプの識別、会話中に使用されるフレーズおよび/または応答の分類、自動車用センサのデータおよび運転応答の分析、およびその他の多くを含む。
【0021】
メディアオブジェクトの例は、動画、サウンドの録音、静止画像、テキストメッセージおよび電子メールなどのテキストオブジェクト、自動車用センサおよびモノのインターネット(IoT)センサなどの様々なタイプのセンサから取得されたデータ、データベースオブジェクト、および/または任意の他の適切なオブジェクトを含む。メディアオブジェクトは、簡潔さのために、本明細書において単に「オブジェクト」とも呼ばれる。
【0022】
通常、システムは、メディアオブジェクトのメタデータを生成し、所望の分析を実行するか、またはメタデータに基づく動作を実行する。ad挿入のためのシステムにおいて、例えば、システムは通常、ストリーミングされた各動画を分析し、動画をシーンに分割し、シーンにおける各シーン、人および/またはオブジェクトに関連付けられた感情を推定し、シーンにおける音声のコンテキストを識別し、推定されたシーンの感情および他の情報を動画に関連付けられたメタデータとして格納する。このメタデータに基づいて、システムは次に、adの影響を最大にすべく、動画内のどこに所与のadを挿入するかを選択できる。
【0023】
完全に異なる分野における別の例として、データ処理システムは、自律走行車のカメラおよび他のセンサにより取得されたデータのオフライン分析に使用される。この例において、システムは、車両カメラにより取得された動画および/または他車両センサの出力をスキャンし、AIモデルにより予め分類されたイベントを関心のあるイベントと識別し、それらをメタデータとしてタグ付けし得る。システムは次に、メタデータを使用して識別されたイベントを調査することができる。
【0024】
例示的な実施形態において、自動車システムでは、非常に大量のセンサデータが生成される。メタデータは、ネットワークに周期的に接続される車両のストレージ側で生成される。メタデータは、車両のストレージデバイスに少なくとも一時的に格納されるまたは破棄される、関連するセンサデータの部分を選択するのに使用される。次に、選択された関連するオブジェクトと共に、メタデータは、メタデータオブジェクトが分析されるセントラルプロセッサに、ネットワーク接続を介して周期的にアップロードされ、自律走行車両の挙動を改善すること、または車両のユーザに伝達されるべきターゲット広告を決定することなどの様々な目的に適用され得る。
【0025】
多くの場合、メディアオブジェクトは構造化されていない。この文脈において、用語「非構造化オブジェクト」は、オブジェクトのメディアコンテンツ(例えば、テキストコンテンツ、オーディオコンテンツ、画像コンテンツまたは動画コンテンツ)が未加工の形態で提供され、固定フィールドフォーマットに従って前もって編成されていないことを意味する。通常、非構造化オブジェクトは、フレームごとのコンテンツまたは他のコンテンツ部分の任意の側面を定義するメタデータで演繹的にタグ付けされるものではない。通常、非構造化データは非トランザクションであり、そのフォーマットはリレーショナルデータベーススキーマに容易には準拠しない。
【0026】
メタデータは、ほぼ常に構造化されていないメディアオブジェクトから、様々な方法で生成され得る。1つの可能性は、例えばニューラルネットワークなどの人工知能(AI)モデルを使用することである。典型的な実装において、AIモデルは、メディアオブジェクトの本体と正確であると既知である対応するメタデータとである「トレーニングセット」を使用してトレーニングされる。トレーニングされたモデルは次に、他のメディアオブジェクトのメタデータを生成するのに適用される。予めトレーニングされたAIモデルを受信し、それをオブジェクトのメタデータを計算するのに使用するソフトウェアまたはハードウェアモジュールは、本明細書では、「AI推論エンジン」と呼ばれる。いくつかの実装において、いくつかの異なるAIモデルが、非構造化メディアオブジェクトまたは部分的に構造化されたメディアオブジェクトに適用される。
【0027】
本明細書に説明されている実施形態は、複数の異なるメディアタイプのメディアオブジェクトに、共通であるターゲットフィーチャに関連するメタデータを生成、格納および使用する方法およびシステムを提供する。1つの説明例において、ターゲットフィーチャは関心人物である。異なるメディアタイプのメディアオブジェクトにおけるこのターゲットフィーチャの発生は、例えば、データベースファイル、電子メールおよび/またはテキストメッセージにおける人への参照、画像、動画および/またはウェブページにおける人の顔の出現、および録音における人の声の出現などを備え得る。
【0028】
多くの実際の適用において、ターゲットフィーチャ(例えば、人)の発生を、複数のメディアタイプにわたって共に分析できることが非常に望ましい。
【0029】
いくつかの実施形態において、データ処理システムは、メディアオブジェクトを分析する1または複数のホストサーバ(「ホスト」)と、メディアオブジェクトが格納される1または複数のストレージデバイスとを備える。ホストおよびストレージデバイスは、コンピュータネットワークを介して通信する。様々な実施形態において、データ処理システムにおけるプロセッサは、ストレージデバイスに格納されたまたは格納される途中の複数のメディアオブジェクトのメタデータを計算する。他の特徴のうち、計算されたメタデータは、複数のメディアタイプのうち少なくとも2つのメディアオブジェクトにおける特定のターゲットフィーチャをタグ付けする。
【0030】
一実施形態において、プロセッサは、ターゲットフィーチャに従って、異なるメディアタイプのメディアオブジェクトのメタデータをインデックス化および格納する統合されたメタデータデータベースを作成および維持する。
【0031】
例えば、ターゲットフィーチャが関心人物である場合、いくつかの実施形態において、メタデータは、その人を参照する電子メールまたは他のテキストメディアオブジェクトと、その人がリストされているデータベースファイル、その人の顔が出現する画像および/または動画、および/またはその人の声が認識され得る音声ファイルをタグ付けする。一実施形態において、プロセッサは、共通の識別子を使用して、複数の異なるメディアタイプにわたってターゲットフィーチャ(この例では関心人物)をタグ付けする。別の実施形態において、メタデータはターゲットフィーチャによりグループ化される。任意の他の適切なデータ構造または表示が使用され得る。
【0032】
プロセッサは通常、統合されたメタデータデータベースをホストにアクセス可能にする。このように、ホストは、メタデータと、ターゲットフィーチャに関連する異なるメディアタイプのオブジェクトとを検索および分析することができる。
【0033】
いくつかの実施形態において、メタデータは、ターゲットフィーチャが出現するメディアオブジェクト内の位置を示す。位置は、例えば、動画の開始からのフレーム数または経過時間、動画または静止画像におけるフレーム内の座標、音声ファイルにおける経過時間、またはテキストオブジェクトの開始からの語数を備え得る。
【0034】
いくつかの実施形態において、プロセッサはAI推論エンジンを実行し、AI推論エンジンはメディアオブジェクトのメタデータを計算するAIモデルを実行するように構成される。AIモデルは通常、メディアタイプによって異なる。例えば、電子メールメッセージ用のAIモデルは、動画用のAIモデルと異なる。例示的な実施形態において、プロセッサは、特定のメディアタイプのAIモデルをロードし、次に、別のメディアタイプのAIモデルに切り替える前に、そのタイプのオブジェクトのバッチのためのメタデータを計算する。このバッチされた動作モードは、AIモデルが大きい間隔で交換されるので、効率的である。
【0035】
いくつかの実施形態において、メタデータ生成を実行するプロセッサは、ストレージと処理デバイスとの間のネットワークを通じて非常に多くのメディアオブジェクトデータの搬送を従来から要求する1つの集中された位置ではなく、オブジェクトが格納された位置に近いストレージエッジに位置付けられる。
【0036】
この文脈において、用語「ストレージエッジに(at the storage edge)」は、ネットワークのホスト側とは対照的に、ネットワークのストレージデバイス側に位置付けられた1つのプロセッサまたは複数のプロセッサを意味する。換言すると、ストレージエッジにおけるプロセッサは、ホストと通信すべくネットワークにわたって情報を送信および/または受信する必要があるが、ストレージデバイスと通信するべくネットワークにわたって情報を送信および/または受信する必要はない。以下に詳述されるように、ストレージエッジプロセッサの非限定的な例は、ソリッドステートドライブ(SSD)コントローラ、ストレージアレイコントローラにおけるプロセッサ(アグリゲータとも呼ばれる)、および自律走行車両などの接続されたストレージエッジアプライアンスにおけるプロセッサを含む。
【0037】
図1は、本例では、本明細書に説明されている実施形態に従って、ストレージエッジにおけるメタデータ生成を実行するデータセンターであるデータ処理システム20を概略的に示すブロック図である。システム20は、上記で説明されるように、多数のオブジェクトを格納することと、オブジェクトのメタデータを計算することと、メタデータに基づいてオブジェクトを分析することとに使用される。いくつかの実施形態において、システム20は、複数の異なるタイプのオブジェクトを受信、格納および分析する。
【0038】
図1の実施形態において、データ処理システム20は、コンピュータネットワーク28を介して通信する1または複数のホストサーバ24を備える。ホストサーバ24は、簡潔さのために、本明細書において単に「ホスト」とも呼ばれる。コンピュータネットワーク28は、任意の適切なタイプのネットワーク、例えば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、クラウドネットワーク、またはデータセンターネットワークなどを備え得る。一実施形態において、システム20は、格納および分析されるメディアオブジェクトを生成する1または複数のメディア生成器30を備える。
【0039】
システム20はさらにリモートストレージラック32を備え、リモートストレージラック32は、オブジェクト、メタデータ、および他の関連するデータを格納するためにホスト24により使用される。いくつかの実施形態において、ストレージラック32は、ネットワーク28と通信するストレージエリアネットワーク(SAN)の一部である。ホスト24は、データを格納および検索するためにネットワーク28を介してストレージラック32と通信する。
【0040】
図1の例において、ストレージラック32は、All-Flash Array(AFA)36と呼ばれる複数のストレージユニットを備える。(代替的な実施形態において、必ずフラッシュベースであるとは限らない、任意の他の適切なタイプのストレージユニットおよび任意の他の適切なタイプのストレージデバイスが使用され得る。)トップオブラック(TOR)スイッチ40は、ネットワーク28を介してAFA36とホスト24との間の通信を管理する。本例において、その様々なコンポーネントを含むストレージラック32は、システム20の「ストレージエッジに」位置付けられているとみなされる。
【0041】
図1の左下の挿入図は、一実施形態において、AFA36の内部構造を示す。見られるように、AFA36は、データ(例えば、オブジェクトおよびメタデータ)が格納された複数のソリッドステートドライブ(SSD)44を備える。AFA36はストレージコントローラ50を備え、ストレージコントローラ50は、データ(例えば、メディアオブジェクト)のストレージを管理するように構成される。ストレージコントローラ50は、本明細書で、アグリゲーションプロセッサまたはアグリゲータとも呼ばれる。AFA36はさらに、適切なネットワークケーブル42を介してTORスイッチ40と通信するように構成されたスイッチ48を備える。
【0042】
いくつかの実施形態において、スイッチ48は、共通のペリフェラル・コンポーネント・インターコネクト・エクスプレス(PCIe)バスを介して、例えば、不揮発性メモリエクスプレス(NVMe)プロトコルを使用して、SSD44を通信する。他の実施形態において、ホスト24は、Ethernet(登録商標)を使用して、例えば、NVMeオーバーファブリックプロトコルを使用して、スイッチ48を介してSSD44と通信する。さらに代替的に、他の適切なプロトコルが使用され得る。スイッチ48とTORスイッチ40との間の通信は通常、Ethernet(登録商標)を使用して行われる。一実施形態において、必須ではないが、AFA36は、TORスイッチ40との通信のために、図示されていない中央処理ユニット(CPU)および/またはネットワークインタフェースコントローラ(NIC)を備える。
【0043】
図の右下の挿入図は、本明細書に説明されている実施形態に従って、SSD44の内部構造を示す。本実施形態において、各SSD44は、複数のメモリフラッシュデバイス52(例えば、NANDフラッシュメモリ)、およびSSDコントローラ56を備える。SSDコントローラ56は、フラッシュデバイス52と通信するためのメモリインタフェース60、(スイッチ48およびTORスイッチ40を介して)ホスト24と通信するためのホストインタフェース68、およびプロセッサ64を備える。ホストインタフェース68は、任意の適切なストレージプロトコル、例えば、不揮発性メモリエクスプレス(NVMe)またはシリアル・アドバンスド・テクノロジ・アタッチメント(SATA)を使用してホスト24と通信し得る。
【0044】
以下に詳細に説明されるように、プロセッサ64は、格納/検索タスクとメタデータ計算タスクとの両方を実行する。メタデータ計算タスクの非限定的な例は、オブジェクトの識別、説明および/またはタグ付け、アクティビティ、シーンの特性、およびメディアオブジェクト内のコンテンツの他の特徴を含む。さらなる他の実施形態において、メタデータ計算タスクは、ストレージコントローラ(アグリゲータ)50により実行される。
【0045】
一実施形態において、プロセッサ64は、フラッシュ管理モジュール72と人工知能(AI)推論エンジン76とを備える。フラッシュ管理モジュール72は、データ(例えば、オブジェクトおよびメタデータ)をフラッシュデバイス52に格納および検索するように構成される。フラッシュ管理モジュール72のタスクは、「フラッシュ変換層」(Flash Translation Layer、FTL)とも呼ばれる。AI推論エンジン76は、以下に説明されるように、メディアオブジェクトのメタデータを計算するように構成される。一実施形態において、SSDコントローラ56は、(i)メディアオブジェクト80と(ii)メディアオブジェクト80のメタデータを保持するメタデータデータベース84を、フラッシュデバイス52に格納する。
【0046】
図1のSSD構成は、非限定的な構成例であることと、任意の他の適切なSSDコントローラが代替的な実施形態において使用され得ることとに留意されたい。例えば、SSDコントローラが、適切なファブリックを介して互いに通信する複数の集積回路(IC)を備える代替的な実施形態が、以下の図3に説明される。
【0047】
図2は、本明細書に説明されている実施形態に従って、エッジアプライアンス94がローカルメタデータ生成を実行するデータ処理システム90を概略的に示すブロック図である。エッジアプライアンス94は、一実施形態において、例えば、自律走行車、監視ボックス、IoTデバイス、または任意の他の適切なタイプのエッジデバイスを備える。
【0048】
一実施形態において、エッジアプライアンス94は、コンピュータネットワーク(本例ではインターネット)を介してクラウドベースのデータセンター102と通信する。データセンター102は、1または複数のホスト(図示せず)を備える。エッジアプライアンス94は、中央処理装置(CPU)クラスタ106、ローカルメモリ110(通常、ランダムアクセスメモリ(RAM)または他の揮発性メモリ)、およびSSD114を備える。SSD114の内部構造は、一実施形態において、図の右側の挿入図に示される。SSD114の構造は、図1のSSD44の構造と同様である。
【0049】
様々なSSD44のローカルデータベース84におけるメタデータは、ホスト24による使用のためにアクセス可能である。いくつかの実施形態において、ホスト24はメタデータを、場合によっては関連されるオブジェクトまたはそれらの一部を、SSD44から読み取る。代替的な実施形態において、SSDコントローラ56のプロセッサ64は、ホスト24から、特定のメタデータに対する要求を受信し、要求されるメタデータを要求ホストに応答して送信する。いくつかの実施形態において、要求されるメタデータに加えて、プロセッサ64は、要求ホストに、1または複数の関連されるメディアオブジェクト、またはそれらの一部をも送信する。他の実施形態において、プロセッサ64は、メタデータの一部または全部を積極的に、すなわち、ホストからの任意の要求にかかわらず、ホスト24に送信する。一実施形態において、ホスト24はメタデータを分析し、メタデータの分析に基づいて、オブジェクトメディアの選択されたセグメントを要求する。
【0050】
いくつかの実施形態において、ホスト24の分析タスクは、異なるSSD44の複数のメタデータデータベース84からのメタデータの使用を要求する。そのような実施形態において、ホストは通常、複数のSSDから関連するメタデータを取得し、必要に応じてメタデータを統合する。
【0051】
いくつかの実施形態において、AIモデルおよび格納のためのオブジェクトは、同じホスト24から受信される。他の実施形態において、AIモデルおよび格納のためのオブジェクトは、異なるホスト24から受信される。
【0052】
いくつかの実施形態において、データ格納プロセスおよびメタデータ生成プロセスは、同時に実行される。いくつかの実施形態において、プロセッサ64は、メタデータ生成よりオブジェクトの格納/検索に高い優先度を与える。上述のように、いくつかの実施形態において、AI推論エンジン76は、プロセッサ64の少なくともいくつかのリソースがオブジェクトの格納/検索を管理することから解放されているアイドル期間中に、メタデータを生成する。例示的な実施形態において、プロセッサ64は、そのようなアイドル期間をリアルタイムで識別し、識別されたアイドル期間中に、メタデータ生成を開始または再開する。プロセッサ64は、識別されたアイドル期間外においてはメタデータ生成を中断する。一実施形態において、メタデータの生成が中断されている間(アイドル期間外)、プロセッサ64は、関連されるメタデータが生成されるまで、未処理のメディアオブジェクトを揮発性メモリにバッファリングする。代替的に、プロセッサ64は、メタデータ生成より格納/検索に優先度を与えるために、任意の他の適切な優先順位付けスキームを使用し得る。
【0053】
図3は、本明細書に説明されている代替的な実施形態に従って、SSD160を概略的に示すブロック図である。本例において、SSD160は、複数のフラッシュデバイス52、例えば、NANDフラッシュメモリ、SSDコントローラ164および(任意選択的に)ダイナミックRAM(DRAM)168を備える。SSDコントローラ164は、ホストインタフェース172と、メディアコントローラ176と、スタティックRAM(SRAM)180と、1または複数のCPU184と、DRAMコントローラ188と、CPU192を任意選択的に備えるAI推論エンジン76とを備える。
【0054】
ホストインタフェース172は、例えば、NVMe、SATAプロトコルまたは他の適切なストレージプロトコルに従って、ホスト24と通信する。メディアコントローラ176は、図1および図2のフラッシュ管理モジュール72と同様に、フラッシュデバイス52におけるデータの格納および検索を管理するプロセッサである。DRAMコントローラ188は、DRAM168におけるデータの格納を管理する。SSDコントローラ164の様々な要素は、ファブリック196を介して互いに通信し、通常、適切なデータおよび制御バスを備える。
【0055】
他の特徴のうち、図3の例は、いくつかの実施形態において、SSDコントローラ(または他のストレージデバイスコントローラ)がデータの格納/検索(例えば、メディアオブジェクトの格納/検索)およびメタデータ計算を共に実行する複数のプロセッサを備えることを示す。複数のプロセッサは1または複数の集積回路(IC)に存在し得、単一デバイスとして単一パッケージにパッケージ化されるまたは複数の別個パッケージにパッケージ化される。
【0056】
いくつかの実施形態において、データ処理システムにおける1または複数のプロセッサは、複数の異なるタイプのメディアオブジェクトに、共通のターゲットフィーチャに関連するメタデータを生成する。様々な実施形態において、対象のプロセッサまたは複数のプロセッサはストレージエッジに位置付けられ、システム20のSSDコントローラ56におけるプロセッサ64(図1)またはシステム90(図2)および/またはシステム20のストレージコントローラ(アグリゲータ)50(図1)を備える。以下の説明では、明確さおよび簡潔さのために「プロセッサ」および「システム」を単に参照する。
【0057】
上述のように、1つの例示的な実施形態において、ターゲットフィーチャは関心人物である。他の実施形態において、開示された技術は、異なるタイプのメディアオブジェクトにおいて見られる任意の他の適切なタイプのターゲットフィーチャに適用され得る。ターゲットフィーチャのいくつかの非限定的な例は、いくつかの例を挙げると、場所の名前(例えば、空港、道路の名前または都市)、企業または他の組織(例えば、企業のロゴ、名前、テキスト、構内の写真または住所)、イベント(例えば、ビデオフィルムで、テキストの招待で、ボイスコールでまたは新郎新婦の静止画像で参照され得る結婚式)を備える。
【0058】
図4は、本明細書に説明されている実施形態に従って、メタデータ生成のための方法を概略的に示すフロー図である。
【0059】
通常、プロセッサは、1または複数のホスト24から、予めトレーニングされたAIモデルのセットを受信し、各AIモデルは、それぞれのメディアタイプのオブジェクトからメタデータを生成するように構成される。例えば、プロセッサは、動画のためのAIモデルと、テキストメッセージのための別のAIモデルと、音声ファイルのためのさらに別のAIモデルなどを受信し得る。一実施形態において、AIモデルのうち少なくとも2つ(少なくとも2つのメディアタイプに対応する)は、共通のターゲットフィーチャを識別およびタグ付けするように構成される。
【0060】
通常、プロセッサは、メタデータが計算される様々なメディアオブジェクトと、ストレージデバイスにおけるそれらのそれぞれの位置と、それらのそれぞれのメディアタイプとを識別するマッピングを備えるまたはマッピングへのアクセスを有する。プロセッサがSSDコントローラ56のプロセッサ64である1つの例示的な実施形態において、対象のメディアオブジェクトはSSDのフラッシュデバイス52に格納される。プロセッサがAFA36のストレージコントローラ(アグリゲータ)50である別の例示的な実施形態において、対象のメディアオブジェクトはAFAのSSD44に格納される。この種のマッピングは、例えば、上位層のファイルシステムまたはオブジェクトデータベースにより作成され得る。例示的な実施形態において、プロセッサは、メタデータを生成するコマンドと共に、ホスト24のうち1つからマッピングを受信する。
【0061】
方法は、タイプ選択動作200において、メタデータが生成されるメディアタイプをプロセッサが選択することから始まる。モデルロード動作204において、プロセッサは、選択されたメディアタイプに対応するAIモデルを、AI推論エンジン76にロードする。本例において、各メディアタイプは、単一のそれぞれのAIモデルに対応する。しかしながら、代替的な実施形態において、そのような1対1の関係は必須ではない。例えば、特定のメディアタイプは、他の要因に基づいて選択されるいくつかのAIモデルに関連付けられ得る。
【0062】
オブジェクト識別動作208において、プロセッサは、(上記で説明されたマッピングを使用して)現在選択されたメディアタイプのメディアオブジェクトを識別する。メタデータ生成動作212において、プロセッサは、現在ロードされたAIモデルを使用して、現在選択されたメディアタイプのメディアオブジェクトのメタデータを生成する。データベース格納動作216において、プロセッサは、生成されたメタデータをメタデータデータベース84に格納する。方法は次に、上記のタイプ選択動作200にループバックし、プロセッサはメタデータ生成のために次のメディアタイプの選択に進む。この種の例示的なプロセスが以下の図5に示される。
【0063】
通常、図4の方法は、例えば、プロセッサのバックグラウンドまたは優先度の低いタスクとして連続的に実行される。そのような連続的な動作は、例えば、時間の経過と共にストレージに到着し続ける新しいメディアオブジェクトを説明する。
【0064】
いくつかの実施形態において、図4の方法を使用して作成されたメタデータデータベース84は統合されたメタデータデータベースであり、複数の異なるメディアタイプのメディアオブジェクトのメタデータを共にインデックス化および格納する。他の特徴のうち、プロセッサは、共通のターゲットフィーチャに従って、2つまたはそれより多くのメディアタイプに属する少なくともいくつかのメディアオブジェクトをタグ付けおよびインデックス化する。統合されたメタデータデータベースの例示的なフォーマットは、以下の図5に示される。
【0065】
ターゲットフィーチャが関心人物である例示的な実施形態において、プロセッサは、例えば、データベースファイル、電子メールおよび/またはテキストメッセージにおける人への参照、画像、動画および/またはウェブページにおける人の顔の出現、および録音における人の声の出現などのようなデータベースにおいてタグ付けを行う。
【0066】
一実施形態において、プロセッサは、共通の識別子を使用して、データベース84における複数の異なるメディアタイプの様々なメディアオブジェクトにおけるターゲットフィーチャをタグ付けする。別の実施形態において、プロセッサは、データベース84におけるメタデータをターゲットフィーチャ別にグループ化する。
【0067】
そのような統合されたデータベースにおいて共通のターゲットフィーチャをタグ付けすることは、メディアオブジェクトが異なるソースから生じる、および/または、複数のメディアタイプである、および/または、例えば、上記に引用され、その開示の全てが参照により本明細書に組み込まれる「SYSTEMS AND METHODS FOR GENERATING METADATA DESCRIBING UNSTRUCTURED DATA OBJECTS AT THE STORAGE EDGE」と題する米国特許出願(代理人整理番号MP11049/004048 0729 101)、「STORAGE EDGE CONTROLLER WITH A METADATA COMPUTATIONAL ENGINE」と題する米国特許出願(代理人整理番号MP11060/004048 0730 101)、「STORAGE AGGREGATOR CONTROLLER WITH METADATA COMPUTATION CONTROL」と題する米国特許出願(代理人整理番号MP11065/004048 0731 101)、および「METADATA GENERATION AT THE STORAGE EDGE」と題する米国特許出願(代理人整理番号MP11073/1036 1181)においてさらに詳細に説明されるような、ストレージエッジにおいて異なるストレージデバイスに配置されたプロセッサのような異なるプロセッサで生成される場合でさえ、ホスト24が、ターゲットフィーチャに関連される多種多様なメディアオブジェクトを効率的に分析することを可能にする。
【0068】
統合されたデータベースはストレージエッジで生成されるので、開示された技術は、メタデータを計算するためにネットワークにわたってメディアオブジェクトを搬送する必要を解消する。通常、全部ではないがほとんどのメディアオブジェクトが、ストレージデバイスの境界内にあるままであり、それが分析のためにホストに提供されるメタデータである。メタデータに基づいて、ホストは、どの特定のメディアオブジェクトまたはその一部が、あったとしても、ネットワークを介して検索される必要があるかを選択できる。このように、コンピュータネットワークにわたってのトラフィックオーバーヘッドは大幅に減少する。また、例えば、より少ないデータ移動を要求するので、且つ複数のストレージデバイスコントローラにより分配メタデータ生成が並列に行われることを可能にするので、開示された技術はレイテンシを減少させる。開示されている解決手段は複数のストレージデバイスにわたって分配された実装に適しているので、解決手段は非常に拡張可能である。開示された技術はメタデータ生成速度を向上させるので、それはメディアオブジェクトのアップデートに迅速に応答する。
【0069】
1つの例示的な実装において、統合されたメタデータデータベース84における各エントリは、共通のターゲットフィーチャの出現を示す。各エントリは、少なくとも、(i)メディアオブジェクトのメディアタイプと、(ii)メディアオブジェクトが存在するまたは格納される予定のファイルのファイル識別子と、(iii)メディアオブジェクト内のターゲットフィーチャの出現位置とを備える。任意の他の適切なデータ構造または表示が使用され得る。
【0070】
プロセッサは通常、メディアのタイプに適切な位置メトリックにより出現する位置を表す。様々な実施形態において、出現位置は、例えば、動画の開始からのフレーム数または経過時間、動画または静止画像におけるフレーム内の座標(例えば、ターゲットフィーチャを囲む矩形の対角線の座標)、音声ファイルにおける経過時間、テキストオブジェクトの開始からの語数、または任意の他の適切な位置メトリックを備える。
【0071】
図4の方法のフローは、単に概念の明確性のために示される例示的なフローである。代替的な実施形態において、任意の他の適切な方法は、メタデータ計算および統合されたメタデータデータベースの作成に使用され得る。例えば、上記の説明は、不揮発性メモリ(NVM)に既に格納されているメディアオブジェクトに対するメタデータ生成を主に参照する。追加的または代替的に、開示された技術は、オンザフライである、すなわち、NVMに格納される途中の、メディアオブジェクトのメタデータを生成するためにも使用され得る。
【0072】
図5は、本明細書に説明されている実施形態に従って、統合されたメタデータデータベースを形成するプロセスを概略的に示す図である。図5の例において、ターゲットフィーチャは関心人物であり、処理中のメディアオブジェクトは特定のSSDに格納される。
【0073】
図5の左側は、SSDで混合された複数のメディアタイプの複数のメディアオブジェクトを示す。この実施形態において、「V」でマークされたオブジェクトはビデオオブジェクトであり、「A」でマークされたオブジェクトは音声オブジェクトであり、「T」でマークされたオブジェクトはテキストオブジェクトである。
【0074】
図5の中央は、メディアオブジェクトがメディアタイプによりバッチされ、AI推論エンジンによるバッチ処理の準備が整った段階を示す。見られるように、ビデオオブジェクト、音声オブジェクトおよびテキストオブジェクトは別々にバッチされる。オブジェクト内の共通のターゲットフィーチャの出現(この例では関心人物への参照)は「x」でマークされる。見られるように、ターゲットフィーチャは、複数のメディアタイプのオブジェクトに出現する。いくつかのオブジェクトはターゲットフィーチャの複数の発生を備え、他のオブジェクトは単一の発生を備え、さらに他のオブジェクトではターゲットフィーチャが全く出現しない。
【0075】
図5の右側は、ストレージエッジにおけるプロセッサによって、例えば、SSDコントローラ56のプロセッサ64によってまたはアグリゲータ50によって作成される統合されたメタデータデータベースを示す。統合されたメタデータデータベースにおける各エントリは、共通のターゲットフィーチャのそれぞれの発生に対応する。各エントリは、メディアオブジェクトのメディアタイプ(本例では「V」、「A」または「T」)、例えばファイルの名前とその格納位置を含むファイルの一意識別子、ファイル内のターゲットフィーチャの発生位置などの属性を特定する。
【0076】
上記の図1から図3に示されたシステムおよびストレージデバイスの構成と、上記の図5に示されたデータベースの構成は、構成例であり、単に概念の明確性のために選択されたものである。図1から図3は、ストレージデバイスのコントローラ(例えば、SSDにおけるSSDコントローラ、またはAFAのアグリゲータ)が、コンピュータネットワークを介して1または複数のリモートホストと通信し、ストレージデバイスのNVMとローカルに通信する構成例を示す。コントローラは、NVMに格納されたまたは格納される予定のメディアオブジェクトのNVMメタデータを共に計算および格納する1または複数のプロセッサを備える。代替的な実施形態において、任意の他の適切なシステムおよび/またはストレージデバイスの構成が使用され得る。開示された技術の理解に必須ではない要素は、明確性のために図から省略されている。
【0077】
代替的な実施形態において、開示された技術は、記録媒体が磁気的である他の適切なタイプのストレージデバイス、例えば、ハードディスクドライブ(HDD)とともに使用され得る。
【0078】
データ処理システム20および90、そしてSSD44、SSD114、AFA36およびそのコンポーネント、ならびにSSD160およびそのコンポーネント(例えば、AI推論エンジン76)などの、それらのコンポーネントの様々な要素は、例えば、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)におけるハードワイヤードまたはプログラマブルロジックを使用することなどの、専用ハードウェアまたはファームウェアを使用すること、ソフトウェアを使用すること、または、ハードウェア要素とソフトウェア要素との組み合わせを使用することで実装され得る。
【0079】
通常、SSDコントローラ56のプロセッサ64、アグリゲータ50、CPU184および/またはCPU192はプログラマブルプロセッサを備え、それらは、本明細書に説明されている機能(例えば、フラッシュ管理およびメタデータ計算)を実行するために、ソフトウェアにおいてプログラミングされる。ソフトウェアは、ネットワークを介して電子的形態でプロセッサにダウンロードされてもよく、または、例えば、代替的にまたは追加的に、非一時的な有形媒体(磁気メモリ、光メモリ、または電子メモリなど)に提供および/または格納されてもよい。
【0080】
本明細書に説明されている実施形態は主にメディア処理を対象とするが、本明細書に説明されている方法およびシステムは、人の挙動分析などの他のアプリケーションにも使用され得る。
【0081】
本明細書に説明されている実施形態は主にストレージエッジにおけるメタデータ生成を対象とするが、本明細書に説明されている方法およびシステムは、ネットワークのホスト側に位置付けられた1つのプロセッサまたは複数のプロセッサによるメタデータ生成にも使用され得る。メタデータ生成タスクがストレージエッジにおけるプロセッサとホスト側におけるプロセッサとの間で分割されるハイブリッド解決手段も実行可能である。
【0082】
上記で説明された実施形態は例として挙げられていることと、本発明は上記に具体的に示され説明されたものに限定されないこととに留意されたい。むしろ、本発明の範囲は、上記に説明された様々な特徴の組み合わせおよび部分的な組み合わせの両方、ならびに上記の説明を読むと当業者が想到する、且つ先行技術に開示されていない、それらの変形および修正を含む。参照により本特許出願に組み込まれる文献は、本願の不可欠な部分とみなされることになる。本明細書において明示的または暗示的になされた定義と矛盾する形で、任意の用語がこれらの組み込まれた文献において定義されている限りにおいては、本明細書における定義のみが考慮されるべきである。
[項目1]
コンピュータネットワークを介して1または複数のリモートホストと通信するように構成されたホストインタフェースと、
1または複数のストレージデバイスの1または複数の不揮発性メモリと通信するように構成されたストレージインタフェースと、
1または複数のプロセッサと
を備え、
前記1または複数のプロセッサは、
前記1または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索を管理することと、
前記1または複数のストレージデバイスに格納されたまたは格納される途中の複数の前記メディアオブジェクトのメタデータを計算することであって、前記メディアオブジェクトは複数のメディアタイプであり、前記計算されたメタデータは、前記複数のメディアタイプのうち少なくとも2つの異なるメディアタイプの前記メディアオブジェクトにおけるターゲットフィーチャをタグ付けする、計算することと、
前記1または複数の不揮発性メモリに、前記少なくとも2つの異なるメディアタイプで見られる前記ターゲットフィーチャをタグ付けする前記メタデータを、前記1または複数のホストによる使用のために格納することと
を行うように構成される、
メタデータ計算装置。
[項目2]
少なくともいくつかの前記メディアオブジェクトは非構造化メディアオブジェクトであり、前記メタデータの計算において、前記1または複数のプロセッサは、前記非構造化メディアオブジェクトに前記ターゲットフィーチャが出現する位置をタグ付けするように構成される、項目1に記載のメタデータ計算装置。
[項目3]
フレームのシーケンスを備えるメディア項目の場合、前記1または複数のプロセッサは、前記ターゲットフィーチャが出現する1または複数の前記フレームを識別およびタグ付けすることにより前記位置をタグ付けするように構成される、項目2に記載のメタデータ計算装置。
[項目4]
少なくともフレームを備えるメディア項目の場合、前記1または複数のプロセッサは、前記ターゲットフィーチャが出現する前記フレームにおける1または複数の座標を識別およびタグ付けすることにより前記位置をタグ付けするように構成される、項目2に記載のメタデータ計算装置。
[項目5]
前記1または複数のプロセッサは、それぞれの前記メディアタイプに対して定義された複数の異なる位置メトリックに従って前記位置を計算するように構成される、項目2に記載のメタデータ計算装置。
[項目6]
前記1または複数のプロセッサは、前記1または複数のホストから、前記コンピュータネットワークを介して、前記メディアオブジェクトからの前記メタデータの抽出を特定する1または複数のモデルを受信することと、受信された前記1または複数のモデルに基づいて前記メタデータを生成することとを行うように構成される、項目1から5のいずれか一項に記載のメタデータ計算装置。
[項目7]
前記1または複数のプロセッサは、前記複数のメディアタイプの各々に対するそれぞれのモデルを、前記1または複数のホストから受信するように構成される、項目6に記載のメタデータ計算装置。
[項目8]
前記1または複数のプロセッサは、1または複数の予めトレーニングされた人工知能(AI)モデルを、前記1または複数のモデルとして受信するように構成される、項目6に記載のメタデータ計算装置。
[項目9]
前記1または複数のプロセッサは、同じAI推論エンジンを複数の前記AIモデルに適用することにより、前記メタデータを生成するように構成される、項目8に記載のメタデータ計算装置。
[項目10]
前記1または複数のプロセッサは、前記メディアタイプに対応する複数のバッチに前記メディアオブジェクトを編成することと、前記複数のバッチの各々を介して前記メタデータを計算することとを行うように構成される、項目1から5のいずれか一項に記載のメタデータ計算装置。
[項目11]
前記1または複数のプロセッサは、前記1または複数のプロセッサの少なくともいくつかのリソースが前記メディアオブジェクトのストレージを管理することから解放されているアイドル期間中に前記メタデータを生成するように構成されている、項目1から5のいずれか一項に記載のメタデータ計算装置。
[項目12]
前記1または複数のプロセッサは、前記ターゲットフィーチャをタグ付けする且つ異なるメディアソースから抽出されたまたは異なるプロセッサにより抽出されたメタデータを、統合されたメタデータデータベースにおいて結合するように構成される、項目1から5のいずれか一項に記載のメタデータ計算装置。
[項目13]
前記1または複数のプロセッサは、メディアタイプ、前記メディアオブジェクトを含むファイルのファイル識別子、および前記ファイル内の前記メディアオブジェクトの位置からなる属性グループから選択された少なくとも1つの属性を識別する統合されたメタデータデータベースにおいて、前記ターゲットフィーチャをタグ付けする前記メタデータを結合するように構成される、項目1から5のいずれか一項に記載のメタデータ計算装置。
[項目14]
メタデータ計算のための方法であって、前記方法は、
コンピュータネットワークを介して、1または複数のストレージデバイスのストレージコントローラにより1または複数のリモートホストと通信し、前記1または複数のストレージデバイスの1または複数の不揮発性メモリと通信する段階と、
前記ストレージコントローラを使用して、前記1または複数の不揮発性メモリにおけるメディアオブジェクトのローカル格納または検索を管理し、前記1または複数のストレージデバイスに格納されたまたは格納される途中の複数の前記メディアオブジェクトのメタデータを計算する段階であって、前記メディアオブジェクトは複数のメディアタイプであり、計算された前記メタデータは、前記複数のメディアタイプのうち少なくとも2つの異なるメディアタイプの前記メディアオブジェクトにおけるターゲットフィーチャをタグ付けする、段階と、
前記少なくとも2つの異なるメディアタイプで見られる前記ターゲットフィーチャをタグ付けする前記メタデータを、前記1または複数のホストによる使用のために前記1または複数の不揮発性メモリに格納する段階と
を備える、メタデータ計算のための方法。
[項目15]
少なくともいくつかの前記メディアオブジェクトは非構造化メディアオブジェクトであり、前記メタデータを計算する段階は、前記非構造化メディアオブジェクトに前記ターゲットフィーチャが出現する位置をタグ付けする段階を有する、項目14に記載のメタデータ計算のための方法。
[項目16]
フレームのシーケンスを備えるメディア項目の場合、前記位置をタグ付けする段階は、前記ターゲットフィーチャが出現する1または複数の前記フレームを識別およびタグ付けする段階を含む、項目15に記載のメタデータ計算のための方法。
[項目17]
少なくともフレームを備えるメディア項目の場合、前記位置をタグ付ける段階は、前記ターゲットフィーチャが出現する前記フレームにおける1または複数の座標を識別およびタグ付けする段階を含む、項目15に記載のメタデータ計算のための方法。
[項目18]
前記位置を計算する段階は、それぞれの前記メディアタイプに対して定義された複数の異なる位置メトリックに従って前記位置を計算する段階を備える、項目15に記載のメタデータ計算のための方法。
[項目19]
前記1または複数のホストから、前記コンピュータネットワークを介して、前記メディアオブジェクトからの前記メタデータの抽出を特定する1または複数のモデルを受信する段階と、受信された前記1または複数のモデルに基づいて前記メタデータを生成する段階とを備える、項目14から18のいずれか一項に記載のメタデータ計算のための方法。
[項目20]
前記1または複数のモデルを受信する段階は、前記メディアタイプの各々に対するそれぞれのモデルを前記1または複数のホストから受信する段階を有する、項目19に記載のメタデータ計算のための方法。
[項目21]
前記1または複数のモデルを受信する段階は、1または複数の予めトレーニングされた人工知能(AI)モデルを受信する段階を有する、項目19に記載のメタデータ計算のための方法。
[項目22]
前記メタデータを計算する段階は、複数の前記AIモデルに同じAI推論エンジンを適用する段階を有する、項目21に記載のメタデータ計算のための方法。
[項目23]
前記メタデータを計算する段階は、前記メディアタイプに対応する複数のバッチに前記メディアオブジェクトを編成する段階と、前記複数のバッチの各々を介して前記メタデータを計算する段階とを有する、項目14から18のいずれか一項に記載のメタデータ計算のための方法。
[項目24]
前記メタデータを計算する段階は、前記ストレージコントローラの少なくともいくつかのリソースが前記メディアオブジェクトのストレージを管理することから解放されているアイドル期間中に前記メタデータを生成する段階を有する、項目14から18のいずれか一項に記載のメタデータ計算のための方法。
[項目25]
前記メタデータを格納する段階は、前記ターゲットフィーチャをタグ付けする且つ異なるメディアソースから抽出されたまたは異なるプロセッサにより抽出されたメタデータを、統合されたメタデータデータベースにおいて結合する段階を有する、項目14から18のいずれか一項に記載のメタデータ計算のための方法。
[項目26]
前記メタデータを格納する段階は、メディアタイプ、前記メディアオブジェクトを含むファイルのファイル識別子、および前記ファイル内の前記メディアオブジェクトの位置からなる属性グループから選択された少なくとも1つの属性を識別する統合されたメタデータデータベースにおいて、前記ターゲットフィーチャをタグ付けする前記メタデータを結合する段階を有する、項目14から18のいずれか一項に記載のメタデータ計算のための方法。
図1
図2
図3
図4
図5