JP2002501312A - プロトコル、デバイス、およびネットワークに独立してモバイル・デバイスにブロードキャストし、プログラムするシステム - Google Patents

プロトコル、デバイス、およびネットワークに独立してモバイル・デバイスにブロードキャストし、プログラムするシステム

Info

Publication number
JP2002501312A
JP2002501312A JP2000527898A JP2000527898A JP2002501312A JP 2002501312 A JP2002501312 A JP 2002501312A JP 2000527898 A JP2000527898 A JP 2000527898A JP 2000527898 A JP2000527898 A JP 2000527898A JP 2002501312 A JP2002501312 A JP 2002501312A
Authority
JP
Japan
Prior art keywords
message
indicating
key
address
programming
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
JP2000527898A
Other languages
English (en)
Other versions
JP4691252B2 (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 JP2002501312A publication Critical patent/JP2002501312A/ja
Application granted granted Critical
Publication of JP4691252B2 publication Critical patent/JP4691252B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/149Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/037Protecting confidentiality, e.g. by encryption of the control plane, e.g. signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/022Selective call receivers
    • H04W88/023Selective call receivers with message or information receiving capability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/2753Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content
    • H04M1/2757Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content by data transmission, e.g. downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 本発明は、一実施形態では、モバイル・デバイス(18)へのメッセージのデバイス/プロトコル/ネットワークに独立した送信、およびモバイル・デバイス(18)のプログラミングを可能にするプログラミング・インターフェースに関する。別の実施形態では、本発明は、モバイル・デバイス(18)上に維持し、これに対応するデータ構造に関する。また、本発明は、別の実施形態では、プログラミング・メッセージに対するセキュリティ、ならびにモバイル・デバイス(18)がプログラミング・メッセージ(288)の受信および実装の成功を承認することができる承認チャネルを備える。

Description

【発明の詳細な説明】
【0001】 (発明の背景) 本発明は、一般にモバイル・デバイスとして知られている、パーソナル・モバ
イル計算デバイスに関する。更に特定すれば、本発明は、情報をモバイル・デバ
イスに配信し、モバイル・デバイスをプログラムするシステムおよび方法に関す
るものである。
【0002】 モバイル・デバイスは、多くの場合パーソナル・ディジタル・アシスタントと
呼ばれている、小型電子計算デバイスのことである。このようなモバイル・デバ
イスの多くは、ハンド・ヘルド・デバイスまたは手の平サイズのデバイスであり
、手の中にすんなり納まるようなものである。商業的に入手可能なデバイスの1
つに、ワシントン州、RemondのMicrosoft Corporati
on(マイクロソフト社)が供給するソフトウエアを有し、HandHeld
PC(またはH/PC)という商標で販売されているものがある。
【0003】 一般に、モバイル・デバイスは、プロセッサ、ランダム・アクセス・メモリ(
RAM)、およびキーボードやディスプレイのような入力デバイスを含む。キー
ボードを接触感応ディスプレイとして組み込む場合等では、キーボードをディス
プレイと一体化することができる。オプションとして、通信インターフェースを
備え、デスクトップ・コンピュータと通信するために一般的に用いられている。
交換可能なバッテリまたは再充電可能なバッテリがモバイル・デバイスに給電す
る。オプションとして、モバイル・デバイスは、内蔵バッテリを無視または再充
電する、外部電源から電力を受けることが可能である。
【0004】 従来のアプリケーションには、モバイル・デバイスをデスクトップ・コンピュ
ータと共に用いるものもある。例えば、モバイル・デバイスのユーザは、仕事場
または家庭、あるいは双方においてデスクトップ・コンピュータにアクセスし、
使用する場合もある。ユーザは、通常、デスクトップ・コンピュータおよびモバ
イル・ユニット双方で同じ種類のアプリケーションを走らせる。したがって、モ
バイル・デバイスをデスクトップ・コンピュータと結合し、モバイル・デバイス
と情報を交換したり、情報を共有するように設計することは非常に有利である。
【0005】 このようなモバイル・デバイスに情報を提供する別の技法に、ワイヤレス伝送
リンクを介するものがある。このような情報は、電子メールまたはニュース、天
気予報、スポーツ、交通、および地域のイベント情報を含むことができる。この
情報は、通常、インターネットに接続したデスクトップ・コンピュータから得ら
れ、有線接続を介して配信される。しかしながら、このような情報を同様にワイ
ヤレス接続を通じて配信することが望ましい場合もある。モバイル・デバイス上
のワイヤレス受信機は、情報がモバイル・デバイスに向けて送られると、これを
受信するように動作することができる。
【0006】 モバイル・デバイスがページャであったり、あるいはページャを有する場合、
所与のシステムにおける各ページャは1つ以上のアドレスを有する。ワイヤレス
・チャネルを通じてメッセージを送信する場合、あるアドレスを宛先とする。当
該ワイヤレス・チャネルに割り当てられるページャは全てそのメッセージを受信
し、メッセージ内に含まれているアドレスをそれ自体のアドレスと突き合わせて
チェックする。このアドレス照合アルゴリズムは、ハードウエアまたはソフトウ
エア、あるいはハードウエアおよびソフトウエアの組み合わせのいずれでも実現
可能である。着信メッセージに関連するアドレスが、ページャ上のいずれのアド
レスとも一致しない場合、メッセージを破棄する。しかしながら、アドレスがペ
ージャ上のアドレスの1つと一致した場合、そのメッセージを受け入れ、ページ
ャ上のプロトコル・スタックにおける上位ソフトウエアに転送し、適切な処理を
行なう。
【0007】 アドレスには、通常、2つのタイプがあると考えられる。第1のタイプは、所
与のワイヤレス・ネットワーク内部において一意の個人アドレスである(即ち、
そのアドレスを有するページャは1つのみである)。個人アドレスは、メッセー
ジを特定のページャに送るために用いられる。
【0008】 第2タイプのアドレスは、ブロードキャスト・アドレスである。ブロードキャ
スト・アドレスは、通常、所与のワイヤレス・ネットワーク内の多数のページャ
にプログラムされている。したがって、ブロードキャスト・アドレスを通じて配
信する単一のメッセージは、当該ネットワークにおける多数のページャが受信し
受け入れる。このようなアドレスは、ニュース、交通、天気予報等、前述のサー
ビスのようなブロードキャスト・サービスを実施するために用いる。
【0009】 現在、ページャのようなモバイル・デバイスにおいてアドレスをプログラムし
直す便利な方法がない。代わりに、ページャをサービス・センタに送り返し、こ
こで特殊工具を用いて、アドレスを格納してあるページャの内部ストレージにア
クセスし、これを変更する。従来技術のシステムには、空中プログラミング(o
ver−the−air programing)を達成しようとしたものもあ
る。このようなシステムでは、ネットワーク所有者(即ち、キャリア)は、ペー
ジャに特殊メッセージを送り、当該ページャ内のアドレスを変更する。
【0010】 しかしながら、今日までこれは全く普及していない。各ページャの製造業者は
、それ自体の固有なメッセージ・フォーマットおよび方法を、ページャに関連す
る無線ハードウエアおよびソフトウエアに有している。したがって、異なる製造
業者のページャ各々をプログラムし直すには、特殊なメッセージを特別にフォー
マットする必要がある。加えて、製造業者の中には、2種類以上のページャ・モ
デル即ちスタイルを有し、各々がそれ自体の内部固有メッセージ・フォーマット
および方法を有する。したがって、単一の製造業者のページャであっても、ユー
ザが使用しているページャの個々のタイプに基づいて、様々な特殊プログラミン
グ・メッセージを送る必要がある。
【0011】 更に空中プログラミングは、セキュリティに関して重大な難点がある。言い換
えると、プログラムするブロードキャスト・サービスのプロバイダが、当該ブロ
ードキャスト・サービスを受信するための料金または加入料をユーザに課金した
い場合、プログラミング・メッセージは極秘としなければならない。さもなけれ
ば、不正なプログラミングをページャ・デバイスに行なってブロードキャスト・
サービスを受信することが問題となる。
【0012】 更に、インターネットのような世界的なコンピュータ・ネットワークの出現に
より、情報ブロードキャスト・サービスが広く普及し重要となっている。しかし
ながら、通常のページャは限られた数のアドレスしか有することができない(大
抵の場合2ないし8)。ページャの様々なユーザの広範囲に及ぶ関心や要望を満
たすためには、提供するブロードキャスト・サービスの数を大幅に増加させるこ
とが望ましい。その場合、個々のユーザが望むブロードキャスト・サービスを選
択するアドレスをページャが含むように、個々のユーザは各々(サービス・セン
タに返送することによって)ページャをプログラムし直すことが必要となる。こ
れは、ユーザがブロードキャスト・サービスの選択を追加、削除、または変更す
る度に行なわなければならない。これは、非常にコストがかかり非効率であるの
で、このようなブロードキャスト・サービスの成長や発展を少なくとも妨げるこ
とになろう。
【0013】 また、空中プログラミングには、信頼性という別の重大な障害もある。例えば
、プログラミング・メッセージを空中に伝送しても、プログラミング・メッセー
ジは、一旦ページャが受信したなら、エラーを含む可能性があり、またはプログ
ラミング・メッセージを送信したときに、ページャがサービス区域外にあったり
、スイッチが切られている可能性もある。一方向ページング・システム(今日世
界で最も普及しているシステム)では、発信側は、プログラミング・メッセージ
が実際に所望のページャによって確かに受信されたことを知る方法がない。 (発明の概要) 本発明は、一実施形態において、デバイス/プロトコル/ネットワークに独立
したメッセージのモバイル・デバイスへの伝送、およびモバイル・デバイスのプ
ログラミングを可能にする、プログラミング・インターフェースに関するもので
ある。他の実施形態では、本発明は、モバイル・デバイス上に維持し、これに対
応するデータ構造に関する。更に、別の実施形態において、本発明は、プログラ
ミング・メッセージのセキュリティ、ならびにモバイル・デバイスがプログラミ
ング・メッセージの受信および実施の成功を承認可能な承認チャネルを提供する
。 (好適な実施形態の詳細な説明) 図1は、本発明を実現するシステム10を一例として示す。システム10は、
コンテンツ・プロバイダ12、ワイヤレス・キャリア14、デスクトップ・コン
ピュータ16およびモバイル・デバイス18を含む。コンテンツ・プロバイダ1
2は、データベースまたはその他のデータ・ソースから、適切なタイプのあらゆ
るデータを提供する。例えば、コンテンツ・プロバイダ12は、モバイル・デバ
イス18のユーザが望み得るワイヤレス・サービスまたはその他の種類のサービ
スのプロバイダとして、以降論ずることにする。このようなサービスの例には、
ニュース、天気予報およびスポーツ・サービス、株価サービス、交通報告サービ
ス等が含まれる。
【0014】 ワイヤレス・キャリア14については、本願では後程更に詳しく説明する。し
かしながら、端的に言えば、ワイヤレス・キャリア14は、サービス・コンテン
ツおよびプログラミング・メッセージ(以降コンテンツ)を、コンテンツ・プロ
バイダ12から、ダイアル・アップまたは直接インターネット接続あるいはネッ
トワーク接続によって受信するように構成してある。ワイヤレス・キャリア14
がコンテンツ・プロバイダ12から情報を得る方法は、固有の方法および一般的
な方法を含むことができる。例えば、例示の一実施形態では、ワイヤレス・キャ
リア14は、Microsoft Corporation(マイクロソフト社
)から入手可能なInternet Exploere製品を用いて、コンテン
ツ・プロバイダのウェブ・サイトにおいて、アクティブ・チャネルに加入するこ
とができる。Internet Explorerのコンポーネントは、ウェブ
・サイトからデータを引き出し、これをキャッシュに格納し、後にモバイル・デ
バイス18に伝送する。
【0015】 また、ワイヤレス・キャリア14はワイヤレス情報サーバ(WIS)20も含
む。サーバ20は、同様にコンテンツ・プロバイダ12からデータを引き出すこ
とができるコンポーネントを有する。また、サーバ20は、コンテンツ・プロバ
イダ12から受信したコンテンツを、ワイヤレス・キャリア14が用いる特定の
タイプのトランスポートと互換性のある断片(piece)に分割する。例えば
、サーバ20は、用いるチャネル・タイプまたはトランスポート・タイプのため
に、データを分割し、最大パケット・サイズの制約、キャラクタ・セットに対す
る要求に合わせるようにすることができる。伝送に先立って、データを異なる形
態に変換することが好ましい。本願では後に更に詳細に説明するが、このような
変換は種々の形態の暗号を含むとよく、更に圧縮、符号化等も含むとよい。一旦
データを適切に分割しトランスポートの制約に合わせたならば、次にワイヤレス
・ネットワーク(ページング・チャネルを通じてというように)を通じて、空中
を伝送し、モバイル・デバイス18上で直接受信するように構成する。伝送デー
タは、モバイル・デバイス18上のワイヤレス受信機およびドライバ・コンポー
ネントが受信し、ここでモバイル・デバイス18による使用のためにデータを調
整する。
【0016】 また、モバイル・デバイス18はモデム24を含むことも望ましい。したがっ
て、ワイヤレス・キャリア14を介して伝送するのではなく、サービス・コンテ
ンツは、コンテンツ・プロバイダ12から直接ダイアルアップ・モデム接続を通
じて、モバイル・デバイス18に伝送することができる。
【0017】 デスクトップ・コンピュータ16についても、この明細書では後に更に詳細に
説明する。しかしながら、端的に言えば、デスクトップ・コンピュータは、ワシ
ントン州、RedmondのMicrosoft Corporationから
商業的に入手可能なInternet Explorerのような、標準的なウ
ェブ・ブラウザを備えることが好ましい。その場合、デスクトップ・コンピュー
タ16のユーザは、オフラインまたはオンラインで閲覧可能な所定のチャネル・
コンテンツをユーザに提供するチャネルに、標準的な方法で加入することができ
るので好ましい。このように、デスクトップ・コンピュータ16は、周期的に新
たなコンテンツを検索し受信し、更にモバイル・デバイス18に送信することが
できる。
【0018】 また、デスクトップ・コンピュータ16は、同期コンポーネント26を含むこ
とも好ましい。端的に言えば、同期コンポーネント26は、モバイル・デバイス
18上の同様の同期コンポーネントと双方向処理を行い、同期対象のファイルが
、デスクトップ・コンピュータ16からモバイル・デバイス18に、またはその
逆に同期することを可能とする。一旦同期が取れたならば、双方のファイル(コ
ンピュータ16およびモバイル・デバイス18上のファイル)は、最新のデータ
を含むことになる。
【0019】 より具体的には、モバイル・デバイス18は、好適な実施形態では、デスクト
ップ・コンピュータ16、または他のモバイル・デバイス18、あるいは双方と
同期することができる。その場合、モバイル・デバイス18上のオブジェクト・
ストアに格納してあるオブジェクトのプロパティは、デスクトップ・コンピュー
タ16または別のモバイル・デバイス18上のオブジェクト・ストア上に格納し
てある同じオブジェクトの別のインスタンスのプロパティと同様となる。したが
って、例えば、ユーザがデスクトップ・コンピュータ16上のオブジェクト・ス
トアに格納してあるオブジェクトのあるインスタンスを変更すると、モバイル・
デバイス18を次回デスクトップ・コンピュータ16に接続したときに、モバイ
ル・デバイス18のオブジェクト・ストア内の当該オブジェクトの第2インスタ
ンスが更新されるので、同じオブジェクトの双方のインスタンスは最新のデータ
を含むことになる。これを同期と呼ぶ。
【0020】 同期を取るためには、同期コンポーネント26および28をモバイル・デバイ
ス18およびデスクトップ・コンピュータ16(または別のモバイル・デバイス
18)双方で走らせる。同期コンポーネントは、的確なインターフェースを介し
て互いに通信し、通信および同期を管理する。
【0021】 尚、好適な実施形態では、モバイル・デバイス18をデスクトップ・コンピュ
ータ16に結合可能であるが、別のモバイル・デバイスにも結合可能であること
は、注記するに値しよう。この接続は、適当な商業的に入手可能ないずれの通信
リンクを用いても、そして適当な通信プロトコルを用いて行なうことができる。
例えば、好適な一実施形態では、モバイル・デバイス18は、シリアル通信プロ
トコルを用いて通信を行なう物理的なケーブルによって、デスクトップ・コンピ
ュータ16または別のモバイル・デバイス18と通信する。また、本発明によっ
て、赤外線(IR)通信またはその他の適当な通信機構のような、別の通信機構
も考えられる。
【0022】 図2は、モバイル・デバイス18の更に詳細なブロック図である。モバイル・
デバイス18は、マイクロプロセッサ30、メモリ32、入出力(I/O)コン
ポーネント34、デスクトップ通信インターフェース36、ワイヤレス受信機3
7、およびアンテナ39を含むことが好ましい。一実施形態では、これらのコン
ポーネントは、適切なバス38を通じて、互いの通信のために結合してある。
【0023】 メモリ32は、バッテリ・バックアップ・モジュール(図示せず)を備えたラ
ンダム・アクセス・メモリ(RAM)のような不揮発性電子メモリとして実現し
、モバイル・デバイス18全体の電力が停止した場合に、メモリ32に格納して
ある情報を失わないようにすることができる。メモリ32の一部は、プログラム
実行のためにアドレス可能なメモリとして割り当てることが好ましく、一方メモ
リ32の残りの部分は、ディスク・ドライブ上の格納をシミュレートするためと
いうように、格納のために用いることが好ましい。
【0024】 メモリ32は、オペレーティング・システム40、アプリケーション・プログ
ラム42(パーソナル情報マネージャ即ちPIM等)、およびオブジェクト・ス
トア44を含む。動作中、オペレーティング・システムは、メモリ32からプロ
セッサ30によって実行することが好ましい。オペレーティング・システム40
は、好適な一実施形態では、Microsoft Corporationから
商業的に入手可能なWindows CEブランドのオペレーティング・システ
ムである。オペレーティング・システム40は、モバイル・デバイス用に設計し
、1組の外から見える(exposed)アプリケーション・プログラミング・
インターフェース(API)およびメソッドを通じてPIM42が利用可能なデ
ータベース機能を実装することが好ましい。オブジェクト・ストア44内のオブ
ジェクトは、少なくとも部分的に、前述の外から見えるアプリケーション・プロ
グラム・インターフェースおよびメソッドへのコールに応答して、PIM42お
よびオペレーティング・システム40によって維持することが好ましい。
【0025】 I/Oコンポーネント34は、好適な一実施形態では、モバイル・デバイス1
8のユーザからの入力および出力動作を簡便化するために備えたものである。I
/Oコンポーネント34については、図3および図4に関して更に詳細に説明す
る。
【0026】 オプションとして、デスクトップ通信インターフェース36は、あらゆる適当
な通信インターフェースを提供する。好ましくは、インターフェース36は、図
1に関して説明したように、デスクトップ・コンピュータ16、コンテンツ・プ
ロバイダ12、ワイヤレス・キャリア、そして任意に別のモバイル・デバイス1
8と通信するために用いる。したがって、通信インターフェース36は、デスク
トップ・コンピュータ16と通信するために同期コンポーネント28、そしてコ
ンテンツ・プロバイダ12と通信するためにモデム24を含むことが好ましい。
ワイヤレス受信機およびドライバ22は、ワイヤレス・キャリア14と通信する
ために用いる。
【0027】 図3は、本発明と共に使用可能なモバイル・デバイス18の好適な一実施形態
の概略構成図である。モバイル・デバイス18は、図3に示すように、Micr
osoft Corporationが提供するソフトウエアを有し、H/PC
という名称で販売しているデスクトップ・アシスタントである。好適な一実施形
態では、モバイル・デバイス18は、小型化キーボード43、ディスプレイ45
およびスタイラス46を含む。小型化ディスプレイ45は、スタイラス46と共
に用いる接触感応画面を有する液晶ディスプレイ(LCD)である。スタイラス
46は、指定した座標においてディスプレイ45を押下するかまたはディスプレ
イ45に接触し、あるユーザ入力機能を実行するために用いる。小型化キーボー
ド43は、好ましくは、あらゆる適当かつ望ましい機能キーを有し、所定のユー
ザ入力機能を実行することも可能な、小型化英数字キーボードとして実施する。
【0028】 図4は、本発明の別の好適な実施形態によるモバイル・デバイス18の別の簡
略構成図である。図4に示すように、モバイル・デバイス18は、図3に関して
説明した部品と同様のものを含み、同様に付番してある。例えば、図4に示すよ
うに、モバイル・デバイス18は、接触感応スクリーン45も含み、これをスタ
イラス46と共に用いて、モバイル・デバイス18をページャとしてする場合に
、所定のユーザ入力機能を実行するために用いることができる。スクリーン45
が接触感応でない場合、スタイラス46は不要である。
【0029】 尚、図3および図4に示すモバイル・デバイス用ディスプレイ45は、互いに
同一サイズとすることも互いに異なるサイズとすることも可能であるが、通常は
、デスクトップ・コンピュータと共に用いる従来からのディスプレイよりは遥か
に小型であることを注記しておく。例えば、図3および図4に示すディスプレイ
は、240×320座標、または160×160座標、またはその他のいずれか
の適当なサイズのマトリクスによって定義することができる。
【0030】 また、図4に示すモバイル・デバイス18は、多数のユーザ入力キーまたはボ
タン(スクロール・ボタン47等)も含み、ユーザは、ディスプレイ45上に表
示いてあるメニュー・オプションまたはその他のディスプレイ・オプションによ
ってスクロールすることができ、あるいは、ユーザはディスプレイ45に接触す
ることなく、アプリケーションを変更したり、ユーザ入力機能を選択することが
できる。加えて、図4にも示すモバイル・デバイス18は、電源ボタン49も含
み、これを用いて、モバイル・デバイス18への全体的な電力をオンおよびオフ
に切り替えることができるようにすることが好ましい。
【0031】 尚、図4に示す実施形態では、モバイル・デバイスは、手書きエリア51を含
むことをも注記しておく。手書きエリア51は、スタイラス46と共に用い、ユ
ーザがメッセージを書き込み、メモリ42に格納して、モバイル・デバイス18
が後に用いるようにする。例示としての一実施形態では、手書きメッセージを単
に手書き形態で格納し、後にユーザが呼び出してディスプレイ・スクリーン45
上に表示し、ユーザがモバイル・デバイス18に入力した手書きメッセージを見
直すことを可能にする。別の好適な実施形態では、モバイル・デバイス18には
キャラクタ認識モジュールを備え、ユーザがスタイラス46を用いてエリア51
上に英数字情報を書き込むことによって、モバイル・デバイス18に英数字情報
を入力可能とする。この場合、モバイル・デバイス18内のキャラクタ認識モジ
ュールは、英数字キャラクタを認識し、これらのキャラクタをコンピュータ認識
可能な英数字キャラクタに変換し、これをモバイル・デバイス18内のアプリケ
ーション・プログラム42が用いることができるようにする。
【0032】 勿論、モバイル・デバイス18をページャとして実施する場合、スタイラス4
6および手書きエリア51は不要である。代わりに、モバイル・デバイス18に
は単にスクリーン45、ユーザ入力ボタン47および電源ボタン49、またはそ
の他の適当な部品を備えるだけでよい。
【0033】 図5および関連する論述は、本発明を実現可能とするのに適したデスクトップ
・コンピュータ16の全体的な説明を手短に行うことを意図するものである。必
須ではないが、本発明の説明は、少なくとも部分的に、パーソナル・コンピュー
タ16またはモバイル・デバイス18が実行するプログラム・モジュールのよう
なコンピュータ実行可能命令に関して概略的に行うこととする。一般に、プログ
ラム・モジュールは、特定のタスクを実行したり、あるいは特定の抽象的データ
形式を使用する、ルーチン・プログラム、オブジェクト、コンポーネント、デー
タ構造等を含む。更に、本発明は、マルチプロセッサ・システム、マイクロプロ
セッサを用いた消費者用電子機器またはプログラム可能な消費者用電子機器、ネ
ットワークPC、ミニコンピュータ、メインフレーム・コンピュータ等を含む、
その他のコンピュータ・システム・コンフィギュレーションとでも実施可能であ
ることを当業者は認めよう。また、本発明は、分散型計算機環境において、通信
ネットワークを通じてリンクしたリモート処理デバイスによってタスクを実行す
るという実施も可能である。分散型計算機環境では、プログラム・モジュールは
、ローカルおよびリモート・メモリ記憶装置双方に配置することができる。
【0034】 図5を参照すると、デスクトップ・コンピュータ16を実現するためのシステ
ム例は、従来のパーソナル・コンピュータ16の形態とした汎用計算機を含み、
コンピュータ演算装置(CPU)48、システム・メモリ50、およびシステム
・メモリ50から演算装置48までを含む種々のシステム・コンポーネントを結
合するシステム・バス52を含む。システム・バス52は、種々のバス・アーキ
テクチャのいずれかを用いたメモリ・バスまたはメモリ・コントローラ、周辺バ
ス、およびローカル・バスを含む、数種類のバス構造のいずれでもよい。システ
ム・メモリ50は、リード・オンリ・メモリ(ROM)54、およびランダム・
アクセス・メモリ(RAM)55を含む。起動中等においてデスクトップ・コン
ピュータ16内のエレメント間の情報転送に供する基本ルーチンを収容する基本
入出力システム(BIOS)56は、ROM54に格納してある。また、デスク
トップ・コンピュータ16は、ハード・ディスク(図示せず)の読み取りおよび
書き込みを行うハード・ディスク・ドライブ58、リムーバブル磁気ディスク5
9の読み取りおよび書き込みを行う磁気ディスク・ドライブ58、ならびにCD
−ROMまたはその他の光媒体のようなリムーバブル光ディスク61の読み取り
および書き込みを行う光ディスク・ドライブ60も含むことができる。ハード・
ディスク・ドライブ57、磁気ディスク・ドライブ58、および光ディスク・ド
ライブ60は、ハード・ディスク・ドライブ・インターフェース52、磁気ディ
スク・ドライブ・インターフェース63、および光ディスク・ドライブ・インタ
ーフェース64によって、それぞれシステム・バス52に接続してある。これら
のドライブおよびそれに関連するコンピュータ読み取り可能媒体は、コンピュー
タ読み取り可能命令、データ構造、プログラム・モジュール、およびデスクトッ
プ・コンピュータ16用のその他のデータの不揮発性格納を行う。
【0035】 ここに記載する環境の一例は、ハード・ディスク、リムーバブル磁気ディスク
59およびリムーバブル光ディスク61を採用するが、磁気カセット、フラッシ
ュ・メモリ・カード、ディジタル・ビデオ・ディスク(DVD)、ベルヌーイ・
カートリッジ、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモ
リ(ROM)等のような、コンピュータによるアクセスが可能なデータを格納す
ることができる、他の種類のコンピュータ読み取り可能媒体も、動作環境の一例
において使用可能であることは、当業者には認められよう。
【0036】 多数のプログラム・モジュールを、ハード・ディスク、磁気ディクス59、光
ディスク61、ROM54またはRAM55上に格納することができ、オペレー
ティング・システム65、(PIMを含む)1つ以上のアプリケーション・プロ
グラム66、(同期コンポーネント26を含む)その他のプログラム・モジュー
ル67、およびプログラム・データ68を含む。ユーザは、キーボード70、ポ
インティング・デバイス72およびマイクロフォン74のような入力デバイスに
よって、コマンドおよび情報をデスクトップ・コンピュータ16に入力すること
ができる。他の入力デバイス(図示せず)として、ジョイスティック、ゲーム・
パッド、衛星ディッシュ(satellite dish)、スキャナ等を含む
ことができる。これらおよびその他の入力デバイスは、多くの場合、システム・
バス52に結合してあるシリアル・ポート・インターフェース76を介して、演
算装置48に接続しているが、サウンド・カード、パラレル・ポート、ゲーム・
ポートまたはユニバーサル・シリアル・バス(USB:universal s
erial bus)のようなその他のインターフェースによって接続すること
も可能である。モニタ77または別の種類の表示装置も、ビデオ・アダプタ78
のようなインターフェースを介して、システム・バス53に接続する。モニタ7
7に加えて、デスクトップ・コンピュータは、通常、スピーカ75やプリンタの
ような、その他の周辺出力デバイスを含むこともできる。
【0037】 デスクトップ・コンピュータ16は、リモート・コンピュータ79のような1
つ以上のリモート・コンピュータ(モバイル・デバイス18以外)への論理接続
を用いて、有線またはワイヤレス・ネットワーク環境で動作することも可能であ
る。リモート・コンピュータ79は、別のパーソナル・コンピュータ、サーバ、
ルータ、ネットワークPC、ピア・デバイス、またはその他のネットワーク・ノ
ードとすることができ、通常、デスクトップ・コンピュータ16に関して先に記
載したエレメントの多くまたは全てを含むが、メモリ記憶装置80だけを図4に
示す。図4に示す論理接続は、ローカル・エリア・ネットワーク(LAN)81
およびワイド・エリア・ネットワーク(WAN)82を含む。このようなネット
ワーク環境は、事務所、企業規模のコンピュータ・ネットワーク・イントラネッ
トおよびインターネットでは一般的である。
【0038】 LANネットワーク環境で用いる場合、デスクトップ・コンピュータ16は、
ネットワーク・インターフェースまたはアダプタ83を介して、ローカル・ネッ
トワーク81に接続する。WANネットワーク環境で用いる場合、デスクトップ
・コンピュータ16は通常モデム84またはインターネットのようなワイド・エ
リア・ネットワーク82上で通信を確立するその他の手段を含む。モデム84は
、内蔵型でも外付け型でもよく、シリアル・ポート・インターフェース76を介
してシステム・バス52に接続する。ネットワーク環境では、デスクトップ・コ
ンピュータ16に関して図示したプログラム・モジュールまたは同期コンポーネ
ント26を含むその一部を、ローカルまたはリモート・メモリ記憶装置に格納す
ることも可能である。図示のネットワーク接続は一例であり、コンピュータ間に
通信リンクを確立するその他の手段も使用可能であることは認められよう。
【0039】 デスクトップ・コンピュータ16は、通常不揮発性メモリ54に格納してある
オペレーティング・システムを走らせ、演算装置48上で実行する。適切なオペ
レーティング・システムの1つは、Windows95またはWindows
NT、あるいはWindowsブランドのオペレーティング・システムの別の派
生バージョンのような、Microsoft Corporation(マイク
ロソフト社)が販売するWindowsブランドのオペレーティング・システム
、あるいはそれ以外の適切なオペレーティング・システムである。他の適切なオ
ペレーティング・システムには、Apple Corporation(アップ
ル社)が販売するMacintosh OSや、International
Business Machines(IBM)が販売するOS/2プレゼンテ
ーション・マネージャのようなシステムが含まれる。アプリケーション・プログ
ラムは、プログラム・モジュール67、揮発性メモリまたは不揮発性メモリ内に
格納することが好ましく、あるいは、フロッピ・ディスケット59、CDROM
ドライブ61から図5に示すコンポーネントのいずれかにロードしたり、ネット
ワーク・アダプタ83を介してネットワークからダウンロードしたり、またはそ
の他の適当な機構を用いてロードすることも可能である。
【0040】 動的リンク・ライブラリ(DLL)は、複数の実行可能機能から成り、プロセ
ッサ48による実行のために、メモリ内のPIMと関連付けてある。プロセッサ
間およびコンポーネント間のコールは、コンポーネント・オブジェクト・モデル
(COM)を用いることにより簡便化される。これは、Microsoft W
indowsブランドのオペレーティング・システム用に書かれたプログラムで
は共通である。端的に言うと、COMを用いる場合、DLLのようなソフトウエ
ア・コンポーネントは多数のインターフェースを有する。各インターフェースは
、複数のメソッドを露出(expose)させる。これらのメソッドは、個々に
コールして、ソフトウエア・コンポーネントが提供する異なるサービスを利用す
ることができる。加えて、任意に1つ以上のパラメータ引数を受け取りそして返
す別のソフトウエア・コンポーネントから、メソッドまたは関数を呼び出すこと
を可能にするインターフェースを備える。
【0041】 一般に、特定のPIMまたはその他のプログラムと関連するDLLは、特定的
に当該PIMと共に動作し、デスクトップ同期インターフェースを露出させるよ
うに設計してある。デスクトップ同期インターフェースは、同期プロトコルにし
たがって、先に引用した米国特許出願に詳細に記載されているように機能する。
一方、DLLは、PIMによって露出されたインターフェースをコールし、オブ
ジェクト・ストア内に維持してあるオブジェクトの個々のプロパティを表わすデ
ータにアクセスする。勿論、オブジェクト・ストア6は、図4に関して記載した
適当なメモリ素子のいずれにも常駐することができる。
【0042】 図6は、オーガナイザ200およびモバイル・デバイス18の更に詳細なブロ
ック図であり、本発明の一態様による、モバイル・デバイス18のプログラミン
グを示す。尚、オーガナイザは、コンテンツまたはサービス・プロバイダ12、
またはワイヤレス・キャリア14、またはその他のいずれかの適当なブロードキ
ャスト・サービス・プロバイダのような、いずれかのプログラミング情報源であ
り得ることを注記しておく。オーガナイザ200は暗号化コンポーネント202
、およびプログラミング・メッセージ発振コンポーネント(PMOC)204を
含む。また、図6は、オーガナイザ200およびモバイル・デバイス18をリン
クする伝送リンク206も示す。前述のように、伝送リンク206は、ワイヤレ
ス伝送リンク、デスクトップ・コンピュータならびに同期コンポーネント26お
よび28との同期による伝送、世界的なコンピュータ・ネットワーク(インター
ネット等)を通じた伝送、またはモデムを介したその他のソース、イントラネッ
ト、あるいは単に必要な情報を収容したフロッピ・ディスクの転送による伝送を
含むことができる。
【0043】 また、モバイル・デバイス18も更に詳細に示してある。モバイル・デバイス
18は、無線ハードウエア(即ち、無線HW)208を含み、モバイル・デバイ
ス18内の実際の無線受信ハードウエアに対応する。また、モバイル・デバイス
18は、無線HW208とインターフェースし無線HW208に情報を受け渡し
、無線HW208から情報を受け取る、ドライバ210も含む。また、デバイス
18は、プログラミング・メッセージ処理コンポーネント(PMPC)212も
含み、モバイル・デバイス18内のいずれか適当なメモリに実装することができ
る。PMPC212は、伝送リンク206を通じて伝送されたメッセージを受信
し、以下に記載する技法にしたがってこれらを処理する。
【0044】 図7は、本発明の一形態によるモバイル・デバイス18のプログラミングを示
すフロー・チャートである。図7は、図6も参照しながら説明する。図7は、具
体的に、空中プログラミングを用いてモバイル・デバイス18をプログラムする
システムを示す。最初に、オーガナイザ200上のPMOC204が、モバイル
・デバイス18をプログラムするための所望のプログラミングを受信する。これ
をブロック214で示す。
【0045】 次に、PMオC204は、暗号化コンポーネント202にアクセスし、署名し
暗号化したプログラミング・メッセージを作成し、伝送リンク206を通じてモ
バイル・デバイス18に送信する。プログラミング・データの暗号化プログラミ
ング・メッセージへの暗号化は、多数の適当な方法のいずれでも行なうことがで
きる。暗号化を行なう方法の1つについて、以下で図9Aないし図11Bに関し
て更に詳細に説明する。プログラミング・データの暗号化プログラミング・メッ
セージへの暗号化をブロック216で示す。また、データには、圧縮、符号化等
のような追加の処理も行なう。
【0046】 次に、オーガナイザ200からモバイル・デバイス18にデータを送信する。
図6に関して説明したように、データは、適当な伝送リンクであれば、そのいず
れでも送信可能である。図7において記載する実施形態に関しては、伝送リンク
206は、無線周波数ページング・チャネルのような、ワイヤレス伝送リンクで
あり、PMOC204は暗号化プログラミング・メッセージを無線送信機に供給
し、これがモバイル・デバイス18の無線HW208に送信し、モバイル・デバ
イス18においてメッセージを受信する。暗号化プログラミング・メッセージの
モバイル・デバイス18への送信は、図7のブロック218で示してある。
【0047】 以下で更に詳しく説明するが、暗号化プログラミング・メッセージには、ヘッ
ダが添付してある。メッセージは、メッセージ・ルータ・コンポーネントに渡さ
れ、これが種々の処理ステップを通じてメッセージをPMPC212に導出する
。ヘッダは、送信前にメッセージに行なった処理の種類、および受信後にメッセ
ージに行なう補完処理(復号、伸長等)の種類を示す。メッセージの受信をブロ
ック220で示す。
【0048】 ルータは、メッセージをモバイル・デバイス18上のPMPC212に渡す。
これをブロック222で示す。PMPC212は、暗号化プログラミング・メッ
セージに対して必要なあらゆる変換を行なう。また、PMPC212は、ヘッダ
情報に基づいて、そのメッセージがプログラミング・メッセージであり、適切な
入出力(I/O)制御コールを呼び出し、メッセージを適正な形態に置き、ドラ
イバ210に所望のフォーマットで戻すことができるようにする。好適な実施形
態では、PMPC212は、適切なアプリケーション・プログラミング・インタ
ーフェース(API)を用いてドライバ210へのI/O制御コールを呼び出す
。アプリケーション・プログラミング・インターフェースについては、以下で更
に詳しく説明する。例えば、ヘッダ情報は、プログラミング・メッセージが新た
なアドレス・プログラミング・メッセージであることを識別することができる。
その場合、PMPC212は、サブパラメータADDRESS_PROGRAM
MINGを有するRADIO_PROGRAMMING I/O制御コールを呼
び出し、新たなアドレスをプログラムする。暗号化プログラミング・データをド
ライバ210に渡し、ライブラリ関数DecryptAndValidateP
gmData()をコールし、プログラミング・データを解読しその有効性を確
認する。プログラミング・データを適正な形式でドライバ210に渡す動作は、
ブロック224で示す。
【0049】 ドライバ210がプログラミング・メッセージを解読し有効性を確認した後、
プログラミング・データはその元の暗号化していない形態で得られる。次に、ド
ライバ210は、検索のために、実際のプログラミング・データをドライバ21
0内の適切な出力バッファ内に置くか、あるいは無線HW208上の入力バッフ
ァに入力する。次いで、無線HW208は、供給された実際のプログラミング・
データに応じて、必要なプログラミングを実行することができる。これをブロッ
ク226および228で示す。
【0050】 図8は、空中プログラミングを用いたモバイル・デバイス18のプログラミン
グを示すフロー図である。最初に、モバイル・デバイス18のユーザは、例示の
一実施形態では、ユーザが望むサービスのブロードキャスト・サービス・プロバ
イダのウェブ・サイトにログオンする。ユーザは、デスクトップ・コンピュータ
16から、発信元200のウェブ・サイトにおいて、認証情報を与える。このよ
うな認証情報は、一例では、ユーザ名およびプログラミングを行なおうとするモ
バイル・デバイス18の個人識別番号(PIN)を含む。これを図8のブロック
230で示す。
【0051】 次に、ユーザは、モバイル・デバイス18上で受信する加入サービスの変更を
要求する。このような変更は、サービスの追加、サービスの削除、またはサービ
スの変更を含むことができ、アドレスまたはモバイル・デバイス18上に格納し
てある他の情報の再プログラミングを要求し、モバイル・デバイス18が新たな
加入サービスを受信可能とすること、または加入サービスを取消、もはやモバイ
ル・デバイス18には供給しないようにするという可能性もある。ユーザは、通
常、発信元のウェブサイトにアクセスしたデスクトップ・コンピュータからこの
情報を得る。
【0052】 次に、発信元200は、署名し暗号化したプログラミング・メッセージを作成
し、最終的にモバイル・デバイス18に送信する。これについては、以下で更に
詳しく説明し、ブロック234で示す。
【0053】 暗号化プログラミング・メッセージを発信元200において作成した後、伝送
リンク206を通じてモバイル・デバイス18に送信する。図8に示す実施形態
では、伝送リンク206は、ユーザのデスクトップ・コンピュータと発信元のウ
ェブサイトとの間にインターネット接続を備えている。したがって、暗号化プロ
グラミング・メッセージは、ブロック236で示すように、ユーザのデスクトッ
プ・コンピュータに転送される。
【0054】 次に、ユーザはモバイル・デバイス18をデスクトップ・コンピュータに接続
する。前述のように、この種の接続は、シリアル通信を用いたハードウエア接続
(即ち、ケーブル)、赤外線伝送リンク、または他のいずれの適当な接続機構を
通じてでも、いずれかの適当な方法で形成することができる。これをブロック2
38で示す。
【0055】 次に、ユーザは、デスクトップ・コンピュータとモバイル・デバイス18間の
同期を要求する。前述のように、同期コンポーネント26および28は、同期プ
ロトコルにしたがって双方向処理を行い、暗号化プログラミング・メッセージを
モバイル・デバイス18に同期化する。更に具体的には、同期コンポーネント2
8は、暗号化メッセージをモバイル・デバイス18上のPMPC212に転送す
る。同期ステップをブロック240で示す。
【0056】 この時点から、処理は、図7に明示した空中プログラミング・システムのブロ
ック224から開始して行なうのと全く同一に進展する。即ち、PMPC212
は、暗号化プログラミング・メッセージに必要なあらゆる変換を実行し、暗号化
プログラミング・メッセージを適正な形態とし、ドライバ210に渡すことを可
能とする。次に、PMPC212は適切なAPIを用いてドライバ210へのI
/O制御コールを呼び出し、暗号化プログラミング・メッセージをドライバ21
0に逆に渡し、解読および有効性確認を行なう。これをブロック224で示す。
【0057】 一旦ドライバ210がデータを解読し有効性を確認したなら、暗号化されてい
ない形態のプログラミング・データを適切なバッファに入力する。これをブロッ
ク226で示す。
【0058】 次に、無線HW208は、ドライバ210から受け取ったプログラミング・デ
ータにしたがって、プログラミング動作を実行する。これをブロック228で示
す。
【0059】 尚、モバイル・デバイス18上で無線HW208をプログラミングする本シス
テムは、プロトコル、チャネル、およびデバイスには独立であることを注記して
おく。言い換えると、一旦暗号化プログラミング・メッセージをPMPC212
に供給したなら、その情報をドライバ210に供給し、ドライバ210において
プログラミング・メッセージを解読し有効性を確認するプロセスは全く同一であ
り、どのような特定の無線HWデバイス208を備えているかには無関係であり
、更にプログラミング・メッセージを受信したチャネルまたは伝送プロトコルに
も無関係である。
【0060】 図9Aおよび図9Bは、オーガナイザ200上の暗号コンポーネント202お
よびPMOC204が実行する暗号化方式の一部を示す。勿論、他の適当な暗号
化方式も利用可能であるが、図9Aおよび図9Bは、例示としての一暗号化方式
の一部を示す。即ち、図9Aおよび図9Bは、本発明の一態様による暗号化方式
において用いる暗号化キーの形成を示す。
【0061】 暗号化キーを得るために、本発明は、メッセージ特定データ242、ベース・
キー244、および暗号データ246を用いる。メッセージ特定データ242は
、送られる各プログラミング・メッセージと交換する、要求プロパティを有する
メッセージ自体の一部であることが好ましい。ベース・キー244は、例示の一
実施形態では、モバイル・デバイス18の電子識別(EID)である。しかしな
がら、ベース・キー244は同様に他のいずれのキーとすることも可能である。
暗号データ246は、他の既知のバイトまたはデータ・ストリングで形成するこ
とが好ましい。ブロック242,244および246内の情報を、ハッシュ・メ
ッセージ認証コード(HMAC)発生器248に供給する。HMAC発生器24
8は、キー導出アルゴリズムをシード(seed)またはバイアス(bias)
するために用いるハッシュ値を導出する。このバイアス・コンポーネントをキー
導出コンポーネント250に供給する。これは、バイアス・コンポーネントに作
用し、暗号キー252を得る。
【0062】 図9Bは、図9Aのブロック図に示したコンポーネントの動作を示すフロー図
である。最初に、メッセージ特定データ242、ベース・キー244、および暗
号データ246を得る。これをブロック254、256および258で示す。次
に、HMACバイアス・コンポーネントを算出する。これをブロック260で示
す。最後に、バイアス・コンポーネントを用いて暗号キー254を得る。これを
ブロック262で示す。例示の一実施形態では、API CryptDrive
Keyを用いて暗号キーを得る。API CryptDriveKeyは、標準
的な暗号アルゴリズムのキーを得る標準的なWindows APIである。
【0063】 尚、メッセージ特定データ242は各メッセージ毎に変化するので、得られる
暗号キー252も各メッセージ毎に異なることを注記しておく。この技法がない
場合、暗号化メッセージを解読したメッセージと比較し、これら2つのメッセー
ジを単純に用いて後続のメッセージのキーを計算することができる。しかしなが
ら、キーは各メッセージ毎に変化するので、1つのキーが得られても、これを用
いて後のメッセージを解読することはできない。
【0064】 図10Aおよび図10Bは、本発明の一態様による署名キーの発生を示す。多
数のブロックには、図9Aおよび図9Bに示すものと同様に付番し、更に同様に
付番してある。図9Aに示した技法の場合と同様、本発明にしたがって、多数の
コンポーネントを用いて署名キー266を形成する。メッセージ特定データ24
2、ベース・キー244および署名ストリング264をHMAC発生器248に
供給する。メッセージ特定データ242およびベース・キー244については、
先に図9Aおよび図9Bに関して説明した。署名ストリング264は、暗号スト
リング246と同様である。しかしながら、署名ストリング264は、他の既知
のバイトで形成され、データ・ストリングとして形成することが好ましい。HM
AC発生器248は、この場合もシード値即ちバイアス値を発生し、ブロック2
50で示すように、署名キーを得るために供給する。図9Aと同様、署名キーは
、標準的なWindows APIであるCryptDeriveKeyを用い
て形成し、署名キー266を得ることが好ましい。
【0065】 図10Bは、図10Aのブロック図に示すコンポーネントの動作を示すフロー
図である。最初に、メッセージ特定データ242、ベース・キー244および署
名データ264を得る。これをブロック268、270および272で示す。次
に、HMAC発生器248は、入力コンポーネントに基づいて、バイアス・コン
ポーネントを算出する。これをブロック274で示す。
【0066】 次に、バイアス・コンポーネントを用いて署名キー導出アルゴリズムをバイア
スし、署名キー266を得る。これをブロック276で示す。
【0067】 一旦署名キーおよび暗号キーを得たなら、伝送リンク206を通じた送信のた
めにプログラミング・メッセージを準備することができる。図11Aおよび図1
1Bは、伝送リンク206を通じた伝送のためのプログラミング・メッセージの
準備を示す。プログラミング・データ278および署名キー266をHMAC発
生器248に供給する。これは、プログラミング・データ278および署名キー
266に基づく署名値280を与える。次に、ブロック282で示すように、デ
ィジタル署名289をプログラミング・データ278に追加する。次に、プログ
ラミング・データ278を、その署名280と共に、暗号キー252を用いて暗
号化する。言い換えると、プログラング・データ278を、その署名280およ
び暗号キー252と共に、暗号コンポーネント282に供給し、いずれかの適当
な暗号化技術を用いることができる。暗号コンポーネント282の出力は、暗号
化メッセージ278であり、これは、暗号キー252によって、その署名280
と共に暗号化されたプログラミング・データ278に対応する。
【0068】 暗号化メッセージ284を、暗号化されていない形態(即ち平文形態)のメッ
セージ特定データ242に添付する。暗号化メッセージ284およびメッセージ
特定データ242に、ヘッダを追加する。これをブロック286で示す。更に、
圧縮、符号化等のような別の変換をメッセージに施すことができる。したがって
、プログラミング・メッセージ288全体は、ヘッダ290、暗号化メッセージ
284、およびメッセージ特定データ242を含む。ヘッダ290は、多数の目
的に供する一連のバイトであることが好ましい。最初に、メッセージ288をプ
ログラミング・メッセージとして識別する。次に、メッセージの暗号化部分28
4の先頭および末尾、ならびにメッセージのメッセージ特定データ部分242(
暗号化されていない)の先頭および末尾を識別する。最後に、ヘッダ290は、
EIDをベース・キーとして用いたか否かを識別する。
【0069】 図11Bは、図11Aに関して説明したプログラミング・メッセージの準備を
示すフロー図である。最初に、ブロック292で示すように、プログラミング・
メッセージを得る。次に、署名キー266を得る。これをブロック294で示す
。次に、HMACコンポーネントを走らせ、署名280を得る。これをブロック
296で示す。
【0070】 次に、プログラミング・データをその署名と合体する。これをブロック298
で示す。暗号キーを得て、プログラミング・データをその署名と共に、暗号キー
を用いて暗号化し、暗号化メッセージを形成する。これをブロック300および
302で示す。メッセージ特定データ242を暗号化メッセージに添付し、ヘッ
ダを追加してプログラミング・メッセージ全体を形成し、伝送リンク206を通
じて送信する。送信に先立って、他の変換も行なうことができる。これらの最終
ステップをブロック304および306で示す。
【0071】 準備したメッセージを伝送リンク206を通じて伝送し、前述のように、最終
的にPMPCコンポーネント212に至る。一旦PMPC212がプログラミン
グ・メッセージを受信したなら、適正な形態として、ドライバ210に、そして
最終的に無線HW208に受け渡し、ここでプログラミングを実際に実行する。
【0072】 図12Aは、無線HW208およびドライバ210の更に詳細なブロック図で
あり、これらのコンポーネントにおける処理を示すものである。図12Aは、無
線HW208が好ましくは複数のデータ構造を維持することを示す。図12Aの
無線HW208に示すデータ構造は、テーブルとして示している。しかしながら
、これは一例としての図に過ぎない。実際には、無線HW208は他の何らかの
方法で自由にデータを格納し、格納またはアクセス速度を最適化する。
【0073】 また、無線HW208はこれらのデータ構造全てを格納する必要もない。無線
HW208をリムーバブル・ハードウエア製品(例えば、無線PCMCIA型カ
ード)として実現する場合、これは単純に好適な実施態様となり得る。データ構
造を無線HW208上の不揮発性メモリに格納することによって、ユーザは一方
のモバイル・デバイス18からカードを抜き取り、それを他方に差し込んで、情
報を新たなデバイスに容易に移転させることが可能となる。また、無線ハードウ
エアにおける機能をより多く実現することも可能にする。しかしながら、デバイ
ス・ドライバ210は、これらのデータ構造をシステム・メモリに格納し、ソフ
トウエアで機能を実行することも可能であるが、いくつかの観点において好まし
くない場合もある。
【0074】 いずれの場合でも、図12Aは、無線HW208がキー・テーブル210、ア
ドレス・テーブル312、グループ情報テーブル314、グループ・インデック
ス・テーブル316、ならびにキャリアおよび製造業者情報テーブル318を維
持する一実施形態を示す。これらのデータ構造について以下に詳しく説明する。 ・アドレス・テーブル。
【0075】 このテーブルは、アドレス関連情報を格納するために用いる。
【0076】
【表1】
【0077】 「*」を付けたフィールドは、揮発性メモリ(例えば、レジストリ)に格納し、
無線HWの不揮発性メモリのメモリ・サイズを削減することができる。これらは
、サイズ算出には含んでいない。 ステータス:これはフラグ・バイトである。以下にフラグの例を示す。
【0078】
【表2】
【0079】 ドライバは、ACおよびデバイスのON/OFFステータスの変化を検出し、
ADDRESS_FLAG_AC_ONLYおよびADDRESS_FLAG_
PU_ONLYに基づいて、アドレスをイネーブル/ディスエーブルすることが
好ましい。
【0080】
【表3】
【0081】 全体のサイズ=(1+1+2+8+32)*16=704バイト(Flex無線
の場合)。 ・キー・テーブル このテーブルは、セキュリティ関連情報を格納するために用いる。これは、例
示として、1つ以上のサービス・グループまたはアドレスが同じキーを共有する
ことができる、プール・リソースである。
【0082】
【表4】
【0083】
【表5】
【0084】 全体のサイズ=(8+4+16)*16=448バイト ・サービス・グループ情報テーブルおよびサービス・グループ・インデックス・
テーブル サービス・グループ・テーブルは、サービス・グループに関する情報を格納す
る。通常、サービス・グループ・コードおよび関連するキーの参照は、サービス
・グループの挿入または削除よりも、頻度が高くしかも時間に厳しいタスクであ
る。したがって、ドライバは、これに合わせて設計したデータ構造を有すること
が好ましい。
【0085】 以下に提示する実施態様では、サービス・グループ・エントリをアドレス番号
で、ついでサービス・グループ・コードでソートする。別個のサービス・グルー
プ・インデックス・テーブルが、いずれの所与のアドレスについても最後のエン
トリに対するインデックスを格納する。(尚、これは単に実施態様の一例に過ぎ
ないことを注記しておく。サービス・グループ・コードの参照に最適化し、格納
の必要性を極力抑える。新たなサービス・グループを定義する毎に、テーブル・
エントリをシフト・ダウンし、そのための余裕を作る必要がある。しかしながら
、他の適当な実施態様も同様に使用可能である。
【0086】 例示の一実施形態では、アドレスをディスエーブルすると、そのサービス・グ
ループ・エントリが除去されるか、いずれかの方法で変更される(しかしながら
、いずれにしてもカードがそのアドレスに対するメッセージを破棄するので、こ
れらのエントリは用いられない)。 KeyIndexは、このサービス・グループに関連するキー・テーブルへの
インデックスである。インデックス0は、「キーが存在しない−このサービス・
グループに対するコンテンツを暗号化しない。」ことを意味するために予約して
ある。
【0087】
【表6】
【0088】 「*」を付けたフィールドは、揮発性メモリ(例えば、レジストリ)に格納し、
無線HWの不揮発性メモリのメモリ・サイズを削減することができる。これらは
、サイズ算出には含んでいない。 ServiceGroupCode 0x20および0x7Eの印刷可能なAS
CII範囲におけるサービス・グループ・コード。 ステータス:これは、フラグ・バイトである。以下のフラグを一例として定義す
る。
【0089】
【表7】
【0090】 ドライバは、ACおよびデバイスのON/OFFステータスの変化を検出し、
GROUP_FLAG_AC_ONLYおよびGROUP_FLAG_PU_O
NLYに基づいて、アドレスをイネーブル/ディスエーブルすることが好ましい
【0091】
【表8】
【0092】 インデックス・テーブルは、所与のアドレスに対するサービス・グループを素早
く突き止めるために用いる。 全体のサイズ=(1+1+1+2+8)=832(サービス・グループ・テーブ
ル) (1)*16=16(インデックス・テーブル)=848バイト 図12Aは、ドライバ210がシステムに対して汎用であるが、効率またはセ
キュリティ向上のためにはドライバ・レベルで実行することが好ましい、所定の
関数を納めたライブラリに対応することも示す。図12Aに示す対応ライブラリ
は、AnalyzeMessage関数320、DeriveEncrypti
onKey関数322、およびDecryptAndValidateRadi
oPgmData関数324を含む。これらの関数については、本願では後に更
に詳しく説明する。
【0093】 また、好適な実施形態では、PMPC212は、種々の動作を実行するための
多数のI/O制御コールを呼び出すように構成してある。ドライバ210は、既
定のシンタックスおよび動作にしたがってI/O制御コールに対応し、実施する
。これについても、以下で説明する。
【0094】 ドライバAPIにおいて用いる一般的なタイプの定義についてこれより説明す
る。尚、以下のタイプの殆どは、前述のデータ構造にほぼ直接マップするが、こ
れは必ずしも必要ではない。
【0095】 以下の基本タイプを用いる。
【0096】 BYTE符号無し8ビット WORD符号付き16ビット DWORD符号付き32ビット BYTEアレイに格納するTEXTストリング。ストリングの長さは大抵の場
合他のフィールドで使用可能であるので、ヌルの終端は不要である。 以下のタイプ定義は、ドライバが対応する必要がある最小サイズの例を示す。
APIにおいて用いるストラクト(struct)は、別のフィールドにおいて
実際の長さを有する。
【0097】 RADIO_TAG ストラクト TEXT値[8] タグを用いて個々のアドレス、サービス・グループ、ま
たはキー・エントリを識別する。
【0098】 RADIO_KEY ストラクト BYTE値[16] 暗号キーを格納する。
【0099】 RADIO_NAMEストラクト TEXT値[32] キャリア名、製造業者名、アドレス名等を格納する。
【0100】 RADIO_DESCストラクト TEXT値[64] カード、サービス、アドレス等の記載を格納する。 複素タイプ(ストラクト) 全ての構造は、最初に以下の2つのフィールドを有する。 Word sStructSize 各ストラクトは固定サイズのフィールドを
有し、その後に可変フィールドの長さが続く。可変フィールドはそれらの長さと
同じ順序に従う。wStructSizeフィールドは、ストラクトの固定部分
のサイズをバイト単位で保持する(即ち、固定フィールドおよび可変フィールド
の長さ)。このフィールドは、今後のリリースにおける下位互換性のために用い
る、バージョン付け方法(versioning method)も同様に与え
る。 DWORD dwMemberValidMask ストラクトのどの固定サイ
ズ・フィールドが有効でありかつ使用可能かを(可変サイズ・フィールドに対し
て)示すマスク(0の長さはフィールドが存在しないことを示す)。これによっ
て、フィールドの一部が不要であっても、同じストラクトを用いることが可能と
なる。これは、他のフィールドの値を変更せずに、ストラクト内の単一フィール
ドをプログラムする場合に特に有用である。 加えて、可変長フィールドを終端側に集合化し、それらの各々に長さフィール
ドを備える。これによって、下位または上位互換性を失うことなく、これらの構
造の拡張が可能となる。可変長フィールドにアクセスする場合、ドライバはwS
tructSizeフィールドの値を、最初の可変長フィールドの開始オフセッ
トとして用いなければならない。これによって、追加のフィールドをストラクト
に追加した場合に、上位互換性に対処する(wStructSizeの使用は、
これら新たなフィールドが旧来のドライバによって無視されることを保証する)
。 ドライバAPIの通常の動作では、多種多様の特定的なストラクト・タイプを
用いるが、ここでは、プログラミングに関連するものについてのみ論ずることに
する。このようなストラクトは以下を含む。ストラクト RADIO ADDRESS このストラクトは、アドレスに関する情報を収容する。
【0101】
【表9】
【0102】 Word wStructSize seizeof(RADIO_ADDRE
SS) DWORD dwMemberValidMask ストラクトのどのフィール
ドが有効かを示すマスク。以下の1つ以上のORを取ることによって、値を構築
する。
【0103】 0x0001 AddressNumberフィールドが有効である。
【0104】 0x0002 Statusフィールドが有効である。
【0105】 0x0004 ExpirationDateフィールドが有効である。 BYTE AddressNumber アドレス・エントリ番号・アドレス・
エントリには、0から付番する。 BYTE Status ステータス・フラグ BYTE ExpirationDate[2] 期限日。ない場合は0。 BYTE AddressTagLen AddressTagフィールドの長
さ。 BYTE KeyTagLen KeyTagフィールドの長さ。 BYTE AddressNameLen AddressNameフィールド
の長さ。 WORD wAddressDescriptionLen AddressD
escriptionフィールドの長さ。 WORD wAddressInfoLen AddressInfoフィール
ドの長さ。 RADIO_TAG AddressTag アドレス・タグ。 RADIO_TAG KeyTag このアドレスに関連するキー。(このフィ
ールドがない場合、アドレスに関連付けられたキーはない)。 RADIO_DESC AddressDescription アドレスにつ
いての説明。尚、この情報は、一例として、不揮発性メモリ内にある必要はない
ものとすることを注記しておく。これは、情報の目的のためにのみ、ユーザに表
示する。 RADIO_ADDRESS AddressInfo アドレスおよび関連情
報フィールド。このストラクトは、プロトコルに特定である。FLEXプロトコ
ルでは、キャップコード情報符号化転化値、位相、アドレス等を含むことができ
る。 ストラクト RADIO_GROUP このストラクトは、サービス・グループに関する情報を収容する。
【0106】
【表10】
【0107】 WORD wStructSize sizeof(RADIO_GROUP)
DWORD dwMemberValidMask ストラクトのどのフィール
ドが有効かを示すマスク。以下の1つ以上のORを取ることによって、値を構築
する。
【0108】 0x0001 GroupNumberフィールドが有効である。
【0109】 0x0002 Statusフィールドが有効である。
【0110】 0x0004 GroupCodeフィールドが有効である。
【0111】 0x0008 ExpirationDateフィールドが有効である。 WORD wGroupNumber サービス・グループ番号。サービス・グ
ループには、0から付番する。 BYTE Status ステータス・フラグ BYTE GruupCode サービス・グループ・コード。 BYTE ExpirationDate[2] 期限日。なければ0である。 BYTE GroupTagLen GroupTagフィールドの長さ。 BYTE KeyTagLen KeyTagフィールドの長さ。 BYTE AddressTagLen GroupTagフィールドの長さ。 BYTE GroupNameLen GroupNameフィールドの長さ。 WORD wGroupDescriptionLen GroupDescr
iptionフィールドの長さ。 RADIO_TAG GroupTag サービス・グループ・タグ。 RADIO_TAG KeyTag このサービス・グループの関連キー。(こ
のフィールドがない場合、サービス・グループに関連付けられたキーはない)。 RADIO_TAG AddressTag このサービス・グループが属する
アドレス。 RADIO_DESC GroupDescription サービス・グルー
プについての説明。尚、この情報は、一例として、不揮発性メモリ内にある必要
はないものとすることを注記しておく。これは、情報の目的のためにのみ、ユー
ザに表示する。 ストラクト RADIO_KEY このストラクトは、暗号キーに関する情報を収容する。
【0112】
【表11】
【0113】 WORD sWtructSize sezeof(RADIO_KEY) DWORD dwMemberValidMask ストラクトのどのフィール
ドが有効かを示すマスク。以下の1つ以上のORを取ることによって、値を構築
する。
【0114】 0x0001 KeyNumberNumberフィールドが有効である。
【0115】 0x0002 dwAlgCodeフィールドが有効である。 BYTE KeyNumber キー番号。キーには1から付番する。 DWORD dwAlgCode 暗号アルゴリズム・コード。 BYTE KeyTagLen KeyTagフィールドの長さ。 BYTE KeyLen キー・フィールドの長さ。 RADIO_TAG KeyTag キー・タグ。 RADIO_KEY Key 暗号キー。 ストラクト RADIO_PGM このストラクトは、アドレス、サービス・グループ、キー等をプログラムする
ために用いる。
【0116】
【表12】
【0117】 WORD wStructSize sizeof(RADIO_PGM) DWORD dwMemberValidMask ストラクトのどのフィール
ドが有効かを示すマスク。以下の1つ以上のORを取ることによって、値を構築
する。
【0118】 0x0001 OperationCodeフィールドが有効である。
【0119】 0x0002 TypeCodeフィールドが有効である。 BYTE OperationCode 実行する動作を定義する。可能な値は
次の通りである。
【0120】 0x01 RADIO_PRG_OPERATION_PROGRAM プロ
グラム 0x02 RADIO_PGM_OPERATION_UNPROGRAM
アンプログラム(unprogram) BYTE TypeCode 実行するプログラミングのタイプ。可能な値は次
の通りである。
【0121】 0x01 RADIO_PGM_TYPE_CARRIER RADIO_C
ARRIERストラクトが続く。
【0122】 0x02 RADIO_PGM_TYPE_KEY RADIO_KEYスト
ラクトが続く。
【0123】 0x03 RADIO_PGM_TYPE_ADDRESS RADIO_A
DDRESS ストラクトが続く。
【0124】 0x04 RADIO_PGM_TYPE_GROUP RADIO_GRO
UPストラクトが続く。 WORD wProgramDataLen ProgramDataフィール
ドの長さ WORD wCheckSumLen 2 (チェックサム・フィールドの長さ
、必須ではないが、一貫性のために定義する) void ProgramData 以下のデータ構造の1つ(TypeCod
eに基づく): RADIO_CARRIER CarrierInfo; RADIO_ADDRESS AddressInfo; RADIO_GROUP GroupInfo; RADIO_KEY KeyInfo; WORD wCheckSum Checksumフィールド自体を除くストラ
クト全体のチェックサム。チェックサムを算出するには、WORD内のバイトを
1つずつストラクト全体で加算し、オーバーフローを無視する。ストラクト RADIO_CRYPT このストラクトは、制御コールに関連する暗号機能性のために用いる。
【0125】
【表13】
【0126】 WORD wStructSize sizeof(RADIO_CRYPT)
DWORD dwMemberValidMask ストラクトのどのフィール
ドが有効かを示すマスク。以下の1つ以上のORを取ることによって、値を構築
する。
【0127】 0x0001 hCryptoProvフィールドが有効である。
【0128】 0x0002 dwCryptoFlagsフィールドが有効である。
【0129】 0x0004 dwCryptoAlgIdフィールドが有効である。 HCRYPTPROV hCryptoProv 暗号サービス・プロバイダへ
のハンドル。 DWORD dwCryptoAlgId 暗号アルゴリズムID。例えば、C
ALG_RC4。 DWORD dwCryptoFlags 暗号関数CryptDeriveK
ey()のフラグ。例えば、CRYPT_EXPORTABLE。 BYTE AddressTagLen AddressTagフィールドの長
さ。 RADIO_TAG AddressTag アドレス・タグ。 RADIO_TAG GroupTag サービス・グループ・タグ。 BYTE MsgSpecificDATA[] メッセージ特定データ 前述のように、I/O制御コールは、PMPC212からドライバ210に行
い、所定の動作を実行する。種々のデータ構造の場合と同様に、ドライバAPI
において種々のI/O制御コールに対応する。しかしながら、ドライバ210お
よび無線カード208のプログラミングに関連するものについてのみ、ここでは
論ずることにする。I/O制御コールは、次のシンタックスを有する。
【0130】 シンタックス BOOL xxx_IOControl( DWORD hOpenContext DWORD dwCode PBYTE pBufIn DWORD dwLenIn PBYTE pBufOut DWORD dwLenOut PDWORD pdwActualOUT ); パラメータ
【0131】
【表14】
【0132】 戻り値 デバイスがその指定I/O制御動作を完了し終えた場合、TRUEを戻す。そ
れ以外の場合、FALSEを戻す。 RADIO_PROGRAM このIOCTLコールは、コール元がアドレス、サービス・グループ、キー、
またはキャリア情報をプログラムすること、プログラムを取り消すこと(un−
program)を許可する。
【0133】 シンタックス struct RADIO_PGM RadioPgm; BOOL xxx_IOControl( DWORD hOpenContext DWORD dwCode=RADIO_PROGRAM PBYTE pBufIn=&RadioPgm DWORD dwLenIn=sizeof(RadioP gm) PBYTE pBufOut=NULL DWORD dwLenOut=0 PDWORD pdwActualOut=&dwWrit eBytes ); 動作 ドライバは所与の項目をプログラムするか、プログラムを取り消す。セキュリ
ティ上の理由のため、このAPIに渡すRadioPgmストラクトは常に暗号
化する。ドライバは、一例として、ドライバ支援ライブラリに含まれる関数De
cryptAndValidateRadioPgmData()をコールし、
入力データを解読し、有効性を確認しなければならない。 注記 プログラミング動作を実行する場合(RadioPgm.Operation
Code=RADIO_PGM_OPERATION_PROGRAM)、情報
ストラクトが必要なフィールド全てを有していない場合、ドライバは次のように
コマンドを処理する。 1.プログラムする項目が既に存在する場合、情報ストラクトに存在するフィー
ルドのみを変更する。情報ストラクトにないフィールドはその古い値を保持する
。例えば、アドレスをプログラムする場合、アドレスが既に存在し、Addre
ssDescriptionが情報ストラクトにないのであれば、このフィール
ドの古い値を保持する。これは、項目全体または個々のフィールドを変更するこ
とを可能にする。 2.プログラムする項目が存在する場合、ないフィールドに応じて、デフォルト
値を取るか、あるいはプログラミング・コマンド全体を拒絶しなければならない
新たなキャリアのプログラミング
【0134】
【表15】
【0135】 新たなアドレスのプログラミング
【0136】
【表16】
【0137】 新たなアドレスをプログラムする場合、AddressNumberは不要で
あるが(次に得られる空エントリを用いる)、AddressTagは実例では
必要である。既存のアドレスを変更する場合、AddressNumberまた
はAddressTagを用いて所望のアドレスを指示する。双方共与えられて
いる場合、AddressNumberを用いる。 新たなサービス・グループのプログラミング
【0138】
【表17】
【0139】 新たなサービス・グループをプログラムする場合、WGroupNumber
は不要であるが(次に得られる空エントリを用いる)、GroupTagは実例
では必要である。既存のサービス・グループを変更する場合、GroupNum
berまたはGroupTagを用いて所望のアドレスを指示する。双方共与え
られている場合、GroupNumberを用いる。 新たなキーのプログラミング
【0140】
【表18】
【0141】 新たなキーをプログラムする場合、KeyNumberは不要であるが(次に
得られる空エントリを用いる)、KeyTagは実例では必要である。既存のサ
ービス・グループを変更する場合、KeyNumberまたはKeyTagを用
いて所望のアドレスを指示する。双方共与えられている場合、KeyNumbe
rを用いる。RADIO_CRYPT_DRIVE_KEY このIOCTLコールは、コール元が、アドレス、サービス・グループ、キー
、またはキャリア情報をプログラムすること、またはプログラムを取り消すこと
を許可する。
【0142】 シンタックス HCRYPTKEY hkey; BOOL xxx_IOControl( DWORD hOpenContext DWORD dwCode=RADIO_CRYPT_ DERIVE_KEY PBYTE pBufIn=&RadioCrypt DWORD dwLenIn=&hKey PBYTE pBufOut=sizeof(hKey ) DWORD dwLenOut=7dwWriteBy tes ); 動作 このI/O制御は、システムのセキュリティ・コンポーネントが用いる。キー
へのハンドルを得るために用いる。これは、実例では、ドライバ外部には明示さ
れてはならない電子ID(EID)へのアクセスを必要とする。関数Deriv
eEncryptionKey()が、実例ではドライバ支援ライブラリに用意
されており、このI/O制御の動作を実行するために、以下で詳細に論ずる。ド
ライバはこの関数をコールし、それによって戻されるキー(hKey)へのハン
ドルを渡さなければならない。このように、セキュリティ・コンポーネントは、
EIDへのアクセスを得ることなく、キーへのハンドルを得ることができる。 I/O制御コールを実現するために、ドライバ210は、その支援ライブラリ
に格納してある多数の関数をコールする。このような関数について以下に記載す
る。AnalyzeMessage() シンタックス BOOL AnalyzeMessage( void *pMsg DWORD dwMsgLen, BOOL *pDiscard BYTE *pServiceGroupCode); pMsg メッセージ・バイトへのポインタ dwMsgLen メッセージの長さ pDiscard メッセージを破棄するか維持するかについて示 すBOOL値を受け取る。
【0143】 pServiceGroupCodeは、サービス・グループ・コードを受け
取る。
【0144】 戻り サービス・グループ・コードを見つけた場合TRUEを戻し、それ以外の場合
FALSEを戻す。
【0145】 説明 この関数は、メッセージを分析し、それがサービス・グループ・コードを有す
るか否かについて判定を行なう。また、他の特性についても分析し、このメッセ
ージを維持するかまたは破棄するかについての判定を行なう。 DeriveEncryptionKey() シンタックス BOOL DeriveEncryptionKey( RADIO_CRYPT *pCryptInput , BYTE *pbKeyValue, DWORD dwKeySizeHCRYPTKEY * phKey, ); この関数に対するパラメータの一部は、コール元によって与えられ、ドライバ
は単にそれらをこの関数に渡す。残りのパラメータは、その内部データ構造にお
いて、ドライバが得ることができる。 pCrypt_Input RADIO_CRYPT_DERIVE_KEY IOCTLコールへの入力。
【0146】 pbKeyValue RADIO_CRYPT構造内のAddressTa
gおよびGroupTagフィールドに基づいて用いる必要があるキー(IOC
TLコールへのコール元はこれら2つのフィールドを与え、ドライバはこれらを
用いてキー・テーブルに格納されているキーを突き止め、次いでキーをpbKe
yパラメータに渡す必要がある)。
【0147】 dwKeySize pbKeyValueパラメータ内のバイト数。 戻り この関数は、動作が成功した場合TRUEを戻し、それ以外の場合FALSE
を戻す。成功の場合、与えられた情報から生成したキーに対するハンドルも戻す
説明 暗号キーは、実例では、1つ以上の以下の情報に基づいて得られる。即ち、ア
ドレスに関連するキー、サービス・グループに関連するキー、メッセージ特定デ
ータ、所定のフラグ、およびアルゴリズムIDである。この関数はこの全てを処
理し、コールするプロセスが用いて暗号/解読動作を実行するキーに対するハン
ドルを生成する。 DecryptAndValidateRadioPgmData() シンタックス BOOL DecryptAndValidateRadio PgmData( PBYTE pInBuf=&RadioPgm DWORD dwInLen=sizeof(Ra dioPgm) PBYTE pKey=&ElectronicI d(またはキー) DWORD dwKeyLen=sizeof(E lectronicId) PBYTE pOutBuf=&Decrypte dRadioPgm DWORD dwOutLen=sizeof(D ecryptedRadioPgm) ); pInBuf プログラミング・ストラクトRADIO_PG Mを保持する入力バッファへのポインタ。
【0148】 dwInLen 渡したプログラミング・ストラクトのサイズ
【0149】 pKey デバイスの電子ID(EID)またはキー・テーブ
ル内の有効なキーとすることができるキーを保持するバッファへのポインタ。
【0150】 dwKeyLen 渡したキーのサイズ。
【0151】 pOutBuf 解読したストラクトを受け取る出力バッファ
へのポインタ。
【0152】 dwOutLen 出力バッファのサイズ。dwInLen以
上でなければならない。
【0153】 pdwActualOut 実際に出力バッファに書き込んだ
バイト数を受け取る。 戻り この関数は、入力ストラクトが有効なストラクトである場合TRUEを戻す。
解読したストラクトを出力バッファに入力する。データが適正に暗号化されてい
なかったことを関数が発見した場合、FALSEを戻し、ドライバはプログラミ
ング・コマンドを拒絶しなければならない。
【0154】 説明 ドライバ・プログラミングAPIは、それに渡されるプログラミング情報が暗
号化されていることを要求する。これによって、許可されたソースのみがデバイ
スをプログラムできることを確保する。この関数は、ドライバのRADIO_P
ROGRAM IO制御コールに対する解読および有効性確認を行なう。 図12Bは、無線HW208をプログラムする際の、PMPC212およびド
ライバ210の動作を示すフロー図である。最初に、適当な変換を行なった後、
PMPC212に、図7および図8に関して先に説明した方法の1つで、プログ
ラミング・メッセージを供給する(メッセージ・ルータを通じて)。PMPC2
12は、次に、ヘッダ情報に基づいて、メッセージがプログラミング・メッセー
ジであることを検出し、適切なIO制御コールを呼び出し、前述のデータ構造お
よびI/O制御コール・シンタックスに応じて、プログラミング・メッセージか
らの情報を適正な形態とする。これをブロック326で示す。
【0155】 次に、PMPC212は、ドライバ210に対するRADIO_PROGRA
M制御コールを実行し、前述のように、Radio_Pgmストラクトを供給す
る。これをブロック334で示す。
【0156】 この制御コールに応答して、ドライバ210は、ドライバ支援ライブラリに格
納してある、DecryptAndValidateRadioPgmData
関数324をコールする。この関数は、RADIO_PROGRAM I/O制
御コール内に与えられているプログラム・メッセージを解読する。この関数が、
入力ストラクトが有効なストラクトであったことを発見した場合、PMPC21
2に真値を戻し、解読したストラクトをその出力バッファに入力し、無線HW2
08によるアクセスを可能にする。この関数が、ストラクトが適正に暗号化され
ていなかったことを発見した場合、偽値を戻し、プログラミング・コマンドを拒
絶する。これをブロック336および338で示す。
【0157】 使用する個々の無線HW208をプログラムするように構成したプログラミン
グ・コンポーネントは、次にドライバ210の出力バッファ内にある情報にアク
セスし、所望のプログラミング関数を実行する。
【0158】 尚、無線HW208に与える実際のプログラミング・データは、固有の形態に
応じて与えることができ、無線HW208の実際のプログラミングは、いずれか
の固有のパラメータまたは製造業者が賦課した制約にしたがって行なうことがで
きる。したがって、製造業者は、いずれかの固有の方法に応じて、あらゆるプロ
グラミング動作を自由に定義することができる。しかしながら、先に定義したデ
ータ構造に対応することによって、無線HW208が用いる特定のプログラミン
グ方式には無関係に、そしてプログラミング・メッセージをモバイル・デバイス
18に送信する特定の方法には無関係に、独立したオープン・アーキテクチャと
して、無線HW208に固有のプログラミング・データを供給することができる
【0159】 このデバイス/プロトコル/ネットワーク独立性が与えられても、なおも障害
が1つ残る。現在、モバイル・デバイス18が実際にプログラミング・メッセー
ジを受信したか否かについて判定し、要求されたプログラミング動作を引き受け
る効率的な方法がない。本発明の一実施形態によるシステムは、この障害にも対
処する。
【0160】 一旦ドライバ210が、プログラミングが完了したことを示し、有効なストラ
クトを収容したプログラミング・メッセージを示す値を戻したなら、PMPC2
12は、発信元200に向けて承認メッセージを発生し、プログラミングが行わ
れたことを示すことが好ましい。このメッセージを、モバイル・デバイス18上
の同期コンポーネント28(図1に示す)に供給する。ユーザがモバイル・デバ
イス18をデスクトップ・コンピュータ16に次回接続するとき、同期コンポー
ネント26および28は協働してデスクトップ・コンピュータ16への承認の同
期を取る。デスクトップ・コンピュータ16が次回プログラミング・メッセージ
の発信元200にアクセスするとき、発信元200に承認メッセージを送信し、
プログラミングが行われたことを示す。デスクトップ・コンピュータ16にIn
ternet Explorer4.0のようなウェブ・ブラウザを備えてある
場合、E部・ブラウザが次にスケジューラを呼び出し発信元とのインターネット
接続を確立する場合に、承認メッセージを発信元200に返送する。
【0161】 このように、本発明は、モバイル・デバイス18をプログラムすることができ
るデバイス/プロトコル/ネットワークに独立した機構を提供することが分かる
。また、本発明は、発信元200からモバイル・デバイス18に暗号化し安全に
送ることができるようにデータを暗号化する方法も提供する。この機構により、
発信元は、アドレス、グループ、キー、有効期間、およびマクロタグを含む、モ
バイル・デバイス18のあらゆる適当な部分をプログラムすることが可能となる
。また、本発明は、発信元に、プログラミングが完了した承認を供給するバック
チャネル確認も与える。
【0162】 以上好適な実施形態を参照しながら本発明について説明してきたが、本発明の
精神および範囲から逸脱することなく、形態および詳細において変更が可能であ
ることを当業者は認めよう。
【図面の簡単な説明】
【図1】 本発明によるシステムにおけるモバイル・デバイスの一実施形態を示す簡略ブ
ロック図である。
【図2】 図1に示すモバイル・デバイスの一実施形態の更に詳細なブロック図である。
【図3】 図2に示すモバイル・デバイスの一実施形態の簡略構成図である。
【図4】 図2に示すモバイル・デバイスの別の実施形態の簡略構成図である。
【図5】 本発明の一態様によるデスクトップ・コンピュータの一実施形態のブロック図
である。
【図6】 本発明の一態様による、発信元およびモバイル・デバイスの更に詳細なブロッ
ク図である。
【図7】 本発明の一態様による空中プログラミングを示すフロー図である。
【図8】 インターネットのようなグローバル・ネットワーク、またはワールド・ワイド
・ウェブを用いた、モバイル・デバイスのプログラミングを示すフロー図である
【図9】 図9Aは、本発明の一態様による暗号化方式の一部を示す図である。図9Bは
、本発明の一態様による暗号化方式の一部を示す図である。
【図10】 図10Aは、本発明の一態様による暗号化方式の別の部分を示す図である。図
10Bは、本発明の一態様による暗号化方式の別の部分を示す図である。
【図11】 図11Aは、本発明の一態様によるプログラミング・メッセージの準備を示す
図である。図11Bは、本発明の一態様によるプログラミング・メッセージの準
備を示す図である。
【図12】 図12Aは、本発明の一態様によるモバイル・デバイス上でのプログラミング
・メッセージの処理を示す図である。図12Bは、本発明の一態様によるモバイ
ル・デバイス上でのプログラミング・メッセージの処理を示す図である。
【手続補正書】
【提出日】平成13年3月8日(2001.3.8)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正内容】
【図2】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図5
【補正方法】変更
【補正内容】
【図5】
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】図6
【補正方法】変更
【補正内容】
【図6】
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図7
【補正方法】変更
【補正内容】
【図7】
【手続補正6】
【補正対象書類名】図面
【補正対象項目名】図8
【補正方法】変更
【補正内容】
【図8】
【手続補正7】
【補正対象書類名】図面
【補正対象項目名】図9
【補正方法】変更
【補正内容】
【図9】
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図10
【補正方法】変更
【補正内容】
【図10】
【手続補正9】
【補正対象書類名】図面
【補正対象項目名】図11
【補正方法】変更
【補正内容】
【図11】
【手続補正10】
【補正対象書類名】図面
【補正対象項目名】図12
【補正方法】変更
【補正内容】
【図12】
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 60/075,123 (32)優先日 平成10年2月13日(1998.2.13) (33)優先権主張国 米国(US) (31)優先権主張番号 09/108,953 (32)優先日 平成10年6月30日(1998.6.30) (33)優先権主張国 米国(US) (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),CA,JP (72)発明者 トゥニマン,デーヴィッド アメリカ合衆国ワシントン州98053,レッ ドモンド,ノース・イースト・シックステ ィファースト・ストリート 23044 (72)発明者 ゴールドシュミット,パメラ アメリカ合衆国ワシントン州98122,シア トル,イースト・ユニオン・ストリート 3612 (72)発明者 オリアリー,マイケル・ジェイ アメリカ合衆国ワシントン州98053,レッ ドモンド,ノース・イースト・フィフティ フォース・ストリート 22823 (72)発明者 カディク,ドン アメリカ合衆国ワシントン州98012,ボセ ル,サーティフォース・アベニュー・サウ ス・イースト 20022 Fターム(参考) 5B085 AE29 CA04 5B089 GA25 GB01 HA11 JB24 KA12 KA17 KB06 KC52 5J104 NA02 PA02 5K034 BB07 FF01 GG02 HH17 HH42

Claims (50)

    【特許請求の範囲】
  1. 【請求項1】 モバイル・デバイス上において、無線受信機に情報を転送し
    かつ該無線受信機から情報を転送する、前記モバイル・デバイス上のプログラミ
    ング・インターフェースであって、 前記無線受信機に配信するメッセージを受信するように構成したメッセージ処
    理コンポーネントと、 前記メッセージ処理コンポーネントに結合したドライバ・コンポーネントと、
    を含み、 前記メッセージ処理コンポーネントは、受信したメッセージ、前記無線受信機
    に転送するデータを収容する入力バッファの入力バッファ・ロケーション、前記
    入力バッファ内に収容する情報のバイト数、前記無線受信機から受信する情報を
    収容する出力バッファの出力バッファ・ロケーション、前記出力バッファ内に収
    容する情報の最大バイト数、および前記無線受信機から受信する実際のバイト数
    に基づいて、前記ドライバ・コンポーネントへの制御コールを実行し、実行する
    制御動作を指定するように構成してあり、 前記ドライバ・コンポーネントは、前記メッセージ処理コンポーネントから前
    記制御コールを受け取り、前記指定の制御動作を実行するように構成してある、
    プログラミング・インターフェース。
  2. 【請求項2】 前記制御動作は、前記無線受信機内に値をプログラムするプ
    ログラミング動作であり、前記制御コールはプログラミング・データ構造をドラ
    イバに渡し、該プログラミング・データ構造が、 前記プログラミング・データ構造のサイズを示す構造サイズ部と、 前記プログラミング・データ構造においてどの部分が有効かを示すマスク部と
    、 前記プログラミング動作が値をプログラムするのか、プログラムした値を解除
    するのかを示す動作コード部と、 プログラムする値または解除する値のタイプを示すタイプ・コード部と、 プログラムする値または解除する値を示すプログラム・データ部と、 前記プログラム・データの長さを示すプログラム・データ長部と、 を含む請求項1記載のプログラミング・インターフェース。
  3. 【請求項3】 前記タイプ・コード部が、プログラムする暗号キーまたは解
    除する暗号キーを示し、前記プログラム・データ部がキー・データ構造を備える
    請求項2記載のプログラミング・インターフェース。
  4. 【請求項4】 前記キー・データ構造が、 前記キー・データ構造のサイズを示す構造サイズ部と、 前記キー・データ構造の内どの部分が有効かを示すマスク部と、 前記暗号キーを示すキー部と、 前記暗号キーに対応する数値を示すキー番号部と、 前記暗号キーと共に用いる暗号アルゴリズムを示すアルゴリズム部と、 前記暗号キーの長さを示すキー長部と、 前記暗号キーを格納してあるロケーションを示すキー・タブ部と、 前記キータブ部の長さを示すキータグ長部と、 とを含む請求項3記載のプログラミング・インターフェース。
  5. 【請求項5】 前記モバイル・デバイスはアドレスを通じてメッセージを受
    信し、前記タイプ・コード部は、プログラムするアドレスまたは解除するアドレ
    スを示し、前記プログラム・データ部はアドレス・データ構造を備える請求項2
    記載のプログラミング・インターフェース。
  6. 【請求項6】 前記アドレス・データ構造が、 前記アドレス・データ構造のサイズを示す構造サイズ部と、 前記アドレスデータの内どの部分が有効かを示すマスク部と、 前記アドレスを示すアドレス部と、 前記アドレスに対応する数値を示すアドレス数値部と、 前記アドレスのステータスを示すステータス部と、 前記アドレス部に関連するタグを示すアドレス・タグ部と、 前記アドレスに関連する期限日を示す期限日部であって、該期限部以降に前記
    アドレスを通じて受信した後続のメッセージを破棄するようにする、期限日部、 前記アドレス・タグ部の長さを示すアドレス・タグ部と、 を含む請求項5記載のプログラミング・インターフェース。
  7. 【請求項7】 前記アドレス・データ構造が、更に、 前記アドレスを通じて受信したメッセージを解読する際に用いる暗号キーを格
    納してあるロケーションを示すキー・タグ部と、 前記キー・タグ部の長さを示すキー・タグ長部と、 を含む請求項6記載のプログラミング・インターフェース。
  8. 【請求項8】 前記アドレス・データ構造が、更に、 前記アドレスの記述名称を示すアドレス名称部と、 前記アドレスを通じて受信したメッセージのテキスト記述を示す説明部と、 前記アドレス名称部の長さを示すアドレス名長さ部と、 前記説明部の長さを示す説明長部と、 を備える請求項6記載のプログラミング・インターフェース。
  9. 【請求項9】 前記モバイル・デバイスは、アドレスと、該アドレスに対応
    するグループ・コードとを通じてメッセージを受信し、前記タイプ・コード部は
    、プログラムするグループ・コードまたは解除するグループ・コードを示し、前
    記プログラム・データ部は、グループ・コード・データ構造を備える請求項2記
    載のプログラミング・インターフェース。
  10. 【請求項10】 前記グループ・コード・データ構造が、 前記グループ・コード・データ構造のサイズを示す構造サイズ部と、 前記グループ・コード・データ構造の内どの部分が有効かを示すマスク部と、 前記グループ・コードを示すグループ・コード部と、 前記グループ・コードに対応する数値を示すグループ・コード数値部と、 前記グループ・コードのステータスを示すステータス部と、 前記グループ・コードに関連する期限日を示す期限日部であって、該期限日以
    降に前記グループ・コードを通じて受信した後続のメッセージを破棄するように
    した、期限日部と、 前記グループ・コードに関連するタグを示すグループ・コード・タグ部と、 前記アドレスに関連するタグを示すアドレス・タグ部と、 前記アドレス・タグ部の長さを示すアドレス・タグ長部と、 前記グループ・タグ部の長さを示すグループ・タグ長と、 を含む請求項9記載のプログラミング・インターフェース。
  11. 【請求項11】 前記グループ・コード・データ構造が、更に、 前記グループ・コードを通じて受信したメッセージを解読する際に用いる暗号
    キーを格納してあるロケーションを示すキー・タグ部と、 前記キー・タグ部の長さを示すキー・タグ長部と、 を含む請求項10記載のプログラミング・インターフェース。
  12. 【請求項12】 前記グループ・コード・データ構造が、更に、 前記グループ・コードの記述名称を示すグループ・コード名称部と、 前記グループ・コードを通じて受信したメッセージのテキスト記述を示す説明
    部と、 前記グループ・コード名称部の長さを示すグループ・コード名長さ部と、 前記記述部の長さを示す説明長部と、 を備える請求項11記載のプログラミング・インターフェース。
  13. 【請求項13】 前記モバイル・デバイスはキャリアからのアドレスを通じ
    てメッセージを受信し、前記タイプ・コード部は、プログラムするキャリア指定
    または解除するキャリア指定を示し、前記プログラム・データ部はキャリア・デ
    ータ構造を備える請求項2記載のプログラミング・インターフェース。
  14. 【請求項14】 前記キャリア・データ構造が、 前記キャリア・データ構造のサイズを示す構造サイズ部と、 前記キャリア・データ構造の内どの部分が有効かを示すマスク部と、 前記キャリアから前記メッセージを受信する無線周波数を示す周波数部と、 前記キャリアの名称を示す名称部と、 前記キャリアから受信するメッセージ・タイプの記述を示す説明部と、 前記モバイル・デバイスのユーザに関連する識別番号を示すユーザ識別部と、 前記ユーザ識別部の長さを示すユーザ識別長部と、 前記名称部の長さを示す名称長さ部と、 前記説明部の長さを示す説明長部と、 を含む請求項13記載のプログラミング・インターフェース。
  15. 【請求項15】 前記無線受信機には既存値が格納してあり、プログラミン
    グ・データ部が、複数のフィールドを有するプログラミング・データ構造を備え
    、各フィールドが前記無線受信機上の値に対応し、各フィールドが、前記無線受
    信機にプログラムする新たな値を収容し、前記プログラミング・データ構造内の
    前記フィールドが前記既存値に対応するフィールドを有さない場合、前記無線受
    信機上の既存値を不変のままとする請求項2記載のプログラミング・インターフ
    ェース。
  16. 【請求項16】 前記ドライバ・コンポーネントが、 前記指定の制御動作を実行する際に、前記ドライバが実行する関数の関数ライ
    ブラリを含む請求項1記載のプログラミング・インターフェース。
  17. 【請求項17】 前記関数ライブラリが、 前記制御コール内において前記ドライバ・コンポーネントに供給した情報に基
    づいて暗号キーを導出する暗号キー導出コンポーネントを含み、前記ドライバ・
    コンポーネントは前記暗号キー導出コンポーネントを利用して前記暗号キーを導
    出し、該暗号キーを前記ドライバ・コンポーネントのキー・ロケーションに格納
    し、前記キー・ロケーションを示すキー・ハンドルを前記メッセージ処理コンポ
    ーネントに戻す請求項16記載のプログラミング・インターフェース。
  18. 【請求項18】 前記関数ライブラリが、 前記制御コール内において前記ドライバ・コンポーネントに供給した情報を解
    読し、その有効性を確認する解読および有効性確認コンポーネントを含み、前記
    ドライバ・コンポーネントは前記解読および有効性確認コンポーネントを利用し
    て前記情報を解読しその有効性を確認して、前記情報が有効か否かを示す値を前
    記メッセージ処理コンポーネントに戻す請求項16記載のプログラミング・イン
    ターフェース。
  19. 【請求項19】 前記ドライバ・コンポーネントは、前記制御コールが指定
    する前記制御動作が行われたか否かを示す値を、前記メッセージ処理コンポーネ
    ントに戻すように構成してある請求項1記載のプログラミング・インターフェー
    ス。
  20. 【請求項20】 モバイル・デバイス上におけるコンピュータ読み取り可能
    媒体であって、該コンピュータ読み取り可能媒体は第1データ構造をその上に格
    納してあり、該第1データ構造が、 前記モバイル・デバイスがメッセージを受信する際に用いるアドレスを示すア
    ドレス情報部と、 前記アドレス部に関連するタグを示すアドレス・タグ部と、 前記アドレスに関連する期限日を示す期限日部であって、該期限日以降に前記
    アドレスを通じて受信した後続のメッセージを破棄するようにした、期限日部と
    、 前記アドレスを通じて受信した前記メッセージに関連する暗号キーを格納する
    、前記コンピュータ読み取り可能媒体のロケーションを示すキー・インデックス
    部と、 前記アドレスのステータスを示すステータス部と、 を備える、コンピュータ読み取り可能媒体。
  21. 【請求項21】 前記ステータス部は、前記アドレスがイネーブル状態か否
    かを示す請求項20記載のコンピュータ読み取り可能媒体。
  22. 【請求項22】 前記ステータス部は、前記アドレスを通じて受信したメッ
    セージが、前記メッセージを処理する時間を示す所定の優先度を有するか否かを
    示す請求項20記載のコンピュータ読み取り可能媒体。
  23. 【請求項23】 前記ステータス部は、前記アドレスを通じて受信したメッ
    セージが、所定の電力条件の下でのみイネーブルされるか否かを示す請求項20
    記載のコンピュータ読み取り可能媒体。
  24. 【請求項24】 前記第1データ構造が、 前記アドレスの記述名称を示すアドレス名称部を含む請求項20記載のコンピ
    ュータ読み取り可能媒体。
  25. 【請求項25】 前記第1データ構造が、前記アドレスを通じて受信した前
    記メッセージを記述する記述テキストを示す説明部を含む請求項20記載のコン
    ピュータ読み取り可能媒体。
  26. 【請求項26】 更に、前記モバイル・デバイス上に格納してある第2デー
    タ構造を備え、該第2データ構造が、 受信したメッセージを解読する際に用いる暗号キーを示す暗号キー部と、 前記メッセージを暗号化する際に用いる暗号アルゴリズムを示す暗号アルゴリ
    ズム部と、 前記暗号キーに関連するキー・タグを示すキー・タグ部と、 を含む請求項20記載のコンピュータ読み取り可能媒体。
  27. 【請求項27】 更に、前記モバイル・デバイス上に格納してある第3デー
    タ構造を備え、該第3データ構造が、 前記モバイル・デバイスがメッセージを受信する際に用いたサービス・グルー
    プ・コードを示すサービス・グループ・コード部と、 前記サービス・グループ・コードのステータスを示すステータス部と、 前記サービス・グループ・コードを通じて受信した前記メッセージに関連する
    暗号キーを格納する、前記コンピュータ読み取り可能媒体上のロケーションを示
    すキー・インデックス部と、 前記サービス・グループ・コードに関連する期限日を示す期限日部であって、
    該期限日以降に前記サービス・コードを通じて受信した後続のメッセージを破棄
    するようにした、期限日部と、 前記サービス・グループ・コードに関連するタグを示すサービス・グループ・
    タグと、 を含む請求項26記載のコンピュータ読み取り可能媒体。
  28. 【請求項28】 前記モバイル・デバイスが無線受信機を含み、前記第1、
    第2および第3データ構造を前記無線受信機上に格納する請求項27記載のコン
    ピュータ読み取り可能媒体。
  29. 【請求項29】 モバイル・デバイス上のコンピュータ読み取り可能媒体で
    あって、該コンピュータ読み取り可能媒体はデータ構造をその上に格納してあり
    、該データ構造が、 受信したメッセージを解読する際に用いる暗号キーを示す暗号キー部と、 前記メッセージを暗号化する際に用いる暗号アルゴリズムを示す暗号アルゴリ
    ズム部と、 前記暗号キーに関連するキー・タグを示すキー・タグ部と、 を備える、コンピュータ読み取り可能媒体。
  30. 【請求項30】 前記モバイル・デバイスは無線受信機を含み、前記データ
    構造を前記無線受信機に格納する請求項29記載のコンピュータ読み取り可能媒
    体。
  31. 【請求項31】 モバイル・デバイス上のコンピュータ読み取り可能媒体で
    あって、該コンピュータ読み取り可能媒体はその上にデータ構造を格納してあり
    、該データ構造が、 前記モバイル・デバイスがメッセージを受信する際に用いるサービス・グルー
    プ・コードを示すサービス・グループ・コード部と、 前記サービス・グループ・コードのステータスを示すステータス部と、 前記サービス・グループ・コードを通じて受信した前記メッセージに関連する
    暗号キーを格納する、前記コンピュータ読み取り可能媒体上のロケーションを示
    すキー・インデックス部と、 前記サービス・グループ・コードに関連する期限日を示す期限日部であって、
    該期限日以降に前記サービス・グループ・コードを通じて受信した後続のメッセ
    ージを破棄するようにした、期限日部と、 前記サービス・グループ・コードに関連するタグを示すサービス・グループ・
    タグと、 を備える、コンピュータ読み取り可能媒体。
  32. 【請求項32】 前記データ構造が、 前記サービス・グループ・コードの記述名称を示すサービス・グループ名称部
    を備える請求項31記載のコンピュータ読み取り可能媒体。
  33. 【請求項33】 前記データ構造が、 前記サービス・グループ・コードを通じて受信したメッセージを記述する記述
    テキストを示す説明部を備える請求項31記載のコンピュータ読み取り可能媒体
  34. 【請求項34】 各サービス・グループ・コードは、関連するアドレスを有
    し、該アドレスにしたがって、かつサービス・コード・グループにしたがって配
    置したロケーションに格納する請求項31記載のコンピュータ読み取り可能媒体
  35. 【請求項35】 前記モバイル・デバイスは無線受信機を含み、前記データ
    構造を前記無線受信機上に格納する請求項31記載のコンピュータ読み取り可能
    媒体。
  36. 【請求項36】 前記コンピュータ読み取り可能媒体は、キー・テーブルを
    含み、前記キー・インデックスは、前記暗号キーを保持する前記キー・テーブル
    内のロケーションを示す請求項31記載のコンピュータ読み取り可能媒体。
  37. 【請求項37】 発信元からモバイル・デバイスに情報を送信する送信シス
    テムであって、 送信する前記情報を受信し、送信メッセージを形成するように構成した発信コ
    ンポーネントと、 前記送信メッセージを受信するように構成した受信コンポーネントと、 前記受信コンポーネントには既知のベース・キーと、第1データ・ストリング
    と、前記送信する情報から得られるメッセージ特定データを含むデータ部とに基
    づいて、第1暗号キーを導出するように構成した第1暗号キー・コンポーネント
    と、 前記ベース・キーと、第2データ・ストリングと、前記データ部とに基づいて
    第2暗号キーを導出するように構成した第2暗号キー・コンポーネントと、 前記送信する情報を、前記第1暗号キーによってハッシュして署名を得て、前
    記情報および前記署名を前記第2暗号キーによって暗号化し、暗号化メッセージ
    を得るように構成した暗号化部と、 前記暗号化メッセージを暗号化していない形態の前記メッセージ特定データと
    合体する合体部と、 を備える送信システム。
  38. 【請求項38】 前記発信元が、 前記暗号化メッセージおよびメッセージ特定データを受信し、それにヘッダを
    追加して前記送信メッセージを得るように構成したヘッダ発生コンポーネントを
    備える請求項37記載の送信システム。
  39. 【請求項39】 前記第1暗号キー・コンポーネントは前記ベース・キーと
    、前記第1データ・ストリングと前記メッセージ特定データとをハッシュしてバ
    イアス値を得て、前記第1暗号キー・コンポーネントが、 前記バイアス値を受け取り、該バイアス値に基づいて前記第1暗号キーを発生
    するように構成したキー発生器を含む請求項37記載の送信システム。
  40. 【請求項40】 前記第1暗号キー・コンポーネントが、前記ベース・キー
    と、前記第2データ・ストリングと、前記メッセージ特定データとをハッシュし
    てバイアス値を得て、前記第2暗号キー・コンポーネントが、 前記バイアス値を受け取り、該バイアス値に基づいて前記第2暗号キーを発生
    するように構成したキー発生器を含む請求項37記載の送信システム。
  41. 【請求項41】 前記発信元が、 前記送信メッセージに対するチェックサムを算出し、該チェックサムをそれに
    添付するように構成したチェックサム・コンポーネントを含む請求項37記載の
    送信システム。
  42. 【請求項42】 前記受信コンポーネントが、 プロセッサ・コンポーネントと、 前記プロセッサ・コンポーネントに結合したドライバ・コンポーネントと、 を備え、 前記処理コンポーネントは、前記送信メッセージを受け取り、該送信メッセー
    ジを前記ドライバ・コンポーネントに渡すように構成してあり、前記ドライバ・
    コンポーネントは、前記ベース・キーと、前記第1および第2データ・ストリン
    グと、前記メッセージ特定データとから前記第1および第2暗号キーを導出し、
    前記送信メッセージを解読するように構成してある請求項41記載の送信システ
    ム。
  43. 【請求項43】 前記ドライバ・コンポーネントが、更に、 前記暗号化していない送信メッセージに対するチェックサムを算出し、該算出
    したチェックサムを、前記チェックサム・コンポーネントが算出した前記チェッ
    クサムと比較し、前記暗号化していないメッセージが有効か否か判定するように
    構成した有効性確認コンポーネントを備える請求項42記載の送信システム。
  44. 【請求項44】 前記モバイル・デバイスは、内部に値を格納してある無線
    受信機を含み、前記値が前記無線受信機の動作を決定し、前記送信メッセージが
    、前記無線受信機内の前記値をプログラムするプログラミング・メッセージを備
    える請求項37記載の送信システム。
  45. 【請求項45】 一方向無線受信機を有するモバイル・デバイスにプログラ
    ミング・データを送信するワイヤレス送信システムであって、 前記プログラミング・データを受け取り、該プログラミング・データを示すプ
    ログラミング・メッセージを形成するように構成した発信コンポーネントと、 前記発信元に選択的に結合可能であり、前記プログラミング・メッセージを前
    記モバイル・デバイスに送信するように構成した送信コンポーネントと、 前記プログラミング・メッセージを受け取り、これを前記無線受信機に供給し
    、前記プログラミング・メッセージを前記無線受信機に供給し終えたことに応答
    して承認メッセージを与えるように構成したモバイル・デバイス処理コンポーネ
    ントと、 前記モバイル・デバイス処理コンポーネントに結合してあるモバイル・デバイ
    ス同期コンポーネントと、 前記モバイル・デバイスに選択的に結合可能なデスクトップ計算デバイスであ
    って、当該デスクトップ計算デバイスへの前記承認メッセージの同期を取るよう
    に前記モバイル・デバイス同期コンポーネントと共に動作可能な、デスクトップ
    計算デバイスと、 前記発信元に選択的に結合可能であり、前記承認メッセージを前記発信元に渡
    すように構成したデスクトップ通信コンポーネントと、 を含むワイヤレス送信システム。
  46. 【請求項46】 前記発信コンポーネントが、 前記デスクトップ通信コンポーネントに選択的に結合可能であり、前記プログ
    ラミング・メッセージを前記デスクトップ計算デバイスに送信し、前記モバイル
    ・デバイス処理コンポーネントとの同期を取るように構成した発信元通信コンポ
    ーネントを備える請求項45記載のワイヤレス送信システム。
  47. 【請求項47】 前記送信コンポーネントが、 前記プログラミング・メッセージを前記無線受信機にブロードキャストするよ
    うに構成した無線送信機を備える請求項45記載のワイヤレス送信システム。
  48. 【請求項48】 前記送信コンポーネントが、 前記プログラミング・メッセージを前記受信機に送信するように構成したモデ
    ムを備える請求項45記載のワイヤレス送信システム。
  49. 【請求項49】 前記送信コンポーネントが、 前記モバイル・デバイス処理コンポーネントによって読み取り可能であり、前
    記プログラミング・メッセージを格納する可搬磁気記憶媒体を備える請求項45
    記載のワイヤレス送信システム。
  50. 【請求項50】 前記デスクトップ通信コンポーネントがグローバル・コン
    ピュータ・ネットワーク・ブラウザを備える請求項45記載のワイヤレス送信シ
    ステム。
JP2000527898A 1998-01-07 1999-01-07 プロトコル、デバイス、およびネットワークに独立してモバイル・デバイスにブロードキャストし、プログラムするシステム Expired - Fee Related JP4691252B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US7072098P 1998-01-07 1998-01-07
US60/070,720 1998-01-07
US7423698P 1998-02-10 1998-02-10
US60/074,236 1998-02-10
US7512398P 1998-02-13 1998-02-13
US09/108,953 1998-06-30
US09/108,953 US6282294B1 (en) 1998-01-07 1998-06-30 System for broadcasting to, and programming, a motor device in a protocol, device, and network independent fashion
US60/075,123 1998-11-10
PCT/US1999/000325 WO1999035591A2 (en) 1998-01-07 1999-01-07 A system for programming a mobile device in a protocol, device, and network independent fashion

Publications (2)

Publication Number Publication Date
JP2002501312A true JP2002501312A (ja) 2002-01-15
JP4691252B2 JP4691252B2 (ja) 2011-06-01

Family

ID=27490847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000527898A Expired - Fee Related JP4691252B2 (ja) 1998-01-07 1999-01-07 プロトコル、デバイス、およびネットワークに独立してモバイル・デバイスにブロードキャストし、プログラムするシステム

Country Status (6)

Country Link
US (4) US6282294B1 (ja)
EP (2) EP2381642A2 (ja)
JP (1) JP4691252B2 (ja)
CA (1) CA2315036A1 (ja)
DE (1) DE69941838D1 (ja)
WO (1) WO1999035591A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007151109A (ja) * 2005-11-24 2007-06-14 Samsung Electronics Co Ltd 多重客体伝送プロトコル支援方法及びその装置
JP2022134913A (ja) * 2021-03-04 2022-09-15 Jbアドバンスト・テクノロジー株式会社 サービス連携システム

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW432840B (en) * 1998-06-03 2001-05-01 Sony Corp Communication control method, system, and device
CA2319909A1 (en) * 1999-09-30 2001-03-30 Lucent Technologies Inc. Method and apparatus for supporting multiple mobile address schemes using object-oriented programming techniques
US7023572B2 (en) * 2000-02-02 2006-04-04 Raja Singh Tuli Portable high speed internet access device
US6633314B1 (en) * 2000-02-02 2003-10-14 Raja Tuli Portable high speed internet device integrating cellular telephone and palm top computer
US6874009B1 (en) 2000-02-16 2005-03-29 Raja Tuli Portable high speed internet device with user fees
JP2004501532A (ja) * 2000-03-29 2004-01-15 ヴァディアム テクノロジー インコーポレイテッド 鍵中央提供及びキー入力可能文字によるワンタイムパッド暗号化
US6990672B2 (en) 2000-06-30 2006-01-24 Research In Motion Limited System and method for an extendable mobile communications device user interface
JP3728655B2 (ja) * 2000-09-11 2005-12-21 シャープ株式会社 携帯端末装置およびプリンタ/スキャナシステム
US7191211B2 (en) 2000-10-03 2007-03-13 Raja Tuli Portable high speed internet access device priority protocol
US7343408B2 (en) * 2000-12-05 2008-03-11 Mformation Technologies, Inc. System and method for wireless data terminal management using telecommunication signaling network
US20020112047A1 (en) * 2000-12-05 2002-08-15 Rakesh Kushwaha System and method for wireless data terminal management using general packet radio service network
US20020112046A1 (en) * 2000-12-05 2002-08-15 Rakesh Kushwaha System and method for wireless data terminal management using mobitex network
US7224801B2 (en) * 2000-12-27 2007-05-29 Logitech Europe S.A. Wireless secure device
US7418254B2 (en) * 2001-02-20 2008-08-26 Microsoft Corporation Mobile communication device dynamic service application and dynamic service application scripting
US7584149B1 (en) * 2001-02-26 2009-09-01 American Express Travel Related Services Company, Inc. System and method for securing data through a PDA portal
DE10109546A1 (de) * 2001-02-28 2002-09-12 Siemens Ag Verfahren und Kommunikationssystem zum Bereitstellen eines Programm-Elements
US7305491B2 (en) * 2001-07-02 2007-12-04 Intellisync Corporation Techniques for handling time zone changes in personal information management software
US20030014755A1 (en) * 2001-07-13 2003-01-16 Williams Marvin Lynn Method and system for processing correlated audio-video segments with digital signatures within a broadcast system
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US7962622B2 (en) * 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
US6996537B2 (en) 2001-08-13 2006-02-07 Qualcomm Incorporated System and method for providing subscribed applications on wireless devices over a wireless network
JP2005502943A (ja) * 2001-08-14 2005-01-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ デバイスをプログラムするためのプログラミング情報を提供するための方法とシステム
US9203923B2 (en) 2001-08-15 2015-12-01 Qualcomm Incorporated Data synchronization interface
US7310424B2 (en) * 2001-08-22 2007-12-18 General Atomics Encryption key distribution and network registration system, apparatus and method
CA2737849C (en) * 2001-10-26 2017-01-24 Research In Motion Limited System and method for remotely controlling mobile communication devices
US7254716B1 (en) * 2002-02-13 2007-08-07 Lsi Corporation Security supervisor governing allowed transactions on a system bus
GB0210325D0 (en) * 2002-05-04 2002-06-12 Gaffney Philip M Secure data delivery
WO2004013782A1 (en) * 2002-07-31 2004-02-12 Truecontext Corporation Contextual computing system
US20040044623A1 (en) * 2002-08-28 2004-03-04 Wake Susan L. Billing system for wireless device activity
US8176428B2 (en) 2002-12-03 2012-05-08 Datawind Net Access Corporation Portable internet access device back page cache
US9232077B2 (en) * 2003-03-12 2016-01-05 Qualcomm Incorporated Automatic subscription system for applications and services provided to wireless devices
US7412058B2 (en) * 2003-03-18 2008-08-12 Delphi Technologies, Inc. Digital receiver and method for receiving secure group data
US7499548B2 (en) * 2003-06-24 2009-03-03 Intel Corporation Terminal authentication in a wireless network
SG137653A1 (en) * 2003-07-18 2007-12-28 Infocomm Dev Authority Of Sing Message system
KR101020913B1 (ko) 2003-07-28 2011-03-09 소니 주식회사 데이터 송신 장치, 데이터 사용 인정 방법, 데이터 수신 장치 및 방법, 및 기록 매체
FR2859558A1 (fr) * 2003-09-09 2005-03-11 France Telecom Procede de mise en relation d'une personne avec un communaute de personnes
EP1671511B2 (en) * 2003-09-26 2018-03-21 Telefonaktiebolaget LM Ericsson (publ) Enhanced security design for cryptography in mobile communication systems
US20050075673A1 (en) * 2003-10-07 2005-04-07 Warkentin Dwight H. Method and apparatus for controlling extra-systolic stimulation (ESS) therapy using ischemia detection
JP2005159905A (ja) * 2003-11-27 2005-06-16 Ntt Docomo Inc データ保存装置及び通信端末装置
KR100744531B1 (ko) * 2003-12-26 2007-08-01 한국전자통신연구원 무선 단말기용 암호키 관리 시스템 및 방법
US10043170B2 (en) 2004-01-21 2018-08-07 Qualcomm Incorporated Application-based value billing in a wireless subscriber network
US8520851B2 (en) * 2004-04-30 2013-08-27 Blackberry Limited Wireless communication device with securely added randomness and related method
US8090844B2 (en) * 2004-10-08 2012-01-03 Truecontext Corporation Content management across shared, mobile file systems
US8799242B2 (en) 2004-10-08 2014-08-05 Truecontext Corporation Distributed scalable policy based content management
US7467389B2 (en) * 2004-11-23 2008-12-16 Sybase, Inc. System and methodology providing service invocation for occasionally connected computing devices
EP1842140A4 (en) * 2005-01-19 2012-01-04 Truecontext Corp APPLICATIONS BASED ON MOBILE FORMS ORDERED BY RULES
US9350875B2 (en) 2005-05-31 2016-05-24 Qualcomm Incorporated Wireless subscriber billing and distribution
US9185538B2 (en) 2005-05-31 2015-11-10 Qualcomm Incorporated Wireless subscriber application and content distribution and differentiated pricing
CN1916890A (zh) * 2005-08-16 2007-02-21 鸿富锦精密工业(深圳)有限公司 分布式系统中组件的存储管理系统及方法
US7417546B2 (en) * 2005-12-12 2008-08-26 Cognos Incorporated Method and RFID system for providing a service
US9143622B2 (en) 2006-02-17 2015-09-22 Qualcomm Incorporated Prepay accounts for applications, services and content for communication devices
US9185234B2 (en) 2006-02-22 2015-11-10 Qualcomm Incorporated Automated account mapping in a wireless subscriber billing system
US8301888B2 (en) * 2006-03-27 2012-10-30 Kyocera Corporation System and method for generating secured authentication image files for use in device authentication
US8082260B2 (en) * 2007-01-31 2011-12-20 International Business Machines Corporation Handling content of a read-only file in a computer's file system
KR101520617B1 (ko) * 2007-04-17 2015-05-15 삼성전자주식회사 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치
US9009292B2 (en) * 2007-07-30 2015-04-14 Sybase, Inc. Context-based data pre-fetching and notification for mobile applications
US8204870B2 (en) * 2007-08-03 2012-06-19 Sybase, Inc. Unwired enterprise platform
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
US9154477B2 (en) * 2011-05-26 2015-10-06 First Data Corporation Systems and methods for encrypting mobile device communications
US10659959B2 (en) * 2014-11-12 2020-05-19 Blackberry Limited Enhanced cell broadcast service via secure group broadcast

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03262069A (ja) * 1989-12-18 1991-11-21 Hewlett Packard Co <Hp> 呼び出し装置
JPH0695807A (ja) * 1992-09-10 1994-04-08 Seiko Epson Corp コンピュータ
JPH07219878A (ja) * 1994-02-07 1995-08-18 Toshiba Corp 装置ドライバ及び計算機
JPH07509082A (ja) * 1992-07-31 1995-10-05 モトローラ・インコーポレイテッド 無線モデムから外部コンピュータにソフトウェア・プログラムをロードする方法および装置
JPH08237715A (ja) * 1994-12-05 1996-09-13 Motorola Inc 無線制御用ページャおよびそのための方法
JPH08275220A (ja) * 1995-03-27 1996-10-18 Hewlett Packard Co <Hp> 無線情報処理方法
JPH09269923A (ja) * 1995-06-12 1997-10-14 Pointcast Inc 情報及び広告分配システム及び方法
JP2003233541A (ja) * 1996-03-22 2003-08-22 Research Investment Network Inc リモート・プロキシ・システムおよび方法

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4724521A (en) 1986-01-14 1988-02-09 Veri-Fone, Inc. Method for operating a local terminal to execute a downloaded application program
AU615163B2 (en) 1987-01-02 1991-09-26 Motorola, Inc. System for over-the-air reprogramming of communication receivers
US5073767A (en) * 1989-12-05 1991-12-17 Motorola, Inc. Selective call receiver theft protection device
US5182553A (en) 1990-09-04 1993-01-26 Motorola, Inc. Communication receiver providing displayed operating instructions
US5222137A (en) 1991-04-03 1993-06-22 Motorola, Inc. Dynamic encryption key selection for encrypted radio transmissions
US5381138A (en) * 1991-10-31 1995-01-10 Motorola, Inc. Intelligent over-the-air programming
US5546077A (en) 1992-01-31 1996-08-13 Uniden America Corporation Remotely programmable pager
US5199072A (en) 1992-02-03 1993-03-30 Motorola, Inc. Method and apparatus for restricting access within a wireless local area network
WO1993016565A1 (en) 1992-02-10 1993-08-19 Motorola, Inc. Selective call receiver having user selectable addresses and functions
US5430759A (en) 1992-08-20 1995-07-04 Nexus 1994 Limited Low-power frequency-hopped spread spectrum reverse paging system
JPH0697931A (ja) 1992-09-14 1994-04-08 Fujitsu Ltd パーソナル通信端末登録制御方式
EP0592079A2 (en) 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5331634A (en) 1993-01-29 1994-07-19 Digital Ocean, Inc. Technique for bridging local area networks having non-unique node addresses
US5455863A (en) * 1993-06-29 1995-10-03 Motorola, Inc. Method and apparatus for efficient real-time authentication and encryption in a communication system
US5384847A (en) 1993-10-01 1995-01-24 Advanced Micro Devices, Inc. Method and apparatus for protecting cordless telephone account authentication information
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
JPH07141116A (ja) 1993-11-19 1995-06-02 Sony Corp 補助記憶装置
US5561702A (en) * 1994-01-18 1996-10-01 Uniden America Corporation Pager having remotely programmable canned messages
US5787172A (en) 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
US5481610A (en) 1994-02-28 1996-01-02 Ericsson Inc. Digital radio transceiver with encrypted key storage
WO1996007967A1 (en) 1994-09-09 1996-03-14 Medialink Technologies Corporation Interface including method and apparatus for remotely loading program code into the interface
US5513241A (en) 1994-09-12 1996-04-30 Seiko Communications Systems, Inc. Low cost acknowledge-back system for a pager using existing infrastructure
US5615268A (en) 1995-01-17 1997-03-25 Document Authentication Systems, Inc. System and method for electronic transmission storage and retrieval of authenticated documents
US5748738A (en) 1995-01-17 1998-05-05 Document Authentication Systems, Inc. System and method for electronic transmission, storage and retrieval of authenticated documents
US5603084C1 (en) * 1995-03-02 2001-06-05 Ericsson Inc Method and apparatus for remotely programming a cellular radiotelephone
US6044265A (en) * 1995-06-05 2000-03-28 Bellsouth Corporation Methods and apparatus for cellular set programming
US6088457A (en) * 1995-08-16 2000-07-11 Wireless Access Method and apparatus for over the air programming a communication device
US5701316A (en) * 1995-08-31 1997-12-23 Unisys Corporation Method for generating an internet protocol suite checksum in a single macro instruction
WO1997014236A1 (en) 1995-09-25 1997-04-17 Motorola Inc. Method and apparatus for relaying digitally signed messages
US5828311A (en) * 1995-10-10 1998-10-27 Telefonaktiebolaget L M Ericsson (Publ.) Circuitry and method for accessing a radio pager
DE69630973T2 (de) * 1995-11-06 2004-05-27 Motorola, Inc., Schaumburg Nachrichtenspeicherung in einem selektivrufempfänger
JPH09205662A (ja) 1996-01-26 1997-08-05 Nec Shizuoka Ltd 無線呼出受信装置
US5815807A (en) 1996-01-31 1998-09-29 Motorola, Inc. Disposable wireless communication device adapted to prevent fraud
WO1997041666A1 (en) * 1996-04-26 1997-11-06 Motorola Inc. Method and apparatus for securing programming information
GB2313519B (en) 1996-05-24 2000-07-12 Motorola Gmbh Method for configuring radio unit
US5764766A (en) * 1996-06-11 1998-06-09 Digital Equipment Corporation System and method for generation of one-time encryption keys for data communications and a computer program product for implementing the same
US5809428A (en) * 1996-07-25 1998-09-15 Mobile Telecommunication Technology Method and device for processing undelivered data messages in a two-way wireless communications system
AUPO323496A0 (en) * 1996-10-25 1996-11-21 Monash University Digital message encryption and authentication
US6134591A (en) * 1997-06-18 2000-10-17 Client/Server Technologies, Inc. Network security and integration method and system
US6064736A (en) * 1997-09-15 2000-05-16 International Business Machines Corporation Systems, methods and computer program products that use an encrypted session for additional password verification
US6079018A (en) * 1997-10-08 2000-06-20 Agorics, Inc. System and method for generating unique secure values for digitally signing documents
US6496928B1 (en) * 1998-01-07 2002-12-17 Microsoft Corporation System for transmitting subscription information and content to a mobile device
US6058107A (en) * 1998-04-08 2000-05-02 Motorola, Inc. Method for updating forward power control in a communication system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03262069A (ja) * 1989-12-18 1991-11-21 Hewlett Packard Co <Hp> 呼び出し装置
JPH07509082A (ja) * 1992-07-31 1995-10-05 モトローラ・インコーポレイテッド 無線モデムから外部コンピュータにソフトウェア・プログラムをロードする方法および装置
JPH0695807A (ja) * 1992-09-10 1994-04-08 Seiko Epson Corp コンピュータ
JPH07219878A (ja) * 1994-02-07 1995-08-18 Toshiba Corp 装置ドライバ及び計算機
JPH08237715A (ja) * 1994-12-05 1996-09-13 Motorola Inc 無線制御用ページャおよびそのための方法
JPH08275220A (ja) * 1995-03-27 1996-10-18 Hewlett Packard Co <Hp> 無線情報処理方法
JPH09269923A (ja) * 1995-06-12 1997-10-14 Pointcast Inc 情報及び広告分配システム及び方法
JP2003233541A (ja) * 1996-03-22 2003-08-22 Research Investment Network Inc リモート・プロキシ・システムおよび方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
菅原光宏: ""モバイル・マルチメディアへの挑戦"", モバイルコンピューティング’97シンポジウム論文集, vol. 97, no. 7, JPN6010041548, 12 September 1997 (1997-09-12), JP, pages 1 - 10, ISSN: 0001830911 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007151109A (ja) * 2005-11-24 2007-06-14 Samsung Electronics Co Ltd 多重客体伝送プロトコル支援方法及びその装置
JP2022134913A (ja) * 2021-03-04 2022-09-15 Jbアドバンスト・テクノロジー株式会社 サービス連携システム
JP7430659B2 (ja) 2021-03-04 2024-02-13 Jbアドバンスト・テクノロジー株式会社 サービス連携システム

Also Published As

Publication number Publication date
US6981137B2 (en) 2005-12-27
JP4691252B2 (ja) 2011-06-01
US20020049905A1 (en) 2002-04-25
US6952772B2 (en) 2005-10-04
EP1053525B1 (en) 2009-12-23
WO1999035591A3 (en) 1999-12-02
EP2381642A2 (en) 2011-10-26
US6282294B1 (en) 2001-08-28
WO1999035591A2 (en) 1999-07-15
US20020046343A1 (en) 2002-04-18
US20020053025A1 (en) 2002-05-02
DE69941838D1 (de) 2010-02-04
EP1053525A2 (en) 2000-11-22
CA2315036A1 (en) 1999-07-15

Similar Documents

Publication Publication Date Title
JP4691252B2 (ja) プロトコル、デバイス、およびネットワークに独立してモバイル・デバイスにブロードキャストし、プログラムするシステム
JP2002501334A (ja) 加入情報およびコンテンツをモバイル・デバイスに送信するシステム
JP4404480B2 (ja) 低ビット・レート伝送チャネルを通じてデータ・コンテンツを配信するシステム。
US6209111B1 (en) Error correction on a mobile device
US6493760B1 (en) Standalone device for identifying available document services in a token-enabled operating environment
US6601102B2 (en) Secure token-based document server
CN1522516B (zh) 多内容电子邮件的安全标题信息
US6430601B1 (en) Mobile document paging service
US8423763B2 (en) System and method for supporting multiple certificate status providers on a mobile communication device
US20030050963A1 (en) Method and apparatus for controlling document service requests using a mobile computing device
CN101395441A (zh) 用于提供密码签署的命令的方法
JP2004355562A (ja) 機器認証システム
KR20050084488A (ko) 전역 분배 네트워크에서 정보를 통신하기 위한 방법 및장치
US20040193601A1 (en) Method and contact list server for modifying the entry names in a contact list
US6920481B2 (en) Communications terminal
US20050216945A1 (en) Control content transmission method and streaming broadcasting system
US7735134B2 (en) Jumping application security system
JP3641588B2 (ja) 電子メッセージシステム、端末機器、情報処理装置、電子メッセージ通信方法、電子メッセージ通信プログラムを記録した機械読取可能な記録媒体および電子メッセージ通信プログラム
JPH1127311A (ja) 情報処理装置および電子メール方法ならびに記録媒体
CA2406568A1 (en) Method and apparatus for a universal encoding template for sms ecommerce messaging

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051130

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051130

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20090619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090619

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090812

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090819

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090911

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091013

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101110

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

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