(57)【特許請求の範囲】
【請求項１】
ネットワークアクセス可能なアプリケーションと、ワイヤレスリンクを介してネットワークに間欠的に接続される移動装置とを有する、ネットワークの処理継続性を維持するためのシステムであって、
前記ネットワークとワイヤレス通信するための移動トランシーバを有する移動装置と、
前記移動装置とワイヤレス通信するために前記ネットワークに接続される固定トランシーバと、
前記ネットワークに接続され、前記固定トランシーバを制御するためのゲートウェイと、
前記ゲートウェイに接続され、前記移動装置による前記ネットワークアクセス可能なアプリケーションへのアクセスをサポートするよう構成された固定プロセッサと、
前記移動装置の通信及び処理制御に対し専用のエージェントと、
を備え、
前記エージェントが前記固定プロセッサ上で実行され、前記移動装置と前記ネットワークアクセス可能なアプリケーションとの間の通信を処理するために前記ゲートウェイに接続され、前記エージェントは、前記移動装置が前記ネットワークとワイヤレス通信している際に前記移動装置に送信するために前記ネットワークアクセス可能なアプリケーションから受け取るデータを保持するよう構成されているシステム。
【請求項２】
ネットワークアクセス可能なアプリケーションとワイヤレスリンクを介してネットワークに間欠的に接続される移動装置とを有する、ネットワークの処理継続性を維持するための方法であって、
前記ネットワークに接続されたゲートウェイと前記ゲートウェイとワイヤレス通信するためにトランシーバを有する移動装置との間で少なくとも間欠的な通信を維持する段階と、
前記ゲートウェイに接続され、前記移動装置による前記ネットワークアクセス可能なアプリケーションへのアクセスをサポートするよう構成された固定プロセッサを提供する段階と、
前記固定プロセッサ上で前記移動装置の通信及び処理制御に対し専用のエージェントを実行する段階と、
を含み、
前記エージェントを実行する段階が、前記移動装置と前記ネットワークアクセス可能なアプリケーションとの間の通信を処理するために前記ゲートウェイに接続され、かつ前記移動装置が前記ネットワークとワイヤレス通信している際に前記移動装置に送信するために前記ネットワークアクセス可能なアプリケーションから受け取るデータを保持するよう構成されているエージェントを実行する段階である、方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は一般に様々なコンピュータ間の接続を確立、維持することに関し、特にワイヤレスネットワーク内の移動コンピュータに対する通信、処理継続性を維持することに関する。
【０００２】
【従来の技術】
パーソナルコンピュータに対するパラダイムとして一般的なオフィス環境で様々な大きさや能力の多数のコンピュータを統合することがある。それらのコンピュータの統合は、そのような環境の居住者がそれらコンピュータの存在を気づかないように「遍在的に」達成することができる。マーク・ワイザー博士はその論文「２１世紀のコンピュータ」（サイエンティフィック・アメリカン、１９９１年９月版）で、部屋毎に文字通り何百ものコンピュータがある「遍在的コンピュータ化」作業場を説明している。それらのコンピュータは今日の１台のパーソナルコンピュータが提供することのできないレベルの機能性を提供する。
【０００３】
ワイザーの作業空間では、この統合で大きさと性能に関して階層を形成する。最低端では一般にわずか数インチ平方の「タブ」が遍在コンピュータ化の最小構成要素となる。タブは遍在的な設定内で基本的な機能を行う。例えばタブはこの環境に居住する人々が身につける「活動バッジ」として使用する。このバッジの装着者が部屋から部屋へ歩くと、バッジはワイヤレス媒体を通して部屋に対して装着者の存在を通信する。部屋は自動的に例えば照明を暗くしたり、室温を調節したり、個人のために調節を行うことができる。更に建物自身、個人の移動を記録することができ、例えば電話の呼び出しをその個人がいる部屋に廻すことができる。同様にセキュリティドアを特定の個人に対しては開け、その他の人には開けないようにすることができる。
【０００４】
オフィスに対して既にいくつかのワイヤレスネットワークが設計されている。例えば１９９３年５月１１日にナタラジャンに対して与えられた「マルチセル・ワイヤレス・ローカルネットワークでの効率的な帯幅使用のためのロバストスケジューリング機構」の名称の米国特許５，２１０，７５３号で、ナタラジャンは送信の効率的なスケジューリングのため、トランシーバノードを最大限に独立した非干渉ノードの集合に区分する方法を開示している。
【０００５】
１９９３年５月１８日にナタラジャンに対して与えられた「ワイヤレス通信ネットワークでの移動データ局の管理のための分散制御方法」の名称の米国特許５, ２１２, ８０６号で、ナタラジャンは移動装置がノードないしセル境界を横切るに従ってその通信所有権を渡す方法を開示している。
【０００６】
それら上記の発明は一般にネットワークの物理的な層に関し、特に移動装置の１つのベース局から別の局へ通信リンクを転送する方法に関する。それらの問題は「通信継続性」の問題として分類することができる。通信継続性はおもに、２つないしそれ以上の装置（少なくともそのような装置の１つは移動式）の間のデータの継続的な経路を提供する機構に関し、一旦分断されればデータ経路をどの様に再確立するかに関する。
【０００７】
対照的に「処理継続性」は２つの装置間の現在の適切な処理環境を維持するという目標で定義できる。処理継続性により、潜在的な中間結果がエンドユーザに適宜確実に送られるか、それらの中間結果が生成されないことになる（例えば「阻止される」）。
【０００８】
【発明が解決しようとする課題】
上述の発明はいずれも移動装置と遠隔ホスト間の処理継続性を提供する機構を開示していない。遍在コンピュータ化環境の１つの特徴は、移動装置は理想的に小さく、携帯式であることである。この特徴から移動装置は最小の電力消費とする必要があり、従って処理能力は限定される。このようにタブのような遍在コンピュータ化装置は、小型プロセッサと分散アプリケーションとの通信を支援するのに十分な限られたメモリしか必要としない。この種の移動式分散処理を達成するため、ネットワークは通信継続性だけでなく処理継続性を提供する十分な機構を有していなければならない。
【０００９】
そこで生じる１つの設計問題は、位置情報を集中化あるいは分散化すべきかどうかということである。実施の容易さやシステム性能など、各々の設計を選択するには多くの理由がある。例えば位置情報の集中化データベースはシステム資源として実施、管理が容易であるが、集中化データベースがボトルネックになってシステム性能を劣化する可能性がある。更に集中化、非集中化データベースの選択は、システムユーザが所望する機密性及びプライバシーのレベルに依存する可能性があるという、社会的なものを含む理由が他にある。
【００１０】
しかし非集中化ネームサービスは遍在コンピュータ化環境で望ましいであろう。そのような環境では、移動装置はすべて装置のアテンションを張り合ういくつかの関連アプリケーション・プロセスを有することができる。これは特にパーソナルディジタル・アシスタント（ＰＤＡ）として使用するユーザのタブに対して当てはまる。ユーザがそのような環境を歩き回ると、ユーザは環境内で特定の機能を制御するあるいはユーザに要求情報を供給するいくつかのプロセスに対してアクセスを有することができる。それらのプロセスは、ユーザにその状態を通知するため、ユーザのタブのアテンションを所望する。移動装置が一時的にネットワークに対する接続を失うと、接続が再確立されるときまでアクセス可能な処理はその状態と情報を維持しなければならない。
【００１１】
それらの異なる処理間の全ての参照を解決する仕事を有する大域ネームサービスは妥当なシステムスループットに対してボトルネックになる可能性がある。これは特に、ネームサービスが移動装置との通信を所望する全ての処理に対してアクセス許可を与える仕事を有する場合にそうである。さもなくば、ネームサービスが移動装置に対する無制限のアクセスを許容する場合、個々のユーザは望ましい程度の機密とプライバシーを逸することになろう。
【００１２】
更に、バッファ以外の機構は処理継続性に対してより有利である。バッファは本来的に割り当てられる記憶量に制限される。同様にいくつかのプロセスが移動装置と同時に通信を試みる場合、バッファされたパケットを様々なプロセスから分離、再組み合わせる方式を実施する必要がある。
【００１３】
このように移動装置の位置を容易に更新可能にし、ユーザがどのプロセスがその装置に対するアクセスを有するかを制御可能にすると同時に通信アプリケーションの処理状態の保持を可能にする機構が必要である。
【００１４】
従って本発明の目的は移動装置との通信を所望するアクセス可能なプロセスの状態を保持することで移動装置に対する処理継続性を可能にする機構を提供することである。
【００１５】
本発明の別の目的は、移動装置の位置を容易に更新する機構を提供して通信装置とその関連プロセス間の通信を容易にすることである。
【００１６】
本発明の更に別の目的はどのプロセスがその移動装置に対するアクセスを有するかのユーザの裁量を可能にする機構を提供することである。
【００１７】
【課題を解決するための手段】
本発明は新規のアプリケーション・インターフェイス即ち移動コンピュータがその関連アプリケーションプログラムとの処理継続性を維持可能にする「エージェント（媒介装置）」を使用するワイヤレス通信システムである。
【００１８】
作業場環境内の各々の移動コンピュータには少なくとも１つのエージェントを割り当てる。エージェントはおもにその割り当てられたコンピュータのために作動する。例えばエージェントはその割り当てられたコンピュータの位置を「知る」責任を持っている。移動コンピュータに対してルート付けされた通信はすべてそのエージェントを通して行われる。本発明の移動コンピュータが遠隔ホスト上のアプリケーションを実行する場合、移動コンピュータとそのアプリケーション間の全ての通信はそのエージェントにより媒介される。
【００１９】
更にエージェントは移動コンピュータの機密に対して責任を有する。移動装置との通信を要求するアプリケーションはいずれもエージェントの許可を得なければならない。移動装置とアプリケーション間の通信が一旦開始されれば、他のアプリケーションは通信開始スケジュールがなされるまで待機する。
【００２０】
【作用】
本発明の１つの利点は処理継続性である。遠隔ホストに常駐するアプリケーションプログラムを実行する移動コンピュータは装置がセルからセルへ移動しても移動装置に接続される。
【００２１】
本発明の別の利点は機密性にある。移動装置との通信を所望するいずれのプロセスないしアプリケーションも、そのエージェントによりクリアされる必要がある。エージェントは許可されたユーザやアプリケーションのリストを維持する。
【００２２】
本発明の更に別の利点は、アプリケーションはタブが移動式であることを「知る」必要がないことである。その代わりアプリケーションは常に固定ネットワークアドレスにあるタブのエージェントと通信する。
【００２３】
本発明の別の利点は、ＩＲデータトラフィックが最小限に保たれるということである。これは１つだけの通信アプリケーションが一時にタブに対するアクセスを得られるようにすることで達成する。通信を所望する他のアプリケーションはタブのエージェントとスケジュールする必要がある。
【００２４】
本発明の別の利点は、タブの処理要件が最小に保たれることである。この要件によりタブの大きさを小さくし、消費電力を少なくすることができる。タブの機能の多くは分散的に処理され、結果は一時に１つのアプリケーションでタブに通信される。
【００２５】
【実施例】
図１で、オフィス１０構成は「遍在コンピュータ化」環境を支援している。そのような環境で見られる構成要素は、ハード配線ネットワーク幹線１２、無線及び赤外線トランシーバ１４、１６、ワークステーション１８、ファイルサーバ２０、プリンタ２２、様々な移動装置２４、２６、２８からなる。
【００２６】
ネットワーク幹線１２は様々な通信及びコンピュータ装置間の高帯幅通信を提供する。本実施例では１０Ｍｂｐｓイーサネットが基本的なインフラストラクチャを提供する。幹線に対してはいずれのネットワークアーキテクチャでも十分であるが、帯幅はいくつかの所定のベンチマーク性能の為に所望の最大数の装置を十分支援できる大きさであることが望ましい。
【００２７】
この環境の構成要素は「固定」ないし「移動」として適切に分類することができる。固定構成要素は一般にネットワーク幹線１２にハード配線されている。そのような構成要素には、ユーザワークステーション１８、ファイルサーバ２０、プリンタ２２などがある。その他のネットワーク化可能な構成要素をオフィスのニーズに併せてインフラストラクチャに接続できることが理解されよう。
【００２８】
移動通信及びコンピュータ装置はそれぞれ無線及び赤外線トランシーバ１４、１６を通してネットワーク幹線１２に接続している。赤外線を媒体として用いる１つの利点は周波数を再利用できることである。即ち壁１３は実質的に赤外線の伝搬に対して不透明であり、従って１つの部屋での赤外線の伝搬が別の部屋の赤外線の伝搬を妨げることはない。この実質上の仕切り故に個々の部屋１１を通信「セル」と称する。この有用な性質により、作業場の各々のセルに対し赤外線帯幅の再利用が可能になる。赤外線をワイヤレス通信の媒体として使用することは従来技術でよく知られていることが理解されよう。
【００２９】
アンテナで生成された「近距離場（ｎｅａｒ  ｆｉｅｌｄ）」成分を使用して移動装置とネットワークとを結合する場合、単一の無線周波数で同様の通信隔壁が可能である。「近距離場」という用語は、伝搬波の生じることのない励起されたアンテナの場成分のことである。近距離場通信の利用は、リッチレィ他により１９９２年１２月３日に出願された「近距離場結合を用いたワイヤレス通信」の名称の共通に譲渡された米国特許出願番号０７/ ９８４, ８２１号に開示されている。本実施例では無線及び赤外線の伝搬を利用しているが、電磁及び音響スペクトルの他の帯幅も適切である可能性があり、本発明はそれら２つの特定の周波数の利用に限定されないことが理解されよう。更に通信スペースを非干渉セルに仕切るために複数の周波数を使用できることも理解されよう。
【００３０】
タブ２６、パッド２４、ボード２８はワイヤレス媒体を通してネットワークと接続した移動装置である。上記のそれらの装置は遍在コンピュータ化環境の核心を為している。本実施例では、タブ２６は小型のスタイラスベースの移動コンピュータである。タブ２６は従業員のベルトにはさむように設計されており、作業場を通してパーソナルディジタルアシスタント（ＰＤＡ）として持ち運ぶことができる。
【００３１】
機能的にタブ２６は簡単な装置である。そのスピードとメモリ容量は非常に小さく、それらの装置を非常に小さく、電力消費も少なくすることができる。その結果、タブ２６は非常に携帯に便利になっている。本実施例のタブ２６はおもにディスプレイ端末として使用し、コンピュータアプリケーションが遠隔ホスト上で常駐し、実行する間、タブ２６でアクセスできるようになっている。
【００３２】
タブ２６は更にその画面に表示された情報に対応してそのユーザが生じた事象を報告することもできる。それらの事象はタブ上の器械的なボタンを押すことでトリガすることもできれば、スタイラスを感圧ディスプレイに対して押圧するあるいはその他の適切なユーザインターフェイス機構によりトリガすることができる。
【００３３】
タブ２６を有するユーザが通信セルから通信セルへ移動すると、タブ２６は周期的にネットワークから分断される。そのような分断はトランシーバが接触を保つことができない通信「デッドゾーン」にタブが入るあるいはその電池の放電などのタブそれ自身の故障あるいはユーザがタブの電源を切るなど、いくつかの理由で生じることがある。
【００３４】
分断の原因を取り除くと、タブ２６はネットワークに再接続される。その機能の一部として、タブ２６は定期的にユーザがプロンプトしなくともビーコンパケットを同報通信する。従ってユーザが別のセル（ないし異なるときに元のセル）と近接した通信セルに入ると、タブ２６はその定期的な同報通信ないしユーザがトリガしたパケットを通してネットワークと接続を再確立する。以下に詳細に説明するように、全てのタブパケットにはタブの仮想アドレスとしての役割をする「タブ番号」が含まれている。ネットワークはその仮想アドレスを用いて接続を再確立する。ここでネットワークと定期的な接触を維持する他の方式があることが理解されよう。例えば赤外線トランシーバはそのセル内の移動装置をポーリングすることができる。本発明は本実施例の通信ハンドオフ方法に限定されない。
【００３５】
接続が再確立されると、現在タブ２６と実行、通信していたアプリケーションはタブ２６との処理継続性を維持し、その状態を更新しなければならない。本発明は処理継続性を維持する問題に関する。
【００３６】
この点を例示するため、図２、３に簡単な例を示す。図２では、ユーザ３４はセル３０内にあり、タブ２６を保持している。ユーザのタブ２６は作業場内でのユーザの位置を継続的に示す「現在位置」プログラムの結果を表示して示されている。このプログラムは遠隔ホスト（図示せず）上に常駐して実行される。セル３０内でタブ２６は赤外線トランシーバ１６でのワイヤレスリンクを通してこのプログラムと通信し、接続を処理している。ユーザ３４がセル３０を出ると、ユーザは「デッドゾーン」に入り、タブ２６とのネットワーク接続は途切れる。
【００３７】
その接続はユーザ３４が図３に示す通信セル３２に入るまで再確立されない。タブ２６がその存在をセル３２内で同報通信する場合、ユーザ３４の新しい位置はネットワーク内で更新され、その情報は実行を続ける位置探索プログラムに送らなければならない。その情報が更新されると、プログラムは一方でその結果をネットワークの赤外線リンクを通してタブ２６と通信する。本発明は異なるセル間の通信ハンドオフ方法に加えて処理間通信と継続性及びそれらを実行するプロトコルに関することが理解されよう。
【００３８】
ここで図４を参照して本実施例の全体的なアーキテクチャを説明する。アーキテクチャは図１で上記に概説したハードウエア・インフラストラクチャと相互作用するいくつかのソフトウエア構成要素からなる。ソフトウエア構成要素には赤外線ゲートウェイ６０、ネームサービス６２、エージェント６４、メインメニューシェル６６、アプリケーション６８がある。それらの構成要素の各々の機能を以下に詳述する。
【００３９】
図５は本発明の原理に従って接続したシステム構成要素の一般的なレイアウトを示す。図示するように、様々なソフトウエア構成要素がネットワークに接続された異なるワークステーション７２、７４、７６、７８間で分散されている。ユーザ３４はネットワークとトランシーバ１６を通してワイヤレス通信を維持するタブ２６を保持している。本実施例で、トランシーバ１６はＲＳ−２３２ケーブル７０でネットワーク化ワークステーション７２と接続されている。トランシーバの直列ないし並列接続を行う他の手段が可能であり、本発明はここに示す手段に限定されないことが理解されよう。
【００４０】
エージェント６４とシェル６６はワークステーション７４上で実施し、アプリケーション６８はワークステーション７４、７８上で実施するように示している。ネームサービス６２はワークステーション７６を通してネットワークと接続されている。それらのワークステーションはネットワーク幹線１２により相互接続されている。本発明は図５に示すものとは異なるいくつかのレイアウトで実施できることが理解されよう。例えばシステム上のソフトウエア構成要素は１つのワークステーション上に常駐ないしいくつかのワークステーションに渡って分散することができる。しかし分散では妥当なシステムスループットのために使用可能なワークステーションに渡って均衡の取れた負荷をもたらすことが望ましい。
【００４１】
本発明はネットワークに登録された各々のタブに付いて、そのタブ専用の様々なタスクを取り扱う専用プロセス（即ち「エージェント」）があるという基本的な前提から出発している。例えばエージェントはアプリケーションとタブ間の通信を容易にする。エージェントは更にタブのアテンションを張り合っている許可アプリケーション間の競合をスケジュール、解決する責任を有している。
【００４２】
エージェントは所与の時に１つだけのアプリケーションがタブと通信できるようにする。この要件により、全てのアプリケーションが同時に通信する機会を有すれば流れる赤外線媒体を流れるデータトラフィック量は少なくなる。これは赤外線伝搬速度が幹線伝搬速度よりもはるかに遅い場合に構成で特に重要である。本実施例では、幹線は固定及び移動装置により共用される１０Ｍｂｐｓイーサネットであり、直列ＲＳ−２３２ポート用に３８. ４Ｋｂｐｓに下げる。この速度は更に１９. ２Ｋｂｐｓ赤外線伝搬速度に下げる。
【００４３】
更に、「一時に１つのアプリケーション」通信という要件により、同時に通信しようとする２つないしそれ以上のアプリケーションからのパケットを正確に記憶、処理するというタブの余分な処理雑用を緩和することができる。タブ通信を複数アプリケーションで支援するため、本発明に対して適切な修正を行うことができることが理解されよう。
【００４４】
本発明の全体的なアーキテクチャと設計原理を説明したが、ここで様々なソフトウエア構成要素の十分な実施詳細を説明して当業者の理解を助けるようにする。本実施例の解説は、タブから赤外線ゲートウェイとエージェントを通して通信アプリケーションまでのシステム構成要素の通信経路を辿ることにする。ネームサービスとシェルはこの通信、処理経路に対するそれらの支援に関して説明する。  上述したように、タブは定期的に同報通信パケットの標識を発してその存在をその範囲内のトランシーバに対して通知する。このパケットにはタブエージェントに対する仮想アドレスとしての役割をする「タブ番号」が含まれている。赤外線ゲートウェイはタブからこのパケットを受けて処理し、送信タブと連関したエージェントに送る。
【００４５】
タブからのパケットは更に「シーケンス番号」を含んでいる。タブは各々のパケットが送られた後シーケンス番号を増分する。シーケンス番号の目的は、目標アプリケーションにより同一パケットが２回あるいはそれ以上働きかけられるのを防ぐためである。これはタブのパケットが２つないしそれ以上の赤外線トランシーバにより受信ないし送信される場所でタブが送信する場合に重要である。そのような場合、同一パケットの複数コピーがアプリケーションにより受け取られる。
【００４６】
赤外線ゲートウェイはネットワークとトランシーバ間の通信を行うのに責任を有するソフトウエア構成要素である。図５に示すように、赤外線ゲートウェイ６０はワークステーション７２、即ちＲＳ−２３２ケーブル７０が物理的に接続された同一ワークステーションに常駐する。しかしトランシーバとワークステーション間の距離がＲＳ−  ２３２仕様を越えなければ赤外線ゲートウェイを実行するワークステーションのものとは異なる場所にトランシーバを置くことができる。
【００４７】
本実施例で、赤外線ゲートウェイはトランシーバとエージェント間の通信を行うため、イーサネットベース遠隔手続き呼出し（ＲＰＣ）インターフェイスを伝える。ゲートウェイはユーザデータブラム・プロトコル（ＵＤＰ）と同様に信頼できないパケット配送サービスを提供する。赤外線ゲートウェイを実施する疑似コードを以下の表１に示す。
【００４８】
【表１】
0004031535.tif 000002
0004031535.tif 000003
当業者には理解されるように、ゲートウェイの主要な機能はタブパケットないしエージェントパケットを処理することである。ゲートウェイがタブパケットを受け取ると、ゲートウェイは検査合計を検査してパケットがエラー無しに送信されたことを検証する。従来技術で数々のエラー検出、補正方式がよく知られており、本発明はどの特定の方式にも限定されないことが理解されよう。
【００４９】
パケットがエラー無しであれば、ゲートウェイはパケットを復号して「タブ番号」を得る。タブ番号は各々のタブに割り当てられた仮想アドレスである。この番号はタブがトランシーバに送る全てのメッセージに含まれている。ゲートウェイがこのタブに対して現在通信「待ち行列」設定を有するならば、ゲートウェイはそのアドレスをパケットに対して添付してパケットをエージェントに対して送信する待ち行列に送る。  しかしゲートウェイがタブに対する現在待ち行列を持っていない場合（ゲートウェイがタブと初めて通信する場合など）、ゲートウェイはタブのエージェントのアドレスに付いてネームサービスに問い合わせる。アドレスを得れば、ゲートウェイはタブに対する新しい待ち行列を作成し、オリジナルのパケットの縮小版を待ち行列に送る。
【００５０】
しかし受け取ったパケットがエージェントからの場合、ゲートウェイはパケットに検査合計を加え、パケットをトランシーバにより同報通信するために送る。
【００５１】
ゲートウェイがタブから受け取る全てのパケットはタブのエージェントに送られる。一般にエージェントはその連関タブとその許可アプリケーションの間の全ての通信の必要なインターフェイスを提供する。エージェントはタブのアテンションを得ようとする様々なアプリケーションの間の競合をスケジュール、解決する。タブとの通信を許可されたアプリケーションのリストは、シェルによりエージェントがアクセス可能な本実施例で「ｔａｂｒｃ」と称するファイル内に保持する。エージェントを実施する疑似コードを以下の表２に示す。
【００５２】
【表２】
0004031535.tif 000004
0004031535.tif 000005
0004031535.tif 000006
0004031535.tif 000007
0004031535.tif 000008
開始すると、エージェントはそのアドレスをネームサービスに登録してゲートウェイやその他のものがエージェント及びその連関タブと通信できるようにする。エージェントは実行を始めると、アプリケーションないしゲートウェイからのパケットの処理を待機する。ゲートウェイから到達するパケットはエージェントの連関するタブから発している。
【００５３】
アプリケーションからのパケットを処理する際、エージェントは「再試行待ち行列」と「再試行タイマ」を維持する。待ち行列とタイマの目的は、受信タブが有効な肯定応答（即ち「ＡＣＫ」）を送り返すまでアプリケーションからのパケットをバッファすることである。タイマが有効なＡＣＫを受け取る前に時間切れになる場合、エージェントは格納されたパケットを再び送り、タイマをリセットする。ほとんどの場合、再試行タイマがリセットされる時間は先の時間よりも長い。この一般的な規定に対する例外は、時間が最大時間まで拡張されたときに生じる。同様にエージェントがそのタブが「局所モード」（即ちタブは赤外線パケットを受信しているが処理していない）であると判定する場合、再試行時間は実際には削減される。しかし任意のパケットがタブから到達すると、再試行タイマはその最初の設定にセットされる。
【００５４】
アプリケーション要求がアプリケーション制御ないし送信メッセージであることがある。アプリケーション制御メッセージは新しいアプリケーションを開始するか、背景で走行しているアプリケーションを再開するか、アプリケーションを抹殺することができる。
【００５５】
要求が新しいアプリケーションを開始する場合、そのアプリケーションに宛てられるパケットをバッファする目的で新しい「アプリケーション待ち行列」が作成される。この新しい別の待ち行列は、新アプリケーションが「間違った対応をする」場合に生じ得るデッドロックの可能性に対する保護を提供する。
【００５６】
アプリケーション制御は供給された「目標」アプリケーションに対して作動する。シェルだけがそれら自身以外に開始ないし再開でき、シェルだけがアプリケーションをそれ自身以外に抹殺することができる。
【００５７】
アプリケーションからのパケットは「現在」アプリケーションないし新しいアプリケーションからとすることができる。パケットが現在アプリケーションからの場合、パケットは再試行待ち行列に送られる。エージェントはゲートウェイのアドレスを適切な取り扱いのためにパケットに添付する。ゲートウェイのアドレスはゲートウェイから受け取る最終パケットから得ることができる。パケットはタブから有効なＡＣＫを受け取るまで再試行待ち行列に格納される。それを受け取ると、パケットを待ち行列から取り除く。
【００５８】
新しいアプリケーションから送られたパケットは新しい「アプリケーションＩＤ」を含んでいる。以下から分かるように、シェルは新しいアプリケーションを開始すると独自のＩＤ番号を作成する。このＩＤ番号はエージェントと新しいアプリケーションの両方に送られる。エージェントはこの新しいＩＤを受け取ると、その「新アプリケーションフラッグ」を真にセットする。エージェントは更にアプリケーションの新しいアプリケーション待ち行列を作成する。エージェントが新しいアプリケーションからの最初のパケットを受け取ると、エージェントはこのパケット内のＩＤ番号に対してその記憶されたＩＤ番号を検査する。両ＩＤ番号が一致すれば、エージェントはこの新アプリケーションを現在アプリケーションとして設定する。このような形でアプリケーションＩＤ番号を使用することで、ユーザに対し機密レベルを提供する。  ゲートウェイから受け取ったパケットはＡＣＫ、「局所モード」への入退出の指示、ビーコン、タブからアプリケーションへのパケットのいずれかである。上述したように、ゲートウェイのアドレスはタブとの将来の通信のために格納される。パケットが局所モードでなくてタブからのＡＣＫである場合、ＡＣＫはアプリケーションのパケットの有効な受領を肯定応答する。肯定応答したパケットは次に再試行待ち行列から除去する。パケットがアプリケーションに対して宛てられる場合、そのパケットはそのアプリケーションの待ち行列に送られる。
【００５９】
全てのアプリケーションはそれらの待ち行列から事象を読み取り、それらの事象を処理し、タブのエージェント事象を送って対応する。これを行うため、全てのアプリケーションはそれらの特定アプリケーションコードをもたらす同様のメインプロセスを実行する。このメインプロセスを実施する疑似コードを以下の表３に示す。
【００６０】
【表３】
0004031535.tif 000009
0004031535.tif 000010
アプリケーションはシェルでブートアップされた後、シェルにより与えられるアプリケーションＩＤを用いてエージェントと接続する。次にアプリケーションはエージェントからの事象を待機する。本実施例では、エージェントは一時に１つの事象しかアプリケーションに提供しない。アプリケーションは各々の事象を与えられる事象の種類とアプリケーションの状態により処理する。アプリケーションの状態は一方でその特定コードと先の事象に依存する。
【００６１】
例えばアプリケーションはパケットがタブから発するペン事象あるいはボタン事象か、ないしエージェントから発する再描画事象かを判定する。ペン事象とボタン事象の両方はユーザが開始したそれらの要求を解釈、取り扱う処理を呼び出す。例えばユーザがタブ画面のアイコンをタッチすると、タッチしたアイコンのｘ−ｙ座標はペン事象パケットでエージェントに送られる。それらの座標はそれらの座標でアイコンにより可視的に示されたプロセスを開始する要求として解読、判断される。
【００６２】
これらのプロセスはタブに送るメッセージを生成することができる。そのようなメッセージはタブ画面に図形を配置したり、タブのスピーカを鳴らすことができる。アプリケーションは一時にそのような要求の１つをエージェントに送り、継続する前にエージェントからのＡＣＫを待つ。
【００６３】
本実施例のシェルは「特権」アプリケーションとして作動する。即ちシェルの主要なループはアプリケーションの主要ループと似ているが、シェルは通常のアプリケーションが行わない追加機能を行うことができる。例えばシェルは新しいアプリケーションを開始したり、一時停止したアプリケーションを再開したり、新しいユーザに対してタブを制御するログイン機能を提供してアプリケーションをスケジュールする。シェルの疑似コードを以下の表４に示す。
【００６４】
【表４】
0004031535.tif 000011
0004031535.tif 000012
0004031535.tif 000013
0004031535.tif 000014
0004031535.tif 000015
シェルのメインループから分かるように、シェルは最初にエージェントによりブートアップされ、エージェントのアドレスはシェルに渡され、格納される。シェルはユーザにより許可されたアプリケーションのリストを含むｔａｂｒｃと称するテキストファイルを読み取りユーザのコンピュータ化環境をロードする。ｔａｂｒｃは更にアプリケーションに対してアイコンとして使用するビットマップ化ファイルの名前を含んでいる。それらのアイコンはタブそれ自身で表示される。ユーザのホームディレクトリにｔａｂｒｃファイルが見つからなければ、総称ｔａｂｒｃをロードする。
【００６５】
【発明の効果】
以上から本発明は移動タブとアプリケーション間の処理継続性を提供する機構を提供することが理解されよう。この継続性は部分的に関連タブとアプリケーションの間の通信インターフェイスを供給する専用エージェントプロセスにより与えらえる。エージェントはタブに送られた全てのパケットを常にその再試行待ち行列に配置する。パケットはタブから有効な肯定応答を受け取るときにのみ待ち行列から除去される。従ってタブへの通信経路の分断が生じる場合、中間処理結果が最終的にタブに送られる。
【図面の簡単な説明】
【図１】  移動装置に対するワイヤレス接続を有するネットワークにより相互接続された遍在的コンピュータ化環境を示す図である。
【図２】  本発明を使用した遍在的コンピュータ化環境の一般的な例を示し、ユーザは遠隔ホストに常駐する特定アプリケーションを実行する移動装置を保持している。この図でアプリケーションは「現在位置」プログラムであり、作業場内でのユーザの位置を示す。
【図３】  本発明を使用した遍在的コンピュータ化環境の一般的な例を示し、ユーザが隣接部屋に移動し、ユーザの装置が遠隔アプリケーションとの処理継続性を維持していることを示す。ユーザの装置は新しい部屋に到達して更新されている。
【図４】  本発明の手法を使用したシステムアーキテクチャの高レベル図である。
【図５】  本発明の原理に従って作製した実施例で見られるシステム構成要素の一般的なレイアウトである。
【符号の説明】
１０…オフィス、１２…ネットワーク幹線、１３…壁、１４，１６…トランシーバ、１８…ワークステーション、２０…ファイルサーバ、２２…プリンタ、２４…パッド、２６…タブ、２８…ボード、３０，３２…セル、３４…ユーザ、６０…赤外線ゲートウェイ、６２…ネームサービス、６４…エージェント、６６…メインメニューシェル、６８…アプリケーション、７０…ＲＳ−２３２Ｃケーブル、７２，７４，７６，７８…ワークステーション
【図１】
0004031535.tif 000016
【図２】
0004031535.tif 000017
【図３】
0004031535.tif 000018
【図４】
0004031535.tif 000019
【図５】
0004031535.tif 000020