(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-18
(54)【発明の名称】同時多視点ビデオ・システムおよび方法
(51)【国際特許分類】
H04N 21/234 20110101AFI20240111BHJP
H04N 21/24 20110101ALI20240111BHJP
H04N 7/18 20060101ALI20240111BHJP
H04N 23/60 20230101ALI20240111BHJP
H04N 23/63 20230101ALI20240111BHJP
H04N 23/62 20230101ALI20240111BHJP
【FI】
H04N21/234
H04N21/24
H04N7/18 U
H04N23/60 300
H04N23/63
H04N23/62
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023537286
(86)(22)【出願日】2021-12-20
(85)【翻訳文提出日】2023-08-18
(86)【国際出願番号】 US2021064366
(87)【国際公開番号】W WO2022133346
(87)【国際公開日】2022-06-23
(32)【優先日】2020-12-18
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】518357715
【氏名又は名称】ファセット・インコーポレーテッド
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】クリスマス,コイ
(72)【発明者】
【氏名】リッチ,デーブ
(72)【発明者】
【氏名】アンダーソン,ダスティン
【テーマコード(参考)】
5C054
5C122
5C164
【Fターム(参考)】
5C054CA04
5C054CC02
5C054EC07
5C054FE02
5C054FE17
5C054FE23
5C122DA03
5C122EA42
5C122FA18
5C122FK12
5C122FK29
5C122FK34
5C122FK37
5C122FK38
5C122FK39
5C122FK40
5C122FK41
5C122FK42
5C122GA21
5C122GC14
5C122GC52
5C122HA01
5C122HB05
5C164FA07
5C164SA25S
5C164SB01P
5C164SB41P
5C164TB13S
5C164YA21
(57)【要約】
同時多視点ビデオ・システムを開示する。このシステムは、第1デバイスから第1ビデオ・ストリームを受信し、第2デバイスから第2ビデオ・ストリームを受信し、第3デバイスから第3ビデオ・ストリームを受信し、第1ビデオ・ストリーム、第2ビデオ・ストリーム、および第3ビデオ・ストリームの各々からタイミング・データを抽出し、タイミング・データに基づいて、第1ビデオ・ストリーム、第2ビデオ・ストリーム、および第3ビデオ・ストリームの各々と関連付けられた拍子記号を判定し、第1ビデオ・ストリーム、第2ビデオ・ストリーム、および第3ビデオ・ストリームの各々に基づいて、後処理・データを生成し、後処理データ上にエンコードされた1つ以上の拍子記号を整列し、第1ビデオ・ストリーム、第2ビデオ・ストリーム、および第3ビデオ・ストリームの各々に対応する複数の時間同期ビデオ・ストリームを含む生産データ・ファイルを生成することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータ・ベース・システムであって、
プロセッサと、
前記プロセッサと通信するように構成された有形非一時的メモリと、
を備え、
前記有形非一時的メモリ上には命令が格納されており、前記命令が、前記プロセッサによる実行に応答して、前記プロセッサに、
前記プロセッサによって、第1デバイスから第1ビデオ・ストリームを受信する動作と、
前記プロセッサによって、第2デバイスから第2ビデオ・ストリームを受信する動作と、
前記プロセッサによって、第3デバイスから第3ビデオ・ストリームを受信する動作と、
前記プロセッサによって、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々から、タイミング・データを抽出する動作と、
前記プロセッサによって、前記タイミング・データに基づいて、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々と関連付けられた拍子記号を判定する動作と、
前記プロセッサによって、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々に基づいて、後処理データを生成する動作と、
前記プロセッサによって、前記後処理データ上にエンコードされた1つ以上の拍子記号を整列し、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々に対応する複数の時間同期ビデオ・ストリームを含む生産データ・ファイルを生成する動作と、
を含む動作を実行させる、コンピュータ・ベース・システム。
【請求項2】
請求項1記載のシステムにおいて、前記動作が、更に、前記プロセッサによって、生画像データの処理または操作を実行する動作を含む、システム。
【請求項3】
請求項1記載のシステムにおいて、前記動作が、更に、前記プロセッサによって、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々の、移動体デバイスを介した、能動的視聴を可能にする動作を含む、システム。
【請求項4】
請求項1記載のシステムにおいて、前記動作が、更に、前記プロセッサによって、前記複数の時間同期ビデオ・ストリームの各々の、移動体デバイスを介した、選択および同時表示を可能にする動作を含む、システム。
【請求項5】
請求項1記載のシステムにおいて、前記タイミング・データがWebRTCタイミング・データである、システム。
【請求項6】
請求項1記載のシステムであって、更に、複数の画像センサからのデータ・ストリームを同期させ、整列するように構成されたストリーム融合モジュールを備える、システム。
【請求項7】
請求項6記載のシステムであって、更に、アプリケーション・プログラミング・インターフェース・モジュールと、データ・ハンドラ・モジュールと、ビデオ処理モジュールと、ユーザ・インターフェース・モジュールと、データベース・モジュールとを備える、システム。
【請求項8】
方法であって、
コンピュータ・ベース・システムによって、第1デバイスから第1ビデオ・ストリームを受信するステップと、
前記コンピュータ・ベース・システムによって、第2デバイスから第2ビデオ・ストリームを受信するステップと、
前記コンピュータ・ベース・システムによって、第3デバイスから第3ビデオ・ストリームを受信するステップと、
前記コンピュータ・ベース・システムによって、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々からタイミング・データを抽出するステップと、
前記コンピュータ・ベース・システムによって、前記タイミング・データに基づいて、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々と関連付けられた拍子記号を判定するステップと、
前記コンピュータ・ベース・システムによって、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々に基づいて、後処理データを生成するステップと、
前記コンピュータ・ベース・システムによって、前記後処理データ上にエンコードされた1つ以上の拍子記号を整列し、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々に対応する複数の時間同期ビデオ・ストリームを含む生産データ・ファイルを生成するステップと、
を含む、方法。
【請求項9】
請求項7記載の方法において、前記動作が、更に、前記コンピュータ・ベース・システムによって、生画像データの処理または操作を実行する動作を含む、方法。
【請求項10】
請求項7記載の方法において、前記動作が、更に、前記コンピュータ・ベース・システムによって、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々の、移動体デバイスを介した、能動的視聴を可能にする動作を含む、方法。
【請求項11】
請求項7記載の方法において、前記動作が、更に、前記コンピュータ・ベース・システムによって、前記複数の時間同期ビデオ・ストリームの各々の、移動体デバイスを介した、選択および同時表示を可能にする動作を含む、方法。
【請求項12】
請求項7記載の方法において、前記タイミング・データがWebRTCタイミング・データである、方法。
【請求項13】
請求項7記載の方法であって、更に、複数の画像センサからのデータ・ストリームを同期させ、整列するように、ストリーム融合モジュールを構成するステップを含む、方法。
【請求項14】
非一時的、有形コンピュータ読み取り可能記憶媒体を含む製品であって、前記非一時的、有形コンピュータ読み取り可能記憶媒体上には命令が格納されており、前記命令が、コンピュータ・ベース・システムによる実行に応答して、前記コンピュータ・ベース・システムに、
前記コンピュータ・ベース・システムによって、第1デバイスから第1ビデオ・ストリームを受信する動作と、
前記コンピュータ・ベース・システムによって、第2デバイスから第2ビデオ・ストリームを受信する動作と、
前記コンピュータ・ベース・システムによって、第3デバイスから第3ビデオ・ストリームを受信する動作と、
前記コンピュータ・ベース・システムによって、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々から、タイミング・データを抽出する動作と、
前記コンピュータ・ベース・システムによって、前記タイミング・データに基づいて、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々と関連付けられた拍子記号を判定する動作と、
前記コンピュータ・ベース・システムによって、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々に基づいて、後処理データを生成する動作と、
前記コンピュータ・ベース・システムによって、前記後処理データ上にエンコードされた1つ以上の拍子記号を整列し、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々に対応する複数の時間同期ビデオ・ストリームを含む生産データ・ファイルを生成する動作と、
を含む動作を実行させる、製品。
【請求項15】
請求項14記載のコ製品 において、前記動作が、更に、前記コンピュータ・ベース・システムによって、生画像データの処理または操作を実行する動作を含む、 製品。
【請求項16】
請求項14記載の製品において、前記動作が、更に、前記コンピュータ・ベース・システムによって、前記第1ビデオ・ストリーム、前記第2ビデオ・ストリーム、および前記第3ビデオ・ストリームの各々の、移動体デバイスを介した、能動的視聴を可能にする動作を含む、製品。
【請求項17】
請求項14記載の製品において、前記動作が、更に、前記コンピュータ・ベース・システムによって、前記複数の時間同期ビデオ・ストリームの各々の、移動体デバイスを介した、選択および同時表示を可能にする動作を含む、製品。
【請求項18】
請求項14記載の製品において、前記タイミング・データがWebRTCタイミング・データである、製品。
【請求項19】
請求項14記載の製品であって、更に、複数の画像センサからのデータ・ストリームを同期させ、整列するように構成されたストリーム融合モジュールを備える、製品。
【請求項20】
請求項19記載の製品であって、更に、アプリケーション・プログラミング・インターフェース・モジュールと、データ・ハンドラ・モジュールと、ビデオ処理モジュールと、ユーザ・インターフェース・モジュールと、データベース・モジュールとを備える、製品。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願に対する相互引用
[0001] 本願は、2020年12月18日に出願された“SYSTEMS AND METHODS FOR SIMULTANEOUS MULTIPLE POINT OF VIEW VIDEO”(同時多視点ビデオ・システムおよび方法)と題する米国仮特許出願第63/127,419号の優先権および出願権利を主張する。直前に識別したこの出願は、いずれの目的に対しても、その内容全体が本願にも含まれるものとする。
分野
[0002] 本開示は、ビデオ・ストリーミング・ツールに関し、特に、複数の同時ビデオ・ストリームを処理し統合するためのビデオ・ストリーミング・ツールに関する。
【背景技術】
【0002】
[0003] 従前からのビデオ記録およびストリーミング・システムは、所与のイベントに対して1つの視点を提供するに過ぎないことが多い。従前からのシステムでは、同時に記録されたオーディオ・データに基づいて、複数の画像ストリームを同期させることができる。これに関して、従前からのシステムは、オーディオ品質問題、部屋の動力学(room dynamics)、または他の外部要因に応答して、同期エラーを誘発するおそれがある。
【発明の概要】
【0003】
[0004] 種々の実施形態において、同時多重視点ビデオのためのシステム、方法、および製品(纏めて、本「システム」)を開示する。このシステムは、第1デバイスから第1ビデオ・ストリームを受信し、第2デバイスから第2ビデオ・ストリームを受信し、第3デバイスから第3ビデオ・ストリームを受信することができる。このシステムは、第1ビデオ・ストリーム、第2ビデオ・ストリーム、および第3ビデオ・ストリームの各々から、タイミング・データを抽出することができる。このシステムは、タイミング・データに基づいて、第1ビデオ・ストリーム、第2ビデオ・ストリーム、および第3ビデオ・ストリームの各々と関連付けられた拍子記号(time signature)を判定することができる。このシステムは、第1ビデオ・ストリーム、第2ビデオ・ストリーム、および第3ビデオ・ストリームの各々に基づいて、後処理データを生成することができる。このシステムは、後処理データ上にエンコードされた1つ以上の拍子記号を整列し、生産データ・ファイルを生成することができる。生産データ・ファイルは、第1ビデオ・ストリーム、第2ビデオ・ストリーム、および第3ビデオ・ストリームの各々に対応する複数の時間同期ビデオ・ストリームを含む。
【0004】
[0005] 種々の実施形態において、このシステムは、生画像データの処理(operation)または操作(manipulation)を実行することができる。種々の実施形態において、このシステムは、第1ビデオ・ストリーム、第2ビデオ・ストリーム、および第3ビデオ・ストリームの各々の、移動体デバイスを介した、能動的視聴を可能にすることができる。種々の実施形態において、このシステムは、複数の時間同期ビデオ・ストリームの各々の、移動体デバイスを介した、選択および同時表示を可能にすることができる。種々の実施形態において、タイミング・データはWebRTCタイミング・データである。種々の実施形態において、このシステムは、複数の画像センサからのデータ・ストリームを同期させ整列させるように構成されたストリーム融合モジュール(stream fusion module)を備えることができる。種々の実施形態において、このシステムは、アプリケーション・プログラミング・インターフェース・モジュール、データ・ハンドラ・モジュール、ビデオ処理モジュール、ユーザ・インターフェース・モジュール、およびデータベース・モジュールを備えることもできる。
【0005】
[0006] 以上の特徴およびエレメントは、本明細書において明示的に別段の記載がない限り、組み合わせて種々の組み合わせにしてもよく、これらの組み合わせが除外されることはない。これらの特徴およびエレメント、更に開示する実施形態の動作は、以下の説明および添付図面を参照すれば、一層明白になるであろう。
【図面の簡単な説明】
【0006】
[0007] 本明細書の結論部において、本開示の主題を特定して指摘し、明確に主張する(claim)。しかしながら、本開示の更に完全な理解は、詳細な説明および特許請求の範囲を参照し、図面と関連付けて検討することによって、得ることができる。図面において、同様の番号は同様のエレメントを示す。
【
図1】種々の例示的な実施形態による、同時多視点ビデオ・システムの種々のシステム・コンポーネントを示すブロック図である。
【
図2】種々の例示的な実施形態による、同時多視点ビデオ・システムのサービスを示すブロック図である。
【
図3】種々の例示的な実施形態による同時多視点ビデオ・システムのサインイン・インターフェース(sign in interface)である。
【
図4】種々の例示的な実施形態による同時多視点ビデオ・システムのデバイス選択インターフェースである。
【
図5】種々の例示的な実施形態による同時多視点ビデオ・システムのデバイス選択インターフェースである。
【
図6】種々の例示的な実施形態による同時多視点ビデオ・システムの記録インターフェースである。
【
図7】種々の例示的な実施形態による同時多視点ビデオ・システムの記録インターフェースである。
【
図8】種々の例示的な実施形態による同時多視点ビデオ・システムのデバイス選択インターフェースである。
【
図9】種々の例示的な実施形態による同時多視点ビデオ・システムのデバイス選択インターフェースである。
【
図10】種々の例示的な実施形態による同時多視点ビデオ・システムの記録インターフェースである。
【
図11】種々の例示的な実施形態による同時多視点ビデオ・システムの記録インターフェースである。
【
図12】種々の例示的な実施形態による同時多視点ビデオ・システムの記録インターフェースである。
【
図13】種々の例示的な実施形態による同時多視点ビデオ・システムの記録インターフェースである。
【
図14】種々の例示的な実施形態による同時多視点ビデオ・システムの設定インターフェースである。
【
図15】種々の例示的な実施形態による同時多視点ビデオ・システムの設定インターフェースである。
【
図16】種々の例示的な実施形態による同時多視点ビデオ・システムのサインアウト・インターフェースである。
【
図17】種々の例示的な実施形態による同時多視点ビデオ・システムのプロファイル・インターフェースである。
【
図18】種々の例示的な実施形態による同時多視点ビデオ・システムの視聴(viewing)インターフェースである。
【
図19】種々の例示的な実施形態による同時多視点ビデオ・システムの設定インターフェースである。
【発明を実施するための形態】
【0007】
[0027] 本明細書における種々の実施形態の詳細な説明では、添付図面およびスクリーンショット(pictures)を参照する。添付図面は、種々の実施形態を、代表例(illustration)として示す。これらの種々の実施形態は、当業者が本開示を実施することを可能にするように、十分に詳細に説明するが、他の実施形態も実現できること、そして本開示の主旨および範囲から逸脱することなく、論理的および機械的変更を行ってもよいことは、理解されてしかるべきである。つまり、本明細書における詳細な説明は、例示の目的に限って提示されるのであり、限定ではない。例えば、方法またはプロセスの記載では、そのいずれにおいて列挙されるステップも、任意の順序で実行することができ、提示される順序に必ずしも限定されない。更に、機能またはステップはいずれも、1つ以上のサード・パーティに外部委託されてもよく、または1つ以上のサード・パーティによって実行されてもよい。更に、単数に言及するときはいつでも、複数の実施形態も含まれ、1つよりも多いコンポーネントに言及するときはいつでも、1つの実施形態も含むことができる。
【0008】
[0028] 本明細書において使用する場合、「電子通信」(electronic communication)は、電子信号の少なくとも一部分の物理的結合(例えば、「電気通信」または「電気的結合」)との通信、および/または物理的結合ではなく(without)、電磁場による(例えば、「誘導性通信」または「誘導的結合」(inductively coupled)または「誘導結合」(inductive coupling)通信を意味する。本明細書において使用する場合、「送信する」(transmit)は、電子データの少なくとも一部分を1つのシステム・コンポーネントから他のシステム・コンポーネントに(例えば、ネットワーク接続を介して)送ることを含んでよい。加えて、本明細書において使用する場合、「データ」(data)、「情報」(information)等は、コマンド、クエリ、ファイル、メッセージ、記憶用データ等のような、網羅的な情報(encompassing information)をデジタル形態または任意の他の形態で含んでもよい。
【0009】
[0029] 本明細書において使用する場合、「満足する」(satisfy)、「満たす」(meet)、「一致する」(match)、「関連付けられた」(associated with)、または同様の語句は、完全一致(identical match)、部分的一致、特定の判断基準を満たす、データの部分集合と一致する、相関、特定の判断基準を満足する、対応、関連付け、アルゴリズム関係等を含むことができる。同様に、本明細書において使用する場合、「認証する」(authenticate)または同様の用語は、正確な認証、部分的認証、データの部分集合を認証する、対応、特定の判断基準を満足する、関連付け、アルゴリズム関係等を含むことができる。
【0010】
[0030] システム、方法、およびコンピュータ・プログラム製品を提供する。本明細書における詳細な説明において、「種々の実施形態」、「一実施形態」(one embodiment)、「実施形態」(an embodiment)、「実施形態例」(example embodiment)等に言及するときは、説明する実施形態が特定の特徴、構造、または特性を含むのはもっともであるが、あらゆる実施形態が必ずしもその特定の特徴、構造、または特性を含まなくてもよいことを示す。更に、このような語句は必ずしも同じ実施形態を指すとは限らない。更に、特定の特徴、構造、または特性についてある実施形態と関連付けて記載されるとき、明示的に記載されているか否かには関係なく、このような特徴、構造、または特性を他の実施形態と関連付けて実施することは、当業者の知識の範囲内であることを具申する。説明を読んだ後には、どのように本開示を代替実施形態において実現するかについては、当業者には明白であろう。
【0011】
[0031] 種々の実施形態において、そして
図1を参照すると、同時多視点ビデオ同期システム100が図示されている。システム100は、種々のコンピューティング・デバイス、ソフトウェア・モジュール、ネットワーク、およびデータ構造を含むことができ、これらは互いに通信する。また、システム100は、ウェブ・サービス、ユーティリティ・コンピューティング、パーベイシブ(pervasive)および特定個人向け(individualized)コンピューティング、セキュリティおよびアイデンティティ(identity)ソリューション、自律型コンピューティング、クラウド・コンピューティング、コモディティ・コンピューティング(commodity computing)、モビリティおよびワイヤレス・ソリューション、オープン・ソース、バイオメトリクス、グリッド・コンピューティング、および/またはメッシュ・コンピューティングと関連付けた使用も想定することができる。システム100は、アプリケーション・サーバ102、ユーザ・デバイス104、およびサービス200を備えることができる。これらのコンポーネントはいずれも、外部委託すること、および/またはネットワーク、例えば、第1ネットワーク106および第2ネットワーク108等を通じて、データ比較アプリケーション・サーバ102および/またはサービス200と通信することもできる。
【0012】
[0032] システム100は、コンピュータに基づくのでもよく、プロセッサ、有形非一時的コンピュータ読み取り可能メモリ、および/またはネットワーク・インターフェースを、他の適したシステム・ソフトウェアおよびハードウェア・コンポーネントと共に備えることができる。有形非一時的メモリ上に格納された命令は、本明細書において説明するように、システム100に種々の機能を実行させることができる。種々の実施形態において、アプリケーション・サーバ102および/またはFlysviewサービス(即ち、サービス200)は、中央ネットワーク・エレメントまたはハブとして、種々のシステム、エンジン、およびシステム100のコンポーネントにアクセスするように構成することができる。アプリケーション・サーバ102は、ネットワーク(例えば、ネットワーク106)、コンピュータ・ベース・システム、および/または種々のシステム、エンジン、ならびにシステム100のコンポーネントにアクセス・ポイントを提供するように構成されたソフトウェア・コンポーネントを備えることができる。アプリケーション・サーバ102は、第1ネットワーク106を通じてユーザ・デバイス104と、そして第2ネットワーク108を通じてサービス200と、動作可能におよび/または電子的に通信することができる。これに関して、アプリケーション・サーバ102は、ユーザ・デバイス104からシステム、エンジン、およびシステム100のコンポーネント(例えば、サービス200のような)への通信を可能にするとしてよい。種々の実施形態において、アプリケーション・サーバ102はコマンドおよび/またはメタデータをユーザ・デバイス104から受信することができ、回答をユーザ・デバイス104に渡すことができる。
【0013】
[0033] 種々の実施形態において、アプリケーション・サーバ102は、先に説明した1つ以上のコンピューティング・デバイス、ラック実装サーバ、および/または仮想機械を含むことができ、負荷均衡化、アプリケーション・サービス、ウェブ・サービス、データ・クエリ・サービス、データ転送サービス、逆プロキシ・サービス(reverse proxy service)、またはこれら以外でネットワーク(106、108)を跨いでデータの配信および受信を容易にするサービスを提供する。
【0014】
[0034] 種々の実施形態において、ユーザ・デバイス104は、ネットワーク(例えば、ネットワーク106)を通じてシステム100と通信するソフトウェアおよび/またはハードウェアを備えることができ、ユーザ等にアプリケーション・サーバ102へのアクセスを許可するように構成されたハードウェアおよび/またはソフトウェアを備える。ユーザ・デバイス104は、ユーザにネットワークおよびシステム100と通信させるように構成された任意の適したデバイスを備えることができる。ユーザ・デバイスは、例えば、パーソナル・コンピュータ、パーソナル・デジタル・アシスタント、セルラ電話機、キオスク、移動体デバイス等を含むことができ、ユーザに比較要求をシステム100に送信させることができる。種々の実施形態において、ユーザ・デバイス104は、画像センサ、および/または例えば、電荷結合デバイスのような、ビデオ記録デバイスを含む。種々の実施形態において、本明細書において説明するユーザ・デバイス104は、アプリケーション・サーバ102と通信するために、ウェブ・アプリケーションまたはネーティブ・アプリケーションを実行することができる。ネーティブ・アプリケーション110は、例えば、ダウンロード、物理媒体、またはアプリ・ストアを介して、ユーザ・デバイス104上にインストールすることができる。ネーティブ・アプリケーション110は、 開発コード・ベース(development code base)を利用することができる。開発コード・ベースは、オペレーティング・システムと共に使用するために提供され、ユーザ・デバイス104上に格納または表示されるデータを操作し、アプリケーション・サーバ102と通信するために、システム・コールを実行することができる。ウェブ・アプリケーションは、ウェブ・ブラウザと互換性があり、ウェブ・ブラウザ上で実行するように特定的に書かれたウェブ・ブラウザでもよい。つまり、ウェブ・アプリケーションは、アプリケーション・サーバ102と共に動作するブラウザ・ベースのアプリケーションであってもよい。
【0015】
[0035] 種々の実施形態において、ユーザ・デバイス104上で実行するネーティブ・アプリケーション110は、リアル・タイムの更新をサポートするために、アプリケーション・サーバ102と通信することができる。例えば、サーバ200に関するデータは、アプリケーション・サーバ102および/またはサービス200と相互作用する任意の数のユーザによって使用される種々のユーザ・デバイス104を跨いで同期することができる。これに関して、アプリケーション・サーバ102は、データをサービス200からユーザ・デバイス104の各々に供給する(serve)ことができ、更にコマンドをユーザ・デバイス104からサービス200に供給することができる。種々の実施形態において、アプリケーション・サーバ102は、ネットワーク(106、108)および/またはシステム100の種々のコンポーネント間において送信されるデータを制限するために、アクセス許可を適用することができる。ユーザは、例えば、ユーザ名、パスワード、二重要素認証、秘密暗号鍵、ワンタイム・パスワード、セキュリティ質問、バイオメトリクス、または当業者には知られている他の適した認証技法によって、ネーティブ・アプリケーション110上で認証することができる。
【0016】
[0036] 更に
図2も参照すると、種々の実施形態によるシステム100のサービス200のブロック図が示されている。サービス200は、ソフトウェア・バス・アーキテクチャ202、アプリケーション・プログラミング・インターフェース(即ち、APIモジュール204)、データ・ハンドラ206モジュール、ビデオ処理モジュール208、ストリーム融合モジュール210、ユーザ・インターフェース・モジュール212、およびデータベース・モジュール214を備えることができる。
【0017】
[0037] 種々の実施形態において、APIモジュール204は、システム100、サービス200のサービス(service 200 services)、コンポーネント、モジュール、および/またはエンジンの集合体のいずれにも、プログラム・インターフェースを提供するように構成することができる。
【0018】
[0038] 種々の実施形態において、データ・ハンドラ206は、1つ以上の画像センサからデータを取得し、種々のシステム、エンジン、およびサービス200のコンポーネントによる使用のために、データを処理して複数のデータ・フィード207にするように構成されている。種々の実施形態において、データ・フィード207は、例えば、ビデオ・ストリームのような、リアル・タイム・データ・フィードとしてよい。データ・ハンドラは、種々のデータ・ソースと統合することができるのでもよい。データ・ハンドラは、データ・フィードから生タイミング・データを抽出することができる。
【0019】
[0039] 種々の実施形態において、ビデオ処理モジュール208は、データをデータ・ハンドラ206から収集し処理するように構成することができる。ビデオ処理モジュール208は、生画像データ216を受信し、生画像データ216の種々の処理および操作を実行することができる。ビデオ処理モジュール208は、ストリーム融合モジュール210によって後に使用するために、後処理データ(PPデータ218)を生成することができる。
【0020】
[0040] 種々の実施形態において、ストリーム融合モジュール210は、種々のユーザ・デバイスの画像センサからのストリームを同期させて整列するように構成されたエンジンを備える。ストリーム融合モジュール210は、PPデータ218内にエンコードされている1つ以上の拍子記号を整列して、生産データ(production data)220のファイルを生成することができる。生産データ220のファイルは、生データ・フィードの各々に対応する複数の時間同期ビデオ・ストリームを含む。種々の実施形態において、ストリーム融合モジュール210は、データ・ハンドラ206によって抽出されたWebRTCタイミング・データに基づいて、生産データを生成することができる。
【0021】
[0041] 種々の実施形態において、ユーザ・インターフェース・モジュール212は、サービス200からの出力をユーザ・デバイス104に供給することができる。種々の実施形態において、ユーザ・インターフェース・モジュール212は、例えば、ウェブ・ベース・アプリケーションまたはネーティブ・アプリケーション110のような2つのチャネルを通じて、出力を供給することができる。ユーザ・インターフェースは、画像センサからのリアル・タイム・ストリームの能動的視聴(active viewing)を可能にするのでもよい。ユーザ・インターフェースは、保管した生産データ220のオンデマンド視聴を可能にするのでもよい。ユーザ・インターフェースは、同期が取られたビデオ・ストリームの1つ以上の選択および同時表示を可能にするのでもよい。
【0022】
[0042] 種々の実施形態において、データベース・モジュール214は、例えば、生データ216、PPデータ218、および生産データ220というような、任意の数のデータ構造またはデータ・エレメントを含むことができる。データベース・モジュール214は、例えば、画像センサからのストリーミング・データというような、生データ216を維持するように構成することができる。データベース・モジュール214は、例えば、データ・ハンドラ207によって抽出され、ビデオ処理モジュール208によって既に処理されているデータというような、PPデータ218を維持するように構成することもできる。データベース・モジュール214は、例えば、ストリーム融合モジュール210によって生成されるような、生産データ220を維持するように構成することもできる。
【0023】
[0043] 本明細書では、具体的な実施形態に関して、効果(benefit)、他の利点、および問題に対する解決策について説明した。しかしながら、効果、利点、問題に対する解決策、および何らかの効果、利点、または解決策を生じさせる、あるいは一層顕著にならせることができるエレメントであっても、いずれも、本開示の肝要な、必須の、または不可欠な特徴もしくはエレメントであると解釈してはならない。本開示の範囲は、したがって、添付する特許請求の範囲以外の何ものにも限定されないこととする。特許請求の範囲において、単数形の要素に言及するときは、特にそのように明示されないのであれば、「 唯一無二」を意味するのではなく、「1つ以上」を意味することを意図している。更に、「A、B、およびCの内少なくとも1つ」または「A、B、またはCの内少なくとも1つ」と同様の語句が請求項または明細書において使用される場合、この語句は、ある実施形態ではAだけが存在してもよく、ある実施形態ではBだけが存在してもよく、ある実施形態ではCだけが存在してもよく、または1つの実施形態においてエレメントA、B、およびCの任意の組み合わせが存在してもよいこと、例えば、AおよびB、AおよびC、BおよびC、またはAおよびBおよびCが存在してもよいことを意味することを意図している。本開示は方法を含むが、これは、磁気または光メモリあるいは磁気または光ディスクのような、有形コンピュータ読み取り可能担体上のコンピュータ・プログラム命令として具体化してもよいことを想定している。以上で説明した種々の実施形態の要素の構造的、化学的、および機能的な均等物について、当技術分野に習熟した者に知られているものは全て、ここで引用したことにより、本願にも明示的に含まれるものとし、本願の請求項に包含されることを意図している。更に、デバイスまたは方法に必要なのは、本開示によって解決されることが求められる各問題およびあらゆる問題に取り組むことではなく、本願の請求項によって包含されることである。更に、本開示におけるエレメント、コンポーネント、または方法ステップはいずれも、これらのエレメント、コンポーネント、または方法ステップが明示的に請求項において記載されているか否かには関係なく、一般公開に献上されることは意図していない。請求項のエレメントが、「~のための手段」または「~のためのステップ」という語句を使用して明示的に記載されていないならば、その要素は、35U.S.C.§112(f)を引き合いに出すことは意図していない。本明細書において使用する場合、「備える」(comprises)、「備えている」(comprising)という用語、またはそのあらゆるその他の変形は、要素のリストを構成するプロセス、方法、品目、または装置が、これらのエレメントを含むだけでなく、明示的に列挙されていない他のエレメント、あるいはこのようなプロセス、方法、品目、または装置に固有の他のエレメントも含むことができるように、非排他的な包含に該当する(cover)ことを意図している。
【0024】
[0044] 「非一時的」(non-transitory)という用語は、伝搬する一時的な信号自体だけを、特許請求の範囲から除外するように理解されてしかるべきであり、伝搬する一時的な信号自体というだけではない全ての標準的なコンピュータ読み取り可能媒体に対する権利を放棄するのではない。言い換えると、「非一時的コンピュータ読み取り可能媒体」および「非一時的コンピュータ読み取り可能記憶媒体」という用語の意味は、In RE Nuijtenにおいて、35U.S.C.§101に基づく特許可能な主題の範囲から逸脱すると認められた種類の一時的コンピュータ読み取り可能媒体のみを除外するように解釈してしかるべきである。
【0025】
[0045] 種々の実施形態において、システム100のコンポーネント、モジュール、および/またはエンジンは、マイクロアプリケーション、即ち、マイクロアプリ(micro-app)として実装されてもよい。マイクロアプリは、通例、移動体オペレーティング・システムのコンテキストにおいてデプロイされ、移動体オペレーティング・システムには、例えば、WINDOWS(登録商標)移動体オペレーティング・システム、ANDROID(登録商標)オペレーティング・システム、APPLE(登録商標)iOSオペレーティング・システム、BLACKBERRY(登録商標)社のオペレーティング・システム等が含まれる。マイクロアプリは、種々のオペレーティング・システムおよびハードウェア・リソースの動作を管理する(govern)1組の所定の規則によって、もっと大きなオペレーティング・システムのリソースおよび関連するハードウェアを利用するように構成することができる。例えば、マイクロアプリが、移動体デバイスまたは移動体オペレーティング・システム以外のデバイスまたはネットワークと通信することを望む場合、このマイクロアプリは、移動体オペレーティング・システムの所定の規則の下で、オペレーティング・システムの通信プロトコルおよび関連するデバイス・ハードウェアを利用することができる。更に、マイクロアプリがユーザからの入力を望む場合、マイクロアプリは、オペレーティング・システムに応答を要求するように構成することができ、オペレーティング・システムは、種々のハードウェア・コンポーネントを監視し、次いで、検出された入力をハードウェアからマイクロアプリに伝達する。
【0026】
[0046] 前述のシステムおよび方法は、本明細書では、機能的ブロック・コンポーネント、スクリーン・ショット、随意の選択、および種々の処理ステップに関して説明することができる。尚、このような機能的ブロックは、指定された機能を実行するように構成された任意の数のハードウェアおよび/またはソフトウェア・コンポーネントによって実現できることは認められてしかるべきである。例えば、システムは、1つ以上のマイクロプロセッサまたは他の制御デバイスの制御下で、種々の機能を実行することができる、種々の集積回路コンポーネント、例えば、メモリ・エレメント、処理エレメント、ロジック・エレメント、参照表等を採用することができる。同様に、システムのソフトウェア・エレメントは、C、C++、C#、Java(登録商標)、JavaScript(登録商標)、JavaScript(登録商標) Object Notation(JSON)、VBScript、Macromedia Cold Fusion、COBOL、Microsoft(登録商標)社のActive Server Pages、アセンブリ、PERL(登録商標)、PHP、awk、Python(登録商標)、Visual Basic、SQL Stored Procedures、PL/SQL、任意のUNIX(登録商標)シェル・スクリプト、および拡張可能マークアップ言語(XML)のような任意のプログラミングまたはスクリプティング言語によって実装することができ、種々のアルゴリズムは、データ構造、オブジェクト、プロセス、ルーチン、またはその他のプログラミング・エレメントの任意の組み合わせによって実装される。更に、システムは、データ送信、シグナリング、データ処理、ネットワーク制御等のために、任意の数の従来からの技法を採用できることは注記してしかるべきである。更にまた、システムは、JavaScript(登録商標)、VBScript等のような、クライアント側のスクリプティング言語に伴うセキュリティ問題を検出または防止するために使用することができる。
【0027】
[0047] 本明細書では、システムおよび方法は、種々の実施形態による方法、装置、およびコンピュータ・プログラム製品のスクリーン・ショット、ブロック図、およびフローチャート表現(flowchart illustration)を参照しながら説明した。尚、ブロック図およびフローチャート表現の各機能ブロック、ならびにブロック図およびフローチャート表現における機能ブロックの組み合わせは、それぞれ、コンピュータ・プログラム命令によって実装できることは理解されよう。
【0028】
[0048] したがって、ブロック図およびフローチャート表現の機能ブロックは、指定された機能を実行するための手段の組み合わせ、指定された機能を実行するためのステップの組み合わせ、および指定された機能を実行するためのプログラム命令手段をサポートする。また、ブロック図およびフローチャート表現の各機能ブロック、ならびにブロック図およびフローチャート表現における機能ブロックの組み合わせは、指定された機能またはステップを実行する特殊目的のハードウェア・ベース・コンピュータ・システム(hardwarebased computer systems)、または特殊目的ハードウェアおよびコンピュータ命令の適した組み合わせのいずれかによって実装できることも理解されよう。更に、プロセス・フロー表現およびその説明は、ユーザのWINDOWS(登録商標)アプリケーション、ウェブ・ページ、ウェブサイト、ウェブ・フォーム、プロンプト等を参照することもできる。本明細書において説明し例示したステップは、WINDOWS(登録商標)アプリケーション、ウェブ・ページ、ウェブ・フォーム、ポップアップWINDOWS(登録商標)アプリケーション、プロンプト等の使用を含む、任意の数の構成に含まれて(comprise)もよいことは、実践者には認められよう。更に、複数のステップとして図示または説明されたものは、簡略化のために展開されただけであり、1つのウェブ・ページおよび/またはWINDOWS(登録商標)アプリケーションに組み合わされてもよいことも認められてしかるべきである。他の場合では、1つのプロセス・ステップとして図示および説明されたステップは、簡略化のために組み合わされただけであり、複数のウェブ・ページおよび/またはWINDOWS(登録商標)アプリケーションに分離されてもよい。
【0029】
[0049] 種々の実施形態において、本システムのソフトウェア・エレメントは ウェブ・ブラウザの外部でJAVASCRIPT(登録商標)コードを実行するように構成されたJAVASCRIPT(登録商標)ランタイム環境を使用して、実装することもできる。例えば、本システムのソフトウェア・エレメントは、NODE.JS(登録商標)コンポーネントを使用して実装することもできる。NODE.JS(登録商標)プログラムは、種々の中核機能を操作するために様々なモジュールを実装することができる。例えば、サード・パーティのNODE.JS(登録商標)プログラムのインストールおよび管理を編成するときに補助するために、NPM(登録商標)のようなパッケージ管理モジュールをオープン・ソース・ライブラリとして実装することができる。また、NODE.JS(登録商標)プログラムは、例えば、並列マルチスレッド・マシン(「PM2」)のようなプロセス・マネージャ、例えば、ノード・アプリケーション・メトリクス(「appmerics」)のようなリソースおよび性能監視ツール、ユーザ・インターフェースを構築するためのライブラリ・モジュール、および/または任意の他の適したおよび/または所望のモジュールを実装することもできる。
【0030】
[0050] ミドルウェアは、全く異なるコンピューティング・システム間における通信および/またはプロセス・トランザクションを容易にするように相応しく構成された任意のハードウェアおよび/またはソフトウェアを含むことができる。ミドルウェア・コンポーネントは、市販されており、当技術分野では知られている。ミドルウェアは、市販されているハードウェアおよび/またはソフトウェアによって、カスタム・ハードウェアおよび/またはソフトウェア・コンポーネントによって、あるいはその組み合わせによって実装することができる。ミドルウェアは、種々の構成の中に内在することもでき、スタンドアローン・システムとして存在することもでき、あるいはインターネット・サーバに内在するソフトウェア・コンポーネントとすることもできる。ミドルウェアは、アプリケーション・サーバの種々のコンポーネントと、本明細書において開示した目的のいずれかのための任意の数の内部または外部システムとの間におけるトランザクションを処理するように構成することができる。IBM(登録商標)社(NY州、Armonk)によるWEBSPHERE(登録商標)MQTM(以前のMQSeries)は、市販されているミドルウェア製品の例である。企業サービス・バス(「ESB」:Enterprise Service Bus)アプリケーションは、ミドルウェアの他の例である。
【0031】
[0051] 本明細書において論じたコンピュータは、適したウェブサイトまたは他のインターネットに基づくグラフィカル・ユーザ・インターフェースを提供することもでき、このグラフィカル・ユーザ・インターフェースはユーザによってアクセス可能である。一実施形態において、MICROSOFT(登録商標)社のインターネット情報サーバ(IIS)、トランザクション・サーバ(MTS)サービス、およびSQL SERVER(登録商標)データベースが、MICROSOFT(登録商標)オペレーティング・システム、WINDOWS NT(登録商標)ウェブ・サーバ・ソフトウェア、SQL SERVER(登録商標)データベース、およびMICROSOFT(登録商標)商用サーバと共に使用される。加えて、アクティブ・データ・オブジェクト(ADO)準拠のデータベース管理システムを提供するために、ACCESS(登録商標)ソフトウェア、SQL SERVER(登録商標)データベース、ORACLE(登録商標)ソフトウェア、SYBASE(登録商標)ソフトウェア、INFORMIX(登録商標)ソフトウェア、MYSQL(登録商標)ソフトウェア、INTERBASE(登録商標)ソフトウェア等のようなコンポーネントを使用することもできる。一実施形態では、APACHE(登録商標)ウェブ・サーバが、LINUX(登録商標)オペレーティング・システム、MYSQL(登録商標)データベース、ならびにPERL(登録商標)、PHP、Ruby、および/またはPYTHON(登録商標)プログラミング言語と共に使用される。
【0032】
[0052] 簡潔にするために、従来のデータ・ネットワーキング、アプリケーション開発、および本システムの他の機能的側面(ならびにシステムの個々の動作コンポーネントのコンポーネント)は、本明細書では詳しく説明されていない場合もある。更に、本明細書に含まれる種々の図において示す接続線は、種々のエレメント間の例示的な機能的関係および/または物理的結合を表すことを意図している。尚、実際のシステムには、多くの代わりのまたは追加の機能的関係あるいは物理的接続が存在し得ることは、注記してしかるべきである。
【0033】
[0053] 種々の実施形態において、本明細書において説明した方法は、本明細書において説明した種々の特定の機械を使用して実装される。本明細書において説明した方法は、以下の特定の機械および今後開発される機械を使用して、当技術分野に習熟した者には直ちに認められるような、任意の適した組み合わせで実装することができる。更に、本開示から明らかなように、本明細書において説明した方法によって、特定の品目(certain article)の様々な変形を得るという結果に至ることができる。
【0034】
[0054] 本明細書において論じた種々のシステム・コンポーネントは、以下の内1つ以上を含むことができる。ディジタル・データを処理するためのプロセッサを含むホスト・サーバまたは他のコンピューティング・システム、ディジタル・データを格納するためにプロセッサに結合されたメモリ、ディジタル・データを入力するためにプロセッサに結合された入力ディジタイザ、プロセッサによってディジタル・データの処理を指令するためにメモリに格納されプロセッサによってアクセス可能なアプリケーション・プログラム、プロセッサによって処理されたディジタル・データから得られる情報を表示するためにプロセッサおよびメモリに結合されたディスプレイ・デバイス、ならびに複数のデータベース。本明細書において使用した種々のデータベースは、クライアント・データ、商用データ(merchant data)、金融機関データ、および/またはシステムの動作において有用な同様のデータを含むことができる。当技術分野に習熟した者には認められようが、ユーザ・コンピュータは、オペレーティング・システム(例えば、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、SOLARIS(登録商標)、MACOS(登録商標)等)、更には、コンピュータに付随するのが通例である種々の従来からのサポート・ソフトウェアおよびドライバを含むことができる。
【0035】
[0055] 本システム、あるいはその任意の部分(1つまたは複数)または機能(1つまたは複数)は、ハードウェア、ソフトウェア、またはその組み合わせを使用して実装することができ、更に1つ以上のコンピュータ・システムまたは他の処理システムにおいて実装することができる。しかしながら、実施形態によって実行される操作は、照合または選択というような用語で表すこともでき、人の操作員によって実行される精神活動(mental operation)に関連付けられるのが一般である。殆どの場合、本明細書において説明した動作のいずれにも、このような人の操作員の能力は必要でなく、また望ましくもない。むしろ、これらの動作は機械動作であってよく、これらの動作はいずれも、人工知能(AI)または機械学習によって実行または改善することができる。人工知能は、一般に、エージェント(例えば、機械、コンピュータ・ベース・システム等)の研究を指すとすればよく、それらの周囲の世界を知覚し、計画を形成し、それらの目標を達成するために判断を行う。AIの基礎には、数学、論理学、哲学、確率、言語学、神経科学、および決定理論が含まれる。コンピュータ・ビジョン、ロボティックス、機械学習、および自然言語処理というような多くの分野が、AIの分野に該当する(fall under the umbrella of)。種々の実施形態を実行するのに有用な機械には、汎用ディジタル・コンピュータまたは同様のデバイスが含まれる。
【0036】
[0056] また、コンピュータ・システムは通信インターフェースを含むこともできる。通信インターフェースは、ソフトウェアおよびデータを、コンピュータ・システムと外部デバイスとの間で転送することを可能にする。このような通信インターフェースの例には、モデム、ネットワーク・インターフェース(イーサネット・カード等)、通信ポート等を含むことができる。通信インターフェースを通じて転送されるソフトウェアおよびデータは、信号の形態をなし、通信インターフェースによって受信することができる電子信号、電磁信号、光信号、またはその他の信号であってもよい。これらの信号は、通信経路(例えば、チャネル)を通じて、通信インターフェースに供給される。このチャネルは、信号を搬送し、ワイヤ、ケーブル、光ファイバ、電話線、セルラ・リンク、無線周波数(RF)リンク、ワイヤレス、およびその他の通信チャネルを使用して実装することができる。
【0037】
[0057] 種々の実施形態において、サーバはアプリケーション・サーバ(例えば、WEBSPHERE(登録商標)、WEBLOGIC(登録商標)、JBOSS(登録商標)、POSTGRES PLUS ADVANCED SERVER(登録商標)等)を含んでもよい。種々の実施形態において、サーバはウェブ・サーバ(例えば、Apache、IIS、GOOGLE(登録商標)Web Server、SUN JAVA(登録商標)システム・ウェブ・サーバ、LINUX(登録商標)またはWINDOWS(登録商標)オペレーティング・システム上で実行するJAVA(登録商標)仮想機械)を含んでもよい。
【0038】
[0058] ウェブ・クライアントには、例えば、本明細書において論じた任意のデバイスまたはソフトウェアのような、任意のネットワークを通じて通信する、任意のデバイスまたはソフトウェアが含まれる。ウェブ・クライアントは、オンライン・トランザクションおよび/または通信を行うためにコンピューティング・ユニットまたはシステム内にインストールされたインターネット閲覧ソフトウェアを含むことができる。これらのコンピューティング・ユニットまたはシステムは、コンピュータまたは1組のコンピュータの形態をなせばよいが、パーソナル・コンピュータ、ラップトップ、ノートブック、タブレット・スマート・フォン、セルラ・フォン、パーソナル・デジタル・アシスタント、サーバ、合同サーバ(pooled server)、メインフレーム・コンピュータ、分散型コンピューティング・クラスタ、キオスク、端末、ポイント・オブ・セールス(POS)デバイスまたは端末、テレビジョン、あるいはネットワークを通じてデータを受信することができる任意の他のデバイスを含む、他の種類のコンピューティング・ユニットまたはシステムも使用することができる。ウェブ・クライアントは、オペレーティング・システム(例えば、WINDOWS(登録商標)、WINDOWS MOBILE(登録商標)オペレーティング・システム、UNIX(登録商標)オペレーティング・システム、LINUX(登録商標)オペレーティング・システム、APPLE(登録商標)OS(登録商標)オペレーティング・システム等)、ならびに通例コンピュータに付随する種々の従来からのサポート・ソフトウェアおよびドライバを含むことができる。また、ウェブ-クライアントは、MICROSOFT(登録商標)INTERNET EXPLORER(登録商標)ソフトウェア、MOZILLA(登録商標)FIREFOX(登録商標)ソフトウェア、GOOGLE CHROME(商標)ソフトウェア、APPLE(登録商標)SAFARI(登録商標)ソフトウェア、またはインターネットを閲覧するために利用可能な無数のソフトウェア・パッケージの内任意の他のものも実行することができる。
【0039】
[0059] 当業者には認められようが、ウェブ・クライアントは、サーバ(例えば、本明細書において論じたような、アプリケーション・サーバ、ウェブ・サーバ等)と直接接触してもしなくてもよい。例えば、ウェブ・クライアントは、インターネット・サーバに直接または間接的な接続を行うことができる他のサーバおよび/またはハードウェア・コンポーネントを通じて、サーバのサービスにアクセスしてもよい。例えば、ウェブ・クライアントは、ロード・バランサを介して、サーバと通信してもよい。種々の実施形態において、ウェブ・クライアントのアクセスは、市販のウェブ・ブラウザ・ソフトウェア・パッケージを使用して、ネットワークまたはインターネットを通じて行われる。これに関して、ウェブ・クライアントは、ネットワークまたはインターネットにアクセスできる家庭環境または業務環境にあればよい。ウェブ・クライアントは、セキュア・ソケット・レイヤ(SSL)およびトランスポート・レイヤ・セキュリティ(TLS)のような、セキュリティ・プロトコルを実装することができる。ウェブ・クライアントは、HTTP、HTTPS、FTP、およびSFTPを含む、様々なアプリケーション・レイヤ・プロトコルを実装することができる。
【0040】
[0060] 種々のシステム・コンポーネントは、独立して、別個に、または集合的に、データ・リンクを介してネットワークにしかるべく結合することができる。データ・リンクには、ローカル・ループを通じて、例えば、標準的なモデム通信、ケーブル・モデム、DISH NETWORK(登録商標)、ISDN、デジタル加入者回線(DSL)、または種々のワイヤレス通信方法と関連して通例使用されるような、インターネット・サービス・プロバイダ(ISP)への接続が含まれる。尚、ネットワークは、インタラクティブ・テレビジョン(ITV)ネットワークのような、他の種類のネットワークとして実現されてもよいことを注記しておく。更に、本システムは、本明細書において説明したのと同様の機能を有する任意のネットワークを通じた、任意の商品、サービス、または情報の使用、販売、または流通も想定している。
【0041】
[0061] 本システムは、ウェブ・サービス、ユーティリティ・コンピューティング、パーベイシブおよび特定個人向けコンピューティング、セキュリティおよびアイデンティティ・ソリューション、自律型コンピューティング、クラウド・コンピューティング、コモディティ・コンピューティング、モビリティおよびワイヤレス・ソリューション、オープン・ソース、バイオメトリクス、グリッド・コンピューティング、および/またはメッシュ・コンピューティングと関連付けた使用も想定する。
【0042】
[0062] 本明細書において論じた通信、入力、ストレージ、データベース、または表示はいずれも、ウェブ・ページを有するウェブサイトを通じると、使いやすくすることができる。「ウェブ・ページ」という用語は、本明細書において使用する場合、ユーザと対話処理するために使用される場合がある文書およびアプリケーションの種類を限定することを意図するのではない。例えば、典型的なウェブサイトは、標準的なHTML文書に加えて、種々の形態、JAVA(登録商標)アプレット、JAVASCRIPT(登録商標)プログラム、アクティブ・サーバ・ページ(ASP)、共通ゲートウェイ・インターフェース・スクリプト(CGI)、拡張可能マークアップ言語(XML)、動的HTML、カスケード型シート(CSS:cascading style sheet)、AJAX(非同期JavascriptおよびXML)プログラム、ヘルパー・アプリケーション、プラグイン等を含むことができる。サーバは、ウェブ・サーバから要求を受けるウェブ・サービスを含むことができ、この要求は、URLおよびIPアドレス(192.168.1.1)を含む。ウェブ・サーバは、該当するウェブ・ページを引き出し、これらのウェブ・ページのためのデータまたはアプリケーションをIPアドレスに送る。ウェブ・サービスとは、インターネットのような通信手段を通じて、他のアプリケーションと相互作用することができるアプリケーションである。ウェブ・サービスは、通例、XML、SOAP、AJAX、WSDL、およびUDDIのような、規格またはプロトコルに基づく。ウェブ・サービス方法は、当技術分野ではよく知られており、多くの規格文書(standard text)において十分に説明されている(cover)。例えば、代表的状態転送(REST:representational state transfer)、またはRESTful、ウェブ・サービスは、アプリケーション間において相互運用性を可能にする1つの方法を提供することができる。
【0043】
[0063] ウェブ・クライアントのコンピューティング・ユニットには、更に、標準的なダイアルアップ、ケーブル、DSL、または当技術分野において知られている任意の他のインターネット・プロトコルを使用してインターネットまたはイントラネットに接続されるインターネット・ブラウザを装備することもできる。ウェブ・クライアントにおいて開始するトランザクションは、他のネットワークのユーザからの不正アクセスを防止するために、ファイアウォールを通過することができる。更に、セキュリティを一層強化するために、CMSの様々なコンポーネント間にも追加のファイアウォールをデプロイしてもよい。
【0044】
[0064] 暗号化は、現在当技術分野において利用可能な技法または利用可能になるかもしれない技法の内いずれかによって、例えば、Twofish、RSA、El Gamal、Schorr signature、DSA、PGP、PKI、GPG(GnuGP)、HPEフォーマット保存暗号化(FPE)、Voltage、TripleDES、Blowfish、AES、MD5、HMAC、IDEA、RC6,ならびに対称および非対称暗号システムによって実行することができる。また、本システムおよび方法は、 SHAシリーズの暗号化方法、楕円曲線暗号(例えば、ECC、ECDH、ECDSA等)、および/または開発中の他のポスト量子暗号アルゴリズムも組み込むことができる。
【0045】
[0065] ファイアウォールは、他のネットワークのユーザからCMSコンポーネントおよび/またはエンタープライズ・コンピューティング・リソースを保護するために適切に構成された任意のハードウェアおよび/またはソフトウェアを含むことができる。更に、ファイアウォールは、ウェブ・サーバを介して接続するウェブ・クライアントのために、ファイアウォールの後ろにある様々なシステムおよびコンポーネントへのアクセスを限定または制限するように構成することができる。ファイアウォールは、数ある中でもステートフル・インスペクション、プロキシ・ベースのアクセス制御リスト、およびパケット・フィルタリングを含む、様々な構成の中に存在することができる。ファイアウォールは、ウェブ・サーバまたは他の任意のCMSコンポーネントの中へ統合することができ、また、更に、別個のエンティティとして存在することができる。ファイアウォールは、ネットワーク・アドレス・トランスレーション(「NAT」)および/またはネットワーク・アドレス・ポート・トランスレーション(「NAPT」)を実装することができる。ファイアウォールは、仮想プライベート・ネットワーキングで用いられているように、安全確実な通信を促進するために、様々なトンネリング・プロトコルを適用させることができる。ファイアウォールは、インターネット等のような公共ネットワークとの通信を促進するために、非武装地帯(「DMZ」:demilitarized zone)を実装することができる。ファイアウォールは、インターネット・サーバ内または他の任意のアプリケーション・サーバ・コンポーネント内でソフトウェアとして統合することができ、また、別のコンピューティング・デバイス内に存在することができ、また、スタンドアローンのハードウェア・コンポーネントの形態をとることができる。
【0046】
[0066] 本明細書において論じたデータベースはいずれも、リレーショナル、階層状、グラフィカル、ブロックチェーン(blockchain)、オブジェクト指向構造、および/または任意の他のデータベース構成を含んでもよい。また、いずれのデータベースもフラット・ファイル構造を含んでもよい。フラット・ファイル構造では、行および列の形態で、1つのファイルにデータを格納することができ、インデックス化のための構造はなく、レコード間に構造的な関係もない。例えば、フラット・ファイル構造は、区切りテキスト・ファイル、CSV(コンマ分離値:commna-separated value)ファイル、および/または任意の他の適したフラット・ファイル構造を含んでもよい。データベースを実装するために使用することができる共通のデータベース製品には、IBM(登録商標)(NY州、Armonk)によるDB2(登録商標)、ORACLE(登録商標) Corporation(CA州、Redwood Shores)から入手可能な種々のデータベース製品、MICROSOFT(登録商標) Corporation(Washington州、Redmond)によるMICROSOFT ACCESS(登録商標)またはMICROSOFT SQLサーバ(登録商標)、MySQL AB(スウェーデン、Uppsala)によるMYSQL(登録商標)、MONGODB(登録商標)、Radis、APACHE CASSANDRA(登録商標)、APACH(登録商標)によるHBASE(登録商標)、MAPR(登録商標)社によるMapR-DB、または任意の他の適したデータベース製品が含まれる。更に、データベースはいずれも、任意の適した方法で、例えば、データ表または参照表として、編成することもできる。各レコードは、1つのファイル、一連のファイル、一連のリンクされたデータ・フィールド、または任意の他のデータ構造であってもよい。
【0047】
[0067] 本開示および特許請求の範囲は、単に障害検出ツール・システム(system for failure detection tools)の特定の成果を記載するだけでなく、本開示および特許請求の範囲は、障害検出ツール・システムの成果を実現するための特定の規則、および情報を特定のフォーマットに表現し、障害検出ツール・システムの所望の結果を生み出すために、このフォーマットを使用し適用する特定の規則も含む。これは、McRO,Inc v.Bandai Namco Games America Inc.(Fed. Cir. case number 15-1080, Sept 13, 2016)に明記されている通りである。言い換えると、障害検出ツール・システムの成果は、多くの異なる種類の規則および規則の組み合わせによって実行することができ、本開示は、種々の実施形態を特定の規則と共に含む。完全な先取りの欠如は、請求項が適格であることを保証しないのはもっともであるが、本開示は障害検出ツール・システムの分野を全く十分に先取りしていない。本開示は、単なる障害検出ツール・システムの抽象的な観念全体に該当しないように、開示を狭める、制限する、またそうでなければ規制するように作用する。重要なのは、障害検出ツール・システムには他のシステムおよび方法も存在するので、特許請求する発明が障害検出ツール・システムの分野を先取りすること、または障害検出ツール・システムの基本的なツールを独占することを断言するのは不適切であろうということである。言い換えると、本開示は、障害検出ツール・システムから他者を阻む(prevent)ことはない。何故なら、特許請求する発明とは異なる方法で、他のシステムが既にその機能を実行しているからである。更に、特許請求する発明に含まれる発明的概念は、知られている通常の要素(pieces)を、従来にはなく(non-conventional)包括的でもない(nongeneric)構成としたことに見出すことができ、Bascom v. AT&T Mobility, 2015-1763(Fed. Cir. 2016)に合致する。本システムの相互作用および相乗効果は、独立して動作するシステムのいずれによっても提供されない追加の機能をもたらすことから、本開示および特許請求の範囲は、これらのシステムのいずれであれ、そのあらゆる慣習性(conventionality)をも超越する。本開示および特許請求の範囲は、複数の異なるシステム間における相互作用も含むことができるので、本開示を包括的なコンピュータの実施態様、または抽象的なプロセスに単に「それを適用する」実施態様と見なすことはできない。また、本開示および特許請求の範囲は、ソフトウェア技術における問題に対する解決策の具体的な実施態様による、ソフトウェアの改良も対象とすることができる。
【国際調査報告】