JP2003223336A - 任意のコンポーネントに相互にデータを転送させるシステムおよび方法 - Google Patents

任意のコンポーネントに相互にデータを転送させるシステムおよび方法

Info

Publication number
JP2003223336A
JP2003223336A JP2003018254A JP2003018254A JP2003223336A JP 2003223336 A JP2003223336 A JP 2003223336A JP 2003018254 A JP2003018254 A JP 2003018254A JP 2003018254 A JP2003018254 A JP 2003018254A JP 2003223336 A JP2003223336 A JP 2003223336A
Authority
JP
Japan
Prior art keywords
data
computer
data transfer
component
transfer
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
JP2003018254A
Other languages
English (en)
Other versions
JP4424910B2 (ja
Inventor
Keith Edwards W
キース エドワーズ ダブリュ
Mark W Newman
ダブリュ ニューマン マーク
Jana Z Sedivy
ズィー セディヴィ ジャナ
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.)
Xerox Corp
Original Assignee
Xerox 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 Xerox Corp filed Critical Xerox Corp
Publication of JP2003223336A publication Critical patent/JP2003223336A/ja
Application granted granted Critical
Publication of JP4424910B2 publication Critical patent/JP4424910B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 相互の事前の知識を持たずに、任意のコンポ
ーネントにデータ転送を行わせるための方法とシステム
を提供する。 【解決手段】 一つまたは複数のデータ転送インタフェ
ースは、データソースインフェースとデータシンクイン
タフェースを含む。ユニバーサルインタフェースは、相
互に提供、実行され、異なる通信プロトコルを利用して
いても、あるいは異なるデータタイプを理解しても、コ
ンポーネントに相互にデータを転送させることができ
る。さらに、コンポーネントは他のコンポーネントに直
接データを要求し、また、他のコンポーネントから直接
データを受け取り、あるいは他のコンポーネントへのデ
ータの直接転送を開始することができる。さらに、ある
コンポーネントは、ひとつまたは複数の他のコンポーネ
ントとの間のデータ転送セッションを開始し、コンポー
ネントに相互にデータ転送させることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に、通信システ
ムと方法に関し、より詳しくは、任意のコンポーネント
に対し、モバイルコードを利用するひとつまたは複数の
ユニバーサルデータ転送インタフェースを使って、相互
にデータ転送させるシステムと方法に関する。
【0002】
【従来の技術および発明が解決しようとする課題】分散
型ネットワークをはじめとするデータ通信環境におい
て、異なるベンダ各社が具体的サービスのための多数の
製品を提供している。これまで、環境内の任意のコンポ
ーネントに相互に通信させるためには、これらのコンポ
ーネントがデータを送信または受信していたと仮定し
(以下、「転送データ」という)、所定のドメインごとの
プロトコルセットを指定することが必要であった。たと
えば、あるベンダが製造したデバイスは、上記のような
所定のプロトコルセットを使用しないと、別のベンダに
よるデバイスとの通信に問題がある。各ベンダーが必要
とする所定のプロトコルがそれぞれ異なるという問題
は、既存のプロトコル標準を採用することにより、ある
程度対処されてきた。しかしながら、複数の標準化機構
があるためプロトコル規格が異なる。
【0003】たとえば、コンピュータアプリケーション
またはプログラム、データ、メモリ、ファイルディレク
トリ、個人用ファイル、プリンタ、セルラーフォン、フ
ァクシミリ、コピー機、スキャナ、デスクトップコンピ
ュータ、ラップトップコンピュータ、携帯情報端末(P
DA)システム、その他の機器に代表される任意のコン
ポーネント同士が相互に関する事前の知識なく通信しよ
うとする場合、うまく通信するためには、ファイルシス
テムドメイン(たとえばNFS,CIFS)またはプリ
ンタドメイン(たとえばIPP,LPR)等、特定のド
メイン別のプロトコルを両者が事前に知っていなければ
ならない。ファイルシステムと通信しようとしているP
DA等、あるいはこれを行おうとしているプリンタをは
じめとする任意のコンポーネントは、上記のような標準
的なプロトコルのひとつまたは複数を理解するよう明確
にプログラムされていなければならない。その例とし
て、特定ドメインのプリンタドライバをインストールす
ることにより、プリンタを理解するようプログラムしな
ければならないコンピュータデバイスまたはアプリケー
ションが挙げられる。デバイスまたはアプリケーション
がプリンタとの通信、使用方法を理解するようプログラ
ムされていると、一般に、ドライバはそのデバイスまた
はアプリケーションが特定のタイプのプリンタにのみア
クセスできるようにし、すべてのプリンタについて汎用
的に用いることはできない。したがって、新しい未知の
コンポーネントが等式に入ってくると、アプリケーショ
ンはその新コンポーネントと通信するために使用する、
新たな標準化プロトコルを理解するよう再プログラムし
なければならない。上記のコンピュータとプリンタの例
で言えば、新たなタイプのプリンタを導入した場合、コ
ンピュータデバイスは、新しいプリンタ専用のプリンタ
ドライバをインストールすることにより新しいプリンタ
とデータ転送できるようにプログラムしなおす必要があ
る。したがって、各アプリケーションは、そのプロトコ
ルと関連するコンポーネントと通信するための事前のな
特定の標準化プロトコルセットを使用するよう明確に書
かれていなければならない。
【0004】カリフォルニア州パロアルトのサン・マイ
クロシステムズが開発したJini(登録商標)は、す
べての引用によって本明細書に援用する文献、カリフォ
ルニア州パロアルト、サン・マイクロシステムズ(登録
商標)による2000年の「Jini(登録商標)テク
ノロジーのヘルパ、ユーティリティおよびサービスに関
する仕様」、1−214ページ、カリフォルニア州プロ
アルトのサン・マイクロシステムズ(登録商標)による
2000年の「Jini(登録商標)テクノロジーのコ
アプラットフォームの仕様」、1−126ページにおい
て説明されている。この、ドメインごとのインタフェー
スを利用するJini(登録商標)のようなシステムに
おいて、PDA(携帯情報端末)システム等のコンポー
ネントがプリンタ等の別のコンポーネントと通信するた
めには、PDAシステムは、プリンタのプログラム上の
インタフェースのセマンティックス(semantics)に関
する事前の知識を含んでいなければならない。言い換え
れば、印刷方法をわかっているコンポーネントでも、そ
れが特定のコンポーネントに関するインタフェースとの
通信方法がわかるよう明確にプログラムされていないか
ぎり、ファイルシステム、スキャナまたはネットワーク
翻訳サービス間のデータ転送方法はわからないかもしれ
ない。
【0005】
【課題を解決するための手段】本発明による、コンポー
ネントに相互にデータ転送させるためのシステムは、ユ
ニバーサルデータ転送インタフェースを有する第一のコ
ンポーネントと、そのユニバーサルデータ転送インタフ
ェースに、データ転送セッションオブジェクトを使用し
て第一のコンポーネントと少なくともひとつのコンポー
ネントとの間でデータを転送させる第二のコンポーネン
トを備える。
【0006】本発明による、コンポーネントに相互にデ
ータ転送させるためのシステムは、第一のユニバーサル
データ転送インタフェースを有する第一のコンポーネン
トと、第二のユニバーサルデータ転送インタフェースを
有する第二のコンポーネントと、第一のユニバーサルデ
ータ転送インタフェースと第二のユニバーサルデータ転
送インタフェースに、データ転送セッションオブジェク
トを使用して第一のコンポーネントと第二のコンポーネ
ントとの間でデータを転送させる第三のコンポーネント
を備える。
【0007】本発明による、コンポーネントに相互のデ
ータ転送を行わせる機械によって実行可能な命令プログ
ラムを有形に具体化した、機械判読可能なプログラム記
憶方法とプログラム記憶装置は、ユニバーサルデータ転
送インタフェースにデータ転送セッションオブジェクト
を取得させるステップと、そのデータ転送セッションオ
ブジェクトを使って、第一のコンポーネントと少なくと
もひとつのコンポーネントとの間でデータを転送させる
ステップを含む。
【0008】本発明による、コンポーネントに相互のデ
ータ転送を行わせる機械によって実行可能な命令プログ
ラムを有形に具体化した、機械判読可能なプログラム記
憶方法とプログラム記憶装置は、第一のユニバーサルデ
ータ転送インタフェースと第二のユニバーサルデータ転
送インタフェースを呼び出すステップと、呼び出された
第一のユニバーサルデータ転送インタフェースまたは第
二のユニバーサルデータ転送インタフェースの一方から
データ転送セッションオブジェクトを取得するステップ
と、そのデータ転送セッションオブジェクトを使用し
て、第一のコンポーネントと第二のコンポーネントとの
間でデータ転送するステップを含む。
【0009】本発明により、同じまたは異なる通信プロ
トコルまたはデータタイプを有するコンポーネントが、
ドメインごとのインタフェース、プロトコル、データフ
ォーマットの事前の知識を持つことなく、相互にデータ
を転送することができる。
【0010】
【発明の実施の形態】図1に、本発明のひとつの実施形
態による、任意のコンポーネントに相互にデータ転送さ
せるためのシステム10を示す。この特定の実施形態に
おいて、システム10はコンピュータ20、プリンタ2
1、携帯情報端末(PDA)22、サーバ23、ファク
シミリ24(以下、「コンポーネント20−24」とい
う)を備える。ひとつの実施形態による方法は、コンピ
ュータ20が、コンポーネント21−24のひとつまた
は複数と関連するユニバーサルデータ転送インタフェー
スのひとつ(つまり、データソースインタフェースまた
はデータシンクインタフェース)を取得するステップ
と、取得したユニバーサルデータ転送インタフェースの
ひとつまたは複数に、コンポーネント20−24の間で
データ転送させるステップを含む。本発明により、同じ
または異なる通信プロトコルまたはデータタイプを使用
するコンポーネント20−24は、ドメインごとのイン
タフェース、プロトコルまたはデータフォーマットを事
前に知ることなく、相互間でデータ転送することができ
る。本発明により、コンポーネント20−24は他のコ
ンポーネント20−24とのデータ転送セッションを開
始することも可能となる。
【0011】さらに詳しく図1を参照すると、コンピュ
ータ20はこの特定の実施形態において、コンポーネン
ト21−24の各々と動作的に接続されているが、より
多いまたは少ないコンポーネント数による、別の接続配
置や構成も可能である。たとえば、システム10は、他
のコンポーネント21−24のひとつまたは複数と直接
接続されたコンポーネント21−24のひとつまたは複
数を有してもよいし(たとえばピア・トゥー・ピアシス
テム)、システム10は、相互に接続されたコンポーネ
ント20と21を有してもよい。
【0012】コンポーネント20−24は、デジタル構
内自動電話交換システム(PBX)を通じた、公共交換
電話線を使用する従来のダイヤルアップ通信システムや
回線ベースの電話通信プロトコルを使って相互に通信す
ることができる。図にはひとつのタイプの通信システム
とプロトコルが示されているが、別の各種の通信システ
ムまたはプロトコルを使用することができる。たとえ
ば、衛星信号、電波、マイクロウェーブまたは赤外線信
号等の信号を利用するローカルエリアネットワーク(L
AN)、ワイドエリアネットワーク(WAN)および移
動または衛星通信ネットワークシステムに代表される通
信システムまたはネットワークアーキテクチャを使用で
きる。さらに、xDSL,ISDN,TCP/IPまた
はRFC,OSI機関が定義するプロトコル等、データ
伝送のための各種通信プロトコルも利用可能である。使
用するプロトコルの種類は、特定のコンポーネントが使
用する通信システムの種類、コンポーネントの種類(た
とえば、プリンタかスキャナか)、またはコンポーネン
トが動作するネットワーク環境の種類(たとえば、UN
IX(登録商標)動作環境)によって異なる。コンポー
ネント20−24は、ひとつまたは複数の通信プロトコ
ルを使用できる。さらに、図1の矢印は、コンポーネン
ト20−24間の通信の流れを示す。
【0013】図2を参照すると、この実施形態におい
て、コンピュータ20は中央処理ユニット(CPU)3
0、メモリ32およびI/Oユニット34を備え、これ
らはバス36によって相互に接続されているが、コンピ
ュータ20は、本発明のひとつまたは複数の方法を実行
するための命令を記憶、処理、実行できるどのようなタ
イプのデバイスまたはシステムを備えていてもよい。一
例にすぎないが、コンピュータ20は、スキャナ、携帯
電話、表示デバイス、ビデオ入力/出力デバイス、オー
ディオ入力/出力デバイス、遠隔コントロールデバイス
または器具を備えてもよい。コンピュータ20は、本発
明のひとつまたは複数の方法を行うための命令を実行す
るハード配線による回路を有するどのようなタイプのデ
バイスでもよい。コンピュータ20は、それが動作する
環境に関する命令を実行する。この環境は、たとえば1
974年アディソン−ウェズリー出版社発行のW.リチ
ャード・スティーブンスによる「UNIX(登録商標)
環境における高度なプログラミング」に記載されたUN
IX(登録商標)環境である。この文献は、引用をもっ
てすべてを本明細書に援用する。この実施形態におい
て、コンピュータ20は他のコンポーネント21−24
のいずれとも同じ通信プロトコルを使用していないが、
コンピュータが他のコンポーネント21−24のいずれ
かと同じ通信プロトコルを使用する別の実施形態もあ
る。一例にすぎないが、コンピュータ20はデータ転送
のための第一の種類の通信プロトコルを使用してUNI
X(登録商標)環境で動作し、第二の種類の通信プロト
コルを使用してマイクロソフト・ウィンドウズ(登録商
標)環境で動作することもできる。
【0014】CPU30は、インテル・ペンティアム
(登録商標)プロセッサのようなプロセッサを備える。
CPU30は、本明細書で説明、図示される、本発明に
よる任意のコンポーネントに相互にデータ転送させるた
めの方法に関する、記憶された命令の少なくともひとつ
のプログラムを実行する。CPU30はまた、データ、
メモリ、ファイルディレクトリ、個人用ファイル、ワー
ドプロセシングアプリケーション、会計アプリケーショ
ンまたはエンジニアリンクアプリケーションを提供する
ような、ネットワークサービスを含むその他の作業に関
する命令も実行できる。その結果、これらのアプリケー
ションのひとつが実行されると、スプレッドシートを作
成する等の作業の命令および本発明の方法のひとつまた
は複数を実行するための命令が、コンピュータ20のC
PU30によって実行される。命令は、BASIC、P
ascal、C、C++、C#、Java(登録商
標)、Perl、COBOL、FORTRAN、アセン
ブリ言語、機械記号言語またはCPU30が理解し、実
行することのできるコンピュータコードまたは言語をは
じめとする、さまざまなコンピュータプログラミング言
語で書かれた実行可能なプログラムとして表現できる。
【0015】メモリ32は、ハードディスク、フロッピ
ー(登録商標)ディスク、コンパクトディスク(C
D)、デジタルビデオディスク、磁気テープ、光ディス
ク、強誘電体メモリ、リードオンリーメモリ、ランダム
アクセスメモリ、電気的消去可能プログラマブルリード
オンリーメモリ、フラッシュメモリ、消去可能リードオ
ンリーメモリ、スタティックランダムアクセスメモリ、
ダイナミックランダムアクセスメモリ、強磁性体メモ
リ、電荷結合デバイス、スマートカードまたはその他の
種類のコンピュータ判読可能媒体等、CPU30によっ
てアクセスできるあらゆるタイプの固定または移動型メ
モリデバイスを備えることができる。メモリ32は、C
PU30が実行するための、本発明のひとつの実施形態
による、任意のコンポーネントに相互にデータ転送させ
る方法に使用する命令38を記憶するが、これらの命令
の全部または一部を別の場所に記憶してもよい。ユニバ
ーサルインタフェースまたはデータオブジェクトのひと
つまたは複数のグループをメモリ32に記憶し、本発明
の実行中にCPU30が必要に応じて読み出すこともで
きる。これについては詳しく後述する。この実施形態に
おいては、CPU30とメモリ32は物理的に同じ場所
にあるが、図1に示すサーバ23等、異なる場所にあっ
てもよい。
【0016】コンピュータ20は、I/Oユニット34
を使ってコンポーネント21−24と通信する。この実
施形態において、I/Oユニット34は、コンピュータ
20をコンポーネント21−24に動作的に接続するの
に十分なポートを有する、あらゆる種類のイーサネット
(登録商標)ベースのデバイスに代表されるルータを備
えてもよい。
【0017】図1に戻ると、プリンタ21は、たとえば
印刷媒体上にグラフィクスによる表現を載せることので
きる従来の印刷デバイスを備える。プリンタ21等のデ
バイスは当業界で周知であるため、ここではプリンタ2
1内の配置と動作について詳しく説明しない。
【0018】PDA22は、電話、ファクシミリ通信ま
たはネットワーキング等の機能を果たす従来のハンドヘ
ルドデバイスである。PDA22等のデバイスは当業界
で周知であるため、ここではPDA22なイブの物理的
要素、その配置、動作について詳しく説明しない。
【0019】サーバ23は、ひとつまたは複数のCP
U、メモリ、I/Oユニット、ひとつまたは複数の記憶
媒体を有する従来のコンピュータシステムであり、記憶
媒体はバスによって相互に接続され、本発明のひとつま
たは複数の実施形態によって命令を記憶、処理するため
にサーバ23によって使用される。これについてさらに
説明する。サーバ23等のデバイスは当業界で周知であ
るため、ここではサーバ23内部の配置と動作について
詳しく説明しない。
【0020】ファクシミリ24は、電話回線またはネッ
トワーク上で絵やテキストを送受信できる従来のファク
シミリである。ファクシミリ24等のデバイスは当業界
で周知であるため、ここではファクシミリ24内部の配
置と動作について詳しく説明しない。
【0021】図3において、コンピュータ20は、図1
について上述したように、PDA22に接続されてい
る。PDA22は、メモリに記憶されているか、あるい
はたとえばアクセシングサーバ23によってアクセスさ
れ(以下、「関連している」という)、ユニバーサルイ
ンタフェースセット22aは、データソースインタフェ
ース、コンテクストインタフェース、ノーティフィケー
ションインタフェースおよびユーザインタフェースを含
む。具体的な数または組み合わせのインタフェースは、
PDA22がどのような種類のデバイスか、またそれに
よって望まれる、または提供される能力またはサービス
によって異なる。また、PDA22、従ってユニバーサ
ルインタフェースセット22aはいつでもアップデート
し、インタフェースの追加、削除、変更が可能である。
また、コンピュータ20はPDA22と関連するインタ
フェースにアクセスするようプログラムされている。同
様に、PDA22は、コンピュータ20と関連するひと
つまたは複数のインタフェース(図示せず)にアクセス
できる。
【0022】コンピュータ20は、データオブジェクト
22bを通じてユニバーサルインタフェースセット22
aにアクセスし、ここで説明するように、異なるタイプ
の通信を行うことができる。ユニバーサルインタフェー
スセット22aの各インタフェースは、命令、処理セッ
トまたはその他のデータを含み、コンピュータ20はこ
れを理解、実行し、PDA22との通信、データ転送
(データの送受信)を行い、PDA22とコンテクスト
情報を交換し、コンピュータ20にPDA22に関する
イベントノーティフィケーションを提供する、あるいは
コンピュータ20が、コンピュータ20のユーザにPD
A22へアクセスし、またこれを操作させるためにユー
ザインタフェースを受けることができる。一般に、ユニ
バーサルインタフェースセット22aの各インタフェー
スは、PDA22について特定ドメインのものではな
い。
【0023】特に、データソースインタフェースは、g
etSourceDataFlavor()処理および
beginTransferSession()処理
等、複数の処理を含む。さらに、データソースインタフ
ェースは、コンピュータがPDA22からのデータを受
信できるようにデータ転送セッションを確立するため
に、コンピュータ20によって実行される命令とデータ
を含む。getSourceDataFlavor()
処理は、PDA22が転送できるデータのタイプを決定
するために、コンピュータ20によって実行される命令
とデータを含む。この特定の実施形態において、コンピ
ュータ20はgetSourceDataFlavor
()処理を実行し、これがPDA22によってサポート
されるひとつまたは複数のデータタイプのリストを返
す。さらに、この実施形態におけるデータのタイプは、
通常、MIMEデータタイプである。たとえば、上記の
動作を実行した後、コンピュータ20はPDA22が
“JPEG”フォーマットのデータをサポートすると判
断する。beginTransferSeccio
n()処理は、PDA22に対し、データオブジェクト
22bを通じてコンピュータ20にデータ転送セッショ
ンオブジェクト22cを返すことによってデータを受信
するようにデータ転送セッションを確立するよう要求す
るために、コンピュータ20によって実行される命令と
データを含む。また、beginTransferSe
ssion()処理は、呼び出されたときに、コンテク
ストパラメータ、初期リース持続時間パラメータおよび
データフレーバパラメータ等のパラメータを受け取る。
この実施形態において、コンピュータ20は、begi
nTransferSeccion()処理を呼び出す
ときに、この動作にコンテクストパラメータを渡し、P
DA22に対してコンピュータ20を識別させるため、
PDA22に対してコンピュータ20のユーザを識別さ
せるため、PDA22に対してネットワーク上のコンピ
ュータ20の位置を識別させるため、あるいはセキュリ
ティのため等、各種の理由でその識別をPDA22に知
らせる。PDA22は、コンテクストパラメータにおい
て提供される識別情報に基づいて、コンピュータ20に
データを転送するか否かを決定する。さらに、データ転
送セッションはリース(lease)され、したがって、b
eginTransferSession()処理に渡
された初期リース持続時間パラメータにおいて特定され
た値に対応する時間間隔でコンピュータによって定期的
に更新し、データ転送セッションをアクティブな状態に
保つ必要があるが、セッションをリースする必要のない
別の実施形態もある。セッションがリースされる場合は
必ず、コンピュータ20がリースされたPDA22を更
新しないと、コンピュータ20がクラッシュした、また
はその他リーチ不可能な状態になったためにリースの更
新を行わなかったとの前提に立って、コンピュータ20
へのデータ転送が停止される。また、getSourc
eDataFlavor()処理を実行することによっ
て、PDA22がひとつまたは複数のタイプのデータを
サポートすると判断された場合、データフレーバパラメ
ータがbeginTransferSession()
処理に渡される。コンピュータ20は、各種の理由によ
り、データフレーバパラメータに好ましいデータタイプ
の値を提供する。たとえば、コンピュータ20とPDA
22が複数の互換性のあるデータタイプをサポートする
場合、コンピュータ20はそのパラメータを使用して、
データ転送のために好ましいデータタイプを特定する。
この実施形態において、コンピュータ20は、たとえ
ば、コンピュータ20のユーザに好ましいデータタイプ
を表示させる、コンピュータ20とPDA22との間で
互換性のあるデータタイプのひとつをランダムに選択す
る、あるいは転送される特定のデータにとって最も効率
のよいデータタイプを選択する等、さまざまな方法を使
って好ましいデータを決定している。
【0024】コンテクストインタフェースは、コンピュ
ータ20がPDA22からコンテクスト情報を読み出す
ために実行することのできる命令とデータを含む。この
実施形態において、コンテクスト情報はPDA22のメ
モリの中に、ハッシュテーブルに似た多値データ構造と
して記憶されるが、コンテクスト情報は他のフォーマッ
トで記憶してもよい。また、この実施形態において、コ
ンテクスト情報は、そのデバイスはどのようなタイプ
か、動作状態、識別、位置、管理ドメインまたはその他
の環境データのタイプ等、PDA22に関する情報を含
む。別の実施形態において、コンテクスト情報はサーバ
23等の別の物理的な場所に記憶することも可能であ
る。
【0025】ノーティフィケーションインタフェース
は、register()処理を含み、これはひとつま
たは複数のパラメータを受けて、コンピュータ20がP
DA22によって発生されるイベントに関する非同期ノ
ーティフィケーションを受け取るためにコンピュータに
よって実行される。コンピュータ20は同期ノーティフ
ィケーションを受け取ることもできる。コンピュータ2
0はregister()処理を実行し、これにコンテ
クストパラメータ、コンポーネントパラタ、初期リース
持続時間パラメータを渡す。コンテクストパラメータ
は、たとえば、PDA22がセキュリティのため、また
は記録をとるためにコンピュータ20にノーティフィケ
ーションを送信するか否か判断することができるように
する等、各種の理由でPDA22にコンピュータ20の
識別を提供する。コンポーネントパラメータは、PDA
22において発生したイベントの通知を受けることが望
ましいコンピュータ20を識別する。さらに、イベント
登録はリースされ、コンピュータ20はイベント登録を
アクティブのままにするために、初期リース持続時間パ
ラメータにおいて特定される値に対応する時間間隔で、
定期的に更新しなければならない。コンピュータ20が
リースを更新しないと、ノーティフィケーションインタ
フェースは、コンピュータがクラッシュした、またはそ
の他リーチ不能となったためにリースを更新しなかった
との前提に立ち、発生されたイベントに関するノーティ
フィケーションをコンピュータ20に提供するPDA2
2の義務を解除する命令を含む。コンピュータ20が、
register()処理を実行することによってPD
A22に自分を登録すると、PDA22の中に、それが
ノーティフィケーションインタフェースと関連する動作
において提供された命令に従ってコンピュータ20に通
知すべき状況が発生した場合、PDA22はイベントノ
ーティフィケーションオブジェクトをコンピュータ20
に送信する。コンピュータ20は次に、後に詳述するユ
ーザウィンドウを発生させ、イベント情報をユーザに表
示する。たとえば、PDA22がプリンタであり、コン
ピュータ20がワードプロセシングアプリケーションで
あった場合、PDA22は、プリンタの中で紙詰まりが
発生した場合に、コンピュータ20にイベントノーティ
フィケーションを提供することができる。さらに、この
例において、コンピュータ20は、グラフィカルユーザ
インタフェース(GUI)を使って、イベントノーティ
フィケーション(例えば紙詰まり等)を表示することも
できる。
【0026】ユーザインタフェースは、getU
I()、getState()、setState()
処理を含み、これらの処理は、コンピュータ20のユー
ザにPDA22の追加機能を提供し、これを利用するた
めにPDA22をアクセスまたは操作できるようにする
ための、PDA22に専用のユーザウィンドウを読み出
す、または発生させるよう、コンピュータ20によって
実行される命令とデータを含む。この実施形態におい
て、getUI()処理は、コンピュータ20によって
呼び出されると、ユーザがどのタイプのユーザウィンド
ウを発生させたいかを示すパラメータを受ける。これに
ついては後に詳述する。getUI()処理は、PDA
22からコンピュータ20に、ユーザウィンドウを発生
する、または呼び出すためのユーザウィンドウまたは命
令を返し、このユーザウィンドウについてはコンピュー
タ20により、たとえばユーザに対してユーザウィンド
ウを表示するようインスタンスが生成される。getS
tate()処理は、状態トークンオブジェクトをPD
A22からコンピュータ20に返すように要求するため
の命令とデータを含む。状態トークンオブジェクトは、
コンピュータ20に関して不透明オブジェクトであり、
これはPDA22に固有のものであり、さらにPDA2
2の現在の状態(たとえば、デバイスの設定または構
成)を含めることができるが、状態トークンオブジェク
トはコンピュータ20に関して透明であってもよく、こ
の場合、コンピュータ20はPDA22の状態トークン
オブジェクトを理解することができる。さらに、PDA
22は、それがどの種類のデバイスか(たとえば、プリ
ンタまたはワードプロセシングアプリケーション)によ
って、異なる種類の状態トークンオブジェクトを使用す
ることができる。またさらに、PDA22は、特定の構
成を指すポインタまたはURL等、さまざまな方法で各
々の状態トークンオブジェクトを記号化できる。あるい
は、状態トークンオブジェクトは、PDA22の現在の
状態を示すものを含んでもよい。さらに、setSta
te()処理は、その状態トークンオブジェクトに含ま
れる構成データを使ってユーザウィンドウを発生させる
ために、コンピュータ20によって実行される命令とデ
ータを含む。コンピュータ20は、それが呼び出された
ときに状態トークンオブジェクトをsetStat
e()処理にパラメータとして渡し、PDA22はこれ
を使って、状態トークンオブジェクトに含まれる記憶済
み構成を有するユーザウィンドウを読み出す、または発
生させるためにコンピュータ20によって実行される命
令とデータを返す。setState()処理はまた、
コンピュータ20によって呼び出され、ユーザ用のユー
ザウィンドウを作らずに、PDA22の状態をリセット
する。
【0027】上記のインタフェースの各々とその中の関
連する動作および後述するその他のインタフェースはモ
バイルコードを含む。モバイルコードは、これを実行す
るコンピュータ20に転送されることのできる実行可能
データである。たとえば、Java(登録商標)はイン
ターネットで広く使用されている実行可能なコンテンツ
(つまり、モバイルコード)を実現したものである。ユ
ーザは、たとえばインターネットからモバイルコードを
ダウンロードし、ごく一般的なプログラミング言語を使
って書かれたプログラムをその場で実行することができ
る。この実施形態において、モバイルコードはオブジェ
クト指向モバイルコードであり、これは、プログラミン
グ分野においてはよく知られており、データタイプが関
連する手順または一連の命令に沿って定義できる。この
場合のデータタイプはクラスと呼ばれる。このように、
一連の手順(プロシージャ)または命令は、ひとつまた
は複数のデータタイプと関連する。さらに、それと関連
する特定のデータタイプに応じて対応する命令を実行す
る手順または一連の命令を識別するように、同じ名前ま
たは識別子を割り当てることができ、これらはしばしば
多相性と呼ばれる。このように、一例にすぎないが、ド
ロー手順を実行し、それが呼び出されたときに手順に提
供される、あるいは渡されるデータのタイプに応じて、
円または長方形を描くことができる。さらにこの例にお
いて、円形のデータタイプが、たとえば半径座標を定義
し、ドロー手順が呼び出され、関係データタイプがドロ
ー手順に渡されると、ドロー手順は、ドロー手順と関連
するその他のデータタイプを継承し、それに提供された
データを使って、円を書くための適当な手順または一連
の命令を実行する。この実施形態において、ユニバーサ
ルインタフェースセット22aがコンピュータ20に提
供されると、コンピュータ20は手順、命令セットおよ
び特定のインタフェースと関連するその他のデータにア
クセスし、実行できる。これについては後に詳しく説明
する。さらに、可変値、パラメータ、データがユニバー
サルインタフェースに渡される、または提供され、所望
の特定の通信タイプに応じて、コンピュータ20によっ
て相応に理解され、利用される。また、インタフェース
は命令または他のインタフェースへの参照セットを有
し、コンピュータはそれに従ってデータを利用する、あ
るいは命令を実行する。
【0028】コンピュータ20はまた、データオブジェ
クト22bを取得することなく、ユニバーサルインタフ
ェースセット22aに含まれるインタフェースの各々に
直接アクセスし、本明細書で説明するいろいろな種類の
通信を行うことができる。さらに、ユニバーサルインタ
フェースセット22a内のインタフェースの各々は、同
じ命令、動作セットまたはその他のデータを含み、コン
ピュータ20はこれを理解、実行し、PDA22との通
信、データ転送のほか、上記のその他機能を果たすこと
ができる。したがって、モバイルコードはこの例におい
ては不要となるが、データが転送されている場合等、必
要に応じて使用することも可能である。
【0029】この実施形態において、データオブジェク
ト22bはPDA22から受信され、コンピュータ20
に記憶されるが、データオブジェクト22bは、サーバ
23等、別の場所に記憶してもよい。ユニバーサルイン
タフェースセット22aは、データオブジェクト22b
を通じてコンピュータ20にアクセスできる。具体的に
は、データオブジェクト22bは、PDA22と関連す
るインタフェースによって定義される各種の処理をサポ
ートし、これらはコンピュータ20によって知られ、理
解されるものと仮定される。データオブジェクト22b
は、PDA22と関連するひとつまたは複数のインタフ
ェースの具体的に実現したものを提供する命令(つま
り、コンピュータ実行可能なコード)またはデータであ
り、ここからデータオブジェクト22bが関連する。た
とえば、PDA22がコンピュータ20に提供するデー
タオブジェクト22bは、PDA22の開発者がどのプ
ロトコルまたはデータフォーマットに決定したかを問わ
ず、これを使ってPDA22と通信するよう専用化され
た、データソースインタフェースのカスタム態様を提供
する。
【0030】この実施形態において、データ転送セッシ
ョンオブジェクト22cは、getTransferD
ata()処理、getDatSource()処理、
上記のノーティフィケーションインタフェースと関連す
るregister()処理、getLease()処
理、getViewer()処理、getEditor
動作、getPrinter()処理ならびに、コンピ
ュータ20にPDA22からのデータ、たとえば、受信
されるデータのタイプに応じて異なるビデオまたはファ
イル転送のためのプロトコルを受信させるために必要な
その他の命令を含む。データ転送セッションオブジェク
ト22cは、PDA22に専用であるが、コンピュータ
20によってデータ受信のために実行される上記の動作
と命令を含む。たとえば、コンピュータ20(つまり、
データシンクコンポーネント)がPDA22(つまり、
データソースコンポーネント)からのデータを受信する
実施形態において、コンピュータ20はgetData
Transfer()処理を呼び出し、PDA22から
データを実際に読み出す。さらに、コンピュータ20は
getDataSource()処理を呼び出し、PD
A22の識別その他の属性を判断することができる。コ
ンピュータ20はまた、getDataSourc
e()処理を呼び出し、データ転送中のその挙動を変更
すべきか、あるいは特定のデータ転送を実行させるべき
かを決定することもできる。
【0031】この実施形態において、コンピュータ20
は、データ転送セッションオブジェクト22cを通じ
て、PDA22から送られるデータを受信し、理解する
方法について、詳細を知る必要がない。特に、データ転
送セッションオブジェクト22c内に含まれる命令と各
種の動作は、PDA22に固有の特定のプロトコル、媒
体およびデータのタイプに関する情報を含み、コンピュ
ータ20はこれを実行して、PDA22が異なるプロト
コル、媒体、データのタイプを利用しても、PDA22
から転送されたデータを受信し、理解することができ
る。さらに、データ転送セッションオブジェクト22c
は、コンピュータ20がデータ転送中にPDA22と交
渉し、転送されるデータのタイプに基づいて、相互間で
のデータ転送に使用される通信プロトコルまたは媒体を
選択することができるようにするための命令を含む。命
令はまた、コンピュータ20とPDA22に、転送され
るデータのタイプに基づいて、データ転送セッションの
ための異なるプロトコルを使用することについて、相互
に交渉させることもできる。また、命令は、コンピュー
タ20に、データ転送セッションオブジェクト22cを
通じて転送されるデータのフォーマットまたはコンテン
ツを変更し、必要に応じて、コンピュータ20に関連す
る第一のデータ転送プロトコルからPDA22に関連す
る第二のデータ転送プロトコルへとデータを変換させる
こともできる。たとえば、PDA22がコンピュータに
ストリーミングビデオを転送しているとき、PDA22
にとって、圧縮または累進的記号化を使用してデータを
転送するほうが効率的であろう。コンピュータ20は、
データ転送セッションオブジェクト22cの中に含まれ
る命令と動作を実行し、データ転送セッションオブジェ
クト22cがコンピュータ20と交渉し、データ転送セ
ッションのために使用される特定のプロトコルを決定
し、次に、コンピュータ20に対し、データ転送セッシ
ョンオブジェクト22cを通じて、コンピュータ20が
データ転送セッションオブジェクト22cを通じて転送
されるデータを読み出し、理解するために必要な動作、
命令、データを提供する。さらに、コンピュータ20と
PDA22は、入手可能なものがあれば、好ましい物理
的輸送媒体について交渉する。たとえば、共有Fire
Wire、IRまたはBluetooth接続がコンピ
ュータ20とPDA22をリンクしていることがわかっ
た場合、これをイーサネット(登録商標)接続の代わり
に、データ転送のための物理的転送媒体として使用する
ことができる。命令は、低速データ転送リンク上でのデ
ータ転送速度を低減するための動作、あるいはデータ転
送セッション中にエラーに遭遇した際、冗長性を高める
ための動作を含んでもよい。
【0032】さらに、データ転送セッションオブジェク
ト22cは、コンピュータ20がデータ転送セッション
オブジェクト22cを通じて転送されるデータのタイプ
を見ることができるようにするために、コンピュータ2
0が実行する命令を含んでもよい。たとえば、コンピュ
ータ20が「JPEG」のイメージファイルまたは、た
とえばPDA22から転送されたビデオデータ転送スト
リーミングを表示するようプログラムまたは構成されて
いない場合、コンピュータ20はデータ転送セッション
オブジェクト22cに含まれる命令を実行し、たとえ
ば、コンピュータ20に関連するディスプレイデバイス
上で、転送されたデータを見ることができる。特に、デ
ータ転送セッションオブジェクト22cは、その動作が
コンピュータ20によって呼び出されたときに、ビュー
ワオブジェクトを返す、getViewer()処理を
含んでもよい。ビューワオブジェクトは、PDA22に
よって理解され、使用されるデータの具体的タイプに特
定のものである。さらに、ビューワオブジェクトは、コ
ンピュータ20によって実行された場合に、その命令が
コンピュータ20に転送されたデータを見させる点を除
き、コンピュータ20にユーザインタフェースを提供す
るための、上記と同じ命令を含んでもよい。ビューワオ
ブジェクトはまた、コンピュータ20に対し、PDA2
2に関連し、コンピュータ20がそのようなデータのタ
イプを見るよう以前にはプログラムされていなかったと
しても転送される特定のデータタイプを見させるような
命令を含んでもよい。さらに、getViewer()
処理は、ユーザインタフェースについて先に述べたよう
に、コンピュータ20にコンピュータ20が表示したい
ユーザウィンドウのタイプ(つまり、グラフィクスまた
はスピーチ)を特定させるようなパラメータを受ける。
この実施形態において、getViewer()処理は
PDA22に記憶され、データオブジェクト22bを通
じてコンピュータ20にアクセスできる。あるいは、ま
たはこれに加えて、getViewer()処理は、サ
ーバ23(図1参照)等の中央レポジトリに記憶するこ
ともできる。この例の場合、サーバ23はひとつまたは
複数のgetViewer()処理を記憶し、各動作が
コンピュータ20にデータの特定のタイプを見させる命
令を含む。この実施形態において、「見る」や「表示す
る」という用語は、他の形態の出力を包含するものと
し、たとえば、データ転送セッションオブジェクト22
cにおける命令がコンピュータ20に、スピーカ等のオ
ーディオ出力デバイスを通じて特定のフォーマットのオ
ーディオファイルをプレイさせる場合等がある。さら
に、データ転送セッションオブジェクト22cは、ge
tEditor()処理やgetPrinter()処
理等、getEditor()処理とgetPrint
er()処理が、コンピュータ20がPDA22と関連
するデータの具体的なタイプを理解するようプログラム
されていたか否かを問わず、コンピュータ20に転送デ
ータをそれぞれ編集または印刷させる点を除き、get
Viewer()処理と同じ命令を有する。このよう
に、この実施形態において、コンピュータ20は、デー
タ転送セッション中に遭遇するデータフォーマットのタ
イプをすべて理解する必要がない。なぜなら、このよう
なデータを理解するための命令がデータ転送セッション
オブジェクト22cの中に含まれているからである。コ
ンピュータ20は少なくとも、データ転送セッションオ
ブジェクト22cに含まれる各種の命令と動作を実行す
る能力を有する。
【0033】この実施形態において、abort()処
理は、コンピュータ20にPDA22とのデータ転送セ
ッションを終了させる命令を含む。さらに、コンピュー
タ20はPDA22に対し、データ転送セッションが失
敗した、あるいは完了したことを、それぞれfai
l()処理またはcomplete()処理を実行する
ことによって示すことができる。コンピュータ20とP
DA22との間のデータ転送セッションが失敗した、完
了した、あるいは中途終了された場合、登録によって、
データ転送セッションの状態への関心を示したコンポー
ネント20−24におけるリスナには、registe
r()処理を通じてイベントが伝えられる。信号化プロ
トコルは、データ転送セッションが不定の持続時間を有
する(たとえば、ストリーミンクビデオ)場合等、PD
A22が、いつコンピュータ20が終了したかを自動的
に判断できない場合、コンピュータ20に、データ転送
セッションオブジェクト21cを使って、コンピュータ
20がいつ終了したかを示させる。getLeas
e()処理は、データ転送セッションをアクティブに保
つために、コンピュータ20に初期リース持続時間パラ
メータに従ってリースを更新させる。
【0034】図4において、ステップ40で、コンピュ
ータ20はディスカバリプロセスを実行して、コンピュ
ータ20とPDA22が相互にデータを転送できるか判
断する。この実施形態において、コンピュータ20は各
種のディスカバリシステムを使用してPDA22のディ
スカバリを行う。ディスカバリシステムには、Blue
tooth SIGによって開発され、ディスカバリ・
ユニバーサル・ディスクリプション、2001年Blu
etoothコンソーシアム、バージョン1.1コア、
「Bluetoothシステムの仕様」に記載されたB
luetooth(登録商標)サービス・ロケーション
・プロトコル(SLP)、アリバ、IBM(登録商
標)、マイクロソフト(登録商標)によって開発され、
ディスカバリ・ユニバーサル・ディスクリプション・ア
ンド・インテグレーション・コンソーシアム、「UDD
Iテクニカル・ホワイトペーパー」2000年1−12
ページ、アリバ、インターナショナル・ビジネス・マシ
ンズ(登録商標)、マイクロソフト(登録商標)、「ユ
ニバーサル・ディスクリプション・ディスカバリ・アン
ド・インテグレーション・データ・ストラクチャ・リフ
ァレンス、バージョン1.0」2000年1−31ペー
ジ、アリバ(登録商標)、インターナショナル・ビジネ
ス・マシンズ(登録商標)、マイクロソフト(登録商
標)、「ユニバーサル・ディスクリプション・ディスカ
バリ・アンド・インテグレーション・プログラマのAP
I 1.0」2000年1−67ページ、アリバ(登録
商標)、インターナショナル・ビジネス・マシンズ(登
録商標)、マイクロソフト(登録商標)、「ユニバーサ
ル・ディスクリプション・ディスカバリ・アンド・イン
テグレーション・テクニカル・ホワイトペーパー」20
00年1−12ページに記載されたユニバーサル・ディ
スクリプション・ディスカバリおよびインテグレーショ
ン・プロトコル(UDDI)、各種のJini(登録商
標)システムディスカバリプロトコルまたはネームサー
バ内のシンプルなルックアップがあり、これらはすべ
て、引用によって全体が本明細書に援用される。ディス
カバリが行われたPDA22は、コンピュータ20にデ
ータオブジェクト22bを返す。コンピュータ20は、
受け取ったデータオブジェクト22bを内観し、どのひ
とつまたは複数のインタフェースがPDA22と関連す
るかを判断する。したがって、コンピュータ20が上記
のディスカバリ動作を実行し、PDA22からデータオ
ブジェクト22bを受信すると、コンピュータ20は受
け取ったデータオブジェクト22bを内観し、どのユニ
バーサルインタフェースにPDA22が関連しているか
を判断する。コンピュータ20は、PDA22が少なく
てもデータソースインタフェースと関連していると判断
し、したがって、PDA22はこれにデータを提供でき
る。コンピュータ20は、PDA22に関連し、データ
オブジェクト22bに含まれるデータソースインタフェ
ースを呼び出し、これには、コンピュータ20に対し、
データオブジェクト22bに含まれるgetSourc
eDataFlavors()処理を実行させるよう指
示する命令が含まれる。getSourceDataF
lavors()処理は、PDA22にアクセスし、コ
ンピュータ20にPDA22によってサポートされるデ
ータのタイプを提供するための命令を含む。
【0035】次に、ステップ42において、コンピュー
タ20はデータソースインタフェースに含まれるbeg
inTransferSession()処理を実行す
るさらに、beginTransferSession
()処理は、呼び出されると、コンテクストパラメー
タ、初期リース持続時間パラメータおよびデータフレー
バパラメータを受け取る。PDA22は、データ転送セ
ッションオブジェクト22cをコンピュータ20に返
す。コンピュータ20は、上記の方法で好ましいデータ
タイプを判断し、データフレーバパラメータの中のデー
タを受け取るために好ましいデータタイプの数値を提供
し、そうでなければ、コンピュータ20はPDA22に
よって提供される際のデータフォーマットでデータを受
信する。コンピュータ20は、データ転送セッションオ
ブジェクト22cによってPDA22からデータを受信
してもよい。
【0036】次に、ステップ44において、データ転送
セッションオブジェクト22cは、getTransf
erData()処理と、コンピュータがPDA22か
らデータを読み出すために実行する上記のその他の動作
と命令を含む。ステップ46で、データはデータ転送セ
ッションオブジェクト21cを通じて、PDA22から
コンピュータ20に転送される。またさらに、コンピュ
ータ20は、本来は理解するようプログラムされていな
いデータタイプを見ることもできる。コンピュータ20
がbeginTransferSession()処理
を実行すると、PDA22は命令、動作またはデータを
直接コンピュータ20に返し、コンピュータ20にPD
A22から転送されるデータを理解させる。
【0037】図5において、コンピュータ20は先に図
1について説明したように、ファクシミリ24に接続さ
れている。ファクシミリ24は、メモリの中に記憶され
た、あるいはたとえばサーバ23にアクセスすることに
よってアクセスされる、データシンクインタフェースを
含むユニバーサルインタフェースセット24aを有す
る。これについては後に詳しく説明する。しかし、ファ
クシミリ24は、いくつのインタフェースにも、どのよ
うな組み合わせで関連していてもよい。
【0038】ファクシミリ24は、データオブジェクト
24bを通じてユニバーサルインタフェースセット24
aにアクセスし、異なる種類の通信を実行できる。ユニ
バーサルインタフェースセット24a内のインタフェー
スは各々、命令、動作セット、またはその他、コンピュ
ータ20によって理解、実行され、コンピュータ20が
ファクシミリ24と通信し、データ転送することができ
るようにするデータを含む。データシンクインタフェー
スを除き、上記のインタフェースの各々は、PDA22
に関連して先に説明したものと同じであるが、各インタ
フェースは、それらが関連する特定のデバイス(たとえ
ば、ファクシミリ24)に特定の命令を含む。
【0039】特に、データインクインタフェースは、g
etSinkDataFlavor()およびTran
sfer()処理等、複数の動作を含む。さらに、デー
タシンクインタフェースは、コンピュータ20がデータ
をファクシミリ24に送信することができるようにする
データ転送セッションを確立するために、コンピュータ
20によって実行される命令とデータを含む。特に、g
etSinkDataFlavor()処理は、コンピ
ュータ20により、ファクシミリ24がどのタイプのデ
ータをサポートできるかを判断するために実行される命
令とデータを含む。この特定の実施形態において、コン
ピュータ20はgetSinkDataFlavo
r()処理を実行し、これがファクシミリ24によって
サポートされるひとつまたは複数のデータタイプのリス
トを返す。さらに、この実施形態におけるデータタイプ
は通常、MIMEデータタイプである。Transfe
r()処理は、コンピュータ20により、ファクシミリ
24にデータ転送セッションを確立し、コンピュータ2
0がファクシミリ24へのデータ転送を開始できるよう
にするよう要求するために実行される命令とデータを含
む。Transfer()処理は、この実施形態におい
て、呼び出されたとき、コンピュータ20と関連するデ
ータ転送セッションオブジェクト20c、コンテクスト
パラメータ、データフレーバパラメータ等のパラメータ
を受ける。特に、コンピュータ20はデータ転送セッシ
ョンオブジェクト20cをTransfer()処理の
中に渡し、これをファクシミリ24が利用し、その中の
命令を実行して、コンピュータ20からのデータを実際
に受信できるようにする。この実施形態において、コン
ピュータ20に関連するデータ転送セッションオブジェ
クト20cは上記のデータ転送セッションオブジェクト
22dと同じ種類の命令、データ、動作を含むが、ここ
に含まれる命令、データ、動作はコンピュータ20に特
定のものである。コンピュータ20は、それを呼び出す
ときに、Transfer()処理の中にコンテクスト
パラメータを渡し、ファクシミリ24に対し、セキュリ
ティ等、各種の目的のためにその識別を知らせる。ファ
クシミリ24は、コンテクストパラメータの中で提供さ
れた識別上方に基づいて、コンピュータ20にデータを
そこに転送させるか否かを判断する。さらに、ファクシ
ミリ24が、getSinkDataFlavor()
処理を実行することによって判断されるひとつまたは複
数のタイプのデータをサポートする場合、データフレー
バパラメータはTransfer()処理の中に渡さ
れ、コンピュータ20によって転送されるデータのタイ
プをファクシミリ24に伝える。さらに、コンピュータ
20は、各種の理由によって、データフレーバパラメー
タに好ましいデータタイプの数値を提供する。たとえ
ば、コンピュータ20とファクシミリ24が複数の互換
性のあるデータタイプをサポートし、コンピュータ20
が、パラメータを使用して、データ転送のための好まし
いデータタイプを特定する場合等がある。この実施形態
において、コンピュータ20は、コンピュータ20のユ
ーザに好ましいデータタイプを指示させる、コンピュー
タ20とファクシミリ24との間の互換性のあるデータ
タイプのひとつをランダムに選択する、あるいは転送さ
れる特定のデータにとって最も効率的なデータタイプを
選択する等、さまざまな方法を使って好ましいデータタ
イプを判断できる。さらに、コンピュータ20はファク
シミリ24が相互に関して有限数の互換性のあるデータ
タイプをサポートする場合、コンピュータ20はデータ
をファクシミリ24に転送するための互換性のあるデー
タタイプを選択する。
【0040】図6において、ステップ50で、コンピュ
ータ20は、ディスカバリプロセスを実行し、ひとつま
たは複数の実施形態について先に説明したように、デー
タオブジェクト24bを内観することにより、ファクシ
ミリ24が少なくともデータシンクインタフェースと関
連していることから、コンピュータ20とファクシミリ
24が相互にデータを転送できることを判断する。コン
ピュータ20は、ファクシミリ24と関連し、データオ
ブジェクト24bに含まれるデータシンクインタフェー
スを呼び出し、これは、コンピュータ20にgetSi
nkDataFlavor()処理を実行するよう指示
する命令を含む。getSinkDataFlavor
()処理は、ファクシミリ24にアクセスし、前述のよ
うに、コンピュータ20にファクシミリ24がサポート
するデータのタイプを提供する命令を含む。
【0041】次に、ステップ52において、コンピュー
タ20は、データシンクインタフェースに含まれるTr
ansfer()処理を実行する。さらに、コンピュー
タ20は、前述のように、これを呼び出すときにTra
nsfer()処理の中にデータオブジェクト20c、
コンテクストパラメータおよびデータフレーバパラメー
タを渡す。
【0042】次に、ステップ54において、ファクシミ
リ24は、Transfer()処理を通じてそれに提
供されるデータ転送セッションオブジェクト20c内に
含まれる命令を実行し、コンピュータ20からのデータ
を受信する。ステップ56において、データは、データ
転送セッションオブジェクト20cにより、コンピュー
タ20からファクシミリ24に転送される。
【0043】図7において、コンピュータ20、プリン
タ21、サーバ23が、図1について前述したように、
相互に接続されている。この実施形態において、プリン
タ21は、データソースインタフェース、データシンク
インタフェースおよびコンテクストインタフェースを含
むユニバーサルインタフェースセット21aと関連す
る。サーバ23は、データソースインタフェース、デー
タシンクインタフェース、コンテクストインタフェース
を有するユニバーサルインタフェースセット23と関連
する。上記のインタフェースはそれぞれ、図3と図5に
関連して説明したものと同じであるが、この実施形態に
おける各インタフェースは、それらが関連しているデバ
イス(つまり、プリンタ21またはサーバ23)につい
て特定の命令を含む。さらに、プリンタ21と関連する
データ転送セッションオブジェクト25は、上記のデー
タ転送セッションオブジェクト20cと22cと同じ命
令、データ、動作を含むが、その中に含まれる命令、デ
ータ、動作はプリンタ21に特定のものである。
【0044】図8において、ステップ60でコンピュー
タ20はディスカバリプロセスを実行し、ひとつまたは
複数の実施形態について先に説明したように、データオ
ブジェクト21bと23bを内観することにより、プリ
ンタ21がデータソースインタフェースと関連し、サー
バ23がデータシンクインタフェースと関連しているこ
とから、プリンタ21とサーバ23が相互にデータ転送
できると判断する。コンピュータ20は、前述のよう
に、プリンタ21と関連するデータソースインタフェー
スを呼び出し、データオブジェクト21bに含まれるg
etSourceDataFlavors()処理を実
行し、プリンタ21にアクセスして、プリンタ21がサ
ポートするデータのタイプを判断する。
【0045】次に、ステップ62において、コンピュー
タ20は、データソースインタフェースに含まれるbe
ginTransferSession()処理を実行
する。さらに、beginTransferSessi
on()処理は、コンピュータ20またはサーバ23に
関連するコンテクストパラメータを受ける。たとえば、
コンピュータ20はサーバ23に関連し、データオブジ
ェクト23bを通じてアクセスできるコンテクストイン
タフェースを呼び出す。この例において、コンピュータ
20はサーバ23からのコンテクスト情報を受け取る
が、beginTransferSession()処
理を通じて、これをプリンタ21に供給する。これによ
り、プリンタ21は、それがデータをサーバ23ととも
に転送したいかを決定することができる。あるいは、コ
ンピュータ20は、同じ理由によって自己のコンテクス
ト情報をプリンタ21に供給し、前述のように、呼び出
されたときに初期リース持続時間パラメータを供給す
る。コンピュータ20は、サーバ23に関連し、データ
オブジェクト23bに含まれるデータシンクインタフェ
ースを呼び出し、これは、コンピュータ20にgetS
inkDataFlavor()処理を実行させる命令
を含む。getSinkDataFlavor()処理
は、サーバ23にアクセスし、コンピュータ20にサー
バ23がサポートするデータのタイプを提供する命令を
含む。さらに、サーバ23がgetSinkDataF
lavor()処理を実行することによって判断される
ように、ひとつまたは複数のデータタイプをサポートす
る場合、データフレーバパラメータはTransfer
()処理に渡され、サーバ23に対し、それに転送され
るデータのタイプを伝える。さらに、コンピュータ20
は各種の理由により、データフレーバパラメータに好ま
しいデータタイプの数値を提供する。たとえば、プリン
タ21とサーバ23が複数の互換性のあるデータタイプ
をサポートし、コンピュータ20が、そのパラメータを
使用し、プリンタ21とサーバ23との間のデータ転送
のための好ましいデータタイプを特定する場合である。
プリンタ21は、データオブジェクト21bを通じて、
データソースオブジェクト25をコンピュータ20に返
す。
【0046】次に、ステップ64で、コンピュータ20
は、サーバ23と関連し、データオブジェクト23bに
含まれるデータシンクインタフェースに含まれるTra
nsfer()処理を実行する。Transfer()
処理は、それが呼び出されると、プリンタ21からコン
ピュータ20が受け取るデータソースオブジェクト2
5、プリンタ21と関連するコンテクストパラメータま
たはデータフレーバパラメータ等のパラメータを受け
る。コンピュータ20はサーバ23に対し、コンピュー
タ20またはプリンタ21と関連するコンテクストパラ
メータを提供し、サーバ23が、セキュリティをはじめ
とする各種の理由で、データ転送に参加したいか否かを
判断する。コンピュータ20は、自己の命令を実行して
そのコンテクスト情報を取得し、コンテクスト情報を通
じてその情報をTransfer()処理に渡すことに
より、サーバ23にそれ自身のコンテクスト情報を提供
することができる。サーバ23は、プリンタ21からコ
ンピュータ20が受け取り、コンピュータ20からTr
ansfer()処理を通じてサーバ23に伝えられる
データ転送セッションオブジェクト25として、プリン
タ21からデータを受け取る。
【0047】次に、ステップ66において、サーバ23
は、データ転送セッションオブジェクト25に含まれる
getTransferData()処理を実行して、
プリンタ21からデータを読み出す。ステップ68にお
いて、このデータは、データ転送セッションオブジェク
ト25を通じてプリンタ21からサーバ23に転送され
る。この実施形態において、コンピュータ20、プリン
タ21またはサーバ23のひとつまたは複数は、前述
の、データ転送セッションオブジェクト25に含まれる
abort()処理、fail()処理またはcomp
lete()処理にアクセスし、これ実行することがで
きる。また、コンピュータ20、プリンタ21またはサ
ーバ23のひとつまたは複数は、リースされたデータ転
送セッションを更新する責任を負う。別の実施形態にお
いて、コンピュータ20、プリンタ21またはサーバ2
3のひとつまたは複数は、コンピュータ20、プリンタ
21またはサーバ23に関連するノーティフィケーショ
ンインタフェース(図示せず)を呼び出すことにより、
相互にリスナとして登録し、上述のようにイベントノー
ティフィケーションを受け取ることができる。この例に
おいて、コンピュータ20は、プリンタ21またはサー
バ23と関連するノーティフィケーションインタフェー
スを呼び出し、リスナとして登録し、データ転送の進行
状況をモニタすることができる。プリンタ21とサーバ
23との間のデータ転送中、コンピュータ20の参加は
不要である。コンピュータ20がデータ転送セッション
に引き続き参加するか否かは、たとえば、コンピュータ
20がデータ転送セッションに関連するイベントノーテ
ィフィケーションを受け取りたいか、あるいは前述のよ
うに、コンピュータ20がリースされたデータ転送セッ
ションの更新を担当するか等、各種の要因による。
【0048】別の実施形態において、コンピュータ2
0、プリンタ21またはサーバ23のいずれかが、上記
の実施形態のいずれかを採用し、相互間のデータソース
およびデータシンクとして機能することができる。たと
えば、コンピュータ20がデータ転送を開始すると、サ
ーバ23はデータソースとして機能し、データをサーバ
23に転送するプリンタ21に関して先に説明したもの
と同じステップに従って、データオブジェクト転送セッ
ション25を通じて、プリンタ21にデータを転送す
る。
【0049】コンピュータ20、プリンタ21、PDA
22、サーバ23、ファクシミリ24等のデバイス(つ
まり、コンポーネント20−24)が上述のひとつまた
は複数の実施形態において例として使用されたが、言語
翻訳サービス、データフォーマット変換、電子メールア
プリケーション、カレンダーアプリケーションまたはワ
ードプロセシングアプリケーション内で実行されるスペ
ルチェックルーチンをはじめとするソフトウェアサービ
ス、アプリケーションまたはその一部等、多数の他のシ
ステムをコンポーネント20−24として使用できる。
たとえば、ワードプロセッサは、現在先端されているデ
ータをデータソースコンポーネントとして使用し、それ
がデータシンクコンポーネントであるPDA22に送信
されるようにすることができる。
【図面の簡単な説明】
【図1】 一実施形態による、任意のコンポーネントに
相互にデータ転送させるためのシステムの略図である。
【図2】 任意のコンポーネントに相互にデータ転送を
行わせるシステムにおいて使用される任意のコンポーネ
ントの例のブロック図である。
【図3】 別の実施形態による、ひとつの任意のコンポ
ーネントが別の任意のコンポーネントからデータを受信
するためのシステムの略図である。
【図4】 別の任意のコンポーネントからデータを受信
するプロセスのフローチャートである。
【図5】 別の実施形態による、ひとつの任意のコンポ
ーネントが別の任意のコンポーネントにデータを転送す
るためのシステムの略図である。
【図6】 別の任意のコンポーネントにデータを転送す
るプロセスのフローチャートである。
【図7】 別の実施形態による、ひとつの任意のコンポ
ーネントが2つの別の任意のコンポーネントに相互にデ
ータ転送させるシステムのブロック図である。
【図8】 任意のコンポーネントが、他の任意のコンポ
ーネントに相互にデータ転送させるプロセスのフローチ
ャートである。
【符号の説明】
10 システム、20 コンピュータ、21 プリン
タ、22 PDA、22a ユニバーサルインタフェー
スセット、22b データオブジェクト、22cデータ
転送セッションオブジェクト、23 サーバ、24 フ
ァクシミリ、25データソースオブジェクト、30 中
央処理ユニット(CPU)、32 メモリ、34 I/
Oユニット、36 バス、38 命令。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーク ダブリュ ニューマン アメリカ合衆国 カリフォルニア サン フランシスコ ポトレロ アベニュー 1237 ♯エイ (72)発明者 ジャナ ズィー セディヴィ アメリカ合衆国 カリフォルニア スタン フォード マクファーランド コート 109 ♯4ディー Fターム(参考) 5B098 AA10 GA04 GC16

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 コンポーネントに相互にデータを転送さ
    せるためのシステムであって、 ユニバーサルデータ転送インタフェースを有する第一の
    コンポーネントと、 該ユニバーサルデータ転送インタフェースに対し、デー
    タ転送セッションオブジェクトを使って、該第一のコン
    ポーネントと少なくともひとつのコンポーネントとの間
    でデータを転送させる第二のコンポーネントと、を備え
    ることを特徴とするシステム。
  2. 【請求項2】 請求項1に記載のシステムであって、 該データ転送セッションオブジェクトは、該第一のコン
    ポーネントまたは該コンポーネントの少なくともひとつ
    が、転送されるデータのタイプに基づいて、相互間のデ
    ータ転送に使用すべき通信プロトコルを選択する、ある
    いは該データのタイプに基づいてデータ転送に使用され
    る転送媒体を選択するために、データ送信について相互
    に交渉するようにする命令を含むことを特徴とするシス
    テム。
  3. 【請求項3】 請求項1に記載のシステムであって、 データ転送は、該第一のコンポーネントまたは該コンポ
    ーネントの少なくともひとつがデータ転送リースを更新
    しなかった場合、あるいはデータ転送が終了した、また
    は行われなかったことを示した時点で停止することを特
    徴とするシステム。
  4. 【請求項4】 コンポーネントに相互データ転送を行わ
    せるシステムであって、 第一のユニバーサルデータ転送インタフェースを有する
    第一のコンポーネントと、 第二のユニバーサルデータ転送インタフェースを有する
    第二のコンポーネントと、 該第一のユニバーサルデータ転送インタフェースと該第
    二のユニバーサルデータ転送インタフェースに対し、デ
    ータ転送セッションオブジェクトを使用し、該第一のコ
    ンポーネントと該第二のコンポーネントの間でデータ転
    送を行わせる第三のコンポーネントと、 を備えることを特徴とするシステム。
  5. 【請求項5】 コンポーネントに相互データ転送を行わ
    せる方法であって、ユニバーサルデータ転送インタフェ
    ースに、データ転送セッションオブジェクトを取得させ
    るステップと、 該データ転送セッションオブジェクトを使って、第一の
    コンポーネントと少なくともひとつのコンポーネントと
    の間でデータ転送を行うステップと、 を含むことを特徴とする方法。
  6. 【請求項6】 コンポーネントに相互データ転送を行わ
    せる方法であって、第一のユニバーサルデータ転送イン
    タフェースと第二のユニバーサルデータ転送インタフェ
    ースを呼び出すステップと、 該呼び出された第一のユニバーサルデータ転送インタフ
    ェースまたは該第二のユニバーサルデータ転送インタフ
    ェースの一方からデータ転送セッションオブジェクトを
    取得するステップと、 該データ転送セッションオブジェクトを使用し、第一の
    コンポーネントと第二のコンポーネントの間でデータを
    転送するステップと、 を含むことを特徴とする方法。
