JP2005533294A - サービス取得方法およびサービス取得システム - Google Patents
サービス取得方法およびサービス取得システム Download PDFInfo
- Publication number
- JP2005533294A JP2005533294A JP2003527598A JP2003527598A JP2005533294A JP 2005533294 A JP2005533294 A JP 2005533294A JP 2003527598 A JP2003527598 A JP 2003527598A JP 2003527598 A JP2003527598 A JP 2003527598A JP 2005533294 A JP2005533294 A JP 2005533294A
- Authority
- JP
- Japan
- Prior art keywords
- service
- network
- processing function
- client
- remote device
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000009877 rendering Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 35
- 230000006870 function Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 9
- 238000007639 printing Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
サービス(149)を取得するシステム、サービスを取得する方法、およびサービスを取得する、コンピュータ可読媒体に具体化されたプログラムを提供する。たとえば、この方法は、ネットワーク(109)に接続されたプロセッサベースのシステムで処理機能を実行するのに必要なサービス(149)を特定するステップと、上記サービス(149)で処理機能を実行するために上記ネットワーク(109)上で少なくとも1つの遠隔デバイス(103)を検索するステップとを含む。
Description
本発明は、包括的には、ネットワークアプリケーションの分野に関し、詳細には、ネットワーク上のサービスを取得するためのシステムおよび方法に関する。
パーソナルコンピュータの普及およびインターネットの出現により、一般の人々に利用可能なサービスおよびアプリケーションの数が劇的に増加した。具体的には、平均的なユーザのパーソナルコンピュータなどで実行可能なソフトウェアアプリケーションおよびサービスが、多数の場所から入手可能であり、インターネットを介してオンラインで接続される。
例えば、文書の印刷またはそれ以外の描写に使用可能な多くの異なるソフトウェアアプリケーションが存在する。このようなアプリケーションにより、ユーザは、メモリに記憶されるデジタル文書を作成することが可能となることが多い。デジタル文書の特定のデジタルフォーマットは、その作成で使用される特定のアプリケーションと互換性のあるメーカ独自のフォーマットであることが多い。例えば、ワシントン州レドモンドのMicrosoft Corporationによって作成されたMicrosoft Wordや、カリフォルニア州サンノゼのAdobe Systems, Inc.によって作成されたAdobe Acrobatといったソフトウェアパッケージを使用してデジタル文書を作成することができる。
デジタル文書または他のファイルを具体的に表現できる多くの異なるフォーマットが存在することから、時に、ユーザは、これらのデジタル文書または他のファイルを印刷または閲覧等するための描写に必要な対応するアプリケーションがなくても、自身のコンピュータシステムでこのような文書または他のファイルにアクセスできる場合が発生する。例えば、ユーザは、このような文書または他のファイルをインターネットにより電子メールを介して添付書類として受信することができる。対応するアプリケーションが、ユーザのコンピュータにインストールされていない場合、ユーザは、特定の文書またはファイルを印刷、閲覧、または他の操作等を行うために描写することが妨げられることがあり、それ以外のアクセスおよび利用も妨げられることがある。
また、いくつかの状況において、ユーザは、自身のコンピュータシステムにアプリケーションの更新版を有しないことがある。例えば、文書を印刷する際、多くの場合、ドライバが、コンピュータシステムによって使用され、プリンタとの通信および他の印刷操作を実行する。時に、ユーザのコンピュータシステムによって現在使用されているドライバのより新しい版が入手可能であることがある。しかしながら、ユーザは、そのドライバのより新しい版を取得するのに必要な動作を手動で行わない限り、古いドライバが継続して使用されることになる。その結果、ユーザは、ドライバの新しい版に伴う利益を何ら受けることができない。
前記内容に鑑み、本発明は、サービスを取得するシステム、サービスを取得する方法、およびサービスを取得する、コンピュータ可読媒体に具体化されたプログラムを提供する。一実施の形態では、この方法は、ネットワークに接続されたプロセッサベースのシステムで所定の処理機能を実行するのに必要なサービスを特定するステップと、上記サービスを得るために上記ネットワーク上で少なくとも1つの遠隔デバイスを検索して、上記所定の処理機能を実行するステップとを含む。
別の実施の形態では、本発明は、サービスを取得する、コンピュータ可読媒体に記憶されたプログラムを提供する。この点について、このプログラムは、ネットワークに接続されたプロセッサベースのシステムで所定の処理機能を実行するのに必要なサービスを特定するコードと、上記サービスを得るために上記ネットワーク上で少なくとも1つの遠隔デバイスを検索して、上記所定の処理機能を実行するコードとを含む。
さらに別の実施形態において、サービスを取得するシステムが提供される。このことに関して、本システムは、ネットワークに接続されたプロセッサベースのシステムで所定の処理機能を実行するのに必要なサービスを特定する手段を備える。本システムではまた、サービスを得るために、ネットワーク上で少なくとも1つの遠隔デバイスを検索し、それによって所定の処理機能を実行する。
本発明は、図面を参照することにより理解することができる。図面の構成要素は、必ずしも同一縮尺あるとは限らない。また、図面では、いくつかの図を通して、同じ参照符号は、対応する部分を示す。
図1を参照して、本発明の一態様によるデータ通信ネットワーク100を示す。このデータ通信ネットワーク100は、サービスサーバ103およびクライアント106を備える。これらのサービスサーバ103およびクライアント106の双方とも、ネットワーク109に接続されている。この点で、サービスサーバ103およびクライアント106は、例えば、プロセッサベースのシステムまたは当業者がよく理解できるような同様の機能を有するシステムといったコンピュータシステムを備えていてもよい。
ネットワーク109には、例えば、インターネット、イントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線ネットワーク、もしくは他の適切なネットワークなど、またはこのようなネットワークの2つまたは3つ以上の任意の組み合わせが含まれる。サービスサーバ103およびクライアント106がネットワーク109に接続されることにより、当業者に一般に知られているようなネットワーク109を介した相互のデータ通信が容易になる。例えば、サービスサーバ103およびクライアント106は、共に、例えばネットワークカード、モデム、または他の通信デバイスといったさまざまなデバイスを使用してネットワーク109にリンクすることができる。
クライアント106は、表示デバイス113、マウス116、キーボード119、およびプリンタ123を備える。表示デバイス113は、例えば、陰極線管(CRT)、液晶表示スクリーン、ガスプラズマベースのフラットパネルディスプレイ、または他の適切な表示デバイスであってもよい。プリンタ123は、クライアント106に直接接続されたローカルプリンタ、または、ネットワーク109に直接接続されたネットワークプリンタなどであってもよい。また、他の周辺デバイスも、クライアント106と共に使用されてもよい。他の周辺デバイスとしては、例えば、キーパッド、タッチパッド、タッチスクリーン、マイク、スキャナ、ジョイスティック、または1つもしくは2つ以上のプッシュボタン、インジケータライト、スピーカ、さらには、当業者がよく理解できるような他のデバイスといったものがある。サーバ103も、クライアント106と共に使用されるすべての周辺デバイスを備えてもよい。
サービスサーバ103は、プロセッサ133およびメモリ136を有するプロセッサ回路を含む。これらのプロセッサ133およびメモリ136の双方とも、ローカルインターフェース139に接続されている。この点で、ローカルインターフェース139は、当業者が一般に理解するような付属した制御/アドレスバスを有するデータバスであってもよい。このように、サービスサーバ103は、当業者がよく理解できるようなプロセッサベースのシステムである。オペレーティングシステム143およびネットワークサーバ146が、メモリ136に記憶され、プロセッサ133によって実行可能である。ネットワークサーバ146は、例えば、ウェブサーバであってもよいし、当業者がよく理解できるような同様のデバイスであってもよい。ネットワークサーバ146は、後述するように、要求を行うクライアント106に「サービス」149を提供する。
クライアント106も、プロセッサ153およびメモリ156を有するプロセッサ回路を含む。これらのプロセッサ153およびメモリ156の双方とも、ローカルインターフェース159に接続されている。この点で、ローカルインターフェース159は、例えば、当業者がよく理解できるような付属した制御/アドレスバスを有するデータバスであってもよい。このように、クライアント106は、当業者がよく理解できるようなプロセッサベースのシステムである。オペレーティングシステム163、1つまたは2つ以上のアプリケーション166、およびサービスロケータ169が、メモリ156に記憶され、プロセッサ153によって実行可能である。オペレーティングシステム163、アプリケーション166、およびサービスロケータ169の動作については、後述する。
プリンタ123も、プロセッサ173およびメモリ176を有するプロセッサ回路を含む。これらのプロセッサ173およびメモリ176の双方とも、ローカルインターフェース179に接続されている。ローカルインターフェース179は、例えば、当業者がよく理解できるような付属した制御/アドレスバスを有するデータバスであってもよい。この点で、プリンタ123は、当業者がよく理解できるようなプロセッサベースのシステムである。オペレーティングシステム183およびプリンタ制御システム186が、メモリ176に記憶され、プロセッサ173によって実行可能である。プリンタ123が、ネットワーク対応プリンタ109である場合には、サービスロケータ169も、プリンタ123内に配置することができる。
メモリ136、156、176のそれぞれには、揮発性メモリ素子および不揮発性メモリ素子の双方が含まれ得る。揮発性素子は、電源が切れると、データ値を保持しない素子である。不揮発性素子は、電源が切れても、データを保持する素子である。したがって、メモリ136、156、176のそれぞれには、例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、ハードディスクドライブ、関連したフロッピィディスクドライブを介してアクセスされるフロッピィディスク、コンパクトディスクドライブを介してアクセスされるコンパクトディスク、適切なテープドライブを介してアクセスされる磁気テープ、および/もしくは他のメモリ素子、またはこれらのメモリ素子の任意の2つまたは3つ以上を組み合わせたものが含まれ得る。さらに、RAMには、例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)および他のこのようなデバイスが含まれ得る。ROMには、例えば、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、または他の同様のメモリデバイスが含まれ得る。
また、プロセッサ133、153、および173のそれぞれは、並列処理回路でそれぞれ動作する複数のプロセッサを表してもよく、メモリ136、156、176のそれぞれは、並列処理回路でそれぞれ動作する複数のメモリを代表してもよい。このような場合、ローカルインターフェース139、159、179のそれぞれは、複数のプロセッサのうちの任意の2つの間の通信、任意のプロセッサとメモリのうちの任意のものとの間の通信、または、メモリのうちの任意の2つの間の通信等を容易にする適切なネットワークとすることができる。プロセッサ133、153、173は、実際には電気によるものであってもよいし、光によるものであってもよい。
オペレーティングシステム143、163、および183は、サービスサーバ103、クライアント106、およびプリンタ123のハードウェア資源の割り当ておよび使用をそれぞれ制御するために実行される。具体的には、オペレーティングシステム143、163、および183は、メモリ136、156、176のさまざまな部分の割り当ておよび使用、処理時間、ならびに周辺デバイスを制御すると共に、他の機能も実行する。このように、オペレーティングシステム143、163、183は、当業者に一般に知られているように、アプリケーションが依拠する土台としての機能を果たす。
次に、データ通信ネットワーク100のさまざまな構成要素の動作の概要を提供する。しかしながら、その動作の解説を行う前に、まず、「サービス」149の定義を提供する。特に、本明細書で説明するようなサービス149には、クライアント106、サービスサーバ103、またはプリンタ123で実施できるアプリケーションを含んださまざまなソフトウェアサービスまたは他のサービスが含まれる。例えば、サービス149は、特定のアプリケーション166であってもよいし、アプリケーション166の一部であってもよい。特に、アプリケーション166が、ワードプロセッサであると仮定する。この場合、文書を印刷するために、サービス149は、プリンタ123で文書を印刷する際にそのワードプロセッサによって使用されるドライバまたはフォントであってもよい。他の状況では、サービス149は、ネットワーク109を介して利用可能なサービスサーバ103上の任意のタイプのプログラムまたはアプリケーションであってもよい。特に、サービス149には、例えば、クライアント106によってアクセスされて特定のタスクを実行できる任意のオンラインアプリケーションが含まれ得る。例えば、サービス149には、ある言語のテキストを別の言語に自動翻訳する翻訳サービスが含まれ得る。また、サービス149には、当業者がよく理解できるような、さまざまなファイルをあるフォーマットから第2のフォーマットに変換するのに必要な機能も含まれ得る。
サービス149は、本明細書では、さまざまなシナリオの状況で説明される。このさまざまなシナリオは、サービス149が、クライアント106にダウンロードされてインストールされ、そして実行されるか、または、サービス149が、サービスサーバ103で実行されてクライアント106によってアクセスされるかのいずれかである。第1のシナリオでは、クライアント106が、特定のタスクを実行するが、その特定のタスク用のソフトウェアコンポーネントがメモリ156で利用可能でないと仮定する。例えば、クライアント106のユーザは、付属のプリンタ123で文書を印刷したいと考えるが、クライアント106が、プリンタ123に固有のフォーマットで文書を描写するのに必要なドライバを持たない場合がある。あるいは、印刷される文書が、クライアント106に含まれていないフォントを含むことがあり、したがって、それに応じて印刷できない。
この状況では、サービス149は、文書の印刷に必要なドライバの場合もあるし、フォント(1つまたは複数)の場合もある。このようなサービス149は、クライアント106が文書を適切に印刷できるように、クライアント106に取得されてインストールされなければならない。このタスクを達成するために、クライアント106には、サービスロケータ169が設けられる。このサービスロケータ169は、サービスサーバ103を検索して、サービスサーバ103からサービス149を取得する。この点で、サービスサーバ103は、それに応じて検索することができるネットワーク109に接続された多数のサーバを代表している。検索機能を実行する際、サービスロケータ169は、所望のサービス149を、そのサービス149が位置し得るさまざまなサービスサーバ103の各ユニフォームリソース指示子(URI(uniform resource indicator))にマッピングする参照表を調べることができる。参照表を調べることにより、サービスロケータ169は、必要なサービス149を見つけるために検索されるサーバ103を特定する。参照表は、サービスロケータ169の実行前に作成し、記憶しておくことができる。
第2のシナリオでは、クライアント106が、旧式の可能性のあるアプリケーション166またはサービス149をメモリ156に含む。例えば、クライアント106のユーザが、文書を印刷したいものと仮定する。また、サービス149は、プリンタに固有の言語で文書を描写するのに必要なプリンタドライバであるものと仮定する。このシナリオでは、必要なプリンタドライバの後の版が入手可能であり、かつ、サービスサーバ103に記憶されているという点で、クライアント106は、この必要なプリンタドライバの旧式である旧版を含んでいる。このような場合、サービスロケータ169は、まず、クライアント106に記憶されているドライバの現在の版の改訂日を判断する。次に、サービスロケータ169は、サービスサーバ103の検索を実行して、同じドライバまたはサービスの後の版が、サービスサーバ103に記憶されているかどうかを判断する。サービス149の後の版が、サービスサーバ103で見つかると、サービスロケータ169は、文書を印刷する際の今後の使用のために、その新版のドライバをダウンロードしてクライアント106にインストールする。
このように、あらゆる種類のサービス149の更新したものを、自動化された形式で、各サービスサーバ103からダウンロードして、クライアント106にインストールすることができる。サービスロケータ169は、ネットワーク109で利用可能なすべてのサービスサーバの中でどのサービスサーバ103を検索して、サービス149の後の版を見つけるかを判断する際に、クライアント106のメモリ156に記憶された参照表を調べることができることに留意されたい。この参照表は、捜し求めるさまざまなサービス149の更新版を提供する可能性があると判明している各サービスサーバ103のユニフォームリソース指示子(URI)に所望のサービス149をマッピングする。その結果、ネットワーク109上でのサービス149の検索は、ランダムな形式で実行されるものではない。
図2A〜図2Dを参照して、本発明の一態様によるサービスロケータ169のフローチャートを示す。あるいは、図2A〜図2Dのフローチャートは、クライアント106で実施される方法のステップ、または、サービスロケータ169がインストールされている場合のプリンタ123で実施される方法のステップとして見ることができる。
ブロック203から開始して、サービスロケータ169は、サービス149(図1)が、クライアント106(図1)で必要とされているかどうかを判断する。この点で、サービスロケータ169の実行は、クライアント106の個々のアプリケーション166(図1)によって実施することができる。このようなケースとしては、例えば、クライアント106の各サービスの後のどの改訂が、各サービスサーバ103(図1)で入手可能であるかどうかを調べることが望ましい場合が挙げられる。あるいは、サービスロケータ169は、クライアント106が有しないクライアント106の機能をユーザが実施しようとする場合に実行することができる。このようなケースとしては、例えば、ユーザが、クライアント106に存在しない特定のアプリケーション166を必要とするデータファイルまたは他のファイルにアクセスしようとする場合が挙げられる。
別の場合として、ユーザが、サービスロケータ169の機能を手動で実施することもできるし、当業者がよく理解できるように、サービスロケータ169が周期的に実行されるように構成することもできる。いずれの場合も、クライアント106がネットワーク109に接続されて、サービスサーバ103とのデータ通信が容易にされると、サービスロケータ169は実行されることが想定される。あるいは、サービスロケータ169がプリンタに配置されている場合には、プリンタ123についても同じことが言える。
あるサービスが必要とされていると仮定すると、サービスロケータ169は、ボックス206に進み、ボックス206では、必要とされているサービスのタイプが決定される。例えば、文書が印刷される場合、サービスロケータ169は、印刷タスクを実行するのに必要なさまざまな処理機能を決定する。具体的には、例えば、印刷に必要な形式で文書を描写するために、文書のフォントのすべてが、特定されて、クライアント106内に配置される。この点で、サービスロケータ169は、その文書の印刷に必要なフォントのすべてをメモリ156内に配置しようとする。これは、例えば、フォントディレクトリを調べて、必要なフォントが、クライアント106にローカルで利用可能であるかどうかを判断することにより行うことができる。
あるいは、別の例では、プリンタドライバが、各プリンタ123で文書を印刷するために必要な場合がある。この場合、サービスロケータ169は、文書を印刷するために実行されるドライバをメモリ156内で特定しようとする。このようなケースとしては、特に、さまざまなタイプのプリンタ用の多数のドライバが、クライアント106内に存在する場合が挙げられる。他のタスクを実行して、所望の処理機能を最終的に実行するために必要なサービスを正確に決定してもよいことに留意されたい。
サービスロケータ169が、必要とされる処理機能を実行するのに必要なサービス149を決定すると、サービスロケータ169は、ボックス209に進む。ボックス209では、サービス149が、クライアント106にローカルで利用可能である(すなわち、メモリ156に記憶されている)かどうかが判断される。次に、ボックス213で、その特定のサービス149が、ローカルで利用可能である場合、サービスロケータ169は、図示するようにコネクタAに進む。そうでない場合、サービスローカル169は、ボックス216に移動する。
ボックス216で、サービスロケータ169は、各サービス149に関連付けられた複数の検索場所を特定する。これらの検索場所は、例えば、さまざまなサーバ103(図1)のユニフォームリソース指示子(URI)であってもよいし、各サーバ103を特定する他の手段であってもよい。具体的には、検索場所は、クライアント106が連係してどんなサービス149をそのサーバから取得できるかを判断できる各サーバ103を指し示すネットワーク109上のアドレスとすることができる。各サービス149に関連付けられた正確な検索場所の決定は、当業者が良く理解できるように、各サービス149を検索場所とマッピングする参照表を調べることにより特定できることに留意されたい。
次に、ボックス219で、所望のサービス149に関連付けられた最初の検索場所が、検索のために指定される。その後、ボックス223で、その場所が検索されて、所望のサービス149がその場所に記憶されているかどうかが判断される。具体的には、例えば、サービスサーバ103(図1)がウェブサーバであり、ネットワーク109がインターネットであると仮定すると、クライアント106は、サービスサーバ149上で事前に定義されたURIで指定されるハイパーテキスト転送プロトコル(HTTP)要求を生成することができる。あるいは、サービスサーバ103で利用可能なさまざまなサービス149を列挙するウェブページが、サービスサーバ103に含まれるネットワークサーバ146からダウンロードされてもよい。
ボックス226で、各サービス149が現在の検索場所で見つかると、サービスロケータ169はコネクタBに進む。そうでない場合には、サービスロケータ169はボックス229に進む。ボックス229では、所望のサービス149に関連付けられた最後の検索場所が検索されたかどうかが判断される。最後の検索場所が検索されていない場合には、サービスロケータ169はボックス223に進む。ボックス223では、次の検索場所が検索のために指定される。その後、サービスロケータ169は、図示するようにボックス223に戻る。一方、ボックス229で、最後の検索場所が検索されたと判断された場合には、サービスロケータ169は、コネクタCに進む。
図2Bを参照して、ボックス226(図2A)において、サービス149が各サービスサーバ103(図1)で発見された場合におけるサービスロケータ169のさらに別の機能を示す。ボックス236では、新しく発見されたサービス149(図1)が、実行のためにサービスサーバ103からクライアント106にダウンロードされ、クライアント106にインストールされる。その後、ボックス239において、インストールが成功した場合、サービスロケータ169はそれに応じて終了する。他方で、インストールが失敗した場合には、サービスロケータ169はボックス243に進む。ボックス243では、サービス149が、インストールの失敗または他の問題のために利用可能でないことがユーザに告げられる。その後、サービスロケータ169は終了し、それによって、同じサービス103からサービス149を取得しようとするさらに別の試みが防止される。
図2Cを参照して、ボックス229(図2A)において、最後の検索場所が検索されていた場合におけるサービスロケータ169のさらに別の機能を示す。最後の検索場所が検索されていたと仮定すると、サービスロケータ169はボックス253に進む。ボックス253では、手動検索プロンプトが、表示デバイス113(図1)に表示される。この手動検索プロンプトは、クライアント106に記憶された参照表で指定される関連付けられたサービスサーバ103のいずれにおいても各サービス149を見つけることができなかったことをユーザに告げる。また、手動検索プロンプトは、ユーザが手動検索を実行したいかどうかに関する選択肢もユーザに提供する。ボックス256で、ユーザが、手動検索を実行したいことを示した場合には、サービスロケータ169は、ボックス259に進む。そうでない場合には、サービスロケータ169はそれに応じて終了する。ボックス259では、適切なアプリケーションが、クライアント106で実行され、それによって、ユーザは、所望のサービス149の手動によるネットワーク検索を実行することが可能となる。この点で、このアプリケーションは、例えばブラウザであってもよいし、手動形式でネットワーク109を検索する機能を提供する他のアプリケーションであってもよい。その後、サービスロケータ169は終了する。
次に、図2Dを参照して、本発明の一態様によるサービスロケータ169のさらに別の機能を示す。サービスロケータは、所望のサービス149がクライアント106でローカルで利用可能であると判断したものと仮定すると、サービスロケータ169は、コネクタAを通じてボックス263に進む。例えば、サービス149が、クライアント106にインストールされているか、またはそれ以外に、サービス149の検索を実行することなくクライアント106によってアクセス可能である場合には、そのサービス149は、クライアント106にローカルで利用可能である。ボックス263で、サービスロケータは、クライアント106にローカルにあるサービス149の正確な改訂日を決定する。この決定は、サービスサーバ103内に記憶されている同じサービス149の可能性のある後の改訂日と比較するための改訂日を得るために行われる。
その後、ボックス266で、所望のサービス149に関連付けられた検索場所が、例えば参照表を使用するか、またはさまざまな検索場所を記憶してそれらの検索場所を各サービス149に関連付ける他の手段を使用することによって特定される。次に、ボックス269で、関連付けられた検索場所のうちの最初のものが、検索のために指定される。次に、ボックス273で、各検索場所に相応する各サービスサーバ103から各ディレクトリおよび/または他の情報をダウンロードすることにより、指定された検索場所が検索される。ローカルにあるサービス149の将来版であり得る版が一般に提供されていることが判明しているか、または、そうでない場合にはアクセス可能になっていることが判明している検索場所が、検索される検索場所であることに留意されたい。ボックス276で、検索場所で見つかったローカルにあるサービス149のいずれかの版が、クライアント106にローカルにある版よりも後である場合には、サービスロケータ169は、ボックス279に進む。ボックス279では、その後の版が、今後の使用のために、クライアント106にダウンロードされて、クライアント106にインストールされる。その後、サービスロケータ169は終了する。
一方、ボックス276で、ローカルにあるサービス149の後の版が見つからなかった場合には、サービスロケータ169はボックス283に進む。ボックス283では、最後の検索場所が検索されたかどうかが判断される。最後の検索場所が検索されていない場合には、サービスロケータ169はボックス286に戻る。ボックス286では、次の検索場所が検索のために指定される。その後、検索ロケータ169はボックス273に戻る。他方で、ボックス283で、最後の検索場所が検索されている場合には、サービスロケータ169は終了する。このような場合、クライアント106にローカルにあるサービス149が、実行されるタスクに使用される。
本発明のサービスロケータ169(図1および図2A〜図2D)は、上述したような汎用のハードウェアによって実行されるソフトウェアまたはコードで具体化されるが、別の方法として、サービスロケータ169を専用ハードウェアで具体化することもできるし、ソフトウェア/汎用ハードウェアおよび専用ハードウェアを組み合わせたもので具体化することもできる。専用のハードウェアで具体化する場合、サービスロケータ169は、複数の技術のいずれか1つもしくはこれら多数の技術を組み合わせたものを使用する回路または状態機械として実施することができる。これらの技術には、例えば、1つまたは2つ以上のデータ信号が適用されるとさまざまな論理機能を実施する論理ゲートを有するディスクリート論理回路、適切な論理ゲートを有する特定用途向け集積回路、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)、または他の素子などが含まれ得るが、これらに限定されるものではない。このような技術は一般に、当業者に既知であるので、本明細書では詳細に説明しない。
図2A〜図2Dのフローチャートは、サービスロケータ169の一実施態様のアーキテクチャ、機能、および動作を示している。ソフトウェアで具体化される場合、各ブロックは、指定された論理機能(複数可)を実施するプログラム命令を含んだコードのモジュール、セグメント、または一部を表すことができる。これらのプログラム命令は、プログラミング言語で記述された人間が読むことができる文を含んだソースコードの形式で具体化することもできるし、コンピュータシステムまたは他のシステムのプロセッサといった適切な実行システムによって認識可能な数値命令を含んだ機械コードの形式で具体化することもできる。機械コードは、ソースコードなどから変換することができる。ハードウェアで具体化される場合、各ブロックは、指定された論理機能(複数可)を実施する1つの回路または複数の相互接続された回路を表すことができる。
図2A〜図2Dのフローチャートは、特定の実行順序を示しているが、実行順序は、示したものと異なってよいことが分かる。例えば、2つまたは3つ以上のブロックの実行順序は、図示した順序に対してスクランブルされてもよい。また、図2A〜図2Dに連続して示す2つまたは3つ以上のブロックは、同時に実行されてもよいし、部分的に同時に実行されてもよい。さらに、任意の個数のカウンタ、状態変数、警告発行セマフォ(warning semaphore)、またはメッセージが、有用性の強化、課金、性能測定、または故障診断の支援の提供などの目的で、本明細書で説明した論理フローに追加されてもよい。このようなすべての変形は、本発明の範囲内に含まれることが分かる。また、図2A〜図2Dのフローチャートは、比較的一目瞭然であり、ソフトウェアおよび/またはハードウェアが本明細書で説明したようなさまざまな論理機能を実行するように当業者が作成可能である程度に、当業者によって理解される。
また、サービスロケータ169が、ソフトウェアまたはコードを含む場合、サービスロケータ169は、命令実行システムにより使用されるか、または、命令実行システムと共に使用される任意のコンピュータ可読媒体に具体化することができる。この命令実行システムは、例えばコンピュータシステムのプロセッサまたは他のシステムのプロセッサといったものである。この意味で、論理には、例えば、コンピュータ可読媒体からフェッチでき、命令実行システムによって実行できる命令および宣言を含む文が含まれ得る。本発明の状況では、「コンピュータ可読媒体」は、命令実行システムにより使用されるか、または、命令実行システムと共に使用されるサービスロケータ169の収容、記憶、または維持を行うことができる任意の媒体とすることができる。このコンピュータ可読媒体には、例えば電子媒体、磁気媒体、光媒体、電磁気媒体、赤外線媒体、または半導体媒体といった多くの物理媒体の任意の一つが含まれ得る。適切なコンピュータ可読媒体のさらに具体的な例には、磁気テープ、磁気フロッピィディスケット、磁気ハードドライブ、またはコンパクトディスクが含まれるが、これらに限定されるものではない。また、コンピュータ可読媒体は、ランダムアクセスメモリ(RAM)であってもよく、このランダムアクセスメモリには、例えば、スタティックランダムアクセスメモリ(SRAM)およびダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセス(MRAM)が含まれる。さらに、コンピュータ可読媒体は、読み出し専用メモリ(ROM)、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、または他のタイプのメモリデバイスであってもよい。
本発明をある一定の好ましい実施の形態に関して図示して説明してきたが、当業者が本明細書を読んで理解すると、その当業者には均等物および変更が思い浮かぶことは明らかである。本発明は、このようなすべての均等物および変更を含むものであり、特許請求の範囲によってのみ限定される。
Claims (10)
- ネットワークに接続されたプロセッサベースのシステムで所定の処理機能を実行するのに必要なサービスを特定することと、
前記所定の処理機能を実行するための前記サービスを求めて、前記ネットワーク上の少なくとも1つの遠隔デバイスを検索することと、
を含む、サービス取得方法。 - 前記サービスがローカルにあるかどうかを判定することをさらに含み、
前記ネットワーク上の少なくとも1つの遠隔デバイスを検索することは、前記サービスがローカルにない場合に実施される、請求項1に記載のサービス取得方法。 - ローカルにある前記サービスの第1の改訂を見つけることをさらに含み、
前記ネットワーク上で少なくとも1つの遠隔デバイスを検索することは、前記第1の改訂よりも後である前記サービスの第2の改訂を得るために前記少なくとも1つの遠隔デバイスを検索することをさらに含む、
請求項1に記載のサービス取得方法。 - 前記サービスが前記少なくとも1つの遠隔デバイスで見つかった場合、該少なくとも1つの遠隔デバイスから前記サービスを自動的にダウンロードすることと、
前記プロセッサベースのシステムに前記サービスを自動的にインストールすることと、
前記所定の処理機能を実行することと、
をさらに含む、請求項1に記載のサービス取得方法。 - 前記ネットワークに接続された前記プロセッサベースのシステムで前記所定の処理機能を実行するのに必要なサービスを特定することは、デジタル文書を検査して該デジタル文書に含まれるフォントを判定することをさらに含み、前記サービスはフォントであり、前記所定の処理機能は、前記デジタル文書の描写を行うことを伴う、請求項2に記載のサービス取得方法。
- ネットワークに接続されたプロセッサベースのシステムで所定の処理機能を実行するのに必要なサービスを特定する手段と、
前記所定の処理機能を実行するための前記サービスを求めて、前記ネットワーク上の少なくとも1つの遠隔デバイスを検索する手段とを備える、サービス取得システム。 - 前記サービスがローカルにあるかどうかを判定する手段をさらに備え、
前記サービスで前記所定の処理機能を実行するために前記ネットワーク上で少なくとも1つの遠隔デバイスを検索する手段は、前記サービスがローカルにない場合に実施される、請求項6に記載のサービス取得システム。 - ローカルにある前記サービスの第1の改訂を見つける手段をさらに備え、
前記サービスで前記所定の処理機能を実行するために前記ネットワーク上で少なくとも1つの遠隔デバイスを検索する手段は、前記第1の改訂より後である前記サービスの第2の改訂を得るために前記少なくとも1つの遠隔デバイスを検索する手段をさらに備える、請求項6に記載のサービス取得システム。 - 前記サービスで前記所定の処理機能を実行するために前記ネットワーク上で少なくとも1つの遠隔デバイスを検索する手段は、前記サービスを前記少なくとも1つの遠隔デバイスに関連付けるディレクトリを調べる手段をさらに備える、請求項6に記載のサービス取得システム。
- 前記ネットワークに接続された前記プロセッサベースのシステムで前記所定の処理機能を実行するのに必要な前記サービスを特定する手段は、デジタル文書を検査して該デジタル文書に含まれるフォントを判定する手段をさらに備え、前記サービスはフォントであり、前記所定の処理機能は、前記デジタル文書の描写を行うことを伴う、請求項7に記載のサービス取得システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/954,666 US6907444B2 (en) | 2001-09-12 | 2001-09-12 | System and method to automatically obtain a service |
PCT/US2002/028681 WO2003023614A2 (en) | 2001-09-12 | 2002-09-10 | System and method to automatically obtain a service |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005533294A true JP2005533294A (ja) | 2005-11-04 |
Family
ID=25495765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003527598A Withdrawn JP2005533294A (ja) | 2001-09-12 | 2002-09-10 | サービス取得方法およびサービス取得システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US6907444B2 (ja) |
JP (1) | JP2005533294A (ja) |
AU (1) | AU2002326855A1 (ja) |
GB (1) | GB2395397B (ja) |
WO (1) | WO2003023614A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010191971A (ja) * | 2006-12-14 | 2010-09-02 | Sharp Corp | 周辺デバイスのサービスを提供するための方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061490A1 (en) * | 2001-09-26 | 2003-03-27 | Abajian Aram Christian | Method for identifying copyright infringement violations by fingerprint detection |
DE502004003405D1 (de) * | 2004-07-23 | 2007-05-16 | Alcatel Lucent | Verfahren zum Erbringen von Diensten in einem Telekommunikationsnetz sowie Telekommunikationsnetz und Netzwerkknoten hierfür |
US20060218497A1 (en) * | 2005-03-28 | 2006-09-28 | International Business Machines Corporation | On-demand locale resource loading for pervasive devices |
FR2884943B1 (fr) * | 2005-04-25 | 2007-07-27 | Canon Europa Nv Naamlooze Venn | Procede de gestion de commande au sein d'un reseau de communication, dispositif de controle, produit programme d'ordinateur et moyen de stockage correspondants |
KR100812399B1 (ko) * | 2007-01-11 | 2008-03-11 | 주식회사 케이티프리텔 | 폰트 데이터가 포함된 메시지 서비스를 제공하는 이동 통신단말, 메시지 서비스 서버, 시스템 및 그 서비스 제공방법 |
EP2124146A1 (en) * | 2008-05-19 | 2009-11-25 | Alcatel Lucent | System and methods for managing applications on a mobile device adapted for reading tags |
US9319444B2 (en) | 2009-06-22 | 2016-04-19 | Monotype Imaging Inc. | Font data streaming |
US8615709B2 (en) | 2010-04-29 | 2013-12-24 | Monotype Imaging Inc. | Initiating font subsets |
US9817615B2 (en) * | 2012-12-03 | 2017-11-14 | Monotype Imaging Inc. | Network based font management for imaging devices |
WO2014100582A2 (en) | 2012-12-21 | 2014-06-26 | Monotype Imaging Inc. | Supporting color fonts |
EP2943894A2 (en) | 2013-01-09 | 2015-11-18 | Monotype Imaging Inc. | Advanced text editor |
US20150074522A1 (en) * | 2013-09-12 | 2015-03-12 | Monotype Imaging Inc. | Font Management for Editing Electronic Documents |
US9317777B2 (en) | 2013-10-04 | 2016-04-19 | Monotype Imaging Inc. | Analyzing font similarity for presentation |
US20150332493A1 (en) * | 2014-05-16 | 2015-11-19 | Clantech, Inc. | Portable Typelet File |
US9691169B2 (en) | 2014-05-29 | 2017-06-27 | Monotype Imaging Inc. | Compact font hinting |
US10115215B2 (en) | 2015-04-17 | 2018-10-30 | Monotype Imaging Inc. | Pairing fonts for presentation |
US11537262B1 (en) | 2015-07-21 | 2022-12-27 | Monotype Imaging Inc. | Using attributes for font recommendations |
US11334750B2 (en) | 2017-09-07 | 2022-05-17 | Monotype Imaging Inc. | Using attributes for predicting imagery performance |
US10909429B2 (en) | 2017-09-27 | 2021-02-02 | Monotype Imaging Inc. | Using attributes for identifying imagery for selection |
US11657602B2 (en) | 2017-10-30 | 2023-05-23 | Monotype Imaging Inc. | Font identification from imagery |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473772A (en) * | 1991-04-02 | 1995-12-05 | International Business Machines Corporation | Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs |
US5533174A (en) * | 1993-10-26 | 1996-07-02 | Digital Equipment Corporation | Network font server |
US5793966A (en) * | 1995-12-01 | 1998-08-11 | Vermeer Technologies, Inc. | Computer system and computer-implemented process for creation and maintenance of online services |
US5889942A (en) * | 1996-12-18 | 1999-03-30 | Orenshteyn; Alexander S. | Secured system for accessing application services from a remote station |
US6073147A (en) * | 1997-06-10 | 2000-06-06 | Apple Computer, Inc. | System for distributing font resources over a computer network |
EP1058884A1 (en) | 1998-02-26 | 2000-12-13 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6269377B1 (en) * | 1998-09-21 | 2001-07-31 | Microsoft Corporation | System and method for managing locations of software components via a source list |
US6657625B1 (en) * | 1999-06-09 | 2003-12-02 | Microsoft Corporation | System and method of caching glyphs for display by a remote terminal |
-
2001
- 2001-09-12 US US09/954,666 patent/US6907444B2/en not_active Expired - Lifetime
-
2002
- 2002-09-10 AU AU2002326855A patent/AU2002326855A1/en not_active Abandoned
- 2002-09-10 GB GB0404071A patent/GB2395397B/en not_active Expired - Fee Related
- 2002-09-10 WO PCT/US2002/028681 patent/WO2003023614A2/en active Application Filing
- 2002-09-10 JP JP2003527598A patent/JP2005533294A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010191971A (ja) * | 2006-12-14 | 2010-09-02 | Sharp Corp | 周辺デバイスのサービスを提供するための方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2003023614A2 (en) | 2003-03-20 |
WO2003023614A3 (en) | 2003-11-27 |
GB0404071D0 (en) | 2004-03-31 |
GB2395397B (en) | 2004-11-10 |
US20030050968A1 (en) | 2003-03-13 |
US6907444B2 (en) | 2005-06-14 |
GB2395397A (en) | 2004-05-19 |
AU2002326855A1 (en) | 2003-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005533294A (ja) | サービス取得方法およびサービス取得システム | |
US7197702B2 (en) | Web page rendering mechanism using external programmatic themes | |
US7190467B2 (en) | Print option configurations specific to a service or device for printing in a distributed environment | |
US9910651B2 (en) | System for developing, testing, deploying, and managing applications in real-time | |
US8990288B2 (en) | Dynamically configured rendering of digital maps | |
US7450256B2 (en) | Pre-defined print option configurations for printing in a distributed environment | |
US20030084132A1 (en) | Network system, information processing apparatus, information processing method, and control program | |
US8843360B1 (en) | Client-side localization of network pages | |
US20040201613A1 (en) | Methods and systems for arranging content for printing in a distributed environment | |
US10809993B2 (en) | System, management device, information processing device, control method for management device, control method for information processing device, and computer-readable storage medium | |
US9141775B2 (en) | Mashup service support method and apparatus | |
US20100023953A1 (en) | Method and apparatus for executing application | |
JP2010250561A (ja) | 情報処理装置、制御方法、及びプログラム | |
US20100228537A1 (en) | Multiple language support system and method for application | |
CN102238309A (zh) | 信息处理设备、信息处理系统和信息处理方法 | |
US7237222B1 (en) | Protocol for controlling an execution process on a destination computer from a source computer | |
US7328234B1 (en) | Agent architecture for triggering remotely initiated data processing operations | |
US20070006221A1 (en) | Software install environment constructing apparatus | |
US20040249936A1 (en) | Printer information setting method, server and program | |
US20050111043A1 (en) | Print control device, print control method and computer program | |
US7184176B2 (en) | Methods and systems for black and white conversion of imaging data | |
US20150186758A1 (en) | Image processing device | |
US8103651B2 (en) | Auto-updating reader program for document files | |
JPH10301924A (ja) | 業務別外字処理装置 | |
JP2019198080A (ja) | 情報処理システム、情報処理装置、情報処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20060327 |