(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-25
(45)【発行日】2024-01-09
(54)【発明の名称】グループ・メッセージのフィルタリング
(51)【国際特許分類】
H04L 51/212 20220101AFI20231226BHJP
G06F 16/535 20190101ALI20231226BHJP
G06F 16/735 20190101ALI20231226BHJP
G06T 7/00 20170101ALI20231226BHJP
H04L 51/10 20220101ALI20231226BHJP
H04L 51/214 20220101ALI20231226BHJP
H04L 51/52 20220101ALI20231226BHJP
【FI】
H04L51/212
G06F16/535
G06F16/735
G06T7/00 350B
G06T7/00 300D
H04L51/10
H04L51/214
H04L51/52
(21)【出願番号】P 2022519504
(86)(22)【出願日】2020-09-16
(86)【国際出願番号】 IB2020058595
(87)【国際公開番号】W WO2021069989
(87)【国際公開日】2021-04-15
【審査請求日】2023-02-24
(32)【優先日】2019-10-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】シャロン、ジル
(72)【発明者】
【氏名】ガイ、ニリ
【審査官】前田 健人
(56)【参考文献】
【文献】米国特許出願公開第2018/0198750(US,A1)
【文献】米国特許出願公開第2014/0059139(US,A1)
【文献】米国特許出願公開第2014/0032546(US,A1)
【文献】米国特許出願公開第2017/0085509(US,A1)
【文献】米国特許出願公開第2018/0219817(US,A1)
【文献】中国特許出願公開第101410793(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/00
G06F 16/535
G06F 16/735
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
プロセッサを含むシステムであって、前記プロセッサが、
特定のユーザに関連付けられたクライアント・デバイスに格納された画像または動画上でトレーニングされた人工知能(AI)モデルを受信し、
前記AIモデルに基づいて、第2のクライアント・デバイスから受信され、かつ複数のクライアント・デバイスに送信されるグループ・メッセージをフィルタリングして、第2の画像または第2の動画を前記グループ・メッセージから除去し、フィルタリングされたグループ・メッセージを生成し、
前記フィルタリングされたグループ・メッセージを前記クライアント・デバイスに送信する、
システム。
【請求項2】
前記フィルタリングされたグループ・メッセージが、前記クライアント・デバイスのストレージに保存される、請求項1に記載のシステム。
【請求項3】
前記AIモデルが、前記画像または前記動画上の顔認識を使用してトレーニングされる、請求項1に記載のシステム。
【請求項4】
前記AIモデルが、ユーザ提供の画像または動画上でトレーニングされる、請求項1に記載のシステム。
【請求項5】
前記AIモデルが、ユーザ提供の表現上でトレーニングされる、請求項1に記載のシステム。
【請求項6】
前記クライアント・デバイスが、前記プロセッサによって実行されるクラウド・サービスに通信可能に結合されたエッジ・デバイスを含む、請求項1に記載のシステム。
【請求項7】
前記画像または前記動画が前記クライアント・デバイス上のデジタル・カメラ・ロールに格納され、前記AIモデルが、前記デジタル・カメラ・ロールの前記画像または前記動画に関連付けられたユーザの挙動に基づいて連続的に更新される、請求項1に記載のシステム。
【請求項8】
コンピュータ実装方法であって、
プロセッサによって、クライアント・デバイスのストレージから画像または動画を受信することと、
前記プロセッサによって、前記画像または前記動画に基づいて人工知能(AI)モデルを生成することと、
前記プロセッサによって、第2のクライアント・デバイスから受信されて前記クライアント・デバイスに格納されるグループ・メッセージを、前記AIモデルに基づくフィルタを介してフィルタリングして、マルチメディアを前記グループ・メッセージから除去し、フィルタリングされたグループ・メッセージを生成することと
を含むコンピュータ実装方法。
【請求項9】
特定のユーザに関連付けられた前記クライアント・デバイス上で前記AIモデルを生成することを含む、請求項8に記載のコンピュータ実装方法。
【請求項10】
前記AIモデルを生成することが、前記画像または前記動画上の顔認識を使用して前記AIモデルをトレーニングすることを含む、請求項8に記載のコンピュータ実装方法。
【請求項11】
前記AIモデルを生成することが、ユーザ提供の画像または動画上で前記AIモデルをトレーニングすることを含む、請求項8に記載のコンピュータ実装方法。
【請求項12】
前記AIモデルを生成することが、特定のグループに関連付けられた画像または動画を使用して前記AIモデルをトレーニングすることを含み、前記特定のグループからのグループ・メッセージが、前記AIモデルを使用してフィルタリングされる、請求項8に記載のコンピュータ実装方法。
【請求項13】
前記画像または前記動画を含む画像または動画を、前記クライアント・デバイスを介してユーザに提示することと、関連する画像または動画の選択を前記ユーザから受信することとを含む、請求項8に記載のコンピュータ実装方法。
【請求項14】
フィルタリングされたグループ・メッセージを、前記クライアント・デバイスを介して提示することを含む、請求項8に記載のコンピュータ実装方法。
【請求項15】
コンピュータ・プログラムであって、請求項8ないし14のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
【請求項16】
請求項15に記載のコンピュータ・プログラムを記録した、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、グループ・メッセージングに関する。より詳細には、本技術は、グループ・メッセージ内のメディアのフィルタリングに関する。
【発明の概要】
【0002】
本明細書に記載の実施形態によれば、システムは、特定のユーザに関連付けられたクライアント・デバイス上でトレーニングされた人工知能(AI)モデルを受信するプロセッサを含むことができる。プロセッサは、AIモデルに基づいてグループ・メッセージをさらにフィルタリングすることもできる。プロセッサは、フィルタリングされたグループ・メッセージをクライアント・デバイスに送信することもできる。
【0003】
本明細書に記載の別の実施形態によれば、方法は、プロセッサによって、クライアント・デバイスのストレージからメディアを受信することを含むことができる。方法は、プロセッサによって、メディアに基づいて人工知能(AI)モデルを生成することをさらに含むことができる。方法は、プロセッサによって、クライアント・デバイスに格納されるグループ・メッセージを、AIモデル・フィルタを介してフィルタリングすることをさらに含むこともできる。
【0004】
本明細書に記載の別の実施形態によれば、グループ・メッセージをフィルタリングするためのコンピュータ・プログラム製品は、プログラム・コードが具現化されたコンピュータ可読記憶媒体を含むことができる。コンピュータ可読記憶媒体は、一過性の信号自体ではない。プログラム・コードは、プロセッサがクライアント・デバイスのストレージからメディアを受信するように、プロセッサによって実行可能である。プログラム・コードにより、プロセッサは、メディアに基づいて人工知能(AI)モデルを生成することもできる。プログラム・コードにより、プロセッサは、クライアント・デバイスに格納されるグループ・メッセージを、AIモデル・フィルタを介してフィルタリングすることもできる。
【図面の簡単な説明】
【0005】
【
図1】ソーシャル・メッセージング・サーバでグループ・メッセージをフィルタリングするための例示的なシステムのブロック図である。
【
図2】クライアント・デバイスでグループ・メッセージをフィルタリングするための別の例示的なシステムのブロック図である。
【
図3】グループ・メッセージをフィルタリングすることができる例示的な方法のプロセス・フロー図である。
【
図4】グループ・メッセージをフィルタリングすることができる例示的なコンピューティング・デバイスのブロック図である。
【
図5】本明細書に記載の実施形態による例示的なクラウド・コンピューティング環境のプロセス・フロー図である。
【
図6】本明細書に記載の実施形態による例示的な抽象化モデル層のプロセス・フロー図である。
【
図7】グループ・メッセージをフィルタリングすることができる例示的な有形の非一過性コンピュータ可読媒体を示す図である。
【発明を実施するための形態】
【0006】
グループ・メッセージングは、グループ内の複数の人が、グループのすべてのメンバに同時にブロードキャストされるテキスト・メッセージおよびマルチメディア・メッセージを共有することを可能にする。例えば、マルチメディア・メッセージは、写真、動画、または音声などのオーディオビジュアル・メディアを含み得る。しかしながら、一部のユーザは、多くのグループのメンバになっていることがある。したがって、このようなユーザが、すべてのグループのすべてのメッセージを追跡し、また、メンバになっているすべてのグループから送信されるすべてのメッセージのローカルコピーを保持することは困難であり得る。さらに、高品質のマルチメディアは、より多くのメモリを使用するため、モバイル・デバイス上でより多くの空間を取ることがある。したがって、このようなグループ・マルチメディア・メッセージは、ユーザのモバイル・デバイスのメモリをすぐにいっぱいにすることがある。さらに、クラウド・ストレージの使用は、様々な理由で避ける場合がある。
【0007】
加えて、ユーザは、加入しているすべてのグループで受信したすべてのマルチメディアには興味がない場合がある。例えば、両親は自分達の娘または息子を含む写真に興味があり得るが、他の人の写真には興味がない場合がある。一例として、学校や幼稚園のグループで旅行があるとき、その日に多くの画像およびメッセージがあふれることがある。ユーザは、興味のないメッセージを受信したり、何度も電話を見たりすることを望まない。したがって、ユーザは、ストレージ空間を増やすために、モバイル・デバイスから手動で写真を削除するのに多くの時間を費やすことがある。
【0008】
本開示の実施形態によれば、システムは、人工知能(AI)モデルに基づいてグループ・メッセージをフィルタリングすることができる。モデルは、ユーザのクライアント・デバイス上でトレーニングされてよい。例示的なシステムは、特定のユーザに関連付けられたクライアント・デバイス上でトレーニングされた人工知能(AI)モデルを受信するプロセッサを含む。プロセッサは、AIモデルに基づいてグループ・メッセージをフィルタリングすることができる。プロセッサは、フィルタリングされたグループ・メッセージをクライアント・デバイスに送信する。一部の例において、グループ・メッセージはクライアント・デバイス上でフィルタリングされてよい。したがって、本開示の実施形態により、フィルタで除外されたメッセージがクライアント・デバイスに格納されることを防ぐことによって、グループ・メッセージをフィルタリングすることができ、ストレージをクライアント・デバイス上で節約することができる。加えて、この技術により、クライアント・デバイスをより効率的に使用することが可能になる。例えば、ユーザは、クライアント・デバイスから不要なメッセージを手動で確認および削除する必要がない場合がある。さらに、ユーザのデータは、公開されているサーバではなく、クライアント・デバイス上でAIモデルを生成することによって保護され得る。
【0009】
図1を参照すると、ブロック図は、ソーシャル・メッセージング・サーバでグループ・メッセージをフィルタリングするための例示的なシステムを示す。例示的なシステムは、全体的に参照符号100で参照される。
図1は、ソーシャル・メッセージング・サーバ104に通信可能に結合されたクライアント・デバイス102を含む。例えば、クライアント・デバイス102は、クラウド・ベースのサービスに通信可能に結合されたエッジ・デバイスであってよい。クライアント・デバイス102は、特定のユーザに関連付けられてよい。クライアント・デバイス102は、AIモデル生成部106およびストレージ108を含む。ソーシャル・メッセージング・サーバ104は、AIモデル・ベースのフィルタ110を含む。
【0010】
図1の例において、複数のグループ・メッセージ112がソーシャル・メッセージング・サーバ104で受信される。例えば、グループ・メッセージ112は、1つまたは複数の他のクライアント・デバイス(図示せず)から受信され得る。様々な例において、ソーシャル・メッセージング・サーバ104で受信されたすべてのグループ・メッセージ112が、AIモデル・ベースのフィルタ110に通される。AIモデル・ベースのフィルタ110は、トレーニング・データ・セットに基づいてグループ・メッセージ112を解析することができる。様々な例において、トレーニング・データ・セットは、視覚顔認識またはテキスト・フィルタリングに基づくことができる。例えば、クライアント・デバイス104のAIモデル生成部106は、クライアント・デバイス102のストレージ108からトレーニング・セット画像を受信し、トレーニング・セット画像に基づいてAIモデルを生成することができる。一例として、ストレージ108上のトレーニング・セット画像で検出された顔を使用して、AIモデルを生成することができる。
【0011】
図1をさらに参照すると、一部の例において、AIモデル・ベースのフィルタ110は、クライアント・デバイス102からアップロードされたメディアのセットを使用して実装され得る。例えば、ユーザは、ユーザが追加の写真を見ることに興味のある人のポートレートをアップロードすることができる。一部の例において、クライアント・デバイス上のアプリは、モバイル・デバイスのギャラリ内で最も多い顔に基づいて、フィルタリングのための異なるポートレートの顔をユーザに提案することができ、その後、ユーザはそこから選択することができる。様々な例において、アプリは、ストレージ108の写真ギャラリ内で最も多い写真に従って、フィルタリングの基になる顔を自動的に選択することができる。一部の例において、ユーザは、テキスト表現を含むテキスト・メッセージのみを見ることに興味があるとき、テキスト表現をアップロードすることができる。例えば、テキスト表現は検索式または正規表現であってよい。
【0012】
様々な例において、フィルタリング方法に関係なく、トレーニング・データ・フィルタを選択した後、ユーザのギャラリから選択された顔を含むすべての画像を含むトレーニング・セットを、ソーシャル・メッセージング・サーバ104に送信することができる。例えば、トレーニング・セットは、フィルタリングの基になる新しいAIモデルのトレーニングに使用されてよい。テキスト・フィルタリングの場合、選択されたテキスト・フレーズがメッセージング・サーバに送信されてよく、トレーニングが実行されなくてよい。
【0013】
様々な例において、クライアント・デバイス104上のAIモデル生成部106は、クライアント・デバイス104上のユーザの挙動を解析することによって、ユーザの優先順位を学習し、特定の関連コンテンツを検出することができる。例えば、AIモデル生成部106は、写真ギャラリを監視し、他の習慣の中でも特にメッセージの削除パターンを学習することができる。例えば、AIモデル生成部106の入力は、ユーザのデジタル・カメラ・ロール(roll)、ユーザが手動で削除したメッセージ、ユーザが保存することを選択した画像、連絡先リスト、正規表現、検索レポートなどであってよい。モデルは連続的に更新され、新しい更新モデルを104で使用してメッセージをフィルタリングすることができる。その後、生成されたAIモデルは、グループ・メッセージ112をフィルタリングするためにソーシャル・メッセージング・サーバ104に送信されてよい。
【0014】
様々な例において、グループ・メッセージ112は、AIモデルを使用して解析される。一部の例において、AIモデル・ベースのフィルタ110の出力はバイナリであってよい。例えば、動画または写真がAIモデルのルールに適合するか否かである。したがって、写真または他のグループ・メッセージは、それに応じて、クライアント側に継続して送信されることがあり、または送信されないことがある。一例として、グループ・メッセージ112の写真は、AIモデル生成部106から受信されたAIモデルに含まれる顔を含むことができる。したがって、グループ・メッセージ112は、モデル準拠メッセージ114の一部としてクライアント・デバイス102に送信されてよい。このようにして、この技術は、クライアント・デバイス102のローカル・ストレージ108に大量の興味のないデータが保存されることを防ぐ。ユーザが望む、適合する関連コンテンツのみが、実際にクライアント・デバイス102に届き、クライアント・デバイス102に保存されることが許可される。その後、ユーザは、ストレージ108に格納された関連コンテンツを観ることが可能になり得る。さらに、興味のないデータがクライアント・デバイス102のローカル・ストレージ108に保存されることを防ぐことができる。したがって、ユーザが閲覧により興味のある追加のコンテンツを格納するために、ストレージ108の相当量を節約することができる。
【0015】
様々な例において、ユーザの好みのセットを設定して、フィルタリングされたグループ・メッセージの表示を制御することができる。例えば、フィルタで除外されたメッセージは、表示、受信、または格納されないように設定されてよい。一部の例において、関連性が低いとしてフィルタで除外されたメッセージは、一度表示され、その後、ストレージに格納されることなく直ちに削除されるように設定されてよい。
【0016】
図1のブロック図は、システム100が
図1に示すすべてのコンポーネントを含むことを示すことを意図するものではないことを理解されたい。むしろ、システム100は、より少ないコンポーネント、または
図1に示されていない追加のコンポーネント(例えば、追加のクライアント・デバイス、もしくは追加のソーシャル・メッセージング・サーバ、グループ・メッセージ、フィルタなど)を含むことができる。
【0017】
次に
図2を参照すると、ブロック図は、クライアント・デバイスでグループ・メッセージをフィルタリングするための例示的なシステムを示す。例示的なシステムは、全体的に参照符号200で参照される。
図2は、
図1に示したものと同様の符号の要素を含む。しかしながら、
図2では、AIモデル・ベースのフィルタ110は、クライアント・デバイス102に位置する。
【0018】
図2の例において、クライアント・デバイス102は、ソーシャル・メッセージング・サーバ104からグループ・メッセージ112を受信する。
図1に示すように、AIモデル・ベースのフィルタ110は、検出されたユーザの好みに基づいてグループ・メッセージをフィルタリングするように同様にトレーニングされてよい。
図2の例において、グループ・メッセージ112がAIモデルのルールに適合しないことを検出したことに応じて、任意の数のグループ・メッセージ112が削除されてよい。同様に、グループ・メッセージ112がAIモデルのルールに適合することを検出したことに応じて、グループ・メッセージ112がストレージ108に保存されてよい。様々な例において、適合しないグループ・メッセージ112は、ユーザに表示される前にフィルタリングおよび削除され得るため、ユーザは、適合しないグループ・メッセージ112を見ることはまずない。
【0019】
図2のブロック図は、システム200が
図2に示すすべてのコンポーネントを含むことを示すことを意図するものではないことを理解されたい。むしろ、システム200は、より少ないコンポーネント、または
図2に示されていない追加のコンポーネント(例えば、追加のクライアント・デバイス、もしくは追加のソーシャル・メッセージング・サーバ、グループ・メッセージ、フィルタなど)を含むことができる。
【0020】
図3は、グループ・メッセージをフィルタリングすることができる例示的な方法のプロセス・フロー図である。方法300は、
図4のコンピューティング・デバイス400などの任意の適切なコンピューティング・デバイスを使用して実施することができ、
図1および
図2のシステム100、200を参照して説明される。一部の例において、方法400は、
図7のコンピュータ可読媒体700によって実施することができる。
【0021】
ブロック302で、クライアント・デバイスのストレージからメディアが受信される。例えば、メディアは動画または画像を含むことができる。一部の例において、テキスト表現をユーザから受信することもできる。
【0022】
ブロック304で、人工知能(AI)モデルがメディアに基づいて生成される。例えば、AIモデルは、特定のユーザに関連付けられたクライアント・デバイス上で生成されてよい。一部の例において、AIモデルは、メディア上の顔認識を使用してAIモデルをトレーニングすることによって生成される。様々な例において、AIモデルは、ユーザ提供のメディア上でAIモデルをトレーニングすることによって生成される。一部の例において、AIモデルは、特定のグループに関連付けられたメディアを使用してAIモデルをトレーニングすることによって生成される。
【0023】
ブロック306で、クライアント・デバイスに格納されるグループ・メッセージは、AIモデル・フィルタを介してフィルタリングされる。様々な例において、特定のグループからのグループ・メッセージは、特定のグループについて生成されたAIモデルを使用してフィルタリングされる。
【0024】
図3のプロセス・フロー図は、方法300の動作が任意の特定の順序で実行されること、または方法300のすべての動作がすべての場合に含まれることを示すことを意図するものではない。加えて、方法300は、任意の適切な数の追加の動作を含むことができる。例えば、方法300は、クライアント・デバイスを介してメディアをユーザに提示すること、および関連するメディアの選択をユーザから受信することを含むことができる。方法300は、フィルタリングされたグループ・メッセージを、クライアント・デバイスを介して提示することを含むこともできる。
【0025】
一部の状況において、本明細書に記載の技術をクラウド・コンピューティング環境に実装することができる。少なくとも
図4~
図7を参照して以下でより詳細に説明するように、グループ・メッセージのメディアをフィルタリングするように構成されたコンピューティング・デバイスは、クラウド・コンピューティング環境に実装されてよい。本開示は、クラウド・コンピューティングに関する説明を含み得るが、本明細書に記載される教示の実装形態はクラウド・コンピューティング環境に限定されるものではないことを予め理解されたい。むしろ、本発明の実施形態は、現在既知であるか、または今後開発される任意の他の種類のコンピューティング環境と共に実装することができる。
【0026】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとのやりとりによって迅速にプロビジョニングおよび解放され得る構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス提供モデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの配備モデルとを含むことができる。
【0027】
特徴は以下の通りである。
オンデマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人的介在を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
広帯域ネットワーク・アクセス:機能はネットワークを介して利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準機構を通じてアクセスされる。
リソース・プール:マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング・リソースがプールされ、需要に応じて異なる物理リソースおよび仮想リソースが動的に割り当てられ、再割当てされる。消費者は一般に、提供されるリソースの正確な位置について管理することも知ることもないが、より高い抽象化レベルで(例えば、国、州、またはデータセンタ)位置を特定できるという点で位置非依存の感覚がある。
迅速な順応性:機能は、迅速かつ順応的に、場合によっては自動的にプロビジョニングされて、素早くスケール・アウトすることができ、かつ迅速に解放されて、素早くスケール・インすることができる。消費者にとって、プロビジョニングのために利用可能な機能は、多くの場合、無制限であるように見え、いつでも任意の量を購入することができる。
測定されるサービス:クラウド・システムが、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適切な何らかの抽象化レベルの計量機能を活用することによって、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視、制御、および報告することができ、利用されるサービスのプロバイダおよび消費者の両方に透明性が提供される。
【0028】
サービス・モデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。消費者は、限られたユーザ固有アプリケーションの構成設定を行う可能性を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能も含む、基礎となるクラウド・インフラストラクチャを管理することも制御することもない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションを配備することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャを管理することも制御することもないが、配備されたアプリケーションと、場合によってはアプリケーション・ホスティング環境の構成とを制御することができる。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、およびその他の基本的なコンピューティング・リソースをプロビジョニングすることであり、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを配備および実行することができる。消費者は、基礎となるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、配備されたアプリケーションを制御することができ、場合によっては選択されたネットワーキング・コンポーネント(例えば、ホスト・ファイアウォール)の限定的な制御を行うことができる。
【0029】
配備モデルは以下の通りである。
プライベート・クラウド:このクラウド・インフラストラクチャは、ある組織のためにのみ運用される。これは、この組織または第3者によって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事(例えば、任務、セキュリティ要件、ポリシ、およびコンプライアンスに関する考慮事項)を有する特定のコミュニティをサポートする。これは、これらの組織または第3者によって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般市民または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合体であり、それらのクラウドは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または専有技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースティング)によって共に結合される。
【0030】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0031】
図4は、グループ・メッセージをフィルタリングすることができる例示的なコンピューティング・デバイスのブロック図である。コンピューティング・デバイス400は、例えば、サーバ、デスクトップ・コンピュータ、またはラップトップ・コンピュータであってよい。様々な例において、コンピューティング・デバイス400は、タブレット・コンピュータまたはスマートフォンなどのエッジ・デバイスであってよい。一部の例において、コンピューティング・デバイス400は、クラウド・コンピューティング・ノードであってよい。コンピューティング・デバイス400は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピューティング・デバイス400は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で実施され得る。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモート両方のコンピュータ・システム記憶媒体内に配置され得る。
【0032】
コンピューティング・デバイス400は、格納された命令を実行するプロセッサ402と、動作中に前記命令の動作のための一時的なメモリ空間を提供するメモリ・デバイス404とを含むことができる。プロセッサは、シングルコア・プロセッサ、マルチコア・プロセッサ、コンピューティング・クラスタ、または任意の数の他の構成であってよい。メモリ404は、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ、フラッシュ・メモリ、または任意の他の適切なメモリ・システムを含むことができる。
【0033】
プロセッサ402は、システム・インターコネクト406(例えば、PCI(R)、PCI-Express(R)など)を介して入出力(I/O)デバイス・インターフェース408に接続されてよく、入出力(I/O)デバイス・インターフェース408はコンピューティング・デバイス400を1つまたは複数のI/Oデバイス410に接続するように構成されている。I/Oデバイス410は、例えば、キーボードおよびポインティング・デバイスを含むことができ、ポインティング・デバイスは、特にタッチパッドまたはタッチ・スクリーンを含むことができる。I/Oデバイス410は、コンピューティング・デバイス400の内蔵コンポーネントであっても、コンピューティング・デバイス400に外部から接続されているデバイスであってもよい。
【0034】
プロセッサ402は、システム・インターコネクト406を介してディスプレイ・インターフェース412にリンクされてもよく、ディスプレイ・インターフェース412は、コンピューティング・デバイス400をディスプレイ・デバイス414に接続するように構成されている。ディスプレイ・デバイス414は、コンピューティング・デバイス400の内蔵コンポーネントであるディスプレイ画面を含むことができる。ディスプレイ・デバイス414は、特に、コンピューティング・デバイス400に外部から接続されている、コンピュータ・モニタ、テレビ、またはプロジェクタを含むこともできる。加えて、ネットワーク・インターフェース・コントローラ(NIC)416は、システム・インターコネクト406を介してネットワーク418にコンピューティング・デバイス400を接続するように構成されてもよい。一部の実施形態において、NIC416は、特にインターネット・スモール・コンピュータ・システム・インターフェースなどの任意の適切なインターフェースまたはプロトコルを使用してデータを伝送することができる。ネットワーク418は、特に、セルラ・ネットワーク、無線ネットワーク、広域ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、またはインターネットであってよい。外部コンピューティング・デバイス420は、ネットワーク418を介してコンピューティング・デバイス400に接続することができる。一部の例において、外部コンピューティング・デバイス420は、外部ウェブサーバ420であってよい。一部の例において、外部コンピューティング・デバイス420は、クラウド・コンピューティング・ノードであってよい。
【0035】
プロセッサ402は、システム・インターコネクト406を介してストレージ・デバイス422にリンクされてもよく、ストレージ・デバイス422は、ハード・ドライブ、光学ドライブ、USBフラッシュ・ドライブ、ドライブのアレイ、またはそれらの任意の組合せを含むことができる。一部の例において、ストレージ・デバイスは、受信モジュール424、人工知能(AI)モデル生成モジュール426、およびフィルタ・モジュール428を含むことができる。受信モジュール424は、特定のユーザに関連付けられたクライアント・デバイス上でトレーニングされた人工知能(AI)モデルを受信することができる。AIモデル生成モジュール426は、クライアント・デバイスに格納されたメディアに基づいてAIモデルを生成することができる。例えば、AIモデル生成モジュール426は、メディア上の顔認識を使用してAIモデルをトレーニングすることができる。一部の例において、AIモデル生成モジュール426は、ユーザ提供のメディア上でAIモデルをトレーニングすることができる。様々な例において、AIモデル生成モジュール426は、ユーザ提供の表現上でAIモデルをトレーニングすることができる。例えば、ユーザ提供の表現は、検索式または正規表現であってよい。フィルタ・モジュール428は、AIモデルに基づいてグループ・メッセージをフィルタリングすることができる。フィルタ・モジュール428は、フィルタリングされたメッセージをクライアント・デバイスのストレージに保存することができる。一部の例において、フィルタ・モジュール428は、フィルタリングされたメッセージをクライアント・デバイスに送信して、フィルタリングされたメッセージを提示および格納することができる。
【0036】
図4のブロック図は、コンピューティング・デバイス400が
図4に示すすべてのコンポーネントを含むことを示すことを意図するものではないことを理解されたい。むしろ、コンピューティング・デバイス400は、より少ないコンポーネント、または
図4に示されていない追加のコンポーネント(例えば、追加のメモリ・コンポーネント、組込みコントローラ、モジュール、追加のネットワーク・インターフェースなど)を含むことができる。例えば、コンピューティング・デバイス400がクラウド・ノードである場合、AIモデル生成モジュール426は除外されてよい。一部の例において、コンピューティング・デバイス400がエッジ・デバイスである場合、フィルタ・モジュール428は除外されてよい。例えば、フィルタリングされたメッセージは、代わりに、フィルタ・モジュール428を含むクラウド・コンピューティング・ノードなどの外部コンピューティング・デバイス420から受信されてよい。さらに、受信モジュール424、AIモデル生成モジュール426、およびフィルタ・モジュール428の機能はいずれも、部分的にまたは完全に、ハードウェアまたはプロセッサ402あるいはその両方に実装されてよい。例えば、この機能は、特に、アプリケーション固有の集積回路、組込みコントローラに実装されたロジック、またはプロセッサ402に実装されたロジックを使用して実装されてよい。一部の実施形態において、受信モジュール424、AIモデル生成モジュール426、およびフィルタ・モジュール428の機能は、ロジックを使用して実装されてよく、本明細書で言及するロジックは、任意の適切なハードウェア(例えば、特にプロセッサ)、ソフトウェア(例えば、特にアプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組合せを含むことができる。
【0037】
次に
図5を参照して、例示的なクラウド・コンピューティング環境500を示す。図示のように、クラウド・コンピューティング環境500は、1つまたは複数のクラウド・コンピューティング・ノード502を含み、この1つまたは複数のクラウド・コンピューティング・ノード502と、例えば、パーソナル・デジタル・アシスタント(PDA)もしくは携帯電話504A、デスクトップ・コンピュータ504B、ラップトップ・コンピュータ504C、または自動車コンピュータ・システム504N、あるいはその組合せなどの、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが、通信することができる。ノード502は相互に通信することができる。ノード502は、本明細書で前述したプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはその組合せなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化され得る(図示せず)。これにより、クラウド・コンピューティング環境500は、クラウド消費者がローカル・コンピューティング・デバイス上でリソースを維持する必要がないインフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せをサービスとして提供することができる。
図5に示すコンピューティング・デバイス504A~504Nの種類は、単なる例示が意図されており、コンピューティング・ノード502およびクラウド・コンピューティング環境500が、(例えば、ウェブ・ブラウザを使用して)任意の種類のネットワークまたはネットワーク・アドレス指定可能な接続あるいはその両方を介して任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【0038】
次に
図6を参照して、クラウド・コンピューティング環境500(
図5)によって提供される1組の機能抽象化層を示す。
図6に示すコンポーネント、層、および機能は、単なる例示が意図されており、本発明の実施形態はこれらに限定されないことが予め理解されるべきである。図示のように、以下の層および対応する機能が提供される。
【0039】
ハードウェアおよびソフトウェア層600は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム、一例においてIBM(R) zSeries(R)システム、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ、一例においてIBM pSeries(R)システム、IBM xSeries(R)システム、IBM BladeCenter(R)システム、ストレージ・デバイス、ネットワークおよびネットワーキング・コンポーネントが挙げられる。ソフトウェア・コンポーネントの例として、ネットワーク・アプリケーション・サーバ・ソフトウェア、一例においてIBM WebSphere(R)アプリケーション・サーバ・ソフトウェア、およびデータベース・ソフトウェア、一例においてIBM DB2(R)データベース・ソフトウェアが挙げられる(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、世界の多くの法域で登録されているInternational Business Machines Corporationの商標である)。
【0040】
仮想化層602は抽象化層を提供し、この抽象化層から、仮想エンティティの以下の例、すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントを提供することができる。一例において、管理層604は、以下に記載の機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的調達を行う。計量および価格設定は、リソースがクラウド・コンピューティング環境内で利用されるときの費用追跡、およびこれらのリソースの消費に対する請求書発行またはインボイス処理を行う。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクのID確認と、データおよび他のリソースの保護とを行う。ユーザ・ポータルは、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソース割当ておよび管理を行う。サービス・レベル合意書(SLA)の計画および履行は、将来の要件が予測されるクラウド・コンピューティング・リソースの事前手配および調達をSLAに従って行う。
【0041】
作業負荷層606は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供できる作業負荷および機能の例として、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ解析処理、トランザクション処理、ならびにグループ・メッセージのフィルタリングが挙げられる。
【0042】
本技術は、システム、方法、またはコンピュータ・プログラム製品であってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
【0043】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持し格納することができる有形デバイスであってよい。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、以下のもの、すなわち、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、携帯型コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードもしくは命令が記録されている溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を伝搬する電磁波(例えば光ファイバ・ケーブルを通過する光パルス)、または電線を介して送信される電気信号などの、一過性の信号自体であると解釈されるべきではない。
【0044】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組合せを介して、外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
【0045】
本技術の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語もしくは同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたコードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で独立型ソフトウェア・パッケージとして部分的に、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に、またはリモート・コンピュータもしくはサーバ上で全体的に、実行することができる。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに接続することができる。一部の実施形態において、本技術の態様を実行するために、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して、電子回路をパーソナライズするためのコンピュータ可読プログラム命令を実行することができる。
【0046】
本技術の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら、本技術の態様について本明細書で説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方に含まれるブロックの組合せは、コンピュータ可読プログラム命令によって実装できることが理解されるだろう。
【0047】
これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んだ製品を備えるように、コンピュータ可読記憶媒体に格納されて、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示できるものであってもよい。
【0048】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータによって実施されるプロセスを作り出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0049】
次に
図7を参照して、グループ・メッセージをフィルタリングすることができる例示的な有形の非一過性コンピュータ可読媒体700のブロック図を示す。有形の非一過性コンピュータ可読媒体700は、コンピュータ・インターコネクト704を介してプロセッサ702によってアクセスされてよい。さらに、有形の非一過性コンピュータ可読媒体700は、
図3の方法300の動作を実行するようにプロセッサ702に指示するコードを含むことができる。
【0050】
本明細書に記載の様々なソフトウェア・コンポーネントは、
図7に示すような有形の非一過性コンピュータ可読媒体700に格納されてよい。例えば、受信モジュール706は、クライアント・デバイスのストレージからメディアを受信するコードを含む。受信モジュール706は、ユーザ提供の表現を受信するコードも含む。一部の例において、受信モジュール706は、メッセージ削除パターンを監視するコードを含む。一部の例において、モジュール706はコードを含む。人工知能(AI)モデル生成モジュール708は、メディアに基づいて人工知能(AI)モデルを生成するコードを含む。AIモデル生成モジュール708は、メディア上の顔認識を使用してAIモデルをトレーニングするコードをさらに含む。AIモデル生成モジュール708は、ユーザ提供のメディア上でAIモデルをトレーニングするコードも含む。一部の例において、AIモデル生成モジュール708は、特定のグループに関連付けられたメディアを使用してAIモデルをトレーニングするコードも含む。一部の例において、AIモデル生成モジュール708は、クライアント・デバイスを介してメディアをユーザに提示し、関連するメディアの選択をユーザから受信するコードも含む。フィルタ・モジュール710は、クライアント・デバイスに格納されるグループ・メッセージを、AIモデル・フィルタを介してフィルタリングするコードを含む。フィルタ・モジュール710は、フィルタリングされたグループ・メッセージを、クライアント・デバイスを介して提示するコードも含む。特定の用途に応じて、
図7に示されていない任意の数の追加のソフトウェア・コンポーネントが、有形の非一過性コンピュータ可読媒体700内に含まれてもよいことを理解されたい。
【0051】
図におけるフローチャートおよびブロック図は、本技術の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、指定された1つ(または複数の)論理機能を実施するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことができる。一部の代替実装形態において、ブロックに記載された機能は、図に記載された順序以外で生じる場合がある。例えば、連続して示す2つのブロックは、実際には、実質的に同時に実行することができ、またはそれらのブロックは、時には、関与する機能に応じて、逆の順序で実行することができる。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行する、または専用ハードウェアとコンピュータ命令との組合せを実行する専用ハードウェア・ベースのシステムによって実施することができることにも留意されたい。特定の用途に応じて、
図7に示されていない任意の数の追加のソフトウェア・コンポーネントが、有形の非一過性コンピュータ可読媒体700内に含まれてもよいことを理解されたい。
【0052】
本技術の様々な態様の説明は、例示の目的で提示されているが、網羅的であることも、開示された実施形態に限定することも意図していない。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実際の応用もしくは技術的改良を最もよく説明するために、または当業者が本明細書に開示された実施形態を理解できるようにするために選択された。