JP2003018254A 2002-01-29 2003-01-28 任意のコンポーネントに相互にデータを転送させるシステム Expired - Lifetime JP4424910B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/058,268 2002-01-29
US10/058,268 US20030145089A1 (en) 2002-01-29 2002-01-29 System and method for enabling arbitrary components to transfer data between each other

Publications (2)

Publication Number Publication Date
JP2003223336A true JP2003223336A (ja) 2003-08-08
JP4424910B2 JP4424910B2 (ja) 2010-03-03

Family

ID=22015738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003018254A Expired - Lifetime JP4424910B2 (ja) 2002-01-29 2003-01-28 任意のコンポーネントに相互にデータを転送させるシステム

Country Status (4)

Country Link
US (2) US20030145089A1 (ja)
EP (1) EP1331571B1 (ja)
JP (1) JP4424910B2 (ja)
DE (1) DE60302368T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015519639A (ja) * 2012-04-13 2015-07-09 ゴールドマン,サックス アンド カンパニー スケーラブルな構造化データ配布のためのシステム及び方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7367029B2 (en) * 2002-08-01 2008-04-29 Xerox Corporation Method and system for handling data
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US20060004834A1 (en) * 2004-06-30 2006-01-05 Nokia Corporation Dynamic shortcuts
US7464110B2 (en) * 2004-06-30 2008-12-09 Nokia Corporation Automated grouping of image and other user data
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US20070070392A1 (en) * 2005-09-16 2007-03-29 Harrison Karen L Processing requests for data sinks in a logical printer
US8176097B2 (en) * 2009-01-02 2012-05-08 International Business Machines Corporation Maintaining data coherency within related multi-perspective user interfaces via session-less queries
JP5550385B2 (ja) * 2009-03-04 2014-07-16 キヤノン株式会社 画像処理装置及びその制御方法、並びに記憶媒体
US20100235523A1 (en) * 2009-03-16 2010-09-16 Robert Garcia Framework for supporting multi-device collaboration
US8285860B2 (en) 2009-03-16 2012-10-09 Apple Inc. Efficient service discovery for peer-to-peer networking devices
US10277683B2 (en) 2009-03-16 2019-04-30 Apple Inc. Multifunctional devices as virtual accessories
US20100233960A1 (en) * 2009-03-16 2010-09-16 Brian Tucker Service discovery functionality utilizing personal area network protocols
TW201116002A (en) * 2009-10-30 2011-05-01 Askey Computer Corp System and method for data transmission via special line
US9270929B2 (en) 2013-12-19 2016-02-23 Lattice Semiconductor Corporation Formatting audio-video information compliant with first transmission format to second transmission format in integrated circuit for offloading physical layer logic for first transmission format to separate integrated circuit
CN107786556A (zh) * 2017-10-24 2018-03-09 江苏神州信源系统工程有限公司 一种端口快速扫描方法与装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475836A (en) * 1987-04-01 1995-12-12 Lotus Development Corporation Interface for providing access to external data sources/sinks
US6345288B1 (en) * 1989-08-31 2002-02-05 Onename Corporation Computer-based communication system and method using metadata defining a control-structure
DE4106793A1 (de) * 1991-03-04 1992-09-17 Licentia Gmbh Kommunikationsschnittstelle
CA2134620A1 (en) * 1993-11-05 1995-05-06 Arul Menezes System and method for exchanging computer data processing capabilities
US5546549A (en) * 1994-06-01 1996-08-13 International Business Machines Corporation Multi-path channel (MPC) interface with user transparent, unbalanced, dynamically alterable computer input/output channels
US5664102A (en) * 1995-02-07 1997-09-02 At&T Intelligent network internetworking access arrangement
US6148346A (en) * 1996-06-20 2000-11-14 Peerless Systems Imaging Products, Inc. Dynamic device driver
US5915252A (en) * 1996-09-30 1999-06-22 International Business Machines Corporation Object oriented framework mechanism for data transfer between a data source and a data target
US6751647B1 (en) * 1998-06-19 2004-06-15 Intel Corporation Method and apparatus for automated data exchange between a user computer and a provider computer using improved object-oriented programming components
GB2342196A (en) * 1998-09-30 2000-04-05 Xerox Corp System for generating context-sensitive hierarchically-ordered document service menus
US6675196B1 (en) * 1999-01-08 2004-01-06 Amazon.Com, Inc. Universal protocol for enabling a device to discover and utilize the services of another device
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US6718377B1 (en) * 1999-08-13 2004-04-06 Lucent Technologies Inc. Telecommunications network management system interface
AU4135201A (en) * 1999-10-29 2001-05-30 Singleshop.Com System and method of data exchange for electronic transactions with multiple sources
JP3430509B2 (ja) * 1999-12-03 2003-07-28 日本電気株式会社 データ通信システム及び方法
US20010033554A1 (en) * 2000-02-18 2001-10-25 Arun Ayyagari Proxy-bridge connecting remote users to a limited connectivity network
US20020022453A1 (en) * 2000-03-31 2002-02-21 Horia Balog Dynamic protocol selection and routing of content to mobile devices
US6643650B1 (en) * 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6591312B1 (en) * 2000-05-23 2003-07-08 Hewlett-Packard Development Company, L.P. Digital communication devices and digital communication methods
US7031945B1 (en) * 2000-07-24 2006-04-18 Donner Irah H System and method for reallocating and/or upgrading and/or rewarding tickets, other event admittance means, goods and/or services
US6938087B1 (en) * 2000-09-12 2005-08-30 Hewlett-Packard Development Company, L.P. Distributed universal communication module for facilitating delivery of network services to one or more devices communicating over multiple transport facilities
US7152110B2 (en) * 2001-04-18 2006-12-19 Microsoft Corporation Information exchange between non-networked devices through an intermediary device via a piconet
US6842460B1 (en) * 2001-06-27 2005-01-11 Nokia Corporation Ad hoc network discovery menu

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015519639A (ja) * 2012-04-13 2015-07-09 ゴールドマン,サックス アンド カンパニー スケーラブルな構造化データ配布のためのシステム及び方法
US9479556B2 (en) 2012-04-13 2016-10-25 Goldman, Sachs & Co. Systems and methods for scalable structured data distribution
US10601883B2 (en) 2012-04-13 2020-03-24 Goldman Sachs & Co. LLC Systems and methods for scalable structured data distribution
US10904308B2 (en) 2012-04-13 2021-01-26 Goldman Sachs & Co. LLC Systems and methods for scalable structured data distribution

