(57)【特許請求の範囲】
【請求項１】
スレーブデバイスがデータをマスターデバイスへ提供するのに用いる、短距離無線通信プロトコルを用いた複数のコンピュータデバイス間の分散型メッセージングのための方法であって、前記方法は、ユーザ入力部およびディスプレイを有する第１コンピュータデバイス上で実行される方法であり、
（ａ）前記第１コンピュータデバイスから第１セットのリモートデバイスの各メンバーとペアリングするそれぞれのスレーブ接続を確立する段階であって、前記第１セットに含まれるそれぞれのリモートデバイスは、各前記スレーブ接続上で前記第１コンピュータデバイスにはマスターデバイスに見え、前記第１コンピュータデバイスは、前記第１セットのデバイスと前記スレーブ接続を介して通信するときスレーブデバイスとして機能する、段階と、
（ｂ）前記第１コンピュータデバイスから前記第１セットの各メンバーとペアリングするそれぞれのマスター接続を確立する段階であって、前記第１セットに含まれるそれぞれのリモートデバイスは、各前記マスター接続上で前記第１コンピュータデバイスにはスレーブデバイスに見え、前記第１コンピュータデバイスは、前記第１セットのデバイスと前記マスター接続を介して通信するときマスターデバイスとして機能し、それによって前記第１コンピュータデバイスは前記第１セットの各リモートデバイスに関して、スレーブ接続ペアリングおよびマスター接続ペアリングを有する、段階と、
（ｃ）前記ユーザ入力部を介し第１入力メッセージを受信する段階と、
（ｄ）各前記マスター接続を介して、前記第１セットに含まれる前記リモートデバイスのうち１つから第２入力メッセージを受信する段階と、
（ｆ）前記ディスプレイ上に前記第２入力メッセージを表示する段階と、
（ｇ）前記第１入力メッセージに関して、対応する第１出力メッセージを生成する段階と、
（ｈ）各前記スレーブ接続を介し前記第１セットに含まれる前記リモートデバイスのうち少なくとも１つへ前記対応する第１出力メッセージを送信する段階と
を備える、方法。
【請求項２】
段階（ａ）は、
接続先として前記第１コンピュータデバイスが利用可能であることを示す接続利用可能メッセージをブロードキャストする段階と、
マスターデバイスとして動作する特定のリモートデバイスから接続リクエストメッセージを受信する段階と、
前記マスターデバイスとして動作する特定のリモートデバイスへ接続受け入れメッセージを送信する段階と
を有し、
段階（ｂ）は、
スレーブデバイスとして動作する特定のリモートデバイスから接続利用可能メッセージを受信する段階と、
前記スレーブデバイスとして動作する特定のリモートデバイスがまだスレーブデバイスとして接続されていない場合、前記特定のリモートデバイスへ接続リクエストメッセージを送信する段階と、
前記スレーブデバイスとして動作する特定のリモートデバイスから接続受け入れメッセージを受信する段階と
を有する、請求項１に記載の方法。
【請求項３】
前記短距離無線通信プロトコルは、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙプロトコルである、請求項２に記載の方法。
【請求項４】
前記表示される第２入力メッセージは、対応する表示存続期間を有し、前記表示される入力メッセージは、その各々の表示存続期間の間のみ表示される、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記表示される第２入力メッセージは、前記表示される第２入力メッセージの前記表示存続期間に残っている時間に関連して、当該メッセージが表示されている間に変化させられる少なくとも１つの対応する視覚的な表示属性を有し、変化させられる前記表示属性は、前記表示される第２入力メッセージの前記表示存続期間に残っている前記時間の視覚的インジケーションを提供する、請求項４に記載の方法。
【請求項６】
前記表示属性は、色と、コントラストと、透明度と、サイズと、書体とのうち少なくとも１つを含む、請求項５に記載の方法。
【請求項７】
表示される各入力メッセージの透明度は、前記表示される各入力メッセージの前記表示存続期間に残っている時間の減少に関連して高められる、請求項４から６のいずれか一項に記載の方法。
【請求項８】
各前記マスター接続を介して、前記第１セットの前記リモートデバイスのうちの１つから第３入力メッセージを受信する段階と、
前記第３入力メッセージに関して、対応する第２出力メッセージを生成する段階と、
前記第２出力メッセージを、前記第３入力メッセージが受信された各前記リモートデバイス以外の、前記第１セットの少なくとも１つのリモートデバイスに各前記スレーブ接続を介して送信する段階と、をさらに有する、請求項１から７のいずれか一項に記載の方法。
【請求項９】
段階（ｈ）において、前記第１出力メッセージは、前記第１セットに含まれる前記リモートデバイスのうち前記少なくとも１つのうちそれぞれに複数回、再送信される、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
段階（ｈ）において、前記第１出力メッセージは、再ブロードキャストタイムウィンドウの間のみ前記第１セットに含まれる前記リモートデバイスのうち前記少なくとも１つのうちそれぞれに再送信される、請求項９に記載の方法。
【請求項１１】
各前記マスター接続を介して、前記第１セットの前記リモートデバイスうちの１つから第３入力メッセージを受信する段階と、
前記第３入力メッセージが、一のセットの先行する入力メッセージに対して固有のものであるかを決定する段階と、
前記第３入力メッセージが固有のものである場合、前記第３入力メッセージに関して、対応する第２出力メッセージを生成し、前記第２出力メッセージを、前記第３入力メッセージが受信された各前記リモートデバイス以外の、前記第１セットの少なくとも１つのリモートデバイスに各前記スレーブ接続を介して送信する段階と、をさらに備える、請求項１から１０のいずれか一項に記載の方法。
【請求項１２】
前記一のセットの先行する入力メッセージは、少なくとも予め定義された記憶存続期間の前のタイムウィンドウの間に受信された入力メッセージを含む、請求項１１に記載の方法。
【請求項１３】
前記一のセットの先行する入力メッセージは、前記第２入力メッセージを有し、
前記第２入力メッセージは、対応する表示存続期間を有し、その各存続期間の間のみ表示され、前記表示存続期間は、前記記憶存続期間より短い、請求項１２に記載の方法。
【請求項１４】
段階（ｈ）は、前記第１出力メッセージに関して、
前記第１出力メッセージを複数のチャンクに分割する段階と、
前記複数のチャンクのうちそれぞれを、各前記スレーブ接続を介して、前記第１セットに含まれる前記リモートデバイスのうち前記少なくとも１つへ送信する段階と
を有する、請求項１から１３のいずれか一項に記載の方法。
【請求項１５】
前記複数のチャンクは、分散型チャンクワイズ方式で前記第１セットに含まれる前記リモートデバイスのうち前記少なくとも１つへ送信される、請求項１４に記載の方法。
【請求項１６】
デジタルコンピュータの内部メモリに直接的にロード可能なコンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行されたときに請求項１から１５のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【請求項１７】
スレーブデバイスがデータをマスターデバイスへ提供するのに用いる、短距離無線通信プロトコル（ＳＲＷＰ）を用いた分散型メッセージングのためのシステムであって、前記システムは、コンピュータプロセッサと、メモリと、ＲＦ送受信機と、ディスプレイと、ユーザ入力デバイスとを有する第１コンピュータデバイスを備え、
前記メモリは、
（ａ）前記ＳＲＷＰと前記ＲＦ送受信機とを用い、前記第１コンピュータデバイスから第１セットのリモートデバイスの各メンバーへペアリングするそれぞれのスレーブ接続を確立することであって、前記第１セットに含まれるそれぞれのリモートデバイスは、前記第１コンピュータデバイスにはマスターデバイスに見え、前記第１コンピュータデバイスは、前記第１セットのデバイスと前記スレーブ接続を介して通信するときスレーブデバイスとして機能する、ことと、
（ｂ）前記ＳＲＷＰと前記ＲＦ送受信機とを用い、前記第１コンピュータデバイスから前記第１セットのリモートデバイスの各メンバーへペアリングするそれぞれのマスター接続を確立することであって、前記第１セットに含まれるそれぞれのリモートデバイスは、各前記マスター接続上で、前記第１コンピュータデバイスにはスレーブデバイスに見え、前記第１コンピュータデバイスは、前記マスター接続を介して前記第１セットのデバイスと通信するときマスターデバイスとして機能し、それによって前記第１コンピュータデバイスは前記第１セットの各リモートデバイスに関して、スレーブ接続ペアリングおよび各マスター接続ペアリングの両方を有する、ことと、
（ｃ）前記ユーザ入力デバイスを介し第１入力メッセージを受信することと、
（ｄ）各前記マスター接続を介して、前記第１セットに含まれる前記リモートデバイスのうち１つから第２入力メッセージを受信することと、
（ｆ）前記ディスプレイ上に前記第２入力メッセージを表示することと、
（ｇ）前記第１入力メッセージに関して、対応する第１出力メッセージを生成することと、
（ｈ）前記ＳＲＷＰと前記ＲＦ送受信機とを用い、各前記スレーブ接続を介し前記第１セットに含まれる前記リモートデバイスのうち少なくとも１つへ前記対応する第１出力メッセージを送信することと
を行うよう前記第１コンピュータデバイスの前記コンピュータプロセッサを構成するコンピュータ命令を含む、システム。
【請求項１８】
第１セットのリモートデバイスとスレーブ接続を確立させる前記コンピュータ命令は、
接続先として前記第１コンピュータデバイスが利用可能であることを示す接続利用可能メッセージをブロードキャストすることと、
マスターデバイスとして動作する特定のリモートデバイスから接続リクエストメッセージを受信することと、
前記マスターデバイスとして動作する特定のリモートデバイスへ接続受け入れメッセージを送信することと
を行うよう前記コンピュータプロセッサを構成するコンピュータ命令を含み、
第２セットのリモートデバイスとマスター接続を確立させる前記コンピュータ命令は、
スレーブデバイスとして動作する特定のリモートデバイスから接続利用可能メッセージを受信することと、
前記スレーブデバイスとして動作する特定のリモートデバイスがまだスレーブデバイスとして接続されていない場合、前記特定のリモートデバイスへ接続リクエストメッセージを送信することと、
前記スレーブデバイスとして動作する特定のリモートデバイスから接続受け入れメッセージを受信することと
を行うよう前記コンピュータプロセッサを構成するコンピュータ命令を含む、請求項１７に記載のシステム。
【請求項１９】
前記コンピュータ命令は、前記第２入力メッセージに関する各々の表示存続期間の間のみ当該メッセージを表示するよう前記コンピュータプロセッサを構成する、請求項１７または１８に記載のシステム。
【請求項２０】
前記コンピュータ命令は、前記第２入力メッセージが表示される間、前記表示存続期間に残っている時間に関連して各前記表示される第２入力メッセージの視覚的な表示属性を変化させるよう前記コンピュータプロセッサを構成する、請求項１９に記載のシステム。
【請求項２１】
前記表示属性は、色と、コントラストと、透明度と、サイズと、書体とのうち少なくとも１つを含む、請求項２０に記載のシステム。
【請求項２２】
前記コンピュータ命令は、
各前記マスター接続を介して、前記第１セットの前記リモートデバイスのうちの１つから第３入力メッセージを受信し、
前記第３入力メッセージに関して、対応する第２出力メッセージを生成し、
前記第１セットに含まれる、前記第３入力メッセージが受信された前記リモートデバイス以外の少なくとも１つのリモートデバイスへ前記第２出力メッセージを送信するよう、前記コンピュータプロセッサを構成する、請求項１７から２１のいずれか一項に記載のシステム。
【請求項２３】
前記コンピュータ命令は、前記第１セットに含まれる前記リモートデバイスのうち前記少なくとも１つのうちそれぞれに複数回前記第１出力メッセージを再送信するよう前記コンピュータプロセッサを構成する、請求項１７に記載のシステム。
【請求項２４】
前記コンピュータ命令は、再ブロードキャストタイムウィンドウの間のみ、前記第１セットに含まれる前記リモートデバイスのうち前記少なくとも１つのうちそれぞれに前記第１出力メッセージを再送信するよう前記コンピュータプロセッサを構成する、請求項２３に記載のシステム。
【請求項２５】
前記コンピュータ命令は、少なくとも予め定義された記憶存続期間の前のタイムウィンドウの間、一のセットの先行する入力メッセージに対して固有のものではない後続の各入力メッセージをフィルタアウトするよう前記コンピュータプロセッサを構成する、請求項１７から２４のいずれか一項に記載のシステム。
【請求項２６】
前記第１出力メッセージを送信するよう前記コンピュータプロセッサを構成する前記コンピュータ命令は、
前記第１出力メッセージを複数のチャンクに分割することと、
前記複数のチャンクのうちそれぞれを、各前記スレーブ接続を介して、前記第１セットに含まれる前記リモートデバイスのうち前記少なくとも１つへ送信することと
を行うよう前記コンピュータプロセッサを構成するコンピュータ命令を含む、請求項１７から２５のいずれか一項に記載のシステム。
【請求項２７】
前記コンピュータ命令は、分散型チャンクワイズ方式で前記複数のチャンクを送信するよう前記コンピュータプロセッサを構成する、請求項２６に記載のシステム。
【請求項２８】
スレーブデバイスがデータをマスターデバイスへ提供するのに用いる、短距離無線通信プロトコル（ＳＲＷＰ）を用いた複数のコンピュータデバイス間の分散型メッセージングを中継するための方法であって、前記方法は中継コンピュータデバイス上で実行される方法であり、
（ａ）前記ＳＲＷＰを介して、前記中継コンピュータデバイスから第１セットのリモートデバイスの各メンバーにペアリングするそれぞれのスレーブ接続を確立する段階であって、前記第１セットに含まれるそれぞれのリモートデバイスは、各前記スレーブ接続上で、前記中継コンピュータデバイスにはマスターデバイスに見え、前記中継コンピュータデバイスは、前記スレーブ接続を介して前記第１セットのデバイスと通信するときスレーブデバイスとして機能する、段階と、
（ｂ）前記ＳＲＷＰを介して、前記中継コンピュータデバイスから前記第１セットの各メンバーにペアリングするそれぞれのマスター接続を確立する段階であって、前記第１セットに含まれるそれぞれのリモートデバイスは、各前記マスター接続上で、前記中継コンピュータデバイスにはスレーブデバイスに見え、前記中継コンピュータデバイスは、前記マスター接続を介して前記第１セットのデバイスと通信するときマスターデバイスとして機能し、それによって、前記中継コンピュータデバイスは、前記第１セットにおける各リモートデバイスに関して、スレーブ接続ペアリングおよびマスター接続ペアリングを有する、段階と、
（ｃ）各前記マスター接続を介して、前記第１セットに含まれる第１リモートデバイスから第１入力メッセージを受信する段階と、
（ｄ）前記第１入力メッセージに関して、対応する第１出力メッセージを生成する段階と、
（ｅ）各前記スレーブ接続を介して、前記第１セットに含まれる前記第１リモートデバイス以外の前記リモートデバイスのうち少なくとも１つへ前記対応する第１出力メッセージを送信する段階と
を備える、方法。
【請求項２９】
前記ＳＲＷＰで前記中継コンピュータデバイスと通信を行っていない外部デバイスから第２入力メッセージを前記中継コンピュータデバイスにおいて受信する段階と、
前記第２入力メッセージに関して、対応する第２出力メッセージを生成する段階と、
各前記スレーブ接続を介して、前記第１セットに含まれる前記リモートデバイスのうち少なくとも１つへ前記対応する第２出力メッセージを送信する段階と
をさらに備える、請求項２８に記載の方法。
【請求項３０】
前記対応する第２出力メッセージを送信する前記段階は、予め定義されたトリガ条件の発生に応答して実行される、請求項２９に記載の方法。
【請求項３１】
前記ＳＲＷＰはＢｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙプロトコルであり、前記中継コンピュータデバイスは、有線インターネット接続と、ＷｉＦｉ接続と、セルラーデータ接続とのうち１つで前記第２入力メッセージを受信する、請求項２９または３０に記載の方法。
【請求項３２】
段階（ｅ）は複数回、繰り返される、請求項２８から３１のいずれか一項に記載の方法。
【請求項３３】
各前記マスター接続を介して、前記第１セットに含まれる前記リモートデバイスのうち１つから第３入力メッセージを受信する段階と、
前記第３入力メッセージが前記第１入力メッセージに対して固有のものである場合、前記第３入力メッセージに関して、対応する第３出力メッセージを生成し、各前記スレーブ接続を介して、前記第３入力メッセージが受信された前記リモートデバイス以外の、前記第１セットに含まれる前記リモートデバイスのうち少なくとも１つへ、前記対応する第３出力メッセージを送信する段階と
をさらに備える、請求項２８から３２のいずれか一項に記載の方法。
【請求項３４】
スレーブデバイスがマスターデバイスへデータを提供するのに用いる、短距離無線通信プロトコル（ＳＲＷＰ）を用いた複数のコンピュータデバイス間の分散型メッセージングを中継するための中継器であって、前記中継器は、
コンピュータプロセッサと、
コンピュータメモリと、
ＳＲＷＰ通信インタフェースと
を備え、
前記コンピュータメモリは、
（ａ）前記ＳＲＷＰを介して、前記中継器から第１セットのリモートデバイスの各メンバーにペアリングするそれぞれのスレーブ接続を確立することであって、前記第１セットに含まれるそれぞれのリモートデバイスは、各前記スレーブ接続上で、前記中継器にはマスターデバイスに見え、前記中継器は、前記スレーブ接続を介して前記第１セットのデバイスと通信を行うときスレーブデバイスとして機能する、ことと、
（ｂ）前記ＳＲＷＰを介して、第１セットのリモートデバイスの各メンバーにペアリングするそれぞれのマスター接続を確立することであって、前記第１セットに含まれるそれぞれのリモートデバイスは、各前記マスター接続上で、前記中継器にはスレーブデバイスに見え、前記中継器は、前記マスター接続を介して前記第１セットのデバイスと通信するときマスターデバイスとして機能し、それによって前記中継器は、前記第１セットにおける各リモートデバイスに関して、各スレーブ接続ペアリングおよび各マスター接続ペアリングを有する、ことと、
（ｃ）各前記マスター接続を介して、前記第１セットに含まれる第１リモートデバイスから第１入力メッセージを受信することと、
（ｄ）前記第１入力メッセージに関して、対応する第１出力メッセージを生成することと、
（ｅ）各前記スレーブ接続を介して、前記第１リモートデバイス以外の前記第１セットに含まれる前記リモートデバイスのうち少なくとも１つへ前記対応する第１出力メッセージを送信することと
を行うよう前記コンピュータプロセッサを構成するコンピュータ命令を含む、中継器。
【請求項３５】
前記ＳＲＷＰを用いない第２通信インタフェースをさらに備え、
前記コンピュータメモリは、
前記第２通信インタフェースを介し外部デバイスから第２入力メッセージを前記中継器において受信し、
前記第２入力メッセージに関して、対応する第２出力メッセージを生成し、
各前記スレーブ接続を介して、前記第１セットに含まれる前記リモートデバイスのうち少なくとも１つへ前記対応する第２出力メッセージを送信する
よう前記コンピュータプロセッサを構成するコンピュータ命令をさらに含む、請求項３４に記載の中継器。
【請求項３６】
前記コンピュータ命令は、予め定義されたトリガ条件の発生に応答して、前記対応する第２出力メッセージを送信するよう前記コンピュータプロセッサを構成する、請求項３５に記載の中継器。
【請求項３７】
前記ＳＲＷＰはＢｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙプロトコルであり、前記第２通信インタフェースは、有線インターネット接続と、ＷｉＦｉ接続と、セルラーデータ接続とのうち１つである、請求項３５または３６に記載の中継器。
【請求項３８】
前記コンピュータ命令は、前記対応する第１出力メッセージを複数回、送信するよう前記コンピュータプロセッサを構成する、請求項３４から３７のいずれか一項に記載の中継器。
【請求項３９】
前記第１セットに含まれる前記リモートデバイスのうち１つからの第３入力メッセージが、前記第１入力メッセージに対して固有のものであるかを決定し、そうである場合、（ｉ）前記第３入力メッセージに関して、対応する第３出力メッセージを生成し、（ｉｉ）各前記スレーブ接続を介して、前記第３入力メッセージが受信された前記リモートデバイス以外の前記第１セットに含まれる前記リモートデバイスのうち少なくとも１つへ、前記対応する第３出力メッセージを送信するよう前記コンピュータプロセッサを構成するコンピュータ命令をさらに含む、請求項３４から３８のいずれか一項に記載の中継器。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２０１５年１０月２０日に出願された米国仮出願第６２／２４３，９７２号、２０１５年７月１６日に出願された米国仮出願第６２／１９３，４６１号、および２０１４年１１月２５日に出願された米国仮出願第６２／０８４，３４２号に基づく優先権を主張する。それぞれの内容全体が参照により明示的に組み込まれる。
【０００２】
本願発明は、（モバイルデバイス（例えば、スマートフォンを含む携帯電話、およびタブレットコンピュータ）などの）コンピュータデバイスにより形成されたピアツーピアネットワークを介して、約１００メートルまたはそれより短い距離などの限定された距離間でデータを伝送するよう意図された短距離無線ハードウェアプロトコルを介し地理的に限定されたエリア内でローカルかつ時間限定的にデジタルメッセージのコンテンツをブロードキャストする方法に関する。
【背景技術】
【０００３】
ユーザが互いにモバイルコンピューティングデバイスによってショートメッセージを送信することを可能とするメッセージングアプリケーションは、ますますポピュラーになってきている。非常に一般的なメッセージングアプリケーションは、従来の携帯電話と共に提供されるテキストメッセージング機能性である。テキストメッセージングによりユーザは、１または複数の指定された受信者へ、限定されたサイズのメッセージを送信することが可能となる。（スマートフォンおよびラップトップなどのモバイルデバイスを含む）２またはそれより多くのコンピュータ間での現在のメッセージングアプリケーションは概して、メッセージの伝送を成功させるために以下の条件のうち一方または両方が満たされることを要求する。第１にデバイスが、インターネットまたは電話（セル）ネットワークに接続されていなければならない。第２にユーザのうち少なくとも１人が、他のユーザのアイデンティティを知らなければならない。したがって、例えば、１対１のメッセージングアプリケーションにおいて、それぞれのユーザは、他方のユーザの固有のユーザ識別子（例えば、電話番号またはユーザＩＤ）を知っていなければならない。Ｔｗｉｔｔｅｒ（登録商標）などの１対多のメッセージングアプリケーションに関して、メッセージを受信するユーザ（例えばフォロワー）は、彼／彼女らがメッセージを受信することを希望するブロードキャスト者のアイデンティティを知らなければならない。これらの解決方法のいずれも、共通の地理的エリア内にいるが、アイデンティティが事前に知られていないかもしれない人々の集まりへメッセージを送信するのにはあまり適していない。
【０００４】
ＡｐｐｌｅのｉＯＳ（商標）またはＧｏｏｇｌｅのＡｎｄｒｏｉｄ（登録商標）のオペレーティングシステムを用いるものなどモバイルデバイス上で実行されるよう、様々なメッセージングアプリケーションが書かれてきた。Ｆａｃｅｂｏｏｋ（登録商標）Ｍｅｓｓｅｎｇｅｒ（商標）、Ｔｗｉｔｔｅｒ（登録商標）、およびＳｎａｐｃｈａｔ（商標）などのこれらアプリケーションは、インターネットへのＷｉＦｉ接続、配線によるインターネットリンク、またはセルラーネットワークを用いることのいずれかにより提供されるインターネット接続によりメッセージを送信する。しかしながら、インターネット接続がない場合、システムは動作しない。利用可能なＷｉＦｉホットスポットがあったとしても、ユーザは依然としてホットスポットのルーターに手動で接続しなければならず、それからそのルーターは、インターネットに接続されていなければならない。
【０００５】
網目状ネットワーク内でデバイスを接続するよう市販のスマートデバイスに存在するＷｉＦｉおよびＢｌｕｅｔｏｏｔｈ（登録商標）通信ハードウェアを用いることにより、インターネットまたはセルラー接続なしでデバイス間の通信を可能にするメッセージングソフトウェアの開発に関していくらかの検討がなされてきた。１つのそのようなアプリケーションは、Ｏｐｅｎ  Ｇａｒｄｅｎにより開発された、Ｂｌｕｅｔｏｏｔｈ（登録商標）およびＷｉＦｉの組み合わせを用いるＦｉｒｅＣｈａｔ（商標）である。
【０００６】
Ｂｌｕｅｔｏｏｔｈ（登録商標）無線技術に存在する、および様々な他の無線技術にも存在する欠点は、２つのデバイスが通信出来る前に、それらが互いにペアリングまたはテザリングされるために何らかのタイプのユーザによる介入が典型的には要求されるということである。概して、一方のデバイスのユーザは概して、そのデバイスを外部のデバイスにとって「発見可能」としなければならず、他方のデバイスのユーザは、接続がなされることを認証するためにセキュリティコードを入力しなければならない。結果として、Ｂｌｕｅｔｏｏｔｈ（登録商標）に基づきユーザをローカル網目状ネットワークへ追加するのは困難かつ時間を消費するものとなり得る。このことに対する１つの部分的な解決方法が、Ｏｐｅｎ  Ｇａｒｄｅｎの特許第９，０４９，５３７号で明らかにされている。ハードウェアＭＡＣアドレスとシステム内の知られているデバイスについての他の情報とを含むリストが集められ、それから、ネットワークへ接続する必要があり得るデバイスへ事前に分散させられる。それからこの情報は、接続をリクエストしている潜在的なターゲットデバイスがそれ自体を発見可能とする必要なく、それらターゲットデバイスに宛てられたメッセージを送信するのに用いられる。この方法の課題は、新たなデバイスがネットワークに参加出来る前にそのデバイスが、インターネットなどの別個のネットワーク接続を通じて、知られているデバイスについての予め集められたＭＡＣ情報を取得しなければならないということである。
【発明の概要】
【０００７】
本願発明は、短距離無線ネットワークプロトコル（ＳＲＷＰ）を介し複数の異なるユーザ間でのデジタルコンテンツの分散型メッセージングを提供するための方法およびシステムに関する。
【０００８】
ユーザは、モバイルフォン、タブレット、ＰＣ、または他のデバイスなどのＳＲＷＰをサポートするコンピューティングデバイスに、適切な通信アプリケーション（アプリ）ソフトウェアをインストールする。本明細書で説明されているように機能するアプリによりユーザは、彼／彼女らのモバイルデバイスをトランシーバのように用い互いに通信することが可能となり、彼／彼女らのデバイスから近くの他者のデバイスへ、セルラー受信、Ｗｉ−Ｆｉ、インターネット接続、または他の長距離ネットワーク接続を用いる必要なく直接的または間接的にメッセージを送信する。
【０００９】
好ましくは、無線プロトコルは、２つのデバイスがユーザからの手動入力を要求することなくデータ通信路を自動的に確立出来、その無線プロトコルによりデバイスが、複数の他のデバイスと通信することが可能となるものである。２つのデバイスがアプリケーションを実行していて互いの範囲内に入って来たときに、それぞれのデバイス上のそのアプリソフトウェアは、それらの間で、好ましくはデバイスの特定のペアリングを承諾または許可する特定のユーザの介入を要求することなくデータ接続を形成する。このことは、ペアリングコードの入力によってなど、デバイスがユーザにより事前にペアリングされ許可される必要のある接続とは対照的である。
【００１０】
好ましい実施形態において、スレーブデバイスがデータをマスターデバイスへ提供し、デバイスがマスターデバイスとして、およびスレーブデバイスとして機能出来る無線通信プロトコルが用いられる。特に好ましい実施形態において、無線ネットワークプロトコルは、約２５０フィート（約７６．２メートル）の範囲を有するＢｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）である。ＢＬＥが好ましいが、他の短距離およびより長距離のネットワークプロトコルも、本願発明の様々な実施形態および態様を実装するのに用いるのに適切であり得る。
【００１１】
ＢＬＥプロトコルによると、デバイスは、マスター（中央）デバイスまたはスレーブ（周辺）デバイスとして動作出来る。２つのデバイス間でＢＬＥデータ接続を確立すべく、スレーブデバイスは、それが接続のために利用可能であることを示すアドバタイズメッセージを伝送する。中央デバイスは、アドバタイズパケットをスキャンする。適切なスレーブデバイスからのアドバタイズパケットが検出されたとき、マスターデバイスは、接続リクエストパケットをスレーブへ送信し、スレーブが正しく応答すると、データ接続を確立する。
【００１２】
ＢＬＥまたは類似の短距離無線プロトコルが用いられる本願発明の態様によると、コンピューティングデバイスは、例えば、アドバタイズパケットを定期的にブロードキャストし、応答して接続リクエストメッセージを送信するそれらマスターデバイスへ接続することにより、第１セットのデバイスとスレーブ接続を確立する。これら接続は、コンピューティングデバイスがメッセージデータを送信するのに用いられる。コンピューティングデバイスは、アドバタイズメッセージをスキャンし、ある１つが受信されたとき、各スレーブデバイスへのマスター接続がまだ存在しない場合、そのデバイスへ接続リクエストメッセージを送信することにより第２セットのデバイスと１または複数のマスター接続も確立する。（他のデバイスからの視点ではスレーブ接続である）マスター接続は、コンピューティングデバイスがメッセージデータを受信するのに用いられる。典型的には、所与のコンピューティングデバイスは、範囲内のそれぞれのデバイスと無線プロトコルを通じて２つの接続、マスター接続およびスレーブ接続を確立する。しかしながら、２つのデバイスが単一のマスター−スレーブ接続のみを有するという何らかの状況があり得る。
【００１３】
それぞれのデバイスは、複数の他のデバイスに接続して、データを送信および／または受信出来る。そのように接続されたとき、デバイスはピアツーピア網目状通信ネットワークを形成する。第１デバイスのユーザが、最大長より短い、若しくはそれと等しい長さのテキストメッセージ、または、伝送のためにチャンクに分割される必要があり得るより大きなメッセージなどのメッセージを送信するとき、アプリはそのメッセージを、第１デバイスから、データソースとして第１デバイスが接続されている他のデバイスのうちそれぞれへ伝送出来る。そのメッセージを受信した第２デバイスはそれを、メッセージのためのスクロール可能なウィンドウなどで表示し、またそのメッセージを、データソースとしてそれがアプリを介し接続された１または複数の他のデバイスへ再ブロードキャストする。これら他のデバイスもそのメッセージを表示および再ブロードキャストする。このプロセスが続くと、そのメッセージは、ネットワーク内のデバイス中に伝播させられる。
【００１４】
受信されたメッセージは、受信から、または最初の表示から５分などの対応する表示存続期間を有し得、メッセージは好ましくはその存続期間の間のみ表示され、その後、表示から取り除かれる。一実施形態において、全てのメッセージが一定の共通の存続期間を有する。代替的に、異なるクラスのメッセージが、異なる存続期間を有し得る。  本願発明の特定の態様によると、表示されるメッセージの、その色、コントラスト、透明度、サイズ、または書体などの視覚的属性は、そのメッセージの存続期間の経過と共に変化させられて、そのメッセージの残っている存続期間の視覚的インジケーションを提供する。特定の実施形態において、表示される各入力メッセージの背景に対する透明度またはコントラストがそのメッセージの表示存続期間の経過と共に調整され、これにより、メッセージは表示されたときに、時間の経過と共にゆっくりと薄くなっていくように見え、その存続期間が切れたときに消える。メッセージの存続期間は、ユーザが実際にメッセージのコンテンツを見たか否かに関係なく（例えば、スクロールにより、見えているスクリーンからメッセージが出てしまったという理由で）切れ得る。
【００１５】
メッセージを（デバイスへのユーザ入力として、または、他のデバイスからの転送メッセージとして）受信するデバイスは、そのメッセージを特定された期間または再ブロードキャスト回数に亘って、それが接続されている他のデバイスへ、例えば、５分の間で３０秒毎にメッセージを再ブロードキャストするなど、繰り返し再ブロードキャストし得る。新たに受信されたメッセージを自動的に再ブロードキャストすることに加えて、ユーザは、その最初の再ブロードキャストウィンドウが閉じられたとしても所与のメッセージが再ブロードキャストされるべきであることを手動でシグナリングすることが可能となり得る。
【００１６】
既に、２４時間などの何らかの予め定義された前の期間内で受信および処理したメッセージの複製を受信したデバイスは、その複製を処理する代わりに破棄し得る。ただしそれは、そのメッセージに関する再ブロードキャスト期間内である場合、そのオリジナルを再ブロードキャストし続け得るが、ということである。デバイスはメッセージを、それが表示されるよりも長い間、記憶出来る。そのようなものであるので、例えば、メッセージは１０分である表示存続期間を有し得るが、そのメッセージの複製は、それが数時間後に到着したとしても拒否され得る。
【００１７】
一実施形態において、メッセージ内のコンテンツ量は、所与のプロトコルの下での１回のデータ通信トランザクション内に含まれ得るデータ量により制限される。そのように制限されるとき、メッセージは好ましくは、少量のテキストコンテンツと、それと組み合わせて、発信ユーザのＩＤ、および発信メッセージのタイムスタンプまたはメッセージＩＤなどの制限された量のメタデータとを含む。メッセージを発信したパーティに関連する画像アイコンまたは他のプロフィールデータ、メッセージを送信または再送信するデバイスについての情報、ＧＰＳデータ、固有のメッセージＩＤ等などの他のメタデータも含まれ得る。この情報の一部も、受信するユーザに対してメッセージ自体と共に表示され得る。
【００１８】
更なる実施形態において、より長いメッセージが、１回のデータ通信トランザクションで送信されるのに適切であるサイズのチャンクへと最初のメッセージを分割することにより送信および再送信される。それらチャンクのうちそれぞれが、データの宛て先であるべき接続デバイスへ送信され、受信するデバイスはチャンクを再度組み立てる。
【００１９】
本願発明の態様によると、メッセージは、低電力短距離無線通信プロトコルを用い、そのプロトコルのみを用い、（最初にアプリソフトウェアをダウンロードするのに要求される任意の接続とは別に）通信のためにインターネット、ＷｉＦｉ、またはセルラーネットワークを使用することなくスマートデバイスのユーザ間で送信され得る。しかしながら、本願発明の更なる態様によると、モバイルデバイスからサーバへのリモートインターネット接続が、追加の機能性を提供するのに活用され得る。一実施形態において、ユーザのプロフィールはリモートサーバ上に格納される。最初のユーザ登録およびプロフィール更新は、サーバへのウェブページのインタフェースを介し実行され得る。ユーザＰＩＮ番号はリセットされ得る、等である。
【００２０】
加えて、ユーザは、定義されたグループに分けられ得る。表示されるメッセージは、メッセージが特定されたグループ内のユーザに制限されるかということに基づきフィルタリングされ得る。メッセージがグループ限定である場合、それは、そのグループのための適切な表示ウィンドウに示され得る。グループのメンバーシップの定義および管理も、集中化されたサーバベースの管理プログラムの使用を通じて効率的に行われ得る。
【００２１】
本願発明の更なる実施形態によると、種々のタイプのメッセージが送信され得る。メッセージは、従来の「テキスト」メッセージに加えて、例えば、情報リクエストメッセージとして指定され得る。情報リクエストメッセージの処理は、リクエストされている情報のタイプおよびそのリクエストの目的に部分的に依存する。情報リクエストメッセージを受信するデバイスは、情報リクエストメッセージを再ブロードキャストし得、また、そのリクエストされた情報を含むそれ自体の応答メッセージを生成およびブロードキャストし得る。それから、リクエストメッセージが発信されたデバイスは、ある期間に亘って受信する応答メッセージから情報を集め得、返されたデータを適宜用い得る。特定の実施形態において、情報リクエストメッセージはロケーションリクエストを含む。それから、返されたロケーションデータは、ソナーまたはレーダータイプのディスプレイにおいてなど、リクエストしているデバイスに対する様々な応答しているデバイスのロケーションを示すのに用いられ得る。中継器自体が、ロケーションベースの目的のためのＧＰＳデバイスも有し得る。この特徴は、中継器がバス、電車、船舶、または飛行機などの可動構造物に取り付けられる場合に特に有用であり得る。
【００２２】
本願発明の更なる態様によると、ＢＬＥを介するなどＳＲＷＰを介し本願発明の通信方法およびシステムの様々な態様を用いユーザデバイスと通信し得る中継デバイスが提供され得る。中継器は、ビル、屋外施設、または地下エリアにおいてなど、ユーザが通信中であり得る領域中に位置付けられ得るスタンドアロン型デバイスであり得る。中継器は、他のデバイスから送信されたメッセージを受信し、それからそれらを再ブロードキャストすることにより、ピアツーピアネットワークが切断されてしまう可能性を最小化し得る。中継器は、典型的なモバイルデバイスより高い電力の送受信機を含み得るので、範囲をより広くすることを可能とし得る。中継器は、ユーザデバイスにより通常行われ得る期間より長い期間に亘ってメッセージを再ブロードキャストするよう構成され得て、全てのユーザによるメッセージの受信を確実にし得る。
【００２３】
また中継器は、有線若しくは無線インターネット通信、またはセルラーモデムなどの二次的データ接続を通じてリモートのデータソースに接続して、追加のメッセージング機能性および管理を可能とし得る。そのような追加のメッセージ機能性に含まれるのは、二次的データ接続を通じて、本明細書で扱われている本願発明の態様に従ってデバイス間で確立される網目状通信ネットワークに挿入される１または複数のメッセージを中継器に提供する能力である。メッセージは、中継器による受信に応答してブロードキャストされ得、またはそれらは、中継器がメッセージをネットワーク内へといつ、どのようなローカルおよび外部条件で、および、どのクラス／グループのデバイスへ挿入すべきかを示すトリガ条件などの追加のデータと共にメッセージライブラリに格納され得る。同様に、中継器は、近くのユーザからメッセージを受信し得、それらを、将来その中継器に近づく他のユーザへの再ブロードキャストのために格納し得る。例えば、インターネット、携帯電話、または他の二次的データネットワークにより中継器に接続している管理者が、その中継器を包含しているＳＲＷＰネットワーク内のユーザへロケーションリクエストメッセージを送信し、応答しているデバイスのアイデンティティおよびロケーションを集め、それからその情報を返すよう中継器に命令し得る。また管理者は、中継器に接続し、中継器により格納され得る他の情報を取得し得る。
【００２４】
中継器は、設置ロケーションにおける送電網を通じて電力を供給され得る。中継器は、外部電力が切れた場合に採用されるバッテリーも含み得る。中継器は、停電または他の指定された条件の際に予め定義されたタスクを実行するようにも構成され得る。例えば、電力の喪失が中継器において検出されたとき、その中継器は、その中継器を包含するＳＲＷＰネットワークのユーザへロケーションリクエストメッセージを送信し得、応答するデバイスのアイデンティティおよびロケーションを集め得、それからその情報を管理者へ転送し得る。
【００２５】
ＳＲＷＰ接続および１または複数の二次的データ接続をサポートすることに加えて、中継器は、周辺デバイスが取り付けられ得るＵＳＢ、ポートなどのローカルデータポートも有し得る。これらデバイスは、カメラ、オーディオレコーダ、およびサーモスタットなどの他のデバイスと同様、温度計、湿度計、または圧力計などのセンサを含み得る。中継器は、そのような周辺デバイスからのデータを監視するようプログラミングされ得、決められた条件が検出されたときメッセージを近くのユーザへ送信し得る。例えば、環境状況の突然の変更が検出されたことに応答してメッセージが送信され得る。（そのような周辺デバイスは、ＢＬＥまたは他のＳＲＷＰでの通信をサポートし得る場合、代替的にそれら自体が、網目状ネットワークで直接通信するようプログラミングされ得る。）
【図面の簡単な説明】
【００２６】
本願発明の様々な実装の構造および動作と同様に本願発明の更なる特徴および利点が、添付の図面を参照して以下に詳細に開示されている。
【００２７】
【図１】本願発明の態様に従って接続されたデバイスのネットワークの上位概念を示す図である。
【００２８】
【図２】本願発明の態様を実装する例示的なソフトウェアおよびデータ要素のブロック図である。
【図３】分散型メッセージングのための方法の上位概念を示すフロー図である。
【００２９】
【図４】本願発明の態様に従って表示されるメッセージを示す、デバイスのサンプルのスクリーン表示である。
【図５】図２のメッセージマネージャモジュールの実装のフロー図である。
【図６】図２の中央マネージャモジュールの実装のフロー図である。
【図７】図２の周辺マネージャモジュールの実装のフロー図である。
【図８Ａ】メッセージの受信および再ブロードキャストの態様を図示するフロー図である。
【図８Ｂ】メッセージの受信および再ブロードキャストの態様を図示するフロー図である。
【００３０】
【図９】メッセージ表示存続期間の間にメッセージ表示属性を変化させるための実施形態を図示するフロー図である。
【図１０】中継器の一実施形態の上位概念を示すブロック図である。
【００３１】
【図１１】本願発明の態様に係る、中継器を含む、デバイスのネットワークを示す上位概念を示す図である。
【発明を実施するための形態】
【００３２】
以下の開示は、短距離無線通信プロトコル（ＳＲＷＰ）を用いる複数のスマートコンピュータデバイス間の分散型メッセージングのための様々な方法およびシステムを扱う。好ましくは、ＳＲＷＰは、２つのデバイス間の通信リンクにおいて、１つのデバイスがデータを提供するスレーブデバイスとして動作し、他方のデバイスがデータを受信するマスターデバイスとして動作するものである。好ましいＳＲＷＰは、例えばＢｌｕｅｔｏｏｔｈ（登録商標）ＳＩＧ'ｓ  Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ４．１，  ａｔ  Ｖｏｌ．  ６に説明されているＢｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）プロトコルである。しかしながら、当業者にとって公知である他のＳＲＷＰと同様、他のバージョンのＢＬＥが、本願発明の様々な態様での適切な使用であり得る。
【００３３】
図１は、ＳＲＷＰリンクを用いて様々なコンピューティングデバイス１１０〜１２８が互いに接続されて分散型メッセージングネットワークを形成しているシステム１００の上位概念を示す図である。それぞれのデバイスが、約２５０フィート（約７６．２メートル）などのＳＲＷＰ送受信機の範囲内の他のデバイスと直接通信出来る。示されているように、デバイス１１０内のＳＷＲＰ送受信機は、円１４０により示される範囲を有し、（ｉ）デバイス１１０と、（ｉｉ）範囲１４０内のデバイス１１２、１１４、１１６との間で通信リンクが確立されている。それぞれの他のデバイスも、ＳＲＷＰを用い、範囲内の１または複数のデバイスとデータリンクを確立している。様々なデバイス１１０〜１２８間の組み合わせられたリンクが、網目状ネットワークを形成する。
【００３４】
コンピューティングデバイスは、スマートフォン、タブレット、ラップトップコンピュータ、およびＳＲＷＰを用い通信出来る、好ましくは、ディスプレイと、（キーボードまたはタッチスクリーンなどの）ユーザ入力メカニズムとを有する他のコンピューティングデバイスなどの色々な適切なデバイスから選択され得る。本願発明との使用によく適した１つの例示的であり非限定的なデバイスは、ＡｐｐｌｅのｉＯＳ７．０以降のバージョンを実行するｉＰｈｏｎｅ（登録商標）である。
【００３５】
図２は、例示的なコンピューティングデバイス１１０の上位概念を示すブロック図である。デバイス１１０は、タッチスクリーンディスプレイ２０２などのディスプレイおよびユーザ入力メカニズムを有する。またデバイス１１０は、ＲＡＭおよび／またはＲＡＭメモリ２１０と、様々な従来の内部ハードウェアコンポーネントとを有する。これらコンポーネントは、プロセッサ２５０と、少なくともＳＲＷＰ、およびオプションで、ＷｉＦｉおよびセルラー通信などの他のプロトコルをサポートする（複数の）ＲＦ通信送受信機２５２とを含む。クロック２５４およびＧＰＳユニット２５６などの他の従来の要素も提供され得る。
【００３６】
図２は、デバイス１１０のＲＡＭおよび／またはＲＡＭメモリ２１０内の、本願発明の特定の実施形態の実装において用いられ得る様々なソフトウェアおよびデータモジュールも示す。デバイス１１０は、デバイスのオペレーティングシステム２１２などの従来のソフトウェアと、ＳＲＷＰを実装し、ＳＲＷＰを用いメッセージを送信および受信するのにアプリケーションが用い得る様々なプロトコルスタックレイヤー２１４も含む。本願発明の１つの実装に係る様々なソフトウェア機能の特定の区分が本明細書で図示され論じられているが、機能性は、様々な他のやり方でも分散させられ得る。例えば、メッセージの再ブロードキャストを開始すること、およびメッセージ存続期間を管理することに関連する特定の機能性が、メッセージオブジェクト自体内で実装され得る。
【００３７】
図３は、分散型メッセージングを可能とするようネットワーク内の様々なデバイス１１０〜１２８のソフトウェアで実行される方法の上位概念を示すフロー図を示す。デバイスは、それらデバイスが範囲内に入って来るとＳＲＷＰを用い他のデバイスとマスターまたはスレーブ接続などのデータ転送接続を確立するよう自動的に試みる（段階３１０）。所与のデバイスは、それが接続しているデバイスのリストおよびそれら接続に関連する、接続がデータを送信するためのスレーブ接続であるか、または、データを受信するためのマスター接続であるか、などの情報を管理する。
【００３８】
ユーザがテキスト、画像、または他のタイプのデータなどの送信するメッセージを入力したときに（段階３２０）、そのメッセージは、ＳＲＷＰを用い、データが送信され得る他の接続デバイスへ伝送される。例えば、スレーブ接続により接続されたデバイスのうちそれぞれへ、新たなメッセージが送信され得る。
【００３９】
加えて、送信されたメッセージは、デバイス上の適切なスクリーン表示内で表示され得る（段階３２４）。表示されるメッセージは典型的には、デバイスのディスプレイ２０２上で見えるが、「表示」という用語は、関心対象のアイテムが、ディスプレイ上で見るために利用可能とされるが、他のマテリアルが示されているが故にユーザが見ることが出来ないというシチュエーションを包含している。例えば、メッセージはスクロール可能なスクリーンまたはウィンドウ上で表示され得るが、スクロール可能なコンテンツの見える部分の外側にあり得る。同様に、表示されるメッセージは、デバイスで実行されている異なるアプリケーションのウィンドウまたはスクリーン表示の下で隠れたウィンドウまたはスクリーンに示され得る。
【００４０】
本願発明の一態様によると、また出力メッセージは、好ましくは再ブロードキャストタイムウィンドウの間に、接続デバイスへ再ブロードキャストされる（段階３２６）。例えば、出力メッセージは、５分である再ブロードキャスト期間、３０秒毎に１度再ブロードキャストされ得る。代替的に、メッセージは、特定された回数、再ブロードキャストされ得る。
【００４１】
好ましくは、メッセージは、受領通知を要求することなく送信される。このことにより、データのための帯域幅を増やすことが可能となり、このことは、電力の節約および他の要因と引き換えに帯域幅が限定されるという制約を典型的には有するＢＬＥなどのＳＲＷＰを用いるときに利点となる。メッセージが受信されないかもしれないというリスクはあるが、このことは、その同じメッセージが再ブロードキャストされたときにそのメッセージを受信するいくつかの他の機会がターゲットデバイスにはあるという事実により緩和される。
【００４２】
マスター接続を介してなど、接続デバイスからのメッセージが受信されたときに（段階３３０）、そのメッセージは、以前に受信されたメッセージの複製であるかを決定すべく検査される（段階３３２）。そうである場合、複製メッセージは破棄され得、それによりデバイスにより以前に受信および処理されたメッセージをフィルタアウト出来る（段階３３４）。新たなメッセージが以前に処理されたメッセージと同じであるかの決定は、当業者にとって公知である様々な技術を用い、種々の細分度で行われ得る。特定の実施形態において、メッセージは固有のＩＤを含み、または、固有のＩＤが、メッセージのコンテンツに基づき生成される。この固有のメッセージＩＤは、以前に受信および処理されたメッセージに関するメッセージＩＤに対してチェックされる。一致がある場合、受信されたメッセージは複製である。受信されたメッセージが複製でない場合、それは表示される（段階３２４）。また受信されたメッセージは、再ブロードキャストのためにキューに入れられる（段階３２６）。メッセージが受信され再ブロードキャストされると、それらメッセージはそれにより、網目状ネットワークにおいて接続された様々なデバイス中に分散させられる。
【００４３】
所与のメッセージの受信は、永久的に記憶され得る。好ましくは、しかしながら、メッセージＩＤデータが、予め定義された記憶存続期間の間のみ格納される。例えば、システムは、現在の、および前の暦日に受信したメッセージに関してメッセージＩＤデータを格納し得、または、そのメッセージの受信後、設定された期間の間のみ、メッセージＩＤデータを格納し得る。
【００４４】
表示されるメッセージは、様々なフォーマットであり得る。一実施形態において、メッセージのコンテンツは、１６０文字などの最大長のテキストデータである。メッセージのコンテンツは代替的に、より長いテキストブロックであり得、または画像、サウンドファイル等などの他のタイプのコンテンツであり得る。加えて、メッセージは典型的には、名前、アイコン、またはそれが発信されたユーザの他の識別子を含む。メッセージの表示は、複数のテキストメッセージおよび関連付けられたユーザ名およびアイコンと共に、例えばスクロールウィンドウにメッセージのストリームを示し得る。
【００４５】
好ましくは、メッセージは対応する表示存続期間を有し得、メッセージは、その存続期間の間のみ表示され、その後、ディスプレイから取り除かれる（段階３４０、３４２）。ユーザが実際にそのメッセージのコンテンツを見ていなかったとしても、メッセージは取り除かれ得る。例えば、メッセージは、スクロールされて、視覚的ディスプレイから出たディスプレイウィンドウの部分に表示され得る。ユーザが、ウィンドウの見える部分にメッセージが入るようウィンドウをスクロールしなかったとしても、そのメッセージは、その存続期間が切れた後にディスプレイから取り除かれる。
【００４６】
一実施形態において、全てのメッセージが、受信から５分などの一定の共通の存続期間が与えられる。代替的に、異なるクラスのメッセージは、異なる存続期間を有し得る。例えば、非常に重要であるとタグ付けされたメッセージは、標準のメッセージより長い存続期間を有してよい。加えて、メッセージ存続期間は、ユーザのクラスに基づき変化し得る。例えば、標準のユーザは、５分であるデフォルトのメッセージ存続期間が与えられたメッセージを送信することに制限され得、他方、プレミアムユーザは、より長い（またはより短い）存続期間がそのメッセージのうち一部または全てに与えられることを特定可能であり得る。
【００４７】
メッセージのコンテンツは、メッセージ存続期間が切れた後にデバイスから削除され得る。しかしながら、記憶存続期間は、表示存続期間よりかなり長い可能性が高いので、対応する固有のメッセージＩＤは、より長い期間の間、格納され得て、システムはこれにより、実際のメッセージのコンテンツはもはや利用可能ではないが、システムが複製メッセージを拒否し続けることを可能とする。
【００４８】
本願発明の特定の態様によると、表示されるメッセージの視覚的属性は、メッセージの存続期間の経過と共に変化させられて、そのメッセージの残っている存続期間の視覚的インジケーションを提供する。一実施形態において、表示される各入力メッセージの背景に対する透明度またはコントラストがそのメッセージの表示存続期間の経過と共に調整され、これにより、メッセージは、時間の経過と共にゆっくりと薄くなっていくように見え、その存続期間が切れたときに消える。メッセージの他の、色、サイズ、または書体などの視覚的属性も、メッセージの存続期間の経過と共に変化させられ得る。
【００４９】
図４は、様々なメッセージを、それらの表示存続期間の様々な段階で示す代表的なスクリーン表示である。メッセージ４１０は、新たに受信され表示されるメッセージである。そのメッセージに関する表示は、メッセージのコンテンツ４１２と、メッセージ発信者と関連付けられた名前４１４およびアイコン４１６とを含む。メッセージ４２０および４３０はより古いメッセージであり、例えば５０％および７５％の薄れを示しており、そのメッセージに関して残っている存続期間がそれぞれ約５０％または２５％であるという視覚的インジケーションを提供している。
【００５０】
好ましいスクリーン表示の様々な他の態様も図４に示されている。ユーザが新たなメッセージを入力出来るデータ入力ウィンドウ４４０が提供されている。ディスプレイは、このデバイスが接続されているデバイスの数も示し得る。例えば、インジケータ４５０および４５２はそれぞれ、デバイスがデータを受信し得る他のデバイスの数（「Ｉｎ」は、例えば、そのデバイスからのマスター接続の数を表す）、およびそのデバイスがデータを送信出来るデバイスの数（「Ｏｕｔ」は、例えば、そのデバイスからのスレーブ接続の数を表す）を示す。メッセージは好ましくは、再ブロードキャストタイムウィンドウの間に再ブロードキャストされるが、ユーザには、再ブロードキャストボタン４６０を選択することによってなど、まだ表示されている選択されたメッセージの再ブロードキャストを手動で強制実行するというオプションが与えられ得る。手動の再ブロードキャストは、所与のメッセージに関する再ブロードキャストウィンドウを完全にリセットし得、または、より限定された再ブロードキャストウィンドウが結果として生じ得る。ユーザが、彼／彼女らのプロフィールおよびユーザアカウントを管理する機能性にアクセスする１つのやり方として、ユーザプロフィールボタン４７０が設けられ得る。
【００５１】
図２に戻ると、好ましい一実装において、ソフトウェアアプリケーションは色々な機能モジュールを含む。特定の例示的な実施形態において、メッセージを送信および受信することの全体的な管理は、トップレベルメッセージマネージャ２１６により扱われる。入力および出力メッセージは、複製メッセージが受信されているかを決定するのに必要な情報を含め、全体的または部分的にメッセージデータベース２１８に格納され得る。ブロードキャストキュー２２０は、ブロードキャストされるメッセージを含み得、ディスプレイキュー２２２は、表示されるメッセージを含み得る。メッセージデータが格納される特定の方式は変化し得る。例えば、ブロードキャストキュー２２０およびディスプレイキュー２２２は、メッセージデータベース内に、またはそれとは別々に格納され得る。ディスプレイキュー２２２は、ウィンドウ内でなど、表示されることになるデータコンテンツを直接表し得、または、表示のために適切な方式でデータをフォーマット化し構成する他の表示ルーチンにより用いられる表示情報のソースであり得る。
【００５２】
デバイス管理および通信モジュール２２４は、他のデバイスへの接続を確立し、メッセージの受信およびブロードキャスト／再ブロードキャストの態様を管理する機能性を提供する。機能性は、用いられるＳＲＷＰの特性に従って所望され得るように、サブモジュールへと分散させられ得る。好ましくは、モジュール２２４の機能性は、２つのモジュールで実行される。中央マネージャ２２６が、受信されたデータを管理して、周辺デバイスへの接続を確立し、受信されたメッセージを組み立てる。周辺マネージャ２２８が、中央デバイスへの接続、またメッセージブロードキャスト／再ブロードキャスト機能性を管理する。接続デバイスについての情報は、接続されたマスターデバイスおよび接続されたスレーブデバイスについての情報の別個のデータベースまたはテーブルとして実装され得る接続デバイスデータベース２３０に含められ得る。メッセージ表示マネージャ２３２が、メッセージ表示存続期間の経過と共にメッセージの表示属性を変化させる機能性を含む。様々なメッセージ管理機能性が集中化させられ得、または、少なくとも部分的に自律的なメッセージオブジェクト（本明細書でさらに論じられる）内に含まれ得る。少なくとも部分的に自律的なメッセージオブジェクトは、例えば、それら自体をブロードキャストまたはディスプレイキューに挿入する、それら自体の表示属性を調節する、および、表示存続期間が経過した後にそれら自体をディスプレイキューから取り除く機能性を含み得る。ユーザアドミニストレーション問題２３４およびユーザインタフェース機能性２３６を管理するよう他のソフトウェアモジュールが提供され得る。
【００５３】
図５は、モジュール２１６のメッセージマネージャの実装の上位概念を示すフロー図である。ブロック５０２は、ユーザが、新たなメッセージを入力した、または、既存のメッセージの手動の再ブロードキャストを示したときの状況を表す。メッセージがまだブロードキャストメッセージキュー２２０にない場合（段階５０４）、そのメッセージはキュー２２０に追加される（段階５０８）。異なる場合には、それは無視される（段階５０６）。メッセージは、メッセージのパラメータに基づきキューのある位置に置かれ得る。例えば、キューが一番上から一番下まで空である場合、通常のメッセージがキューの一番下に追加され得、高優先度のメッセージは、キューの一番上に追加され得る。
【００５４】
ブロック５１０は、他のデバイスから新たなメッセージが受信された状況を表す。メッセージデータは、メッセージがデバイスに格納される方式に基づき適宜、解析されメッセージオブジェクトに変換され得る（段階５２０）。受信されたメッセージが、メッセージデータベース２１８内で既に表されているメッセージの複製でない場合（段階５１４）、そのメッセージはメッセージデータベース２１８に追加され、ブロードキャストおよびディスプレイキュー２２０、２２２にも追加され得る（段階５１８）。
【００５５】
ＢＬＥなどの好ましいＳＲＷＰにおいて、中央マネージャ２２６はマスター接続を確立し、スレーブ（周辺）デバイスからの入力データを処理する。図６は、中央マネージャ２２６の実装の上位概念を示すフロー図である。中央マネージャは、図１におけるデバイス１１２、１１４および１１６がデバイス１１０へ送信し得るメッセージなどの、接続デバイスからＳＲＷＰを通じて受信されたメッセージを処理する。受信された、処理するデータの主要なタイプには２つのタイプがある。それらは、（ｉ）メッセージデータと、（ｉｉ）スレーブデバイスが接続のために利用可能であることを示すそれらスレーブデバイスからのアドバタイズメントである。
【００５６】
接続を確立すべく、中央マネージャ２２６は定期的または継続的に、スレーブ／周辺デバイスから送信された、受信されるアドバタイズメントをスキャンする（段階６０２）。（スレーブデバイスが接続のために利用可能であることを示す）アドバタイズメントが受信された場合（段階６０４）、および、そのデバイスがまだ接続されていない場合（段階６０６）、新たなデバイスとの接続が確立され、新たに接続されたスレーブデバイスについての情報が接続デバイスデータベース２３０に追加される（段階６０８、６１０）。
【００５７】
受信された情報がメッセージからである場合、中央マネージャ２２６は、メッセージデータを適宜処理し、完全なメッセージが受信されたときにメッセージマネージャ２１６に通知する。メッセージは、ＳＲＷＰでの１回の通信に含められ得るよりも多くのデータを要求し得、そのような場合、再度組み立てられる必要があるチャンクで送信される。メッセージチャンクが受信されたとき、そのデータは、それが送信されたスレーブデバイスのＩＤと共に格納される（段階６１２）。Ｅｎｄ  ｏｆ  Ｍｅｓｓａｇｅ（「ＥＯＭ」）インジケータが存在する場合、そのデバイスと関連付けられた完全なメッセージが、受信された、関連付けられたチャンクから組み立てられ、適切であるようにデータ検証が実行され、それから、メッセージマネージャ２１６は新たなメッセージの受信が通知される（段階６１４、６１６）。メッセージマネージャ２１６は、図５のポイントＡにおいて新たなメッセージの処理を開始する（段階５１０）。チャンクが順番に送信されているとすると、メッセージは、新たに受信されるチャンクがそのメッセージに関する格納された既存のデータに添えられることにより、オンザフライで組み立てられ得る。
【００５８】
一実施形態において、所与のメッセージに関するチャンクの全てが受信され、そのメッセージが再ブロードキャストされる前に完全なメッセージとなるよう組み立てられる。代替的な実施形態において、受信されたチャンクは即座に、受信されたときに再ブロードキャストされ得る。この代替例により、データの記録がより複雑になること、および、再ブロードキャストを行っているデバイスによる完全なる受信が成功しないかもしれないメッセージに関してメッセージチャンクを再ブロードキャストするのに帯域幅が用いられる可能性が高くなることと引き換えに、ネットワークでのメッセージのより速い伝播が可能となり得る。
【００５９】
ＢＬＥなどの好ましいＳＲＷＰを用いるとき、周辺マネージャ２２８はスレーブ接続を確立し、出力メッセージデータをマスター（中央）デバイスへ送信する。図７は、周辺マネージャ２２８の実装の上位概念を示すフロー図である。スレーブ接続を確立すべく、アドバタイズメントが、基本的に連続的、定期的、または断続的に送信される（段階７０２）。アドバタイズメントを受信した中央デバイスが接続リクエストにより応答し（段階７０４）、そのデバイスがまだ中央デバイスとして接続されていない（段階７０６）場合、その中央デバイスへのスレーブ接続が確立され、新たに接続された中央デバイスについての情報が接続デバイスデータベース２３０に追加される（段階７０８、７１０）。
【００６０】
ブロードキャストされることになるメッセージは、ブロードキャストキュー２２０に含められる。メッセージはメッセージマネージャ２１６により、または実装によっては、メッセージオブジェクト内の機能によりブロードキャストキュー２２０に追加され得る。本明細書で用いられているように、メッセージがキューまたはデータベースにあると言及した場合それは、他の場所に格納されているメッセージデータへのポインタによりそのメッセージが存在する構成を包含する。
【００６１】
ブロードキャストキュー２２０が空ではないと周辺マネージャ２２８が決定した（段階７１２）場合、メッセージがブロードキャストのためにキューから取得される（段階７１４）。メッセージはそれから、伝送に備えられる。メッセージがチャンクで送信されることになる場合、適切なＥＯＭインジケータを追加することによるということを含んで、メッセージデータが作成される（段階７１６）。メッセージはそれから、接続されている中央デバイスのうちそれぞれへ送信される。好ましくは、チャンクは分散型チャンクワイズ方式で送信される。ここでそれぞれのメッセージチャンクは、次のチャンクの送信に進む前に、中央デバイスなどの適切な受信デバイスのうちそれぞれへ送信される（段階７１８、７２０、７２２）。そのような分散型チャンクワイズ方式でのメッセージのブロードキャスト／再ブロードキャストにより、メッセージの宛て先であるデバイスのうちそれぞれが概ね並行して同時にメッセージを受信することが可能となる。代替的な実施形態では、１つの受信者デバイスへのメッセージの全てのチャンクの送信が、次のデバイスへのメッセージの伝送の開始の前に行われ得る。メッセージが中央デバイスへ送信された後、メッセージは、ブロードキャストキューから取り除かれ得る（段階７２４）。加えて、様々な他の記録が行われ得る。例えば、所与のメッセージが無事受信されたこと（例えば、全てのチャンクが正しく受信されたこと）を示す受領通知を行うよう中央デバイスが構成されている場合、メッセージが再ブロードキャストされる場合、それが、そのメッセージの受信に既に成功したことが知られている（中央）デバイスへ再ブロードキャストされる必要がないようソフトウェアはこのことを書き留めておき得る。
【００６２】
好ましい実施形態において、出力メッセージは、所与の再ブロードキャスト期間の間、再ブロードキャストされる。所与のメッセージに関して再ブロードキャストをトラッキングするやり方は様々である。好ましい実施形態において、メッセージが、各メッセージオブジェクトと関連付けられる。メッセージオブジェクトは、そのメッセージをブロードキャストキューへ追加する機能性を含む。メッセージオブジェクトはある時間に亘って存続し、指定された期間に亘って定期的に、そのメッセージをブロードキャストキューに再挿入する。例えば、メッセージオブジェクトはそのメッセージを、その作成時間から５分の間、３０秒毎にブロードキャストキューの後ろに追加し得る。この方式でのメッセージオブジェクトの使用を図示する上位概念を示すフロー図が図８Ａ（新たなメッセージをブロードキャスト）および図８Ｂ（メッセージを受信し再ブロードキャスト）に示されている。
【００６３】
代替的な実施形態において、ブロードキャストキューに入れられたメッセージは、タイムスタンプまたはカウンタが与えられ得る。メッセージがブロードキャストされた後、カウンタが更新され、またはタイムスタンプがチェックされる。メッセージブロードキャスト期間が切れた、および／または、必要な回数、メッセージがブロードキャストされた場合、そのメッセージはブロードキャストキューから取り除かれる。異なる場合には、メッセージは、再び順番に再ブロードキャストされるキューの後ろに移動され得る。
【００６４】
前に言及したように、メッセージは好ましくは、限定された表示存続期間の間のみ表示され、その後、それらは表示から取り除かれる。好ましい実装において、メッセージオブジェクトが用いられる。それぞれのメッセージオブジェクトは、その残っている存続期間を監視するスレッドを含む。存続期間が切れたとき、メッセージはディスプレイキュー２２２から取り除かれ、メッセージはスクリーンから消える。またメッセージオブジェクトは、その存続期間の間に、そのメッセージの１または複数の表示属性を変更し得る。図９に示されている一実装において、メッセージオブジェクト９００は、総メッセージ存続期間に基づく期間およびカウント閾値と共に、定期的に増やされるカウンタ（メッセージ「ライフライン」）を有する。動作において、メッセージオブジェクトは、カウンタが閾値を超えたかのチェックを行う。そうである場合、メッセージオブジェクトは、ディスプレイキューからメッセージを取り除く（段階９０２、９０４）。異なる場合には、カウンタは増分させられ、メッセージの１または複数の表示属性がカウンタの値に基づき調整される（段階９０６、９０８）。それからメッセージオブジェクトは、ある期間の間待ち（段階９１０）、プロセスが繰り返される。
【００６５】
その遅延時間は、そのメッセージに関する所望される総存続期間を閾値により除算して得られる値に基づき選択され得る。例えば、存続期間が５分であり閾値が５である場合、遅延時間は１分となる。表示属性がメッセージの透明度であるとすれば、透明度は、完全に不透明である状態から開始して、より透明になり、閾値に到達しメッセージが表示から取り除かれるまで毎分、段階的な方式で変更される。閾値を大きくし遅延の期間を短くすることにより、メッセージ表示属性の変更はよりスムーズなものとされ得る。カウンタの代わりに、メッセージオブジェクトはクロックまたはカウントダウンタイマーを参照し得る。他の実施形態も可能である。
【００６６】
メッセージの表示が一旦期限切れになると、メッセージオブジェクト自体が削除され得る。（表示期間が切れた後の複製メッセージの拒否を可能とするよう必要に応じて固有のメッセージＩＤデータが別途保持され得る。）
【００６７】
送信されるメッセージのコンテンツは変化し得る。単純な構成においてメッセージは、メッセージテキストと、メッセージ発信者のユーザのＩＤ、Ｅメールアドレス等などのメッセージのオリジナルソースを特定する１または複数のデータアイテムとを含む。（ａ）メッセージ発信者と関連付けられ小さなピクチャまたはアイコン、（ｂ）メッセージを送信するデバイス（メッセージテキストが発信されたデバイスである必要はない）のＩＤを示す情報、（ｃ）メッセージが発信されたデバイスに関するデバイスＩＤ、（ｄ）メッセージを送信するデバイスのＧＰＳデータなどのロケーション、（ｅ）タイムスタンプ、（ｆ）固有のメッセージＩＤ、および（ｇ）グループ識別子のうち１または複数などの様々な他のタイプの情報も同じく含まれ得る。他の情報も含まれ得る。
【００６８】
好ましい実装において、メッセージは以下のものを少なくともを含む。  ・Ｍｅｓｓａｇｅ＿ＩＤ−ユニバーサルに固有のメッセージＩＤ
・Ｔｅｘｔ／Ｄａｔａ−実際のユーザメッセージのペイロード
・Ｏｗｎｅｒ−ユーザＩＤなどの、メッセージの発信者についての情報。メッセージと共に表示され得るユーザ名およびアイコンなどの他の情報も含まれ得る。  ・Ｏｒｉｇｉｎａｌ  ｔｉｍｅｓｔａｍｐ−メッセージのオリジナルの作成時間／日付。  ・Ｔｉｍｅｓｔａｍｐ−メッセージを送信するデバイスに関する現在の時間／日付。  ・Ｌｏｃａｔｉｏｎ−メッセージを送信するデバイスの現在の緯度及び経度、および／またはメッセージが発信されたデバイスのロケーションなどのＧＰＳデータ。  ・Ｉｓ＿ｒｅｂｒｏａｄｃａｓｔ−メッセージがオリジナルのメッセージであるか、または再ブロードキャストされているのかを示すフラグ。  ・Ｔｙｐｅ−表示されることになるメッセージ、または、他の目的のために処理されるべきメッセージなどの、メッセージのタイプのインジケーション。  ・Ｒｅｃｅｉｖｅｒ−ＩＤ−現在の時間においてメッセージを受信するユーザのユーザＩＤを示す。  ・Ｃｏｎｔｅｎｔ−ｔｙｐｅ−テキスト、ピクチャ、ビデオ、オーディオ等などの送信されているコンテンツのタイプを示す。
【００６９】
メッセージのコンテンツの殆どが、（ＳＲＷＰスタック２１４の様々なより低い層での機能性により）ＳＲＷＰを用いて送信される１または複数のデータパケット内に含められ得ることが理解されるであろう。しかしながら、伝送するデバイスのデバイスＩＤなどの何らかの情報が、ＳＷＲＰのより低いレベルの部分により生成されるデータパケットから抽出され得るので、メッセージデータ自体に別途含まれる必要がない。
【００７０】
好ましくは、それぞれのユーザは、ユーザに関連する様々な情報を含むユーザプロフィールを有する。そのようなプロフィール含まれ得るデータのタイプには、そのユーザからのメッセージと共にディスプレイ上に示され得るユーザ名、そのユーザからのメッセージ上に、またはそれと共に示され得るアイコンまたはフォト、Ｅメールアドレス、電話番号、ソフトウェアアプリケーションにアクセスするのに用いられるＰＩＮ番号、および、新たなメッセージが受信されたときに警告が出されるべきかなどの様々なソフトウェア設定が含まれる。
【００７１】
本願発明の更なる態様によると、様々なデバイスがグループに分けられ得、メッセージは、特定されたグループのメンバーにより用いられているデバイス上にのみ表示される。ユーザは、最初の登録プロセスの間に１または複数のグループに分けられ得る。加えて、個人個人に合わせたグループが基本的にその場その場で様々なユーザにより定義され得る。例えば、ユーザが彼／彼女らのデバイス上でグループＸＹＺを定義し得、それから、彼／彼女らが送信しているメッセージがグループＸＹＺのメンバーのためのものであると特定し得る。
【００７２】
別個のディスプレイキュー２２２がそれぞれのグループ毎に用いられ得る。この機能性をサポートすべく、メッセージのコンテンツは、メッセージが関連付けられているグループを示すｇｒｏｕｐ＿ＩＤフィールドを含み得る。デバイスが、メンバーとして属するグループのためのメッセージを受信した場合、そのメッセージは、そのグループに関する適切なディスプレイキューに入れられ、それに応じて処理され得る。
【００７３】
様々なグループ間の分離の程度は、グループの機能性がどのように実装されるかに応じて変化し得る。一実施形態において、マスターおよびスレーブ接続はグループアグノスティックであり、これにより、所与のマスターまたはスレーブ接続が、伝送されるメッセージがどのグループに属しているかに関係なく用いられ、メッセージは、そのメッセージに関するグループ、または受信するデバイスがメンバーとして属するグループに関係なく接続デバイスへブロードキャストされる。そのメッセージを受信するデバイスは、そのデバイスのユーザがメンバーとして属さないグループのためのメッセージを完全に拒否し得る。代替的に、グループ外メッセージの表示をブロックしつつも、そのメッセージはそれでいて他のデバイスへ再ブロードキャストされて、特定のグループのメンバーシップが全体としてのネットワークに対して小さいとしてもメッセージのより広い分散を可能とし得る。
【００７４】
グループはさらに、あるグループを、それぞれのグループがそれ自体の別個の、そのグループ内のメッセージに関して用いられることになるマスターおよびスレーブデバイス接続のセットを有する独立したネットワークとして扱うことにより分離させられ得る。複数のグループに属するデバイスのユーザは、同じグループのリモートデバイスへの複数のスレーブ／マスター接続を有し得る。同様に、リクエスト接続は、他のデバイスが予め選択されたグループのメンバーであることを示す、または、他の特定された特性を満たすそれらデバイスのみに接続することによってなど、フィルタリングされ得る。
【００７５】
本願発明に係る複数のコンピュータデバイス間の分散型メッセージングはＢＬＥなどのＳＲＷＰのみを用いて、所与のデバイスがインターネットに接続される、またはＷｉＦｉまたはセルラーデータ等などの異なるネットワークプロトコルおよびシステムを用いる他のデバイスと通信する必要なく達成され得るが、様々な追加の特徴が、ＳＲＷＰ以外のネットワークを用いてアクセスされ得るバックエンドサーバの使用により実装され得る。図１は、インターネット上でアクセス可能なコンピュータなどの、ネットワーク１５２を通じてデバイス１１０に接続されるサーバ１５０を示す。好ましくは、サーバ１５０は概して、デバイス１１２〜１２８（接続は示されていない）などの任意の関連するデバイスによりネットワーク１５０上でアクセスされ得、ＷｉＦｉによって、セルラーデータネットワーク上で、有線のＥｔｈｅｒｎｅｔ（登録商標）で、等のサーバ１５０への接続の方式は重要ではない。
【００７６】
バックエンドサーバ１５０の使用によりサポートされ得る機能は、ユーザプロフィールに関する最初の登録／更新、セキュリティに関する目的のために、および、様々なユーザに関して一部または全てのプログラム機能へのアクセスをブロックまたは制限を可能とすすべく、任意の新たなのユーザがデバイスにログインするときのログイン承認、メンバーシップ管理、デバイスのバックアップおよびデータの同期、および様々な他の特徴を含む。
【００７７】
一例において、バックエンドサーバ１５０は、個々のユーザプロフィールをセットアップし管理するのに用いられる。より堅牢性の高いグループメンバーシップ機能が、バックエンドサーバ１５０を用いて実装され得る。例えば、グループ管理者が、特定のグループへのアクセスを定義されたセットのユーザに制限し得、ユーザは、バックエンドサーバ１５０にアクセスして、制限されたグループへのアクセス権を得る必要があり得る。
【００７８】
バックエンドサーバ１５０は、データを同期させるのにも用いられ得る。例えば、ユーザがサーバ１５０に接続するとき、様々な構成情報がアップロードされ、それから将来にその個人により用いられ得る他のデバイスへのダウンロードのために利用可能であり得る。同期は、メッセージングにも適用され得る。メッセージはｉｓ＿ｓｙｎｃｈｅｄフィールドを含み得る。同期させられるメッセージは、デバイス上に保存され、そのデバイスが次に接続するときにサーバ１５０へアップロードされ得る。それから異なるデバイスがサーバへ接続するとき、その同期させられたメッセージはそのデバイスへダウンロードされ、それらが本明細書で明らかにされている本願発明に従ってＳＲＷＰで受信されたかのように処理され得る。このメカニズムは、インターネット上で所与のデバイスへ１または複数のメッセージをより容易に分散させるのにも用いられ得、それからそのデバイスは、それらのメッセージを、本願発明に従ってＳＲＷＰネットワークに接続される様々な他のデバイスへ分散させ得る。
【００７９】
上記にて言及されたように、ｍｅｓｓａｇｅ  ｔｙｐｅフィールドが、種々のタイプのメッセージ同士を区別するのに用いられ得る。タイプは、所与のメッセージの重要度または優先度、および、表示存続期間、視覚的な表示属性、再ブロードキャスト期間、および／またはメッセージ処理に関連する他の属性を設定するときに考慮に入れられ得る他の属性を示すのに用いられ得る。
【００８０】
ｍｅｓｓａｇｅ  ｔｙｐｅフィールドは、メッセージが、通常の表示のために処理されるメッセージではなく、代わりに、通常以外の他のアクション、または通常とは異なる処理を要求するメッセージであることを示すのにも用いられ得る。１つの代替的なメッセージは、情報のリクエストである。情報リクエストメッセージの処理は、リクエストされている情報のタイプ、およびそのようなリクエストの目的に部分的に依存する。１つのタイプの情報リクエストは、ネットワークの他のメンバーのうち全てから特定された情報を探し得る。そのような情報リクエストメッセージを受信するデバイスは、応答して、リクエストされた情報を含む応答情報メッセージを生成およびブロードキャストし、また情報リクエストメッセージ自体を再ブロードキャストし得る。他のデバイスは、情報リクエストメッセージを受信（再ブロードキャスト）し、それら自体の応答情報メッセージを生成し得る。デバイスにより生成される様々な応答情報メッセージが、ネットワーク中に伝播し得、最終的には、最初の情報リクエストメッセージを設定したデバイスに到着し得る。それから、開始したデバイスは、それが受信した応答メッセージから情報を集め、それからそのデータを適宜用い得る。
【００８１】
特定の実施形態において、情報リクエストメッセージはロケーションリクエストを含む。ロケーションリクエストメッセージを受信するデバイスは、そのメッセージを他のデバイスへ、ユーザメッセージと同様の方式で再ブロードキャストし得、またそのデバイスのロケーション、およびオプションで、そのデバイス、またはそのデバイスと関連付けられたユーザについての他の情報を含む応答メッセージを生成およびブロードキャストし得る。したがってロケーションリクエストメッセージの送信の結果として、ネットワーク内の他のデバイスのうちそれぞれが、それらのロケーションを含む応答メッセージを生成することになり得る。これらメッセージは最終的には、開始したデバイスへブロードキャストまたは再ブロードキャストされ得る。それから開始したデバイスは、最初のリクエストを送信した後の所与の期間内に受信したロケーションおよび他のデータを処理し、そのロケーションデータをユーザに提示し得る。好ましい実施形態において、様々な応答するデバイスのロケーションは、ソースデバイスに対する様々な応答するデバイスの位置を示すソナーまたはレーダータイプの表示上にグラフィカルに提示され得る。デバイスに関するロケーションは、ロケーションデータが受信されたときに表示および更新され得る。代替的に、開始するデバイスは、リクエストおよび応答メッセージがネットワークを通じて伝播することが可能となるよう予め決められた期間の間待ち、それから、受信した情報を全て一度に表示し得る。
【００８２】
本願発明の更なる態様によると、本明細書で論じられている本願発明の通信方法およびシステムの様々な態様を用いて、異なる通信プロトコルを用いる他のタイプのデバイスと通信するのと同様、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）または他のＳＲＷＰを介し（図１のデバイス１１０〜１２８などの）ユーザデバイスと通信するよう中継デバイス１０００が提供され得る。
【００８３】
中継器１０００は、複数の機能を果たし得る。ある１つにおいて、中継器１０００は、本願発明の態様に従って通信する他のデバイスと、マスターおよびスレーブ（中央および周辺）データ接続などのデータ接続を確立する。中継器は、他のデバイスから送信されたメッセージを受信し、それからそれらを再ブロードキャストし得る。中継器は、典型的なモバイルデバイスより高い電力の送受信機を含み得るので、網目状ネットワークの範囲を広げ得る。
【００８４】
中継器１０００は、有線若しくは無線インターネット通信、またはセルラーモデムなどの二次的データ接続を通じてリモートのデータソースにも接続して、追加のメッセージング機能性および管理を可能とし得る。そのような追加のメッセージ機能性に含まれるのは、二次的データ接続を通じて、本願発明の態様に従ってＳＲＷＰを用いて確立される網目状通信ネットワークに挿入される１または複数のメッセージを中継器に提供する能力である。メッセージは、中継器１０００による受信に応答してブロードキャストされ得、またはそれらは、中継器がメッセージをネットワーク内へといつ、どのようなローカルおよび外部条件で、および、どのクラス／グループのデバイスへ挿入すべきかを示すトリガ条件などの追加のデータと共にメッセージライブラリに格納され得る。
【００８５】
図１０は、本願発明の態様に係る中継器１０００の一実施形態の上位概念を示すブロック図である。中継器１０００は、プロセッサ１００２と、ソフトウェアおよびデータを格納するためのシステムメモリ１００４とを含む。様々なソフトウェアモジュールおよびデータの格納が本明細書で論じられている。加えて、ＳＲＷＰ通信プログラムスタック、様々なデバイスドライバ、オペレーティングシステムソフトウェアなどの従来のより低いレベルのＳＲＷＰインタフェースの機能性も提供される１０４２。
【００８６】
中継器１０００は、１または複数のＳＲＷＰ無線送受信機１００６、１００８等を用い、本願発明の態様に係る他のデバイスと通信し得る。ＳＲＷＰ無線送受信機１００６、１００８は、Ｂｌｕｅｔｏｏｔｈ（登録商標）４．１仕様書で定義されるＢｌｕｅｔｏｏｔｈ（登録商標）Ｌｏｗ  Ｅｎｅｒｇｙ通信プロトコルをサポートするＢｌｕｅｔｏｏｔｈ（登録商標）送受信機であり得る。複数の送受信機１００６、１００８を含むことにより中継器は、複数のＢＬＥ接続で通信することが可能であるが１つの送受信機のみが用いられるときに必要に応じてそれらの間で切り替えなければならないのとは対照的に、複数の接続を同時に扱うことが可能となる。複数の送受信機の使用を構成するやり方として様々なものが利用可能である。一実施形態において、１つのＳＲＷＰ送受信機がマスター（中央）通信に関して全てに用いられ、第２ＳＲＷＰ送受信機が、スレーブ（周辺）通信に関して用いられる。
【００８７】
ＳＲＷＰ送受信機１００６、１００８は、中継器内部のアンテナ（図示せず）を通じて動作し得る。好ましくは、例示的な構成において約２０〜７０フィート（約６〜２１メートル）のＳＲＷＰ範囲を中継器１０００に与え得る１または複数の無指向性アンテナが接続され得るＲＰ−ＳＭＡアンテナカプラー１０１０が提供される。指向性アンテナも提供され得る。アンテナの構成および送受信機のパワーに応じ、このことは、１マイル（約１．６キロメートル）の範囲までのＳＲＷＰ通信を可能とし得る。具体的に好ましい実装において、ＳＲＷＰ送受信機は、約１８ｄＢｍの最大出力電力および約−９４ｄＢｍの入力感度を有する。屋内で約３ｄＢｉのゲインを有する、および屋外で最大約９ｄＢｉの無指向性アンテナが用いられ得る。指向性アンテナは好ましくは、約１８ｄＢｉのゲインを有するものである。様々な送受信機およびアンテナ構成が、当業者に分かられよう。近距離通信アプリケーションに関して中継器が用いられるとき、限定された明確な通信範囲が好ましいかもしれない。
【００８８】
ＳＲＷＰを通じた通信に加えて、中継器１０００は、データの受信および送信に用い得る１または複数の代替的な通信リンクを含み得る。これら他のリンクは、ＲＪ４５またはＲＳ２３２インタフェースなどの有線データポート１０１２と、８０１．１１  ａｃ／ｂ／ｇ／ｎ  ＷｉＦｉ送受信機などの無線データ接続１０１４と、例えば４Ｇ／ＬＴＥを用いセルラーネットワークを通じたデータ通信を可能とし得、また例えばテキストの送信および受信を可能とする割り当てられたセルラー番号を有し得るセルラーモデム１０１６とのうち１または複数を含み得る。またこれら追加のネットワークにより中継器１０００は、管理者、またはＳＲＷＰネットワークに接続されていない他のリモートユーザにより容易にアクセスされることが可能となる。有線データポート１０１２は、周辺デバイスが取り付けられ得るＵＳＢポートなどのローカルデータポートも含み得る。周辺デバイスの例には、カメラ、オーディオレコーダ、およびサーモスタットなどの他のデバイスと同様、温度計、湿度計、または圧力計、または他のタイプのセンサが含まれる。
【００８９】
デバイスは、電力入力部１０１８に接続された、設備または車両の電力系統などの外部電源を通じて電力を供給され得る。加えて、または代替的に、中継器は、再充電可能なバッテリー１０２０により電力を供給され得る。このことは、外部電力が切断された場合、中継器がある時間の間動作を続けることを可能とし、また、（車両に取り付けられた中継器などの）一定のロケーションにない、または、（ロケーションが頻繁に変更され得る、または、太陽または他の手段を用い電力を供給される中継器に関してなど）電力が一貫していないロケーションにある中継器に関して有用である。好ましくは、電源は、約１０００ｍＡｈまたはそれより高い容量の再充電可能なリチウムポリマーバッテリーおよび２アンペア１２Ｖ  ＤＣ外部電源である。バッテリーの電力で動作しているとき、中継器は、機能性が制限された低電力モードで動作する必要があり得る。
【００９０】
中継器は、リアルタイムクロック１０２２も含み得る。クロックは、スタンドアロン型のコンポーネントであり得、または、ＧＰＳユニットなどの他のシステムデバイスと統合され得る。一定のロケーションに永久的に設置されているものではない中継器に関してはＧＰＳユニットが特に有用である。
【００９１】
好ましい構成において、中継器１０００は、約１００ｍｍ×８０ｍｍ×２０ｍｍの寸法をもつ筐体などの小さい筐体内に収められ、取り付けフランジを含む。耐水性および耐候性の筐体が、それら要素に曝されるエリアにおいて用いられ得る中継器に関して提供され得る。
【００９２】
図１１は、本願発明の態様に係る、中継器１０００を含む、デバイスのネットワークを示す上位概念を示す図である。中継器１０００は、上記で論じられているＳＲＷＰを用い様々なユーザデバイス１１２、１２２に接続される。示されているように、デバイス１２２におけるＳＷＲＰは、円１１４０により示される範囲を有し、中継器１０００は、円１１４２により示されるより広い範囲を有する。管理者または他のユーザは、ＰＣまたはタブレットコンピュータ１１０２などのコンピューティングデバイス１１０２、または、携帯電話またはタブレットデバイスなどの他のコンピューティングデバイス１１０４を用い中継器１０００にアクセスし得る。中継器への接続は、インターネットなどのネットワーク１５２を介して、または、セルラーネットワーク、ＷｉＦｉ、または中継器１０００への他の二次的データネットワークを用い確立され得る。加えて、様々なセンサ１１１０、１１１２が、中継器１１１０に接続され得る。中継器１０００は、（ｉ）店舗、コンベンションセンター、またはスタジアムなどのビルの内部または外部、（ｉｉ）車、バス、電車、ボートなどの車両内、（ｉｉｉ）標識または掲示板上、または（ｉｖ）任意の他のロケーションなどの色々な一定の、または可動的な環境１１２０に設置され得る。
【００９３】
中継器１０００の機能性に関して、ＳＲＷＰがＢＬＥである特定の例示的な実施形態において、本願発明の態様に従ってＳＲＷＰを介し他のデバイスへメッセージを送信および受信することの全体的な管理は、他のデバイスへの中央（マスター）およびスレーブ（周辺）接続を確立および管理し、中央接続上でメッセージを受信し、スレーブ接続上でメッセージを送信するための様々な補助的なソフトウェアモジュールと共に動作するトップレベルメッセージマネージャ１０３０により扱われる。メッセージマネージャおよびこれら補助的なモジュールも、複数のＳＲＷＰ送受信機１００６、１００８を通じたメッセージ伝送および受信を調整する機能性を含む。本願発明に係るＳＲＷＰを用いた中継器から他のデバイスへの通信は、本明細書で別途、図１〜３、５〜７、８Ａおよび８Ｂに関連して論じたように携帯電話、タブレット、およびラップトップコンピュータなどの個別のユーザデバイスに関するものと概ね同じ方式で（ただし、メッセージを表示する必要なしで）実装され得る。
【００９４】
入力メッセージは、他のデバイスからのＳＲＷＰを介し中継器１０００により受信されたメッセージについての情報を含むメッセージデータベース１０３２において処理および格納され得る。この情報は、例えば、受信されたメッセージが複製であり、再ブロードキャストのために処理される代わりにフィルタアウトされるべきか否かを決定するのに用いられ得る。メッセージマネージャ１０３０が所与の期間の間に本願発明の態様に従ってＳＲＷＰで接続されたデバイスへ再ブロードキャストすべきメッセージのセットを示すのにブロードキャストキュー１０３４が用いられ得る。
【００９５】
接続デバイスからのＳＲＷＰでのメッセージの受信および再ブロードキャストを可能とする機能性に加えて、中継器１０００は好ましくは、それが要望に応じて、または、１または複数の所与のトリガ条件が満たされたときに、ＳＲＷＰ網目状通信ネットワークへメッセージを挿入することを可能とする追加の機能も含む。
【００９６】
中継器による受信に応答して送信されることになるメッセージは、アプリを実行しているデバイス（例えば、デバイス１１２等）のユーザにより入力されたメッセージの伝送と類似の方式で処理され得る。中継器から送信されることになるメッセージは、テキスト、画像、ビデオメッセージ等などの標準のメッセージ、または、データ収集などの機能的なメッセージであり得る。例えば、管理者は中継器に対し、中継器を包含しているＳＲＷＰネットワーク内のユーザへロケーションリクエストメッセージを送信するよう命令し得る。中継器は、応答しているデバイスのアイデンティティおよびロケーションを集め、それから、その情報を管理者のために利用可能とし得る。また管理者は、中継器に接続し、下記で扱われるセンサデータなどの、中継器により格納され得る他の情報を取得し得る。
【００９７】
中継器による受信に応答してブロードキャストされないメッセージは、中継器がメッセージをネットワーク内へといつ、どのようなローカルおよび外部条件で、および、どのクラス／グループのデバイスへ挿入すべきかを示すトリガ条件などの追加のデータと共にメッセージライブラリに格納され得る。同様に、中継器は、近くのユーザからメッセージを受信し得、それらを、将来その中継器に近づく他のユーザへの再ブロードキャストのために格納し得る。これら追加のメッセージおよび関連付けられたトリガは、メッセージライブラリ１０３６内で予め定義され格納され得る。これらトリガ条件は、メッセージランチャー１０３８により監視され得る。メッセージトリガ条件が満たされたとき、メッセージランチャーはメッセージを送信する。メッセージランチャー１０３８により送信されることになるメッセージは、ユーザにより入力されたメッセージを標準的な（中継器ではない）デバイスが扱い得るやり方と同様の方式で処理され得る。
【００９８】
様々なトリガ条件が定義され得る。例えば、トリガ条件は、所与のメッセージが、特定された時間に送信されるべきであること、または所与のタイムウィンドウの間のみ送信されるべきであることを特定し得る。ブロードキャスト条件も特定され得る。例えば、メッセージは、最初に送信され、それから、特定された時間範囲の間、Ｘ分毎に断続的に再ブロードキャストされるものと定義され得る。他の例において、メッセージは、所与の期間内のみ送信され得るが、他の条件が満たされたときも送信され得る。例えば、メッセージは、新たなデバイスが中継器に接続されたときはいつでもブロードキャストされるようトリガされ得る。更なる例において、メッセージは、最低限の数のユーザが同時に中継器に接続されているときのみ送信され得る。更なる例において、トリガは、ロケーションに基づき得、メッセージは、（車両または他の可動であるプラットフォームに取り付けられた）中継器が特定されたロケーション内にあるときに送信され得る。また更なる例において、入力されるＳＲＷＰメッセージが監視され、受信されたメッセージが特定されたテキストまたは他のデータを含むとき、メッセージライブラリからのメッセージがブロードキャストされ得る。加えて、中継器は、全ての接続されているユーザに宛てられたメッセージを送信し得、または、指定されたグループのみにメッセージをブロードキャストし得る。
【００９９】
センサ、カメラ等などの周辺デバイスが（有線データポート１０１２または他の入力部を通じてなど）中継器に接続された場合、中継器は、特定のトリガ条件の存在に関して１または複数の周辺デバイスからのデータを監視し、決められた状況が検出されたとき近くのユーザへメッセージを送信するようプログラミングされ得る。例えば、環境状況の突然の変更が検出された場合、メッセージが送信され得る。加えて、ロケーション検出メッセージの処理と類似の方式で、中継器などの受信するデバイスにより処理され得る「センサチェックメッセージ」をユーザデバイスが送信し得、接続された周辺センサまたは他のデバイスからのデータが返され得る。（そのような周辺デバイスは、ＢＬＥまたは他のＳＲＷＰでの通信をサポートし得る場合、代替的にそれら自体が、網目状ネットワークで直接通信するようプログラミングされ得る。）
【０１００】
メッセージランチャー１０３８は様々なトリガ条件を監視し、メッセージの立ち上げを制御し得る。代替的な構成において、トリガの監視は分散させられ得る。メッセージは、メッセージオブジェクトとして定義され得る。それぞれのメッセージオブジェクトがそれ自体の各トリガ条件を監視し、トリガ条件が満たされたとき、メッセージオブジェクトはそれ自体をブロードキャストキューに挿入し、それ自体を適宜、ブロードキャストキューから取り除く。
【０１０１】
ユーザデバイスまたは中継器により送信されるメッセージは、受信するデバイスに対し、標準のメッセージとは異なり得る方式でメッセージを処理するよう命令するメタデータを含み得る。例えば、メッセージは、受信するデバイスが他のデバイスへメッセージを再ブロードキャストすべきではないことを示すフラグを含み得る。このフラグにより中継器１０００から送信されたメッセージなどのメッセージの受信を、メッセージ発信者の範囲内のデバイスに限定することを可能とする。代替的に、メッセージは、再ブロードキャストホップの回数が限定される限定的な再ブロードキャストとして構成され得る。例えば、メッセージは、メッセージを受信するデバイスがそれを他のデバイスに再ブロードキャストし得るが、その再ブロードキャストを受信するデバイスはさらにそれを他のデバイスへ再ブロードキャストしないであろう１回のホップに限定され得る。残っている再ブロードキャストホップの回数は、それぞれの新たな再ブロードキャスト毎に減少させられるメッセージ内のカウンタに含められ得る。
【０１０２】
中継器１０００または他のデバイスからのメッセージは、標準のメッセージとは異なる追加の機能性または設定も含み得る。例えば、デバイスユーザから受信した標準のメッセージは１０分などの比較的短い期間の間、中継器１０００により再ブロードキャストされ得るが、中継器１０００により開始されたメッセージは、中継器自体がメッセージを再ブロードキャストし続ける、定義されたカスタム設定された再ブロードキャスト期間を有し得る。したがって例えば、中継器は、午前９時から開始してメッセージを送信し、午前１２時まで３０秒毎にそれを再ブロードキャストするよう構成され得る。他の例において、中継器は、新たなデバイスがその中継器の範囲に入って来る毎にその後２分の間、メッセージをブロードキャストするよう構成され得る。
【０１０３】
認証されたユーザが、既存のデータを変更し削除するのと同様に、メッセージ、メッセージトリガ、および他のメッセージ定義および制御データをメッセージライブラリ１０３６へ追加することを可能するようコンテンツ管理インタフェース１０４０が提供され得る。一実施形態において、コンテンツ管理インタフェース１０４０は、ｉＰａｄ（登録商標）または他のタブレットなどのユーザデバイス上にインストールされたエディタソフトウェアを用いアクセスされ得る。ユーザデバイスは、インターネット上で、セルラーデータ接続を介して等、有線または無線接続などの任意の適切な接続を用い中継器に接続され得る。それからユーザは、中継器１０００に関して、メッセージおよびそれらの属性を追加、削除、および変更し得る。代替的に、コンテンツ管理インタフェース１０４０は、（例えば、有線または無線接続１０１２、１０１４を通じてアクセス可能な）インターネットのウェブページのインタフェースを介して、これら機能へのユーザアクセスを提供し得る。単純な実施形態において、メッセージは、中継器から送信されることになるメッセージは、セルラーモデム１０１６と関連付けられ電話番号に単純にテキスト送信されるセルラーテキストメッセージインタフェースを介し中継器に提供され得る。ＳＲＷＰを用いて確立される中継器管理接続をサポートすべく、メッセージマネージャ１０３０および他のソフトウェアは、中継器制御接続が確立されていることを検出し、本願発明の一般的な態様に従って標準的なＳＲＷＰメッセージとは別途それら通信を処理する機能性を含む。
【０１０４】
ユーザが複数の中継器に関してメッセージを定義するのに用いられ得るリモートサーバが提供され得る。サーバは、１または複数の中継器に関してメッセージライブラリのコピーを含み得る。ユーザがメッセージを定義することを完了した後、それからサーバは、各中継器のうちそれぞれにメッセージライブラリの更新を送信し分散させ得る。代替的に、中継器は、遠隔的にメッセージライブラリにアクセスするようプログラミングされ得る。
【０１０５】
中継器１０００は、本明細書で概して開示されているようにＳＲＷＰを用い互いに、および中継器１０００と通信するスマートデバイス（例えばデバイス１１２等）と組み合わせられて、幅広く色々なアプリケーションでの使用のためにプログラミングされ得る。これらのうちいくつかが、本明細書で扱われている。
【０１０６】
中継器１０００は、デジタルグラフィティシステムの一部として用いられ得る。アプリのユーザが中継器１０００の範囲内にあるとき、アプリケーションによりユーザは、グラフィティメッセージと呼ばれる特定のタイプのメッセージを送信することが可能となり得る。グラフィティタイプのメッセージを受信する中継器は、メッセージを内部に格納し、それからそれを、中継器１０００の範囲内に入って来る全てのユーザに再ブロードキャストし得る。中継器の近くにいるときグラフィティメッセージを受信する個人は、ユーザのプロフィールピクチャ、ユーザ名、およびグラフィティがいつ残されたのかなどの他のデータと同様、グラフィティメッセージ（テキスト、ビデオ、オーディオ等）自体を示され得る。
【０１０７】
非常に特定的な実施形態において、グラフィティメッセージ機能性は、ユーザのスマートデバイス上のアプリ内のカメラ撮像機能性と結び付けられ得る。グラフィティが有効化された中継器の範囲内にユーザがおり、カメラビューを開いたとき、そのロケーションにある中継器上に格納されそこから送信された既存のグラフィティメッセージが、カメラにより捉えられた背景画像上に重ねてユーザに示され得る。それからユーザは彼／彼女ら自身のグラフィティメッセージを入力し得、それらは続いて中継器へ送信され格納される。グラフィティのタグが付けられたメッセージを受信したアプリは、オーディオ、グラフィック、またはテキストの出力などの特別な信号を提供し、ユーザに対し、グラフィティメッセージを受け付け得る近くのグラフィティ中継器があることを、また、見られ得る既存のグラフィティメッセージがあるか否かを示し得る。
【０１０８】
中継器は、永久に、またはグラフィティメッセージが管理者または最初の掲示者によってなど中継器から削除されるまでグラフィティメッセージを格納し得る。代替的に、グラフィティメッセージは、一定の存続期間が与えられ得、その後、それらは中継器内のソフトウェアにより自動的に削除され得る。更なる実施形態において、グラフィティメッセージの存続期間は中継器により提供され得、または、受信するデバイス内のアプリにより決められ得、グラフィティメッセージがユーザに対してどのように表示されるかを調節するのに用いられ得る。例えば、時間の経過と共に通常のメッセージを薄れさせるのと同様の方式で（図４および９を参照）、非常に古いグラフィティは薄れた形態で示され得る。
【０１０９】
それぞれの中継器は、マップ機能によりウェブサイトまたはアプリ上でリモートで見るために、グラフィティメッセージを図１のサーバ１５０などのリモートサービスに定期的にアップロードし得、または異なる場合には、そのために利用可能とし得る。グラフィティメッセージ内のＧＰＳデータは、特定のロケーションに残されたそのグラフィティメッセージが、マップまたは衛星画像上に重なって示され得るように処理され得る。
【０１１０】
中継器１０００は車両に設置され得る。中継器は、時間、および／または車両のロケーションに応じて車両上の乗客へ種々のメッセージをブロードキャストするよう構成され得る。それらメッセージは、車両の乗客などの特定のグループに限定され得る。乗客は車両に乗るときに彼／彼女らの車両に関するグループに申し込み得る。一つの例示的な車両はツアーバスである。
【０１１１】
店舗またはレストランに設置された中継器１０００は、１日中、様々な製品または特別なものを売り込むメッセージを送信するようプログラミングされ得る。種々のメッセージが、その日の種々の時間の間、送信されるよう定義され得る。メッセージは、中継器の範囲内を通過し、本願発明の態様に係るＳＲＷＰメッセージングソフトウェアを用いて接続するユーザへ送信され得る。中継器からのメッセージは、それらが、中継器の範囲内のユーザのみによって受信されるように再ブロードキャストされないようフラグが立てられ得る。この方式での中継器の使用は、代替的な技術よりコストが低く、処理が容易で、実装がより速い非常にローカルなカスタマイズされたブロードキャストおよび近接広告技術を提供し得る。
【０１１２】
中継器１０００は、スポーツススタジアム、公園、または他の公衆が集まる場所におけるものなどの掲示板に設置され得る。アドバタイズメッセージは、セルラーモデムまたは掲示板に割り当てられた他のデータ接続を通じて中継器へアップロードされ得る。本願発明の態様に係るＳＲＷＰメッセージングソフトウェアを実行するスマートフォンおよび他のデバイスを有するユーザは、そのデジタルアドブロードキャストを、それらが掲示板の範囲内に入って来たときにＳＲＷＰを介し受信する。メッセージが、再ブロードキャストを防ぐよう構成されていない場合、ユーザは、ネットワークの少なくとも１人のメンバーがそのメッセージを受信した網目状ネットワーク内に彼／彼女らがいるとき同じくメッセージを受信する。いずれの場合も、メッセージは、掲示板の一般的な近傍内にいるユーザにより受信される。
【０１１３】
１または複数の中継器が、セルラーおよび／またはインターネットアクセスを有さない、またはそれが限定されているエリア中に配置され得る。例えば、中継器は、地下鉱山中に配置され得る。中継器は、地下のユーザ間で、および地上のユーザへメッセージを伝送するのに用いられる。中継器は、ユーザの地下でのロケーションを検出するのにも用いられ得る。同様に、中継器は、クルーズ船中に配置され得る。中継器は、乗客間でメッセージを伝送するのを支援し、公共の安全の目的で乗客の活動をスタッフが監視するのを支援するのに用いられる。
【０１１４】
中継器１０００は、ユーザの屋内での位置を特定するのに用いられ得る。中継器は、本願発明に従ってＳＲＷＰを用いて送信されたユーザメッセージを監視し、メッセージに含まれるロケーションデータを抽出し得る。代替的に、その中継器は、受信するデバイスのロケーションなどの特定された情報を含むメッセージをブロードキャストすることにより応答するよう受信するデバイスに命令するタイプフィールドを有するメッセージを送信することによりユーザのロケーションを調査し得る。そのような情報リクエストメッセージを受信するデバイスは、応答して、リクエストされた情報を含む応答情報メッセージを生成およびブロードキャストし得る。また受信するデバイスは、情報リクエストメッセージを再ブロードキャストし得る（そのメッセージがこのことを防ぐようフラグが立てられていない場合）。他のデバイスは、情報リクエストメッセージを受信（再ブロードキャスト）し、それら自体の応答情報メッセージを生成し得る。デバイスにより生成される様々な応答情報メッセージが、ネットワーク中に伝播し得、最終的には、最初の情報リクエストメッセージを設定したデバイスに到着し得る。それから、開始したデバイスは、それが受信した応答メッセージから情報を集め、それからそのデータを適宜用い得る。
【０１１５】
中継器は、坑夫、乗客、またはグループの他のメンバーが誰か行方不明になってないか判断すべく点呼をとるのにも用いられ得る。ロケーションリクエストメッセージと類似して、メッセージタイプ設定は、受信するデバイスに対し、それらが（ネットワーク内に）存在することを示し、それらのユーザＩＤおよび場合によっては他のデータを含むメッセージを生成しブロードキャストすることを示し得る。点呼リクエストメッセージも再ブロードキャストされ、このことの結果としてネットワーク内の他のデバイスが、それら自体の「存在」メッセージを生成することになる。点呼リクエストおよび応答の存在メッセージは、網目状ネットワーク中に伝播させられる。中継器は様々なデバイスからそれが受信した存在メッセージを監視し、存在応答を受信しなかったより広いグループメンバーを列挙する、恐らく、特定されたサブグループへの出力メッセージを、生成し得る。
【０１１６】
中継器およびスマートデバイスのアプリケーションは、様々なタイプのゲーミングアプリケーションでも用いられ得る。例えば、ユーザが本明細書におけるシステムを、近接性ベースのインタラクティブなゲームの一部として用い得る。ゲームのディスプレイは、屋内または屋外の電光掲示板上に示され得、同じ近傍内にいるユーザが参加出来る。より具体的な例において、インタラクティブなビンゴゲームにおいて、ビンゴ番号が掲示板上に示され得、ユーザは、スマートフォン上で掲示板ビンゴゲームを実行し得る。掲示板と関連付けられた中継伝送器は、例えば特定のビンゴ番号がコールされたときにそれらを示すメッセージをブロードキャストする。ユーザが掲示板の近くにいる場合、彼／彼女らのスマートデバイス上のアプリがそのビンゴ番号を、用いられているビンゴカード構成に適用し得る。ユーザがビンゴとなった場合、彼／彼女らは、クーポン、または、商品若しくはサービスのディスカウントなどの賞を受けられる。ユーザは、彼／彼女らが掲示板の近くにいない限りビンゴ番号を受信しないであろうから、そのようなゲームは、より長い期間の間所与のロケーションに居続けるよう、およびそのロケーションに戻るようユーザを促す。
【０１１７】
異なるタイプのゲームは宝探しである。最初の手掛かりがユーザを所与のロケーションに向かわせる。彼／彼女らがそのロケーションに到着したとき、（通常の、またはグラフィティの）ローカルなメッセージブロードキャストが、次のロケーションに関する手掛かりを提供し得る。ユーザのスマートデバイス上の適切なソフトウェアが、手掛かりメッセージをフィルタリングし得、これにより、一連のものに含まれる次の手掛かりのみがユーザに対して表示され、したがって、ゲーム内のさらに後になってのみ関連のあるロケーションの近くを通過した場合にユーザが一足飛びに進んでしまうのを防ぐ。ユーザが終わりに到達したとき、彼／彼女らには賞品が与えられ得る。手掛かりは、ショッピングモールの種々の店頭、ミュージアムの種々の展示品、または都市中の名所などの様々なロケーションでブロードキャストされ得る。
【０１１８】
雑学などの他のタイプのインタラクティブなゲームも適切である。質問が、掲示板または他のディスプレイ上に示され得る。１セットの解答が、ディスプレイと関連付けられた中継器からディスプレイの近くにいるユーザにブロードキャストされ得る。ユーザが解答を選択可能となるよう、ユーザのスマートデバイス上のゲームアプリが構成され得る。これの変形例が、所与のロケーションの近くのユーザの調査を実行するのに用いられ得る。質問がディスプレイ上に提示され得、近くにいるそれぞれのユーザが、ディスプレイと関連付けられた伝送器からブロードキャストされたメッセージ内に提供される可能性のある１セットの回答から選択し得る。ユーザの応答は、特別なメッセージとしてブロードキャストされ、それから、ディスプレイと関連付けられた受信機が応答を監視し集計する一方で様々なユーザにより再ブロードキャストされる。それからその結果は、ディスプレイ上に示され、例えば、ショートビデオの代替的なエンディング、再生され得るビデオのリストからミュージックビデオの選択等などのビデオ表示の１または複数の可能性のある結果からの選択を行うのに用いられ得る。調査の質問に対する回答の集計は、ロケーションリクエストメッセージに関して上記で論じられたユーザのロケーションを集めるのに用いられたものと同様の方式で実行され得る。
【０１１９】
異なるタイプのゲーミングアプリケーションにおいて、複数のユーザが、広いエリアに亘って数十の、または１００を超えるユーザによりプレイされるマルチプレーヤゲームに参加し得る。ゲームに関連する情報を様々なユーザ同士で渡し合うのを支援するのに中継器が用いられ得る。いくつかの単純な例示的なゲームとして、Ｈｏｔ  ＰｏｔａｔｏおよびＰｏｎｇが含まれる。ゲーミングアプリは、近くのユーザのロケーションを特定するロケーション判断などの特徴と組み合わせられ得る。「ポテト」を受信したユーザは、そのポテトを渡す所与の近くのユーザを選択し得、または、Ｐｏｎｇボールを送信する方向を選び得、アプリは、その方向にどのユーザがいるかを判断し、それに応じてボールを向かわせる。アプリから送信されるメッセージは、中継器がそれらメッセージの伝達を支援し、例えばホットポテトまたはポンボールのロケーションを全てのプレーヤに認識させ続けるのに用いられ得る。様々な参加しているユーザに対するボールまたはポテトの位置は、ユーザデバイスのディスプレイ上に示され、時間の経過と共に更新され得る。
【０１２０】
本願発明のソフトウェア態様がユーザデバイス１１０〜１２８および中継器１０００に提供され得るやり方は様々である。関連するソフトウェアが、磁気または光学式コンピュータディスク、フラッシュＲＡＭ、または他の適切な媒体などのコンピュータ可読媒体上のＺＩＰファイル、または自己インストールアプリケーション若しくはＥＸＥファイルなどの１または複数のコンピュータファイルの形態で提供される。ソフトウェアは、Ａｐｐｌｅおよび他の企業により提供されるものなどのオンラインアプリケーションストアからユーザデバイスへダウンロードされ得る。またソフトウェアは、バックエンドサーバ１５０を含むインターネット上の他のサーバから直接ダウンロードのために利用可能とされ得る。
【０１２１】
本願発明の様々な態様、実施形態および例が本明細書で開示され説明されてきた。添付の請求項により定義される通りの本願発明の精神および態様から逸脱することなく当業者により修正、追加および変更がなされ得る。
【図１】
0006662523.tif 000002
【図２】
0006662523.tif 000003
【図３】
0006662523.tif 000004
【図４】
0006662523.tif 000005
【図５】
0006662523.tif 000006
【図６】
0006662523.tif 000007
【図７】
0006662523.tif 000008
【図８Ａ】
0006662523.tif 000009
【図８Ｂ】
0006662523.tif 000010
【図９】
0006662523.tif 000011
【図１０】
0006662523.tif 000012
【図１１】
0006662523.tif 000013