(57)【要約】      （修正有）【課題】選択されたオンラインユーザのフォーカス状態を維持する方法を提供する。【解決手段】選択されたオンラインユーザ及び選択されていないオンラインユーザを含むオンラインユーザのリストを取得するステップと、上記選択されたオンラインユーザにフォーカスを形成するステップと、上記選択されていないオンラインユーザの状態を変化させるステップと、上記選択されていないオンラインユーザの状態が変化した後も、上記選択されたオンラインユーザに上記フォーカスが付いた状態を維持するステップで構成する。【選択図】図３Ａ
2007317192.tif 000002
【特許請求の範囲】
【請求項１】
選択されたオンラインユーザのフォーカス（focus）状態を維持する方法であって、
上記選択されたオンラインユーザ及び選択されていないオンラインユーザを含むオンラインユーザのリストを取得するステップと、
上記選択されたオンラインユーザにフォーカスを形成するステップと、
上記選択されていないオンラインユーザの状態を変化させるステップと、
上記選択されていないオンラインユーザの状態が変化した後も、上記選択されたオンラインユーザに上記フォーカスが付いた状態を維持するステップとを含む。
【請求項２】
上記オンラインユーザは、インスタントメッセージングのためにオンラインである、請求項１に記載の選択されたオンラインユーザのフォーカス状態を維持する方法。
【請求項３】
上記状態を変化させるステップは、上記選択されていないユーザをオフラインユーザからオンラインユーザに移行させることを含む、請求項１に記載の選択されたオンラインユーザのフォーカス状態を維持する方法。
【請求項４】
上記状態を変化させるステップは、オンラインユーザをオフラインユーザに移行させることを含む、請求項１に記載の選択されたオンラインユーザのフォーカス状態を維持する方法。
【請求項５】
上記選択された及び選択されていないオンラインユーザはスクリーンに表示されている、請求項１に記載の選択されたオンラインユーザのフォーカス状態を維持する方法。
【請求項６】
上記選択されていないオンラインユーザの一部のみが上記スクリーンに表示されている、請求項５に記載の選択されたオンラインユーザのフォーカス状態を維持する方法。
【請求項７】
上記選択されていないユーザの状態が変化した後に、上記選択された及び選択されていないオンラインユーザは上側から崩れる（collapse from the top）、請求項１に記載の選択されたオンラインユーザのフォーカス状態を維持する方法。
【請求項８】
上記選択されていないユーザの状態が変化した後に、上記選択された及び選択されていないオンラインユーザは下側から崩れる（collapse from the bottom）、請求項１に記載の選択されたオンラインユーザのフォーカス状態を維持する方法。
【請求項９】
上記フォーカスが上記選択されたユーザへと変わり、上記フォーカスの相対位置を維持する、請求項１に記載の選択されたオンラインユーザのフォーカス状態を維持する方法。
【請求項１０】
上記選択されていないオンラインユーザの状態が変化した後で、上記スクリーンは、上記選択された及び選択されていないオンラインユーザで完全には埋まっていない（not fully populated）、請求項５に記載の選択されたオンラインユーザのフォーカス状態を維持する方法。
【請求項１１】
選択されたオンラインユーザのフォーカス状態を維持するシステムであって、
上記選択されたオンラインユーザ及び選択されていないオンラインユーザを含むオンラインユーザのリストを表示する出力装置と、
上記出力装置と接続して（coupled to）上記選択されたオンラインユーザにフォーカスを形成するコンピュータとを含み、
上記コンピュータは、上記選択されていないオンラインユーザの状態を変化させ、
上記コンピュータは、上記選択されていないオンラインユーザの状態が変化した後も、上記選択されたオンラインユーザに上記フォーカスが付いた状態を維持する。
【請求項１２】
上記オンラインユーザは、インスタントメッセージングのためにオンラインである、請求項１１に記載の選択されたオンラインユーザのフォーカス状態を維持するシステム。
【請求項１３】
上記コンピュータは、上記選択されていないユーザをオフラインユーザからオンラインユーザに移行させる、請求項１１に記載の選択されたオンラインユーザのフォーカス状態を維持するシステム。
【請求項１４】
上記コンピュータは、オンラインユーザをオフラインユーザに移行させる、請求項１１に記載の選択されたオンラインユーザのフォーカス状態を維持するシステム。
【請求項１５】
上記出力装置は、上記選択された及び選択されていないオンラインユーザを表示するスクリーンを含む、請求項１１に記載の選択されたオンラインユーザのフォーカス状態を維持するシステム。
【請求項１６】
上記スクリーンは、上記選択されていないオンラインユーザの一部のみを表示する、請求項１５に記載の選択されたオンラインユーザのフォーカス状態を維持するシステム。
【請求項１７】
上記コンピュータは、上記選択されていないユーザの状態が変化した後に、上記選択された及び選択されていないオンラインユーザを上側から崩す（collapse 〜 from the top）、請求項１１に記載の選択されたオンラインユーザのフォーカス状態を維持するシステム。
【請求項１８】
上記コンピュータは、上記選択されていないユーザの状態が変化した後に、上記選択された及び選択されていないオンラインユーザを下側から崩す（collapse 〜 from the bottom）、請求項１１に記載の選択されたオンラインユーザのフォーカス状態を維持するシステム。
【請求項１９】
上記コンピュータは、上記フォーカスを上記選択されたユーザに変えると共に、上記出力装置における上記フォーカスの相対位置を維持する、請求項１１に記載の選択されたオンラインユーザのフォーカス状態を維持するシステム。
【請求項２０】
上記スクリーンは、上記選択されていないオンラインユーザの状態が変化した後で、上記選択された及び選択されていないオンラインユーザで完全には埋まっていない（not fully populated）、請求項１５に記載の選択されたオンラインユーザのフォーカス状態を維持するシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
〔発明の背景〕
ミーデン（Meaden）の米国特許6,795,096は、コレクションビューを条件付きでリフレッシュする方法及びシステムを開示している。コレクションビューは、例えばグラフィカルユーザインターフェイスのようなユーザインターフェイス環境に存在するオブジェクトの集まりを参照する。一度、全ての選択されたオブジェクトが処理されると、コレクションビューはリフレッシュされるのみである。さらに、このビューは、選択されたオブジェクトであって、上記ビューに影響を与えるオブジェクトの何れかに対して動作が実行された場合にもリフレッシュされるのみである。
〔要約〕
選択されたオンラインユーザのフォーカス状態を維持する方法であって、上記選択されたオンラインユーザ及び選択されていないオンラインユーザを含むオンラインユーザのリストを取得するステップと、上記選択されたオンラインユーザにフォーカスを形成するステップと、上記選択されていないオンラインユーザの状態を変化させるステップと、上記選択されていないオンラインユーザの状態が変化した後も、上記選択されたオンラインユーザの上記フォーカスが付いた状態を維持するステップとを含む。
〔詳細な説明〕
図１は、第１コンピュータ１０２と第２コンピュータ１０４とを含み、ユーザがオンラインサービスにアクセスでき、一実施形態のソフトウェアを実行させるために使用できるシステム１００を示している。そして、図２は、図１に示すコンピュータ１０２及び１０４のいずれか一つのブロック図を示している。図１には、第１コンピュータ１０２及び第２コンピュータ１０４を示しているが、追加のコンピュータも本実施形態の範疇に入る。システム１００は、これらに限られないがディスプレイ２２２とその他の出力装置２２３のような出力装置２２０と、これらに限られないがマウス２１６、音声入力装置２１７、キーボード２１８、及びその他の入力装置２１９のような入力装置２１５と、本実施形態を補助または実行するコードが組み込まれたソフトウェアプログラムを記憶し、読み出すため、あるいは本実施形態で使用するあるいは本実施形態と相互作用するデータを記憶するために使用でき、これらに限られないが、磁気ディスク記録媒体２１２、光学記憶媒体２１３、及びその他の記憶媒体２１４のような移動可能な記録媒体２１１と、本実施形態を補助または実行するコードが組み込まれたソフトウェアプログラムを記憶し、読み出すため、あるいは本実施形態で使用するあるいは本実施形態と相互作用するデータを記憶するために使用できるハードドライブ２１０と、破線２０１内に示すように、これらに限られないが、ＢＩＯＳ（Basic Input Output System）２０４、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read Only Memory）２０３、オペレーティングシステム２０５、アプリケーションプログラム２０６、プログラムデータ２０７を含むシステムメモリ２０２、プロセシングユニット２０８、システムバス２０９、組織のメンバーがアクセスできるイントラネット及び／またはインターネット２２５上の遠隔のコンピュータへのネットワーク及びまたは通信手段（network and or communications connections）２２４のようなシステム構成要素とを含む。
【０００２】
このようなシステム１００の例では、パーソナルコンピュータ、デジタルアシスタント（digital assistants）、スマート携帯電話（smart cellular telephones）、ポケットベル、アプリケーションサーバやそれに類するものに接続するダム端末を制限無く含む。上記ネットワークは、企業間で操作が共通となるように構成されたネットワークの構成要素の、様々な位相（topology）、構成、及び組み合わせを含み、ワイドエリア及びローカルエリアネットワーク、及び有線、無線、衛星、光学、及び同等のネットワーク技術を含む。インターネットには、ユーザがサービスを受けたいと考えるような、様々なオンラインサービスプロバイダーが存在する。これらのサービスプロバイダーは、様々なサービスを提供する。そして、彼らが提供するサービスの中には、そのサービスを現在使用している、または盛んに使用しているユーザのリストを提供するというものがある。この情報は、一般的に、オンラインユーザに関する特別な情報を提供する一連の機能として提供される。そのようなプロバイダの１つでは、オンラインで２人またはより多くのユーザによるメッセージングまたは、インスタントメッセージングを行うサービスを提供しており、そこではオンラインのユーザがほぼ同時に互いに連絡を取ることができる。
【０００３】
一般的に、表示するべき項目のリストが存在する。リストは、いつでも項目がリストに加わったり、リストから抜けたりするので絶えず変化する。ユーザは、なんらかの方法でその項目に影響を与えるために、リストから項目を選択する。例えば、項目がリストに加わったりリストから抜けたりするように項目の状態は変わるので、ユーザは表示された項目が維持された状態が保たれることを望んでいる。
【０００４】
出力装置のスクリーンにフォーカスが表示されることにより、ユーザは、テキスト、画像、ボタン、リストボックス、チェックボックスのような目に見える画像で示される構成要素を指し示すことができる。さらに、構成要素は、メニュー選択でもよい。ディスプレイ２２２のような出力装置２２０のスクリーンに表示されるフォーカスによって、ユーザは、キーボードやマウスのような入力装置２１４を用いて構成要素を指し示すことができる。フォーカスは、スクリーン上でユーザが今参照している領域を示す視覚的な表示であり、構成要素を囲む破線のボックス（dotted box）またはハイライト領域によって表すものであってもよい。ユーザが参照している構成要素を示すフォーカスがある場合には、その構成要素のことをフォーカスされている、あるいはフォーカス状態にあると言うことができる。
【０００５】
図３ａは、リスト中のオンラインのユーザを表示するスクリーン３０２を示す図である。なお、説明のため、リスト中のオンラインユーザは、第１ユーザ３１６から第９ユーザ３２０となっている。オンラインユーザの数は、ほぼ無制限であるが、本実施形態では、説明のため９人となっている。さらに、特別なことに、スクリーン３０２には、現在オンラインであるユーザの一部のみが表示されており、現在表示されているのは、第２ユーザ３０４、第３ユーザ３０６、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、及び第７ユーザ３１４である。残りのユーザ、すなわち第１ユーザ３１６、第８ユーザ３１８、第９ユーザ３２０は、リストには含まれているがスクリーン３０２には表示されていない。なお、スクリーン３０２のユーザは、第５ユーザ３１０の方にスクロールして、第５ユーザ３１０をフォーカス状態にしている。一定の時間が過ぎて、図３ｂに示すように、第３ユーザ３０６がオフラインになると、スクリーン３０２は、第１ユーザ３１６、第２ユーザ３０４、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、及び第７ユーザ３１４がオンラインであることを示すことになる。スクリーン３０２には、第１ユーザ３１６が追加されている。しかしながら、図３ｂのスクリーン３０２では、フォーカスが第５ユーザ３１０から第１ユーザ３１６に移動し、第５ユーザ３１０はフォーカスが付かない状態となっている。
【０００６】
図３ｃは、オンラインユーザを追加した例を示し、この変化がフォーカスに与える影響を示す図である。図３ｃでは、第１ユーザ３１６、第２ユーザ３０４、及び第９ユーザ３２０はオンラインであるが、スクリーン３０２には示されていない。第３ユーザ３０６はオフラインであり、スクリーン３０２に示されていない。スクリーン３０２は、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、第７ユーザ３１４、第８ユーザ３１８、及び第９ユーザ３２０がオンラインであることを示しており、スクリーン３０２のユーザは、第７ユーザ３１４をフォーカス状態にするために下方へスクロールしている。
【０００７】
一定の時間が過ぎて、第３ユーザ３０６がオンラインとなり、図３ｄは、スクリーン３０２は、スクリーン３０２のユーザに、オンラインのユーザが第１ユーザ３１６、第２ユーザ３０４、第３ユーザ３０６、第４ユーザ３０８、第５ユーザ３１０、及び第６ユーザ３１２であることを示している。ここで、第１ユーザ３１６はフォーカス状態となり、第７ユーザ３１４はスクリーン３０２には示されていないが、依然オンラインのユーザである。スクリーン３０２のユーザは、フォーカスを失っている。
【０００８】
図３ｅでは、スクリーン３０２に表示されているオンラインユーザは、第１ユーザ３１６から第５ユーザ３１０である。図３ｅは、スクリーン３０２にオンラインユーザとして、第１ユーザ３１６、第２ユーザ３０４、第３ユーザ３０６、第４ユーザ３０８、及び第５ユーザ３１０が表示されている図である。スクリーン３０２のユーザは、第４ユーザ３０８に向けて下方にスクロールして、第４ユーザ３０８をフォーカス状態にしている。
【０００９】
第５ユーザ３１０がオフラインとなり、その結果を図３ｆに示す。スクリーン３０２には、第１ユーザ３１６、第２ユーザ３０４、第３ユーザ３０６、及び第４ユーザ３０８がオンラインとして示されている。フォーカスは、第４ユーザ３０８から外れ、第１ユーザ３１６へと移動している。
【００１０】
上記の全ての例において、スクリーン３０２のユーザは、スクリーン３０２のフォーカスがスクリーン３０２の最も上のユーザにリセットされることによって、スクリーン３０２のユーザが選択した所望のユーザに付けられていたフォーカスを失っている。これにより、スクリーン３０２のユーザは、スクリーン３０２に表示されているいずれかのユーザの状態に変化があるたびに、表示を下方にスクロールして所望のユーザに再度フォーカスし直さなければならなくなる。状態の変化としては、表示されているユーザがオフライン状態になることや、オフラインのユーザがオンライン状態になることであってもよい。
【００１１】
図３ｇ−ｉは、本実施形態の外観を示す図であり、オンラインユーザには、第１ユーザ３１６から第９ユーザ３２０が含まれているが、リスト中の全てのオンラインユーザが表示されてはいない状態を示している。図３ｇは、第２ユーザ３０４、第３ユーザ３０６、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、及び第７ユーザ３１４がオンラインであり、上記装置のいずれかの出力装置であるスクリーン３０２に表示されている図である。スクリーン３０２のユーザは、第５ユーザ３１０に向けて下方にスクロールして第５ユーザ３１０にフォーカスを合わせている。第５ユーザ３１０は、スクリーン３０２のユーザに選択されたのでフォーカス状態となっており、一方、第２ユーザ３０４、第３ユーザ３０６、第４ユーザ３０８、第６ユーザ３１２、及び第７ユーザ３１４は選択されていないユーザなのでフォーカス状態となっていない。
【００１２】
図３ｈは、第３ユーザ３０６がオフラインとなることによる効果を示している。図３ｈでは、第１ユーザ３１６、第２ユーザ３０４、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、及び第７ユーザ３１４がオンラインであることを示している。スクリーン３０２のユーザがスクリーン３０２を再フォーカスしなくても、フォーカスは第５ユーザ３１０に残っている。第３ユーザ３０６がオフラインになることによる状態変化は、スクリーンのフォーカスに影響を与えていない。なお、表示されているオンラインユーザは、上側から崩れ（collapse from the top）、第１ユーザ３１６が表示に追加されている。スクリーン３０２の上部に対するフォーカスの相対位置は、変化していない。
【００１３】
図３ｉは、第６ユーザ３１２がオフラインになることによる効果を示している。図３ｉでは、第１ユーザ３１６、第２ユーザ３０４、第４ユーザ３０８、第５ユーザ３１０、第７ユーザ３１４、及び第８ユーザ３１８がオンラインであり、スクリーン３０２に表示されている。スクリーン３０２のユーザがスクリーン３０２を再フォーカスしなくても、フォーカスは第５ユーザ３１０に残っている。第６ユーザ３１２がオフラインになることによる状態変化は、スクリーンのフォーカスに影響を与えていない。表示されているオンラインユーザは、下側から崩れ（collapse from the bottom）、第８ユーザ３１８が追加されている。スクリーン３０２の上部に対するフォーカスの相対位置は、変化していない。
【００１４】
図３ｊ−ｍは、本実施形態の他の形態を示している。図３ｊに示す初期状態では、第１ユーザ３１６から第９ユーザ３２０がオンラインであり、リストに含まれている。そして、スクリーン３２０のユーザは、第７ユーザ３１４に向かって下方にスクロールし、第７ユーザ３１４をフォーカス状態にしている。第７ユーザ３１４は、スクリーン３０２のユーザによって選択されたユーザであり、一方、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、第８ユーザ３１８、及び第９ユーザ３２０は、選ばれていないユーザである。スクリーン３０２は、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、第７ユーザ３１４、第８ユーザ３１８、及び第９ユーザ３２０をオンラインとして表示している。
【００１５】
一定の時間が過ぎ、第７ユーザ３１４がオフラインとなる。図３ｋのスクリーン３０２には、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、第８ユーザ３１８、及び第９ユーザ３２０がオンラインユーザとして表示されている。第８ユーザ３１８が今はフォーカス状態となっている。フォーカスは、スクリーン３０２の上側へと移動してはいない。スクリーン３０２は、空いた行を埋めて表示が完全に埋まった状態を保つために下方へシフトしてはいない。スクリーン３０２の上部に対するフォーカスの相対位置は、変化していない。
【００１６】
一定の時間が過ぎ、第８ユーザ３１８がオフラインとなり、その結果が図３ｌに示されている。スクリーン３０２には、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、及び第９ユーザ３２０がオンラインであり、第９ユーザ３２０が、スクリーン３０２のユーザがスクリーン３０２を下方へスクロールして再フォーカスすることなく、フォーカス状態となっている状態が表示されている。スクリーン３０２の表示は、空いた行を埋めて表示が完全に埋まった状態を保つために下方へシフトしてはいない。スクリーン３０２の上部に対するフォーカスの相対位置は、変化していない。
【００１７】
一定の時間が過ぎ、第９ユーザ３２０がオフラインとなり、その結果が図３ｍに示されている。図３ｍは、スクリーン３０２に第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２がオンラインとして表示されていることを示している。第６ユーザ３１２がフォーカス状態にあり、第９ユーザ３２０がオフラインになることによる状態の変化は、フォーカスに大きな影響を与えてはいない。その結果、スクリーン３０２のユーザは、下方へスクロールして再フォーカスする必要がない。スクリーン３０２の表示は、空いた行を埋めて表示が完全に埋まった状態を保つために下方へシフトしてはいない。
【００１８】
図３ｎ−ｑでは、第１ユーザ３１６から第９ユーザ３２０が始めからオンラインであり、ユーザは始めから下方へスクロールし、第５ユーザ３１０をフォーカス状態にしている。第５ユーザ３１０は、スクリーン３０２のユーザによって選択されたユーザであり、一方、第２ユーザ３０４、第３ユーザ３０６、第４ユーザ３０８、第６ユーザ３１２、及び第７ユーザ３１４は、選択されていないユーザである。図３ｎは、第２ユーザ３０４、第３ユーザ３０６、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、及び第７ユーザ３１４がスクリーン３０２に表示されている状態を示している。スクリーン３０２の上部に対するフォーカスの相対位置は、変化していない。
【００１９】
一定の時間が過ぎ、第５ユーザ３１０がオフラインとなる。図３ｏは、スクリーン３０２に、第２ユーザ３０４、第３ユーザ３０６、第４ユーザ３０８、第６ユーザ３１２、第７ユーザ３１４、及び第８ユーザ３１８が表示されており、第６ユーザ３１２がフォーカス状態であるとして表示されている状態を示している。スクリーン３０２の上部に対するフォーカスの相対位置は、変化していない。フォーカスは、スクリーン３０２の上側へと戻ってはいない。スクリーン３０２では、空いた列をなくし、スクリーン３０２が埋まった状態を保つため、第８ユーザ３１８が追加されている。
【００２０】
一定の時間が過ぎ、第５ユーザ３１０がオンラインとなる。図３ｐは、スクリーン３０２に、第３ユーザ３０６、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、第７ユーザ３１４、及び第８ユーザ３１８がオンラインであるとして表示されており、第６ユーザ３１２がフォーカス状態であるとして表示されている状態を示している。スクリーン３０２の上部に対するフォーカスの相対位置は、変化していない。最も上のユーザ、すなわち第２ユーザ３０４は、第５ユーザ３１０を収容するために、スクリーン３０２の表示から消えている。
【００２１】
一定の時間が過ぎ、第３ユーザ３０６がオフラインとなる。図３ｑにおけるスクリーン３０２には、第２ユーザ３０４、第４ユーザ３０８、第５ユーザ３１０、第６ユーザ３１２、第７ユーザ３１４、及び第８ユーザ３１８が表示されており、第６ユーザ３１２がフォーカス状態として表示されている。第６ユーザ３１２は、第３ユーザ３０６がオフラインになることによる状態変化にも拘らず、またスクリーン３０２のユーザが再フォーカスすることなく、フォーカス状態を保っている。
【００２２】
次に、本実施形態の更なる実施例について記述する。この例では、特定の機能や名目上の変数を使用するが、本実施形態は、これらの特定の機能や変数に限定されない。
【００２３】
図４は、本実施形態のフローチャートを示しており、このフローチャートは、ステップ４０２がスタートとなっている。ここで示すリストは、インスタントメッセージングのためのものであり、オンラインの人々を表しており、例えばアルファベットや年齢等の何らかの種類順になっている「オンライン通信相手（online contacts）」を含むrecordIndexのパラメータを含んでいる。このリストは、レコードオブジェクト（record object）のリストと考えることもできる。recordIndexは、オンライン通信相手のリスト内に含まれており、表示でフォーカスされているレコードに与えられるインデックスであり、この変数はゼロからnumberRecordsから１を引いた値までの範囲の値を取り得る。
【００２４】
次に、リスト変更イベントの後のステップ４０４では、copyOfRecordInFocusの変数がrecordIndexの変数に基づいてリスト機能から取得される。
【００２５】
copyOfRecordIndexの変数がrecordIndexの変数から取得される。そして、copyOfDisplayIndexの変数がgetDisplayFocus機能によって取得される。このgetDisplayFocus機能は、スクリーン３０２の表示でフォーカス状態となっている行に関連付けられたインデックスを返す。getDisplayFocus機能の値は、ゼロから、displaySizeから１を引いた値までの範囲の値を取り得る。次に、ステップ４０６では、リストの変数がgetNewList機能によって取得される。getNewList機能は、各インデックスがレコードを示しているインデックスが配列したものとして捉えることのできるリストを返す。次に、ステップ４０８では、numberRecordsの変数が、リスト内のレコードの数を返すnumberRecordsInList（パラメータ）機能によって取得される。numberRecordsInListのパラメータは、例えば、インデックスの配列のようなリストオブジェクト（list object）である。ここで、numberRecordsInList機能は、ステップ４０６で取得されたリスト変数であり、パラメータとして渡されたリスト内のレコードの数を返す。
【００２６】
ステップ４１０では、numberRecordsの変数がゼロであるか否かを決定することにより、リストが空（empty）であるか否かが決定される。numberRecordsの変数がゼロである場合には、リストは空であり、制御はステップ４１８に移る。そして、numberRecordsの変数がゼロではない場合には、ステップ４１２にて、numberRecordsの変数は、スクリーン３０２に表示可能な行数を示すＮＵＭ＿ＲＯＷＳ＿ＩＮ＿ＤＩＳＰＬＡＹの変数と比較される。numberRecordsの変数がＮＵＭ＿ＲＯＷＳ＿ＩＮ＿ＤＩＳＰＬＡＹの変数より小さい場合には、ステップ４１４にて、displaySizeの変数がnumberRecordsの変数の値に設定される。しかしながら、numberRecordsの変数がＮＵＭ＿ＲＯＷS＿ＩＮ＿ＤＩＳＰＬＡＹの変数以上である場合には、ステップ４１６にて、displaySizeの変数がＮＵＭ＿ＲＯＷＳ＿ＩＮ＿ＤＩＳＰＬＡＹの変数の値に設定される。displaySizeの変数は、リストからのデータで埋めることのできる行数を示し、１からＭＩＮ（numRecords，ＮＵＭ＿ＲＯＷＳ＿ＩＮ＿ＤＩＳＰＬＡＹ）の間の値を取りうる。ＭＩＮは、２つのパラメータの小さい方を返す機能をもつ。ステップ４１４または４１６の何れからも、次に実行されるのはステップ４２０である。ステップ４２０では、recordIndexの変数がnumRecordsの変数から１を引いた値に設定される。numRecordsの変数は、リストにおけるオンラインの通信相手のレコード数を示している。次に、ステップ４２２では、DisplayIndexの変数が、displaySizeの変数から１を引いた値に設定される。DisplayIndexの変数は、ディスプレイ上でフォーカスされている行へのインデックスとなることもあり、ならないこともある。続くステップ４２４では、tmpRcrdの変数が、パラメータとしてのrecordIndexの変数に基づいたリスト機能から設定される（the tmpRcrd variable is set from the list function based upon the recordIndex variable as the parameter）。ステップ４２６では、tmpRcrdの変数が、copyOfRecordInFocusの変数と比較される。tmpRcrdの変数が、copyOfRecordInFocusの変数と等しい場合には、表示調整；対応検出のステップがステップ４２８にて実行される。DisplayIndexの変数は、フォーカスを有する行を指している。TmpRcrdの変数がcopyOfRecordInFocusの変数と等しくない場合には、recordIndexの変数のパラメータから１を引く機能を有する減算（パラメータ）によって、recordIndexの変数を減少させるステップ４２９が実行される。ステップ４３０では、DisplayIndexの変数は、上記減算機能により、１づつ減少する。そして、ステップ４３２では、recordIndexの変数がゼロと比較される。recordIndexの変数がゼロより小さい場合には、ステップ４３４にて、表示調整；対応検出できず、が実行される。そして、displayIndexは、ここではフォーカスを有する行を指していない。recordIndexの変数がゼロ以上である場合には、制御はステップ４２４に移行する。
【００２７】
初期化が必要な場合には、ステップ４１８が実行される。ステップ４１８では、recordIndexの変数がゼロに設定され、displayIndexの変数がゼロに設定され、リスト中のオンライン通信相手のレコード数を示すnumRecordsの変数がゼロに設定され、ディスプレイにおいてリストからのデータを埋めることのできる行数を示し、１からＭＩＮ（numRecords，ＮＵＭ＿ＲＯＷＳ＿ＩＮ＿ＤＩＳＰＬＡＹ）までの値を取りうるdisplaySizeの変数がゼロに設定され、リストが空の状態に設定される。
【００２８】
図５は、ステップ４２８にて、対応が検出されたときのステップを示している。ステップ５０２では、numRecordsの変数が、ＮＵＭ＿ＲＯＷＳ＿ＩＮ＿ＤＩＳＰＬＡＹの変数と比較される。numRecordsの変数がＮＵＭ＿ＲＯＷＳ＿ＩＮ＿ＤＩＳＰＬＡＹの変数よりも大きい場合には、ステップ５０４にて、displayIndexの変数がcopyOfDisplayIndexの変数の値に設定される。そして、制御はステップ５０６に移行し、ディスプレイにおいて一番目となる行のオンライン通信相手のリスト中におけるレコードへのインデックスであるbaseIndexの変数がrecordIndexの変数からdisplayIndexの変数を引いた値に設定される。制御はステップ５０８に移行する。ステップ５０２にてnumRecordsの変数がＮＵＭ＿ＲＯＷＳ＿ＩＮ＿ＤＩＳＰＬＡＹの変数よりも大きくなかった場合には、処理はステップ５１２に移行し、表示の実行（Go Display）によって結果を表示する。ステップ５０８にて、baseIndexの変数がゼロ未満であった場合には、制御はステップ５１０に移行し、displayIndexの変数が減算機能により１づつ減少する。そして、制御は、ステップ５０６に移行する。ステップ５０８にて、baseIndexがゼロ未満ではない場合には、ステップ５１２の表示の実行で結果が表示され、displayIndexの変数が、ここではフォーカスを有する行を指す。
【００２９】
図６は、対応が検出できないときに実行される一連のステップを示している。図４に示したように、対応が検出できないと判断されたときに制御はステップ４３４に移行する。ステップ６０２では、recordIndexの変数がcopyOfRecordIndexの変数の値に設定され、ステップ６０４では、displayIndexの変数がcopyOfDisplayIndexの変数の値に設定される。ステップ６０６では、recordIndexの変数がnumRecordsの変数から１を引いた値と比較される。recordIndexの変数がnumRecordsの変数から１を引いた値よりも大きくない場合には、制御はステップ６１４に移行する。recordIndexの変数がnumRecordsの変数から１を引いた値よりも大きい場合には、recordIndexの変数は、ステップ６０８にて減算機能により減少する。ステップ６１０にて、displayIndexの変数がゼロと比較される。displayIndexの変数がゼロより大きい場合には、制御はステップ６１２に移行するが、displayIndexの変数がゼロより大きくない場合には、制御はステップ６０６に移行する。ステップ６１２では、displayIndexの変数が減算機能によって減少し、制御はステップ６０６に移行する。
【００３０】
図７は、ユーザがオンライン状態とオフライン状態との間を移行したときに、スクリーン３０２上のフォーカスが動かないようにオンラインのユーザを表示するための一連のステップを示している。フローチャートは、ステップ７００から始まり、ステップ７０２では、baseIndexの変数がrecordIndexの変数からdisplayIndexの変数を引いた値に設定される。baseIndexの変数は、オンラインの通信相手のリストにおいて、一番目の行に表示されるレコードに付けられるインデックスである。displayIndexの変数は、ディスプレイで現在フォーカスを有する行へのインデックスとなっている。そして、recordIndexの変数は、例えばオンライン通信相手のリスト中のレコードであって、ディスプレイでフォーカスを有するレコードへのインデックスとなっている。tmpDispIndexの変数は、ステップ７０４にてゼロに設定される。ステップ７０６では、tmpDispIndexの変数は、リストからのデータが表示されるディスプレイにおける行数を示すdisplaySizeの変数から１を引いた値と比較される。tmpDispIndexの変数がdisplaySizeの変数から１を引いた値以下である場合には、ステップ７０８が実行される。tmpDispIndexの変数がdisplaySizeの変数から１を引いた値よりも大きい場合には、ステップ７２０が実行される。ステップ７０８では、例えばオンライン通信相手のリストのレコードに付されるインデックスであり、ディスプレイ上における第１行目を示すbaseIndexの変数が、numRecordsの変数から１を引いた値と比較される。baseIndexの変数がnumRecordsの変数から１を引いた値よりも大きい場合には、ステップ７１２が実行される。baseIndexの変数がnumRecordsの変数から１を引いた値よりも大きくない場合には、ステップ７１０が実行されて、tmpRcrdの変数が、パラメータであるbaseIndexに基づいてリスト機能と等しい値に設定される（set the tmpRcrd variable equal to the list function based on the parameter ,baseIndex）。ステップ７１２では、tmpRcrdの変数が、データを含まず、空白の行を表示するために使用されるBlank_Recordの変数と等しい値に設定される。
【００３１】
ステップ７１０では、tmpRcrdがbaseIndexの変数のパラメータに基づいてリストの値に設定される。ステップ７１０または７１４の後、baseIndexの変数は、ステップ７１４でパラメータを１増加させる加算（パラメータ）機能を用いることによって、１増加することになる。ステップ７１６では、writeToDisplay機能が上記パラメータ、すなわちtmpRcrdの変数及びtmpDispIndexの変数に基づいて実行される。writeToDisplay機能は、ディスプレイのスクリーン３０２に、writeToDisplay機能の一番目のパラメータに含まれるコンテンツを、ディスプレイにおいてwriteToDisplay機能の二番目のパラメータが示す位置に書き込む。続いて、tmpRcrdの変数は、ディスプレイのtmpDispIndexの変数が示す位置に書き込まれる。ステップ７１８では、tmpDispIndexの変数は、加算機能によって増加し、制御はステップ７０６に戻る。
【００３２】
ステップ７２０では、displayIndexのパラメータを用いてsetDisplayFocus機能が実行されて、上記機能にパラメータとして渡された値から、ディスプレイ上でフォーカスを有する行を設定する。この機能により、現在フォーカスがオフとなっている場合には、フォーカスがオンとなる。
【００３３】
ステップ７２２では、displaySizeの変数がゼロと比較される。displaySizeの変数がゼロより大きくない場合には、ステップ７２４にて、clearDisplayFocus機能が実行される。このclearDisplayFocus機能は、フォーカスをオフにするものである。制御はステップ７２６に移行する。displaySizeの変数がゼロより大きい場合には、制御はステップ７２６に移行する。ステップ７２６でルーチンは終了する。
【００３４】
他の実施形態では、音楽を明瞭にデコードできる十分な信号強度を有するため、ユーザが良好に受信できるラジオ局のリストを示すディスプレイを含んでいてもよい。ユーザは、リストから選局することにより、その局に調整できるようになっている。ユーザが移動すると、ラジオ局のリストの状態は変化する。十分な信号強度があればラジオ局が追加されることもあるし、信号強度が弱くなりすぎると消えるラジオ局もある。しかしながら、ユーザは、選択した局を維持したいと考えるであろう。
【００３５】
さらに他の実施形態では、例えばあなたの地元の通勤経路として利用可能なフリーウェイのリストを示すディスプレイを含んでいてもよい。そして、そのリストは、掲示されている制限速度に近い速度で交通が機能しているかどうかを示している。交通状態は変化し得るので、リスト中のフリーウェイの状態もフリーウェイにおける交通の速度の増減によって変化し得る。ユーザがあるフリーウェイを選択し、交通状態に基づく状態変化があってもこの選択を維持したい場合も考えられる。
【００３６】
別の実施形態では、ディスプレイは、予め決められた金額よりも安い値段で販売する品目を有する小売業者のリストを示すものであってもよい。ある小売業者が上記予め決められた金額よりも値段を上げた場合には、小売業者の状態が変化し、この小売業者はリストから消えることになる。別の小売業者が上記予め決められた金額よりも値段を下げた場合には、この小売業者はリストに追加されることになる。ユーザは、小売業者及び販売品目のさらなる情報を得るために、ある小売業者を選択する。ユーザは、リストの状態が変わってもこの小売業者への選択を維持したい場合も考えられる。
【００３７】
上記各実施形態は、種々の変更や代替の形態が可能である。ここでは図面に示す例に基づいて、特定の実施形態について示し、詳細に説明した。しかしながら、ここでの特定の実施形態に関する記述は、開示された特定の形態に本実施形態が限定されることを意図していないことをご理解頂きたい。
【図面の簡単な説明】
【００３８】
上記実施形態は、特定のための参照番号や要素等を含む添付の図面及び下記の記載を参照することによって理解できるだろう。
【図１】一実施形態のシステムを示す図である。
【図２】上記システムの詳細を示すブロック図である。
【図３Ａ】上記実施形態における処理を示している。
【図３Ｂ】上記実施形態における処理を示している。
【図３Ｃ】上記実施形態における処理を示している。
【図３Ｄ】上記実施形態における処理を示している。
【図３Ｅ】上記実施形態における処理を示している。
【図３Ｆ】上記実施形態における処理を示している。
【図３Ｇ】上記実施形態における処理を示している。
【図３Ｈ】上記実施形態における処理を示している。
【図３Ｉ】上記実施形態における処理を示している。
【図３Ｊ】上記実施形態における処理を示している。
【図３Ｋ】上記実施形態における処理を示している。
【図３Ｌ】上記実施形態における処理を示している。
【図３Ｍ】上記実施形態における処理を示している。
【図３Ｎ】上記実施形態における処理を示している。
【図３Ｏ】上記実施形態における処理を示している。
【図３Ｐ】上記実施形態における処理を示している。
【図３Ｑ】上記実施形態における処理を示している。
【図４Ａ】上記実施形態の第１のフローチャートを示している。
【図４Ｂ】上記実施形態の第１のフローチャートを示している。
【図５】上記実施形態の第２のフローチャートを示している。
【図６】上記実施形態の第３のフローチャートを示している。
【図７】上記実施形態の第４のフローチャートを示している。
【図１】
2007317192.tif 000003
【図２】
2007317192.tif 000004
【図３Ａ】
2007317192.tif 000005
【図３Ｂ】
2007317192.tif 000006
【図３Ｃ】
2007317192.tif 000007
【図３Ｄ】
2007317192.tif 000008
【図３Ｅ】
2007317192.tif 000009
【図３Ｆ】
2007317192.tif 000010
【図３Ｇ】
2007317192.tif 000011
【図３Ｈ】
2007317192.tif 000012
【図３Ｉ】
2007317192.tif 000013
【図３Ｊ】
2007317192.tif 000014
【図３Ｋ】
2007317192.tif 000015
【図３Ｌ】
2007317192.tif 000016
【図３Ｍ】
2007317192.tif 000017
【図３Ｎ】
2007317192.tif 000018
【図３Ｏ】
2007317192.tif 000019
【図３Ｐ】
2007317192.tif 000020
【図３Ｑ】
2007317192.tif 000021
【図４Ａ】
2007317192.tif 000022
【図４Ｂ】
2007317192.tif 000023
【図５】
2007317192.tif 000024
【図６】
2007317192.tif 000025
【図７】
2007317192.tif 000026
【外国語明細書】
[TITLE OF THE INVENTION]
2007317192.tif 000027
2007317192.tif 000028
2007317192.tif 000029
2007317192.tif 000030
2007317192.tif 000031
2007317192.tif 000032
2007317192.tif 000033
2007317192.tif 000034
2007317192.tif 000035
2007317192.tif 000036
2007317192.tif 000037
2007317192.tif 000038
2007317192.tif 000039
2007317192.tif 000040
2007317192.tif 000041
2007317192.tif 000042
2007317192.tif 000043
2007317192.tif 000044
2007317192.tif 000045
2007317192.tif 000046
2007317192.tif 000047
2007317192.tif 000048
2007317192.tif 000049
2007317192.tif 000050
2007317192.tif 000051
2007317192.tif 000052
2007317192.tif 000053
2007317192.tif 000054
2007317192.tif 000055
2007317192.tif 000056
2007317192.tif 000057
2007317192.tif 000058
2007317192.tif 000059
2007317192.tif 000060
2007317192.tif 000061
2007317192.tif 000062
2007317192.tif 000063
2007317192.tif 000064
2007317192.tif 000065
2007317192.tif 000066
2007317192.tif 000067
2007317192.tif 000068