JP4418137B2 - ネットワークブラウザー装置、コンピュータ、コンピュータを診断および補修する方法 - Google Patents

ネットワークブラウザー装置、コンピュータ、コンピュータを診断および補修する方法 Download PDF

Info

Publication number
JP4418137B2
JP4418137B2 JP2001540636A JP2001540636A JP4418137B2 JP 4418137 B2 JP4418137 B2 JP 4418137B2 JP 2001540636 A JP2001540636 A JP 2001540636A JP 2001540636 A JP2001540636 A JP 2001540636A JP 4418137 B2 JP4418137 B2 JP 4418137B2
Authority
JP
Japan
Prior art keywords
module
network
data
browser
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001540636A
Other languages
English (en)
Other versions
JP2003515817A (ja
Inventor
チャン,ロン−ウェン
リー,ジョン,ケー
リン,ロン,ケー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Elegent Technologies inc
Original Assignee
Elegent Technologies inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Elegent Technologies inc filed Critical Elegent Technologies inc
Publication of JP2003515817A publication Critical patent/JP2003515817A/ja
Application granted granted Critical
Publication of JP4418137B2 publication Critical patent/JP4418137B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般的には、ネットワークブラウザーソフトウェアに関し、より詳しくは、診断能力を有する独立ネットワークブラウザー(self-contained network browser)に関する。
【0002】
【従来の技術】
ウェブブラウザー(または、“ブラウザーソフトウェア”)は、ネットワークからデータを送信またはネットワークからデータを受信するために、パーソナルコンピュータによって実行される。通常、ネットワークは、インターネットのようなワイドエリアネットワーク(wide area network)、またはイントラネットのようなローカルエリアネットワーク(local area network)である。ブラウザーソフトウェアがネットワークに接続されると、ブラウザーソフトウェアは、他のコンピュータまたはネットワーク上の“サーバー”からの、ハイパーテキストマークアップ言語(“HTML”)ファイルのような情報を要求することができる。
【0003】
カリフォルニアのマウンテンビューにあるNetscape Corporationから入手可能なNetscape Navigator(TM)のようなブラウザーソフトフェアの大部分のアスペクトは、アプリケーションプログラムである。図1は、パーソナルコンピュータのための、公知のソフトウェアスタック(software stack)100を示している。ソフトウェアスタックを形成するソフトウェアは、パーソナルコンピュータの読出専用メモリ(“ROM”)及びハードドライブに永続的に蓄積される。実際、プロセッサーに永久的に添付される、限定目的実行可能なファームウエアコード(limited purpose executable firmware code)を有する基本入出力システム(basic input output system)(以下、“BIOS”という)104は、ROM内に蓄積される。BIOS104は、作動システム(オペレーティングシステム)によって命令された時に、ローレベル入力及び出力動作を制御する。
【0004】
オペレーティングシステム108は、パーソナルコンピュータのシステム資源(例えば、メモリ管理装置及び周辺装置)、ならびにシステム資源を用いる他のプログラム(例えば、アプリケーション)を共同して管理する1または複数のソフトウェアプロダクトである。デバイスドライバー(device driver)は、オペレーティングシステム108の部分となり、またはオペレーティングシステム108のトップ(top)に付加可能である。例えば、いくつかのデバイスドライバーは、必要な場合には、メモリ内にダウンロード可能である。
【0005】
1または複数のアプリケーション116は、オペレーティングシステム108のトップに積み重ねる(stack)ことができる。アプリケーション116は、アプリケーション116によって呼び出される機能及び手順を含むアプリケーションプログラミングインターフェース(以下、“API”という)112を介してオペレーティングシステム108と通信する。アプリケーション116によって呼び出されるAPI112の機能及び手順は、オペレーティングシステム108に順に渡される。そして、オペレーティングシステム108は、必要な入/出力処理をBIOS104に渡し、またはデバイスドライバーを直接使用してそれらを処理する。
【0006】
オペレーティングシステム108、API112及びアプリケーション116は、BIOSと違って、全てパーソナルコンピュータのハードドライブ内に蓄積される。これは、主にソフトウェア構成要素の大きさのためであり、それらの拡大可能な特徴のためではない。
【0007】
大部分のブラウザーソフトウェアがアプリケーションとして書かれている主な理由は、より“ポータブル”であるからである。ここで、“ポータブル”という用語は、異なるオペレーティングシステム(例えば、UNIX(登録商標)、Windows98(TM)(登録商標)等)、ならびに、同じオペレーティングシステムを作動させる異なるタイプのコンピュータ上で作動するように容易に修正可能であるということを意味する。これは、プロダクトに対するソフトウェア売主の市場を拡大する。
【0008】
【発明が解決しようとする課題】
最近の法律上の災いでは、Microsoft Corporationは、ブラウザー(インターネットエクスプローラ)が、オペレーティングシステムに付加されるアプリケーションであるというよりは、オペレーティングシステムの部分であるという、多くの事実を作った。Microsoftのブラウザーが、オペレーティングシステムの部分であるか、またはオペレーティングシステムに付加されるアプリケーションであるか否かはわからない。Microsoftの(または、他の公知の)ブラウザーが、オペレーティングシステムの部分、またはアプリケーションプログラムであるか否かに関係なく、ブラウザーは、オペレーティングシステムのように、ハードディスク内に蓄積される。ハードディスクが故障すると、ブラウザー及びパーソナルコンピュータは、通常は役に立たない。
【0009】
【課題を解決するための手段】
ハードディスク以外の永続メモリに蓄積される、診断能力を有するネットワークブラウザーが提供される。ネットワークブラウザーは、ユーザが故障を手動で診断または解決するのを解消するために、ハードドライブのような、ネットワーク接続されたコンピュータ内の周辺装置の故障を補修するために使用される。さらに、ネットワークブラウザーは、そのような補修を行うために、通常のオペレーティングシステム、したがって、ハードディスクへの厳密な依存性を除去する。実施の形態では、ネットワークブラウザーは、複数のソフトウェアモジュールを有している。モジュールは、デバイスドライバーモジュール(device driver module)(216)、リアルタイムカーネルモジュール(real time Kernel module)(220)、インターネットプロトコルモジュール(internet protocol module)(224)、グラフィックスウィンドウモジュール(graphics windowing module)(228)、ハイパーテキストマークアップ言語モジュール(hypertext markup language module)(248)を有している。デバイスドライバーモジュール(216)は、1または複数の周辺装置を初期化及びテストするように構成されている。リアルタイムカーネルモジュール(220)は、前記デバイスドライバーモジュール(216)が前記周辺装置の動作に対応する診断データの処理を含んでいるが、周辺装置への及び周辺装置からのデータを検出するとともに処理し(dispatch)、メモリ管理作業を実行するように構成されている。インターネットプロトコルモジュール(224)は、遠方の装置とのネットワーク通信を扱うように構成されている。グラフィックスウィンドウモジュール(228)は、可視表示データ処理及び制御を処理するように構成されている。ハイパーテキストマークアップ言語モジュール(248)は、前記グラフィックスウィンドウモジュール(228)を有する表示器のためにハイパーテキストマークアップ言語ドキュメントを解釈(interpret)するように構成されている。独立ブラウザーのためのハードウェア構成及びソフトウェア方法が、ここに記載されている。
【0010】
本発明の実施の形態では、診断データ処理は、周辺装置の初期化、故障検出、遠方のサーバーとの交信、診断インターフェースファイルの書き込み、インターフェースファイルを用いる遠方のサーバーと共同する故障の診断を含んでいる。
【0011】
【発明の実施の形態】
図2は、独立した、永続的に蓄積されるブラウザーソフトウェアスタック208のブロック図を示す。ブラウザーソフトウェアスタック208は、通常の電磁式ハードドライブ上にではないが、永続的に蓄積される。ここで用いられているように、“電磁式ハードドライブ”は、通常は、機械的に回転されるプラター(platter)と呼ばれる磁気式蓄積媒体である。読取動作及び書込動作は、ハードドライブの部分である読取−書込ヘッドによって実行される。
【0012】
好ましくは、ブラウザー208は、電気的にプログラム可能な読取専用メモリ(“EPROM”)、電気的に消去可能にプログラム可能な読取専用メモリ(“EEPROM”)、電気的に書替可能にプログラム可能な読取専用メモリ(“EAPROM”)、フラッシュ消去可能にプログラム可能な読取専用メモリ(“FLASH”または“FEPROM”)等の、読取専用メモリ(“ROM”)212またはROM装置内のPC BIOSに蓄積される。ここで用いられているように、PC BIOSは、“パーソナルコンピュータベーシック入出力システム(personal computer basic input output system)”を意味する。PC BIOSは、パーソナルコンピュータ内に永久的に内在する、メモリのファームウェアコード領域(firmware code region of memory)である。それは、通常、オペレーティングシステムの代わりに、ローレベル入力出力動作(low level input output operation)を実行するための主要な責任を負う。しかしながら、本発明の実施の形態では、PC BIOSは、独立のブラウザーソフトウェアスタック208を含んでいる。
【0013】
ブラウザー208は、公知のオペレーティングシステム及びハードドライブと独立している。このように、ブラウザー208を用いることによって、パーソナルコンピュータが故障し難くなり、パーソナルコンピュータが、スタートアップ時またはパーソナルコンピュータの実行中に発生する故障であるか否かという故障の種類に関係なく動作させることができる。さらに、ブラウザー208は、パーソナルコンピュータに結合されているハードウェア構成要素と関連する問題を診断するために使用可能である。
【0014】
図2に示されているブラウザー208は、本発明の実施の形態を図式的に示している。現時点での好ましい実施の形態では、ブラウザー208は、ROM212に蓄積されている。ブラウザー208を構成する機能ブロックを詳細に説明する前に、発明全体に関係する、ブラウザーのモジュラー要素(例えば、プログラムコードとハードウェアコンビネーション)を説明するのが有益である。このため、図3を説明する。
【0015】
[動作概要]
図3は、パーソナルコンピュータ(パーソナルコンピュータの1つの例が、図6を参照して以下に説明されている。)のような電子的ハードウェアとともに作動するブラウザー300のハイレベルブロック図(high-level block diagram)である。本発明の実施の形態では、ブラウザーソフトウェアを有するパーソナルコンピュータ(以下、“コンピュータ300”という)は、少なくとも4つの基本動作で実行する。1つの動作は、入力/出力機能を含む。このため、コンピュータ300は、入力モジュール304を有している。入力モジュール304は、キーボード、マウス、スタイラス(stylus)またはタッチスクリーンのような外部装置との1または複数の通信手段を提供するハードウェを有している。シリアルポート、I/Oコントローラー、USBポート、IEEE1394ポート及びCEバスが、通信手段の例である。ブラウザーに含まれているソフトウェアは、割込み、一時記憶(buffering)、通信手段を介して受信した入力に対するコマンド及び制御処理を含んでいる。入力モジュール304の主要な機能ではないが、出力が、入力モジュール304の通信手段によって実行可能であることに注意する。
【0016】
コンピュータ300の他の動作は、ローレベルネットワーク通信(low level network communication)のための動作である。このため、ネットワーク通信モジュール308は、通信機能と、例えば、ネットワーク技術において一般的に知られている7層のOSI(“Open Systems Interconnection”)参照モデルの物理的なデータリンク、ネットワーク及びトランスポートレイヤーでの動作を扱う。
【0017】
ネッワーク通信モジュール308を装着可能なハードウェア装置は、イーサーネットカード、通常の地上通信線モデム、ケーブルモデム及びワイヤレスモデムを含んでいる。インターネットでは標準である、複数のインターネットRFCは、これらのハードウェア装置を作動させるソフトウェアの特徴を定義する。本発明の実施の形態では、インターネットRFCは、全てインターネット上のURL(http://www.pmg.lcs.mit.edu/rfc.html)で利用可能である、791(インターネットプロトコルまたは“IP”)、792(インタネットコントロールメッセージプロトコルまたは“ICMP”)、793(移送コントロールプロトコルまたは“TCP”)、826(アドレス決定プロトコルまたは“ARP”)及び1661(ポイントツゥポイントプロトコルまたは“PPP”)を含んでいる。
【0018】
コンピュータ300の第3の動作は、ネットワーク通信モジュール308への及びネットワーク通信モジュール308からのデータ及び制御を処理することである。ネットワークアプリケーションモジュール312では、種々のプロトコルが、ネットワーク通信モジュール308からのメッセージを判断し、特に、それら(例えば、端子モニターソフトウェアまたは電子メールクライアント)のためにクライアント(または、“ユーザーインターフェース”)を提供し、または、異なるモジュールにおいて(例えば、以下で説明するページレンダリング(描画)モジュール316内で)(page rendering module)、他のクライアントをアクセスする。もしネットワークアプリケーションモデル312がユーザに対してクライアントを提供すれば、ネットワーク通信モジュール308への及びネットワーク通信モジュール308からのデータを扱うのに加えて、直接にまたはページレンダリングモジュール316のような他のモジュールを介して、入力モジュール304からのデータを受信可能である。
【0019】
ネットワークアプリケーションモジュール312のための例示的なアプリケーション(または“プロトコル”)は、DNS(ドメインネームシステム)、HTTP(ハイパーテキスト移送プロトコル)、SSL(保証ソケットレイヤー)(Secure Socket Layer)、HTTPS(HTTP保証)(HTTP Secure)、SMTP(簡単メール移送プロトコル)、POP3(ポストオフィスプロトコル−バージョン3)、TELNET及びFTP(ファイル移送プロトコル)である。これらのネットワークアプリケーションは、更に、インターネットRFC:1034(DNS)、2068(HTTP)、821(SMTP)、1081(POP3)、854(TELNET)及び959(ETP)で説明されている。現時点では、SMTP、POP3、DNS、HTTP、SSL及びHTTPSのみが、ネットワークアプリケーションモジュール312内に同時に実装されているのが好ましい。一般に、ブラウザーとともに含まれるプロトコルが少ないほど、結果的な面積は小さい(すなわち、独立ネットワークブラウザーを蓄積するために必要なメモリの量が減少される)。
【0020】
図のトップには、ページレンダリングモジュール316が存在する。ページレンダリングモジュール316は、ハイパーテキストマークアップ言語(“HTML”)ドキュメント及び他のドキュメントフォーマットを変換する解釈作業を扱う。例えば、ページレンダリングモジュール316は、グラフィックスファイルを描写し、入力モジュール304からのデータ(例えば、マウスからのデータ)に応答して、ページレイアウト機能を実行し、ウィンドウ位置決め、大きさ決定及びスクロールを扱う。ページレンダリングモジュール316は、ディスプレイモジュール(図示せず)と直接に通信する。
【0021】
[モジュールの詳細説明]
図4は、独立のネットワークブラウザー内のソフトウェアの機能ブロック図詳細図である。図4は、ネットワークから(例えば、周辺装置を介した)コンピュータ表示器または端子上の最終的な表現への典型的なデータの流れにしたがって表現されている。種々の詳細モジュールの機能性は(図4)、一般目的モジュール(図3)間で移動可能であるが、以下では、特に一般目的モジュールを参照して説明する。例えば、入力モジュール304(図3)は、412を通るソフトウェアモジュール408を含んでいる。実施の形態では、ネットワーク通信モジュール308は、432を通るソフトウェアモジュール416を含み、ネットワークアプリケーションモジュール312は、464を通るソフトウェアモジュール436を含み、ページレンダリングモジュール316は、482を通るソフトウェアモジュール468を含む。
【0022】
データ入力は、周辺装置404(すなわち、イーサーネットアダプター、キーボード、マウスまたは有線/無線モデムのような、コンピュータ300に付加される内部装置または外部装置)で受信される。データが入力モジュール304によって受信されると、データは、1または複数のコンピュータの入力/出力(“I/O”)ポートから、処理のための対応するモジュールに送信(route)される。一般的には、各周辺装置は、特別のI/Oポートに取り付けられ、周辺装置から通信されるデータは、リアルタイムカーネル内で割り込みを発生させる。これは、図2を参照して以下に詳述されている。割り込みは、周辺装置からのデータ入力を扱うアルゴリズムの例外ベクトル(exception vector)またはメモリアドレスを定義する。例えば、モデムからの信号は、第1のシリアルポート割り込みを順にトリガ可能である。それにより、モデムポイントツゥポイントプロトコル(“PPP”)モジュール416が、順に能動化される。
【0023】
図4の詳細ブロック図の個々の構成要素を説明する前に、デバッグコンソールモジュール(debug console module)412が必要でないことに注意する。デバッグコンソールモジュール412は、ソフトウェア及びハードウェアテスト目的のためのデバッグポートとして用いられる。さらに、実線で示されている要素は、ブラウザーソフトウェアの部分であり、点線で示されている要素は、ブラウザーソフトウェアが実行するが、全体のパーソナルコンピュータの部分である。
【0024】
更に、物理的なページキャッシュ490及び表示器494は、ブラウザーソフトウェアスタックの部分ではない。好ましくは揮発性メモリから形成されるページキャッシュ490は、データがページレンダリングモジュール472に渡される前に、1または複数のネットワークアプリケーションによって処理されるデータのためのバッファとして動作する。例えば、ページキャッシュ490は、HTMLファイル(未解釈及び解釈済のファイル)を、それらが表示器494に渡る前に、前キャッシュ(pre-cache)することができる。表示器494は、ページレンダリングモジュール472が通信する周辺装置、または、データをユーザに提供する現実の表示装置のための揮発性メモリバッファである。表示器494は、ページレンダリングモジュール472からのデータを受信する。
【0025】
更に、ROMファイル468は、(それらは好ましいが)必要ではない。ROMファイル468は、パーソナルコンピュータに関する問題を診断するために、1または複数のユーザ診断インターフェースまたは特別の遠方の売主(例えば、コンピュータ製造業者またはインターネットサービスプロバイダー)によって使用されるテンプレートを永続的に蓄積可能である。例えば、ブラウザーが遠方の売主に接続される時に使用されるHTML形式または実行可能な診断プログラムは、ROMファイル468内に蓄積可能である。それらは“ROMファイル”と呼ばれるが、ファイルは、フラッシュメモリのような電気的に変更可能なROM内に蓄積可能である。これは、クッキー(cookie)は、必ずしも純粋な静的ファイルではなく、時間によって変化するため、クッキーまたは他のファイルがROMファイル468内に蓄積される時に有用である。
【0026】
カーソルコントロールモジュール408は、マウスまたはスタイラスからの入力データを処理するために用いられる。通常、データは、マウスの移動に対応する2次元移動データである。また、データは、マウス選択クリックのような制御信号を含んでいる。カーソルコントロールモジュール408は、シリアルポートを介してデータを受信するが、赤外線ポートのような無線ポートからのデータも受信可能であるのが好ましい。
【0027】
キーボードモジュール410は、キーボードドライバーである。キーボードモジュール410は、テキストを形式に登録または分類するため、及び/またはページレンダリングモジュール472、ならびにモジュール52〜464のような、ページレンダリングモジュール472をインターフェースする他のモジュール宛てのコマンドを登録するために用いられる。キーボードモジュール472の重要な特徴は、ブラウザーを開始させる能力である。典型的には、ユーザは、独立ブラウザーを手動で開始させる特別のキーまたは一連のキー(例えば、CTRL−ALT−BまたはCTRL−ALT−HOME)を登録し、それによって、パーソナルコンピュータのための通常動作モードをバイパスさせる。典型的には、特別のキーシーケンス(key sequence)は、パーソナルコンピュータが起動している時にのみ動作する。また、キーボードモジュール410は、例えば、キーボード上の方向キー及び/またはタブキーを用いることによって、ページスクロールまたはフィールド選択(field selection)を制御するために使用される。
【0028】
デバッグコンソール412は、デバッグ目的のために用いられ、主に、ソフトウェアチューニング(software tuning)のために含まれている。例えば、デバイスドライバーは、異なるコンピュータのチップセット(chipset)とハードウェアとの間のように異なっているため、デバッグコンソール412は、1または複数の新しいハードウェア装置とともに動作する時に、ブラウザーの動作をモニタするのに役立つ。デバッグコンソール412は、ブラウザーソフトウェアの必要な構成要素ではない。
【0029】
モデムPPPモジュール416は、公衆電話網(“PSTN”)からの入力パケットデータを処理するために用いられる。モジュール416の機能は、インターネットサービスプロバイダー(“ISP”)またはインターネットアクセスプロバイダー(“IAP”)に接続し、1または複数の遠方のサーバーと仮想接続を行うモデムを助けるように構成されているため、インターネットRFC1616に従うのが好ましい。また、モデムPPPモジュール416は、モデムのためのデバイスドライバーを含んでいる。
【0030】
また、イーサーネットARPモジュール420は、ネットワークからの入力パケットデータを処理するために用いられる。しかしながら、ネットワークは、高速のローカルエリアネットワーク(“LAN”)または高速のワイドエリアネットワーク(“WAN”)であることができる。モジュール420は、イーサーネットカードのための1または複数のデバイスドライバー(周辺装置)を含んでいる。イーサーネットARPモジュール420は、IPとイーサーネットアドレスの間で翻訳するように構成されているので、インターネットRFC826に従う。
【0031】
IP/ICMPモジュール424は、ネットワーク接続に応じて、モジュール416または420からのパケットを受信する。IP/ICMPモジュール424のIP部は、IPパケットの分解、パケットルーティング及び再組み立てを扱う。ICMPは、IPに関連するエラーメッセージ及び他の情報の発生を扱うIPへの拡張である。IP/ICMPモジュール424の機能は、インターネットRFC791及び792と整合している。
【0032】
TCP/UDPモジュール428は、IPパケットをネットワークアプリケーションのためのメッセージに組み立てる。TCP−/UDPモジュール428は、インターネットRFC793(TCP)及びインターネットRFC768(ユーザデータグラムプロトコルまたは“UDP”)に応じて動作する。TCP/UDPモジュール428は、TCP及びUDPに従うため、接続準拠通信(connection-oriented communication)(TCP)及び接続無通信(connectionless communication)(UDP)をサポートすることができる。
【0033】
ソケットアプリケーションプグラミングインターフェース(socket application programming interface)(“API”)モジュール432は、図3のネットワーク通信モジュール308及びネットワークアプリケーションモジュール312の間のインターフェースを提供する。ネットワークアプリケーションは、コンピュータ300上で実行されるので、ネットワークアプリケーションは、機能を呼び出し、ネットワーク通信モジュール308への及びネットワーク通信モジュール308からのデータ/メッセージを送信及び受信する。このため、ソケットAPI432は、遠方のサーバーとの仮想接続または“ソケット”を生成及び破壊するためのディスパッチャー(dispatcher)として用いられる。TCP及びUDPは、ブラウザーソフトウェアによってサポートされているため、ソケットは、接続準拠または接続無である。
【0034】
前述したように、モジュール436〜464は、ネットワークアプリケーションモジュールとして分類可能である。ネットワークアプリケーションモジュールは、ソケットAPI432及びページレンダリングモジュール472に通信可能に接続される
【0035】
DNSモジュール460は、英語形式URL(例えば、http://www.elegent.com)、ここで、http://はネットワークアプリケーションプロトコルを示し、www.elegent.comはURLを示す)をIPアドレス(例えば、”206.171.12.20”)にマップするために用いられる。(前述したように、イーサーネットARPモジュール420は、IPアドレスをイーサーネットアドレスにマップする。)DNSは、インターネットRFC1034で説明されている。DNSモジュール460は、RFC1034にしたがって処理するために、レゾルバー(resolver)またはネームサーバーにドメインネーム要求(“質問”)を渡す。
【0036】
HTTPモジュール456は、遠方のサーバーへのまたは遠方のサーバーからのHTML(“ハイパーテキストマークアップ言語”)ファイルの移送のために用いられる。大部分のHTMLファイルは、最終的には、ページレンダリングモジュール472を介してユーザに提供される。HTTPモジュール456は、インターネットRFC2068に従う。
【0037】
SMPTモジュール436、POP3モジュール440及びイーメールモジュール464は、すべて、電子メールメッセージ処理を含んでいる。SMTPモジュール436は、全体として、参照によって組み込まれているインターネットRFC821に応じた電子メールメッセージの送信を扱うソフトウェアを含んでいる。SMTPモジュール436は、ソケットAPI432及び電子メールクライアント(または、“イーメールモジュール”)464(SMTP及びPOP3ネットワークアプリケーションのためのユーザーインターフェースである)に通信可能に接続される。POP3モジュール440は、遠方のサーバーからの電子メールメッセージの受信を扱うソフトウェアを含んでいる。SMTPモジュール436のように、POP3モジュール440は、ソケットAPI432及び電子メールクライアント464に通信可能に接続される。イーメールモジュール464は、ページレンダリングモジュール472によって解釈されるHTMLベースのソフトウェアインターフェースであるのが好ましい。
【0038】
SMTP及びPOP3は、本発明で使用される、現時点では好ましい2つのプロトコルであるが、他の電子メールプロトコルも使用可能である。例えば、電子メールメッセージは、コンピュータ300上よりは、遠方のメールサーバー上で扱われる。例えば、モジュール436及び440は、インターネットメッセージアクセスプロトコル(“IMAP”)迎合ソフトウェアによって置き換え可能である。IMAPの最新バージョンは、インターネットRFC2060内に説明されている。
【0039】
FTPモジュール444は、インターネットRFC959にしたがう。FTPモジュール444は、ブラウザーが常駐するコンピュータと遠方のサーバーとの間でファイルを移送する。FTPモジュール444は、本発明のブラウザーの好結果の実装のためには、必要でなくまたは要求されない。
【0040】
SSLモジュール448及びHTTPSモジュール452は、ブラウザーによって用いられる補足的な保証プロトコルを管理する。これらのモジュールは、独立ネットワークブラウザーと遠方のサーバーとの間で安全な交換が望まれる時に作動される。これらのモジュールが作動されると、ブラウザーと遠方の売主/サーバーとの間の所定のポート(例えば、ポート443)がIPパケットを渡すために用いられる。ブラウザー及びサーバーは、セッション識別子(session identifier)を確立し、1または複数の記号キーに分ける。セッション識別子及び記号キーは、交換された情報の真正(authenticity)を証明するため、ならびに、のぞき見する人(通信上で盗み聞きしようとする正当でない人)から交換された情報を保護するために用いられる。SSLモジュール448及びHTTPSモジュール452は、本発明の好結果の実装のためには必要でない。
【0041】
ネットアプリケーションモジュールを説明したので、ページレンダリングモジュール472を説明する。ページレンダリングモジュール472は、ネットワークアプリケーションモジュール312と双方向通信を行う、ページレンダリングモジュール472とネットワークアプリケーションモジュール312との間の交換は、通常、ページキャッシュ490によって一時記憶される。また、ページレンダリングモジュール472は、通常、ビットマップ表示のためのグラフィックス加速器アダプターを含む表示器494にスクリーン情報を伝達する。また、ページレンダリングモジュール472は、1または複数の入力装置(マウスまたはキーボード等)からのデータを受信する。
【0042】
ページレンダリングモジュール472は、5つの基本要素を含んでいる。1つの要素は、グラフィックスレンダリング要素474である。グラフィックスレンダリング要素474は、ビットマップ表示器上の表現のためのGIF、JPEG及びMPEG様式ファイルを解釈する。また、グラフィックスレンダリング要素474は、イメージスケーリング(image scaling)を扱う。他のページレンダリングモジュール472要素は、フォントエンジン(font engine)476である。フォントエンジン476は、HTMLファイルによって用いられる種々のフォントをサポートする。複数言語要素478は、1つの言語のみがブラウザーによってサポートされる必要があるが、HTMLファイル内のキャラクターの、多くの異なる言語の中の1つへの通訳をサポートする。ページレイアウト要素480は、HTMLファイル、例えば、“肉太(bold)”、“中央”及び“色”タグ、ならびに、“テーブル”及び“フレーム”タグ内のフォーマットタグを解釈する。
【0043】
ページレンダリングモジュール472のウィンドウシステム482は、ユーザに提供されるHTMLファイルの各ページまたはサブフレームのための窓環境を提供する。ウィンドウシステム482は、表示器494のためのウィンドウサイズ、ならびに、周辺装置が制御する(カーソルコントロールモジュール406を介して)水平及び垂直スクロールバーの発生を扱う。カーソルコントロールモジュール408において検出されるカーソルまたはスタイラスの移動は、処理のために、ページレンダリングモジュール472及び、特に、ウィンドウシステム482に直接に伝達される。
【0044】
[ブラウザーソフトウェア構造]
図2に戻って、図4を参照して詳細に描写及び説明されている、独立ブラウザーソフトウェアスタック208の機能ブロック図が示されている。図は、好ましくは読出専用メモリ212内に含まれている、独立ネットワークブラウザーの全体構成を理解するのに役に立つ。
【0045】
リアルタイムカーネル220(図4内には、単一モジュールとして示されていない)は、少なくとも2つの基本作業を実行する。リアルタイムカーネル220の基本作業は、(1)適切なモジュールに対する、周辺装置への及び周辺装置からのデータの検出及び処理、(2)メモリ管理を含む。データ処理のために、リアルタイムカーネル220は、装置内の状態の変化(例えば、周辺装置がコモンバスを分けるか否か)を検出することを試みる際に、周辺装置404を実際にポーリングし、または、カーネル220は、周辺装置404からの直接の割込要求を受動的に受信する。リアルタイムカーネル220は、通常の作動システムが実行するローレベルの作業を扱うが、よりハイレベルの作業は扱わない、従来の作動システムとは異なっている。むしろ、よりハイレベルの作業は、ブラウザー208内のユニークなモジュールのために保持される。
【0046】
リアルタイムカーネル220のメモリ管理構成は、ページキャッシュ490、ならびに、処理を実行している他の揮発性実行メモリーの管理を含んでいる。例えば、リアルタイムカーネル220は、図4に示されている各モジュールによって使用されるグローバル及び/またはローカルメモリーエリアのための、メモリー分配及び廃物収集のような機能を実行する。
【0047】
本発明の実施の形態では、リアルタイムカーネル220は、ページキャッシュ490(図4)を3つの論理メモリー領域として管理する。
【0048】
要求列領域(request queue region)491は、カーソルコントロール408によって検出され、ページレンダリングモジュール472によってページキャッシュ490に渡された要求を蓄積する。また、要求列領域491は、ページレンダリングモジュール472によって発生される要求を蓄積する。
【0049】
前処理データ領域(pre-processed data region)492は、ページレンダリングモジュール472によって解釈されていないデータを蓄積する。前処理領域492は、1または複数のネットワークアプリケーションがHTMLファイルのバッチ(batch)を先読みする(pre-fetch)時、または、ユーザからの明白な要求を実際に受信する前に、複数のHTMLファイルを要求する時に、特に有用である。
【0050】
後処理データ領域(post-processed data region)493は、ページレンダリングモジュール472によって解釈されたが、まだ表示器494に送られていないデータを保持する。後処理データ領域493に蓄積されているデータは、ネットワークアプリケーションからページレンダリングモジュール472に送られ、その後、ページレンダリングモジュール472からページキャッシュ490に送られる。データは、ページキャッシュ490から、再びページレンダリングモジュール472を介して表示器494に渡る。
【0051】
リアルタイムカーネル220は、コンピュータ300のハードウェアリソース(例えば、内部及び外部装置/構成要素)とソフトウェア処理モジュールとの間の入力及び出力を扱う。したがって、リアルタイムカーネル220は、適切な通信処理及び適切なハードウェア構成要素初期化を保証するために、個々のハードウェア構成要素と連動する1または複数のデバイスドライバー216と通信する。
【0052】
一実施の形態では、リアルタイムカーネル220は、初期化(イニシャライズ)モジュール(図示せず)と通信可能に接続される。初期化モジュールは、コンピュータ300に接続されている各周辺装置を検出し、周辺装置を必要な初期化パラメータでフォーマットし、もし初期化が成功しない場合には、初期化モジュールは、ブラウザーのための診断処理モードをトリガーする。このように、ブラウザー208は、診断処理モードを可能にする初期化モジュールによって、または、通常のオペレーティングシステムまたはエンドユーザからの直接の呼び出しによって呼び出し可能である。実施の形態では、初期化モジュールは、ブラウザー208と通常のオペレーティングシステムに分けられる。
【0053】
ブラウザー208は、コンピュータの周辺装置と通信し、及び/または制御するデバイスドライバーソフトウェア216を含んでいる。デバイスドライバーソフトウェア216は、特別の周辺装置が作動状態にある(いくつかのテストソフトウェアが、ブラウザー208から分離可能である)ことを保証する初期化ソフトウェア及びテストソフトウェアを含んでいる。リアルタイムカーネル220は、デバイスドライバーソフトウェア216上で作動し、コンピュータシステムリソースを管理し、周辺装置と通信するためのデバイスドライバー216を用いる。インターネットプロトコルソフトウェア224は、リアルタイムカーネル220上に積み重ねられ、図4を参照して前述したような種々のネットワーク通信を扱うために用いられる。
【0054】
インターネットプロトコルソフトウェアのトップには、グラフィックスウィンドウソフトウェア228が存在する。グラフィックスウィンドウソフトウェア228は、表示装置上でユーザに提供されるデータの裏面処理(behind-the-scene processing)を扱う。例えば、ウィンドウ位置決め、カーソル及びキーボード入力/コントロール及びグラフィック処理が、部分的に、グラフィックスウィンドウソフトウェア228によって扱われる。
【0055】
グラフィックスウィンドウソフトウェア228上で作動する、図2のソフトウェア構成要素は、エンドユーザアプリケーションにより密接に関係する。例えば、SSLソフトウェア236は、保証情報処理を扱う。フォントソフトウェアは、エンドユーザに対して表示される種々のフォントをサポートし、イメージングソフトウェア232は、エンドユーザに対して表示されるグラフィックスファイルを通訳する。
【0056】
イーメールソフトウェア244は、エンドユーザが電子メッセージを送信及び受信できるようにするエンドユーザクライアント(end-user client)である。HTMLソフトウェア248は、例えば、更なる処理のために、ファイルを分析し、分析されたセクションを適切なモジュールに送ることによって、HTMLファイルを解釈するエンドユーザアプリケーションである。
【0057】
[ブラウザー呼び出し及び診断能力]
図5Aは、本発明の実施の形態に対応するパーソナルコンピュータ上でブラウザーを呼び出すためのステップを示すフローチャート図である。ステップ504では、コンピュータシステムハードウェア構成要素、内部及び外部装置が初期化される。ステップ508では、ブラウザーコマンドまたはトリガーがセットされているか否かを決定するためのテストが実行される。一実施の形態では、ブラウザーコマンドは、パーソナルコンピュータが起動されている時に、キーボード上に分類されているキーまたはキーシーケンスの操作に応答して呼び出される。他の実施の形態では、物理的またはCMOSセットアップスイッチが、独立ネットワークブラウザーをトリガーするようにセットされる。
【0058】
もしステップ508でブラウザートリガーが検出されない場合には、パーソナルコンピュータは、コンピュータが通常動作モードに入るステップ512に続く。例えば、通常のオペレーティングシステム起動及び通常目的アプリケーションが実行される。ステップ508と同様に、ステップ516では、ブラウザートリガーが作動しているか否かを決定するためにテストが実行される。この処理は、例外ベクトル(exception vector)または割込みルーチン(interrupt routine)によって扱うことができ、または、特別のデバイスドライバーまたは通常のオペレーティングシステムによって扱うことができることに注意する。ステップ516でブラウザートリガーが検出された場合には、ステップ520で、オペレーティングシステムがシャットダウンし、処理はステップ524に続く。
【0059】
ステップ508または520に続くステップ524では、独立ブラウザーが呼び出される。図5B及び5Cは、呼び出された独立ブラウザーのための特別に有益なアプリケーションを示している。図5B及び5Cに示されているステップは、コネクター“A”を置き換えたものである(要素528)。
【0060】
図5Bにおいて、フローチャート図は、故障したハードウェア構成要素を診断及び補修するためのブラウザーの使用を示している。ステップ532では、ブラウザーは、特別の売主に対応するネットワークまたは“遠方”のサーバーに接続する。売主は、パーソナルコンピュータを販売した会社、または、パーソナルコンピュータの技術サービス/補修を扱う他のサービスプロバイダーである。ステップ536では、診断ファイル、例えばROMファイル468内に蓄積されているファイル、ならびに、遠方のサーバーからダウンロードされたファイルが書き込まれる。これらの診断ファイルによって、エンドユーザは、問題のタイプの報告、システム構成検出の実行、または選択されたハードウェア構成要素の診断が可能となる。診断ファイルは、解釈されたソフトウェアコード、実行可能なソフトウェアコード、または、そのような形式のHTMLインターフェースを包含可能である。これにより、売主は、パーソナルコンピュータが経験している問題を遠方から診断することができる。
【0061】
問題を診断する前に、売主は、ブラウザーが特別の診断プログラムを開始することを示すコマンドを送信可能であり、または、売主は、特別のコンパイルされた、または解釈された診断プログラムをブラウザーに送信可能である。診断プログラムがブラウザーに送られると、それは、FTP、HTTP、HTTPSまたはSMTPプロトコルを用いて送られる。公衆網、例えば、インターネット(イントラネットに対して)が用いられる場合には、診断プログラムが真正であることを証明する(authenticate)ために証明書が用いられる。例えば、RSA Data Security, Inc.またはX−509同意証明書(compliant certificate)が、診断プログラムが真性であることを証明するために使用される。
【0062】
ステップ540では、地域的に蓄積されているか否か、または遠方の売主から送られたか否かの診断プログラムが実行される。例えば、診断プログラムは、ハードディスクが故障していることを確認し、または、オペレーティングシステム及び他のハードウェア構成要素に対応するエラーログ(error log)の内容を調査することができる。また、診断プログラムを実行する部分は、売主への結果のアップロードを含んでいる。それにより、売主は訂正を行うことができる。
【0063】
ステップ544では、問題が修復可能であるか否かを決定するためにテストが行われる。問題が修復可能である場合には、例えば、ステップ540を参照して前述したように、売主からの付加的な問題のダウンロードを含むステップ548で修復される。しかしながら、問題が修復可能でない場合には、ステップ552で、修復ができないことを示す通知が、ユーザまたは売主(または両方)に送信される。売主がステップ552で通知を受けた場合には、売主は、パーソナルコンピュータのエンドユーザをフォローアップ(follow up)することができる。
【0064】
図5Cでは、ブラウザーは、ステップ556で示されているように、インターネットを調査または“サーフ(surf)”するために用いられる。例えば、パーソナルコンピュータのユーザは、遠方のサーバーに接続し、データを送り、HTMLファイルを訂正するために、独立ネットワークブラウザーを使用可能である。
【0065】
通常のオペレーティングシステムとブラウザーの特徴がオーバーラップしているので、各々が他と独立して実行可能なコンピュータシステムリソースを管理するために、各々は、1つの形式または他の形式で別々に(必ずしも同時ではない)用いられる。このように、通常のオペレーティングシステムまたは周辺装置、特にハードディスクの故障は、必ずしもブラウザーに影響を及ぼさない。
【0066】
[ハードウェア概要]
図6は、本発明を実装可能なコンピュータシステム600の実施例を示すブロック図である。
【0067】
コンピュータシステム600は、情報を通信するためのバス602または他の通信機構、情報を処理するためのバス602と結合されたプロセッサー604を含んでいる。また、コンピュータシステム600は、バス602に接続された、ランダムアクセスメモリ(“RAM”)または他のダイナミック(または“揮発性”)蓄積装置のようなメインメモリ606を含んでいる。メインメモリ606は、実行中、プロセッサー604によって実行される情報及び指示を蓄積する。また、メインメモリ606は、プロセッサー604による指示の実行中、一時的な変数または他の中間情報を蓄積する。
【0068】
コンピュータシステム600は、更に、バス602に接続された読取専用メモリ(“ROM”)608または他の静的(または“永続的”)蓄積装置(例えば、フラッシュ、PROM、EEPROM等)含んでいる。ROM608は、プロセッサー604、特に、ここに説明されているようなブラウザーのための静的情報及び指示を蓄積する。メモリの1または複数のバンク(bank)がROM608を構成可能であることは、注意する価値がある。磁気ディスクまたは光ディスクのような蓄積装置610(または“ハードディスク”または“ハードドライブ”)が、バス602に接続されている。蓄積装置610は、データ構造及び指示のような情報、例えば、オペレーティングシステムまたはオペレーティングシステムを用いるアプリケーションプログラムを蓄積する。
【0069】
コンピュータシステム600は、バス602を介して、陰極線管(“CRT”)または動的マトリックスまたは静的マトリックス表示器のような表示器612に接続されるのが好ましい。表示器612は、イメージをエンドユーザに提供する。英数字キー及び他のキーを含む入力装置614は、バス602に接続されている。入力装置614は、情報及びコマンド選択をプロセッサーに伝達する。ユーザ入力装置の他の形式は、プロセッサー604に方向情報及びコマンド選択を伝達するため及び表示器612上のカーソルの移動をコントロールするために、マウス、トラックボール(trackball)またはカーソル方向キーのようなカーソルコントロール616である。この入力装置614は、典型的には、第1軸(例えば、x)と第2軸(例えば,y)の2つの軸内での2次元の自由度を有しており、それによって、装置は平面内の所定位置に移動可能である。
【0070】
本発明は、ブラウザーが蓄積装置610のようなハードディスクに蓄積されない、永続的に蓄積される独立ブラウザーである。本発明に対する1つの応用は、コンピュータシステム600の診断及び修復のためのものである。他は、ディスクの無いインターネット装置である。本発明の1つの構成では、コンピュータシステム600内のプロセッサー604は、メインメモリ606内に含まれている1または複数の指示シーケンスを実行する。そのような指示は、蓄積装置610またはROM608のような、他のコンピュータ読取可能な媒体からメインメモリ606内に読まれる。メインメモリ606内に保持されている指示シーケンスを実行することにより、プロセッサー604は、ブラウザー及びここに開示されている他の処理を実行する。他の実施の形態では、ハードワイヤ回路(hard-wired circuitry)が、本発明を実行するためのソフトウェア指示に代えてまたは共同して使用可能である。このように、本発明の実施の形態は、ハードウェア回路とソフトウェアの特別の組み合わせに限定されない。
【0071】
ここで使用されている“コンピュータ読取可能な媒体”という表現は、実行のために、プロセッサー604に指示を提供する際に関与する媒体を意味する。そのような媒体は、限定されないが、不揮発性媒体、揮発性媒体及び伝達媒体を含む多くの形態をとる。不揮発性媒体は、例えば、蓄積装置610のような、光学式または磁気式ディスクを含む。揮発性媒体は、メインメモリ606のようなダイナミックメモリを含む。伝達媒体は、バス602を構成するワイヤを含む、同軸ケーブル、銅線及び光ファイバを含む。また、伝達媒体は、無線波及び紫外線データ通信中に発生されるような音波または光波の形態をとることもできる。
【0072】
コンピュータ読取可能な媒体の一般形態は、フレキシブルディスク、ハードディスク、磁気テープまたは他の磁気媒体、CD−ROM、他の光学媒体、パンチカード、紙テープ、ホールパターンを有する他の物理的媒体、RAM、ROM、フラッシュまたは他のメモリチップまたはカートリッジ、以下で説明する搬送波、またはコンピュータが読み取り可能な他の媒体を含んでいる。
【0073】
コンピュータ読取可能媒体の種々の形式は、実行のために、プロセッサー604への1または複数の指示の、1または複数のシーケンスを運ぶ時に含まれる。例えば、指示は、最初は、遠方のコンピュータの磁気ディスクに運ばれる。遠方のコンピュータは、ダイナミックメモリに指示を蓄え、モデムを用いて電話回線に指示を送信する。コンピュータシステム600に対して離れているモデムは、電話回線上のデータを受信し、データを赤外線信号に変換するために赤外線送信器を使用可能である、バス602に結合されている赤外線検出器は、赤外線信号で運ばれるデータを受信し、データをバス602上に置く。バス602は、データをメインメモリ606に運び、プロセッサー604は、メインメモリから検索し、指示を実行する。メインメモリ60によって受信された指示は、プロセッサー604による実行の前または後に、蓄積装置610に随時蓄積される。
【0074】
また、コンピュータシステム600は、バス602に結合されている通信インターフェース618を含んでいる。通信インターフェース618は、ローカルネットワーク622に接続されているネットワークリンク620に結合されている双方向データ通信を提供する。例えば、通信インターフェース618は、電話回線の種類に対応してデータ通信接続を提供するための集積サービスデジタル回路網(“ISDN”)カードまたはモデムである。他の例では、通信インターフェース618は、互換性のあるLANへのデータ通信接続を提供するローカルエリアネットワーク(“LAN”)カードである。無線リンクも設けることができる。そのような実装においては、通信インターフェース618は、種々の形式の情報を示すデジタルデータ流を運ぶ電気、電磁気または光の信号を送信及び受信する。
【0075】
ネットワークリンク620は、データ通信を1または複数のネットワークを介して他のデータ装置に提供するのが好ましい。例えば、ネットワークリンク620は、ローカルネットワーク622を介する、インターネットサービスプロバイダー(“ISP”)626によって作動されるホストコンピュータ624またはデータ装置への接続を提供する。ISP626は、“インターネット”628を介するデータ通信サービス、例えば、コンピュータ診断サービスを順に提供する。ローカルネットワーク622及びインターネット628は、デジタルデータ流を運ぶ電気、電磁気または光の信号を用いる。デジタルデータをコンピュータシステムにまたはコンピュータシステムから運ぶ、種々のネットワークを介した信号、ネットワークリンク620上及び通信インターフェース618を介した信号は、例えば、情報を移送する搬送波の形式である。
【0076】
コンピュータシステム600は、ネットワーク、ネットワークリンク620及び通信インターフェース618を介して、プログラムコードを含むメッセージの送信及びデータの受信が可能である。インターネットの例では、サーバー630は、インターネット628、ISP626、ローカルネットワーク622及び通信インターフェース618を介して、例えば、FTPプロトコルを用いて、アプリケーションプログラムのための要求されたコードを伝達する。本発明では、ダウンロードされた1つのアプリケーションは、更に、コンピュータ問題を診断し、または問題を完全に固定する、実行可能なソフトウェアコードまたコンピュータ構成パラメータである。
【0077】
受信されたコードは、それが受信され、及び/または、後での実行のために、メインメモリ606、蓄積装置610または他の不揮発性蓄積装置に蓄積された時に、プロセッサー604によって実行可能である。この方法では、コンピュータシステム600は、搬送波の形態でアプリケーションコードを得る。
【0078】
図3及び図6を参照すると、入力モジュール304が、入力装置614及びカーソルコントロール616と相互に作用することに注意する。ネットワーク通信モジュール308及びネットワークアプリケーションモジュール312は通信インターフェース618と相互に作用する。ページレンダリングモジュール316は、表示器612と相互に作用する。
【0079】
1つの実施の形態では、全ての独立ネットワークブラウザーソフトウェアコードは、ROM608の1または複数のバンクに蓄積される。しかしながら、実行される時には、ブラウザーソフトウェアコードは、メインメモリ606に複写される。1つの実施の形態では、ページキャッシュ490は、メインメモリ606の部分でもある。
【0080】
本発明の利点は、実装されていない、通常のオペレーションシステムと独立している、省スペースの独立ブラウザー構造を含んでいる。ブラウザーを組み込むコンピュータは、ハードディスク無しで機能する。このように、ユーザは、ハードディスクが故障している時にもコンピュータを作動させることができ、または、ユーザは、ブラウザーソフトウェアを、オペレーティングシステムが起動するまで、または他のアプリケーションソフトウェアが書き込まれるまで待機することなく、インターネットへの迅速で準備されたアクセスが可能となるようにブラウザーソフトウェアを作動させることができる。
【0081】
前記した説明では、本発明は、特別な実施の形態を参照して記載されている。しかしながら、前記記載との一貫性を保持した状態で種々の変更及び変化が可能である。例えば、多かれ少なかれ、ページキャッシュのための領域が特定可能であり、また、ネットワーク通信及びアプリケーションモジュール内、ならびに、ページレンダリングモジュール内に機能性を包含可能である。更に、他の実施の形態では、Java(登録商標)コードを解釈または実行するための仮想機械を含んでいる。したがって、明細書及び図面は、限定された場面ではなく、例示的な場面に関する。
【図面の簡単な説明】
【図1】 公知のソフトウェアスタックを示す図である。
【図2】 本発明の独立ROMベースのブラウザーソフトウェアスタックのブロック図である。
【図3】 本発明のハイレベルブロック図である。
【図4】 本発明の詳細ブロック図である。
【図5A】 本発明の呼び出し処理を示すフローチャート図である。
【図5B】 本発明の有用な応用を示すフローチャート図である。
【図5C】 本発明の有用な応用を示すフローチャート図である。
【図6】 パーソナルコンピュータのブロック図である。

Claims (6)

  1. ハードウェア診断能力を有するネットワークブラウザー装置であって、
    前記ネットワークブラウザー装置は、実行可能なソフトウェアモジュールを永続的に蓄積する、コンピュータ読み取り可能なメモリを備えており、
    前記実行可能なソフトウェアモジュールは、
    1または複数の周辺装置をイニシャライズおよびテストし、また、前記周辺装置の作動に対応する診断データを処理するデバイスドライバーモジュールと、
    周辺装置へのおよび周辺装置からのデータを検出および処理し、また、メモリ管理作業を実行するリアルタイムカーネルモジュールと、
    遠方の装置とのネットワーク通信を扱うインターネットプロトコルモジュールと、
    視覚表示データを処理し、制御するグラフィックスウィンドウモジュールと、
    前記グラフィックスウィンドウモジュールを用いた表示のためにハイパーテキストマークアップ言語ドキュメントを解釈するハイパーテキストマークアップ言語モジュールを備えており、
    前記周辺装置の作動に対応する前記診断データは、故障が発生していることを示し、
    前記実行可能ソフトウェアモジュールは、
    前記インターネットプロトコルモジュールを用いて遠方のサーバーに接続する機能を呼び出し、
    前記メモリに永続的に蓄積されている診断インターフェースファイルを含む1または複数の診断インターフェースファイルを読み込む機能を呼び出し、
    前記読み込まれた1または複数の診断インターフェースファイルを用いて前記遠方のサーバーと相互作用する機能を呼び出し、
    実行可能な補修ソフトウェアが真性であることを確認する保証測定を有するネットワークプロトコルを用いて、実行可能な補修ソフトウェアを前記遠方のサーバーからダウンロードすることによって、前記故障を補修する機能を呼び出し、
    前記遠方のサーバーからコマンドを受信する機能を呼び出し、
    前記コマンドは、前記メモリに蓄積されている、前記故障の補修を援助する1または複数の機能を呼び出す。
  2. 請求項1に記載のネットワークブラウザー装置であって、
    前記リアルタイムカーネルモジュール内の前記メモリ管理では、ネットワークブラウザーページキャッシュを、サービスされていないデータおよびコマンドを蓄積する要求列領域と、ハイパーテキストマークアップ言語ファイルの先読みされたバッチを含み、表示装置への出力のために解釈されなければならないデータを蓄積する前処理データ領域と、前記表示装置への出力のために解釈されたが、前記表示装置にまだ送信されていないデータを蓄積する後処理領域として管理する。
  3. ネットワークにアクセスするコンピュータであって、
    前記コンピュータは、プロセッサーと、それぞれバスを介して前記プロセッサーに通信可能に接続されている、ハードドライブ、永続メモリ、ランダムアクセスメモリおよび通信インターフェースを有しており、
    前記永続メモリは、メモリ領域に蓄積されている実行可能なソフトウェアモジュールを有しており、
    前記実行可能なソフトウェアモジュールは、
    故障に対して前記ハードドライブをイニシャライズおよびテストし、また、前記ハードドライブの作動に対応する診断データを処理するデバイスドライバーモジュールと、
    周辺装置へのおよび周辺装置からのデータを検出および処理し、前記ランダムアクセスメモリに関連するメモリ管理作業を実行するリアルタイムカーネルモジュールと、
    遠方の装置とのネットワーク通信を扱うインターネットプロトコルモジュールと、
    視覚表示データを処理し、制御するグラフィックスウィンドウモジュールと、
    前記グラフィックスウィンドウモジュールを用いた表示のためにハイパーテキストマークアップ言語ドキュメントを解釈するハイパーテキストマークアップ言語モジュールを備えており、
    前記ハードドライブの作動に対応する前記診断データは、故障が発生していることを示し、
    前記実行可能なソフトウェアモジュールは、更に、
    前記インターネットプロトコルモジュールを用いて、前記プロセッサーを遠方のサーバーに接続させ、
    前記メモリ領域に永続的に蓄積されている診断インターフェースファイルを含む1または複数の診断インターフェースファを前記プロセッサーに読み込ませ、
    前記読み込まれた1または複数の診断インターフェースファイルを用いて前記故障を診断している間、前記プロセッサーを前記遠方のサーバーと共同させ、
    実行可能な補修ソフトウェアが真性であることを確認する保証測定を有するネットワークプロトコルを用いて、実行可能な補修ソフトウェアを前記遠方のサーバーから前記プロセッサーにダウンロードさせ、
    前記遠方のサーバーからのコマンドを前記プロセッサーに受信させ、
    前記コマンドは、前記メモリ領域に蓄積されている、前記故障の補修を援助する1または複数の機能を、前記プロセッサーに実行させる。
  4. 請求項3に記載のコンピュータであって、
    前記リアルタイムカーネルモジュール内の前記メモリ管理では、ネットワークブラウザーページキャッシュを、サービスされていないデータおよびコマンドを蓄積するための要求列領域と、ハイパーテキストマークアップ言語ファイルの先読みされたバッチを含み、表示装置への出力のために解釈されなければならないデータを蓄積するための前処理データ領域と、前記表示装置への出力のために解釈されたが、前記表示装置にまだ送信されていないデータを蓄積するための後処理領域として管理する。
  5. パーソナルコンピュータBIOSに蓄積されているネットワークブラウザーを有する、ネットワーク接続されたコンピュータを診断および補修する方法であって、
    前記方法は、前記ネットワーク接続されたコンピュータによって実行される一連のステップを有しており、
    前記一連のステップは、
    前記ネットワーク接続されたコンピュータに通信可能に接続されている内部装置および周辺装置をイニシャライズするステップと、
    故障が発生していることを示すブラウザートリガーがセットされているか否かを決定するためにテストするステップと、
    前記ブラウザートリガーがセットされている場合に、全サービスオペレーティングシステムを読み込むことなく、前記ネットワークブラウザーを呼び出すステップと、
    遠方のサーバーを前記ネットワークブラウザーに接続するステップと、
    1または複数の診断インターフェースファイルを読み込むステップと、
    前記遠方のサーバーと共同して前記故障を診断するステップと、
    前記故障が前記遠方のサーバーで補修可能であるか否かを決定するステップと、
    前記故障が補修可能である場合に、前記故障を補修するステップと、
    前記故障が補修可能でない場合に、前記故障が補修可能でないことの通知を送信するステップを有している。
  6. 請求項5に記載の方法であって、
    前記故障を補修する前記ステップは、実行可能な補修ソフトウェアが真正であることを確認する保証測定を有するネットワークプロトコルを用いて、実行可能な補修ソフトウェアを前記遠方のサーバーからダウンロードするステップを含んでいる。
JP2001540636A 1999-11-24 2000-06-20 ネットワークブラウザー装置、コンピュータ、コンピュータを診断および補修する方法 Expired - Fee Related JP4418137B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US44906599A 1999-11-24 1999-11-24
US09/449,065 1999-11-24
PCT/US2000/016978 WO2001039042A2 (en) 1999-11-24 2000-06-20 Self-contained network browser with diagnostic abilities

Publications (2)

Publication Number Publication Date
JP2003515817A JP2003515817A (ja) 2003-05-07
JP4418137B2 true JP4418137B2 (ja) 2010-02-17

Family

ID=23782734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001540636A Expired - Fee Related JP4418137B2 (ja) 1999-11-24 2000-06-20 ネットワークブラウザー装置、コンピュータ、コンピュータを診断および補修する方法

Country Status (8)

Country Link
JP (1) JP4418137B2 (ja)
CN (2) CN1159664C (ja)
AU (1) AU5880700A (ja)
DE (1) DE10085232T1 (ja)
GB (1) GB2373081B (ja)
HK (1) HK1049047A1 (ja)
TW (1) TW498228B (ja)
WO (1) WO2001039042A2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020165784A1 (en) * 2001-03-01 2002-11-07 John Taggart Launch service or purchase request directly from a network-enabled appliance
US6865696B2 (en) 2001-06-15 2005-03-08 Hewlett-Packard Development Company, L.P. Enduser diagnostic system and method for computer-based error interpretation
US6996500B2 (en) 2002-10-30 2006-02-07 Hewlett-Packard Development Company, L.P. Method for communicating diagnostic data
US7263605B2 (en) * 2002-12-09 2007-08-28 Intel Corporation Decoupled hardware configuration manager that generates a user interface prior to booting using hardware configuration option data read from plurality of hardware devices
DE10334516B4 (de) * 2003-07-29 2006-06-14 Sorin Group Deutschland Gmbh Anzeige- und Bedienvorrichtung für medizintechnische Geräte und Anzeige-/Bedieneinheit dafür
US7287276B2 (en) * 2003-09-08 2007-10-23 Microsoft Corporation Coordinated network initiator management that avoids security conflicts
US7444621B2 (en) * 2004-02-20 2008-10-28 Microsoft Corporation Method and system for providing a common operating system
US7827558B2 (en) * 2004-06-30 2010-11-02 Devicevm, Inc. Mechanism for enabling a program to be executed while the execution of an operating system is suspended
KR100677159B1 (ko) * 2004-12-15 2007-02-02 삼성전자주식회사 호스트 컴퓨터에서 외부장치의 진단 기능을 수행하는 방법및 장치
US7467196B2 (en) * 2005-01-12 2008-12-16 International Business Machines Corporation Managing network errors communicated in a message transaction with error information using a troubleshooting agent
US20070124367A1 (en) * 2005-11-29 2007-05-31 Guoxin Fan Integrated Mobile Diagnostics and Electronic Customer Care Test Script with Browser
WO2008016998A1 (en) 2006-08-01 2008-02-07 Peak8 Partners, Llc Network-based platform for providing customer technical support
US10025604B2 (en) 2006-08-04 2018-07-17 Troppus Software L.L.C. System and method for providing network-based technical support to an end user
US8271402B2 (en) * 2006-12-30 2012-09-18 Troppus Software Corporation Technical support agent and technical support service delivery platform
US20080168310A1 (en) 2007-01-05 2008-07-10 Microsoft Corporation Hardware diagnostics and software recovery on headless server appliances
FR2917521B1 (fr) * 2007-06-15 2009-10-02 Airbus France Sa Systeme informatique de maintenance d'un aeronef
US20110107137A1 (en) * 2009-11-05 2011-05-05 Sony Corporation System and method for providing automated support to electronic devices
US8458521B2 (en) * 2010-02-15 2013-06-04 Accenture Global Services Limited Remote technical support employing a configurable executable application
US8261131B2 (en) * 2010-10-15 2012-09-04 Sony Corporation Recovery from HDD failure and technical support through WWAN
US9487959B2 (en) 2013-04-09 2016-11-08 Clinton D. Bunch Device for leveling and aligning tiles and method for leveling and aligning tiles
CN103595708B (zh) * 2013-10-22 2017-08-25 北京奇虎科技有限公司 浏览器异常关闭的处理方法、系统、浏览器和服务器
CN103701911B (zh) * 2013-12-30 2017-08-18 百度在线网络技术(北京)有限公司 通过浏览器进行下载的方法和装置
TWI566123B (zh) * 2014-09-03 2017-01-11 雅虎股份有限公司 多媒體介面成像方法、系統及可穿戴式裝置
TWI557594B (zh) 2015-06-02 2016-11-11 緯創資通股份有限公司 電子裝置的自我修復方法、系統及伺服器
EP3182302B1 (en) * 2015-12-14 2021-12-15 Samsung Electronics Co., Ltd. Apparatus and method for sharing state information of web browser in electronic device
TWI681374B (zh) * 2017-09-04 2020-01-01 國立彰化師範大學 高密度垂直式磁性記憶媒體教學教具
CN107992375A (zh) * 2017-10-30 2018-05-04 努比亚技术有限公司 一种浏览器故障处理方法、终端及计算机可读存储介质
CN109710460A (zh) * 2018-12-17 2019-05-03 联想(北京)有限公司 信息处理方法及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784564A (en) * 1996-05-03 1998-07-21 High Technology Solutions, Inc. Closed browser for computer and computer network
JP2901541B2 (ja) * 1996-05-29 1999-06-07 日本電気オフィスシステム株式会社 情報処理装置
US5870610A (en) * 1996-06-28 1999-02-09 Siemens Business Communication Systems, Inc. Autoconfigurable method and system having automated downloading
US5884073A (en) * 1996-10-28 1999-03-16 Intel Corporation System and method for providing technical support of an electronic system through a web bios
US6139177A (en) * 1996-12-03 2000-10-31 Hewlett Packard Company Device access and control using embedded web access functionality

Also Published As

Publication number Publication date
HK1049047A1 (zh) 2003-04-25
GB2373081B (en) 2004-02-25
CN100452027C (zh) 2009-01-14
JP2003515817A (ja) 2003-05-07
GB2373081A (en) 2002-09-11
CN1391677A (zh) 2003-01-15
WO2001039042A2 (en) 2001-05-31
AU5880700A (en) 2001-06-04
CN1159664C (zh) 2004-07-28
CN1538328A (zh) 2004-10-20
TW498228B (en) 2002-08-11
WO2001039042A3 (en) 2002-05-23
GB0211451D0 (en) 2002-06-26
DE10085232T1 (de) 2002-10-31

Similar Documents

Publication Publication Date Title
JP4418137B2 (ja) ネットワークブラウザー装置、コンピュータ、コンピュータを診断および補修する方法
US6662220B1 (en) Method and apparatus for remote computer management using web browser and hyper-media managed object applications
US7203940B2 (en) Automated installation of an application
EP1923798B1 (en) Clickable placeholder images for simulating web page code unsupported on mobile devices
US9021367B2 (en) Metadata capture for screen sharing
KR19990044848A (ko) 요구자 형태에 기반한 웹 페이지 개별화 방법 및 시스테머
EP1315088A2 (en) System for installing and launching network applications
US9231896B2 (en) Computer system and computer-implemented method for service and application load testing
EP0803808A2 (en) System for configuring and remotely administering a unix computer over a network
US7921335B2 (en) System diagnostic utility
US20030056173A1 (en) Method, system, and program for dynamically generating input for a test automation facility for verifying web site operation
US20040254978A1 (en) System and method of remotely accessing a computer system to initiate remote mainteneance and management accesses on network computer systems
CN108614767A (zh) 一种远程调试方法及装置
JPH11112541A (ja) メッセージ中継方法及びメッセージ処理方法、ルータ装置、ネットワークシステム、ルータ装置を制御するプログラムを格納した記憶媒体
JP2005115936A (ja) カスタマ・サポートのためのウェブ・ブラウザ・コントロール
EP1499967A2 (en) Secure transmission and installation of an application
CN114915565A (zh) 网络调试的方法和系统
Cisco Cisco Router Web Setup 3.1 Troubleshooting Guide
Cisco Cisco Router Web Setup User Guide
Cisco Cisco Router Web Setup 3.1 Troubleshooting Guide
Cisco Release Notes for CiscoWorks for Windows 6.1
Cisco Release Notes for Cisco Internetwork Performance Monitor, Release 2.1
Cisco Release Notes for Cisco SN 5420 Storage Router Release 1.1.4
WO2001002932A2 (en) User activity reporting browser
US20060053116A1 (en) Dynamic software updating using mobile agent AOP

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070516

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090708

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091008

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091127

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131204

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees