JP2002366455A - 1つ以上の任意のコンポーネントを互いに通信させるシステム及び方法ならびにコンピュータ読取可能媒体 - Google Patents

1つ以上の任意のコンポーネントを互いに通信させるシステム及び方法ならびにコンピュータ読取可能媒体

Info

Publication number
JP2002366455A
JP2002366455A JP2002093413A JP2002093413A JP2002366455A JP 2002366455 A JP2002366455 A JP 2002366455A JP 2002093413 A JP2002093413 A JP 2002093413A JP 2002093413 A JP2002093413 A JP 2002093413A JP 2002366455 A JP2002366455 A JP 2002366455A
Authority
JP
Japan
Prior art keywords
component
data
components
interface
instructions
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.)
Pending
Application number
JP2002093413A
Other languages
English (en)
Inventor
W Keith Edwards
キース エドワーズ ダブリュ.
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 JP2002366455A publication Critical patent/JP2002366455A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 第三者や互いの知識を事前に有する装置を介
入させずに、任意のコンポーネントを互いに通信させる
システム及び方法を提供する。 【解決手段】 本発明の通信システム10は、1つ以上
のユニバーサルインタフェース20a〜24aに関連す
る第1のコンポーネント20と、第1のコンポーネント
に関連する1つ以上のユニバーサルインタフェースのう
ち1つを取得し、第1のコンポーネントと通信するため
にユニバーサルインタフェースのうち少なくとも1つを
起動する第2のコンポーネント21〜24と、を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に通信方法及び
システムに関し、より詳細には、モバイルコードを用い
る1つ以上のユニバーサルインタフェースを使用して任
意のコンポーネントを互いに通信させる方法及びシステ
ムに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】分散型
ネットワークなどのデータ通信環境では、多くの異なる
ベンダがそれぞれ固有のサービスを提供している。これ
までは、コンポーネントがデータの伝送や受信(以下
「データの転送」という)を行うならば、ある環境にあ
る任意のコンポーネントを互いに通信させるにはプロト
コルの所定のセットを特定する必要があった。例えばあ
るベンダが製造した装置は、上述のプロトコルの所定の
セットを使用しなければ別のベンダが製造した装置と通
信するのは難しい。既存のプロトコル規格を採用するこ
とで、種々のベンダが種々の所定のプロトコルを要する
ことの問題を部分的に処理してきた。しかしながら種々
の規格組織が存在するために種々のプロトコル規格が存
在する。
【0003】例えば、コンピュータアプリケーション又
はプログラム、データ、メモリ、ファイルディレクト
リ、個々のファイル、プリンタ装置、携帯電話、ファク
シミリマシーン、コピー機、スキャナ装置、デスクトッ
プコンピュータ、ラップトップコンピュータ、PDA装
置又は任意の他の装置などの任意のコンポーネントが、
互いに対する知識を事前に持たずに互いに通信しようと
するならば、通信をうまく行うには両者がファイルシス
テムドメイン(例えば、NFS及びCIFS)又はプリ
ンタドメイン(例えば、IPP及びLPR)などの特定
のドメイン固有プロトコルを知っている必要がある。フ
ァイルシステム又はプリンタ装置と通信しようとしてい
るアプリケーションなどの任意のコンポーネントは、上
述の規格化プロトコルのうち1つ以上を理解するように
明確にプログラムされる必要がある。しかしながら新し
いコンポーネントが要素の中に入ると、新しいコンポー
ネントと通信するために使用する新しく規格化されたプ
ロトコルを理解するためにアプリケーションを再度プロ
グラムしなければならない。したがって、プロトコルに
関連するコンポーネントと通信する前に規格化プロトコ
ルの特定のセットを使用するように、各アプリケーショ
ンに明確に書き込む必要がある。
【0004】コンポーネントが異なるデータ転送媒体を
利用すると、上述の問題が悪化する。例えば、携帯電話
を使用する人物がプリンタ装置と通信して知人の電話番
号のリストをプリントアウトしたいと仮定する。携帯電
話は無線データ転送媒体とこれに関連するプロトコルを
使用して通信することしかできず、一方プリンタ装置は
回線ベースのデータ転送媒体とこれに関連するプロトコ
ルを使用して通信することしかできないため、第3者や
上述のように互いの知識を事前に有する装置のうち1つ
を介入させなければ、これらの装置が直接通信する方法
はない。
【0005】
【課題を解決するための手段】1つ以上の通信プロトコ
ルと転送媒体を使用して1つ以上の任意のコンポーネン
トを互いに通信させる本発明のシステムは、1つ以上の
ユニバーサルインタフェースに関連する第1のコンポー
ネントと、第1のコンポーネントに関連する1つ以上の
ユニバーサルインタフェースのうち1つを取得し第1の
コンポーネントと通信するためにユニバーサルインタフ
ェースの少なくとも1つを起動する第2のコンポーネン
トと、を含む。
【0006】1つ以上の通信プロトコルと転送媒体を使
用して1つ以上の任意のコンポーネントを互いに通信さ
せる本発明の方法、搬送波を含むコンピュータデータ信
号、及びマシーンによる読取が可能で該マシーンが実行
可能な命令のプログラムを含むプログラム保存装置は、
第1のコンポーネントに関連するユニバーサルインタフ
ェースを取得するステップと、第1のコンポーネントと
通信するためにユニバーサルインタフェースのうち少な
くとも1つを起動するステップとを含む。
【0007】
【発明の実施の形態】本発明の一実施形態にしたがっ
た、任意のコンポーネント20〜24を互いに通信させ
るシステム10を図1に示す。本実施形態では、システ
ム10はコンポーネント20〜24、データオブジェク
ト21b〜24b、及びユニバーサルインタフェース2
0a〜24aを含む。一実施形態にしたがった方法は、
データオブジェクト21b〜24bのうちの1つに含ま
れるユニバーサルインタフェース20a〜24aのうち
1つを取得すること、そしてそのユニバーサルインタフ
ェースに関連するコンポーネントと通信するために取得
したユニバーサルインタフェースを起動させることを含
む。本発明によって、互いの事前の知識がなくても、同
じ又は異なる転送媒体及び/又は通信プロトコルを用い
てコンポーネント20〜24を通信させることができ
る。
【0008】図1をより詳細に参照すると、この特定の
実施形態ではコンポーネント20はコンポーネント21
〜24それぞれに機能するように接続しているが、他の
接続構成又は構造を用いることができ、またより多くの
コンポーネント又はより少ないコンポーネントを用いる
こともできる。例えば、コンポーネント21〜24のう
ち1つ以上をそれ以外のコンポーネント21〜24のう
ち1つ以上と直接接続させることができ(即ちピアツゥ
ピア)、システム10はコンポーネント20及び21を
含むことができる。
【0009】本実施形態では、コンポーネント20〜2
4は、公衆交換電話線及び/又は同軸ケーブル接続など
の回線ベースの転送媒体によって互いに機能するように
接続する。本実施形態では回線ベースの転送媒体を使用
するが、無線ベースの転送媒体などの他のタイプの転送
媒体をコンポーネント20〜24のうち2つ以上の間で
使用することもできる。
【0010】本実施形態では、回線ベースの電話通信プ
ロトコルを用いた構内交換(「PBX」)による従来の
ダイアルアップ通信システムが、コンポーネント20〜
24の通信のために使用される。回線ベースの通信シス
テムのうち1つのタイプしか示していないが、種々の異
なるタイプの通信システム及び/又はプロトコルを使用
することができる。例えば、ローカルエリアネットワー
ク(「LAN」)、ワイドエリアネットワーク(「WA
N」)などの通信システム又はネットワークアーキテク
チャ及び衛星信号、電波、マイクロ波及び/又は赤外信
号などの信号を利用する携帯電話又は衛星通信ネットワ
ークシステムを使用することができる。さらに、xDS
L ISDNなどのデータを転送する種々の通信プロト
コル及びTCP/IP、RFC又はOSI組織が定義し
たプロトコルを使用することもできる。用いるプロトコ
ルのタイプは、特定のコンポーネントが利用するデータ
転送媒体のタイプ、コンポーネント(例えば、プリンタ
装置又はスキャナ装置)のタイプ及び/又はコンポーネ
ントが動作するネットワーク環境のタイプ(例えば、U
NIX(R)動作環境におけるファイルディレクトリ)
に依存するであろう。同じタイプのデータ転送媒体を利
用するコンポーネントは、通常特定のタイプのコンポー
ネントに依存する1つ以上の通信プロトコルを使用する
ことができる。図1の矢印はコンポーネント20とコン
ポーネント21〜24との間の通信の流れを表す。
【0011】本明細書中では、既存のコンポーネントを
他のコンポーネントと通信が可能なコンポーネントとし
て定義し、新しいコンポーネントを他のコンポーネント
との通信がまだ可能ではないコンポーネントとして定義
する。本実施形態では、コンポーネント20〜24はそ
れぞれ、PDAユニット又はパームトップコンピュー
タ、ラップトップコンピュータ、デスクトップコンピュ
ータなどのコンピュータシステム又は本明細書中で説明
し図面に例示した本発明の1つ以上の方法を実行するた
めのプログラムされた命令を保存し、処理し、実行でき
るコンピュータサーバを含むが、コンポーネントは本発
明の1つ以上の方法を実行するための命令を保存し、処
理し、実行できる任意のタイプの装置又はシステムを含
むことができる。例示のみの目的で、コンピュータ20
〜24はプリンタ、スキャナ、携帯電話、ディスプレイ
装置、ビデオ入出力装置、音声入出力装置、遠隔制御装
置又は機器を含むこともできる。コンポーネント20〜
24のうち1つ以上はまた、本発明の1つ以上の方法を
実行するための命令を実行するようにハードワイヤード
された回路を有する任意のタイプの装置を含むこともで
きる。
【0012】本実施形態では、コンポーネント20〜2
4それぞれのコンピュータシステムそれぞれはバスによ
って互いに接続する中央処理装置(「CPU」)とメモ
リを含む。メモリは、RAM、ROM、ハードディス
ク、フロッピー(R)ディスク、CD−ROM、DVD
−ROM又は任意の他のタイプのコンピュータが読取可
能な媒体などのCPUがアクセス可能な任意のタイプの
記憶装置を含むことができる。本発明の方法の命令はプ
ログラムされてメモリに保存されるため、リトリーブし
てCPUで実行することができる。命令は、BASI
C、Pascal、C、C++、C#、Java
(R)、Perl、COBOL、FORTRAN、アセ
ンブリ言語、マシン・コード言語などの多数のコンピュ
ータプログラミング言語又はCPUが理解し実行できる
任意の方法で書かれた実行可能プログラムとして表すこ
とができる。本実施形態ではCPUとメモリは同じ物理
位置にあるが、CPUとメモリを異なる物理位置に配置
してもよい。さらに、本明細書中で説明したようにコン
ポーネントを互いに動作可能に接続するための方法と同
じ方法を、プロセッサとメモリを接続するために利用す
ることができる。
【0013】本実施形態では、本発明の方法の1つ以上
を実行するためにプログラムされたコンポーネント20
〜24に対する命令は、ワードップロセッシングアプリ
ケーション、スプレッドシートアプリケーション、アカ
ウンティングアプリケーション又はCPUが実行するエ
ンジニアリングアプリケーションなどの、コンポーネン
ト21〜24に保存される他のタスクを実行するために
プログラムされた命令を有する1つ以上の他のアプリケ
ーションの一部であるが、本発明の1つ以上の方法を実
行するためのこれらの命令は他の場所にあってもよい。
そのため、これらのアプリケーションのうち1つを実行
する場合、スプレッドシートを作成するなどのタスクの
命令は、他のコンポーネントを発見し、発見したコンポ
ーネントから受信したデータオブジェクトをイントロス
ペクト(introspect)し、次いで受信したデータオブジェ
クト内に含まれる1つ以上のユニバーサルインタフェー
スを利用して他のコンポーネントと通信する方法を実行
するなどの本発明の1つ以上の方法を実行するための命
令と共に、コンポーネント20〜24のCPUのうち1
つ以上で実行される。
【0014】本実施形態では、コンポーネント20〜2
4は、本発明の1つ以上の方法を実行するための実行可
能にプログラムされた命令を含まない他のタイプのタス
クを実行するための実行可能なプログラムされた命令を
有する1つ以上のアプリケーションも有するが、他の実
施形態はこのようなアプリケーションを持たなくてもよ
い。そのため、コンポーネントが他のコンポーネントで
実行されるこれらのアプリケーションのうちの1つと通
信するためには、本発明の1つ以上の方法を実行するた
めの命令のセットをこれらのアプリケーションから分離
する必要がある。この特定の例では、"Advanced Progra
mming in the UNIX(R)R Environment" (W. Rich
ard Stevens, Addison-Wesley Publishing Company, 19
74)(全体を参照として本明細書中に援用する)に記載
されているように、UNIX(R)環境などのコンポー
ネントが動作しているオペレーティングシステム環境で
命令を実行することで、これを達成する。オペレーティ
ングシステムの命令はまた、本発明の1つ以上の方法を
実行するための命令も含む。オペレーティングシステム
環境のコンポーネントは、本発明の1つ以上の実施形態
にしたがって他のコンポーネントと通信するための命令
を実行し、また他のアプリケーションとインターアクト
する。
【0015】コンポーネント20〜24は、1つ以上の
CPUが実行する、データ、メモリ、ファイルディレク
トリ、個々のファイルなどのネットワークサービスのた
めのプログラムされた命令又はアプリケーションを作成
したり特定のタスクを実行するために同じコンポーネン
ト若しくは他のコンポーネントにある命令の他のセット
と組合せることができる命令のセットも保存することが
できる。上述のように、これらの命令は本発明の1つ以
上の方法を実行するための命令を含んでもよいし含まな
くてもよい。
【0016】コンポーネント20〜24はまた、1つ以
上の他のコンポーネントにアクセスし、これらを制御
し、かつ/又は動作させるためのコンピュータで実行可
能なプログラムされた命令を含んでもよい。この例で
は、コンポーネントによって、あるタイプの通信媒体
(例えば、無線ネットワーク)を用いて通信することが
できる1つ以上の他のコンポーネントが、異なるタイプ
の通信媒体(例えば、回線ベースのネットワーク)を用
いて通信することができる他のコンポーネントと通信す
ることができる。例えば、コンポーネント21はPDA
装置で、プリンタ装置であるコンポーネント22と通信
して保存しているファイルをプリントアウトしたいと思
っている。しかしながらこの例では、コンポーネント2
1は無線赤外接続を介してデータを転送することしかで
きず、一方コンポーネント22はパラレルケーブルライ
ンを介してデータを転送することしかできない。そのた
めコンポーネント20は、2つのコンポーネントが互い
に通信し本明細書中において以下でさらに説明するよう
に本発明の1つ以上の方法を用いて互いにデータを転送
できるように、コンポーネント21及び22を制御する
ことができる。上述したように、アクセスし、制御し、
かつ/又は動作させるためのこれらの命令は、本発明の
1つ以上の方法を実行するための方法を含んでもよい
し、含まなくてもよい。
【0017】コンポーネント20〜24はまた、特定の
コンポーネント21〜24が使用する通信プロトコルに
関連するコンピュータで実行可能なプログラムされた命
令を含む。コンポーネント20〜24はそれぞれ、他の
コンポーネント20〜24と同じ通信プロトコルを使用
しなくてもよい。例示だけの目的で、コンポーネント2
0は、通信のために回線ベースの通信媒体と第1のタイ
プの通信プロトコルを使用するUNIX(R)環境で動
作するプリンタ装置を含み、一方コンポーネント21
は、回線ベースの通信媒体は使用するが第2のタイプの
通信プロトコルを使用して通信するマイクロソフトウィ
ンドウズ(登録商標)環境で動作するスキャナ装置を含
むことができる。本明細書中で説明したように、コンポ
ーネント20と21を互いに直接通信させるために、又
は異なる通信プロトコルを使用する上述のブラウザコン
ポーネントを使用して互いに通信させるために、本発明
の1つ以上の方法を使用することができる。
【0018】本実施形態ではデータオブジェクト21b
〜24bはコンポーネント20に保存されるが、データ
オブジェクト21b〜24bを他の場所に保存してもよ
い。データオブジェクト21b〜24bはそれぞれユニ
バーサルインタフェース20a〜24aのセット内に含
まれる。より詳細には、データオブジェクト21b〜2
4bはそれぞれ、コンポーネント20には知られている
と思われる、コンポーネント21〜24に関連するイン
タフェースによって定義される種々の動作をサポートす
る。データオブジェクト21b〜24bはそれぞれ命令
(即ち、コンピュータで実行可能なコード)及び/又は
データオブジェクト21b〜24bを与えるコンポーネ
ント20〜24それぞれに関連する1つ以上のインタフ
ェースを実行するデータを含む。例えば、コンポーネン
ト21がカメラであった場合、コンポーネント21がコ
ンポーネント20に提供するデータオブジェクト21b
は、コンポーネント21のデベロッパによってどのプロ
トコル及び/又はデータフォーマットが決定されている
かを利用してコンポーネント21(即ち、カメラ)と通
信するように適合されたデータソースインタフェースを
特別に実行する。
【0019】本実施形態では、コンポーネント20〜2
4はユニバーサルインタフェースのセット20a〜24
aをそれぞれ含む。コンポーネント20〜24は、ユニ
バーサルインタフェースのセット20a〜24aを利用
して本明細書において以下により詳しく説明する種々の
タイプの通信を実行することができる。特に、ユニバー
サルインタフェースのセット20a〜24aはそれぞ
れ、コンポーネント20〜24を互いに通信させるため
にこれらのコンポーネントそれぞれが理解し実行できる
命令、動作のセット及び/又は他のデータを含む。ユニ
バーサルインタフェースの1つ以上のセット20a〜2
4aによって、コンポーネント20〜24が通信して互
いにデータを転送したり(即ち、データを送受信した
り)、コンポーネントに関するコンテクスト情報を提供
したり、アクセスやコンポーネントの集合(即ち、アグ
レゲーション(aggregation))に関する情報を提供した
り、イベントの通知を行ったり、ユーザがコンポーネン
トにアクセスし、かつ/又はこれを操作できるようにユ
ーザインタフェースを提供したりできる。この特定の実
施形態ではユニバーサルインタフェースのセット20a
〜24aはそれぞれ、データソースインタフェース、デ
ータシンクインタフェース、コンテクスト・インタフェ
ース、アグレゲーション・インタフェース、可変(mutab
le)アグレゲーション・インタフェース、通知インタフ
ェース又はユーザインタフェースのうち1つ以上を含む
が、他のインタフェースを使用してもよい。本実施形態
及び他の実施形態では、各インタフェースは本明細書で
より詳細に説明するようにユニバーサルであることを理
解されたい。また、本実施形態ではユニバーサルインタ
フェースのセット23aは上述のインタフェースのどれ
も含まないことにも注目されたい。
【0020】より詳細には、本実施形態ではコンポーネ
ント20は、データソースインタフェース、データシン
クインタフェース、コンテクスト・インタフェース、ア
グレゲーション・インタフェース、可変アグレゲーショ
ン・インタフェース、通知インタフェース及びユーザイ
ンタフェースをメモリに保存するか又は上述のように他
の物理位置にあるサーバコンピュータシステム若しくは
メモリにアクセスすることでこれらへのアクセスを有す
る(以下「関連する」と称する)。コンポーネント21
はデータシンクインタフェース、コンテクスト・インタ
フェース及びユーザインタフェースに関連し、コンポー
ネント22はデータソースインタフェース、データシン
クインタフェース、コンテクスト・インタフェース、ア
グレゲーション・インタフェース、可変アグレゲーショ
ン・インタフェース、通知インタフェース及びユーザイ
ンタフェースに関連し、コンポーネント23はどのイン
タフェースにも関連せず、コンポーネント24はコンテ
クスト・インタフェースとユーザインタフェースに関連
する。
【0021】他の実施形態では、コンポーネント20〜
24はそれぞれ任意に組合せた任意の数のインタフェー
スに関連することができ、特定の数及び/又は組合せは
コンポーネントの特定のタイプ、その機能及び/又はコ
ンポーネントが所望するサービスに依存することを理解
されたい。したがって、例えばコンポーネント20は上
述のように7個のインタフェースを含むユニバーサルイ
ンタフェースのセット20aに関連するが、これより多
い又は少ない数のインタフェースを含んでいてもよい。
さらに、コンポーネント20とユニバーサルインタフェ
ースのセット20aをいつでもアップデートして新しい
インタフェースを追加したり、既存のインタフェースを
削除したり、任意の既存のインタフェースを修正するこ
とができる。
【0022】他の実施形態では、コンテクスト・インタ
フェースは、他のコンポーネントからコンテクスト・デ
ータをリトリーブするためにコンポーネントが実行する
命令及びデータを含むgetContext()オペレーションを含
む。本実施形態では、コンテクスト・データはハッシュ
テーブルに似た多値データ構造としてコンポーネント2
1に保存されている。しかしながら、例えばコンポーネ
ントのタイプに応じてコンテクスト・データを任意のフ
ォーマットで保存することができる。またこの特定の実
施形態では、コンテクスト・データはコンポーネントの
タイプ、動作状態、アイデンティティ、位置、管理ドメ
イン、又は任意の他のタイプの環境データなどの、コン
ポーネント21に関する情報を含む。他の実施形態で
は、コンテクスト・データは例えば他の物理位置又はコ
ンポーネントに保存されていてもよい。
【0023】他の実施形態では、ユーザインタフェース
は、コンポーネント20のユーザがコンポーネント2
1、22又は24にアクセスし、かつ/又は該コンポー
ネントを操作して特定のコンポーネントの他の機能を利
用できるようにユーザウィンドウをリトリーブ又は生成
するためにコンポーネント20によって実行できる命令
及びデータを含むgetUI()、 getState()及びsetState()
オペレーションを含む。本実施形態では、getUI()オペ
レーションはコンポーネント20によって起動される
と、本明細書中でより詳細に説明するようにユーザがど
のタイプのユーザウィンドウを生成したいかを示すパラ
メータを受け取ることができる。getUI()オペレーショ
ンは、ウィンドウインタフェースを生成又はリトリーブ
するためのユーザウィンドウ及び/又は命令を、コンポ
ーネント21、22又は24からコンポーネント20へ
リターンし、またこの動作はコンポーネント20によっ
てインスタンス生成されて例えばユーザにユーザウィン
ドウを表示することができる。getState()オペレーショ
ンは、状態トークンオブジェクトをコンポーネント2
1、22又は24からコンポーネント20にリターンす
ることを要求する命令及びデータを含む。状態トークン
オブジェクトは特に、コンポーネント21、22又は2
4のうちどれからリターンされるかに関して不透明なオ
ブジェクトであり、特定のコンポーネントの現在の状態
(例えば、装置の設定や構造)をカプセル化する。さら
に、コンポーネント21、22又は24はそれぞれコン
ポーネントの特定のタイプ(例えば、プリンタ装置又は
ワードプロセッシングアプリケーション)に応じて異な
るタイプの状態トークンオブジェクトを使用することが
できる。さらに、コンポーネント21、22又は24は
それぞれ、特定の構造をポイントするポインタやURL
などの種々の方法で状態トークンオブジェクトを符号化
することができる。或いは、状態トークンオブジェクト
は特定のコンポーネントの現在の状態の表示を含んでも
よい。状態トークンオブジェクトを符号化するためにコ
ンポーネント21、22又は24が用いる方法に関わら
ず、コンポーネント20が受け取り使用する状態トーク
ンオブジェクトはコンポーネント20に対して不透明で
ある。getState()オペレーションは、状態トークンオブ
ジェクトに含まれる構造データを使用してユーザインタ
フェース26を生成するためにコンポーネント20が実
行する命令及びデータを含む。コンポーネント20は、
getState()オペレーションが起動されると、パラメータ
として状態トークンオブジェクトをgetState()オペレー
ションに渡し、このオブジェクトは、状態トークンオブ
ジェクトに含まれる保存された構造を有するユーザイン
タフェースをリトリーブ又は生成するためにコンポーネ
ント20が実行する命令及びデータをリターンするため
にコンポーネント21、22又は24が使用することが
できる。他の実施形態では、getState()オペレーション
はコンポーネント20によって起動されてユーザに対し
てユーザウィンドウを再作成しなくてもコンポーネント
21、22又は24の状態を再設定する。
【0024】この特定の実施形態では、データソースイ
ンタフェースは、getSourceDataFlavor()、beginSource
Transfer()及びsendSourceTransfer()オペレーションな
どの幾つかの動作を含む。さらにデータソースインタフ
ェースは、コンポーネント20がコンポーネント21か
らデータを要求し受信することができるようにデータ転
送セッションを確立するためにコンポーネント20が実
行する命令及びデータを含む。getSourceDataFlavor()
オペレーションは、どのタイプのデータコンポーネント
21を伝送することができるかを判定するためにコンポ
ーネント20によって実行できる命令及びデータを含
む。この特定の実施形態では、コンポーネント20はコ
ンポーネント21がサポートする1つ以上のデータのタ
イプのリストをリターンするgetSourceDataFlavor()オ
ペレーションを実行する。
【0025】beginSourceTransfer()オペレーション
は、コンポーネント20がコンポーネント21からデー
タを受信できるようにデータ転送セッションを確立する
ことをコンポーネント21に要求するためにコンポーネ
ント20が実行する命令及びデータを含む。本実施形態
では、beginSourceTransfer()オペレーションは起動時
にコンテクスト・パラメータや初期リース期間パラメー
タなどのパラメータを受け取ることができる。この特定
の実施形態では、データ転送セッションはリースされて
おり、beginSourceTransfer()オペレーションの起動時
にこれが受け取りデータ転送セッションをアクティブに
維持するための初期リース期間パラメータで特定した値
に対応する時間の間隔で、コンポーネント20がこのセ
ッションを周期的に更新する必要がある。コンポーネン
ト20がリースを更新できなかった場合、データソース
インタフェースはデータ転送セッションを停止する命令
を含み、コンポーネント20はクラッシュしてしまった
かこれに到達できなかったためにリースを更新できなか
ったと想定するため、コンポーネント21はデータ伝送
の試みを実行しない。さらに、コンポーネント20はbe
ginSourceTransfer()オペレーションの起動時にこれに
コンテクスト・パラメータを渡し、セキュリティの目的
などの多数の理由でアイデンティティをコンポーネント
21に知らせる。コンポーネント21は、コンテクスト
・パラメータに与えられたアイデンティティ情報に基づ
いてコンポーネント20にデータを伝送するかどうかを
判定することができる。さらに、コンポーネント21が
getSourceDataFlavor()オペレーションを実行して1つ
以上のタイプのデータをサポートすると判定したなら
ば、データフレーバーパラメータをbeginSourceTransfe
r()オペレーションに送ってコンポーネント21によっ
てサポートされる好ましいタイプのデータを伝送するこ
とをコンポーネント21に知らせることができる。begi
nSourceTransfer()オペレーションは、データオブジェ
クト21bを介してコンポーネント20にデータソース
オブジェクトをリターンする。データソースオブジェク
トは、sendSourceTransfer()オペレーションと、受信す
るデータのタイプに応じて例えばビデオやファイル転送
のプロトコルを含む、コンポーネント20がコンポーネ
ント21からデータを要求し受信するのに必要な命令を
含む。コンポーネント20はsendSourceTransfer()オペ
レーションを起動し、コンポーネント21からデータを
実際にリトリーブする。
【0026】他の実施形態では、データシンクインタフ
ェースはgetSinkDataFlavor()、beginSinkTransfer()及
びsendSinkTransfer()などの幾つかの動作を含む。さら
にデータシンクインタフェースは、コンポーネント20
がコンポーネント21にデータを伝送できるようにデー
タ転送セッションを確立するためにコンポーネント20
が実行する命令及びデータを含む。getSinkDataFlavo
r()オペレーションは、どのタイプのデータコンポーネ
ント21を受信し理解することができるかを判定するた
めにコンポーネント20が実行する命令及びデータを含
む。この特定の実施形態では、コンポーネント20は、
コンポーネント21がサポートする1つ以上のデータの
タイプのリストをリターンするgetSinkDataFlavor()オ
ペレーションを実行する。
【0027】beginSinkTransfer()オペレーションは、
コンポーネント20がコンポーネント21へのデータ伝
送を開始できるようにデータ転送セッションを確立する
ことをコンポーネント21に要求するためにコンポーネ
ント20が実行する命令及びデータを含む。本実施形態
では、beginSinkTransfer()オペレーションは起動時に
コンテクスト・パラメータや初期リース期間パラメータ
などのパラメータを受け取ることができる。この特定の
実施形態では、データ転送セッションはリースされてお
り、beginSinkTransfer()オペレーションの起動時にこ
れに渡されデータ転送セッションをアクティブに維持す
るための初期リースパラメータで特定した値に対応する
時間の間隔で、コンポーネント20がこのセッションを
周期的に更新する必要がある。コンポーネント20がリ
ースを更新できなかった場合、データソースインタフェ
ースはデータ転送セッションを停止する命令を含み、コ
ンポーネント20はクラッシュしてしまったかこれに到
達できなかったためにリースを更新できなかったと想定
するため、コンポーネント21はデータ受信の試みを実
行しない。さらに、コンポーネント20はbeginSinkTra
nsfer()オペレーションの起動時にこれにコンテクスト
・パラメータを渡し、セキュリティの目的などの多数の
理由でコンポーネント20のアイデンティティをコンポ
ーネント21に知らせる。コンポーネント21は、コン
テクスト・パラメータに与えられたアイデンティティ情
報に基づいてコンポーネント20にデータを伝送させる
かどうかを判定することができる。beginSinkTransfe
r()オペレーションは、データオブジェクト21bを介
してコンポーネント20にデータシンクオブジェクトを
リターンする。データシンクオブジェクトは、sendSink
Transfer()オペレーションと、伝送するデータのタイプ
に応じて例えばビデオやファイル転送のプロトコルを含
む、コンポーネント20がコンポーネント21にデータ
を伝送するのに必要な命令を含む。コンポーネント20
はsendSinkTransfer()オペレーションを起動し、コンポ
ーネント21にデータを実際に伝送する。コンポーネン
ト20は、getSinkDataFlavor()オペレーションを実行
することで判定した、コンポーネント21が理解するか
又はこれが好むタイプのデータを伝送することができ
る。
【0028】他の実施形態では、アグレゲーション・イ
ンタフェースはアグレゲーションを含むコンポーネント
22にアクセスするためにコンポーネント20が実行す
る命令及びデータを含む。アグレゲーションは、他のコ
ンポーネントの集合である。さらにアグレゲーション
は、他のアグレゲーションの集合を含んでもよい。本実
施形態では、アグレゲーションインタフェースは、enum
erate()、validateHandle()、enumerateHandles()、get
()及びcontains()オペレーションなどの多数の動作を含
むことができ、これらの動作にはそれぞれ本明細書中で
さらに説明するように1つ以上のパラメータが渡され
る。
【0029】コンポーネント20はenumerate()オペレ
ーションを実行し、この動作にコンテクスト・パラメー
タを渡すことで、セキュリティの目的や記録の保持など
の多数の理由からコンポーネント20のアイディンティ
ティをコンポーネント22に与える。コンテクスト・パ
ラメータに与えられたアイデンティティ情報に基づくこ
とが認証されたならば、enumerate()オペレーションに
よってコンポーネント22はコンポーネント20にアグ
レゲーションのコンポーネントを含むアグレゲーション
・オブジェクトをリターンする。さらに、アグレゲーシ
ョン・オブジェクトに含まれるコンポーネントは、理論
的に又は物理的にコンポーネント22内に位置する。コ
ンポーネント20は、コンポーネント22に関連する実
コンポーネントを列挙するためにenumerate()オペレー
ションを実行することができる。或いは、コンポーネン
ト20はコンポーネント22に関連するコンポーネント
のハンドルを列挙するためにenumerate()オペレーショ
ンを実行することができる。この特定の実施形態では、
ハンドルはアグレゲーションに含まれるコンポーネント
にマッピングする不透明(opaque)なトークンである。さ
らに、ハンドルはアグレゲーションの外部で有効である
かもしれない実名に対応してもよいし、対応しなくても
よい。例えばファイルシステムのアグレゲーションで
は、ハンドルはファイル名でありうる。しかしながら例
えばホワイトボード画像キャプチャ・アグレゲーション
では、ハンドルはどのくらい頻繁にキャプチャを実行す
るかを識別する整数でありうる。さらに異なるタイプの
アグレゲーションは、異なるアグレゲーション固有のハ
ンドルのタイプを使用することができる。さらにハンド
ルは、クライアント側のインタフェースを同一に維持し
ながら異なるタイプのアグレゲーションに異なるキーを
使用する方法を提供する。
【0030】コンポーネント22はvalidateHandle()オ
ペレーションを実行することができ、この動作にハンド
ルが特定のアグレゲーションに適したタイプであるかど
うかを判定するハンドルパラメータを渡す。アグレゲー
ション・インタフェースはまた、例えばコンポーネント
20がコンポーネント22に関連するアグレゲーション
・オブジェクトに含まれるストリングファイル名をハン
ドルに変換できるように、任意のコンポーネントをハン
ドルに変換するためにコンポーネント20が実行する命
令も含む。enumerateHandles()オペレーションは、これ
にコンテクスト・パラメータを渡すコンポーネント20
によって実行され、コンポーネント22に関連するコン
ポーネントのアグレゲーションに関連するハンドルをリ
ターンする。コンポーネント20はget()オペレーショ
ンを実行し、これにコンテクスト・パラメータとハンド
ルパラメータを渡し、ハンドルパラメータに関連する実
コンポーネントをリターンする。Contains()オペレーシ
ョンはコンポーネント20によって実行され、コンテク
スト・パラメータと与えられたハンドルパラメータがそ
のアグレゲーションで有効なキーであるかどうかを示す
ハンドルパラメータを受け取る。この特定の実施形態で
は、アグレゲーション・インタフェースはアグレゲーシ
ョンに含まれるコンポーネントのセットが発信者によっ
て変更されないスタティックマップを表す。
【0031】他の実施形態では、可変アグレゲーション
・インタフェースはadd()、remove()、rehandle()及びg
enerateHandle()オペレーションを含み、これらの動作
のそれぞれには1つ以上のパラメータが渡され、またコ
ンポーネント20によって実行されて本明細書中でさら
に説明するようにコンポーネント22に関連するアグレ
ゲーションの1つ以上のコンポーネントを修正する。ad
d()及びremove()オペレーションはコンポーネント20
によって実行されてコンポーネント22に関連するアグ
レゲーションにコンポーネントを追加したり該アグレゲ
ーションからコンポーネントを削除したりする。add()
オペレーションの場合、追加されるコンポーネントに関
連するコンポーネントパラメータは起動コンポーネント
のコンテクスト・パラメータと共に渡され、アグレゲー
ション内の追加されたコンポーネントのハンドルがリタ
ーンされる。remove()オペレーションの場合、コンテク
スト・パラメータが削除されるコンポーネントに関連す
るハンドルと共に渡される。rehandle()オペレーション
にはコンテクスト・パラメータと、名前を変える必要が
あるコンポーネントに関連する古いハンドルパラメータ
が渡され、コンポーネント22は、コンポーネントに関
連する新しいハンドルを表す新しいハンドルパラメータ
をコンポーネント20にリターンする。generateHandle
()オペレーションにはコンテクスト・パラメータ及び/
又はオブジェクトパラメータが渡され、またこの動作は
コンポーネント20によって使用されてコンポーネント
22に関連する特定のタイプのアグレゲーション(例え
ば、ファイルシステム)に対して有効な新しいハンドル
を作成する。本実施形態では、オブジェクトパラメータ
は、ファイル名や画像キャプチャ番号などのユーザが理
解できる通知からアグレゲーション・コンポーネント
(即ち、コンポーネント22)が理解し使用するコンポ
ーネント固有ハンドルに翻訳するためのメカニズムであ
る。コンポーネント20によるgenerateHandle()オペレ
ーションの起動時にこの動作にオブジェクトパラメータ
が渡されなければ、任意であるが未使用のハンドルがリ
ターンされる(例えば、ファイルシステムの「tem
p」ファイルと同等)。generateHandle()オペレーショ
ンの起動時にオブジェクトパラメータがこの動作に渡さ
れたならば、コンポーネント22に関連する特定のアグ
レゲーションに固有の方法でコンポーネント20によっ
て解釈されるハンドルがリターンされる。例えば、ファ
イルシステムアグレゲーションはこのようなパラメータ
をファイル名として解釈することができる。
【0032】他の実施形態では、通知インタフェースは
register()オペレーションを含み、この動作には1つ以
上のパラメータが渡され、またこの動作はコンポーネン
ト20によって実行され、この特定の実施形態ではコン
ポーネント22を含む通知インタフェースに関連するコ
ンポーネントによって生成されたイベントに関する非同
期通知を受信することができる。コンポーネント20は
register()オペレーションを実行し、これにコンテクス
ト・パラメータ、コンポーネントパラメータ及び初期リ
ース期間パラメータを渡す。コンテクスト・パラメータ
は、コンポーネント22がセキュリティの目的や記録の
保持のためにコンポーネント20に通知を送ることを所
望するかどうかを判定するためなどの多数の理由から、
コンポーネント22にコンポーネント20のアイデンテ
ィティを与える。コンポーネントパラメータは、イベン
トの通知を所望する1つ以上のコンポーネント21〜2
4、本実施形態ではコンポーネント20を表す。さらに
イベント登録はリースされており、イベント登録をアク
ティブに維持するために初期リース期間パラメータで特
定した値に対応する時間の間隔で、コンポーネント20
によって周期的に更新する必要がある。コンポーネント
20がリースを更新しなかったならば、コンポーネント
20はクラッシュしてしまったかこれに到達できなかっ
たためにリースを更新できなかったと想定されるので、
通知インタフェースは、コンポーネント20に生成した
イベントに関する通知を行うコンポーネント22の義務
を解除する命令を含む。本実施形態では、一旦コンポー
ネント20がregister()オペレーションを実行すること
でコンポーネント22に登録すると、通知インタフェー
ス及び関連する動作に与えられた命令にしたがってコン
ポーネント22が登録されたリスナ(listener)(即ち、
コンポーネント20)に通知すべき条件が生じたなら
ば、コンポーネント22はイベント通知オブジェクトを
コンポーネント20に送る。次いでコンポーネント20
は上記のようにユーザウィンドウを生成し、イベント情
報をユーザに表示する。例えば、コンポーネント22が
プリンタ装置でコンポーネント20がワードプロセッシ
ングアプリケーションであった場合、コンポーネント2
2はプリンタ装置の紙が詰まった場合にイベント情報を
コンポーネント20に与えることができる。さらにこの
例では、コンポーネント20はGUIを用いてイベント
通知(即ち、紙詰まり)をユーザに表示することができ
る。
【0033】他の実施形態では、インタフェースとその
中にある関連する動作はそれぞれモバイルコードを含
む。モバイルコードは、他のシステム又はデータを実行
するシステム内の他のコンポーネントに伝送することが
できる実行可能データである。例えばJava(R)
は、インターネットで広く使用されている実行可能な内
容(即ち、モバイルコード)の実行である。例えば、ユ
ーザはインターネットからモバイルコードをダウンロー
ドし、全く一般的なプログラミング言語で書かれたプロ
グラムをローカルに実行することができる。この特定の
実施形態では、ユニバーサルインタフェースはそれぞ
れ、互いに通信するためにコンポーネントが実行する命
令を含むモバイルコードを含む。さらに変数又はパラメ
ータ及びデータがユニバーサルインタフェースに渡され
るか又は与えられ、これらは通信の特定のタイプに応じ
てユニバーサルインタフェースに関連するコンポーネン
トによって理解され利用される。さらにユニバーサルイ
ンタフェースは、コンポーネントがデータを利用したり
これにしたがって命令を実行したりできる、命令のセッ
トや他のユニバーサルインタフェースの参照を含むこと
ができる。
【0034】他の実施形態ではユニバーサルインタフェ
ースとその中にある関連する動作はそれぞれオブジェク
ト指向モバイルコードを含み、このコードはプログラミ
ング技術において通常のスキルを有する当業者に公知の
プログラミング方法であり、データのタイプを関連する
プロシージャ又は命令のセットと共に定義する。このと
きのデータのタイプを普通クラスと称する。したがっ
て、プロシージャ又は命令のセットは1つ以上のデータ
のタイプに関連することができる。さらに、同じ名前又
は識別子を割り当ててプロシージャ又は関連する特定の
データのタイプに応じて対応する命令を実行する命令の
セットを識別することができ、このことを通常多相性(p
olymorphism)と称する。したがって例示のみの目的で描
画プロシージャを実行し、このプロシージャの起動時に
このプロシージャに出力されたか渡されたデータのタイ
プに応じて円や矩形の描画を実行することができる。さ
らにこの例では、円形データタイプが例えば半径の座標
を定義するならば、描画プロシージャが起動し円形デー
タタイプがこの描画プロシージャに渡され、描画プロシ
ージャに関連するあらゆる他のデータタイプを継承して
いる描画プロシージャは、与えられたデータを用いて円
を描くための適切なプロシージャ又は命令のセットを実
行する。したがって本発明のこの特定の実施形態では、
インタフェースが特定のコンポーネントに与えられる
と、プロシージャ、命令のセット及び特定のインタフェ
ースに関連する他のデータが特定のコンポーネントに対
して利用できるようになり、本発明の1つ以上の実施形
態にしたがって本明細書において以下に説明するように
アクセスしたり実行したりする。
【0035】図1をより詳細に参照して、本発明の通信
システム10の1つ以上の実施形態の作用を説明する。
本発明の一実施形態では、コンポーネント20は、Blue
tooth SIG, inc.が開発したBluetooth(商標)Service
Location Protocol ("SLP")、Ariba、IBM及びMicrosoft
Corps.が開発したUniversal Description, Discovery,
and Integration Protocol ("UDDI")、various Jini
(商標)システム発見プロトコル又は例えばネームサー
バの簡単なルックアップなど(これら全てを参照として
本明細書中に援用する)の種々の発見システムを使用し
て、コンポーネント21、コンポーネント22、コンポ
ーネント23及びコンポーネント24を発見する。発見
されたコンポーネント21〜24はそれぞれデータオブ
ジェクト21b〜24bをコンポーネント20にリター
ンする。コンポーネント20は受け取ったデータオブジ
ェクト21b〜24bをイントロスペクトしてどの1つ
以上のインタフェースがコンポーネント21〜24に関
連するかを判定することができる。したがって、例えば
コンポーネント20が上述の発見を実行しコンポーネン
ト21からデータオブジェクト21bを受信すると、コ
ンポーネント20は受信したデータオブジェクト21b
をイントロスペクトし、コンポーネント21がデータシ
ンクインタフェース、コンテクスト・インタフェース、
及びユーザインタフェースのどれに関連するかを判定す
る。
【0036】図2〜3を参照して、本発明の通信システ
ム10の一実施形態の作用を説明する。データオブジェ
クト21bは、コンポーネント21に関連するコンテク
スト・インタフェースの参照を含む。したがってこの特
定の実施形態では、コンポーネント20はこれに命令し
てコンポーネント21からコンテクスト情報を得るコン
テクスト・インタフェースに含まれる命令を実行する。
さらに、コンテクスト・インタフェースに関連する動作
は、コンテクスト情報にアクセスしたりコンポーネント
21からこれをリトリーブするためにコンポーネント2
0によっていつでも実行することができる。
【0037】図3を参照すると、ステップ30でコンポ
ーネント20は発見プロセスを実行し、上記のようにデ
ータオブジェクト21bをイントロスペクトすることで
コンポーネント21がコンテクスト・インタフェースに
関連すると判定する。コンポーネント20は、ステップ
32でデータオブジェクト21bに含まれコンテクスト
・インタフェースを起動する命令を実行する。ステップ
34でコンポーネント20はコンテクスト・インタフェ
ースに含まれコンテクスト・データをリトリーブする命
令を実行する。詳細には、コンポーネント20はgetCon
text()オペレーションを起動し、getContext()オペレー
ションに関連する命令を実行し、ステップ36でgetCon
text()オペレーションによってコンポーネント21から
コンテクスト・データを受信する。
【0038】図4、5を参照して、本発明の通信システ
ム10の他の実施形態の作用を説明する。データオブジ
ェクト21bは、コンポーネント20にコンポーネント
ウィドウ26(即ち、上記のユーザウィンドウ)を生成
させ、かつ/又は表示させる、コンポーネント21に関
連するユーザインタフェースの参照を含む。したがって
この特定の実施形態では、コンポーネント20は、ユー
ザインタフェースに含まれコンピュータ20に命令して
コンポーネントウィンドウ26を生成かつ/又は表示さ
せる命令を実行する。さらに、ユーザインタフェースに
関連する動作は、コンポーネント21にアクセスし、か
つ/又はコンポーネント21を操作するためのコンポー
ネントウィンドウ26を生成するためにコンポーネント
20によっていつでも実行することができる。
【0039】図5を参照すると、ステップ40でコンポ
ーネント20は発見プロセスを実行し、上述のようにデ
ータオブジェクト21bをイントロスペクトすることで
コンポーネント21がユーザインタフェースに関連する
と判定する。ステップ42では、コンポーネント20は
データオブジェクト21bに含まれユーザインタフェー
スを起動するための命令を実行する。ステップ44で
は、コンポーネント20はユーザインタフェースに含ま
れコンポーネントウィンドウ26を生成するための動作
を実行する。詳細には、コンポーネント20はユーザイ
ンタフェースに含まれるgetUI()オペレーションを起動
する。コンポーネント20はgetUI()オペレーションに
関連する命令を実行し、ステップ46でコンポーネント
20にユーザ用のコンポーネントウィンドウ26を生成
する。
【0040】他の実施形態では、コンポーネント20が
getUI()オペレーションを起動すると、グラフィカルユ
ーザインタフェース(「GUI」)などのグラフィカル
ユーザウィンドウにコンポーネントウィンドウ26を表
示することを所望していると特定することができる。或
いはコンポーネントウィンドウ26は、例えば音声を利
用する音声ユーザウィンドウを含むこともできる。本実
施形態では、コンポーネント20によるユーザインタフ
ェースの起動時に、コンポーネント21はコンポーネン
ト20にコンポーネントウィンドウ26の所望のタイプ
を与える。この特定の実施形態では、コンポーネント2
0のユーザはコンポーネント20に関連するディスプレ
イ装置によってコンポーネント21に関連するコンポー
ネントウィンドウ26を見ることができる。さらにユー
ザはユーザ入力装置を利用してコンポーネントウィンド
ウ26によってコンポーネント21の設定(例えばなど
半二重又は全二重などのプリンタ制御の設定)を操作す
ることができる。コンポーネントウィンドウ26は、コ
ンポーネント20のユーザに、上述のように他の任意の
インタフェースを用いてはアクセスできないかもしれな
い、コンポーネント21の他の機能、コンポーネント2
2又は24のいずれかへのアクセスを与える。コンポー
ネントウィンドウ26がGUIを含むこの特定の実施形
態では、ユーザインタフェースを起動してコンポーネン
ト21にアクセスしこれを操作するコンポーネント20
は、コンポーネントウィンドウ26を表示するディスプ
レイ装置へのアクセスを有する。さらに、例えばコンポ
ーネント20が携帯電話を含む場合などの、コンポーネ
ント26が音声を利用する音声ユーザウィンドウを含む
場合、コンポーネント20は音声出力用のスピーカとユ
ーザ入力を受けるためのキーパッド又はマイクロホンを
有する。さらにコンポーネント20のユーザは、マウス
又はキーボードなどのユーザ入力を受ける多数の他の装
置や他の入出力モダリティを使用することもできる。
【0041】図6、7を参照して、本発明の通信システ
ム10の他の実施形態の作用を説明する。ユーザは、図
4及び5に関連して説明したように、コンポーネントウ
ィンドウ26とのインターアクトによって形成したコン
ポーネント21の構造を保存することができる。その後
ユーザはコンポーネントウィンドウ26を介してコンポ
ーネント21の設定を再構成しなくても特定の構造を再
形成することができる。本実施形態では、コンポーネン
ト20はユーザインタフェースに含まれるgetState()オ
ペレーションを実行し、コンポーネント21と通信して
状態トークン27を受信し、このトークンはコンポーネ
ント20のメモリに保存される。コンポーネント20
は、ユーザインタフェースに含まれるgetState()オペレ
ーションを実行しこの動作の起動時に状態トークン27
を渡すことによって、コンポーネント21の上述の構造
を再形成することができる。
【0042】図7を参照すると、ステップ80ではコン
ポーネント20のユーザはコンポーネント・ウィンドウ
26とインターアクトして例えばコンポーネント21に
おける1つ以上の設定を操作する。ステップ82では、
コンポーネントウィンドウ26がGUIを含むならば、
ユーザはコンポーネント20に関連するディスプレイ装
置に表示したダイアログボックスに促されてコンポーネ
ント・ウィンドウ26によって表示されたコンポーネン
ト21の現在の設定を保存したいかどうかを問い合わせ
る。ユーザが現在の設定を保存すると決定したならば、
ユーザは従来のユーザ入力装置(例えば、マウス又はキ
ーボード)を使用するなどの種々の方法でこのことを示
すことができ、コンポーネント20はコンポーネント2
1による状態トークン27の作成を要求する命令を含む
getState()オペレーションを実行する。ステップ84で
は、コンポーネント21は作成した状態トークン27を
コンポーネント20にリターンし、コンポーネント20
に保存する。コンポーネント20のユーザが状態トーク
ン27に保存したコンポーネント21の設定の読出しを
要求した場合、コンポーネント20はsetState()オペレ
ーションを実行し、この動作に保存した状態トークン2
7を渡し、保存したコンポーネント21の構造を再作成
する。
【0043】図8、9を参照して、本発明の通信システ
ム10の他の実施形態の作用を説明する。コンポーネン
ト20及び21は互いにデータを転送することができ
る。この特定の実施形態では、コンポーネント21はデ
ータのソースの役割を果たし、コンポーネント20はコ
ンポーネント21からのデータの受信者の役割を果たす
ことができる。したがってコンポーネント20は、コン
ポーネント21に関連しデータオブジェクト21bに含
まれるデータソースインタフェースを起動する。詳細に
は、コンポーネント20はデータソースインタフェース
に含まれるbeginSourceTransfer()オペレーションを実
行し、コンポーネント21からデータソースオブジェク
ト21cを要求しこれを受信することで2つのコンポー
ネントの間のデータ転送を達成する。
【0044】図9を参照すると、ステップ50では、コ
ンポーネント20は発見プロセスを実行し、上述のよう
にデータオブジェクト21bをイントロスペクトするこ
とで、コンポーネント20はデータシンクインタフェー
スに関連しコンポーネント21はデータソースインタフ
ェースに関連するため、コンポーネント20及び21が
互いにデータを転送できると判定する。コンポーネント
20は、コンポーネント21に関連しコンポーネント2
0に命令してデータオブジェクト21bに含まれるgetS
ourceDataFlavors()オペレーションを実行させる命令を
含むデータソースインタフェースを起動する。getSourc
eDataFlavors()オペレーションは、コンポーネント21
にアクセスしてコンポーネント21がサポートするデー
タのタイプをコンポーネント20に与える命令を含む。
例えば上述の動作を実行した後に、コンポーネント20
はコンポーネント21が「JPEG」形式でデータをサ
ポートしていると判定することができる。ステップ52
では、コンポーネント20はデータソースインタフェー
スに含まれるbeginsourceTransfer()オペレーションを
実行する。さらに本実施形態では、beginsourceTransfe
r()オペレーションには起動時に上述したコンテクスト
・パラメータや初期リース期間パラメータなどのパラメ
ータが渡される。コンポーネント21は、コンポーネン
ト20にデータソースオブジェクト21cをリターンす
る。ステップ54では、コンポーネント20はデータソ
ースオブジェクト21cによってコンポーネント21か
らデータを受信することができる。詳細には、データソ
ースオブジェクト21cはsendSourceTransfer()オペレ
ーションとコンポーネント21からデータを受信するた
めにコンポーネント20が実行する上述の命令を含む。
【0045】他の実施形態(図示せず)では、コンポー
ネント20がデータのソースの役割を果たし、コンポー
ネント21はコンポーネント20からのデータの受信者
の役割を果たすことができる。したがってコンポーネン
ト20は、コンポーネント21に関連しデータオブジェ
クト21bに含まれるデータシンクインタフェースを起
動することができる。詳細には、コンポーネント20は
データシンクインタフェースに含まれるbeginSinkTrans
fer()オペレーションを実行し、コンポーネント21か
らデータシンクオブジェクトを要求しこれを受信するこ
とで、2つのコンポーネント間のデータ転送を達成す
る。
【0046】この特定の実施形態では、コンポーネント
20がコンポーネント21にデータを伝送するために、
getSourceDataFlavor()、beginSourceTransfer()及びse
ndSourceTransfer()オペレーションの代わりに上述のデ
ータソースインタフェースとgetSinkDataFlavor()、beg
inSinkTransfer()及びsendSinkTransfer()オペレーショ
ンを利用することを除けば、コンポーネント20がコン
ポーネント21にデータを伝送するためのステップは、
ステップ50〜56(図9)で説明したようにコンポー
ネント20がコンポーネント21からデータを要求しこ
れを受信するステップと同一である。
【0047】図10〜12を参照して、本発明の通信シ
ステム10の他の実施形態の作用を説明する。データオ
ブジェクト22bは、コンポーネント20がコンポーネ
ント22に関連するアグレゲーションにアクセスするた
めの、コンポーネント22に関連するアグレゲーション
・インタフェースの参照を含む。コンポーネント20は
アグレゲーション・インタフェースを起動し、アグレゲ
ーション・データオブジェクト28を受信する。本実施
形態では、アグレゲーション・データオブジェクト28
はデータオブジェクト21b、23b又は24bを含む
ことができる。さらに、アグレゲーション・データオブ
ジェクト28に含まれ、該コンポーネント20がアグレ
ゲーション・データオブジェクト28に含まれるコンポ
ーネント及び/又はアグレゲーション(即ち、データオ
ブジェクト21b、23b又は24b)のそれぞれと通
信するための命令を、コンポーネント20は実行するこ
とができる。
【0048】図11を参照すると、コンポーネント20
はステップ60で発見プロセスを実行し、上述のように
データオブジェクト22bをイントロスペクトすること
で、コンポーネント22がアグレゲーション・インタフ
ェースに関連すると判定する。コンポーネント20はス
テップ62で、コンポーネント22に関連し、コンポー
ネント20に命令してコンポーネント22がコンポーネ
ント20にアグレゲーション・データオブジェクト28
を与えることを要求させる命令を含む。コンポーネント
22は、データオブジェクト21b、23b又は24b
を含むアグレゲーション・データオブジェクト28をコ
ンポーネント20にリターンする。ステップ64では、
コンポーネント20はアグレゲーション・インタフェー
スに含まれる上述のenumerate()、validateHandle()、e
numerateHandles()、get()又はcontains()オペレーショ
ンのうちの1つ以上を実行する。
【0049】他の実施形態では、コンポーネント20は
発見プロセスを実行し、上述のようにデータオブジェク
ト22bをイントロスペクトすることで、コンポーネン
ト22が可変アグレゲーション・インタフェースに関連
すると判定する。コンポーネント20がコンポーネント
22に関連する可変アグレゲーション・インタフェース
を起動し、アグレゲーション・インタフェースに含まれ
る上述のenumerate()、validateHandle()、enumerateHa
ndles()、get()又はcontains()オペレーションのうちの
1つ以上の代わりに上述のadd()、remove()、rehandl
e()及びgenerateHandle()オペレーションのうちの1つ
以上を実行することを除けば、本実施形態は上述のステ
ップ60〜64(図11)と同じステップを含む。
【0050】図12を参照すると、コンポーネント20
はステップ70で発見プロセスを実行し、上述のように
データオブジェクト22bをイントロスペクトすること
で、コンポーネント22が通知インタフェースに関連す
ると判定する。ステップ72でコンポーネント20は、
コンポーネント22に関連し、register()オペレーショ
ンを実行することでコンポーネント22がコンポーネン
ト20にイベント通知を与えることを要求するようにコ
ンポーネント20に命令する命令を含む通知インタフェ
ースを起動する。コンポーネント22は、ステップ74
でコンポーネント22がコンポーネント20に通知すべ
き状況がコンポーネント22で生じたときに、イベント
通知オブジェクトをコンポーネント20にリターンす
る。ステップ76でコンポーネント20は、イベント通
知オブジェクトを使用しイベント情報をユーザに表示す
るために上述のようなユーザウィンドウを生成する。
【0051】上述の本発明の種々の方法のうち1つ以上
をコンピュータで読取可能な媒体に保存しユーザに分配
することができることを理解されたい。これによってユ
ーザはその方法を媒体からメモリにダウンロードするこ
とができ、その方法は新しいコンポーネントに関連する
プロセッサによって実行される。こうして新しいコンポ
ーネントが通信システム10のコンポーネントと通信で
きるようになる。さらに、又は或いは、本発明の種々の
方法のうち1つ以上を、搬送波を含むコンピュータデー
タ信号の形態で、回線ベース又は無線ネットワーク環境
で新しいコンポーネントに伝送しメモリにダウンロード
してプロセッサで実行することができ(メモリとプロセ
ッサは新しいコンポーネントに関連する)、新しいコン
ポーネントが通信システム10のコンポーネントと通信
できるようになる。例えばユーザはインターネットウェ
ブサイトを訪れて本発明の種々の方法のうち1つ以上を
含むアプリケーションパッケージを購入し、これをコン
ピュータ、PDA装置又は携帯電話を含むユーザの新し
いコンポーネントにダウンロードすることができる。次
いでユーザは、新しいコンポーネントが通信システム1
0のコンポーネントと通信できるように、ダウンロード
したアプリケーションパッケージを使用して新しいコン
ポーネントを構成する。
【図面の簡単な説明】
【図1】一実施形態にしたがった、任意のコンポーネン
トを互いに通信させるためのシステムのブロック図であ
る。
【図2】他の実施形態にしたがった、コンテクスト・デ
ータをコンポーネントに出力するシステムのブロック図
である。
【図3】他の実施形態にしたがった、コンテクスト・デ
ータをコンポーネントに出力するプロセスのフローチャ
ートである。
【図4】他の実施形態にしたがった、ユーザインタフェ
ースをコンポーネントに与えるシステムのブロック図で
ある。
【図5】他の実施形態にしたがった、ユーザインタフェ
ースをコンポーネントに与えるプロセスのフローチャー
トである。
【図6】他の実施形態にしたがった、コンポーネントの
ユーザインタフェースの構造を保存するシステムのブロ
ック図である。
【図7】他の実施形態にしたがった、コンポーネントの
ユーザインタフェースの構造を保存するプロセスのフロ
ーチャートである。
【図8】他の実施形態にしたがった、あるコンポーネン
トから他のコンポーネントにデータを転送するシステム
のブロック図である。
【図9】他の実施形態にしたがった、あるコンポーネン
トから他のコンポーネントにデータを転送するプロセス
のフローチャートである。
【図10】他の実施形態にしたがった、コンポーネント
のアグレゲーションと通信するシステムのブロック図で
ある。
【図11】他の実施形態にしたがった、コンポーネント
のアグレゲーションと通信するプロセスのフローチャー
トである。
【図12】他の実施形態にしたがった、コンポーネント
にイベント通知を与えるプロセスのフローチャートであ
る。
【符号の説明】
10 通信システム 20〜24 コンポーネント 20a〜24a ユニバーサルインタフェース 21b〜24b データオブジェクト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーク ダブリュ. ニューマン アメリカ合衆国 94110 カリフォルニア 州 サン フランシスコ ポトレロ アヴ ェニュー 1237 ナンバーエー. (72)発明者 ジャナ ゼット. セディヴィー アメリカ合衆国 94305 カリフォルニア 州 スタンフォード マクファーランド コート 109 ナンバー4ディー. Fターム(参考) 5B089 GA21 GB01 KA10 KF04

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 1つ以上のユニバーサルインタフェース
    に関連する第1のコンポーネントと、 前記第1のコンポーネントに関連する前記1つ以上のユ
    ニバーサルインタフェースのうち1つを取得し、前記第
    1のコンポーネントと通信するために前記ユニバーサル
    インタフェースのうち少なくとも1つを起動する第2の
    コンポーネントと、 を含む、1つ以上の任意のコンポーネントを互いに通信
    させるシステム。
  2. 【請求項2】 第1のコンポーネントに関連する1つ以
    上のユニバーサルインタフェースのうち1つを取得する
    ステップと、 第1のコンポーネントと通信するために前記ユニバーサ
    ルインタフェースのうち少なくとも1つを起動するステ
    ップと、 を含む、1つ以上の任意のコンポーネントを互いに通信
    させる方法。
  3. 【請求項3】 1つ以上の任意のコンポーネントを互い
    に通信させるための命令を保存したコンピュータ読取可
    能媒体であって、該命令が1つ以上のプロセッサで実行
    されると、前記プロセッサは、 第1のコンポーネントに関連する1つ以上のユニバーサ
    ルインタフェースのうち1つを取得するステップと、 前記第1のコンポーネントと通信するために前記ユニバ
    ーサルインタフェースのうち少なくとも1つを起動する
    ステップと、 を実行する、コンピュータ読取可能媒体。
JP2002093413A 2001-04-20 2002-03-29 1つ以上の任意のコンポーネントを互いに通信させるシステム及び方法ならびにコンピュータ読取可能媒体 Pending JP2002366455A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/838,933 US7296042B2 (en) 2001-04-20 2001-04-20 System and method for enabling communication among arbitrary components
US838933 2001-04-20

Publications (1)

Publication Number Publication Date
JP2002366455A true JP2002366455A (ja) 2002-12-20

Family

ID=25278424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002093413A Pending JP2002366455A (ja) 2001-04-20 2002-03-29 1つ以上の任意のコンポーネントを互いに通信させるシステム及び方法ならびにコンピュータ読取可能媒体

Country Status (3)

Country Link
US (1) US7296042B2 (ja)
EP (1) EP1251430A3 (ja)
JP (1) JP2002366455A (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555287B1 (en) 2001-11-01 2009-06-30 Nokia Corporation Customized messaging between wireless access point and services
US7340214B1 (en) 2002-02-13 2008-03-04 Nokia Corporation Short-range wireless system and method for multimedia tags
US7102640B1 (en) * 2002-03-21 2006-09-05 Nokia Corporation Service/device indication with graphical interface
US7526482B2 (en) * 2002-08-01 2009-04-28 Xerox Corporation System and method for enabling components on arbitrary networks to communicate
US20040045009A1 (en) * 2002-08-29 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Observation tool for signal processing components
US7904720B2 (en) * 2002-11-06 2011-03-08 Palo Alto Research Center Incorporated System and method for providing secure resource management
US7549047B2 (en) * 2002-11-21 2009-06-16 Xerox Corporation Method and system for securely sharing files
US7624143B2 (en) 2002-12-12 2009-11-24 Xerox Corporation Methods, apparatus, and program products for utilizing contextual property metadata in networked computing environments
US6810363B2 (en) * 2002-12-12 2004-10-26 Xerox Corporation Methods, apparatus, and program products for analyzing context in a networked computing environment
US7461172B2 (en) * 2002-12-12 2008-12-02 Xerox Corporation Methods, apparatus, and program products for configuring components in networked computing environments
US7398534B2 (en) * 2002-12-18 2008-07-08 Palo Alto Research Center Incorporated System and method for assessing component capabilities
US20040181517A1 (en) * 2003-03-13 2004-09-16 Younghee Jung System and method for social interaction
US7668903B2 (en) 2003-07-07 2010-02-23 Xerox Corporation Method and apparatus for dynamically delivering service profiles to clients
US7376834B2 (en) * 2003-07-18 2008-05-20 Palo Alto Research Center Incorporated System and method for securely controlling communications
US7886307B1 (en) * 2003-09-26 2011-02-08 The Mathworks, Inc. Object-oriented data transfer system for data sharing
US20050091405A1 (en) * 2003-09-30 2005-04-28 Jerry J. Liu Method and system for using multiple data type representations to deliver data objects to components in a distributed system
US20050100166A1 (en) * 2003-11-10 2005-05-12 Parc Inc. Systems and methods for authenticating communications in a network medium
US20060075075A1 (en) * 2004-10-01 2006-04-06 Malinen Jouni I Method and system to contextually initiate synchronization services on mobile terminals in an enterprise environment
US8115945B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and systems for imaging device job configuration management
US7920101B2 (en) 2004-10-08 2011-04-05 Sharp Laboratories Of America, Inc. Methods and systems for imaging device display standardization
US8065384B2 (en) 2004-10-08 2011-11-22 Sharp Laboratories Of America, Inc. Methods and systems for imaging device event notification subscription
US8156424B2 (en) 2004-10-08 2012-04-10 Sharp Laboratories Of America, Inc. Methods and systems for imaging device dynamic document creation and organization
US8120799B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for accessing remote, descriptor-related data at an imaging device
US8115944B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and systems for local configuration-based imaging device accounting
US8006176B2 (en) 2004-10-08 2011-08-23 Sharp Laboratories Of America, Inc. Methods and systems for imaging-device-based form field management
US8120793B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for displaying content on an imaging device
US8120797B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for transmitting content to an imaging device
US8384925B2 (en) 2004-10-08 2013-02-26 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting data management
US8237946B2 (en) 2004-10-08 2012-08-07 Sharp Laboratories Of America, Inc. Methods and systems for imaging device accounting server redundancy
US8213034B2 (en) 2004-10-08 2012-07-03 Sharp Laboratories Of America, Inc. Methods and systems for providing remote file structure access on an imaging device
US8120798B2 (en) 2004-10-08 2012-02-21 Sharp Laboratories Of America, Inc. Methods and systems for providing access to remote, descriptor-related data at an imaging device
US8060930B2 (en) 2004-10-08 2011-11-15 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential receipt and authentication
US8060921B2 (en) 2004-10-08 2011-11-15 Sharp Laboratories Of America, Inc. Methods and systems for imaging device credential authentication and communication
US8125666B2 (en) 2004-10-08 2012-02-28 Sharp Laboratories Of America, Inc. Methods and systems for imaging device document management
US8115947B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and systems for providing remote, descriptor-related data to an imaging device
US8115946B2 (en) 2004-10-08 2012-02-14 Sharp Laboratories Of America, Inc. Methods and sytems for imaging device job definition
US8230328B2 (en) 2004-10-08 2012-07-24 Sharp Laboratories Of America, Inc. Methods and systems for distributing localized display elements to an imaging device
US20060082826A1 (en) * 2004-10-18 2006-04-20 Christian Joly Intelligent photo printer
US8875040B2 (en) * 2005-06-07 2014-10-28 Rockwell Automation Technologies, Inc. Universal web-based reprogramming method and system
US7644184B2 (en) * 2004-12-08 2010-01-05 International Business Machines Corporation Universal adapter
US8428484B2 (en) 2005-03-04 2013-04-23 Sharp Laboratories Of America, Inc. Methods and systems for peripheral accounting
US20070261027A1 (en) * 2006-05-08 2007-11-08 International Business Machines Corporation Method and system for automatically discovering and populating a palette of reusable dialog components
US20090091791A1 (en) * 2006-09-28 2009-04-09 Andrew Rodney Ferlitsch Methods and systems for third-party administrative control of remote imaging jobs and imaging devices
US8345272B2 (en) * 2006-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for third-party control of remote imaging jobs
US7689311B2 (en) * 2007-05-29 2010-03-30 Palo Alto Research Center Incorporated Model-based planning using query-based component executable instructions
US8636670B2 (en) 2008-05-13 2014-01-28 The Invention Science Fund I, Llc Circulatory monitoring systems and methods
US20090287120A1 (en) 2007-12-18 2009-11-19 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Circulatory monitoring systems and methods
US9717896B2 (en) 2007-12-18 2017-08-01 Gearbox, Llc Treatment indications informed by a priori implant information
US8516001B2 (en) * 2008-06-24 2013-08-20 Microsoft Corporation Context platform
US20090320143A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation Sensor interface
US10169608B2 (en) 2016-05-13 2019-01-01 Microsoft Technology Licensing, Llc Dynamic management of data with context-based processing

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
AU3060097A (en) * 1996-05-14 1997-12-05 Ricoh Corporation Java printer
US6003065A (en) * 1997-04-24 1999-12-14 Sun Microsystems, Inc. Method and system for distributed processing of applications on host and peripheral devices
US6892230B1 (en) * 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
WO2001052480A1 (de) * 2000-01-14 2001-07-19 Swisscom Mobile Ag Kommunikationssystem und dafür geeignete steuereinheit
US6430395B2 (en) * 2000-04-07 2002-08-06 Commil Ltd. Wireless private branch exchange (WPBX) and communicating between mobile units and base stations

Also Published As

Publication number Publication date
US20020156795A1 (en) 2002-10-24
EP1251430A3 (en) 2004-09-15
EP1251430A2 (en) 2002-10-23
US7296042B2 (en) 2007-11-13

Similar Documents

Publication Publication Date Title
JP2002366455A (ja) 1つ以上の任意のコンポーネントを互いに通信させるシステム及び方法ならびにコンピュータ読取可能媒体
US7552265B2 (en) System and method for providing context information
CN108989372B (zh) 服务发现的方法、注册中心和设备
JP3915797B2 (ja) プラグアンドプレイ機能を有するフレームワークおよびその再構成方法
US7526482B2 (en) System and method for enabling components on arbitrary networks to communicate
US7631033B2 (en) Hosted method and system for automated proxy creation of device resident services
US20030009539A1 (en) Distributed object middleware connection method
US7277915B2 (en) Application-based protocol and proxy selection by a mobile device in a multi-protocol network environment
JP4424910B2 (ja) 任意のコンポーネントに相互にデータを転送させるシステム
US7873647B2 (en) Web services device profile on a multi-service device: device and facility manager
Landis et al. Reaching out to the cell phone with Jini
EP1734443A1 (en) Access to a mobile device from another device
JP5272400B2 (ja) 新たなサービスを装置に動的に追加するための方法、装置及びコンピュータプログラム
US7685303B2 (en) Object-oriented discovery framework
US7367029B2 (en) Method and system for handling data
JP5042415B2 (ja) クライアントサーバシステム
JP2003076563A (ja) 分散オブジェクトミドルウェア連携方法及びプログラムを記録した記録媒体並びにプログラム
JP2011510529A (ja) 単一の要求ベースのメッセージを用いてウェブサービスのシーケンスを呼び出すためのデバイスおよび方法
US7870275B1 (en) Communication scheme-independent infrastructure
Raza et al. Network service configuration with Jini: a plug-and-play approach
JP5020046B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
Lim et al. A Simple Service Discovery and Delivery Protocol for Ubiquitous Environments
JP2002330250A (ja) データ転送システムおよびファクシミリ送信システム
JP2002116919A (ja) ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法
JP2001325183A (ja) ネットワーク文書処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080310

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080415