JP2002508545A - オペレーティングシステムのアプリケーション・プログラム・インターフェース - Google Patents

オペレーティングシステムのアプリケーション・プログラム・インターフェース

Info

Publication number
JP2002508545A
JP2002508545A JP2000538298A JP2000538298A JP2002508545A JP 2002508545 A JP2002508545 A JP 2002508545A JP 2000538298 A JP2000538298 A JP 2000538298A JP 2000538298 A JP2000538298 A JP 2000538298A JP 2002508545 A JP2002508545 A JP 2002508545A
Authority
JP
Japan
Prior art keywords
interface
application
field
data
application program
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.)
Granted
Application number
JP2000538298A
Other languages
English (en)
Other versions
JP4562910B2 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002508545A publication Critical patent/JP2002508545A/ja
Application granted granted Critical
Publication of JP4562910B2 publication Critical patent/JP4562910B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Abstract

(57)【要約】 リソースが制限された環境のための一組のアプリケーション・プログラム・インターフェース(Application Program Interface)(API)が開示される。APIは、リソースが制限された環境のためのオペレーティング・システムの様々なコンポーネント及びモジュールと接続するためのメカニズムを、コンピュータ・アプリケーションに供給する。前記APIはさらに、リソースが制限された環境においてランする埋め込み型システムにおいて共通して見られる入力/出力装置と接続するためのメカニズムを供給する。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、一般的にコンピュータ・オペレーティング・システムに関し、及び
より特定的には、リソースが制限されたオペレーティング・システムに対するア
プリケーション・プログラム・インターフェースに関する。
【0002】 著作権通知/許諾 本特許書類の開示の一部は、著作権保護下におかれる題材を含む。著作権所有
者は、本特許書類又は本特許開示が、特許商標局の特許ファイル及び記録に掲載
されているとおりに、何人によって複製されても異議はないが、いかなる著作権
も確保される。以下の通知は、後述され及び本出願の図面におけるソフトウェア
及びデータに適用される:著作権1998年、1999年、マイクロソフト・コ
ーポレーション(Microsoft Corporation)、無断転載を禁ず。
【0003】 (背景技術) パーソナル・コンピュータ技術の急速な発展は、先行品よりも小さく、安く、
及び速いパーソナル・コンピュータ(PCs)を製造し続けている。かつてコン
ピュータは部屋全体を占めていたが、今ではそれらはユーザの手のひらに収まる
くらいに小さいので、その名前を「パームサイズPC(Palm-size PC)」という
。さらに、PCは、今では自動車等、家や会社の外の環境に置くことができるく
らいに小さい。さらに、新しいPCは、様々な民生用機器及び専用産業用コント
ローラに埋め込まれてもよい。本出願の目的のために、上述のすべてのPCは、
集合的に「埋め込み型システム」と称される。
【0004】 小型化された埋め込み型システムは、一定の犠牲が払われる必要があることを
意味する。例えば、通常の埋め込み型システムは、ハード・ディスク、フロッピ
・ディスク、CD−ROM又はDVD−ROMドライブ等の固定又は取り外し可
能ディスク・ドライブを有しておらず、通常の埋め込み型システムの持続性記憶
装置は、バッテリ・リフレッシュ(batter refresh)を伴うフラッシュ・メモリ
(flash memory)又は揮発性メモリを具備する。さらに、前記通常の埋め込み型
システムにおけるRAMの量も制限される。
【0005】 さらに、デスクトップ(desktop)PCに典型的な出力リソースは、埋め込み 型システムにおいては見られないか又は大変制限されるかもしれない。例えば、
通常の埋め込み型システムのためのディスプレイ(display)は、制限された解 像度で、及びグレイスケール(grayscale)又は制限された数の色しか表示する ことができない小さなLCD画面を具備するかもしれない。自動車等の一定の環
境においては、前記ディスプレイは、制限された数の固定アイコン及びテキスト
領域を有するLCD画面であるかもしれない。前記ディスプレイは、コンピュー
タ化されたスピーチ機能で増強されるかもしれない。
【0006】 同様に、入力リソースは、埋め込み型システムにおける使用のために制限され
又は適応されるかもしれない。例えば、多くの埋め込み型システムは、マウス(
mouse)又は他の位置決め装置を有しない。さらに、いくつかのハンド・ヘルド (hand-held)装置は、物理的キーボードを有しない。そのような埋め込み型装 置は、その画面上に配置された仮想キーボードと関連するタッチ画面を使用して
もよい。さらに、埋め込み型装置は、入力のためのスピーチ認識を採用してもよ
い。
【0007】 上述の結果、前記埋め込み型システムの、リソースが制限された環境において
ランすることができる専用オペレーティング・システムが開発された。そのよう
なオペレーティング・システムの一例は、マイクロソフト・コーポレーションの
ウィンドウズCETMオペレーティング・システムである。
【0008】 前記埋め込み型システム上でランするアプリケーションはまた、上述の、リソ
ースが制限された環境においてもランすることができなければならない。パーム
サイズPCを具備する埋め込み型システムにおいて、これらのアプリケーション
は通常、カレンダ・プログラム、個人情報管理プログラム、計算機、辞書等の、
パームサイズPCのより大きな同胞上で使用可能なアプリケーションの専用バー
ジョンである。
【0009】 他の環境においては、前記埋め込み型システム上でランする前記アプリケーシ
ョンは、より専門化しているかもしれない。例えばAutoPCにおいては、前
記アプリケーションは、音声システムと接続するアプリケーション、位置及び案
内情報を報告し及び使用するアプリケーション、及び自動車に存在する様々な他
のシステムの状況及び状態を監視するアプリケーションを具備してもよい。
【0010】 多くの異なるアプリケーションの必要性に応えるために、オペレーティング・
システムは通常、APIs(Application Programming Interfaces)を、多くの
異なるアプリケーションに共通である幅広い機能に供給する。いずれか一つのア
プリケーションは通常、前記利用可能なAPIの一つの小さなサブセットのみを
使用する。幅広いAPIを供給することによって、アプリケーション開発者を、
各アプリケーションにおいて潜在的に複製される必要があるコードを書く必要性
から解放する。しかしながら、前記埋め込み型システムの、前記リソースが限ら
れた環境においては、通常は、よりずっと制限された利用可能なAPIの組があ
る。これは、多くの異なるAPIをサポートするのに利用可能な持続性及び非持
続性メモリが、通常不十分だからである。このように、埋め込み型システムのた
めのアプリケーションを書く開発者は、デスクトップ又は他のより大きなコンピ
ュータのオペレーティング・システムにおいて、前記オペレーティング・システ
ムによって普通は供給されるであろうコートを開発しなければならないことがわ
かるかもしれない。
【0011】 上述の結果、当業界においては、前記リソースが限られた環境の埋め込み型シ
ステムにおいてランすることができるオペレーティング・システムの必要性があ
る。そのようなオペレーティング・システムは、カスタマイズ(customized)さ
れ、及び開発者は、特定の環境に必要なそれらのコンポーネント及びモジュール
のみを含むだけを含むことを許可して、システム設計者が、埋め込み型システム
を配置することを選択してもよい多岐にわたる環境に適応可能であるべきである
。さらに前記オペレーティング・システムは、アプリケーション設計者が、共通
に必要とされるコードを複製する必要がないようにするために、コンポーネント
を供給されたオペレーティング・システムにAPIを含むべきである。最後に、
前記オペレーティング・システムは、埋め込み型システムの独自の入力及び出力
の必要性に適合するAPIを、コンポーネント及びモジュールに供給すべきであ
る。
【0012】 (発明の開示) 上述の短所、不都合、及び問題は、本発明によって検討され、それは、以下の
明細書を読み及び研究することによって理解されるであろう。 リソースが制限された環境のための多くのソフトウェア・モジュール及びコン
ポーネントのために、一組のアプリケーション・プログラム・インターフェース
(Application Program Interfaces)(API)を含むシステムが提示される。
リソースが制限された環境の一例は、埋め込み型システムであり、それは、ハン
ドヘルドまたはパームサイズのパーソナル・コンピュータとともに、様々な民生
用機器及び専用産業用コントローラを具備する。
【0013】 本システムの一つの特徴は、リソースが制限された環境のためのオペレーティ
ング・システムに含まれるコンポーネントとモジュールの組み合わせは、カスタ
マイズでき、及び柔軟であるということである。これによって、埋め込み型シス
テムの設計者は、特定の環境に必要なそれらのコンポーネント及びモジュールの
みを含むことができる。その結果、ほとんどのメモリは、不要なコンポーネント
によっては消費されず、より多くのメモリが、前記埋め込み型システムで必要と
されるアプリケーション及び他のモジュール並びにコンポーネントに充てられる
ことができる。
【0014】 本システムの他の特徴は、前記通常の埋め込み型システムの、独自の入力及び
出力の必要性に適合するAPIが供給されることである。例えば、多くの埋め込
み型システムは、入力のためのキーボード又はマウスを供給されていない。前記
システムは、APIを、入力を供給する代替的メカニズムを供給するコンポーネ
ント及びモジュールに供給する。これらの代替的メカニズムは、タッチ画面上の
ストロークを「読み取る」手書き認識エンジンに、APIを含み、及びユーザが
、話されたコマンドを前記システムに発行できるようにする音声入力コンポーネ
ントにAPIを含む。さらに、前記システムは、APIを、表示モニタが実行不
可能なそれらの環境に対して、可聴スピーチを出力するコンポーネントに供給す
る。
【0015】 前記システムの他の特徴は、「メモリ外」状態の処理は、埋め込み型システム
の設計者によってカスタマイズされることができることである。メモリ外状態は
発生しやすいので、制限されたリソースを有するシステムにとって、これは重要
である。
【0016】 前記システムのさらなる特徴は、位置及び案内コンポーネントにAPIが供給
されることである。自動車、トラック及びボート等、移動性の埋め込み型システ
ム環境にとって、これは有用である。
【0017】 上記に要約されたAPI及び様々な他のAPIは、以下の節で詳細に説明され
るであろう。本発明は、様々な視野で、システム、クライアント、サーバ、方法
及びコンピュータ読み取り可能媒体を説明する。この要約で説明された本発明の
特徴及び効果に加えて、本発明のさらなる特徴及び効果が、図面を参照し及び以
下の詳細な説明を読むことで、明らかになるであろう。
【0018】 (発明を実施するための最良の形態) 本発明の典型的実施形態の以下の詳細な説明において、本出願の一部を形成す
る添付の図面が参照され、及び本発明が実行されるかもしれない特定の典型的実
施形態が、図示によってそこで示される。これらの実施形態は、当業者が、本発
明を実行できる程度に、十分に詳しく説明されており、他の実施形態が利用され
、及び本発明の精神と範囲から逸脱することなく、論理的、機械的、電気的な及
び他の変更がなされてもよいことが理解されるべきである。それゆえに、以下の
詳細な説明は、限定的な意味で取られるべきではなく、本発明の範囲は、特許請
求の範囲によってのみ定義される。
【0019】 詳細な説明は、4つの節に分けられる。第1の節では、本発明の実施形態が実
行されるかもしれないハードウェア及び動作環境が説明される。第2の節では、
本発明のシステム・レベルの概観が示される。第3の節においては、アプリケー
ションが、オペレーティング・システムの様々なモジュール及びコンポーネント
と接続できるようにする様々なAPIが示される。最後に、第4の節においては
、詳細な説明の結論が示される。
【0020】 ハードウェア及び動作環境 図1は、本発明の実施形態が実行されるかもしれないハードウェア及び動作環
境のダイアグラムである。図1の説明は、本発明が実行されるかもしれない適切
なコンピュータ・ハードウェア及び適切な演算環境の簡潔で、一般的な説明を供
給する目的である。必ずしも必要ではないが、本発明は、パーソナル・コンピュ
ータ、ハンドヘルド又はパームサイズ・コンピュータ、又は民生用機器あるいは
専用産業用コントローラにおけるコンピュータ等の埋め込み型システム等のコン
ピュータによって実行される、プログラム・モジュール等の、コンピュータ実行
可能命令の通常のコンテクストで説明される。通常、プログラム・モジュールは
、特定のタスクを実行し、又は特定の抽象データ・タイプを実行する、ルーチン
(routine)、プログラム、オブジェクト、コンポーネント、データ構造等を含 む。
【0021】 さらに、当業者は、本発明がハンドヘルド装置、マルチプロセッサ・システム
(multiprocessor system)、マイクロプロセッサ‐ベースあるいはプログラム 可能民生用電子機器、ネットワークPCS、ミニコンピュータ、メインフレーム
・コンピュータ等を含む、他のコンピュータ・システム構成で実行されてもよい
ことを評価するであろう。本発明はまた、通信ネットワークを通してリンクされ
る遠隔処理装置によってタスクが実行される分散型演算環境において実行されて
もよい。分散型演算環境においては、プログラム・モジュールは、ローカル及び
遠隔の両方の記憶装置に配置されてもよい。
【0022】 本発明を実行するための、図1に記載の典型的ハードウェア及び動作環境は、
処理装置21、システム・メモリ22、及び前記システム・メモリを含む様々な
システム・コンポーネントを、前記処理装置21に操作上接続するシステム・バ
ス(system bus)23を含むコンピュータ20という形態の、汎用演算装置を含
む。前記コンピュータ20のプロセッサが、単一の中央処理装置(central-proc
essing unit)(CPU)又は、一般的に並行処理環境と称される、複数の処理 装置を具備するように、一つだけの、又は一つ以上の処理装置21があるかもし
れない。前記コンピュータ20は、従来のコンピュータ、分散型コンピュータ、
又はあらゆる他の種類のコンピュータでよい;本発明はそれほど限定されない。
【0023】 システム・バス23は、メモリ・バス又はメモリ・コントローラ、周辺バス、
及び様々なバス・アーキテクチャのいずれかを使用するローカル・バスを含む、
数種類のバス構造のいずれでもよい。前記システム・メモリはまた、単にメモリ
と称されてもよく、及び読み取り専用メモリ(read only memory)(ROM)2
4及びランダム・アクセス・メモリ(random access memory)(RAM)25を
含む。前記コンピュータ20の中のエレメント間で情報を転送するのを助ける基
本的なルーチンを含む、基本入力/出力システム(basic input/output system )(BIOS)26が、起動の間等に、ROM24に記憶される。本発明の一つ
の実施形態において、前記コンピュータ20はさらに、図示されていないが、ハ
ード・ディスクから読み取り及びそこに書き込むためのハード・ディスク・ドラ
イブ27、取り外し可能な磁気ディスク29から読み取り又はそこに書き込むた
めの磁気ディスク・ドライブ28、及びCD ROM又は他の光学媒体等の取り
外し可能な光学ディスク31から読み取り又はそこに書き込むための光学ディス
ク・ドライブ30を含む。本発明の代替的実施形態においては、前記ハード・デ
ィスク・ドライブ27、磁気ディスク29、及び光学ディスク・ドライブ30に
よって供給される機能は、節電をし及び前記システムのサイズを小さくするため
に、揮発性又は非揮発性RAMを使用して、エミュレートされる(emulated)。
これらの代替的実施形態において、前記RAMは、前記コンピュータ・システム
に固定されてもよいし、又はコンパクト・フラッシュ・メモリ・カード(Compac
t Flash memory card)等の、取り外し可能なRAM装置でもよい。
【0024】 本発明の一つの実施形態において、前記ハードディスク・ドライブ27、磁気
ディスク・ドライブ28、及び光学ディスク・ドライブ30は、それぞれハード
・ディスク・ドライブ・インターフェース32、磁気ディスク・ドライブ・イン
ターフェース33、及び光学ディスク・ドライブ・インターフェース34によっ
て、前記システム・バス32に接続される。前記ドライブ及びそれらの関連する
コンピュータ読み取り可能媒体は、コンピュータ読み取り可能命令、データ構造
、プログラム・モジュール及び他のデータの非揮発性記憶装置を、前記コンピュ
ータ20に供給する。磁気カセット、フラッシュ・メモリ・カード、デジタル・
ビデオ・ディスク(digital video disks)、ベルヌーイ・カートリッジ(Berno
ulli cartridges)、ランダム・アクセス・メモリ(RAM)、読み取り専用メ モリ(ROM)等、コンピュータによってアクセス可能であるデータを記録する
ことができるあらゆる種類のコンピュータ読み取り可能媒体が、典型的動作環境
において使用されてもよいことは、当業者によって評価されるべきである。
【0025】 多くのプログラム・モジュールが、前記ハード・ディスク、磁気ディスク29
、光学ディスク31、ROM24、又はオペレーティング・システム35、一つ
以上のアプリケーション・プログラム36、他のプログラム・モジュール37、
及びプログラム・データ38を含むRAM25に記憶されてもよい。ユーザは、
キーボード40及び位置決め装置42等の入力装置を通して、前記パーソナル・
コンピュータ20に、コマンド及び情報を入力してもよい。他の入力装置(図示
されていない)は、マイク、ジョイスティック(joystick)、ゲーム・パッド(
game pad)、衛星パラボラアンテナ(satellite dish)、スキャナ、タッチ・パ
ッド(touch sensitive pad)等を含んでもよい。これら及び他の入力装置はし ばしば、前記システム・バスに接続されるシリアル・ポート・インターフェース
(serial port interface)46を通して、前記処理装置21に接続されるが、 しかし平行ポート、ゲーム・ポート、又はユニバーサル・シリアル・バス(univ
ersal serial bus)(USB)等の他のインターフェースによって接続されても
よい。さらに、前記システムへの入力は、音声入力を受け取るために、マイクに
よって供給されてもよい。
【0026】 モニタ47又は他の種類の表示装置も、ビデオ・アダプタ(video adapter) 48等、インターフェースを介して前記システム・バス23に接続される。本発
明の一つの実施形態において、前記モニタは、液晶画面(Liquid Crystal Displ
ay)(LCD)を具備する。前記モニタに加え、コンピュータは通常、スピーカ
及びプリンタ等、他の周辺出力装置(図示されていない)を含む。
【0027】 前記コンピュータ20は、遠隔コンピュータ49等、一つ以上の遠隔コンピュ
ータへの論理接続を使用してネットワーク化された環境において動作してよい。
これらの論理接続は、前記コンピュータ20又はその一部に接続された通信装置
によって達成される;本発明は、特定の種類の通信装置に限定されない。前記遠
隔コンピュータ49は、他のコンピュータ、サーバ、ルータ(router)、ネット
ワークPC、クライアント、ピア装置(peer device)又は他の共通ネットワー ク・ノード(common network node)でもよく、及び一つの記憶装置50のみが 図1に記載されているが、前記コンピュータ20と比較して、通常は上述のエレ
メントの多く又はすべてを含む。図1に示された前記論理接続は、ローカル・エ
リア・ネットワーク(local-area network)(LAN)51及びワイド・エリア
・ネットワーク(wide-area network)(WAN)52を含む。そのようなネッ トワーク環境は、会社、企業内コンピュータ・ネットワーク、イントラネット及
びインターネットにおいて普及している。
【0028】 LANネットワーク環境において使用される時、前記コンピュータ20は、通
信装置の一種である、ネットワーク・インターフェース又はアダプタ53を通し
て前記ローカル・ネットワーク51に接続される。WANネットワーク環境にお
いて使用される時、前記コンピュータ20は通常、通信装置の一種であるモデム
(modem)54、又はインターネット等の、ワイド・エリア・ネットワーク52 に対して通信を確立するためのあらゆる他の種類の通信装置を含む。前記モデム
54は、内部でも外部でもよく、前記シリアル・ポート・インターフェース46
を介して、前記システム・バス23に接続される。ネットワーク化環境において
、前記パーソナル・コンピュータ20又はその部分と比較して示されたプログラ
ム・モジュールは、遠隔記憶装置に記憶されてもよい。図示された前記ネットワ
ーク接続は例示的であり、前記コンピュータ間の通信リンクを確立するための他
の手段及び通信装置が使用されてもよいことが理解される。
【0029】 本発明の実施形態が実行されるかもしれないハードウェア及び動作環境が説明
されてきた。本発明の実施形態が実行されるかもしれないコンピュータは、従来
のコンピュータ、ハンドヘルド又はパームサイズ・コンピュータ、埋め込み型シ
ステムにおけるコンピュータ、分散型コンピュータ、又はあらゆる他の種類のコ
ンピュータでもよい;本発明は、それほど制限されていない。そのようなコンピ
ュータは通常、そのプロセッサのように一つ以上の処理装置、及びメモリ等のコ
ンピュータ読み取り可能媒体を含む。前記コンピュータはまた、他のコンピュー
タと通信上接続できるように、ネットワーク・アダプタ又はモデム等の通信装置
も含んでよい。
【0030】 システム・レベル概観 本発明の典型的実施形態の動作のシステム・レベルの概観は、図2及び3を参
照して説明される。本発明の概念は、図1に記載のコンピュータ20等のコンピ
ュータ上で、多重処理、多重スレッドの動作環境において動作することである、
と説明される。前記典型的動作環境は、当業界でオペレーティング・システムと
して知られているものを具備する。この環境において、アプリケーション226
等の一つ以上のアプリケーションは、前記オペレーティング・システムの様々な
モジュール及びコンポーネントと接続する。さらに、前記オペレーティング・シ
ステムの様々なモジュール及びコンポーネントは、互いに接続する。最後に前記
モジュール、コンポーネント及びアプリケーションは、当業界ではデバイス・ド
ライバ・モジュール(device driver module)として知られているものを通して
、及び相手先商標製造会社(Original Equipment Manufacturer)(OEM)適 応層208を通して、前記コンピュータ上に存在するハードウェア202と接続
する。本発明の一つの実施形態において、2種類のデバイス・ドライバ、組み込
みドライバ206及びインストール可能ドライバ204がある。様々なモジュー
ルが、さらに詳細に説明されるであろう。
【0031】 コア・システム・インターフェース(core system interface)220は、そ れを通してアプリケーションが前記オペレーティング・システムにアクセスする
ことができるモジュールである。前記コア・システム・インターフェース220
は、API呼び出しを、適切なオペレーティング・システム・サーバ処理に転送
する機能を含む。
【0032】 選択されたAPIを含み又はエクスポートする(exporting)することに加え 、前記コア・システム・インターフェース220は、以下のものをサポートする
ためのコンポーネントを含む: ・ ローカライズ(localization) ・ ローカル・ヒープ(local heap)及びメモリ割り当て ・ シリアル・ポート・デバイス・ドライバ・サンク(thunks) ・ テレフォニーAPI(Telephony API)(TAPI)
【0033】 シェル・モジュール222は、前記ユーザ・インターフェースを管理し、及び
ソフトウェア・アプリケーションの起動等のタスクを扱う。本発明の一つの実施
形態において、前記オペレーティング・システムは、埋め込み型システム設計者
が、対象となるプラットフォームの要求を満足させるカスタマズされたシェル2
22を開発することができるようにするシェル・コンポーネントを供給する。以
下のものがこれらのコンポーネントに含まれる:
【0034】 ・ デスクトップ・ウィンドウスのユーザに馴染みのあるアプレットを有するコ
ントロール・パネル。以下のアプレットが含まれる:通信;ディスプレイ;キー
ボード;ネットワーク;オーナ(owner);パスワード;電力;地域設定;除去 プログラム;位置決め装置設定(スタイラス(stylus));音声及び音量。
【0035】 ・ アプリケーションに、その名前及びエベントを前記システムに登録させる通
知API。前記イベントが発生する時、前記カーネルは自動的に前記名づけられ
たアプリケーションを起動させる。前記APIはまた、アプリケーションに、前
記アプリケーションが起動するべき特定の日付及び時間を登録させてもよい。
【0036】 ・ 共通制御及び共通ダイアロク。それらは、前記ユーザに、明確で、簡潔で及
び意味のある情報、及び前記システム及びアプリケーションに必要な時に入力を
与える手段を供給するように設計される。
【0037】 ・ 一組の標準入力及び出力API呼び出しをサポートするコマンド・ライン・
プロセッサ(command line processor)(すなわちコンソール・アプリケーショ
ン(console application)。
【0038】 ・ 開発ワークステーション(development workstation)と埋め込み型システ ム対象プラットフォームとの間の(例えば、遠隔アプリケーション・プログラミ
ング呼び出しをサポートするための)接続コンポーネント。
【0039】 デスクトップに関連して、前記シェル・モジュール222はまた、任意で含ま
れ又は取り替えられることができるデスクトップ及びタスク・マネージャ・コン
ポーネントも含む。前記タスク・マネージャ・コンポーネントは、以下の基本的
機能を含む: ・ すべての、現在ランしている、トップ・レベルのアプリケーションのアクテ
ィブ・タスク(Active Tasks)リスト。 ・ ユーザがソフトウェア・アプリケーションを起動できるようにするラン・ボ
タン(Run button)。 ・ ユーザが、前記アクティブ・タスク・リストボックスで選択されたアプリケ
ーションに変換できるようにするスイッチ・ツゥ・ボタン(Switch To button)
。 ・ ユーザが、前記アクティブ・タスク・リストボックスで選択されたアプリケ
ーションを終了させることができるようにするエンド・タスク・ボタン(End Ta
sk button)。 ・ ユーザが、前記タスク・マネージャ・ウィンドウを閉じることができるよう
にする取り消しボタン(Cancel button)。 ・ (バッテリで動作する対象プラットフォームのための)主バッテリ及びバッ
クアップ・バッテリの電力のレベルを監視し、及び適切な警告ダイアログ・ボッ
クスを表示する。 ・ 前記システムにおけるシステム・メモリ使用を監視し、使用可能なシステム
・メモリが特定の閾値より下に下がる時には、すべてのトップ・レベル・ウィン
ドウにメッセージを送る。これによって、アプリケーションは、それらのメモリ
使用を可能な限り低減させることによって、前記メッセージに応答することがで
きる。
【0040】 アドオン技術(Add-on Technologies)モジュール224によって、埋め込み 型システム開発者は、アクティブX(Active-X)ベース・アプリケーション、ア
クティブ・デスクトップ・シェル及びインターネット・ブラウザ(Internet bro
wser)の開発をサポートするOLE/COMオートメーション(automation)等
のコンポーネントを選択的に含むことができる。含まれることができる他のコン
ポーネントは、Visual Basicラン・タイム並びにJavaスクリプ
ト、及びマイクロソフト・ファウンデーション・クラス(Microsoft Foundation
Classes)(MFC)のサブセットである。供給されることができるさらなる任
意のコンポーネントは、関連APIを有する手書き認識エンジンである。本発明
の一つの実施形態において、手書きアプリケーションは、ソフトウェア・インタ
ーフェースをタッチ画面に供給するコンポーネントを通して、前記タッチ画面入
力装置と接続する。
【0041】 カーネル・モジュール214は、すべてのプラットフォームになければならな
い基礎オペレーティング・システム機能を表す。前記カーネル・モジュールは、
メモリ管理、処理管理、例外扱い、及びマルチタスク並びにマルチスレッドのた
めのサポートを含む。
【0042】 本発明の一つの実施形態において、前記カーネル214は、小さく、速い、埋
め込み型装置のために特に設計される。この実施形態において、前記カーネルは
、単一の4ギガバイトのアドレス空間(2ギガバイトの仮想アドレス及び2ギガ
バイトの物理的アドレス範囲)をサポートする。本発明のある実施形態において
、この4ギガバイトのアドレス空間は、それぞれが32メガバイトのサイズを有
する33の「スロット」に分割される。前記カーネルは、各処理を、メモリにお
ける独自の、開いたスロットに割り当てることによって、各処理を保護する。し
かしながら本発明は、特定の物理的もしくは仮想アドレス空間、又はスロット・
サイズに限定されず、及び当業者が認識するであろうとおりに、他のサイズが選
択されてもよい。
【0043】 前記カーネル214は、例外を作ることによって、それらの割り当てられたス
ロットの外側のメモリにアクセスすることから、アプリケーションを保護する。
アプリケーションは、トライを使用することによって、前記例外を調べ及び取り
扱うことができ、及びウィンドウズCE機能を除外することができる。本発明の
一つの実施形態において、前記システムは32の処理に限定されるが、一つの処
理でランするスレッドの数は、使用可能なメモリ量によってのみ制限される。当
業者は、処理の最大数に対して他の値が選択されてもよいことを評価するであろ
う。
【0044】 ファイル・システム・モジュール218は、前記埋め込み型システム対象プラ
ットフォーム上の持続性記憶装置をサポートする機能を含む。この記憶装置は、
「オブジェクト記憶装置」と称され、ユーザ・データを記憶するための3つの異
なる方法を含む:
【0045】 ・ ファイル・システム。このファイル・システムは、通常、ファイル及びディ
レクトリを生成し、ファイルを読み取り並びにそこに書き込みをし、及びファイ
ル及びディレクトリ情報を検索する機能等、共通ファイル操作機能をサポートす
る。
【0046】 ・ レジストリ。このシステム・レジストリは、ウィンドウズ95及びウィンド
ウズNTオペレーティング・システムのレジストリに類似する。ROMに抱き合
わされたアプリケーションを含む、すべてのアプリケーションに対するレジスト
リは、前記オブジェクト記憶装置に記憶される。
【0047】 ・ データベースAPI。本発明の一つの実施形態において、前記オペレーティ
ング・システムは、ユーザ及びファイル又はレジストリにおけるアプリケーショ
ン・データを露出することに対する代替を与えるために、自らの構造化された記
憶装置を有する。例えば、データベースは、アプリケーションがエンド・ユーザ
に表示する前に処理するであろう生データを記憶するのに有用である。ハンドヘ
ルドPCアプリケーションは通常、データベースにスケージュル及びコンタクト
情報を記憶する。
【0048】 本発明の一つの実施形態において、ファイル・システム・モジュール218に
よって管理されるファイル・システムは、データが電力損失等の重大な故障によ
ってデータが失われる可能性を低減させるための、トランザクションされたシス
テムである。さらに本発明の一つの実施形態において、前記システム・モジュー
ル218は、ファイル・システム動作(トランザクションはされていない)をミ
ラリングし又は追跡するための「ミラリング(mirroring)」の(トランザクシ ョンされた)体系を実行する。この実行の目的は、重要な一連の動作が、そのボ
リュームで実行されている間に電力が損失される場合に、ファイル・システム・
ボリュームを復元することができるようにすることである。
【0049】 本発明の一つの実施形態において、前記動作環境は、Win32ユーザ及びG
DI(Graphics Device Interface)ライブラリを、GWES(Graphics, Windo
wing, and Events Subsystem)モジュール212へと結合する。前記イベント・
マネージャ及びウィンドウ・マネージャは、Win32ユーザに類似しており、
前記Win32GDIは、埋め込み型システムにより適した、より小さいGDI
と取り替えられる。前記GWESモジュール212は、色、及びグレイスケール
表示、パレット管理、トゥルータイプ(TrueType)・フォント、ラスタ(Raster
)・フォント、カーソル、及びプリンタ・デバイス・コンテクスト(device con
texts)(DC)をサポートする、(関連するディスプレイ・ドライバをサポー トする)マルチプラットフォーム(multiplatform)GDIコンポーネントを含 む。
【0050】 前記GWESモジュール212はまた、埋め込み型オペレーティング・システ
ムに典型的である、より小さいディスプレイ・サイズに合わされたAPI機能を
供給するウィンドウ管理コンポーネントもサポートする。
【0051】 本発明の様々な実施形態の動作環境は、イベント主導である。GWESモジュ
ールは、イベントを取り扱うコンポーネントを含み、それは本発明の一つの実施
形態においてメッセージとして実行される。
【0052】 通信モジュール216は、通信ハードウェアをサポートするための様々な通信
コンポーネント選択肢を含む。これは、直列、並列及びネットワーク(ワイア及
びワイアレス)通信を含む。通信モジュール216は、以下の選択可能な通信特
性を含む ・ シリアルI/Oサポート ・ 以下を含むネットワーク化サポート: ■ ローカル・エリア・ネットワーク化のためのNDIS4.0 ■ シリアル・リンク及びモデム・ネットワーク化のためのPPP及びSLIP ■ クライアント側の遠隔アクセス・サーバ(Remote Access Server)(RAS
) ■ インターネット・プロトコル(Internet protocol) ■ テレフォニーAPI(TAPI) ■ PCカード・サポート ■ 赤外線トランシーバ・サポート
【0053】 本発明の一つの実施形態において、埋め込み型システムの設計者は、前記プラ
ットフォームに特化したカーネル・モジュール214を生成するために、前記O
EM適応層208を開発しなければならない。前記OEM適応層(OEM Adaptati
on Layer)(OAL)モジュール208は、埋め込み型システム開発者が、前記
カーネル・モジュール214と前記対象プラーットフォーム・ハードウェア20
2の間にある薄い層のコードを生成することによって、特定の対象プラットフォ
ームに対して、前記オペレーティング・システムを適応させることができるよう
にする。前記OALモジュール208は、特定のCPU及び対象プラットフォー
ムに特化する。
【0054】 前記OALモジュール208は、以下のようなインターフェースを含む: ・ デバイス・ドライバをサポートするための割り込みサービス・ルーチン(in
terrupt service routine)(ISR)ハンドラ ・ リアルタイム・クロック(real-time clock)(RTC) ・ (前記スケジューラ動作に使用される)インターバル・タイマ(interval
timer)
【0055】 本発明の一つの実施形態において、前記RTC及びインターバル・タイマは、
CPU上に供給されるので、適応する必要はない。この場合、これらのインター
フェースは、OAL208においてよりもむしろ、カーネル・モジュール204
において実行される。
【0056】 タイミング及び電力等の機能を管理することに加えて、前記OALの第1の目
的は、前記対象プラットフォームのハードウェア202を、前記カーネル・モジ
ュール214に露出することである。すなわち、各ハードウェア割り込み要求ラ
イン(interrupt request line)(IRQ)は、一つの割り込みサービス・ルー
チン(ISR)と関連する。割り込みが可能で、及び割り込みが発生する時、前
記カーネルは、その割り込みのために、登録されたISRを呼び出す。
【0057】 組み込みドライバ206は、前記オペレーティング・システムを構築する時に
、GWESモジュール212とリンクされるデバイス・ドライバである。前記ド
ライバの例は、前記通知LEDドライバ又は前記バッテリ・ドライバである。こ
れらのドライバは、最終的に、同じ実行可能イメージ(executable image)を、
前記オペレーティング・システムの残り部分として形成するので、「組み込みデ
バイス・ドライバ」と称される。組み込みデバイス・ドライバは各々が、前記オ
ペレーティング・システムの残りへのカスタム・インターフェース(custom int
erface)を有する。
【0058】 デバイス・マネージャ・モジュール210は、インストール可能なデバイス・
ドライバを扱うモジュールである。本発明の一つの実施形態において、前記デバ
イス・マネージャ210は、以下のタスクを実行する:
【0059】 ・ システム起動時又はそれがサード・パーティ(third-party)周辺機器が対 象プラットフォームに接続されたという通知を受け取る時に、ドイバのロードを
開始する。例えば、PCカードが挿入される時、デバイス・マネージャ210は
、そのPCカードに対して、デバイス・ドライバを配置し及びロードしようと試
みるであろう。
【0060】 ・ アプリケーションによって使用されるストリーム(stream)I/Oインター
フェース機能を、インストール可能デバイス・ドライバにおけるそれらの機能の
実行にマッピングする、特別なファイルシステム・エントリを、前記カーネルに
登録する。
【0061】 ・ プラグ(plug)及びプレイ(play)IDを入手することによって、又は前記
装置を扱うことができるドライバを見つけるための検出ルーチンを呼び出すこと
によって、適切なデバイス・ドライバを見つける。
【0062】 ・ レジストリ値を読み取り及び書き込むことによって、ドライバをロードし及
び追跡する。
【0063】 ・ ドライバのデバイスがもはや必要でない時に、ドライバをアンロードする。
例えば、デバイス・マネージャ210は、前記カードが取り除かれる時に、PC
カード・デバイス・ドライバをアンロードするであろう。
【0064】 本発明の一つの実施形態において、インストール可能デバイス・ドライバ20
4は、前記デバイス・マネージャ210によって管理される独立型DLL(Dyna
mic Link Library)として存在する。インストール可能デイバス・ドライバ20
4は、数種類のネイティブ・デバイス(native devices)、前記対象プラットフ
ォームに接続されることができるあらゆる周辺装置、及び前記プラットフォーム
に追加されるあらゆる特殊装置をサポートする。これは、モデム、プリンタ、デ
ジタル・カメラ、PCカード(PCMCIAカードとも称される)、その他の装
置を網羅する。
【0065】 本発明の一つの実施形態において、インストール可能デバイス・ドライバ20
4は、それらのサービスがアプリケーションに露出される共通インターフェース
を使用する。このインターフェースが、前記ストリームI/Oインターフェース
である。
【0066】 コンポーネントと、モジュールと、アプリケーションに露出されるAPIとの
間の関係の説明は、図3を参照して示される。モジュール308は、図2に記載
のオペレーティング・システム200等の動作環境の主な機能的ブロックである
。モジュール308は、API302を、アプリケーションが前記モジュール3
08によって実行される手段又は機能を接続し及び呼び出すことができるように
する、図2に記載のアプリケーション226等のアプリケーションに露出する。 モジュールは、任意で一つ以上のコンポーネント306を含んでもよい。コン
ポーネント306は、モジュール308よりも小さいスケールで能力を供給する
機能及びデータのグループである。
【0067】 モジュール308と同様に、コンポーネント306はまた、他のアプリケーシ
ョン、モジュール、及びコンポーネントが、前記コンポーネント306によって
実行される手段又は機能を呼び出すために使用するかもしれないAPI304を
露出する。
【0068】 上述の説明からわかるように、本発明の様々な実施形態は、従来のシステムに
対して長所を供給する。一つの利点は、前記オペレーティング・システムが、モ
ジュール方式であることである。これによって、埋め込み型システム設計者は、
それら独自のハードウェア開発プラットフォーム及びアプリケーションのために
最適化された動作環境を生成することができる。前記開発者は、前記動作環境へ
の包含のために、上述のモジュール及びコンポーネントの様々な組み合わせを選
択することができる。例えば、開発者は、前記カーネル及び選択された一組の通
信を含む埋め込み型オペレーティング・システムを構築することができるが、グ
ラフィカル・ユーザ・インターフェース(graphical user interface)を供給し
ない。このように本発明は、モジュール及びコンポーネントの特定の組み合わせ
には限定されない。
【0069】 前記本発明の様々な実施形態はまた、前記動作環境に必要であるAPIを有す
るモジュール及びコンポーネントのみが含まれる必要があるので、典型的な埋め
込み型システムの制限されたメモリ・リソースを保全するメカニズムを、開発者
に供給する。
【0070】 リソースが制限されたシステムにおけるAPI 前の節は、リソースが制限されたシステムのための典型的なオペレーティング
・システムに含まれるモジュール及びコンポーネントのシステム・レベルの概観
を示した。この節では、以下の下位節に沿って、上述のモジュール及びコンポー
ネントに関連した新しいAPI及びデータ構造を示す。以下に詳説されるAPI
は、C/C++プログラミング言語に見地から説明される。しかしながら、本発明
はそれほど限定されず、及び前記APIは、当業者が認識するように、あらゆる
プログラミング言語で定義され及び実行されてもよい。さらに、前記API機能
及びパラメータに与えられた名前は、それらの機能を説明するものであるが、し
かしながら、当業者には明らかとなるとおり、他の名前又は識別子が、前記機能
及びパラメータと関連することができる。6組のAPI及びデータ構造が示され
る:手書き認識API、位置及び案内API、スピーチ関連API、メモリ外A
PI、データベースAPI、及びアクティブ・シンク・データ構造(Active Syn
ch Data Structure)。
【0071】 1. 手書き認識API 手書き認識コンポーネントは、アドオン技術モジュール224(図2)におい
て使用可能である。前記手書き認識コンポーネントは、手書き認識エンジンを実
行する。本発明の一つの実施形態において、前記エンジンは、タッチ画面上の複
数のストロークという形式で、「インク」を受け取る。前記ストロークはそれか
ら、アプリケーションから前記エンジンへ、様々なAPIを使用して送られる。
前記エンジンは、ストロークを、英数字として解読するよう試みる。前記解読さ
れた文字がAPIを介して前記アプリケーションに戻される。本発明の一つの実
施形態において、前記文字は、英語の文字として解読される。本発明の他の実施
形態において、前記文字は他の言語で解読される。
【0072】 前記手書き認識コンポーネントは、タッチ画面を有するが、キーボードを有し
ない埋め込み型システムにおいて、特に有用である。英数字入力を要求するアプ
リケーションは、前記エンジンから受け取られた文字を、あたかもそれらがキー
ボードでタイプされたように使用することができる。
【0073】 手書き認識エンジンと接続するアプリケーションによって使用されるAPIに
関するさらなる詳細は、「手書き認識APIの詳細な記述」という下位節で示さ
れる。
【0074】 2. 位置及び案内API及びデータ構造 位置及び案内コンポーネントは、前記アドオン技術モジュールにおいて使用可
能である。前記位置及び案内コンポーネントによって、アプリケーションは、ア
ポロGPSシステム等の位置決め装置(位置決め及び案内装置とも称される)と
接続することができる。そのようなインターフェースは、前記埋め込み型システ
ムが、自動車又はトラック等の可動物に配置される時に有用である。本発明の一
つの実施形態において、前記埋め込み型システムは、AutoPCである。
【0075】 前記位置及び案内モジュールのためのAPIに関するさらなる詳細は、「位置
及び案内APIの詳細な記述」という下位節に記載される。また、前記位置及び
案内モジュール及び関連APIによって使用されるデータ構造に関するさらなる
詳細は、「位置及び案内システムのためのデータ構造の詳細な記述」という下位
節に記載される。
【0076】 3. スピーチ関連API 前記アドオン技術モジュールは、アプリケーション使用のためにAPIを露出
するいくつかのスピーチ関連コンポーネントを含む。これらのコンポーネントは
、テキスト・ツゥ・スピーチ・コンポーネント、音声からテキストへのコンポー
ネント、及び音声コマンド・コンポーネントを含む。一般的に、これらのコンポ
ーネントは、入力及び出力装置が制限され、及びユーザの前記埋め込み型システ
ムへの相互作用がスピーチを介する環境のためのものである。そのような環境の
一例は、AutoPCである。前記ドライバは、自動車の操作中に手を使わなけ
ればならないので、AutoPCとの相互作用は、スピーチ・インターフェース
を介する一方で、入力コマンドは、ユーザによって話され、及び前記PCからの
出力は、テキストからスピーチに変換される。
【0077】 テキスト・ツゥ・スピーチAPIに関するさらなる詳細は、「スピーチ・ツゥ
・テキストAPIの詳細な記述」という下位節において示される。前記音声コマ
ンド及びスピーチ・ツゥ・テキストAPIに関するさらなる詳細は、「音声コマ
ンドAPIの詳細な記述」、「音声コマンドAPIのためのデータ構造の詳細な
記述」及び「AutoPCのための音声コマンドAPIの詳細な記述」という下
位節において示される。
【0078】 4. メモリ外API メモリ外APIは、前記GWESモジュールのコンポーネントである。このコ
ンポーネントによって、埋め込み型システムの開発者は、前記オペレーティング
・システムが、前記システムはアプリケーションをランさせ又はデータを配置さ
せるのに利用可能なメモリが不足している、ということを検出する時に起こるデ
フォルト動作を入れ替えることができる。
【0079】 前記メモリ外コンポーネントは、前記状態は、デスクトップ・システムよりも
埋め込み型システムにおいてより発生しやすいので、制限されたリソースの環境
のためのオペレーティング・システムに重要である。前記露出されたAPIは、
埋め込み型システム開発者の特定の必要性に適合するカスタマイズされたソフト
ウェアを呼び出すために、標準化された方法を、前記オペレーティング・システ
ムに供給する。
【0080】 前記メモリ外APIに関するさらなる詳細は、「メモリ外APIの詳細な記述
」という下位節において示される。
【0081】 5. データベースAPI 図2を参照して上述されたとおり、前記ファイル・システム・モジュール21
8は、任意で、データベース・コンポーネントを含んでもよい。前記データベー
ス・コンポーネントによって、アプリケーションは、データベースを、ファイル
・システム・オブジェクトとして生成し及び保守することができる。アプリケー
ションは、前記データベースを保守する様々なAPI機能を呼び出す。これらの
機能は、新しいデータベースを生成し、現存のデータベースを開き、データベー
スを削除し、データベースにおける特定の記録を探し、データベースから記録を
読み取り、及びデータベースに記録を書き込む機能を含む。さらに、前記データ
ベースAPIは、一定の種類のデータベースのリストを通して案内する機能を含
む。前記データベースAPIに関するさらなる詳細は、「データベースAPIの
詳細な記述」という下位節において提示される。
【0082】 6. アクティブシンク・データ構造 アクティブシンクは、アドオン技術モジュールにおいて使用可能なコンポーネ
ントである。前記アクティブシンク・コンポーネントは、アプリケーションが、
二つのオブジェクトを比較して、前記オブジェクトの一つが、前記オブジェクト
が「同期される」、すなわち同じになるように、更新される必要があるかを決定
することができるようにするサービスを供給する。通常は、前記オブジェクトは
、アプリケーション・データを含むファイル・システム・オブジェクトである。
アクティブシンクは、ハンドヘルドPCに適用される時に特に有用である。これ
は、前記ユーザがハンドヘルドPC上で、ファイル・システム・オブジェクトに
おいて保守されたデータをしばしば更新し、及び前記二つのファイルが同じデー
タを含むように、デスクトップPC上でファイルを更新する必要があるからであ
る。例えば、ハンドヘルドPCは通常、電話番号を含む情報のデータベースを保
守する個人情報マネージャ等のアプリケーションを供給する。ユーザが、ハンド
ヘルドPCとデスクトップPCの両方で、電話番号の類似のデータベースを保守
する場合、二つの電話ディレクトリが、ハンドヘルドPCか又はデスクトップP
Cデータベースのいずれかになされる更新を反映することが望ましい。アクティ
ブシンクによって、ユーザをこれを達成することができる。
【0083】 本発明の一つの実施形態において、アクティブシンクが、更新を対応するオブ
ジェクトと正しく比較し及び更新を実行することができるようにするいくつかの
データ構造が採用される。第1のデータ構造は、CONFINFOデータ構造で
ある。このデータ構造は、二つの潜在的に対立する項目についての情報を検索す
るために使用される。本発明の一つの実施形態において、前記ユーザが、前記対
立を解決するための選択肢を選択できるようにするために、アクティブシンク・
サーバは、前記CONFINFOデータ構造における情報を、ダイアロク・ボッ
クスを介してユーザに示す。前記CONFINFOデータ構造に関するさらなる
詳細は、「同期APIのためのデータ構造の詳細な記述」という下位節において
示される。
【0084】 前記アクティブ・シンク・コンポーネントによって使用される第2のデータ構
造は、OBJNOTIFY構造である。前記OBJNOTIFYデータ構造は、
前記アクティブシンク・サービス・プロバイダに、前記ファイル・システムにお
けるオブジェクトが、変更され又は削除されたことを通知するために使用される
。前記OBJNOTIFYデータ構造に関するさらなる詳細は、「同期API用
データ構造の詳細な記述」という以下の記述において示される。
【0085】
【表1】
【表2】
【表3】
【表4】
【表5】
【表6】
【表7】
【表8】
【表9】
【0086】
【表10】
【表11】
【表12】
【表13】
【表14】
【表15】
【表16】
【表17】
【表18】
【表19】
【表20】
【表21】
【表22】
【表23】
【表24】
【表25】
【表26】
【表27】
【表28】
【表29】
【表30】
【表31】
【表32】
【表33】
【表34】
【表35】
【表36】
【表37】
【表38】
【表39】
【表40】
【表41】
【表42】
【表43】
【0087】
【表44】
【表45】
【表46】
【表47】
【表48】
【表49】
【表50】
【表51】
【表52】
【表53】
【表54】
【表55】
【表56】
【表57】
【表58】
【0088】
【表59】
【表60】
【表61】
【表62】
【表63】
【表64】
【0089】
【表65】
【表66】
【表67】
【表68】
【表69】
【表70】
【表71】
【表72】
【表73】
【表74】
【表75】
【表76】
【表77】
【表78】
【表79】
【表80】
【表81】
【表82】
【0090】
【表83】
【表84】
【表85】
【表86】
【表87】
【表88】
【表89】
【表90】
【表91】
【表92】
【表93】
【表94】
【表95】
【表96】
【表97】
【表98】
【表99】
【表100】
【表101】
【表102】
【表103】
【表104】
【表105】
【表106】
【表107】
【表108】
【表109】
【0091】
【表110】
【表111】
【表112】
【表113】
【表114】
【表115】
【表116】
【表117】
【表118】
【表119】
【表120】
【表121】
【表122】
【0092】
【表123】
【表124】
【表125】
【表126】
【表127】
【表128】
【表129】
【表130】
【表131】
【表132】
【表133】
【0093】
【表134】
【表135】
【表136】
【表137】
【表138】
【表139】
【表140】
【表141】
【表142】
【表143】
【表144】
【表145】
【表146】
【表147】
【表148】
【表149】
【表150】
【表151】
【表152】
【表153】
【表154】
【表155】
【表156】
【表157】
【表158】
【表159】
【表160】
【表161】
【表162】
【表163】
【表164】
【表165】
【表166】
【表167】
【表168】
【表169】
【表170】
【表171】
【表172】
【表173】
【表174】
【表175】
【0094】
【表176】
【表177】
【表178】
【表179】
【表180】
【表181】
【0095】
【表182】
【表183】
【表184】
【表185】
【表186】
【表187】
【表188】
【0096】
【表189】
【表190】
【表191】
【表192】
【表193】
【表194】
【0097】 結論 リソースが制限されたオペレーティング・システムのモジュール及びコンポー
ネントのためのAPIsが説明されてきた。前記APIsは、そのようなリソー
スが制限されたシステムにおいて望ましい専用ハードウェア及びソフトウェアへ
のアクセスを供給する。
【0098】 ここでは特定の実施形態が示され及び説明されてきたが、通常の当業者には、
同じ目的を達成するように計算されたあらゆる配列が、示された特定の実施形態
と入れ替わってもよいことが評価されるであろう。この出願は、本発明のあらゆ
る応用又は変形を網羅することを目的とする。
【0099】 例えば通常の当業者は、本発明の実施形態が、リソースが制限された環境にお
いて実行されるものとして説明されてきた一方で、本発明の本質は、他の環境に
も適応可能であることを評価するであろう。例えば、前記音声コマンド APIsは、システムに入力を供給するための従来のキーボードおよびマウスを
使用することが困難であるユーザを支援するために、標準デスクトップ・オペレ
ーティング・システムに適応されることができる。
【0100】 この出願において使用されている用語は、これらの環境のすべてを含むことを
意味する。それゆえに、本発明は、以下の特許請求の範囲及びそれに相当するも
のによってのみ制限されることを目的とすることは明らかである。
【図面の簡単な説明】
【図1】 図1は、本発明の実施形態が実行され得るハードウェア及び動作環境のダイア
グラムを示す。
【図2】 図2は、リソースが制限された環境のためのオペレーティング・システムの典
型的実施形態のシステム‐レベルの概観を示すダイアグラムである。
【図3】 図3は、本発明の実施形態に従って、モジュールと、コンポーネントと及びA
PIとの関係をさらに示すダイアグラムである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,UZ,VN,YU,ZA,Z W (72)発明者 カジョレット クロード カナダ ケベック オウトレモント アベ ニュー オウトレモント 535 (72)発明者 マチューア シャラッド アメリカ合衆国 ワシントン州 98052 レッドモンド ノースイースト セヴンテ ィシックス コート 14924 (72)発明者 ヒューレンダー グレゴリー エヌ アメリカ合衆国 ワシントン州 98033 カークランド ノースイースト ナインテ ィセヴンス ストリート 12211 (72)発明者 ミラー マーク アメリカ合衆国 ワシントン州 98034 カークランド ノースイースト ワンハン ドレッドアンドトウェンティセカンド プ レイス 8026 (72)発明者 ジョンソン ブルース アメリカ合衆国 ワシントン州 98072 ウッデンヴィル ノースイースト ワンハ ンドレッドアンドヒィフティナインス プ レイス 16953 (72)発明者 ギンズバーグ マイケル アメリカ合衆国 ワシントン州 98053 レッドモンド ノースイースト トウェン ティセヴンス ドライヴ 26125 Fターム(参考) 5B076 AA00 BA00 BA04 BA10 5B098 AA03 AA05 AA08 AA09 GA02 GD01 GD03

Claims (49)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ・システムであって、 互いに動作できるように接続されたプロセッサ及びメモリを具備するコンピュ
    ータと; 前記プロセッサにおいて動作するオペレーティング・システムであって、手書
    き認識コンポーネントを有する前記オペレーティング・システムと; 前記オペレーティング・システムの制御下でランするアプリケーション・プロ
    グラムと; 前記手書き認識コンポーネントと関連するアプリケーション・プログラム・イ
    ンターフェースであって、前記アプリケーションからデータを受信し及びデータ
    を前記アプリケーションに送信するように動作する前記アプリケーション・プロ
    グラム・インターフェースと を具備することを特徴とするコンピュータ・システム。
  2. 【請求項2】 請求項1に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースは: ソース手書きコンテクスト・ハンドルをアプリケーションから受け取り、及び
    前記アプリケーションに前記ソース手書きコンテクスト・ハンドルに基づいた、
    対象となる手書きコンテクスト・ハンドルを戻す第1のインターフェースと; 第1の手書きコンテクスト・ハンドルをアプリケーションから受け取り、前記
    手書き認識コンポーネントが、前記第1の手書きコンテクスト・ハンドルを壊す
    ようにさせる第2のインターフェースと; アプリケーションから入力手書きコンテクスト・ハンドル及びマウス・ストロ
    ーク(mouse stroke)を表示する点の配列を受け取り、及び前記手書き認識コン
    ポーネントが、前記点の配列を、前記入力手書きコンテクスト・ハンドルによっ
    て表示されたデータ構造に加えるようにさせる第3のインターフェースと; アプリケーションから前記入力手書きコンテクスト・ハンドルを受け取り、及
    び前記手書き認識コンポーネントが、点の配列を、前記入力手書きコンテクスト
    ・ハンドルによって表示された前記データ構造に加えるのを停止するようにさせ
    る第4のインターフェースと; アプリケーションから前記入力手書きコンテクスト・ハンドルを受け取り、及
    び前記手書きコンポーネントが前記入力手書きコンテクスト・ハンドルによって
    表示された前記データ構造を解釈するようにさせる第5のインターフェースと; 前記入力手書きコンテクスト・ハンドルを前記アプリケーションから受け取り
    、及び前記アプリケーションに、前記手書き認識コンテクストにおける点の配列
    に基づいた少なくとも一つの文字を戻す第6のインターフェースと; 前記入力手書きコンテクスト・ハンドル及びコンテクスト文字をアプリケーシ
    ョンから受け取り、及び前記手書き認識コンポーネントが、前記コンテクスト文
    字に基づいた前記点の配列を解釈するようにさせる第7のインターフェースと を具備することを特徴とするコンピュータ・システム。
  3. 【請求項3】 手書き認識コンポーネントと接続しているアプリケーション
    と関連して、コンピュータ上の実行のために、コンピュータ読み取り可能媒体に
    おいて具現化される一組のアプリケーション・プログラム・インターフェースで
    あって: ソース手書きコンテクスト・ハンドルをアプリケーションから受け取り、及び
    前記アプリケーションに、前記ソース手書きコンテクスト・ハンドルに基づいた
    、対象となる手書きコンテクスト・ハンドルを戻す第1のインターフェースと; 第1の手書きコンテクスト・ハンドルをアプリケーションから受け取り、前記
    手書き認識コンポーネントが、前記第1の手書きコンテクスト・ハンドルを壊す
    ようにさせる第2のインターフェースと; アプリケーションから入力手書きコンテクスト・ハンドル及びマウス・ストロ
    ーク(mouse stroke)を表示する点の配列を受け取り、及び前記手書き認識コン
    ポーネントが、前記点の配列を、前記入力手書きコンテクスト・ハンドルによっ
    て表示されたデータ構造に加えるようにさせる第3のインターフェースと; アプリケーションから前記入力手書きコンテクスト・ハンドルを受け取り、及
    び前記手書き認識コンポーネントが、点の配列を、前記入力手書きコンテクスト
    ・ハンドルによって表示された前記データ構造に加えるのを停止するようにさせ
    る第4のインターフェースと; アプリケーションから前記入力手書きコンテクスト・ハンドルを受け取り、及
    び前記手書きコンポーネントが前記入力手書きコンテクスト・ハンドルによって
    表示された前記データ構造を解釈するようにさせる第5のインターフェースと; 前記入力手書きコンテクスト・ハンドルを前記アプリケーションから受け取り
    、及び前記アプリケーションに、前記手書き認識コンテクストにおける前記点の
    配列に基づいた少なくとも一つの文字を戻す第6のインターフェースと; 前記入力手書きコンテクスト・ハンドル及びコンテクスト文字をアプリケーシ
    ョンから受け取り、及び前記手書き認識コンポーネントが、前記コンテクスト文
    字に基づいた前記点の配列を解釈するようにさせる第7のインターフェースと を具備することを特徴とするアプリケーション・プログラム・インターフェー
    ス。
  4. 【請求項4】 コンピュータ・システムであって、 互いに動作するように接続されたプロセッサ及びメモリを具備するコンピュー
    タと; 前記プロセッサにおいて動作するオペレーティング・システムであって、位置
    決めコンポーネントを有する前記オペレーティング・システムと; 前記オペレーティング・システムの制御下でランするアプリケーション・プロ
    グラムと; 前記位置決めコンポーネントと関連するアプリケーション・プログラム・イン
    ターフェースであって、前記アプリケーション・プログラムによって、前記位置
    決めコンポーネントが、位置決め装置からデータを送信し及び受信するようにさ
    せることができるようにするように機能する前記アプリケーション・プログラム
    ・インターフェースと を具備することを特徴とするコンピュータ・システム。
  5. 【請求項5】 請求項4に記載のコンピュータシステムにおいて、 前記位置決め装置が、グローバル・ポジショニング・システム(GPS)を具
    備することを特徴とするコンピュータ・システム。
  6. 【請求項6】 請求項5に記載のコンピュータ・システムにおいて、 前記GPSがアポロGPS(Apollo GPS)を具備することを特徴とするコンピ
    ュータ・システム。
  7. 【請求項7】 請求項4に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースが: 前記位置決め装置を参照する第1の装置ハンドルをアプリケーションから受け
    取り、及び前記アプリケーションに、位置決め装置が完全に閉じられたか否かを
    示す状態値を戻す第1のインターフェースと; 位置決め装置のリストを前記アプリケーションに戻す第2のインターフェース
    と; アプリケーションから位置決め装置プロファイル(positioning device profi
    le)を受け取り、及び前記アプリケーションに、前記位置決め装置を表示する第
    2の装置ハンドルを戻す第3のインターフェースであって、前記位置決め装置は
    開けられた状態で配置される前記インターフェースと を具備することを特徴とするコンピュータ・システム。
  8. 【請求項8】 請求項4に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースが、 前記位置決め装置への第1のハンドル及び第1のデータ・タイプをアプリケー
    ションから受け取り、及びデータ値を、前記第1のデータ・タイプに基づいて前
    記アプリケーションに戻す第4のインターフェースと; 前記位置決め装置への第2のハンドル、前記位置決め装置に送られるデータを
    含むデータ・バッファ、及び前記アプリケーションから第2のデータ・タイプを
    受け取り、及び前記アプリケーションに、前記データ・バッファが前記位置決め
    装置にうまく送られたか否かを示す状態を戻す第5のインターフェースと を具備することを特徴とするコンピュータ・システム。
  9. 【請求項9】 請求項8に記載のコンピュータ・システムにおいて、 前記第1のデータ・タイプは、:位置、速度、装置状態、時間、精密ステーシ
    ョン(accuracy station)、装置プロファイル、構成(configuration)、設定 、差動GPS状態、及び暦を含む前記グループから選択されることを特徴とする
    コンピュータ・システム。
  10. 【請求項10】 請求項8に記載のコンピュータ・システムにおいて、 前記第2のデータ・タイプは、:位置、速度、装置状態、時間、アキュラシー
    ・ステーション、装置プロファイル、コンフィギュレーション、設定、差動GP
    S状態及び暦を含む前記グループから選択されることを特徴とするコンピュータ
    ・システム。
  11. 【請求項11】 請求項4に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースは: 前記位置決め装置への装置ハンドル、データ・タイプ、及び時間帯を前記アプ
    リケーションから受け取り、及び前記位置決めコンポーネントが、各時間帯毎に
    一回、前記位置決め装置からデータを引き出すようにする第6のインターフェー
    スであって、前記引き出されたデータは前記データ・タイプに基づいている前記
    インターフェースと; 前記位置決め装置への第2の装置ハンドル及びデータ・タイプをアプリケーシ
    ョンから受け取り、及び前記位置決めコンポーネントに、前記データ・タイプで
    特定された種類のデータを引き出すのを停止するようにさせる第7のインターフ
    ェースと を具備することを特徴とするコンピュータ・システム。
  12. 【請求項12】 請求項4に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースはさらに、アプリケー
    ションに、前記位置決め装置によって供給されるサービスの質を戻す第8のイン
    ターフェースを具備することを特徴とするコンピュータ・システム。
  13. 【請求項13】 位置決めデータを保守するアプリケーションと関連して、
    コンピュータ上の実行のために、コンピュータ読み取り可能媒体において具現化
    される一組のアプリケーション・プログラム・インターフェースであって: 前記位置決め装置を参照する第1の装置ハンドルをアプリケーションから受け
    取り、及び前記アプリケーションに、前記位置決め装置がうまく閉じられたか否
    かを示す状態値を戻す第1のインターフェースと; 位置決め装置のリストを前記アプリケーションに戻す第2のインターフェース
    と; 位置決め装置プロファイルをアプリケーションから受け取り、及び前記アプリ
    ケーションに、前記位置決め装置を表示する第2の装置ハンドルを戻す第3のイ
    ンターフェースであって、前記位置決め装置は開かれた状態で配置される前記イ
    ンターフェースと を具備することを特徴とするアプリケーション・プログラム・インターフェー
    ス。
  14. 【請求項14】 請求項13に記載のアプリケーション・プログラム・イン
    タフェースにおいて、さらに、 前記位置決め装置への第1のハンドル及び第1のデータ・タイプをアプリケー
    ションから受け取り、及びデータ値を、前記第1のデータ・タイプに基づいて前
    記アプリケーションに戻す第4のインターフェースと; 前記位置決め装置への第2のハンドル、前記位置決め装置に送られるデータを
    含むデータ・バッファ、及び第2のデータ・タイプを前記アプリケーションから
    受け取り、及び前記アプリケーションに、前記データ・バッファが、前記位置決
    め装置にうまく送られたか否かを示す状態を戻す第5のインターフェースと を具備することを特徴とするアプリケーション・プログラム・インターフェー
    ス。
  15. 【請求項15】 請求項14に記載のアプリケーション・プログラム・イン
    タフェースにおいて、 前記第1のデータ・タイプは:位置、速度、装置状態、時間、アキュラシー・
    ステーション、装置プロファイル、コンフィギュレーション、設定、差動GPS
    状態、及び暦を含む前記グループから選択されることを特徴とするアプリケーシ
    ョン・プログラム・インターフェース。
  16. 【請求項16】 請求項14に記載のアプリケーション・プログラム・イン
    タフェースにおいて、 前記第2のデータ・タイプは:位置、速度、装置状態、時間、アキュラシー・
    ステーション、装置プロファイル、コンフィギュレーション、設定、差動GPS
    状態、及び暦を含む前記グループから選択されることを特徴とするアプリケーシ
    ョン・プログラム・インターフェース。
  17. 【請求項17】 請求項13に記載のアプリケーション・プログラム・イン
    タフェースにおいて、さらに、 前記位置決め装置への装置ハンドル、データ・タイプ及び時間帯を前記アプリ
    ケーションから受け取り、及び前記位置決めコンポーネントが、各時間帯毎に一
    回、前記位置決め装置からデータを引き出すようにさせる第6のインターフェー
    スであって、前記引き出されたデータは、前記データ・タイプに基づいている前
    記インターフェースと; 前記位置決め装置への第2の装置ハンドル及びデータ・タイプをアプリケーシ
    ョンから受け取り、及び前記位置決めコンポーネントが、前記データ・タイプに
    よって特定された種類のデータを引き出すのを停止するようにさせる第7のイン
    ターフェースと を具備することを特徴とするアプリケーション・プログラム・インターフェー
    ス。
  18. 【請求項18】 請求項13に記載のアプリケーション・プログラム・イン
    タフェースにおいて、さらに、アプリケーションに、前記位置決め装置によって
    供給されるサービスの質を戻す第8のインターフェースを具備することを特徴と
    するアプリケーション・プログラム・インターフェース。
  19. 【請求項19】 データ構造が記憶されたコンピュータ読み取り可能媒体で
    あって: 位置を示すデータ項目及び位置を示す前記データ項目が設定された時間を示す
    データ項目を具備する第1のフィールドと; 埋め込み型システムに操作上接続された位置決め装置から受け取られた暦デー
    タを具備する第2のフィールドと; 前記第2のフィールドが、前記埋め込み型システムの起動時に初期化されるか
    を示すインジケータを具備する第3のフィールドと; 位置を示す前記データ項目が、前記埋め込み型システムの起動時に初期化され
    るかを示すインジケータを具備する第4のフィールドと; 時間を示す前記データ項目が、前記埋め込み型システムの起動時に初期化され
    るかを示すインジケータを具備する第5のフィールドと を具備するデータ構造が記憶されたことを特徴とするコンピュータ読み取り可
    能媒体。
  20. 【請求項20】 データ構造が記憶されたコンピュータ読み取り可能媒体で
    あって: 位置決め装置に対する製造者名を具備する第1のフィールドと; チップ製造者及び前記位置決め装置のチップ・モデル(chip model)に対する
    名前を具備する第2のフィールドと; 前記位置決め装置を使用する多くのアプリケーションを具備する第3のフィー
    ルドと; 前記位置決め装置によって供給されるデータの質を具備する第4のフィールド
    と; 前記次の位置決め装置を記述するデータ構造へのポインタを具備する第5のフ
    ィールドと; 前記位置決め装置によって使用される通信ポートを識別する第6のフィールド
    と を具備するデータ構造が記憶されたことを特徴とするコンピュータ読み取り可能
    媒体。
  21. 【請求項21】 データ構造が記憶されたコンピュータ読み取り可能媒体で
    あって: 位置決め装置の状態を具備する第1のフィールドと; 前記第1のフィールドがいつ更新されたかを示す時間を具備する第2のフィー
    ルドと を具備することデータ構造が記憶されたことを特徴とするコンピュータ読み取り
    可能媒体。
  22. 【請求項22】 データ構造が記憶されたコンピュータ読み取り可能媒体で
    あって: 位置決め装置に対する位置決め装置モードを具備する第1のフィールドと; 前記位置決め装置に対する操作モードを具備する第2のフィールドと; 前記位置決め装置に対する修正状態を具備する第3のフィールドと; 前記第1のフィールド、第2のフィールド、及び第3のフィールドがいつ設定
    されたかを示す時間を具備する第4のフィールドと; 前記位置決め装置に割り当てられる最大年齢制限を具備する第5のフィールド
    と を具備することデータ構造が記憶されたことを特徴とするコンピュータ読み取り
    可能媒体。
  23. 【請求項23】 データ構造が記憶されたコンピュータ読み取り可能な媒体
    であって、前記データ構造が: ステーションを識別するステーション番号を具備する第1のフィールドと; 前記第1のフィールドによって識別された前記ステーションが、位置を算出す
    る予め決められたデータ処理段階の間に使用されるかを示す第2のフィールドと
    ; 前記ステーションの高度を具備する第3のフィールドと; 前記ステーションに対する方位の値を具備する第4のフィールドと; 前記ステーションから受信された信号の強度を具備する第5のフィールドと を具備することを特徴とするコンピュータ読み取り可能媒体。
  24. 【請求項24】 データ構造が記憶されたコンピュータ読み取り可能媒体で
    あって、前記データ構造が: 埋め込み型システムに接続された位置測定装置に対する位置を具備する第1の
    フィールドと; 前記第1のフィールドの前記位置が入手された時間を具備する第2のフィール
    ドと を具備することを特徴とコンピュータ読み取り可能媒体。
  25. 【請求項25】 テキスト出力を供給するアプリケーションと関連して、コ
    ンピュータ上での実行のために、コンピュータ読み取り可能媒体において具現化
    される一組のアプリケーション・プログラム・インターフェースであって: アプリケーション識別子と、通知インターフェースと、前記通知インターフェ
    ースのための識別子と、前記通知インターフェースに送られる一組の通知を識別
    するフラグと、サイト情報構造への参照とを受け取り、及び前記アプリケーショ
    ンをテキスト・ツゥ・スピーチ・コンポーネントに登録する第1のインターフェ
    ースと; テキストを含むバッファと、前記テキストのタイプを示す優先順位フラグと、
    テキスト・ツゥ・スピーチ制御タグとを含むバッファを受け取り、及び前記テキ
    スト・ツゥ・スピーチ・コンポーネントが、前記テキストを含むバッファを音声
    出力に変換するようにさせる第2のインターフェースと を具備することを特徴とする一組のアプリケーション・プログラム・インター
    フェース。
  26. 【請求項26】 請求項25に記載の一組のアプリケーション・プログラム
    ・インターフェースにおいて、 前記テキスト・ツゥ・スピーチ・コンポーネントが、前記テキストを含むバッ
    ファを稼動させるのを停止するようにさせ、及び一組の保留テキストを再生待ち
    行列からクリアするようにさせる第3のインターフェースと; 前記テキスト・ツゥ・スピーチ・コンポーネントが、前記テキストを含むバッ
    ファを稼動させるのを一時停止するようにさせる第4のインターフェースと; 前記テキスト・ツゥ・スピーチ・コンポーネントが前記テキストを含むバッフ
    ァを稼動させるのを再開するようにさせる第5のインターフェースと をさらに具備することを特徴とするアプリケーション・プログラム・インター
    フェース。
  27. 【請求項27】 請求項25に記載の一組のアプリケーション・プログラム
    ・インターフェースにおいて、 現在のスピーチ状態を示すフラグを戻す第6のインターフェースと; 第1の話し速度を受け取り、前記テキスト・ツゥ・スピーチ・コンポーネント
    が、前記第1の話し速度でテキストを出力するようにさせる第7のインターフェ
    ースと; 現在の話し速度を戻す第8のインターフェースと; 前記テキスト・ツゥ・スピーチ・コンポーネントによって使用されるべき音声
    を示す第1の音声識別子を受け取る第9のインターフェースと; 前記テキスト・ツゥ・スピーチ・コンポーネントによって使用される現在の音
    声を示す第2の音声識別子を戻す第10のインターフェースと をさらに具備することを特徴とするアプリケーション・プログラム・インター
    フェース。
  28. 【請求項28】 少なくとも一つの音声コマンド・メニューを管理するアプ
    リケーションと関連して、コンピュータ上の実行のために、コンピュータ読み取
    り可能媒体において具現化される一組のアプリケーション・プログラム・インタ
    ーフェースであって: 前記少なくとも一つの音声コマンド・メニューと関連するウィンドウのハンド
    ル及び前記メニューがスピーチ認識状態と関連して活動状態であるべき時を示す
    フラグを受け取る第1のインターフェースと; その各々が音声コマンドを説明するコマンド構造のリストを受け取り、及び前
    記少なくとも一つの音声コマンド・メニューに加えられた第1の音声コマンドと
    関連する数を戻す第2のインターフェースと; 前記少なくとも一つの音声コマンド・メニューを停止させる第3のインターフ
    ェースと; 第1の音声コマンドに対応する数、除去する音声コマンドの数を受け取り、及
    び前記音声コマンドの数を、前記少なくとも一つの音声コマンド・メニューから
    除去する第4のインターフェースであって、前記除去は、前記第1の音声コマン
    ドに対応する数で始まる前記インターフェースと を具備することを特徴とするアプリケーション・プログラム・インターフェー
    ス。
  29. 【請求項29】 音声コマンド・メニューを管理するアプリケーションと関
    連して、コンピュータ上の実行のために、コンピュータ読み取り可能媒体におい
    て具現化される一組のアプリケーション・プログラム・インターフェースであっ
    て: 可能化パラメータをアプリケーションから受け取る第1のインターフェースで
    あって、前記可能化パラメータは、前記可能化パラメータが第1の値を有する時
    に、音声認識コンポーネントが、音声認識を可能にし、及び前記可能化パラメー
    タが第2の値を有する時に、音声認識を不能にするようにさせるよう動作する前
    記インターフェースと; 前記アプリケーションに第2のパラメータを戻す第2のインターフェースであ
    って、前記第2のパラメータは、前記第2のパラメータが前記第1の値を有する
    時に音声認識が可能にされ、及び前記第2のパラメータが前記第2の値を有する
    時に音声認識が不能にされることを示すように動作する前記インターフェースと を具備することを特徴とするアプリケーション・プログラム・インターフェー
    ス。
  30. 【請求項30】 音声コマンド・メニューを管理するアプリケーションと関
    連して、コンピュータ上の実行のために、コンピュータ読み取り可能媒体におい
    て具現化される一組のアプリケーション・プログラム・インターフェースであっ
    て: 音声メニュー及びコマンド列を識別する第1の音声コマンド構造を受け取る第
    1のインターフェースであって、前記音声コマンド構造は、第2のアプリケーシ
    ョンと関連する前記インターフェースと; 認識された音声コマンドの識別子、前記認識された音声コマンドと関連する音
    声メニューを識別する第2の音声コマンド構造、検査要求フラグ、動作データ列
    、前記認識された音声コマンドの少なくとも一つの認識されたフレーズを含むリ
    ストと、及び前記認識されたコマンドに対応するコマンド列とを受け取る第2の
    インターフェースと; 話されるフレーズが、音声コマンド・コンポーネントによって検出される時に
    呼び出される第3のインターフェースと; 前記音声コマンド・コンポーネントによって検出される干渉の一種を受け取る
    第4のインターフェースと を具備することを特徴とするアプリケーション・プログラム・インターフェー
    ス。
  31. 【請求項31】 音声コマンド・メニューを管理するアプリケーションと関
    連して、コンピュータ上の実行のために、コンピュータ読み取り可能媒体におい
    て具現化される一組のアプリケーション・プログラム・インターフェースであっ
    て: アプリケーション名及び状態名を具備するメニュー識別子構造、言語識別子構
    造、及びモード・フラグをアプリケーションから受け取り、音声認識システムが
    、前記メニュー識別子構造によって識別される音声コマンド・メニューを生成す
    るようにさせる第1のインターフェースと; 前記メニュー識別子構造をアプリケーションから受け取り、及び前記音声認識
    システムが、前記メニュー識別子構造によって識別される前記音声コマンド・メ
    ニューを削除するようにさせる第2のインターフェースと を具備することを特徴とするアプリケーション・プログラム・インターフェー
    ス。
  32. 【請求項32】 コンピュータ・システムであって: 互いに動作可能に接続されたプロセッサ及びメモリを具備するコンピュータと
    ; 前記プロセッサにおいて動作するオペレーティング・システムであって、スピ
    ーチ・ツゥ・テキスト・コンポーネントを有する前記オペレーティング・システ
    ムと; 前記オペレーティング・システムの制御下でランするアプリケーション・プロ
    グラムと; 前記スピーチ・ツゥ・テキスト・コンポーネントと関連するアプリケーション
    ・プログラム・インターフェースであって、前記アプリケーションからデータを
    受信し及びデータを前記アプリケーションに送信するように動作する前記アプリ
    ケーション・プログラム・インターフェースと を具備することを特徴とするコンピュータ・システム。
  33. 【請求項33】 請求項32に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースは: アプリケーション識別子と、通知インターフェースと、前記通知インターフェ
    ースに対する識別子と、前記通知インターフェースに送られるべき一組の通知を
    識別するフラグと、サイト情報構造への参照とを受け取り、及び前記アプリケー
    ションを、テキスト・ツゥ・スピーチ・コンポーネントに登録する第1のインタ
    ーフェースと; テキストを含むバッファと、前記テキストの種類を示す優先順位フラグと、テ
    キスト・ツゥ・スピーチ制御タグを含むバッファとを受け取り、及び前記テキス
    ト・ツゥ・スピーチ・コンポーネントが、前記テキストを含むバッファを音声出
    力に変換するようにさせる第2のインターフェースと を具備することを特徴とするコンピュータ・システム。
  34. 【請求項34】 請求項32に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースは: 前記テキスト・ツゥ・スピーチ・コンポーネントが、前記テキストを含むバッ
    ファを稼動させるのを停止するようにさせ、及び一組の保留テキストを再生待ち
    行列からクリアするようにさせる第3のインターフェースと; 前記テキスト・ツゥ・スピーチ・コンポーネントが、前記テキストを含むバッ
    ファを稼動させるのを一時停止するようにさせる第4のインターフェースと; 前記テキスト・ツゥ・スピーチ・コンポーネントが、前記テキストを含むバッ
    ファを稼動させるのを再開するようにさせる第5のインターフェースと を具備することを特徴とするコンピュータ・システム。
  35. 【請求項35】 請求項32に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースは: 前記現在のスピーチ状態を示すフラグを戻す第6のインターフェースと; 第1の話し速度を受け取り、前記テキスト・ツゥ・スピーチ・コンポーネント
    が、前記第1の話し速度でテキストを出力するようにさせる第7のインターフェ
    ースと; 現在の話し速度を戻す第8のインターフェースと; 前記テキスト・ツゥ・スピーチ・コンポーネントによって使用されるべき音声
    を示す第1の音声識別子を受け取る第9のインターフェースと; 前記テキスト・ツゥ・スピーチ・コンポーネントによって使用されるべき前記
    現在の音声を示す第2の音声識別子を戻す第10のインターフェースと を含むことを特徴とするコンピュータ・システム。
  36. 【請求項36】 コンピュータ・システムであって: 互いに動作可能に接続されたプロセッサ及びメモリを具備するコンピュータと
    ; 前記プロセッサにおいて動作するオペレーティング・システムであって、音声
    認識コンポーネントを有する前記オペレーティング・システムと; 前記オペレーティング・システムの制御下でランするアプリケーション・プロ
    グラムと; 前記音声認識コンポーネントと関連するアプリケーション・プログラム・イン
    ターフェースであって、前記アプリケーションからデータを受信し及びデータを
    前記アプリケーションに送信するように動作する前記アプリケーション・プログ
    ラム・インターフェースと を具備することを特徴とするコンピュータ・システム。
  37. 【請求項37】 請求項36に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースが: 前記少なくとも一つの音声コマンド・メニューと関連するウィンドウのハンド
    ル及び前記メニューがスピーチ認識状態と関連して活動状態であるべき時を示す
    フラグを受け取る第1のインターフェースと; その各々が音声コマンドを説明するコマンド構造のリストを受け取り、及び前
    記少なくとも一つの音声コマンド・メニューに加えられた第1の音声コマンドと
    関連する数を戻す第2のインターフェースと; 前記少なくとも一つの音声コマンド・メニューを停止させる第3のインターフ
    ェースと; 第1の音声コマンドに対応する数、除去する音声コマンドの数を受け取り、及
    び前記音声コマンドの数を、前記少なくとも一つの音声コマンド・メニューから
    除去する第4のインターフェースであって、前記除去は、前記第1の音声コマン
    ドに対応する数で始まる前記インターフェースと を具備することを特徴とするコンピュータ・システム。
  38. 【請求項38】 請求項36に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースは: 可能化パラメータを前記アプリケーションから受け取る第1のインターフェー
    スであって、前記可能化パラメータは、前記可能化パラメータが第1の値を有す
    る時に、前記音声認識コンポーネントが、音声認識を可能にし、及び前記可能化
    パラメータが第2の値を有する時に、音声認識を不能にするようにさせるよう動
    作する前記インターフェースと; 前記アプリケーションに第2のパラメータを戻す第2のインターフェースであ
    って、前記第2のパラメータは、前記第2のパラメータが前記第1の値を有する
    時に音声認識が可能にされ、及び前記第2のパラメータが前記第2の値を有する
    時に音声認識が不能にされることを示すように動作する前記インターフェースと を具備することを特徴とするコンピュータ・システム。
  39. 【請求項39】 請求項36に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースは: 前記アプリケーションから、音声メニュー及びコマンド列を識別する第1の音
    声コマンド構造を受け取る第1のインターフェースであって、前記音声コマンド
    構造は、第2のアプリケーションと関連する前記インターフェースと; 認識された音声コマンドの識別子、前記認識された音声コマンドと関連する音
    声メニューを識別する第2の音声コマンド構造、検査要求フラグ、動作データ列
    、前記認識された音声コマンドの少なくとも一つの認識されたフレーズを含むリ
    ストと、及び前記認識されたコマンドに対応するコマンド列とを受け取る第2の
    インターフェースと; 話されるフレーズが、前記音声認識コンポーネントによって検出される時に呼
    び出される第3のインターフェースと; 前記音声認識コンポーネントによって検出される干渉の一種を受け取る第4の
    インターフェースと を具備することを特徴とするコンピュータ・システム。
  40. 【請求項40】 請求項36に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースは、 アプリケーション名及び状態名を具備するメニュー識別子構造、言語識別子構
    造、及びモード・フラグをアプリケーションから受け取り、音声認識システムが
    、前記メニュー識別子構造によって識別される音声コマンド・メニューを生成す
    るようにさせる第1のインターフェースと; 前記メニュー識別子構造をアプリケーションから受け取り、及び前記音声認識
    システムが、前記メニュー識別子構造によって識別される前記音声コマンド・メ
    ニューを削除するようにさせる第2のインターフェースと を具備することを特徴とするコンピュータ・システム。
  41. 【請求項41】 データ構造を記憶したコンピュータ読み取り可能媒体にお
    いて、前記データ構造が: 音声コマンドに対するコマンド列を具備する第1のフィールドと; 前記音声コマンドに関する情報を供給する値を有するフラグを具備する第2の
    フィールドと; 前記音声コマンドに対するコマンド識別子を具備する第3のフィールドと; 前記音声コマンドに応答して実行される動作の説明を具備する第4のフィール
    ドと; 前記音声コマンドに対する分類識別子を具備する第5のフィールドと を具備することを特徴とするコンピュータ読み取り可能媒体。
  42. 【請求項42】 データ構造を記憶したコンピュータ読み取り可能媒体にお
    いて、前記データ構造が: 音声認識エンジンに対する認識閾値を具備する第1のフィールドと; 前記音声認識エンジンへの入力を供給する入力音声装置に対する識別子を具備
    する第2のフィールドと; 音声認識が使用可能にされているかを示すフラグを具備する第3のフィールド
    と; 前記第2のフィールドによって識別される前記音声入力装置に対する現在のマ
    イクの名前を具備する第4のフィールドと; 前記音声ソースである現在のスピーカの名前を具備する第5のフィールドと; スピーチ認識モードに対する識別子を具備する第6のフィールドと を具備することを特徴とするコンピュータ読み取り可能媒体。
  43. 【請求項43】 データ構造を記憶したコンピュータ読み取り可能媒体にお
    いて、前記データ構造が: 音声認識エンジンへの入力を供給する入力音声装置に対する識別子を具備する
    第1のフィールドと; 音声認識が使用可能にされているかを示すフラグを具備する第2のフィールド
    と; 前記音声認識エンジンに対するベースライン(baseline)平均的話し速度を具
    備する第3のフィールドと を具備することを特徴とするコンピュータ読み取り可能媒体。
  44. 【請求項44】 コンピュータ・システムであって: 互いに動作可能に接続されたプロセッサ及びメモリを具備するコンピュータと
    ; 前記プロセッサにおいて動作するオペレーティング・システムであって、メモ
    リ外モジュールを有する前記オペレーティング・システムと; 前記メモリ外モジュールと関連するアプリケーション・プログラム・インター
    フェースであって、前記アプリケーション・プログラム・インターフェースは、
    前記オペレーティング・システムに、前記メモリ外モジュールが、低メモリ状態
    に応答するようにさせることを許可するように機能する前記アプリケーション・
    プログラム・インターフェースと を具備することを特徴とするコンピュータ・システム。
  45. 【請求項45】 請求項45に記載のコンピュータ・システムにおいて、 前記アプリケーション・プログラム・インターフェースは: 前記オペレーティング・システムから、前記メモリ外モジュールによって閉じ
    られるべきウィンドウを識別するウィンドウ構造のリストを受け取る第1のイン
    ターフェースと; 前記オペレーティング・システムに、メモリが危機的に低いか決定するように
    させる前記メモリ外モジュールによって呼び出される第2のインターフェースと を具備することを特徴とするコンピュータ・システム。
  46. 【請求項46】 オペレーティング・システムのメモリ外モジュールと関連
    して、コンピュータ上の実行のために、コンピュータ読み取り可能媒体において
    具現化される一組のアプリケーション・プログラム・インターフェースであって
    : 前記オペレーティング・システムから、前記メモリ外モジュールによって閉じ
    られるべきウィンドウを識別するウィンドウ構造のリストを受け取る第1のイン
    ターフェースと; 前記オペレーティング・システムに、メモリが危機的に低いかどうかを決定す
    るようにさせる前記メモリ外モジュールによって呼び出される第2のインターフ
    ェースと を具備することを特徴とするアプリケーション・プログラム・インターフェー
    ス。
  47. 【請求項47】 データ構造を記憶したコンピュータ読み取り可能媒体にお
    いて、前記データ構造が: ローカル・オブジェクト及び遠隔オブジェクトを含むフォルダを表示するハン
    ドルを具備する第1のフィールドと; 前記ローカル・オブジェクトを表示するハンドルを具備する第2のフィールド
    と; 前記遠隔オブジェクトを表示するハンドルを具備する第3のフィールドと; 前記ローカル・オブジェクトの名前を具備する第4のフィールドと; 前記ローカル・オブジェクトの説明を具備する第5のフィールドと; 前記遠隔オブジェクトの名前を具備する第6のフィールドと; 前記遠隔オブジェクトの説明を具備する第7のフィールドとを具備し、 予め決められたデータ処理動作の間、前記第4、第5、第6、及び第7のフィ
    ールドが表示される ことを特徴とするコンピュータ読み取り可能媒体。
  48. 【請求項48】 データ構造を記憶したコンピュータ読み取り可能媒体にお
    いて、前記データ構造が: オブジェクト・タイプ名を具備する第1のフィールドと; ファイル・システム・オブジェクトを説明する少なくとも一つのインジケータ
    を具備する第2のフィールドであって、前記インジケータが、変更されたインジ
    ケータ及び削除されたインジケータを含む前記フィールドと; ファイル・システム・オブジェクトに対する識別子を具備する第3のフィール
    ドと; 前記変更されたインジケータが設定される場合に複製されるべきファイル・シ
    ステム・オブジェクト識別子の数のカウントを具備し、あるいは、前記変更され
    たインジケータ及び前記削除されたインジケータの両方が設定されるのではない
    場合に、変更されたオブジェクトのリストにあるファイル・システム・オブジェ
    クト識別子の数のカウントを具備する第4のフィールドと; 前記削除されたインジケータが設定される場合に、複製されるべき削除された
    オブジェクト識別子の数のカウントを具備し、あるいは、前記変更されたインジ
    ケータ及び前記削除されたインジケータの両方が設定されるのではない場合に、
    変更されていないオブジェクトのリストにある、ファイル・オブジェクト識別子
    の数のカウントを具備する第5のフィールドと を具備することを特徴とするコンピュータ読み取り可能媒体。
  49. 【請求項49】 データ構造を記憶したコンピュータ読み取り可能媒体にお
    いて、前記データ構造が: 前記オブジェクト・タイプの名前を具備する第1のフィールドと; 前記第1のフィールドにおいて名づけられた前記オブジェクト・タイプを有す
    る、現存するオブジェクトの数を具備する第2のフィールドと; タイムスタンプを具備する第3のフィールドであって、前記タイムスタンプは
    、前記第1のフィールドにおいて名づけられた前記オブジェクト・タイプを有す
    るオブジェクトが、修正された最後の時を示す前記フィールドと を具備することを特徴とするコンピュータ読み取り可能媒体。
JP2000538298A 1998-03-23 1999-03-22 オペレーティングシステムのアプリケーション・プログラム・インターフェース Expired - Fee Related JP4562910B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7894698P 1998-03-23 1998-03-23
US60/078,946 1998-03-23
PCT/US1999/006223 WO1999049394A1 (en) 1998-03-23 1999-03-22 Application program interfaces in an operating system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009034311A Division JP2009140521A (ja) 1998-03-23 2009-02-17 オペレーティング・システムのアプリケーション・プログラム・インターフェース

Publications (2)

Publication Number Publication Date
JP2002508545A true JP2002508545A (ja) 2002-03-19
JP4562910B2 JP4562910B2 (ja) 2010-10-13

Family

ID=22147177

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2000538298A Expired - Fee Related JP4562910B2 (ja) 1998-03-23 1999-03-22 オペレーティングシステムのアプリケーション・プログラム・インターフェース
JP2009034311A Pending JP2009140521A (ja) 1998-03-23 2009-02-17 オペレーティング・システムのアプリケーション・プログラム・インターフェース
JP2012132472A Pending JP2012208508A (ja) 1998-03-23 2012-06-12 オペレーティング・システムのアプリケーション・プログラム・インターフェース
JP2013056477A Expired - Lifetime JP5937533B2 (ja) 1998-03-23 2013-03-19 オペレーティング・システムのアプリケーション・プログラム・インターフェース
JP2013216139A Expired - Lifetime JP5852078B2 (ja) 1998-03-23 2013-10-17 コンピュータ・システム

Family Applications After (4)

Application Number Title Priority Date Filing Date
JP2009034311A Pending JP2009140521A (ja) 1998-03-23 2009-02-17 オペレーティング・システムのアプリケーション・プログラム・インターフェース
JP2012132472A Pending JP2012208508A (ja) 1998-03-23 2012-06-12 オペレーティング・システムのアプリケーション・プログラム・インターフェース
JP2013056477A Expired - Lifetime JP5937533B2 (ja) 1998-03-23 2013-03-19 オペレーティング・システムのアプリケーション・プログラム・インターフェース
JP2013216139A Expired - Lifetime JP5852078B2 (ja) 1998-03-23 2013-10-17 コンピュータ・システム

Country Status (6)

Country Link
US (8) US6671745B1 (ja)
EP (1) EP1073957B1 (ja)
JP (5) JP4562910B2 (ja)
AU (1) AU3109399A (ja)
DE (1) DE69908121T2 (ja)
WO (1) WO1999049394A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510983A (ja) * 2004-08-23 2008-04-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Gps信号処理プログラムによりプログラムされたコンピュータ

Families Citing this family (221)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
WO1999049394A1 (en) * 1998-03-23 1999-09-30 Microsoft Corporation Application program interfaces in an operating system
IL142363A0 (en) * 1998-10-02 2002-03-10 Ibm System and method for providing network coordinated conversational services
IL130688A0 (en) * 1999-02-26 2000-06-01 Ibm Bidirectional network language support
TW503355B (en) * 1999-11-17 2002-09-21 Ibm System and method for communication with mobile data processing devices by way of ""mobile software agents""
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
CA2402389A1 (en) * 2000-03-08 2002-09-19 Shuffle Master, Inc. Computerized gaming system, method and apparatus
US7043641B1 (en) 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7187947B1 (en) 2000-03-28 2007-03-06 Affinity Labs, Llc System and method for communicating selected information to an electronic device
US7310801B2 (en) 2000-04-27 2007-12-18 Microsoft Corporation Servicing a component-based software product throughout the software product lifecycle
US6959330B1 (en) * 2000-05-16 2005-10-25 Palmsource, Inc. Sync-time read only memory image binding for limited resource devices
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
WO2002023330A2 (en) * 2000-09-11 2002-03-21 Avantgo, Inc. Method, system, and computer program product for synchronization of similar data objects with event information
US20020184348A1 (en) * 2000-09-20 2002-12-05 Lockheed Martin Corporation Object oriented framework architecture for sensing and/or control environments
CA2422493A1 (en) * 2000-09-20 2002-03-28 Lockheed Martin Corporation Object oriented framework architecture for sensing and/or control environments
US7185014B1 (en) * 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US20020065950A1 (en) * 2000-09-26 2002-05-30 Katz James S. Device event handler
US6801994B2 (en) * 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
US20020087603A1 (en) * 2001-01-02 2002-07-04 Bergman Eric D. Change tracking integrated with disconnected device document synchronization
US7325030B2 (en) * 2001-01-25 2008-01-29 Yahoo, Inc. High performance client-server communication system
EP1372070A4 (en) * 2001-03-19 2007-04-04 Mitsubishi Electric Corp MULTIMEDIA DEVICE MOUNTED ON VEHICLE
US7530076B2 (en) * 2001-03-23 2009-05-05 S2 Technologies, Inc. Dynamic interception of calls by a target device
EP1438661A2 (en) * 2001-03-23 2004-07-21 S2 Technologies, Inc. Development and testing system and method
US7096474B2 (en) * 2001-04-20 2006-08-22 Sun Microsystems, Inc. Mobile multimedia Java framework application program interface
US20030005019A1 (en) * 2001-06-27 2003-01-02 Kuldipsingh Pabla Application frameworks for mobile devices
EP1438669B1 (en) 2001-06-27 2014-01-22 SKKY Incorporated Improved media delivery platform
US6993642B2 (en) * 2001-07-24 2006-01-31 Microsoft Corporation Method and system for creating and employing an operating system having selected functionality
US6819960B1 (en) 2001-08-13 2004-11-16 Rockwell Software Inc. Industrial controller automation interface
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US20030079050A1 (en) * 2001-10-19 2003-04-24 Chang Cheng Tsung Computer system with parallel sever architecture
US7251812B1 (en) 2001-10-31 2007-07-31 Microsoft Corporation Dynamic software update
EP1463569A4 (en) 2001-11-26 2010-06-02 Igt Reno Nev DEVICE AND METHOD FOR ACTIVE INTERCONNECTION VALIDATION
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
FI114663B (fi) * 2001-12-20 2004-11-30 Nokia Corp Menetelmä ja järjestelmä käyttöjärjestelmätoimintojen suorittamiseksi sekä elektroniikkalaite
US7536181B2 (en) * 2002-02-15 2009-05-19 Telefonaktiebolaget L M Ericsson (Publ) Platform system for mobile terminals
US8079015B2 (en) 2002-02-15 2011-12-13 Telefonaktiebolaget L M Ericsson (Publ) Layered architecture for mobile terminals
US7286823B2 (en) * 2002-02-15 2007-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Mobile multimedia engine
US7363033B2 (en) 2002-02-15 2008-04-22 Telefonaktiebolaget Lm Ericsson (Publ) Method of and system for testing equipment during manufacturing
US7415270B2 (en) 2002-02-15 2008-08-19 Telefonaktiebolaget L M Ericsson (Publ) Middleware services layer for platform system for mobile terminals
US7912930B1 (en) * 2002-02-21 2011-03-22 Oracle International Corporation System and method for resource provisioning
US7103671B2 (en) * 2002-03-14 2006-09-05 Yahoo! Inc. Proxy client-server communication system
US7181511B1 (en) * 2002-04-15 2007-02-20 Yazaki North America, Inc. System and method for using software objects to manage devices connected to a network in a vehicle
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7228526B2 (en) 2002-06-12 2007-06-05 Microsoft Corporation Application imaging infrastructure
KR100498051B1 (ko) * 2002-06-15 2005-07-01 삼성전자주식회사 외부 기기로부터 입력된 데이터의 처리가 가능한 휴대용정보 기기 및 그 방법
US8375113B2 (en) 2002-07-11 2013-02-12 Oracle International Corporation Employing wrapper profiles
US7428592B2 (en) 2002-07-11 2008-09-23 Oracle International Corporation Securely persisting network resource identifiers
US7206851B2 (en) 2002-07-11 2007-04-17 Oracle International Corporation Identifying dynamic groups
US7467142B2 (en) * 2002-07-11 2008-12-16 Oracle International Corporation Rule based data management
US7512585B2 (en) 2002-07-11 2009-03-31 Oracle International Corporation Support for multiple mechanisms for accessing data stores
US7447701B2 (en) 2002-07-11 2008-11-04 Oracle International Corporation Automatic configuration of attribute sets
US7478407B2 (en) * 2002-07-11 2009-01-13 Oracle International Corporation Supporting multiple application program interfaces
US7428523B2 (en) * 2002-07-11 2008-09-23 Oracle International Corporation Portal bridge
US20040054757A1 (en) * 2002-09-14 2004-03-18 Akinobu Ueda System for remote control of computer resources from embedded handheld devices
US7350211B2 (en) 2002-09-23 2008-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Middleware application environment
US7149510B2 (en) 2002-09-23 2006-12-12 Telefonaktiebolaget Lm Ericsson (Publ) Security access manager in middleware
US7478395B2 (en) 2002-09-23 2009-01-13 Telefonaktiebolaget L M Ericsson (Publ) Middleware application message/event model
US7389344B2 (en) * 2002-10-30 2008-06-17 American Megatrends, Inc. Methods and apparatus for utilizing scripts to interact with electronic information pages of remote devices
US7500092B2 (en) * 2003-01-17 2009-03-03 International Business Machines Corporation Hardware abstraction for set-top box operating systems
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
JP4433372B2 (ja) * 2003-06-18 2010-03-17 株式会社日立製作所 データアクセスシステム及び方法
US7822831B2 (en) * 2003-07-31 2010-10-26 International Business Machines Corporation Method, system and program product for preserving and restoring mobile device user settings
US7860966B2 (en) * 2003-09-23 2010-12-28 American Power Conversion Corporation User interface provisioning
US7340447B2 (en) * 2003-10-09 2008-03-04 Oracle International Corporation Partitioning data access requests
US7904487B2 (en) 2003-10-09 2011-03-08 Oracle International Corporation Translating data access requests
US7653915B1 (en) 2003-10-10 2010-01-26 Emc Corporation N X M platform combination
US7882488B2 (en) * 2003-10-20 2011-02-01 Robert Zeidman Software tool for synthesizing a real-time operating system
US7444621B2 (en) * 2004-02-20 2008-10-28 Microsoft Corporation Method and system for providing a common operating system
US20050197747A1 (en) * 2004-03-04 2005-09-08 Jason Rappaport In-vehicle computer system
US7249381B2 (en) * 2004-03-29 2007-07-24 Bryte Computer Technologies, Inc. Controller and resource management system and method with improved security for independently controlling and managing a computer system
US20050289554A1 (en) * 2004-06-14 2005-12-29 Nokia Corporation System and method for application management
US7802246B1 (en) * 2004-06-21 2010-09-21 Microsoft Corporation Systems and methods that facilitate software installation customization
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US8744852B1 (en) * 2004-10-01 2014-06-03 Apple Inc. Spoken interfaces
CN1913377A (zh) * 2005-08-09 2007-02-14 乐金电子(昆山)电脑有限公司 还原网络设备连接状态的方法及其设备
US7848928B2 (en) * 2005-08-10 2010-12-07 Nuance Communications, Inc. Overriding default speech processing behavior using a default focus receiver
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9037152B1 (en) * 2005-11-12 2015-05-19 Alberto Herrera Small footprint real-time operating system for reactive systems
US8806363B1 (en) * 2005-11-22 2014-08-12 Google Inc. Framed user interface
US20110096174A1 (en) * 2006-02-28 2011-04-28 King Martin T Accessing resources based on capturing information from a rendered document
US20070266239A1 (en) * 2006-03-08 2007-11-15 David Vismans Method for providing a cryptographically signed command
US9038071B2 (en) * 2006-03-30 2015-05-19 Microsoft Technology Licensing, Llc Operating system context isolation of application execution
DE102006033863A1 (de) * 2006-07-21 2008-01-24 Siemens Ag Verschaltungsschnittstelle für flexibles Online/Offline-Deployment einer n-schichtigen Softwareapplikation
US7681201B2 (en) * 2006-08-04 2010-03-16 Lectronix Method and system for integrating and controlling components and subsystems
EP2047362A4 (en) * 2006-08-04 2010-12-29 Lectronix Inc METHOD AND SYSTEM FOR INTEGRATING AND CONTROLLING COMPONENTS AND SUBSYSTEMS
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
EP2102753A4 (en) * 2006-12-22 2013-01-02 Elektrobit Wireless Comm Oy ELECTRONIC DEVICE AND COMPUTER PROGRAM
US8065397B2 (en) * 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US20080229319A1 (en) * 2007-03-08 2008-09-18 Benoit Marchand Global Resource Allocation Control
US8127310B1 (en) * 2007-03-26 2012-02-28 Celio Corporation Method and apparatus for dynamically switching display drivers in mobile device operating system
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8478861B2 (en) 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
US9703784B2 (en) * 2007-12-24 2017-07-11 Sandisk Il Ltd. Mobile device and method for concurrently processing content according to multiple playlists
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8201029B2 (en) 2008-01-31 2012-06-12 International Business Machines Corporation Method and apparatus for operating system event notification mechanism using file system interface
US20090225040A1 (en) * 2008-03-04 2009-09-10 Microsoft Corporation Central resource for variable orientation user interface
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US7877456B2 (en) * 2008-04-08 2011-01-25 Post Dahl Co. Limited Liability Company Data file forwarding storage and search
US9418219B2 (en) * 2008-04-11 2016-08-16 Microsoft Technology Licensing, Llc Inter-process message security
US8138755B2 (en) * 2008-04-18 2012-03-20 Olympus Ndt Enhanced wireless eddy current probe for a non-destructive inspection system
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8332365B2 (en) * 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US20100257529A1 (en) * 2009-04-06 2010-10-07 Christopher Wilkerson Efficient systems and methods for consuming and providing power
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8132057B2 (en) * 2009-08-07 2012-03-06 International Business Machines Corporation Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8433828B2 (en) 2010-02-26 2013-04-30 Apple Inc. Accessory protocol for touch screen device accessibility
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
CN105027197B (zh) 2013-03-15 2018-12-14 苹果公司 训练至少部分语音命令系统
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN110442699A (zh) 2013-06-09 2019-11-12 苹果公司 操作数字助理的方法、计算机可读介质、电子设备和系统
KR101809808B1 (ko) 2013-06-13 2017-12-15 애플 인크. 음성 명령에 의해 개시되는 긴급 전화를 걸기 위한 시스템 및 방법
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
US9794984B2 (en) * 2013-09-17 2017-10-17 Qualcomm Incorporated Techniques for utilizing access point vicinity information
US9690854B2 (en) * 2013-11-27 2017-06-27 Nuance Communications, Inc. Voice-enabled dialog interaction with web pages
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
EP3480811A1 (en) 2014-05-30 2019-05-08 Apple Inc. Multi-command single utterance input method
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US9948760B2 (en) 2015-06-26 2018-04-17 Honda Motor Co., Ltd. System and method for controlling vehicle network functions with version control
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US9892253B1 (en) 2016-06-20 2018-02-13 Amazon Technologies, Inc. Buffer overflow exploit detection
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
KR102508988B1 (ko) 2018-09-04 2023-03-09 현대모비스 주식회사 라이다 센싱장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724506A (en) * 1995-05-05 1998-03-03 Apple Computer, Inc. Replaceable and extensible connection dialog component of a network component system

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4807182A (en) * 1986-03-12 1989-02-21 Advanced Software, Inc. Apparatus and method for comparing data groups
DE3615767A1 (de) * 1986-05-10 1987-11-12 Bayer Ag Verfahren zur herstellung von 4-hydroxy-chinolin-3-carbonsaeuren
US5142619A (en) * 1990-02-21 1992-08-25 International Business Machines Corporation Method and apparatus for visually comparing files in a data processing system
US5278979A (en) * 1990-12-20 1994-01-11 International Business Machines Corp. Version management system using pointers shared by a plurality of versions for indicating active lines of a version
US5327555A (en) * 1991-02-14 1994-07-05 Hewlett-Packard Company Method for reconciling entries in a plurality of schedules
US5689618A (en) * 1991-02-19 1997-11-18 Bright Star Technology, Inc. Advanced tools for speech synchronized animation
US5594903A (en) * 1991-02-26 1997-01-14 Lynx Real-Time Systems, Inc. Operating System architecture with reserved memory space resident program code identified in file system name space
US5301346A (en) * 1991-06-21 1994-04-05 Cad Forms Technology Inc. Method and apparatus for transferring data between a host device and plurality of portable computers
US5274819A (en) * 1992-03-27 1993-12-28 Central Point Software, Inc. Management system for memory resident computer programs
US5392390A (en) * 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5384890A (en) 1992-09-30 1995-01-24 Apple Computer, Inc. Method and apparatus for providing multiple clients simultaneous access to a sound data stream
US6101468A (en) 1992-11-13 2000-08-08 Dragon Systems, Inc. Apparatuses and methods for training and operating speech recognition systems
US5428707A (en) * 1992-11-13 1995-06-27 Dragon Systems, Inc. Apparatus and methods for training speech recognition systems and their users and otherwise improving speech recognition performance
US6092043A (en) * 1992-11-13 2000-07-18 Dragon Systems, Inc. Apparatuses and method for training and operating speech recognition systems
JP3279684B2 (ja) * 1992-11-17 2002-04-30 株式会社日立製作所 音声インタフェース・ビルダ・システム
US5666530A (en) * 1992-12-02 1997-09-09 Compaq Computer Corporation System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between
US6311157B1 (en) * 1992-12-31 2001-10-30 Apple Computer, Inc. Assigning meanings to utterances in a speech recognition system
CA2115210C (en) * 1993-04-21 1997-09-23 Joseph C. Andreshak Interactive computer system recognizing spoken commands
JPH0798669A (ja) * 1993-08-05 1995-04-11 Hitachi Ltd 分散データベース管理システム
US5408470A (en) * 1993-10-14 1995-04-18 Intel Corporation Deferred synchronization of distributed objects
JP2866591B2 (ja) 1994-01-10 1999-03-08 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジエクトの使用可能性の通知方法及び装置
JPH07219587A (ja) * 1994-01-28 1995-08-18 Canon Inc 音声処理装置および方法
US5699244A (en) * 1994-03-07 1997-12-16 Monsanto Company Hand-held GUI PDA with GPS/DGPS receiver for collecting agronomic and GPS position data
US5592588A (en) * 1994-05-10 1997-01-07 Apple Computer, Inc. Method and apparatus for object-oriented digital audio signal processing using a chain of sound objects
US5845293A (en) * 1994-08-08 1998-12-01 Microsoft Corporation Method and system of associating, synchronizing and reconciling computer files in an operating system
US5669061A (en) * 1994-08-19 1997-09-16 Trimble Navigation Limited Automatic cellular phone tracking
US5684984A (en) * 1994-09-29 1997-11-04 Apple Computer, Inc. Synchronization and replication of object databases
CA2136154C (en) * 1994-11-18 1999-08-24 Jay William Benayon User control of multiple memory heaps
US5893125A (en) * 1995-01-27 1999-04-06 Borland International, Inc. Non-modal database system with methods for incremental maintenance
DE69638018D1 (de) * 1995-02-13 2009-10-15 Intertrust Tech Corp Systeme und Verfahren zur Verwaltung von gesicherten Transaktionen und zum Schutz von elektronischen Rechten
CA2143488C (en) * 1995-02-27 2000-01-11 Robert Paul Duncan Dynamic link libraries without linker or loader support
JP3271466B2 (ja) * 1995-03-20 2002-04-02 富士通株式会社 読み上げ装置
JP3592803B2 (ja) * 1995-07-28 2004-11-24 株式会社東芝 音声認識装置および音声認識方法
US5812848A (en) * 1995-08-23 1998-09-22 Symantec Corporation Subclassing system for computer that operates with portable-executable (PE) modules
DE19533541C1 (de) * 1995-09-11 1997-03-27 Daimler Benz Aerospace Ag Verfahren zur automatischen Steuerung eines oder mehrerer Geräte durch Sprachkommandos oder per Sprachdialog im Echtzeitbetrieb und Vorrichtung zum Ausführen des Verfahrens
US5832496A (en) * 1995-10-12 1998-11-03 Ncr Corporation System and method for performing intelligent analysis of a computer database
US5884323A (en) * 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5778389A (en) * 1996-05-23 1998-07-07 Electronic Data Systems Corporation Method and system for synchronizing computer file directories
US5857201A (en) * 1996-06-18 1999-01-05 Wright Strategies, Inc. Enterprise connectivity to handheld devices
GB2314671A (en) * 1996-06-26 1998-01-07 Gen Electric Electrodeless fluorescent lamp
US6138271A (en) 1996-06-26 2000-10-24 Rockwell Technologies, Llc Operating system for embedded computers
US5999125A (en) * 1996-07-31 1999-12-07 Motorola, Inc. Method and apparatus for a global positioning data service
US5974238A (en) * 1996-08-07 1999-10-26 Compaq Computer Corporation Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements
JP2001503134A (ja) * 1996-09-06 2001-03-06 ユニバーシティー オブ フロリダ 携帯可能な手持ちデジタル地理データ・マネージャ
US5850629A (en) * 1996-09-09 1998-12-15 Matsushita Electric Industrial Co., Ltd. User interface controller for text-to-speech synthesizer
US6018743A (en) * 1996-10-04 2000-01-25 International Business Machines Corporation Framework for object-oriented interface to record file data
US5790114A (en) * 1996-10-04 1998-08-04 Microtouch Systems, Inc. Electronic whiteboard with multi-functional user interface
AU4915397A (en) * 1996-10-18 1998-05-15 Westinghouse Savannah River Company Programmable atmospheric sampling systems and methods
US6047280A (en) * 1996-10-25 2000-04-04 Navigation Technologies Corporation Interface layer for navigation system
US5893913A (en) * 1996-11-12 1999-04-13 International Business Machines Corporation Method for synchronizing classes, objects, attributes and object properties across an object-oriented system
US6044381A (en) * 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US5943676A (en) * 1996-11-13 1999-08-24 Puma Technology, Inc. Synchronization of recurring records in incompatible databases
US5926566A (en) * 1996-11-15 1999-07-20 Synaptics, Inc. Incremental ideographic character input method
US6006274A (en) * 1997-01-30 1999-12-21 3Com Corporation Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer
US5813042A (en) * 1997-02-19 1998-09-22 International Business Machines Corp. Methods and systems for control of memory
US5883594A (en) * 1997-02-20 1999-03-16 Trimble Navigation Limited GPS receiver using a message system for reducing power consumption
US6078886A (en) * 1997-04-14 2000-06-20 At&T Corporation System and method for providing remote automatic speech recognition services via a packet network
US5920283A (en) * 1997-05-09 1999-07-06 Conexant Systems, Inc. Receiver engine for global positioning system
US6023712A (en) * 1997-07-30 2000-02-08 Quarterdeck Corporation Method and apparatus for brokering memory resources
US6067852A (en) 1997-08-26 2000-05-30 University Corporation For Atmospheric Research Method and apparatus using slant-path water delay estimates to correct global positioning satellite survey error
US6128713A (en) * 1997-09-24 2000-10-03 Microsoft Corporation Application programming interface enabling application programs to control allocation of physical memory in a virtual memory system
US6134602A (en) * 1997-09-24 2000-10-17 Microsoft Corporation Application programming interface enabling application programs to group code and data to control allocation of physical memory in a virtual memory system
US6373504B1 (en) * 1997-09-30 2002-04-16 Sun Microsystems, Inc. Local sorting of downloaded tables
US6125369A (en) * 1997-10-02 2000-09-26 Microsoft Corporation Continuous object sychronization between object stores on different computers
US5949372A (en) * 1997-10-03 1999-09-07 Trimble Navigation Limited Signal injection for calibration of pseudo-range errors in satellite positioning system receivers
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6052735A (en) * 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6272545B1 (en) * 1997-10-24 2001-08-07 Microsoft Corporation System and method for interaction between one or more desktop computers and one or more mobile devices
US6442570B1 (en) * 1997-10-27 2002-08-27 Microsoft Corporation Object identification and data communication during an object synchronization process
US6072431A (en) * 1997-11-13 2000-06-06 Trimble Navigation Limited Extensible GPS receiver system
US6081806A (en) * 1998-01-15 2000-06-27 Inventec Corporation Computer database synchronization method
JP3927304B2 (ja) * 1998-02-13 2007-06-06 トヨタ自動車株式会社 ナビゲーション用地図データアクセス方法
GB2334355A (en) * 1998-02-14 1999-08-18 Ibm Storage manager which sets the size of an initial-free area assigned to a requesting application according to statistical data
WO1999049394A1 (en) * 1998-03-23 1999-09-30 Microsoft Corporation Application program interfaces in an operating system
US6289357B1 (en) * 1998-04-24 2001-09-11 Platinum Technology Ip, Inc. Method of automatically synchronizing mirrored database objects
JP3175692B2 (ja) * 1998-04-28 2001-06-11 日本電気株式会社 コンピュータと携帯端末間のデータ連携システム及びそのデータ連携方法
US6317754B1 (en) * 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
WO2000004564A1 (en) * 1998-07-16 2000-01-27 Mitsubishi Denki Kabushiki Kaisha Synchronous switchgear
US6185484B1 (en) * 1998-08-05 2001-02-06 Eaton Corporation Method of operating a motor vehicle management computer system
US6253215B1 (en) * 1998-08-17 2001-06-26 Sun Microsystems Method, apparatus, and article of manufacture for facilitating resource management for applications having two types of program code
US6324544B1 (en) * 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
US6408313B1 (en) * 1998-12-16 2002-06-18 Microsoft Corporation Dynamic memory allocation based on free memory size
US6430570B1 (en) * 1999-03-01 2002-08-06 Hewlett-Packard Company Java application manager for embedded device
US6430564B1 (en) * 1999-03-01 2002-08-06 Hewlett-Packard Company Java data manager for embedded device
US6430576B1 (en) * 1999-05-10 2002-08-06 Patrick Gates Distributing and synchronizing objects
US6434602B1 (en) * 1999-09-27 2002-08-13 Natyou Computer Communication Corporation Method, apparatus and article of manufacture for accessing electronic messages
US6505214B1 (en) * 1999-09-28 2003-01-07 Microsoft Corporation Selective information synchronization based on implicit user designation
US6636897B1 (en) * 1999-09-28 2003-10-21 Microsoft Corporation Selective information subset synchronization based on single user action
US6449541B1 (en) * 2000-10-17 2002-09-10 Microsoft Corporation Application-to-component communications helper in a vehicle computer system
US6458007B1 (en) * 2001-04-19 2002-10-01 Larry Verner Balloon holder
US7075550B2 (en) * 2001-11-27 2006-07-11 Bonadio Allan R Method and system for graphical file management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724506A (en) * 1995-05-05 1998-03-03 Apple Computer, Inc. Replaceable and extensible connection dialog component of a network component system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510983A (ja) * 2004-08-23 2008-04-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Gps信号処理プログラムによりプログラムされたコンピュータ

Also Published As

Publication number Publication date
US20050097577A1 (en) 2005-05-05
JP4562910B2 (ja) 2010-10-13
US7472067B2 (en) 2008-12-30
EP1073957A1 (en) 2001-02-07
JP2012208508A (ja) 2012-10-25
JP2009140521A (ja) 2009-06-25
WO1999049394A1 (en) 1999-09-30
JP2013164601A (ja) 2013-08-22
US20050102687A1 (en) 2005-05-12
US20050066340A1 (en) 2005-03-24
DE69908121D1 (de) 2003-06-26
US6671745B1 (en) 2003-12-30
JP5852078B2 (ja) 2016-02-03
US20050108218A1 (en) 2005-05-19
US6832381B1 (en) 2004-12-14
DE69908121T2 (de) 2004-04-01
US6704807B1 (en) 2004-03-09
EP1073957B1 (en) 2003-05-21
US7802266B2 (en) 2010-09-21
US20050071855A1 (en) 2005-03-31
AU3109399A (en) 1999-10-18
JP5937533B2 (ja) 2016-06-22
JP2014067421A (ja) 2014-04-17

Similar Documents

Publication Publication Date Title
JP2002508545A (ja) オペレーティングシステムのアプリケーション・プログラム・インターフェース
JP4663878B2 (ja) 記憶媒体内のファイルを管理する方法および装置
US7590839B2 (en) System employing fast booting of application programs
US8935579B2 (en) Method and apparatus for operating system event notification mechanism using file system interface
US8468333B1 (en) Updating the system management information of a computer system
US7934209B2 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US8195624B2 (en) Shared file system management between independent operating systems
US6871350B2 (en) User mode device driver interface for translating source code from the user mode device driver to be executed in the kernel mode or user mode
US6003112A (en) Memory controller and method for clearing or copying memory utilizing register files to store address information
JP2001521243A (ja) グラフィック表現を使用したファームウェア・コードの生成
US20030005259A1 (en) System and method for device support
WO2006073864A1 (en) Reducing memory fragmentation
US5887169A (en) Method and apparatus for providing dynamic entry points into a software layer
US7921247B1 (en) Sharing a dynamically located memory block between components executing in different processor modes in an extensible firmware interface environment
US7991785B1 (en) Interface to a human interface infrastructure database in an extensible firmware interface environment
US7484083B1 (en) Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment
Framework et al. Android Architecture
JP2002049524A (ja) メモリ管理装置、コンピュータ、画像出力装置、メモリ管理方法および記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080818

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081113

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090316

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090612

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090916

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: 20100708

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: 20100728

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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