Also Published As

Publication number Publication date
US20030145089A1 (en) 2003-07-31
EP1331571B1 (en) 2005-11-23
JP4424910B2 (ja) 2010-03-03
US20040122957A1 (en) 2004-06-24
EP1331571A1 (en) 2003-07-30
DE60302368D1 (de) 2005-12-29
DE60302368T2 (de) 2006-06-08
US7421494B2 (en) 2008-09-02

Similar Documents

Publication Publication Date Title
US7552265B2 (en) System and method for providing context information
US7296042B2 (en) System and method for enabling communication among arbitrary components
US7433915B2 (en) System and method for controlling communication
JP4424910B2 (ja) 任意のコンポーネントに相互にデータを転送させるシステム
US7526482B2 (en) System and method for enabling components on arbitrary networks to communicate
US7917619B2 (en) Supporting multiple service discovery protocols on a device
US7836164B2 (en) Extensible network discovery subsystem
US7284060B2 (en) Method for transferring data in a system having multiple transports
US7987278B2 (en) Web services device profile on a multi-service device: dynamic addition of services
EP1872523B1 (en) System and method of device-to-server registration
Lohse et al. An open middleware architecture for network-integrated multimedia
WO2002001833A1 (en) Remoting general purpose operating system services via a peer networking device control protocol
JP2006072978A (ja) サービス要求装置、サービス提供装置、サービス要求方法、サービス提供方法、サービス要求プログラム、サービス提供プログラム及び記録媒体
US20050172000A1 (en) Embedded apparatus including web server function
US7873647B2 (en) Web services device profile on a multi-service device: device and facility manager
JP4398192B2 (ja) データ処理方法及びデータ処理システム
EP1936922B1 (en) Discovery and addition of services in a multi-service device
US7685303B2 (en) Object-oriented discovery framework
JP5020046B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090715

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090924

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4424910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term