(57)【要約】  仮想現実（ＶＲ）デバイスへ配信される通知を管理するためのシステム、方法およびコンピュータ可読媒体は、前記ＶＲデバイス上で実行されるミドルウェアアプリケーションがサーバから通知を受信する段階であって、前記通知は通知識別子を含む、受信する段階と、前記ＶＲデバイス上で実行されるアクティブなアプリケーションと統合された通知プラグインへ前記ミドルウェアアプリケーションが前記通知を伝送する段階と、前記通知プラグインが前記ＶＲデバイス上の通知アプリケーションをアクティブ化する段階であって、前記通知アプリケーションは、前記ＶＲデバイス上の全ての他のアプリケーションを無効化するように構成され、かつ、前記通知識別子に対応する通知メッセージを、前記ＶＲデバイスによりレンダリングされた前記環境内に表示するように構成される、アクティブ化する段階と、前記通知プラグインが、前記通知識別子と一致する第２の通知識別子を含む第２の通知を受信すること、または、前記通知アプリケーションが前記通知メッセージのユーザ確認応答を検出することのうちの１または複数に応答して、前記通知アプリケーションを非アクティブ化する段階とを備える。
2021519483.tif 000002
【特許請求の範囲】
【請求項１】
仮想現実（ＶＲ）デバイスへ配信される通知を管理するための方法であって、
前記ＶＲデバイス上で実行されるミドルウェアアプリケーションがサーバから通知を受信する段階であって、前記通知は通知識別子を含む、受信する段階と、
前記ＶＲデバイス上で実行され、前記ＶＲデバイスによりレンダリングされた環境内に現在表示されているアクティブなアプリケーションと統合された通知プラグインへ前記ミドルウェアアプリケーションが前記通知を伝送する段階と、
前記通知プラグインが前記ＶＲデバイス上の通知アプリケーションをアクティブ化する段階であって、前記通知アプリケーションは、前記ＶＲデバイス上の全ての他のアプリケーションを無効化するように構成され、かつ、前記通知識別子に対応する通知メッセージを、前記ＶＲデバイスによりレンダリングされた前記環境内に表示するように構成される、アクティブ化する段階と、
前記通知プラグインが、前記通知識別子と一致する第２の通知識別子を含む第２の通知を受信すること、または、
前記通知アプリケーションが前記通知メッセージのユーザ確認応答を検出すること
のうちの１または複数に応答して、前記通知アプリケーションを非アクティブ化する段階と
を備える方法。
【請求項２】
前記ＶＲデバイス上で実行され、前記ＶＲデバイスによりレンダリングされた環境内に現在表示されているアクティブなアプリケーションと統合された通知プラグインへ前記ミドルウェアアプリケーションが前記通知を伝送する段階は、
前記ミドルウェアアプリケーションが、前記通知に対応する通知ステータスを格納する段階と、
前記ミドルウェアアプリケーションが、前記アクティブなアプリケーションと統合された前記通知プラグインへ前記通知を伝送する段階と、
前記ミドルウェアアプリケーションが、前記通知の受信に応答して、前記アクティブなアプリケーションと統合された前記通知プラグインから確認応答を受信する段階と、
前記ミドルウェアアプリケーションが前記通知ステータスを更新する段階と
を有する、
請求項１に記載の方法。
【請求項３】
前記通知は、永続通知または非永続通知のいずれかを含み、前記通知プラグインが前記ＶＲデバイス上の通知アプリケーションをアクティブ化する段階は、
前記通知が永続通知を含む場合、前記通知アプリケーションを永続モードでアクティブ化する段階であって、前記通知アプリケーションの前記永続モードは、前記通知プラグインが、前記通知識別子と一致する第２の通知識別子を含む第２の永続通知を受信すると、非アクティブ化するように構成される、アクティブ化する段階、または、
前記通知が非永続通知を含む場合、前記通知アプリケーションを非永続モードでアクティブ化する段階であって、前記通知アプリケーションの前記非永続モードは、前記通知メッセージのユーザ確認応答を検出すると、非アクティブ化するように構成される、アクティブ化する段階
のいずれかを有する、
請求項１または２に記載の方法。
【請求項４】
前記通知アプリケーションが前記通知メッセージのユーザ確認応答を検出することは、
前記通知アプリケーションが、前記ＶＲデバイスによりレンダリングされた前記環境内の確認応答位置における確認応答メッセージを伝送することと、
前記ＶＲデバイスを装着しているユーザの視線位置が前記確認応答位置に対応していることを前記通知アプリケーションが検出することと
を含む、
請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記通知は割込みレベルに対応し、前記通知識別子に対応する通知メッセージを、前記ＶＲデバイスによりレンダリングされた前記環境内に表示することは、
前記割込みレベルに対応する１または複数の設定を識別することと、
前記１または複数の設定に少なくとも部分的に基づいて、前記通知メッセージを前記環境内にレンダリングすることと
を含む、
請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記ＶＲデバイス上でツールバーアプリケーションを実行する段階であって、前記ツールバーアプリケーションは、前記通知プラグインにアクセス可能であり、前記ＶＲデバイスによりレンダリングされた前記環境内に永続ユーザインタフェース要素を伝送するように構成され、前記永続ユーザインタフェース要素は、シートベルトアイコン、支援アイコン、食事アイコン、トイレアイコンおよび購入アイコンのうちの１または複数を含む、実行する段階
をさらに備える、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記永続ユーザインタフェース要素は、支援アイコンを含み、前記方法は、
前記ＶＲデバイスを装着しているユーザの視線位置が前記支援アイコンの位置に対応していることを前記通知プラグインが検出する段階と、
前記通知プラグインが支援要求を生成する段階であって、前記支援要求は、前記ＶＲデバイスのデバイス識別子を含む、生成する段階と、
前記通知プラグインが前記支援要求を前記ミドルウェアアプリケーションへ伝送する段階と、
前記ミドルウェアアプリケーションが前記支援要求を前記サーバへ伝送する段階であって、前記支援要求は、前記サーバに、前記デバイス識別子に対応する座席を識別させ、識別された前記座席に対応するクルーメンバーを識別させ、かつ、前記クルーメンバーに関連するクルーメンバーコンピューティングデバイスへ前記支援要求を伝送させるように構成される、伝送する段階と
をさらに備える、請求項６に記載の方法。
【請求項８】
前記通知プラグインが、前記通知に少なくとも部分的に基づいて、１または複数のコマンドを前記ツールバーアプリケーションへ伝送する段階であって、前記１または複数のコマンドは、前記永続ユーザインタフェース要素内のアイコンの１または複数の表示特徴を変更するように構成される、伝送する段階
をさらに備える、請求項６または７に記載の方法。
【請求項９】
通知を管理するための仮想現実（ＶＲ）デバイスであって、
１または複数のプロセッサと、
前記１または複数のプロセッサのうちの少なくとも１つに動作可能に結合されており、格納された命令を有する１または複数のメモリと
を備え、
前記命令は、前記１または複数のプロセッサのうちの少なくとも１つにより実行された場合、前記１または複数のプロセッサのうちの少なくとも１つに、
前記ＶＲデバイス上で実行されるミドルウェアアプリケーションがサーバから通知を受信することであって、前記通知は、通知識別子を含む、受信することと、
前記ＶＲデバイス上で実行され、前記ＶＲデバイスによりレンダリングされた環境内に現在表示されているアクティブなアプリケーションと統合された通知プラグインへ前記ミドルウェアアプリケーションが前記通知を伝送することと、
前記通知プラグインが前記ＶＲデバイス上の通知アプリケーションをアクティブ化することであって、前記通知アプリケーションは、前記ＶＲデバイス上の全ての他のアプリケーションを無効化するように構成され、かつ、前記通知識別子に対応する通知メッセージを、前記ＶＲデバイスによりレンダリングされた前記環境内に表示するように構成される、アクティブ化することと、
前記通知プラグインが、前記通知識別子と一致する第２の通知識別子を含む第２の通知を受信すること、または、
前記通知アプリケーションが前記通知メッセージのユーザ確認応答を検出すること
のうちの１または複数に応答して、前記通知アプリケーションを非アクティブ化することと
をさせる、
ＶＲデバイス。
【請求項１０】
前記１または複数のプロセッサのうちの少なくとも１つにより実行された場合、前記１または複数のプロセッサのうちの少なくとも１つに、前記ミドルウェアアプリケーションが、前記ＶＲデバイス上で実行され、前記ＶＲデバイスによりレンダリングされた環境内に現在表示されているアクティブなアプリケーションと統合された通知プラグインへ前記通知を伝送することをさせる前記命令はさらに、前記１または複数のプロセッサのうちの少なくとも１つに、
前記ミドルウェアアプリケーションが、前記通知に対応する通知ステータスを格納することと、
前記ミドルウェアアプリケーションが、前記アクティブなアプリケーションと統合された前記通知プラグインへ前記通知を伝送することと、
前記ミドルウェアアプリケーションが、前記通知の受信に応答して、前記アクティブなアプリケーションと統合された前記通知プラグインから確認応答を受信することと、
前記ミドルウェアアプリケーションが前記通知ステータスを更新することと
をさせる、
請求項９に記載のＶＲデバイス。
【請求項１１】
前記通知は、永続通知または非永続通知のいずれかを含み、前記１または複数のプロセッサのうちの少なくとも１つにより実行された場合、前記１または複数のプロセッサのうちの少なくとも１つに、前記通知プラグインが前記ＶＲデバイス上の通知アプリケーションをアクティブ化することをさせる前記命令はさらに、前記１または複数のプロセッサのうちの少なくとも１つに、
前記通知が永続通知を含む場合、前記通知アプリケーションを永続モードでアクティブ化することであって、前記通知アプリケーションの前記永続モードは、前記通知プラグインが、前記通知識別子と一致する第２の通知識別子を含む第２の永続通知を受信すると、非アクティブ化するように構成される、アクティブ化すること、または、
前記通知が非永続通知を含む場合、前記通知アプリケーションを非永続モードでアクティブ化することであって、前記通知アプリケーションの前記非永続モードは、前記通知メッセージのユーザ確認応答を検出すると、非アクティブ化するように構成される、アクティブ化すること
のいずれかをさせる、
請求項９または１０に記載のＶＲデバイス。
【請求項１２】
前記１または複数のプロセッサのうちの少なくとも１つにより実行された場合、前記１または複数のプロセッサのうちの少なくとも１つに、前記通知アプリケーションが前記通知メッセージのユーザ確認応答を検出することをさせる前記命令はさらに、前記１または複数のプロセッサのうちの少なくとも１つに、
前記通知アプリケーションが、前記ＶＲデバイスによりレンダリングされた前記環境内の確認応答位置における確認応答メッセージを伝送することと、
前記ＶＲデバイスを装着しているユーザの視線位置が前記確認応答位置に対応していることを前記通知アプリケーションが検出することと
をさせる、
請求項９から１１のいずれか一項に記載のＶＲデバイス。
【請求項１３】
前記通知は割込みレベルに対応し、前記１または複数のプロセッサのうちの少なくとも１つにより実行された場合、前記１または複数のプロセッサのうちの少なくとも１つに、前記通知識別子に対応する通知メッセージを、前記ＶＲデバイスによりレンダリングされた前記環境内に表示することをさせる前記命令はさらに、前記１または複数のプロセッサのうちの少なくとも１つに、
前記割込みレベルに対応する１または複数の設定を識別することと、
前記１または複数の設定に少なくとも部分的に基づいて、前記通知メッセージを前記環境内にレンダリングすることと
をさせる、
請求項９から１２のいずれか一項に記載のＶＲデバイス。
【請求項１４】
前記１または複数のメモリのうちの少なくとも１つは、格納されたさらなる命令を有し、前記さらなる命令は、前記１または複数のプロセッサのうちの少なくとも１つにより実行された場合、前記１または複数のプロセッサのうちの少なくとも１つに、
前記ＶＲデバイス上でツールバーアプリケーションを実行することであって、前記ツールバーアプリケーションは、前記通知プラグインにアクセス可能であり、前記ＶＲデバイスによりレンダリングされた前記環境内に永続ユーザインタフェース要素を伝送するように構成され、前記永続ユーザインタフェース要素は、シートベルトアイコン、支援アイコン、食事アイコン、トイレアイコンおよび購入アイコンのうちの１または複数を含む、実行すること
をさせる、
請求項９から１３のいずれか一項に記載のＶＲデバイス。
【請求項１５】
前記永続ユーザインタフェース要素は、支援アイコンを含み、前記１または複数のメモリのうちの少なくとも１つは、格納されたさらなる命令を有し、前記さらなる命令は、前記１または複数のプロセッサのうちの少なくとも１つにより実行された場合、前記１または複数のプロセッサのうちの少なくとも１つに、
前記ＶＲデバイスを装着しているユーザの視線位置が前記支援アイコンの位置に対応していることを前記通知プラグインが検出することと、
前記通知プラグインが支援要求を生成することであって、前記支援要求は、前記ＶＲデバイスのデバイス識別子を含む、生成することと、
前記通知プラグインが前記支援要求を前記ミドルウェアアプリケーションへ伝送することと、
前記ミドルウェアアプリケーションが前記支援要求を前記サーバへ伝送することであって、前記支援要求は、前記サーバに、前記デバイス識別子に対応する座席を識別させ、識別された前記座席に対応するクルーメンバーを識別させ、かつ、前記クルーメンバーに関連するクルーメンバーコンピューティングデバイスへ前記支援要求を伝送させるように構成される、伝送することと
をさせる、
請求項１４に記載のＶＲデバイス。
【請求項１６】
前記１または複数のメモリのうちの少なくとも１つは、格納されたさらなる命令を有し、前記さらなる命令は、前記１または複数のプロセッサのうちの少なくとも１つにより実行された場合、前記１または複数のプロセッサのうちの少なくとも１つに、
前記通知プラグインが、前記通知に少なくとも部分的に基づいて、１または複数のコマンドをツールバーアプリケーションへ伝送することであって、前記１または複数のコマンドは、永続ユーザインタフェース要素内のアイコンの１または複数の表示特徴を変更するように構成される、伝送すること
をさせる、
請求項９から１５のいずれか一項に記載のＶＲデバイス。
【請求項１７】
仮想現実（ＶＲ）デバイスに、
前記ＶＲデバイス上で実行されるミドルウェアアプリケーションがサーバから通知を受信する手順であって、前記通知は通知識別子を含む、受信する手順と、
前記ＶＲデバイス上で実行され、前記ＶＲデバイスによりレンダリングされた環境内に現在表示されているアクティブなアプリケーションと統合された通知プラグインへ前記ミドルウェアアプリケーションが前記通知を伝送する手順と、
前記通知プラグインが前記ＶＲデバイス上の通知アプリケーションをアクティブ化する手順であって、前記通知アプリケーションは、前記ＶＲデバイス上の全ての他のアプリケーションを無効化するように構成され、かつ、前記通知識別子に対応する通知メッセージを、前記ＶＲデバイスによりレンダリングされた前記環境内に表示するように構成される、アクティブ化する手順と、
前記通知プラグインが、前記通知識別子と一致する第２の通知識別子を含む第２の通知を受信すること、または、
前記通知アプリケーションが前記通知メッセージのユーザ確認応答を検出すること
のうちの１または複数に応答して、前記通知アプリケーションを非アクティブ化する手順と
を実行させるプログラム。
【請求項１８】
前記ミドルウェアアプリケーションが、前記ＶＲデバイス上で実行され、前記ＶＲデバイスによりレンダリングされた環境内に現在表示されているアクティブなアプリケーションと統合された通知プラグインへ前記通知を伝送する手順はさらに、前記ＶＲデバイスに、
前記ミドルウェアアプリケーションが、前記通知に対応する通知ステータスを格納する手順と、
前記ミドルウェアアプリケーションが、前記アクティブなアプリケーションと統合された前記通知プラグインへ前記通知を伝送する手順と、
前記ミドルウェアアプリケーションが、前記通知の受信に応答して、前記アクティブなアプリケーションと統合された前記通知プラグインから確認応答を受信する手順と、
前記ミドルウェアアプリケーションが前記通知ステータスを更新する手順と
を実行させる、
請求項１７に記載のプログラム。
【請求項１９】
前記通知は、永続通知または非永続通知のいずれかを含み、前記通知プラグインが前記ＶＲデバイス上の通知アプリケーションをアクティブ化する手順はさらに、前記ＶＲデバイスに、
前記通知が永続通知を含む場合、前記通知アプリケーションを永続モードでアクティブ化する手順であって、前記通知アプリケーションの前記永続モードは、前記通知プラグインが、前記通知識別子と一致する第２の通知識別子を含む第２の永続通知を受信すると、非アクティブ化するように構成される、アクティブ化する手順、または、
前記通知が非永続通知を含む場合、前記通知アプリケーションを非永続モードでアクティブ化する手順であって、前記通知アプリケーションの前記非永続モードは、前記通知メッセージのユーザ確認応答を検出すると、非アクティブ化するように構成される、アクティブ化する手順
のいずれかを実行させる、
請求項１７または１８に記載のプログラム。
【請求項２０】
前記通知アプリケーションが前記通知メッセージのユーザ確認応答を検出する手順はさらに、前記ＶＲデバイスに、
前記通知アプリケーションが、前記ＶＲデバイスによりレンダリングされた前記環境内の確認応答位置における確認応答メッセージを伝送する手順と、
前記ＶＲデバイスを装着しているユーザの視線位置が前記確認応答位置に対応していることを前記通知アプリケーションが検出する手順と
を実行させる、
請求項１７から１９のいずれか一項に記載のプログラム。
【請求項２１】
前記通知は割込みレベルに対応し、前記通知識別子に対応する通知メッセージを、前記ＶＲデバイスによりレンダリングされた前記環境内に表示する手順はさらに、前記ＶＲデバイスに、
前記割込みレベルに対応する１または複数の設定を識別する手順と、
前記１または複数の設定に少なくとも部分的に基づいて、前記通知メッセージを前記環境内にレンダリングする手順と
を実行させる、
請求項１７から２０のいずれか一項に記載のプログラム。
【請求項２２】
前記ＶＲデバイスに、
前記ＶＲデバイス上でツールバーアプリケーションを実行する手順であって、前記ツールバーアプリケーションは、前記通知プラグインにアクセス可能であり、前記ＶＲデバイスによりレンダリングされた前記環境内に永続ユーザインタフェース要素を伝送するように構成され、前記永続ユーザインタフェース要素は、シートベルトアイコン、支援アイコン、食事アイコン、トイレアイコンおよび購入アイコンのうちの１または複数を含む、実行する手順
を実行させる、
請求項１７から２１のいずれか一項に記載のプログラム。
【請求項２３】
前記永続ユーザインタフェース要素は、支援アイコンを含み、前記プログラムは、前記ＶＲデバイスに、
前記ＶＲデバイスを装着しているユーザの視線位置が前記支援アイコンの位置に対応していることを前記通知プラグインが検出する手順と、
前記通知プラグインが支援要求を生成する手順であって、前記支援要求は、前記ＶＲデバイスのデバイス識別子を含む、生成する手順と、
前記通知プラグインが前記支援要求を前記ミドルウェアアプリケーションへ伝送する手順と、
前記ミドルウェアアプリケーションが前記支援要求を前記サーバへ伝送する手順であって、前記支援要求は、前記サーバに、前記デバイス識別子に対応する座席を識別させ、識別された前記座席に対応するクルーメンバーを識別させ、かつ、前記クルーメンバーに関連するクルーメンバーコンピューティングデバイスへ前記支援要求を伝送させるように構成される、伝送する手順と
を実行させる、
請求項２２に記載のプログラム。
【請求項２４】
前記ＶＲデバイスに、
前記通知プラグインが、前記通知に少なくとも部分的に基づいて、１または複数のコマンドをツールバーアプリケーションへ伝送する手順であって、前記１または複数のコマンドは、永続ユーザインタフェース要素内のアイコンの１または複数の表示特徴を変更するように構成される、伝送する手順
を実行させる、
請求項１７から２３のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想現実デバイスへ配信される通知を管理するための方法、装置およびコンピュータ可読媒体に関する。
【背景技術】
【０００２】
仮想現実（「ＶＲ」）は、ユーザを仮想位置内に没入させるように設計された、コンピュータにより生成される環境である。ＶＲシステムは通常、統合されたディスプレイおよびスピーカを通じてビデオ出力および音声出力をユーザに直接提供するヘッドセットまたはヘルメットなどのアイウェアを利用する。ＶＲシステムは通常、ヘッドセットおよび付属品ならびにヘッドセットの動きを検出してそれに対応して仮想環境を変更するように構成された加速度計における触覚フィードバックなど、ユーザの没入感を向上させるように設計された他のメカニズムを含む。
【０００３】
これらの特徴の全ての結果は、ＶＲが独自の没入型媒体であるということである。結果的に、飛行機、電車または他の形態の輸送手段などの潜在的に危険な環境において用いられるＶＲデバイスは、ユーザの没入を維持するために、だが同時に、緊急事態、飛行もしくは移動の通知または他の管理者の行為のために必要な場合には没入を効果的に遮断することを可能にするために、慎重に設計されなければならい。安全規制、緊急警告、空間制限および乗り物酔いは、輸送手段における使用のためにＶＲアプリケーションを開発する場合に検討される必要がある多くの問題のうちの少数に過ぎない。
【０００４】
飛行機などの輸送手段において用いられる現在の通知システムの多くは、乗客ＶＲメディアデバイスと通信するためのインフラストラクチャおよび設計を欠いている。例えば、多くの飛行機は、ケーブリング接続システムを利用して、乗客の背もたれのディスプレイへアラートを伝送している。追加的に、乗客のメディアデバイスと通信するために無線通信などのより近年の通信方法を利用したシステムにおいてでさえ、既存の通知システムは、通知がどのように、クルーメンバーによりトリガされるか、デバイスにより受信されるか、乗客に提示されるか、および／または確認応答および削除されるかについては、柔軟性を提供しない。
【０００５】
結果的に、ＶＲ通知の管理および配信技術の改善が必要となっている。
【発明の概要】
【０００６】
本発明の目的は、仮想現実（ＶＲ）デバイスへ配信される通知を管理するための改善されたまたは代替手段方法、システムおよびコンピュータ可読媒体を提供することである。
【０００７】
この目的は、本明細書による、または本請求項に沿った方法、装置およびコンピュータ可読媒体で実現される。
【０００８】
本発明は、仮想現実（ＶＲ）デバイスへ配信される通知を管理するための方法に関する。当該方法は、以下で論じる段階を備え得る。
【０００９】
ＶＲデバイス上で実行されるミドルウェアアプリケーションがサーバから通知を受信する段階。ミドルウェアは、ＶＲコンテンツおよび／または通知サーバなどの外部サーバおよびＶＲデバイス上で動作するソフトウェアアプリケーションとインタフェースするコンピュータソフトウェアを備え、オペレーティングシステムから利用可能なものを越えて、サービスおよび命令をＶＲソフトウェアアプリケーションに提供する。
【００１０】
通知は、通知識別子を含み得る。さらなる段階として、ミドルウェアアプリケーションにより伝送が行われる。通知は、ＶＲデバイス上で実行され、ＶＲデバイスによりレンダリングされた環境内に現在表示されているアクティブなアプリケーションと統合された通知プラグインへ伝送され得る。
【００１１】
さらに、通知プラグインがＶＲデバイス上の通知アプリケーションをアクティブ化する段階が存在し得る。通知アプリケーションは、ＶＲデバイス上の全ての他のアプリケーションを無効化するように構成され得、かつ、ＶＲデバイスによりレンダリングされた環境内の通知識別子に対応する通知メッセージを表示するように構成され得る。
【００１２】
追加的に、通知識別子と一致する第２の通知識別子を含む第２の通知を通知プラグインが受信すること、または、通知アプリケーションが通知メッセージのユーザ確認応答を検出することのうちの１または複数に応答して、通知アプリケーションの非アクティブ化が実行され得る。
【００１３】
ＶＲデバイス上で実行され、ＶＲデバイスのディスプレイ上に現在表示されているアクティブなアプリケーションと統合された通知プラグインへミドルウェアアプリケーションが通知を伝送する段階は、ミドルウェアアプリケーションが、通知に対応する通知ステータスを格納する段階と、ミドルウェアアプリケーションが、アクティブなアプリケーションと統合された通知プラグインへ通知を伝送する段階と、ミドルウェアアプリケーションが、通知の受信に応答して、アクティブなアプリケーションと統合された通知プラグインから確認応答を受信する段階と、ミドルウェアアプリケーションが通知ステータスを更新する段階とを有し得る。
【００１４】
通知は、永続通知または非永続通知のいずれかを含み、通知プラグインがＶＲデバイス上の通知アプリケーションをアクティブ化する段階は、通知が永続通知を含む場合、通知アプリケーションを永続モードでアクティブ化する段階であって、通知アプリケーションの永続モードは、通知プラグインが、通知識別子と一致する第２の通知識別子を含む第２の永続通知を受信すると、非アクティブ化するように構成される、アクティブ化する段階、および／または、通知が非永続通知を含む場合、通知アプリケーションを非永続モードでアクティブ化する段階であって、通知アプリケーションの非永続モードは、通知メッセージのユーザ確認応答を検出すると、非アクティブ化するように構成される、アクティブ化する段階のいずれかを有し得る。
【００１５】
通知アプリケーションが通知メッセージのユーザ確認応答を検出する段階は、通知アプリケーションが、ＶＲデバイスによりレンダリングされた環境内の確認応答位置における確認応答メッセージを伝送する段階と、ＶＲデバイスを装着しているユーザの視線位置が確認応答位置に対応していることを通知アプリケーションが検出する段階とを含み得る。
【００１６】
通知は割込みレベルに対応し得、および／または、通知識別子に対応する通知メッセージを、ＶＲデバイスによりレンダリングされた環境内に表示する段階は、割込みレベルに対応する１または複数の設定を識別するさらなる段階と、１または複数の設定に少なくとも部分的に基づいて、通知メッセージを環境内にレンダリングするさらなる段階とを含み得る。
【００１７】
方法は、ＶＲデバイス上でツールバーアプリケーションを実行する段階であって、ツールバーアプリケーションは、通知プラグインにアクセス可能であり、ＶＲデバイスによりレンダリングされた環境内に永続ユーザインタフェース要素を伝送するように構成され、永続ユーザインタフェース要素は、シートベルトアイコン、支援アイコン、食事アイコン、トイレアイコンおよび購入アイコンのうちの１または複数を含む、実行する段階をさらに備え得る。
【００１８】
永続ユーザインタフェース要素は、支援アイコンを含み得、方法は、ＶＲデバイスを装着しているユーザの視線位置が支援アイコンの位置に対応していることを通知プラグインが検出する段階、通知プラグインが支援要求を生成する段階であって、支援要求は、ＶＲデバイスのデバイス識別子を含む、生成する段階、通知プラグインが支援要求をミドルウェアアプリケーションへ伝送する段階、および／または、ミドルウェアアプリケーションが支援要求をサーバへ伝送する段階であって、支援要求は、サーバに、デバイス識別子に対応する座席を識別させ、識別された座席に対応するクルーメンバーを識別させ、かつ、クルーメンバーに関連するクルーメンバーコンピューティングデバイスへ支援要求を伝送させるように構成される、伝送する段階をさらに備え得る。
【００１９】
方法は、通知プラグインが、通知に少なくとも部分的に基づいて、１または複数のコマンドをツールバーアプリケーションへ伝送する段階であって、１または複数のコマンドは、永続ユーザインタフェース要素内のアイコンの１または複数の表示特徴を変更するように構成される、伝送する段階をさらに備え得る。
【００２０】
本発明は、追加的に、通知を管理するための仮想現実（ＶＲ）デバイス装置に関する。ＶＲデバイス装置は、１または複数のプロセッサと、１または複数のプロセッサのうちの少なくとも１つに動作可能に結合されており、格納された命令を有する１または複数のメモリとを備え得る。当該命令は、１または複数のプロセッサのうちの少なくとも１つにより実行された場合、１または複数のプロセッサのうちの少なくとも１つに、上記の方法の段階のうちの１または複数を実行させる。
【００２１】
本発明は、追加的に、コンピュータ可読命令を格納した少なくとも１つの非一時的コンピュータ可読媒体に関する。当該コンピュータ可読命令は、仮想現実（ＶＲ）デバイスにより実行された場合、ＶＲデバイスに、上記の方法の段階のうちの１または複数を実行させる。
【００２２】
本明細書において開示される通知配信および管理システムの方法、装置およびコンピュータ可読媒体は、飛行中のＶＲデバイスユーザへ通知を配信するための効果的かつインスタントな通知配信システムを提供し得る。ミドルウェアは、ＶＲデバイス上で動作するソフトウェアと通知をＶＲデバイスへ配信するＶＲサーバとの間の相互接続も可能にする、オペレーティングシステムに影響を及ぼさないより安全でより中間的な構造を提供するものとみなされ得る。
【００２３】
本明細書において開示される通知配信および管理システムの方法、装置、およびコンピュータ可読媒体は、潜在的に危険な環境における仮想現実の安全な使用を可能にし得ると共に、様々なタイプの通知のための効果的かつカスタマイズ可能な配信メカニズムを管理者およびクルーメンバーに提供し得る。
【００２４】
また、本明細書において開示される通知配信および管理システムの方法、装置およびコンピュータ可読媒体は、乗客がＶＲにおいて自身の状況認識を失うこと、ならびに、自身のシートベルトを締めることの要求、パイロットおよびクルーからの乗客向けアナウンス、食事および飲み物の配布および深刻な緊急事態などの通知に応答しないことを防止し得る。
【００２５】
本明細書において開示される通知配信および管理システムの方法、装置およびコンピュータ可読媒体は、追加的に、クルーが、特定の命令を全ての乗客へ伝達すると共に、できるだけ速く全ての乗客に注意を促すことを可能にし得る。
【００２６】
本明細書において開示される通知配信および管理システムの方法、装置およびコンピュータ可読媒体により与えられる追加の利益は、通知メッセージがＶＲ環境に起因してカスタマイズまたは強化され得ること、特に、メッセージに対する感覚フィードバックが強化され得ること、追加の通知がプッシュされ得ること（例えば、食べ物）、および、緊急事態が効果的に伝達および処理され得ることである。
【図面の簡単な説明】
【００２７】
【図１】例示的な実施形態による仮想現実（ＶＲ）デバイスへ配信される通知を管理するためのフローチャートを示す。
【００２８】
【図２】例示的な実施形態によるＶＲ通知システムのネットワークアーキテクチャを示す。
【００２９】
【図３】例示的な実施形態によるクルーメンバーデバイスからＶＲデバイス上で動作するアプリケーションへの通知の配信を示す。
【００３０】
【図４】例示的な実施形態によるＶＲデバイス上で実行され、ＶＲデバイスのディスプレイ上に現在表示されているアクティブなアプリケーションと統合された通知プラグインへミドルウェアアプリケーションが通知を伝送するためのフローチャートを示す。
【００３１】
【図５】例示的な実施形態によるミドルウェアアプリケーションによる通知情報のストレージを示す。
【００３２】
【図６】例示的な実施形態による図４において説明するプロセスに対応するソフトウェアメッセージ図を示す。
【００３３】
【図７】例示的な実施形態による通知アプリケーションをアクティブ化する例を示す。
【００３４】
【図８】通知プラグインがＶＲデバイス上の通知アプリケーションをアクティブ化するためのフローチャートを示す。
【００３５】
【図９Ａ】例示的な実施形態による永続通知アプリケーションの例を示す。
【図９Ｂ】例示的な実施形態による永続通知アプリケーションの例を示す。
【００３６】
【図１０Ａ】例示的な実施形態による非永続通知アプリケーションの例を示す。
【図１０Ｂ】例示的な実施形態による非永続通知アプリケーションの例を示す。
【００３７】
【図１１】例示的な実施形態による通知ツールバーのソフトウェアおよびユーザインタフェース図を示す。
【００３８】
【図１２】例示的な実施形態による通知ツールバーを含むＶＲデバイスによりレンダリングされる環境を示す。
【００３９】
【図１３Ａ】例示的な実施形態による通知を通知ツールバーへ伝送するためのメッセージ図を示す。
【００４０】
【図１３Ｂ】例示的な実施形態による通知ツールバーからクルーメンバーへ要求を伝送するためのメッセージ図を示す。
【００４１】
【図１４】例示的な実施形態による通知アプリケーションおよび通知ツールバーの両方へ通知を伝送するための図を示す。
【００４２】
【図１５】例示的な実施形態による通知データモデルを示す。
【００４３】
【図１６】例示的な実施形態によるシートベルト通知のメッセージ受け渡し図を示す。
【００４４】
【図１７】永続的であり、かつ、ひとたび通知プラグインおよび通知アプリケーションにより閉鎖アナウンス通知が受信されると閉じられるだけであるアナウンス通知のメッセージ受け渡し図を示す。
【００４５】
【図１８】通知アプリケーションを実行させる食べ物および飲み物通知のメッセージ受け渡し図を示す。
【００４６】
【図１９】機内のショッピング機会について乗客にアラートするためのショッピング通知のメッセージ受け渡し図を示す。
【００４７】
【図２０】例示的な実施形態によるＶＲデバイスへ配信される通知を管理するためのシステムにおいて用いられ得る様々な異なるデバイスを示す。
【００４８】
【図２１】例示的な実施形態によるクルーメンバーデバイスのステータスインタフェースを示す。
【００４９】
【図２２】仮想現実デバイスへ配信される通知を管理するための方法を実行するために用いられ得る例示的なコンピューティング環境を示す。
【発明を実施するための形態】
【００５０】
本明細書では方法、装置およびコンピュータ可読媒体を例および実施形態により説明するが、当業者であれば、仮想現実デバイスへ配信される通知を管理する方法、装置およびコンピュータ可読媒体が、説明する実施形態または図面に限定されないことを認識している。これらの図面および説明は、開示される特定の形態に限定されるようには意図されていないことが理解されるべきである。むしろ、意図されているのは、添付の請求項の主旨および範囲に含まれる全ての修正、同等物および代替手段を包含することである。本明細書において用いられるあらゆる見出しは、編成のみを目的としたものであり、本明細書または請求項の範囲を限定することを意図していない。本明細書において用いられる場合、「得る（ｃａｎ）」という語は、強制的な意味（すなわち、しなければならないという意味）ではなく、許容的な意味（すなわち、潜在性を有しているという意味）で用いられる。同様に、「含む（ｉｎｃｌｕｄｅ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」および「含む（ｉｎｃｌｕｄｅｓ）」という語は、含むが限定されないことを意味する。
【００５１】
上記で説明したように、ＶＲには、レンダリングされた環境へユーザを深く没入させる力がある。結果として、乗客は、自身の状況認識を容易に失い得るが故に、自身のシートベルトを締めるようにとの要求に応答しなかったり、パイロットおよびクルーからの乗客向けアナウンスを無視したり、食事および飲み物の配布を逃したり、発生している深刻な緊急事態を認識しなかったりすることがある。特に、緊急事態の場合、クルーは、特定の指示を全ての乗客に伝達すると共に、できるだけ速く全員の注意を促す必要がある。したがって、ＶＲに没入している乗客にアナウンスが伝達される必要がある場合、特別な配慮をすることが必要である。つまり、メッセージに対する感覚フィードバックが強化される必要があり、追加の通知がプッシュされる必要があり（例えば、食べ物）、緊急事態が効果的に伝達および処理される必要がある。
【００５２】
出願人は、通知システムにおける既存の課題を解決する方法、装置およびコンピュータ可読媒体を発見しており、また、潜在的に危険な環境における仮想現実の安全な使用を可能にすると共に様々なタイプの通知のための効果的かつカスタマイズ可能な配信メカニズムを管理者およびクルーメンバーに提供する通知配信および管理システムを発見している。仮想現実（ＶＲ）デバイスへ配信される通知を管理するための方法およびシステムを飛行ベースのＶＲシステムという状況において説明するが、本明細書において開示されるＶＲ通知管理および配信システムは、通知がユーザへ配信される必要がある任意のＶＲ環境に適用可能であることが理解されよう。
【００５３】
図１は、例示的な実施形態による仮想現実（ＶＲ）デバイスへ配信される通知を管理するためのフローチャートを示す。段階１０１において、少なくとも通知識別子を含む、サーバからの通知が、ＶＲデバイス上で実行されるミドルウェアアプリケーションにより受信される。
【００５４】
図２に示されるように、ＶＲデバイスは、飛行中の乗客により利用されている多くのデバイスのうちの１つであり得る。図２は、例示的な実施形態によるＶＲ通知システムのネットワークアーキテクチャを示す。サーバ２００は、接続されているＶＲデバイス２０１Ａ、２０１Ｂ、２０１Ｃおよび２０１Ｄへ通知を配信する。サーバ２００とＶＲデバイス２０１Ａ−２０１Ｄとは、無線ネットワークまたは有線ネットワークを介して接続され得ると共に、任意の適切なネットワークプロトコルおよびソフトウェアを用いて通信し得る。例えば、サーバ２００とＶＲデバイス２０１Ａ−２０１Ｄとは、２つのデバイス間でのリアルタイムの通信を容易にすべく、ＷｅｂＳｏｃｋｅｔ技術を用いて通信し得る。サーバ２００がコンテンツサーバでもある場合、このタイプの接続は、必要な場合にサーバからＶＲデバイスへコンテンツを流すために用いられ得る。サーバ２００とＶＲデバイス２０１Ａ−２０１Ｄとは、ＲＥＳＴ  ＡＰＩを用いて追加的に通信し得る。例えば、ＲＥＳＴは、ＶＲデバイス２０１Ａ−２０１Ｄからサーバ２００へクエリを伝達するために用いられ得る。
【００５５】
図２は、サーバ２００に接続され、通知メッセージの生成を担う複数の管理デバイス２０２Ａ−２０２Ｅも示す。上記で論じたように、ネットワーク接続は、無線ネットワークまたは有線ネットワークにわたってなされ得ると共に、任意の適切なネットワークプロトコルおよびソフトウェアを用いて通信し得る。飛行状況において、管理デバイスは、例えば、クルーメンバーデバイスであり得る。デバイス２０２Ａ−２０２Ｄにより示されるように、管理デバイスは、モバイルデバイスであり得る。モバイルデバイスは、スマートフォン、タブレット、スマートウォッチおよび／またはカスタム電子デバイス（特定の航空会社により、または特定の航空会社のために作り出されるデバイスなど）を含む。また、デバイス２０２Ｅにより示されるように、管理デバイスは、より大きいコンピューティングデバイスであり得る。より大きいコンピューティングデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、従来のシステム（既存の飛行通知コンピュータまたはアビオニクスサーバなど）または任意の他のコンピューティングデバイスを含み得る。
【００５６】
図２に示されるように、管理デバイス２０２Ａ−２０２ＥとＶＲデバイス２０１Ａ−２０１Ｄとの両方が、サーバとの双方向通信を行う。これにより、通知が管理デバイスからサーバを通じてＶＲデバイスへ送信されることが可能になり、また、確認応答、ステータス情報および要求がＶＲデバイスからサーバを通じて適切な管理デバイスへルーティングされることが可能になる。
【００５７】
図１に戻ると、段階１０２において、ＶＲデバイス上で実行され、ＶＲデバイスによりレンダリングされた環境内に現在表示されているアクティブなアプリケーションと統合された通知プラグイン（本明細書において、「通知プラグイン」または「プラグイン」と称される）へミドルウェアアプリケーションが通知を伝送する。段階１０１および１０２の例が図３に示される。
【００５８】
図３は、例示的な実施形態によるクルーメンバーデバイスからＶＲデバイス上で動作するアプリケーションへの通知の配信を示す。クルーメンバーデバイス３００は、クルーメンバーにより通知を生成および伝送するために用いられるクルーアプリケーションを含み得る。また、以下でさらに論じるように、クルーアプリケーションは、ネットワーク内の特定のＶＲデバイスのモニタリングを有効化し得る。
【００５９】
サーバ３０１は、クルーアプリケーションとインタフェースするように構成されたサーバアプリケーションを動作させる。この図に示されるように、サーバ３０１上のサーバアプリケーションは、クルーメンバーデバイス３００上のクルーアプリケーションから通知を受信する。次に、サーバ３０１は、通知を仮想現実デバイス３０２上のミドルウェアコンポーネントへ伝送する。なお、ミドルウェアコンポーネントへの通知の伝送は、プッシュ型通信またはプル型通信のいずれかであり得る。サーバ（およびサーバアプリケーション）は、全ての通知をＶＲデバイスへ自動的に転送するように構成され得る。代替的に、ＶＲデバイス上のミドルウェアは、あらゆる通知更新についてサーバにクエリするように構成され得る。このクエリは、例えば、定期的に、またはＶＲデバイスによる新しいアプリケーションの起動などの特定のイベントに応答して行われ得る。多くの変更形態が可能であり、これらの例は、限定的なものとして意図されてはいない。
【００６０】
ミドルウェアアプリケーション（ミドルウェア）は、デーモンとしてＶＲデバイス３０２の背景において動作するサービスであり得る。これにより、ミドルウェアは、ＶＲデバイス３０２上で現在動作しているあらゆるＶＲアプリケーションに対する動的通知配信システムとして機能することが可能になる。ミドルウェアは、ＶＲデバイスとサーバとの間のインタフェースとして機能し、ＶＲデバイス上で動作する特定のアプリケーションに対するインタフェースとしても機能する。
【００６１】
ＶＲデバイス３０２上で動作するアプリケーションとミドルウェアとが通信するメカニズムが、ＶＲデバイス上で動作するアプリケーションの各々へ統合された通知プラグインである。通知プラグインは、サードパーティ開発者が特に全てのアプリケーションが通知システムおよびミドルウェアとの互換性を有することを保証するために自身のアプリケーションへ統合するソフトウェア開発キット（ＳＤＫ）を含み得る。したがって、通知プラグインは、ＶＲデバイス３０２上で動作する全てのアプリケーションへ統合され、ミドルウェアは、ＶＲデバイス３０２上の全てのアプリケーションと通信することが可能になる。
【００６２】
図３に示されるように、アプリケーション３は、アクティブなアプリケーションである。これは、アプリケーション３が、ＯＳスタックの一番上にあるアプリケーションであると共に、ＶＲデバイスによりレンダリングされた仮想環境内に現在表示されているアプリケーションであることを意味する。もちろん、複数のアプリケーションが同時に表示されている場合、アクティブなアプリケーションは、選択されたアプリケーションである。アプリケーション３がアクティブなアプリケーションなので、ミドルウェアにより受信された通知は、次に、アプリケーション３と統合された通知プラグインへ送信される。
【００６３】
ミドルウェアは、ＶＲアプリケーションに統合された通知プラグインへ全ての通知を自動的に転送するように構成され得る。追加的に、当該アプリケーションの通知プラグインは、ミドルウェアからの最新の通知をクエリまたは要求するようにも構成され得る。このクエリまたは要求は、例えば、定期的に、またはＶＲデバイスによる新しいアプリケーションの起動またはアプリケーション間での切り替えなどの特定のイベントに応答して行われ得る。例えば、アクティブなアプリケーションが変わるときはいつでも、新しいアクティブなアプリケーションは、あらゆる未配信の通知の要求をミドルウェアへ伝送するように構成され得る。ミドルウェアはまた、どのアプリケーションがアクティブなアプリケーションであるかを（例えば、ＯＳとインタラクトすることにより）検出し得ると共に、あらゆる通知を、当該通知が受信された場合、現在のアクティブなアプリケーションへ転送し得る。
【００６４】
図４は、例示的な実施形態によるＶＲデバイス上で実行され、ＶＲデバイスのディスプレイ上に現在表示されているアクティブなアプリケーションと統合された通知プラグインへミドルウェアアプリケーションが通知を伝送するためのフローチャートを示す。
【００６５】
段階４０１において、ミドルウェアアプリケーションは、受信された通知に対応する通知ステータスを格納する。通知ステータスは、通知が未配信であることを示し得る。ミドルウェアは、通知自体、または、当該通知に対応する情報を検索するために用いられ得る通知のいくつかの識別子も格納し得る。通知ステータスは、特定の通知がアクティブであるか、またはアクティブではないか（すなわち、「オン」または「オフ」）も示し得る。
【００６６】
図５は、例示的な実施形態によるミドルウェアアプリケーションによる通知情報のストレージを示す。図５に示されるように、ＶＲデバイス５０１は、ミドルウェア５０２と、ミドルウェアにアクセス可能であるストレージ５０３とを含む。ストレージは、例えばミドルウェアにアクセス可能なキャッシュの形態などによるミドルウェアの一部でもあり得る。図５は、通知と自身の対応するステータスとを格納したテーブルを含むストレージ５０４の拡大図も示す。ストレージ５０４の拡大図に示されるように、通知識別子が、ステータス（配信済みまたは未配信）と共に、各通知について格納される。以下で図１５を参照してさらに論じるように、もちろん、ストレージおよびテーブルは、通知のあらゆる追加の属性または特徴を含み得る。
【００６７】
通知ステータスを格納するために用いられ得る多くの可能な技術が存在する。例えば、２つの状態（「オン」または「オフ」など）を有する通知の場合、当該通知が配信済みまたは未配信のいずれであるかを格納するのではなく、各通知の状態がストレージに格納され得る。
【００６８】
各通知のステータスを格納することの代替手段として、ミドルウェアは、未配信である通知のみを格納するように構成され得る。これにより、通知ステータスは暗黙になる。この場合、正常に伝送されている（確認応答が送信先通知プラグインから受信されていることを意味する）あらゆる通知がストレージから削除され、未配信の通知のみが残り得る。多くの変更形態が可能であり、これらの例は、限定的なものとして意図されてはいない。
【００６９】
図４に戻ると、段階４０２において、ミドルウェアは、未配信ステータスを有するあらゆる通知の要求を、アクティブなアプリケーションと統合された通知プラグインから受信する。上記で論じたように、この要求は、定期的に、またはアクティブなアプリケーションの起動などのいくつかのイベントに応答して伝送され得る。代替的に、要求は、アクティブステータスまたは「オン」ステータスを有するあらゆる通知の要求でもあり得る。
【００７０】
段階４０３において、ミドルウェアは、アクティブなアプリケーションと統合された通知プラグインへ通知を伝送する。通知に応答して、アクティブなアプリケーションの通知プラグインは、確認応答をミドルウェアへ返送する。確認応答は、段階４０４においてミドルウェアにより受信される。次に、段階４０５において、通知の通知ステータスは、通知が配信されたことを示すように更新される。通知ステータスが通知のストレージについて暗黙である場合、この更新は、ストレージから通知を削除することを含み得る。
【００７１】
図６は、例示的な実施形態による図４において説明したプロセスに対応するソフトウェアメッセージ図を示す。図６において示されるように、ＶＲデバイス６００は少なくとも、通知プラグイン６０２を含むアプリケーション６０１と、ミドルウェア６０３と、ストレージ６０４とを含む。
【００７２】
ミドルウェア６０３は、あらゆる未配信の通知を要求する通知プラグイン６０２から要求メッセージＭ１を受信する。次に、ミドルウェア６０３は、クエリメッセージＭ２でストレージ６０４にクエリする。クエリに応答して、ストレージ６０４は、あらゆる未配信の通知をメッセージＭ３でミドルウェア６０３へ送信する。次に、ミドルウェア６０３は、これらの未配信の通知をメッセージＭ４でプラグイン６０２へ送信する。通知の受信に応答して、通知プラグイン６０２は、確認応答をメッセージＭ５でミドルウェア６０３へ伝送する。ミドルウェアは、確認応答を受信すると、次に、メッセージＭ６をストレージ６０４へ伝送して、配信済みのメッセージのステータスを未配信から配信済みへ変える。メッセージＭ６は、配信済みのメッセージをストレージ６０４が削除することを要求する削除メッセージでもあり得る。追加的に、図６には示されていないが、ミドルウェアはさらに、確認応答Ｍ５をサーバへ返送し得る。これにより、サーバは、独自の通知ステータス情報を更新することが可能になる。
【００７３】
図１に戻ると、段階１０３において、通知プラグインは、ＶＲデバイス上の通知アプリケーションをアクティブ化する。当該アプリケーションは、ＶＲデバイス上の全ての他のアプリケーションを無効化するように構成され、かつ、ＶＲデバイスによりレンダリングされた環境内の通知識別子に対応する通知メッセージを表示するように構成される。
【００７４】
通知アプリケーションのアクティブ化は、通知アプリケーションの起動を含み得る。代替的に、通知アプリケーションは、既にＶＲデバイス上で動作中であり得ると共に、アクティブ化は、通知アプリケーションをＶＲデバイスのユーザインタフェースの先頭へ移すことを含み得る。例えば、アクティブ化は、それをスリープモードまたはアイドルモードからアクティブモードへ切り替える通知アプリケーションへいくつかのコマンドを渡すことを含み得る。
【００７５】
追加的に、ＶＲデバイスによりレンダリングされた環境内に表示される通知メッセージは、様々な態様でロードされ得る。通知メッセージは、通知プラグインへ伝送される通知の一部として伝送され得る。また、通知メッセージは、通知プラグインまたは通知アプリケーションのいずれかにより、通知の一部として伝送される通知識別子などの識別子を用いてロードされ得る。この場合、テーブルまたは他のデータストレージ構造が、通知識別子と１または複数の他の属性（通知メッセージなど）との間の対応関係を格納する、ＶＲデバイスのメモリ内で維持され得る。テーブルまたはデータストレージ構造は、サーバによりミドルウェアへ送信されるメッセージの通知ステータスも格納し得る。
【００７６】
図７は、例示的な実施形態による通知アプリケーションをアクティブ化する例を示す。ボックス７０１は、ミドルウェアからアクティブなアプリケーション３内の通知プラグインへ通知が伝送された後であるが、通知プラグインが通知アプリケーションをアクティブ化する前の、ＶＲデバイスの状態を示す。
【００７７】
ボックス７０２は、アプリケーション３内の通知プラグインが通知アプリケーションをアクティブ化した後の、ＶＲデバイスの状態を示す。ボックス７０２に示されるように、ひとたび通知アプリケーションがアクティブ化すると、ＶＲデバイス内の全ての残りのアプリケーションが無効化される。しかしながら、当該アプリケーションの各々の内部の通知プラグインは、アクティブのままであり、これにより、ミドルウェアからの追加のメッセージが受信されることが可能になる。
【００７８】
通知アプリケーションは、通知のタイプと、対応する通知設定とに応じて、複数のモードでアクティブ化され得る。特に、通知の可能なタイプは、「永続」通知および「非永続」通知を含み得る。永続通知は、停止信号が受信されるまで持続するように構成される。対照的に、非永続通知は、ユーザの行為を介して、またはタイマなどのいくつかの他の手段を通じて任意選択的に非アクティブ化され得る。
【００７９】
図８は、通知プラグインがＶＲデバイス上の通知アプリケーションをアクティブ化するためのフローチャートを示す。段階８０１において、通知が通知プラグインにより受信される。この段階は、ミドルウェアアプリケーションが通知を通知プラグインへ伝送する、図１における段階１０２に対応する。
【００８０】
段階８０２において、通知が永続または非永続かに関して、決定が行われる。永続という用語および非永続という用語は、説明の目的でのみ用いられており、これらの用語は、通知の任意の２つのクラスを指し得ることが理解されよう。第１のクラスは、サーバおよびミドルウェアからの停止信号を必要とし、第２のクラスは、ユーザ入力などの他の手段を通じて非アクティブ化できる。通知が永続であるかまたは非永続であるかについてのこの決定は、明示的に行われる必要はなく、通知のタイプの識別において暗黙であり得る。例えば、段階８０２は、通知メッセージはシートベルト通知である、と決定することに対応し得る。シートベルト通知が非永続であるように構成される場合、シートベルト通知としての通知のタイプを識別する段階は、段階８０２に対応し得る。
【００８１】
通知が永続である場合、段階８０３において、通知アプリケーションは、永続モードでアクティブ化される。そうでなければ、通知が非永続である場合、段階８０４において、通知アプリケーションは、非永続モードでアクティブ化される。もちろん、複数のモードではなく、異なる通知アプリケーションが、永続アプリケーションと非永続アプリケーションとに対応する通知のために用いられ得る。例えば、２つの異なる通知アプリケーション、つまり、非永続通知アプリケーションおよび永続通知アプリケーションが用いられ得る。別の例では、各通知は、独自の固有の通知アプリケーションを有し得ると共に、固有の通知アプリケーションの各々は、それが永続であるかまたは非永続であるかを示す設定または機能を有し得る。これらの例は、例示のためにのみ提供されており、説明した特徴の範囲を限定することは意図していない。
【００８２】
アプリケーションが永続モードでアクティブ化された場合、段階８０７における一致する識別子を有する対応する通知の受信により、段階８０８における通知アプリケーションの非アクティブ化がもたらされる。例えば、第１の通知が永続アナウンス通知である場合、通知アプリケーションは、永続モードでアクティブ化される。やはり永続アナウンス通知である（このことは、識別子またはタイプをチェックすることにより決定され得る）第２の通知が受信された場合、アプリケーションは、非アクティブ化される。
【００８３】
追加的に、状態変数またはフラグは、当該通知の一部であり得ると共に、永続通知アプリケーションをアクティブ化または非アクティブ化するために用いられ得る。前の例を用いると、第１の通知は、＜通知ＩＤ＝ＡＮ、状態＝オン＞であり得る。第２の通知が＜通知ＩＤ＝ＡＮ、状態＝オフ＞である場合、永続通知アプリケーションは、非アクティブ化され得る。対照的に、第１の通知が＜通知ＩＤ＝ＡＮ、状態＝オン＞であり、第２の通知も＜通知ＩＤ＝ＡＮ、状態＝オン＞である場合、通知アプリケーションはアクティブ化されたままである。
【００８４】
通知アプリケーションが非永続モードでアクティブ化された場合、段階８０５における指定されたユーザの行為（通知メッセージについてのユーザ確認応答など）の検出により、段階８０６におけるアプリケーションの非アクティブ化がもたらされる。
【００８５】
図９Ａおよび図９Ｂは、例示的な実施形態による永続通知アプリケーションの例を示す。図９Ａに示されるように、ＶＲヘッドセット９００は、ユーザの２つの目に対応する２つのディスプレイ９０１Ａおよび９０１Ｂを含む。このことは、例示のためにのみ示されており、ＶＲヘッドセットは、代替的に、ヘッドセットの幅の全体にわたる単一のディスプレイを有し得る。
【００８６】
図９Ａに示されるように、ＶＲデバイス９００は、２つのディスプレイ９０１Ａ−９０１Ｂの各々にレンダリングされた３次元環境９０２Ａ−９０２Ｂを有する。レンダリングされた環境は、ほぼ同一であり、それぞれの目に対する環境をカスタマイズするために、わずかな差異のみを有する。この場合、環境は、飛行機に搭載された座席を示す。これは、ＶＲデバイスのデフォルト環境であり得る。
【００８７】
図９Ｂは、環境９０２Ａ−９０２Ｂ内での通知メッセージ９０３Ａおよび９０３Ｂの表示を示す。ＶＲデバイス９００上で実行される通知アプリケーションは、永続通知アプリケーションである。なぜなら、ユーザには、通知メッセージを非アクティブ化するかもしくはそうでなければ削除するためのオプションまたはＶＲデバイス９００もしくはＶＲデバイス９００上で動作する他のアプリケーションの任意の機能にアクセスするためのオプションがないからである。図９Ｂに示される通知アプリケーションは、対応する非アクティブ化通知が受信された場合にのみ、非アクティブ化される。この場合、当該通知は、「オフ」状態を指定するアナウンス通知であり得る
【００８８】
図１０Ａおよび図１０Ｂは、例示的な実施形態による非永続通知アプリケーションの例を示す。図９Ａと同様に、図１０Ａは、ＶＲデバイス１０００のディスプレイ１００１Ａ−１００１Ｂ上にレンダリングされた環境１００２Ａ−１００２Ｂを示す。図１０Ｂは、非永続通知アプリケーションの通知メッセージ１００３Ａ−１００３Ｂを示す。通知メッセージ１００３Ａ−１００３Ｂに加えて、非永続通知アプリケーションは、確認応答メッセージ１００４Ａ−１００４Ｂを伝送する。
【００８９】
非永続通知アプリケーションは、環境１００２Ａ−１００２Ｂ内の予め定められた位置に確認応答メッセージ１００４Ａ−１００４Ｂを伝送する。確認応答位置と称されるこれらの位置は、（ディスプレイ上の平面上の）２次元座標のセットにより指定され得るか、または環境１００２Ａ−１００２Ｂ内の音量を定義する３次元座標のセットにより指定され得る。確認応答位置は、システムに、例えば、通知アプリケーションのメモリまたはＶＲデバイス上の他の箇所に格納され得る。
【００９０】
通知アプリケーションは、通知メッセージ１００３Ａ−１００３Ｂおよび確認応答メッセージ１００４Ａ−１００４Ｂを表示しながら、ＶＲデバイス１０００のユーザからの入力をトラッキングするためのルーチンを動作させ得る。通知アプリケーションが、確認メッセージ１００４Ａ−１００４Ｂの位置に対応するポインティング入力および／または選択入力を検出した場合、通知アプリケーションは、非アクティブ化することで、ＶＲデバイスのオペレーションを非制限的なものに戻し得る。ポインティング入力法する例は、ヘッドトラッキングを介し得るが、選択入力法は、ユーザが確認メッセージ１００４Ａ−１００４Ｂにおいてポインティングしている時間の経過を介して検出され得る。もちろん、任意のポインティング入力および／または選択入力が利用され得る。例えば、ユーザは、ＶＲシステムに接続されたコントローラまたはポインティングデバイス上のボタン、スイッチまたは他の入力メカニズム（例えば、マウス、ジョイスティック等）を押し得る。
【００９１】
通知アプリケーションに加えて、通知システムは、ＶＲデバイスによりレンダリングされた環境内で永久的に見える永続通知ツールバー（本明細書において、「通知ツールバー」、「ツールバー」および「クイックバー」と称される）を利用し得る。通知ツールバーは、各アプリケーションに埋め込まれたプラグインに実装されるＳＤＫの一部でもあり得ると共に、全てのプラグインにアクセス可能であり得る。
【００９２】
図１１は、例示的な実施形態による通知ツールバーのソフトウェアおよびユーザインタフェース図を示す。図１１に示されるように、通知ツールバーは、ＶＲデバイス１１００上で実行されるプラグインにより制御されるＵＩ要素であり、ＶＲデバイスのユーザインタフェース１００１（環境）内にツールバーインタフェース１１０３をレンダリングする。通知ツールバーは、明瞭性のためにのみ、図１１において別個のエンティティとして示されており、通知ツールバーは、各アプリケーションに埋め込まれたプラグインに実装される同じＳＤＫの一部であり得ることが理解されよう。
【００９３】
図１１におけるユーザインタフェース１１０１は追加的に、ＶＲデバイス１１００上のアクティブなアプリケーションであるアプリケーション２に対応するインタフェース１１０２を表示する。各アプリケーション内のプラグインの各々は、通知ツールバーアプリケーションにアクセスでき、コマンドを通知ツールバーアプリケーションへ送信できる。したがって、どのアプリケーションがアクティブであるかにかかわらず、通知およびメッセージは、通知ツールバーアプリケーションに渡され得る。
【００９４】
図１２は、例示的な実施形態による通知ツールバーを含むＶＲデバイスによりレンダリングされた環境を示す。図１２に示されるように、通知ツールバー１２０１は、ＶＲデバイスのユーザに対して常に見えるように、環境１２００上にスーパーインポーズされる。通知ツールバーは、ホーム画面または他のナビゲーションボタンのアイコン、時間および／または日付アイコン、緊急事態または乱気流の場合に用いられ得るアラートまたは警告アイコン、アクティブ化または非アクティブ化し得るシートベルトをお締めくださいアイコン、食事サービスが行われる場合を示すための食事サービスアイコン、飲み物サービスが行われる場合を示すための飲み物アイコン、トイレが利用中であるかまたは利用可能である場合を示すトイレアイコン、禁止行為アイコン（禁煙サインなど）および客室乗務員からの支援を要求するための客室乗務員ボタンなど、１または複数のアイコンを含み得る。これらのアイコンのいずれも、（例えば、色、明るさ、サイズ等を変えることにより）外観を変えることで、アクティブ化されていることまたは非アクティブ化されていることを示し得る。
【００９５】
ＶＲデバイス上で実行されるアプリケーションへ統合された通知プラグインは、コマンドおよび通知を通知ツールバーに渡すために用いられ得る。図１３Ａは、例示的な実施形態による通知を通知ツールバーへ伝送するためのメッセージ図を示す。クルーメンバーデバイス１３００内のクルーアプリケーションは、通知をサーバ１３０１上のサーバアプリケーションへ伝送する。次に、この通知は、サーバアプリケーションにより、ＶＲデバイス１３０２上で実行されるミドルウェアに渡される。次に、ミドルウェアが、通知をアクティブなアプリケーションの通知プラグインへ送信する。次に、プラグインが、１または複数のコマンドを通知ツールバーアプリケーションへ送信する。コマンドは、例えば、通知ツールバー上の１または複数のアイコンをアクティブ化または非アクティブ化するように構成され得る。
【００９６】
追加的に、ユーザは、視線検出を通じて通知ツールバー上の１または複数のアイコンをアクティブ化することにより、要求を飛行スタッフまたは他の管理者へ伝送し得る。例えば、アクティブなアプリケーションのプラグインが、ＶＲデバイスの標準（非制限）オペレーション中にルーチンを実行して、ユーザの視線をトラッキングし得ると共に、ユーザが通知ツールバー上のアイコンを見ている場合を識別し得る。前に論じたように、視線検出は、ユーザの両目の方を向いた１または複数のカメラの使用を通じて実装され得る。ユーザの瞳孔の位置が、レンダリングされた環境の外側へ光線を投射するために、また、ユーザの視線の位置または場所を検出するために用いられ得る。
【００９７】
図１３Ｂは、例示的な実施形態による通知ツールバーからクルーメンバーへ要求を伝送するためのメッセージ図を示す。アクティブなアプリケーションに統合された通知プラグインはまず、ＶＲデバイスを装着しているユーザの視線位置が通知ツールバー上のアイコン（客室乗務員支援アイコンなど）の位置に対応していることを検出する。次に、通知プラグインは、ＶＲデバイスのデバイス識別子（メモリに格納され得るか、またはデバイスから読み取られ得る）を含む要求を生成し、要求をミドルウェアへ伝送する。次に、ミドルウェアは、ＶＲデバイス１３０２上のミドルウェアからサーバ１３０１上のサーバアプリケーションへ要求を伝送する。
【００９８】
次に、サーバアプリケーションは、要求に対応する座席を識別し得る。サーバアプリケーションは、例えば、座席の全てのペアと対応するＶＲデバイスとを（デバイス識別子により）列挙したテーブル（または任意の他のメモリもしくはデータ構造）を格納し得る。サーバアプリケーションは、デバイス識別子を含む要求を受信した場合、このテーブルを調べて、適切な座席を識別し得る。
【００９９】
サーバアプリケーションは、座席を決定した後で、次に、識別された座席に対応するクルーメンバーを識別し得る。再び、サーバアプリケーションは、クルーメンバーおよびクルーメンバーデバイス識別子に対する座席をマッピングしたテーブルまたは他のデータ構造を格納し得る。サーバは、識別された座席を利用して、適切なクルーメンバーを識別し得る。
【０１００】
追加的に、サーバは、代わりに、クルーメンバーデバイス識別子とＶＲデバイス識別子との間のテーブルマッピングを格納し得る。この場合、座席を識別する必要がなく、ＶＲデバイス識別子は、対応するクルーメンバーデバイス識別子をルックアップするために用いられ得る。
【０１０１】
次に、サーバは、クルーメンバーデバイスについての要求を任意選択的に再フォーマットし、その次に、適切なクルーメンバーについての要求をクルーメンバーデバイスへ伝送する。次に、クルーメンバーが、自身のデバイス上で要求を受信し得る。要求は、要求を提出したＶＲデバイスの座席番号を示し得る。代替的に、クルーメンバーデバイスが、座席番号へのＶＲデバイスのマッピングを格納し得る。この場合、ＶＲデバイス識別子が、対応する座席をルックアップするために、また、クルーメンバーデバイスのディスプレイ上に（要求している座席がハイライトされた座席マップ内などに）座席情報を表示するために用いられ得る。
【０１０２】
サーバからＶＲデバイスへ伝送された通知により、通知ツールバー内の通知アプリケーションおよび１または複数の通知の両方がトリガされ得る。図１４は、例示的な実施形態による通知アプリケーションおよび通知ツールバーの両方へ通知を伝送するための図を示す。
【０１０３】
ボックス１４０１に示されるように、通知が、ミドルウェアにおいて受信され、（その時点でアクティブだった）アプリケーション内のプラグインへ送信され、次に、現在アクティブである通知アプリケーションをアクティブ化するためにプラグインにより用いられている。通知アプリケーションがアクティブなので、全ての他のアプリケーションが無効化されている。
【０１０４】
ボックス１４０２は、通知アプリケーションが閉じられた後に行われる段階を示す。通知は、ユーザ確認応答の検出に基づいて閉じられ得る。次に、この確認応答がプラグインに渡され、次に、プラグインが、通知ツールバーを更新するために１または複数のコマンドを通知ツールバーへ伝送する。通知アプリケーションの実行中はツールバーが無効化されているので、ツールバーの更新は、通知アプリケーションが閉じられた後にパススルーされ得る。
【０１０５】
代替的に、通知ツールバーは、通知アプリケーションに影響されないように構成され得る。これは、通知ツールバーが通知アプリケーションの実行中でさえ機能し続けることを意味する。この場合において、通知がミドルウェアからプラグインで受信されたときは、プラグインは、コマンドまたは命令を通知ツールバーへ伝送してツールバーアプリケーションを更新すること、また、通知アプリケーションを実行して全ての他のアプリケーションを無効化することの両方を行い得る。
【０１０６】
図１５は、例示的な実施形態による通知データモデル１５００を示す。図１５に示されるように、通知データモデルは、複数の異なる属性および変数を含み得る。識別子変数は、通知または通知のタイプ（例えば、アナウンス、食べ物サービス等）を識別する。「通知アプリケーション」変数は、プラグインにより通知が受信された場合に通知アプリケーションが呼び出されるべきかどうかを示すフラグ（ブーリアン）変数であり得る。メッセージ変数は、通知に対応する適切なメッセージを示す文字アレイまたは文字列であり得る。
【０１０７】
割込み変数は、（１−５）など、特定の通知の割込みレベルを示す、限られた定義済みの範囲を有し得る。これは、特定のタイプの全ての通知について設定され得る（例えば、緊急通知はレベル５である）か、または、通知毎ベースで設定され得る（例えば、着陸前の最後の飲み物サービスは３である）。割込みレベルは、通知の特徴と、サイズ、フォント、明るさ、付随音声または任意の他の視覚的もしくは音声的な特徴など、通知がどのように表示されるかとをカスタマイズするために用いられ得る。例えば、通知アプリケーションにより実行される通知の通知メッセージを表示するプロセスは、通知の割込みレベルに対応する１または複数の設定を識別し、次に、当該設定に基づいて通知メッセージをカスタマイズおよびレンダリングすることを含み得る。当該設定は、ユーザにより構成され得る（例えば、各航空会社が自身の独自の割込みレベルおよび設定を構成し得る）。
【０１０８】
通知データモデルは、特定の通知についてどの音または音声を再生するかを定義する音属性および例えば音量、ベース、ピッチ等の音属性も含み得る。
【０１０９】
図１５に戻ると、永続変数は、例えば、前に論じたように通知が永続であるかまたは非永続通知であるかを示すブーリアンフラグ値であり得る。通知が永続である場合、状態変数は、通知がオン通知であるかまたはオフ通知であるかを示し得る。
【０１１０】
通知は、通知が通知ツールバーに対する任意の効果を示唆しているかまたは有しているかを示す「通知ツールバー」変数を含み得る。この変数が偽である場合、通知は、ツールバーに対する効果を有しないように構成され得る。この変数が真である場合、通知は、任意選択的に、アイコン（影響を受けたアイコン）を反映した変数と、アイコンをオンまたはオフにするアイコン状態（オンまたはオフ）と、通知がツールバーから削除されるべきであるかまたはアイコンが非アクティブ化されるべき前の継続期間を示すタイマ変数とを追加的に含み得る。
【０１１１】
図１６は、例示的な実施形態によるシートベルト通知のメッセージ受け渡し図１６００を示す。図１６に示されるように、キャビンクルーメンバーが、自身のデバイス上の自身のキャビンクルーアプリケーションへ通知を入力することにより、通知を生成する。次に、通知は、サーバに渡され、その次に、（確認する）ミドルウェアに渡される。通知は、ミドルウェアから、（サーバへ渡し返されている確認応答を確認する）アクティブなアプリケーションのプラグインへ送信され、次に、プラグインにより、通知アプリケーションをアクティブ化するために用いられる。ひとたびユーザが（確認することなどにより）通知アプリケーションを閉じると、閉じたことがプラグインへ送り返される。プラグインは、シートベルトアイコンをアクティブ化するために、コマンドを通知ツールバー（図１６において、簡潔にするために、「クイックバー」と称される）に対して発行する。その後、シートベルトオフ通知がクルーメンバーにより送信され、プラグインへ到達した場合、当該通知は、プラグインに、シートベルトアイコンを非アクティブ化するためにコマンドをクイックバーへ伝送させる。
【０１１２】
図１７から図１９は、他の通知についての同様のタイプのメッセージ受け渡し図を示す。具体的には、図１７は、永続的であり、かつ、ひとたび通知プラグインおよび通知アプリケーションにより閉鎖アナウンス通知が受信されると閉じられるだけであるアナウンス通知のメッセージ受け渡し図１７００を示す。
【０１１３】
図１８は、通知アプリケーションを実行させる食べ物および飲み物通知のメッセージ受け渡し図１８００を示す。ユーザにより（確認応答を通じて）通知アプリケーションが閉じられた後に、プラグインは、限られた期間にわたって食べ物および飲み物アイコンをアクティブ化するために、クイックバーに対してコマンドを発行する。当該期間の後に、当該アイコンは非アクティブ化される。
【０１１４】
図１９は、機内のショッピング機会について乗客にアラートするためのショッピング通知のメッセージ受け渡し図１９００を示す。この通知は、通知アプリケーションの実行を生じさせることはなく、限られた期間にわたってクイックバー内にアイコンを表示させるに過ぎない。
【０１１５】
図２０は、例示的な実施形態によるＶＲデバイスへ配信される通知を管理するためのシステムにおいて用いられ得る様々な異なるデバイスを示す。図２０は、各デバイス上で実行されるソフトウェアおよび当該ソフトウェアの機能も示す。以下では、これらより詳細に説明する。
【０１１６】
クルーメンバーデバイス２０００は、接続されているＶＲユーザの全員へ通知を（サーバを通じて）プッシュするために、ユーザの分散のより良い制御および視覚化を目的として座席をＶＲデバイスとペアリングするために、かつ、デバイスと全てのペアリングされたデバイスの使用ステータスとを検討するかまたは見るために用いられ得るクルーメンバーアプリケーションを動作させる。
【０１１７】
ペアリングは、ＶＲデバイスが配布されると実行され得る。クルーメンバーは、例えば、クルーメンバーデバイス２０００を用いてバーコードまたはＱＲコード（登録商標）をＶＲデバイス上でスキャンし得るか、または、近距離リーダを用いてＶＲデバイス内の近距離チップを読み取り得る。代替的に、クルーメンバーは、ＶＲデバイスの識別コードをクルーメンバーデバイス２０００のディスプレイのインタフェースへ入力し得る。このスキャンまたは入力により、対応する座席番号を入力するようクルーメンバーにプロンプトするインタフェースをデバイス２０００のディスプレイ上に表示させ得る。ひとたびクルーメンバーが座席番号を入力すると、クルーメンバーデバイスは、座席とＶＲデバイスとの間のペアリングを格納し得る。
【０１１８】
接続されているＶＲデバイスへプッシュされ得る通知は、シートベルト（オン／オフ）、アナウンス（オン／オフ）、ヘッドセットを取り外す（オン／オフ）、食べ物（オン／オフのいずれかまたはワンタイム）、緊急通知、乱気流または任意の他のものを含む。
【０１１９】
また、クルーメンバーは、クルーメンバーデバイス２０００のインタフェースを通じて、全ての接続されているデバイスのステータスを見得る。ステータス情報は、各座席／ＶＲデバイスペアリングについて、座席番号、デバイスＩＤ、バッテリ寿命、接続ステータス、通知が受信されたことの確認および／またはユーザがオンラインであることの確認を含み得る。
【０１２０】
図２１は、例示的な実施形態によるクルーメンバーデバイス２０００のステータスインタフェースを示す。インタフェース２１００Ａは、４つの接続されているデバイスの各々のステータスと共に座席マップを示す。示されるように、これらのデバイスのうちの１つには、技術的な問題がある。インタフェース２１００Ｂは、接続されているデバイスへの伝送のためにクルーメンバーがシートベルト通知を選択した後のインタフェースを示す。インタフェース２１００Ｃは、シートベルト通知の伝送の後のインタフェースを示す。
【０１２１】
図２０に戻ると、既存のキャビンクルーコントロール２００１が、シートベルト（オン／オフ）に関する通知と進行中のアナウンスとを送信するために備え付けられた既存のまたは従来のシステムなどのコンピューティングデバイスを含み得る。既存のクルーアプリケーションが通知のインタフェースを提供することを考慮すると、サーバは、この通知のインタフェースから読み取り、ミドルウェアが認識するスタイルへとメッセージをフォーマットし、かつ、通知をＶＲデバイスへ単に転送し得る。通知は、既存の通知定義に対応するスタイルを有するサーバにおいて用いられ得る。
【０１２２】
ミドルウェアおよびサーバにおける個々のモジュールは、この既存のクルーコントロールセットアップに関連していない場合、無効化され得る。例えば、既存のＵＩにおいて視覚化され得ないバッテリ寿命についての通信または他のデバイスのステータスデータについての通信の報告が、無効化され得る。
【０１２３】
ＶＲサーバ２００２は、サーバとクライアントデバイス（クルーメンバーデバイス（存在する場合）およびＶＲデバイス）との間の通信を処理するためのイベントおよびメッセージングマネージャを含み得る。サーバは、Ｓｏｃｋｅｔ．ＩＯおよびＲＥＳＴ  ＡＰＩを用いて、クライアントデバイスと通信し得る。
【０１２４】
また、サーバは、特定の飛行機セットアップ上の利用可能な通知（自動型またはＵＩトリガ型）のカスタマイズを可能にする構成層を有し得ると共に、構成ファイルから、またはＵＩから構成され得る。構成は、例えば通知タイプ（オン／オフ通知、ワンタイム通知、時限通知）、テキスト、言語、およびＶＲデバイス上に現れるアイコン、自動型とＵＩトリガ型通知等のパラメータを含み得る。
【０１２５】
サーバは、通知の構成、通知の履歴、デバイス−座席ペアリングデータ、デバイスのステータスデータおよび外部のソース（例えば、公表のためのアビオニクスサーバ）から通知を受信するためのメッセージングマネージャのストレージのためのデータベースも含み得る。
【０１２６】
ＶＲデバイス２００３は、複数のコンポーネントを含む。当該コンポーネントは、本開示において詳細に説明しているミドルウェア、プラグインおよび通知アプリケーションを含む。追加の特徴および例示的な実装を以下で説明する。
【０１２７】
ミドルウェアは、データのタイプに応じてＳｏｃｋｅｔ．ＩＯおよびＲＥＳＴ  ＡＰＩでサーバアプリケーションと通信し得ると共に、例えばＡｎｄｒｏｉｄ（登録商標）  Ｍｅｓｓｅｎｇｅｒまたは異なるＯＳ上の異なるメッセンジャーを用いて、全てのＶＲアプリケーション内に統合されたプラグインと通信し得る。
【０１２８】
ミドルウェアの通知マネージャは、サーバからの入力メッセージを管理し、入力メッセージをプラグインへ転送し、受信された最新の通知をＶＲアプリケーションが明示的に求めることを可能にする。ミドルウェアは、サーバに接続している場合、既存の名前、タイプおよび構造についての情報ならびに自身の現在の状態（オン／オフ）を受信し得る。この情報は、デバイスのメモリ内のシリアル化されたファイルに書き込まれ得る。これにより、この情報は、次に、プラグインがこの情報を要求した場合に随時検索され得る。通知マネージャは、通知が表示されており、ユーザにより確認応答されているかどうかをチェックし、ＶＲデバイスからの入力メッセージ（例えば、ユーザによる支援要求）を管理し、入力メッセージをサーバへパススルーし得る。追加的に、通知マネージャは、サーバとの接続が依然として有効であるかどうかのチェックを担う。そうでない場合、ミドルウェアは、接続が再び確立されるまでヘッドセットを取り外すために、独立の通知をユーザへ（すなわち、プラグインへ）送信し得る。
【０１２９】
デバイス情報マネージャは、デバイス関連情報をサーバへ送信する（例えば、デバイスＩＤ、バッテリ寿命、ＶＲプラットフォームアプリケーションのステータス［有効またはクラッシュ］）。
【０１３０】
キープアライブマネージャは、ＶＲプラットフォームアプリケーションがＶＲデバイス上で動作していることを確かめる。当該アプリケーションが予期せぬことに閉じている場合、ミドルウェアは、当該アプリケーションを再起動する。
【０１３１】
また、ミドルウェアは、ユーザアクティビティからの分析結果、内部使用（例えば、言語選択）のためのカスタム変数等の収集など、キャビンクルーシステムとは無関係である他の機能を処理する。ミドルウェアの各コンポーネントは、現在のＶＲセットアップのために必要である場合、構成ファイルを通じて有効化または無効化され得る。
【０１３２】
ＶＲプラグインは、サードパーティ開発者が、飛行中の消費について自身のコンテンツが安全であることを保証すべく、統合して自身のアプリケーションにおいて用いるプラグインである。前に説明した機能に加えて、プラグインは、ＶＲアプリケーションからの使用分析結果の収集を担う。プラグインは、Ａｎｄｒｏｉｄ（登録商標）  Ｍｅｓｓｅｎｇｅｒなどのメッセンジャープログラムを通じてミドルウェアと通信し得る。
【０１３３】
新しいアプリケーションが起動された場合、プラグインは、既存の通知および進行中の通知についての情報をミドルウェアに求め得る。ＶＲデバイスのＵＩはそれぞれ、更新され得る。ミドルウェアは、通知情報を含むシリアル化されたファイルを読み取り、命令をプラグインへ送り返し得る。例えば、クイックバー上に永久的に現れるように通知が定義される場合、プラグインは、同等のアイコンを有する通知ツールバーをステージに応じて更新する（アクティブまたは非アクティブ）か、または、ポップアップアプリケーションタイプ通知が現在「オン」である場合、プラグインは、当該アプリケーションを直ちに起動する。
【０１３４】
前に論じたように、ＶＲ通知アプリケーションは、プラグインにより制御される。システムがＡｎｄｒｏｉｄ（登録商標）  ＯＳ上に実装される場合、プラグインは、Ａｎｄｒｏｉｄ（登録商標）  Ｉｎｔｅｎｔを用いて、通知アプリケーションを起動すると共に、ウィンドウのタイプ（永続または非永続）についての情報を送信し得る。
【０１３５】
ＶＲデバイス内のサーバアプリケーションおよびミドルウェアは、双方向非同期通信を確立することにより、Ｓｏｃｋｅｔ．ＩＯライブラリを用いた連続的なステータス更新を保証し得る。さらに、ＶＲデバイスは、ワンタイムＲＥＳＴ  ＡＰＩコールを通じて、通知の構成および現在の状態（すなわち、オン／オフ）に関する初期情報データセットを受信し得る。ＲＥＳＴ  ＡＰＩは、特定の定義されたクエリのために用いられ得る。一方、Ｓｏｃｋｅｔ．ＩＯは、ステータスの更新のために用いられ得る。
【０１３６】
サーバからミドルウェアへのデータ：サーバは、自動型またはＵＩトリガ型の通知の更新を受信するたびに、通知メッセージを全ての接続されているデバイス（または予め選択される接続されるデバイスのグループもしくは個々のデバイス）へ送信し得る。また、サーバは、ミドルウェアが最初にサーバに接続した場合に要求（ＲＥＳＴ  ＡＰＩ）を受けると、通知の構成（すなわち、通知のタイプ）についてのワンタイム情報更新と現在の状態（すなわち、オン／オフ）とを送信し得る。これは、進行中の通知の間に（例えば、ＰＡの間に）デバイスがサーバに接続する場合の状況において有用である。このように、ＶＲ体験を始めるにあたり、プラグインは、事前に接続されている全てのデバイスへ「オン」のイベントをサーバがブロードキャストした後でさえ、あらゆる進行中の通知（「オン」モードの通知）を示すことができる。さらに、これは、あらゆる永久通知をクイックバー上にセットアップおよびレンダリングするために有用である。
【０１３７】
ミドルウェアからサーバへのデータ：ミドルウェアは、ＶＲデバイスのステータスを更新としてサーバへ定期的に送信し得る。更新情報は、デバイスのバッテリ状態、ＶＲアプリケーションの状態（動作中／クラッシュ）および潜在的なＶＲユーザによる支援要求（ＲＥＳＴ  ＡＰＩ）を含み得る。
【０１３８】
ミドルウェアとプラグインとの通信は、定義された通信方法を通じて行われ得る。システムがＡｎｄｒｏｉｄ（登録商標）に実装される場合、これは、カスタムメイドのＵｎｉｔｙ  Ｂｒｉｄｇｅインタフェースモジュールを用いてＡｎｄｒｏｉｄ（登録商標）  Ｍｅｓｓｅｎｇｅｒプロトコルを介して行われ、ミドルウェア側に実装され、プラグインで分散され得る。
【０１３９】
Ｕｎｉｔｙ  Ｂｒｉｄｇｅは、ミドルウェアサービスと新しく動作している全てのＶＲアプリケーションとのバインディングを担う全てのロジックを含む（すなわち、任意のＶＲアプリケーションをＶＲプラットフォームから開くことまたは動作中のＶＲアプリケーションからＶＲプラットフォームへ戻るように動くことを我々が望む場合）。バインディングは、プラグイン側から要求される。
【０１４０】
さらに、インタフェースは、ミドルウェアと通信するためにプラグイン側で必要とされる全ての方法を含む。ミドルウェアコンポーネントは、プラグインに公開され得る方法として特別にアノテートされる機能を含み得る。ミドルウェアは、最初に実行し始める場合、全てのモジュールにおける既存の方法をざっと確認し、アノテートされているものをインタフェースに登録し得る。（プラグインを有する）ＶＲアプリケーションがミドルウェアに結び付けられている場合、Ｕｎｉｔｙ  Ｂｒｉｄｇｅは、このイベントをトラッキングし得ると共に、全ての利用可能な／公開されている方法をプラグインに通知し得る。次に、プラグインは、これらの方法のいずれかを呼び出し得る。
【０１４１】
要するに、Ｕｎｉｔｙ  Ｂｒｉｄｇｅは、動作中のＶＲアプリケーションからミドルウェアへのコマンドを（公開される方法を通じて）バインディング、バインド解除および送信するために用いられる方法を公開し得る。これらの方法を用いて、システムは、ミドルウェアとＶＲアプリケーションとの間の通信を処理および維持し得る。
【０１４２】
上述の技術のうちの１または複数が、１または複数の特定用途向けコンピュータシステムに実装され得るか、または当該コンピュータシステムを伴い得る。当該コンピュータシステムには、上述の技術を実装するようコンピュータシステムを有効化するコンピュータ可読命令がロードされている。図２２は、ＶＲデバイス、キャビンクルーデバイスおよび／またはＶＲサーバのコンピューティング環境などのコンピューティング環境２２００の例を示す。コンピューティング環境２２００は、使用の範囲または説明した実施形態の機能に関する任意の限定を示唆するようには意図されていない。
【０１４３】
図２２を参照すると、コンピューティング環境２２００は、少なくとも１つの処理ユニット２２１０とメモリ２２２０とを含む。処理ユニット２２１０は、コンピュータ実行可能命令を実行し、現実または仮想のプロセッサであり得る。マルチプロセッシングシステムにおいて、複数の処理ユニットが、コンピュータ実行可能命令を実行して処理力を上げる。メモリ２２２０は、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等）またはそれら２つのいくつかの組み合わせであり得る。メモリ２２２０は、説明した技術を実装するソフトウェア２２８０を格納し得る。
【０１４４】
コンピューティング環境は、追加の特徴を有し得る。例えば、コンピューティング環境２２００は、ストレージ２２４０、１または複数の入力デバイス２２５０、１または複数の出力デバイス２２６０および１または複数の通信接続２２９０を含む。バス、コントローラまたはネットワークなどの相互接続メカニズム２２７０が、コンピューティング環境２２００のコンポーネントを相互接続する。典型的には、オペレーティングシステムソフトウェアまたはファームウェア（不図示）が、コンピューティング環境２２００内で実行される他のソフトウェアの動作環境を提供し、コンピューティング環境２２００のコンポーネントのアクティビティを調整する。
【０１４５】
ストレージ２２４０は、取り外し可能であり得るか、または取り外し不可能であり得ると共に、磁気ディスク、磁気テープもしくはカセット、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、または情報を格納するために用いられ得ると共にコンピューティング環境２２００内にアクセスされ得る任意の他の媒体を含む。ストレージ２２４０は、ソフトウェア２２８０に対する命令を格納し得る。
【０１４６】
入力デバイス２２５０は、キーボード、マウス、ペン、トラックボール、タッチスクリーンなどのタッチ入力デバイス、もしくはゲームコントローラ、音声入力デバイス、スキャンデバイス、デジタルカメラ、遠隔制御、または入力をコンピューティング環境２２００に提供する別のデバイスであり得る。出力デバイス２２６０は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、またはコンピューティング環境２２００からの出力を提供する別のデバイスであり得る。
【０１４７】
通信接続２２９０は、通信媒体を介した別のコンピューティングエンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令、音声もしくはビデオ情報または変調データ信号内の他のデータなど、情報を伝達する。変調データ信号は、当該信号内のエンコード情報に関してそのような方式で設定または変更される特徴のうちの１または複数を有する信号である。例としてであり限定されるものではないが、通信媒体は、電気、光、ＲＦ、赤外線、音波または他のキャリアを用いて実装される有線技術または無線技術を含む。
【０１４８】
実装は、コンピュータ可読媒体の文脈において説明され得る。コンピュータ可読媒体は、コンピューティング環境内にアクセスされ得る任意の利用可能な媒体である。例としてであり限定されるものではないが、コンピューティング環境２２００内で、コンピュータ可読媒体は、メモリ２２２０、ストレージ２２４０、通信媒体、および上述のもののいずれかの組み合わせを含む。
【０１４９】
もちろん、図２２は、コンピューティング環境２２００、ディスプレイデバイス２２６０および入力デバイス２２５０を、識別しやすいようにという理由のみで別個のデバイスとして示している。コンピューティング環境２２００、ディスプレイデバイス２２６０および入力デバイス２２５０は、別個のデバイス（例えば、モニタおよびマウスに有線で接続されたパーソナルコンピュータ）であり得ると共に、単一のデバイス（例えば、スマートフォンまたはタブレットなど、タッチディスプレイを有するモバイルデバイス）またはデバイス（例えばタッチスクリーンディスプレイデバイスへ動作可能に結合されたコンピューティングデバイス、単一のディスプレイデバイスおよび入力デバイスに取り付けられた複数のコンピューティングデバイス等）の任意の組み合わせに統合され得る。コンピューティング環境２２００は、セットトップボックス、パーソナルコンピュータ、または、例えばネットワーク接続されたサーバのファーム、クラスタ化されたサーバ環境もしくはコンピューティングデバイスのクラウドネットワークなどの１または複数のサーバであり得る。
【０１５０】
本システムは、多くの利点を提供する。本明細書において開示されるＶＲ通知システムは、クルーとＶＲユーザとの絶え間ない制御および通信を保証する。特に緊急事態時に状況認識を維持することが、機内エンターテイメントが使用される場合における航空安全基準の最も重要な要件のうちの１つである。
【０１５１】
本明細書において開示されるＶＲ通知システムにより、クルーは、現在の全ての安全規制を考慮したうえで、速く、直感的かつセキュアな態様で、没入しているユーザと通信することが可能になる。
【０１５２】
ＶＲ通知システムアーキテクチャにより、各航空会社の要件とインストールされたＩＦＥシステムのセットアップとに応じて、構成可能な解決手段が可能になる。例えば、ある航空会社は、自身の方針に応じて、異なるアナウンスオプションを有することを選択し得る。また、当該システムの設計により、航空会社は、通知の重要性を選択し、ＶＲ体験におけるメッセージングの割込みのレベルを選択することにより、乗客の体験を最適化することが可能になる。
【０１５３】
本明細書において開示されるモジュールアーキテクチャに起因して、航空会社は、既存のキャビンコントロールをＶＲデバイスのコントロールと統合し得る。ＶＲデバイス上での更新を必要とすることなく、あらゆる変更が、サーバ側で一元的に実装され得る。
【０１５４】
さらに、ＶＲデバイス内にインストールされるミドルウェアサービスは、動作中のＶＲアプリケーション上で通知が正しく受信および表示されること、および、メッセージが伝送中に失われないことを保証し、一方で、クルーとの通信において任意の予期しない破損が生じた場合、ミドルウェアは、ユーザが自身のヘッドセットを取り外すことを保証する。
【０１５５】
説明した実施形態を参照して本発明の原理を説明および例示してきたので、そのような原理から逸脱することなく、説明した実施形態の構成および詳細を修正し得ることが認識されよう。ソフトウェアで示される説明した実施形態の要素は、ハードウェアで実装され得ると共に、その逆も同様である。
【０１５６】
我々の発明の原理が適用され得る多くの可能な実施形態を考慮して、そのような実施形態の全てが以下の請求項およびその均等物の範囲および主旨内にあり得ることを我々の発明として請求する。
【図１】
2021519483.tif 000003
【図２】
2021519483.tif 000004
【図３】
2021519483.tif 000005
【図４】
2021519483.tif 000006
【図５】
2021519483.tif 000007
【図６】
2021519483.tif 000008
【図７】
2021519483.tif 000009
【図８】
2021519483.tif 000010
【図９Ａ】
2021519483.tif 000011
【図９Ｂ】
2021519483.tif 000012
【図１０Ａ】
2021519483.tif 000013
【図１０Ｂ】
2021519483.tif 000014
【図１１】
2021519483.tif 000015
【図１２】
2021519483.tif 000016
【図１３Ａ】
2021519483.tif 000017
【図１３Ｂ】
2021519483.tif 000018
【図１４】
2021519483.tif 000019
【図１５】
2021519483.tif 000020
【図１６】
2021519483.tif 000021
【図１７】
2021519483.tif 000022
【図１８】
2021519483.tif 000023
【図１９】
2021519483.tif 000024
【図２０】
2021519483.tif 000025
【図２１】
2021519483.tif 000026
【図２２】
2021519483.tif 000027
【国際調査報告】
2021519483.tif 000028
2021519483.tif 000029