JP2006072988A - タスクの実行を容易にする装置及び方法 - Google Patents

タスクの実行を容易にする装置及び方法 Download PDF

Info

Publication number
JP2006072988A
JP2006072988A JP2005223201A JP2005223201A JP2006072988A JP 2006072988 A JP2006072988 A JP 2006072988A JP 2005223201 A JP2005223201 A JP 2005223201A JP 2005223201 A JP2005223201 A JP 2005223201A JP 2006072988 A JP2006072988 A JP 2006072988A
Authority
JP
Japan
Prior art keywords
service
services
task
network
controller
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
Application number
JP2005223201A
Other languages
English (en)
Other versions
JP2006072988A5 (ja
Inventor
Peter M Allday
マイケル アールデイ ピーター
Georgios Vasilopoulos
シロプロス ジョージオス・ヴァ
Andrew Millin
アンドリュー・ミリン
Wilson Sien Chun Chiu
シーエン チュウ チウ ウイルソン
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JP2006072988A publication Critical patent/JP2006072988A/ja
Publication of JP2006072988A5 publication Critical patent/JP2006072988A5/ja
Withdrawn legal-status Critical Current

Links

Images

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection

Abstract

【課題】ネットワークシステムにおいて、クライアント装置は、ユーザがネットワーク上で利用可能な1つ以上のサービスを発見することを目的とする。
【解決手段】制御器(10)は、ネットワーク(N)上の位置でサービスを発見するサービスディスカバラ(12)と、サービスディスカバラ(12)により発見されたサービスを使用してタスクの実行を制御するタスクマネージャ(14)とを有する。制御器(10)は、サービスパブリッシャ(13)を更に有し、サービスパブリッシャ(13)は、サービスディスカバラ(12)によりサービスを発見した結果として、そのサービスがネットワークに接続される他の制御器(10)により発見されることを可能にする。これにより、他の制御器がその制御器を介してサービスを発見し、アクセスすることができる。
【選択図】図1

Description

本発明は、タスクの実行を容易にする装置及び方法に関する。特に、本発明は、パーソナルコンピュータ、サーバ、デジタルカメラ、コピー機等の複数のプロセッサ制御装置がタスクを実行するのに必要なサービスを有する又はサービスにアクセスできる分散型システム或いはネットワークにおいて、プロセッサ制御装置によるタスクの実行を容易にする装置及び方法に関する。
ネットワーク上の複雑なタスクを完了させるために、ユーザは、いくつかの異なるアプリケーションを使用して、異なる動作を実行する必要がある。例えば、受信者がワードプロセシングアプリケーションを使用して文書を編集できるように、ユーザが紙の文書のコピーを電子メールで送信したい場合、一般に、ユーザは、スキャナアプリケーションを使用して、紙の文書を電子形式に変換し、その後、光学的文字認識アプリケーションを使用して、電子データを電子文字データに変換する。更に、ユーザは、電子メールアプリケーションを使用して、所望する受信者に、最終電子文書を電子メールで送信する。
そのような複雑な動作に対するタスク単位の方法は、ユーザが実行すべき個別の動作を簡素化する。タスク単位の方法において、ネットワークの一部を構成する制御器(例えば、ユーザのプロセッサ制御装置が通信できるサーバ、又はユーザのプロセッサ制御装置)は、ユーザにより提供されたデータから、実行すべきタスクを識別し、必要なサービスから構成される所定のタスクを選択するか、又は、必要なサービスから構成される新しいタスクをアセンブルする。その後、ユーザは、制御器により入力指示されると、タスクの実行を可能にするため、ユーザ入力データを提供する必要がある。
上述の例において、ユーザがハードコピー文書を編集可能な形式である電子メールで送信したいことを制御器に通知する場合、制御器は、その一連のステップを実行する所定のタスクにアクセスするか、又は、その所定の一連のステップを実行する新しいタスクをアセンブルする。いずれの場合においても、この例におけるタスクは、走査サービス、光学的文字認識サービス及び電子メールサービスを含むサービスの集合から構成される。
実行されるタスクの数は、制御器がアクセスできるサービスにより制限される。制御器が、ネットワークを介して遠隔からサービスにアクセスできるようにしてもよいが、他の制御器を介してネットワークにのみ結合されるサービスにアクセスすることは、不可能ではないとしても困難である。
1つの側面において、本発明は、タスクの実行を可能にする制御器又は装置を提供する。装置は、ネットワークに接続可能であり、ネットワークを介してサービスを発見するように動作可能なサービスディスカバラと、装置によりアクセス可能なサービスを使用して、タスクの実行を制御するように動作可能なタスクマネージャと、アクセス可能なサービスの記述又は装置により発見されるサービスの記述を発行するサービスパブリッシャとを具備する。これにより、少なくとも一部のサービスが制御器のみを介してネットワークに接続されている場合でも、ネットワークに結合される他の制御器は、制御器により発行されたサービスを認識できる。
1つの側面において、本発明は、タスクの実行を容易にするための制御器を提供する。制御器は、ネットワークに接続可能であり、他の制御器をサービスと同様に監視する。その結果、他の制御器は、制御器を介してサービスを発見しアクセスできる。
これにより、制御器は、直接認識できないサービスにアクセスでき、その結果として、更に多くのタスク又は更に柔軟性のあるタスクをユーザに提供できる。
一実施形態において、制御器は、別の制御器に渡されるサービスのリストを、セキュリティ制約の対象にするように構成される。例えば、制御器は、サービスにアクセスしようとしているユーザの認識、及び/又は実際のサービスの位置から要求している制御器への経路において、少なくとも1台の制御器により、サービスに対して与えられるセキュリティ制約に基づいて、別の制御器に渡されるサービスのリストを制限するように構成されてもよい。
制御器は、ユーザが制御器に対してローカルであるか否か、又はサービスが遠隔制御器により要求されているか否かに応じて、異なるセキュリティ制約を提供するように構成されてもよい。制御器は、サービスの記述が制御器に渡される度にホップ数を増分するように構成されてもよい。これにより、例えば、制御器が同一のサービス記述を2回以上受信する場合、制御器は、そのサービスの実際の位置に対する最も直接的な経路を判定できる。
制御器は、2回以上発見されたサービスの記述をキャッシュに追加するように構成されてもよい。これにより、特定のサービスに対する経路が失敗した場合、その同一のサービスは、異なる経路を介して、再び試行されてもよい。
一実施形態において、タスクの実行に対して利用可能なサービスは、一般に、入力サービス、出力サービス及び処理サービスを含む。利用可能なサービスは、ユーザインタフェースサービスを更に含んでもよい。これは、ユーザが制御器にアクセスする際に経由する装置のユーザインタフェースにより、ユーザが利用できるサービスが制限される可能性を回避する。あるいは、サービスとしてインタフェースをユーザに提供することにより、タスクが必要とするユーザインタフェース、又はタスク内の異なるサービスが必要とする複数のユーザインタフェースは、必要に応じて、ユーザの装置にロードされる。これにより、専用のユーザインタフェースが、タスク内の異なるサービスに対して提供される。これは、ユーザに提供されたユーザインタフェースに情報が散乱することがないという、ユーザ装置のディスプレイサイズが相対的に小さい場合に特に重要となる利点を有する。更に、サービスとしてユーザインタフェースを提供することにより、存在するサービス及びタスクに対するユーザインタフェースが、必要に応じて、更新されることを可能にする。
異なるプロトコルが、異なるサービスを発見するために必要とされるであろう。一実施形態において、サービスは、共通API(Application Programming Interface:アプリケーションプログラミングインタフェース)を使用し、サービスディスカバラ(service discoverer)は、プラグインアーキテクチャで構成される。これにより、サービスディスカバラは、各々が特定のプロトコルを使用するサービスを発見するように構成される1つ以上のプラグインサービスディスカバリモジュールを有する。例えば、1つのサービスディスカバリプラグインモジュールは、ウェブサービスを発見するように設計されてもよく、別のサービスディスカバリプラグインモジュールは、JINIサービスを発見するように設計されてもよい。更に別のサービスディスカバリプラグインモジュールは、ローカルサービス、すなわち制御器に直接接続されるサービスを発見するように設計されてもよい。プラグインアーキテクチャを使用することにより、新しいプロトコルが使用され始めると、その新しいプロトコルと共に動作するように構成されたプラグインを単に追加することにより、制御器をグレードアップ又は更新できる。新しいプロトコルが普及すると、制御器のその他の部分を変更せずに、その新しいプロトコルは、簡単にサポート及び展開される。更に、より小型の装置(デジタルカメラ等)の制御器は、制御器が必要とするプラグインのみを使用する。サービスに対して、そのようなプラグイン及び共通APIを使用することにより、プラグインが既に展開されているプロトコルを使用するサービスは、更なる改造なしで直接使用され、新しいプロトコルを展開又は使用する場合、そのプロトコルを使用してサービスを処理するために、1つのプラグインのみを展開する必要がある。
タスク単位のシステムにおいて、いくつかのサービスは、ユーザにより設定されるべきあるパラメータを必要とする。しかし、ユーザは、パラメータの最適な値を常に知っているわけではない。従って、多くの場合、デフォルトパラメータが設定されていることが望ましい。
一実施形態において、デフォルトパラメータは、異なるレベルで提供される。サービスは、デフォルトパラメータを有し、このデフォルトパラメータは、デフォルトタスクパラメータにより置き換えられてもよい。これにより、特定のサービスが特定のタスク内で実行している時、デフォルトパラメータは、そのタスクに対して適切である。走査サービスは、例えば、平均解像度を表現するデフォルト走査解像度パラメータを有してもよく、また、写真を走査し電子メールで送信するタスクは、サービスのデフォルトパラメータを置き換える異なる解像度デフォルトパラメータを有してもよい。これにより、電子メールで送信するために写真を走査する場合、スキャナは、画像ファイルのサイズを減少させるために相対的に低い解像度で走査し、一方では、文書が光学的文字認識の対象となるタスク、例えば、ハードコピー文書を走査し、編集可能な形式で電子メールを送信する上述のタスクにおいて、走査サービスが使用される場合、タスクは、正確な光学的文字認識を可能にするため、解像度デフォルト走査パラメータを高く規定してもよい。更に、ユーザインタフェースサービスは、必要に応じて、ユーザがサービスレベルのデフォルトパラメータ又はタスクレベルのデフォルトパラメータを変化又は変更できるようにしてもよい。
ユーザがタスクを開始する装置は、タスク全体を完了させるのに最適な装置である必要はない。例えば、ハードコピー文書を走査し、編集可能な形式で電子メールを送信する上述のタスクの場合、ユーザは、ネットワーク化コピー機を使用して走査を実行し、その後、情報を入力するために、パーソナルコンピュータに移動し、キーボードにアクセスしたいと考える可能性もある。更に、いくつかのサービスは、他のサービスより高い処理能力を必要とし、また、大処理容量を有する装置により、高い処理能力のサービスが完了される場合、タスクの完了は、高速化されるであろう。例えば、ネットワーク化デジタルカメラではなく、ネットワーク化パーソナルコンピュータにより特定のサービスを実行する方が、より効率的であろう。
一実施形態において、タスクは、不完全な形式で格納され、且つ、タスクの次の部分を完了させるために、例えば、より強力な別の制御器に転送されるように設計される。一実施形態において、タスクの現在の状態及びそれに関連付けられたデータは、コンテキストとして知られるデータ構造、例えば、XMLによるコンテキストに格納される。コンテキストは、ユーザに対して異なるクライアント装置からタスクへのアクセスを可能にする制御器間で渡される。すなわち、ユーザは、1つのクライアント装置でタスクを開始し、タスクを継続するのに更に適切な別の装置に移動できる。これは、タスク状態が後の検索のために格納されるように、又は処理を継続するために別の制御器に渡されるように、制御器が、タスクの調整及び処理を制御する場合に可能である。
図面を参照すると、図1は、本発明を実現するネットワークシステム1の機能ブロック図を示す。
ネットワークシステム1は、各々が1台以上のクライアント装置20に接続されるパーソナルコンピュータ、サーバ、他のプロセッサデバイス等の形態をとる複数の制御器10を含む。ユーザは、制御器によりアクセス可能なサービスを使用して、制御器に対してタスクの実行を指示するための命令及び/又はデータを、クライアント装置20により入力できる。図1に示すように、制御器10は、ローカルサービス30を有してもよい。更に、サービス32は、ネットワークNに直接接続されてもよく、サービス31は、クライアント装置20に直接接続されてもよい。
制御器10は、ネットワークNに直接結合されてもよく、又は1台以上の他の制御器10を介して結合されてもよい。図1に示す例において、3台の制御器10は、ネットワークに直接結合され、更なる制御器10aは、制御器のうちの別の1台を介して、ネットワークに間接的に結合される。実際のネットワーク構成は、特定の状況に依存し、例えば、3台以上又は3台未満の制御器がネットワークに直接結合されてもよいことは、当然理解されるであろう。ネットワークは、別の制御器を介してネットワークに間接的に結合される更なる制御器10aを含んでもよい。また、ネットワークシステムは、2台以上の他の制御器を介してネットワークに結合される更なる制御器を含んでもよい。
図1には示さないが、各クライアント装置20は、制御器10に内蔵又は実装されてもよい。更に、クライアント装置20は、ネットワークNを介して制御器10と通信してもよい。
クライアント装置20は、ネットワーク接続性を有するプロセッサ制御装置であり、プロセッサ制御装置は、ユーザがクライアント装置とインタフェースできるように、少なくとも1台のユーザインタフェース装置を有する。クライアント装置の例としては、パーソナルコンピュータ、コピー機、ファクシミリ、デジタルカメラ、スキャナ及び他の事務機等のネットワーク化可能な装置である。ここで、ネットワークは、オフィス環境用である。
ネットワークがオフィス環境以外で使用されてもよいことは、当然理解されるであろう。従って、例えば、ネットワークがホーム環境にある場合、クライアント装置は、パーソナルコンピュータ、並びに、テレビ、ビデオレコーダ、DVDプレーヤ、及び、他のプロセッサ制御装置又は家庭内にある機器類等のネットワーク化可能な他のプロセッサ制御装置を含んでもよい。同様に、ネットワークシステムは、産業環境において使用されてもよい。この場合、1台以上のクライアント装置は、プロセッサ制御生産工場又は工作機械を含んでもよい。
ネットワークNは、1つ以上の異なる種類のネットワークを含んでもよい。例えば、ネットワークNは、ローカルエリアネットワーク11(LAN)、ワイドエリアネットワーク(WAN)、イントラネット及びインターネットのうち、少なくとも1つを含んでもよい。
図1は、制御器10の主な機能構成要素を示す。他の制御器10及び10aの各々は、同様の機能構成要素を有する。
図1に示すように、制御器10は、制御器の全体の動作を制御する演算制御器11と、タスクの実行を制御又は管理するタスクマネージャ又はタスク解決モジュール14を有する。更に、各制御器10は、サービスディスカバラ12及びサービスパブリッシャ13を有する。サービスディスカバラ12は、ローカルサービス30及びネットワークN上のサービスの双方を発見する。サービスパブリッシャ13は、後述するように、他の制御器10により発見可能な制御器10により、サービスが発見されるように構成される。すなわち、サービスパブリッシャ13は、発見されたサービスを公示又は再発行するように構成され、これにより、それらサービスは、ネットワークNを介して、他の制御器10によりアクセス可能となる。
演算制御器11は、制御器10に接続される1台以上のクライアント装置20と通信し、タスクの実行中に必要とされるサービスと通信し、且つタスクマネージャ14により要求されたように、タスクの次のステップの動作を調整するように構成される。更に、演算制御器11は、サービスパブリッシャ13により発行されたサービス、すなわち、制御器10が直接利用できないサービス要求を渡すように構成される。
タスクマネージャ14は、現在利用可能なクライアント装置20及びサービスを使用して実行されるタスクを判定し、且つ次に必要な動作、例えば、データがユーザから必要とされるか否か、又はサービスが実行されるべきか否かを判定するように構成される。
本実施形態において、タスクマネージャ14は、個別のモジュールとして構成される。これにより、そのモジュールは、容易に交換可能となり、制御器10は、クライアント装置20に適切なタスクマネージャを有する。また、タスクマネージャ14は、システムの変形が容易にできるように構成される。
上述のように、各制御器10は、複数のローカルサービス30にアクセスしてもよい。更に、各クライアント装置20は、1つ以上のサービス31に直接アクセスしてもよく、1つ以上のサービス32は、ネットワークNに直接結合され、全ての制御器10によりアクセスできるようにしてもよい。
サービス30、31及び32は、適切なメモリに格納される。サービス30は、ネットワークシステム1のセントラルデータ記憶装置に格納されてもよく、また、サービス30及び31は、制御器10又はクライアント装置20において利用可能な任意の適切なメモリ、例えば、コンピュータの場合はハードディスクドライブ等の大容量記憶装置、又はデジタルカメラ等のクライアント装置の場合はメモリカード上に格納されてもよい。
本実施形態において、一般に、以下の4種類のサービスが存在する。
1)走査サービス等の入力データをタスクに提供する入力サービス
2)印刷サービス及び電子メールサービス等のタスクからデータを出力する出力サービス
3)画像操作サービス、光学的文字認識サービス等の入力データに対して、処理又は変更を行う処理サービス
4)クライアント装置にロードするためのユーザインタフェースを提供するユーザインタフェースサービス
サービスは、サブサービス(sub-services)の集合から構成されてもよい。例えば、アドレス帳サービスは、サブサービス「アドレス帳を開く」及び「アドレス帳の保存」から構成されてもよく、更にアドレス帳ユーザインタフェースサブサービスを含んでいてもよい。
各サービスは、以下の4つのメソッドを実装する同一の共通API(Application Programming Interface:アプリケーションプログラミングインタフェース)を使用する。
1.Get description
2.Get status
3.Run service
4.Get user interface(s)
共通APIは、制御器10がサービスを発見し、それらサービスの記述及び状態を取得できるようにする。更に、タスクマネージャ14が、サービスが要求されたことを示す場合、共通APIは、制御器10が関連するユーザインタフェースを取得し、サービスを実行できるようにする。
図2aは、サービス記述の概略図100を示す。
サービス記述は、以下の構成要素を含む。
1.サービス名
2.ID
3.種類
4.入力
5.出力
6.パラメータ
7.機能
また、サービス記述は、任意に構成要素「分類」を含む。
サービス名は、サービスに固有であるため、例えば、ネットワークN上に同一のサービスを実行する2台以上の制御器10又はクライアント装置20が存在する場合、それら制御器10又はクライアント装置20は、同一のサービス名が割り当てられる。しかし、IDは、特定のサービス、及びそのサービスを実際に実行する制御器又はクライアント装置に固有であり、通し番号又は他の固有のコードの形態をとってもよい。
構成要素「種類」は、サービスの種類を規定し、サービスが走査、電子メール、OCR、印刷、画像操作等を実行する動作又は手順を記述する。
任意の構成要素「分類」は、より下位レベルのサービスの記述を示し、サービスを介して利用可能な機能を識別する。例えば、サービスの種類が「画像操作」の場合、分類は、サービスにより提供される画像操作の特性を特定する。画像操作サービスに対する分類には、例えば、サイズ変更、赤目除去、回転、パノラマ作成等がある。
構成要素「入力」は、サービスに渡されるデータの種類、及びそのデータに対して必要とされる形式を規定する。また、構成要素「出力」は、サービスが提供するデータの種類、及びその出力データが有する形式を規定する。
構成要素「パラメータ」は、サービスに渡され、且つサービスがデータに対して行うことに影響を与える1つ以上の値を含む。サービス記述は、1つ以上のパラメータに対して、1つのデフォルト値を含んでもよい。印刷サービスに対するパラメータの例として、印刷数に対する値がある。
構成要素「機能」は、サービスが提供できる内容についての記述を提供する。例えば、構成要素「機能」は、走査サービス又は印刷サービスのdpi単位の最大解像度を規定してもよい。
入力、出力、パラメータの各々は、データの特性(例えば、画像又は文書)を記述するID、データが属する種別を識別する種類、及びデータが採用する正確な形式を識別する形式を有する。例えば、種類が「MIME」である場合、形式は、画像/png又はアプリケーション/wordであり、種類が「simple」である場合、形式は、「string」又は「int」となるであろう。
更に、入力、出力及びパラメータは、これらのプロパティに対して、制約又は制限を規定してもよい。これは、入力データの最大サイズ、最大解像度又は最小解像度が規定されてもよいからである。
サービス記述は、サービスが適切であり、且つ特定のタスクに対して必要な動作を実行できるかを判定するのに必要な情報を、制御器10に提供する。
図2は、制御器10の一例の更に詳細な機能ブロック図を示す。
図2に示すように、サービスディスカバラ12は、複数のプラグイン16(示される例では、3つ)を受信するように構成されるサービスディスカバリマネージャ15を含む。各プラグイン16は、あるプロトコルに従って動作するサービスを発見できるように構成される。図に示すように、プラグイン16は、例えば、UDDI(Universal Description Discovery and Integration)プロトコル及びSOAP(Simple Object Access Protocol)通信プロトコルに従って動作するウェブサービスを発見するように構成されるプラグイン、JINIサービスを発見するように構成されるプラグイン、及びローカルサービスを発見するように構成されるプラグインを含んでもよい。図2は、ローカルサービス30を発見したローカルプラグイン16を示す。共通APIを示すブロック19を使用して、サービスが共通APIを使用又は実装することを、図2に示す。
プラグインアーキテクチャを使用することにより、新しいディスカバリシステム及びプロトコルが開発されると、新しいプラグイン16は、これらのプロトコルを使用してサービスを発見できるように設計される。更に、制御器10は、制御器10と通信するクライアント20により必要とされるプラグインのみを使用する必要がある。例えば、制御器10がデジタルカメラ等の専用のプロセッサ制御装置とのみ通信している場合、デジタルカメラが使用できるサービスに対応するプラグインのみが提供される。
プラグインアーキテクチャのみでなく、ネットワークシステムにより使用可能なサービスは、全て、同一の共通APIを使用するように構成される。新しいサービスにより必要とされるプロトコルに対して、プラグインが存在すれば、共通APIを使用することにより、そのサービスは直接使用可能となる。
図2に示すように、演算制御器11は、サービスキャッシュ17を保持し、発見されたサービスのサービス記述を保持する。更に、サービスパブリッシャ13は、制御器10により発見された全てのサービスのサービス記述を含むサービスリスト18を格納する。また、サービスパブリッシャ13は、共通API(ブロック19により図示される)を使用して、ネットワークN及び直接接続されるクライアント装置20と通信するように構成される。これにより、ネットワークN上の他の制御器10及び接続されるクライアント装置20は、制御器をサービスとして認識できる。
制御器10は、パーソナルコンピュータ、サーバ、又は他のプロセッサデバイス等の演算装置をプログラムすることにより実現されてもよい。図3は、複数のプログラム命令によりプログラムされ、制御器10に提供される演算装置50の一例の機能ブロック図を示す。
図3に示すように、演算装置50は、ROM及び/又はRAM、並びにハードディスクデバイス等の大容量記憶装置52の形態をとる連想メモリ51を有するプロセッサ500を含む。演算装置は、例えばCD-ROM、DVD、フロッピディスク等の取外し可能な媒体54を受け入れるための取外し可能な媒体装置53を更に含む。更に、演算装置は、複数のユーザインタフェース装置56を含む。図に示すように、ユーザインタフェース装置56は、マウス、キーボード56b、マイクロフォン56c、スピーカ56d、ディスプレイ56e及びプリンタ56f等のポインティングデバイス56aを含む。演算装置は、ネットワークNを介して通信できるようにするためのネットワークカード及び/又はMODEM等の1つ以上の通信装置57と、制御器10に直接リンクするクライアント装置20及びサービス30等の外部装置と通信できるようにするための1つ以上の入出力インタフェース58とを更に含む。
演算装置は、以下のうちの少なくとも1つによりプログラムされる。
メモリ51又は大容量記憶装置52に予め格納されたプログラム命令、
通信装置57又はI/Oインタフェース58を介して信号として提供されるプログラム命令、
取外し可能な媒体装置53を介して受け入れた取外し可能な媒体54、又はUSBポート等のI/Oインタフェースを介して演算装置に接続可能な携帯用データ記憶装置からダウンロードされるプログラム命令、及び
キーボード56bを使用してユーザにより直接入力されるプログラム命令。
図3は、メモリ51がサービスディスカバリマネージャ15を実現するディスカバリマネージャモジュール51a、プラグイン16を実現するプラグインモジュール51b、演算制御器11を実現する演算制御器モジュール51c、タスクマネージャ14を実現するタスクマネージャモジュール51d、及びサービスパブリッシャ13を実現するサービスパブリッシャモジュール51eを含むようにプログラムされた演算装置を示す。
プロセッサ制御装置であるクライアント装置20は、連想メモリを有するプロセッサ、I/Oインタフェース、及びある形態のユーザインタフェース装置を更に有することが、理解されるであろう。ここで、ユーザインタフェース装置は、パーソナルコンピュータの場合、図3に示される装置と類似し、デジタルカメラの場合、更に制限され、一般に、小型のディスプレイ及び表示されたメニューからの項目選択を可能にするユーザ制御装置から構成される。
次に、制御器10が複数のサービスに基づくタスクの実行を可能にする方法について、説明する。
タスクは、特定のタスクに依存して、1つ以上のサービスから構成される。共通タスク、使用されているタスク、又は頻繁に使用されるタスクは、タスクマネージャ14により格納されてもよい。他のタスクは、ユーザから受信した入力情報に従って、タスクマネージャ14により、利用可能なサービスからアセンブルされてもよい。
タスクが実行されるために、当然、そのタスクは、最初にユーザにより開始される必要がある。これを容易にするために、クライアント装置20は、ユーザに「何を行いたいですか?」等の質問を表示する基本タスクユーザインタフェースが提供されてもよく、また、現在利用可能なタスクを規定する複数のオプションを、ユーザに提供してもよい。一般に、利用可能なタスクの特性は、特定のクライアント装置に依存する。例として、クライアント装置がネットワーク化コピー機である場合、タスクのオプションは、以下を含んでもよい。
走査
走査及び電子メール
走査、OCR及び電子メール
別の例として、基本タスクユーザインタフェースは、表示されたメニューからオプションを選択することにより、ユーザがタスクを規定できるようにしてもよい。例えば、ユーザがハードコピー文書を走査し、それを編集可能な形式で電子メールで送信したい場合、ユーザは、表示されているオプション「走査」、「光学的文字認識」及び「電子メール」を、メニューから選択してもよい。
図4は、タスクマネージャにより実行されるステップを示すフローチャートである。
上述のように、制御器10は、発見されたサービスに対する記述を格納する。図4のS1において、タスクマネージャ14は、利用可能な発見されたサービス、クライアント装置、及びユーザから、そのクライアント装置及びユーザが利用可能なタスクを判定する。
S2において、タスクマネージャは、ユーザに対して、そのユーザが利用可能なタスク/オプションのリストをクライアント装置20に提示させる。利用可能なタスクの一例は、「ハードコピー文書を走査し、光学的文字認識を実行し、且つ編集可能な形式でその文書を電子メールで送信する」であってもよい。
S3において、ユーザがクライアント装置で提供されるリストからタスクを選択すると、タスクマネージャは、S4において、格納されたサービス記述の構成要素「種類」をチェックすることにより、タスクが必要とする最初のサービスを識別し、タスクの要求に合致する構成要素「種類」を判定し、且つその中から、タスクが受け入れ可能な入力パラメータ、出力パラメータ、機能パラメータ及び分類パラメータを有するサービスを判定する。
2つ以上のサービスが、要求に合致してもよい。2つ以上のサービスが合致する場合、S4において、タスクマネージャは、以下に説明する所定の基準に従って、それら合致するサービスのうちの1つを選択する。
タスクの最初の手順又はステップに対して、1つのサービスが選択されると、S5において、タスクマネージャ14は、ユーザ入力が必要とされるか否かを判定する。必要とされる場合、タスクマネージャ14は、S6において、必要なユーザ入力を取得するために、ユーザに対して適切なユーザインタフェースを、クライアント装置により提供させる。
S5においてユーザ入力が必要とされない場合、又はユーザ入力がS6において既に取得されている場合、タスクマネージャは、S7において、必要なサービスを実行するように、演算制御器11に要求する。
S8において、タスクマネージャは、タスクが完了したかをチェックする。すなわち、タスクが別のサービスを必要とする更なる手順を含むかをチェックする。
タスクマネージャが、タスクは別のサービスを必要とする更なる手順を含むと判定する場合、ステップS4〜S7が繰り返される。ステップ8において、タスクマネージャは、タスクを完了するためにサービスの実行を必要とする更なる手順が存在するかを、再びチェックする。S8において、タスクマネージャがサービスの実行を要求する更なる手順が存在しないと判定すると、手順は終了する。
図5は、サービスが発見された時に実行されるステップを示す。
演算制御器11は、サービスディスカバラ12を開始すると、Discovery Listenerをサービスディスカバリマネージャ15に登録する。サービスディスカバラ12は、プラグイン16の位置を特定すると、プラグイン16を開始し、サービスディスカバリマネージャ15をプラグイン16と共に登録する。サービス30、31、32がプラグイン16により発見されると、プラグイン16は、サービスディスカバリマネージャ15に通知し、サービスディスカバリマネージャ15は、演算制御器11に通知する。
新しいサービスが発見されると、図5のS11において、演算制御器11は、サービス記述を受信し、サービス記述に関連する経路情報を更新する(例えば、経路アドレスに制御器ネットワークアドレスを追加することにより、又はホップ数に1加えることにより更新する。ここで、「ホップ」は、ネットワーク上の1つの制御器から次の制御器に対するステップ又は経路である)。更に、演算制御器11は、関連する経路情報と共にサービス記述をサービスキャッシュ17に格納し、サービスリスト18へ格納するために、そのサービス記述を関連する経路情報と共に、サービスパブリッシャ13に渡す。別の方法として、ホップ数は、サービスパブリッシャ13により更新されてもよい。
各制御器10のサービスパブリッシャ13が、共通API19を使用又は実装することにより、発見されたサービスを再発行する(すなわち、ネットワークN上の他の制御器へのアクセスを可能にする)ため、同一のサービスは、複数の異なる経路を介して、制御器10により発見されてもよい。サービスが2回以上発見される場合、サービス記述は、ステップS12において、サービスキャッシュ17に追加される。これにより、そのサービスを実行する後続の要求が失敗する場合、演算制御器11は、他の経路を介して、又は他の複数の経路のうちの1つを介して、サービスへのアクセスを試みる。
図6は、S20においてタスクマネージャ14がサービスの実行要求を発行する時に、演算制御器11により実行される動作を示すフローチャートである。S21において、演算制御器11は、S21において選択されたサービスのサービス記述のrun serviceメソッドを実装し、サービスを実行させる。サービスがローカルサービスでない場合、制御器10は、サービスの実行要求を、そのサービスが発見された制御器に渡す。その制御器がその特定のサービスを実際に実行する制御器でない場合、サービスの実行要求がその特定のサービスを実際に実行する制御器に到達するまで、制御器は、順次、サービスが発見された制御器に、そのサービスの実行要求を渡していく。その特定のサービスを実際に実行する制御器は、サービスを呼び出し、要求している制御器10に結果を戻す。
S22において、例えば、経路パスに沿った1つ以上のネットワークアドレスが動作不能であるため、又はサービスが現在使用中であるため等の理由により、サービスの実行要求が失敗する場合、演算制御器11は、S23において、同一のサービスに対する別の経路があるかを判定し、別の経路がある場合、S24において他の経路を選択し、ステップS21〜S23を繰り返す。
S23において、NOの場合、すなわち、サービスが失敗し、まだ探索されていない他の経路がない場合、演算制御器は、S25において、別の受け入れ可能なサービスがあるかをチェックし、サービスがある場合、ステップS26において他のサービスを選択し、ステップS21〜S26を繰り返す。
特定の手順を実行するために、2つ以上のサービスが利用可能である場合、図4のS4において説明したように、そのサービスのうち1つのサービスが、所定の基準に基づいて選択されてもよい。これらの基準は以下のうち少なくとも1つを含む。
1.サービスを実行する制御器に到達するのに必要なホップ数。これは、サービスの信頼性及びサービスにアクセスするのにかかる時間を判定できるからである
2.評価システム
3.必要な処理時間
4.サービスの現在の状態
5.費用
6.品質
7.システム上のユーザからの推薦
適切なユーザインタフェースを介してユーザが入力する情報により、上述のうち2つ以上を選択してもよい。
上述に加え、特定のサービスのみを通すように、制御器10は、制御器10がサービスを供給するクライアント装置20により、特殊化されてもよい。これは、特定のプロトコルに準拠するサービスのみが発見されるように、プラグインを選択することにより達成されてもよく、又はサービス記述がある要求に合致するサービスのみを通す演算制御器11により達成されてもよい。例えば、クライアント装置がデジタルカメラである場合、制御器10は、デジタルカメラに適用可能なサービスのみ、すなわち、例えば文書処理サービスを除くサービスを通すように構成される。
演算制御器11は、要求している制御器にサービスが渡されるか否かを判定するセキュリティ設定を更に有してもよい。図7は、これが実現される1つの方法を示すフローチャートである。S30において、制御器10は、サービスディスカバリ要求を受信し、その要求は、データに添付される。このデータは、要求している制御器を識別し、更に、要求しているユーザを識別してもよい。
S31において、演算制御器11は、要求している制御器又はタスクマネージャ、及び/又はユーザに対するセキュリティ評価が要求されたサービスに対するアクセスを可能とするかを判定する。可能でない場合、演算制御器11は、要求しているサービスディスカバラ12に、サービスが利用不可能であることを通知する。
演算制御器11は、ローカルユーザ及び遠隔ユーザに対して、異なるセキュリティ評価を有してもよい。
演算制御器11は、要求している制御器及び/又はユーザが適切なセキュリティ評価を有していると判定する場合、S33において、サービスが再発行されたサービスであるかをチェックする。再発行されたサービスではない場合、S34において、サービスを実行させる。しかし、サービスが再発行されたサービスである場合、S35において、演算制御器は、サービスが発見された制御器に、そのサービスに対する要求を渡す。その制御器は、図7に示す手順を繰り返し、その要求は、要求されたサービスを実行する制御器に到達するまで、制御器から制御器に渡される。
図7に示すように、制御器は、サービスが再発行されたサービスであるか否かを判定する前に、セキュリティ評価をチェックするように構成される。これにより、各制御器は、遠隔サービスに対するセキュリティ評価を有することができる。別の方法として、ステップS33及びS31を逆にして、演算制御器11が、サービスが再発行されたサービスであるかを最初にチェックし、再発行されたサービスである場合、セキュリティ評価をチェックせずに、サービスが発見された制御器にその要求を渡すようにしてもよい。これにより、特定の制御器及び/又はユーザがサービスへのアクセス権を付与されるか否かが、最初にそのサービスを発見した制御器単独で判定される。
図4は、タスクの1つの実行方法を示す。図8は、ユーザがタスクを選択した後か、又は、例えば、ハードコピー文書を走査し、光学的文字認識を実行し、その文書を編集可能な形式で電子メールで送信するというタスクの要求をユーザが指示した後に、タスクが実行される別の方法を示す。
上述のように、制御器10は、発見されたサービスに対する記述を格納する。
図8のS40において、タスクマネージャ14は、サービスキャッシュ17に格納されている記述から、タスクの最初の手順又はステップに対する要求に合致するサービスを識別するように、演算制御器11に要求する。
タスクマネージャ14は、格納されているサービス記述の構成要素「種類」をチェックし、構成要素「種類」がタスクマネージャの要求に合致するかを判定する。合致する場合、タスクマネージャ14は、そのサービス記述の入力パラメータ、出力パラメータ、機能パラメータ及び分類パラメータが対象タスクにとって受け入れ可能であるかを判定する。
S41において、演算制御器11が、適切なサービスは識別されなかったと報告する場合、S42において、タスクマネージャ14は、演算制御器11に対して、サービスディスカバラ12にサービスの位置を特定するように指示することを要求する。
2つ以上のサービスが、タスク要求に合致してもよい。従って、S43において、タスクマネージャ14は、2つ以上のサービスが識別されたかを判定する。2つ以上のサービスが識別された場合、以下に説明する所定の基準に基づいて、1つのサービスを選択する。
タスクの最初の手順又はステップに対して、1つのサービスが選択されると、S44において、タスクマネージャ14は、タスクが別のサービスを必要とする更なる手順を含むかを判定する。S44においてYESの場合、ステップS40〜S43を繰り返す。
タスクを完了するために必要な全ての手順に対して、複数のサービスが発見されると、S45において、タスクマネージャ14は、次の動作又はタスクにより必要とされる手順を判定し、且つそれに応じて動作するように演算制御器11に要求する。S45において、タスクマネージャは、ユーザ入力が要求され、且つユーザ入力が新しいユーザインタフェースを含まないと判定すると、演算制御器に対して、クライアント装置20と通信して、必要なデータの入力をユーザに指示するように要求する。あるいは、タスクマネージャは、必要とされる次の動作は実行すべきサービスに対するものであると判定すると、演算制御器11に対して、必要なサービスを実行するように要求する。その必要なサービスは、場合によっては、ユーザインタフェースサービス等のサブサービスを含み、この場合、演算制御器11は、最初に、必要なユーザインタフェースをクライアント装置20にダウンロードする。
タスクマネージャがS46においてタスクが完了したと判定するまで、すなわち、タスクを完了するために必要な全てのサービスが実行されるまで、ステップS45は、繰り返される。
上述のように、各制御器は、共通APIを使用又は実装して、発見されたサービスを再発行する。これにより、他の制御器に関する限り、各制御器は、サービスとして見られる。利用可能なサービスは、入力サービス、出力サービス、処理サービス及びユーザインターフェースサービスを含んでもよい。サービスとしてユーザインタフェースを提供することにより、ユーザインタフェースは、必要に応じて、クライアント装置にロードされ実行される。従って、専用のユーザ入力サービスは、特定のサービスに提供され、更に、特定のクライアント装置に対するユーザインタフェースは、容易に更新及び/又は変更される。
上述のように、サービスは、そのサービスにより提供される動作に対するデフォルトパラメータを含んでもよい。例えば、サービスが走査サービスである場合、デフォルト走査解像度が規定されてもよい。同様に、サービスが印刷サービスである場合、白黒、片面等のデフォルト印刷特性が規定されてもよい。いくつかのタスクにおいて、サービスに対して、特定のパラメータが必要とされるであろう。例えば、ハードコピー文書を走査し、編集可能な形式で電子メールを送信するタスクの場合、光学的文字認識ソフトウェアは、走査サービスの通常のデフォルト走査解像度よりも高い走査解像度を必要としてもよい。そのような場合に対処するため、タスクマネージャ14は、タスクに1つ以上のデフォルトパラメータを提供するように構成されてもよく、そのタスクは、タスクのデフォルトパラメータがサービスのパラメータを置き換えるように構成されてもよい。上述のタスクを例にすると、これにより、タスクマネージャ14は、タスクに対して、走査サービスのデフォルト走査解像度パラメータよりも高いデフォルト走査解像度パラメータを規定できる。一方、写真を走査し電子メールで送信するタスクの場合、タスクマネージャ14は、走査サービスのデフォルトパラメータを置き換える低い解像度走査パラメータを規定してもよい。これにより、大きすぎず、電子メールで送信するのに適切な画像ファイルが、走査サービスにより生成される。更に、タスクに対するユーザインタフェースサービス又はタスク内のサービスにより、ユーザが、特定のユーザ要求に従って、サービスレベルのデフォルトパラメータ又はタスクレベルのデフォルトパラメータを変化又は変更できるようにしてもよい。
これまでに説明したように、タスクが規定され、且つ必要なサービスがアセンブルされると、タスクが開始された制御器10の演算制御器11及びタスクマネージャ14は、最初にそれらサービスを発見した制御器が実行しているタスクが必要とするサービスと連携させて、タスクを実行する。
ユーザのローカル制御器は、ネットワークによりサービスが提供される物理的な位置の移動に応じて変更されてもよいが、これは、ユーザにとって常に便利であるとは限らない。タスク内のあるサービスを実行する際には、あるクライアント装置が、より便利であることもある。例えば、ハードコピー文書を走査し、編集可能な形式で電子メールを送信する上述のタスクの場合、ネットワーク化コピー機を使用する方が、パーソナルコンピュータに付属のスキャナを使用する方よりも高速であるため、ユーザは、走査を実行するのにネットワーク化コピー機を使用したいが、電子メールのメッセージを入力するために、パーソナルコンピュータに移動し、キーボードにアクセスしたいと考えるだろう。更に、いくつかのサービスは、他のサービスよりも高い処理能力を必要とするであろうし、多くの処理容量を有する装置により高い処理能力のサービスが完了される場合、タスクの完了は、高速化されるであろう。例えば、特定のサービスが、ネットワーク化デジタルカメラよりも、ネットワーク化パーソナルコンピュータにより実行される方がより効率的であろう。ここで、これら双方の装置は、同一又は類似のサービスを実行する。
一実施形態において、タスクマネージャ14は、タスクを提供するように構成され、これにより、タスクは、不完全な形式で格納され、且つ、タスクの次の部分を完了させるために、例えば、より強力な別の制御器に転送される。
一実施形態において、タスクマネージャ14は、タスクの現在の状態及び関連するデータを、制御器間で渡されるコンテキストに格納する。尚、この制御器により、ユーザは、異なるクライアント装置からタスクにアクセスできる。すなわち、ユーザは、1つのクライアント装置でタスクを開始し、タスクを継続するのに更に適切な別の制御器に移動できる。これは、タスクデータが後の検索のために格納されるように、又は処理を継続するために別の制御器に渡されるように、ユーザの現在のクライアント装置にローカルな制御器がタスクの調整及び処理を制御する場合に可能となる。
一実施形態において、サービス及びタスクは、XML(Extensible Mark-up Language:拡張マークアップ言語)を使用して規定され、タスクは、そのタスクの一部が制御器間で渡されるタスクのコンテキスト有効部分の中に格納される。
付録1は、一連の画像からウェブギャラリを作成するウェブギャラリサービスに対するサービス記述の一例を示す。省略符号は、省略されたデータを示す。付録1から分かるように、サービス名は、「web gallery」であり、サービスの種類は、「synthesize」である。このサービス記述は、必要な入力、複数の出力及び複数のパラメータを規定する。付録1から分かるように、入力は、ID「image」を有し、JPEG形式で、その種類がMIMEである必要がある。一方で、ID「HTML」の出力は、HTML形式で、その種類がMIMEである必要があり、ID「fullimage」及びID「thumbimage」の出力は、その種類がMIMEで、JPEG形式である必要がある。この例におけるパラメータは、タイトル、ウェブファイル名、ウェブ画像ディレクトリ及びウェブサムネール画像プレフィックスが、「string」形式であり、残りのパラメータが、「int」形式又は整数である各々の種類が全て「simple」であるタイトル、1行毎のサムネール画像数、サムネール画像の幅、サムネール画像の高さ、ウェブファイル名、ウェブ画像ディレクトリ及びウェブサムネール画像プレフィックスである。
付録2は、タスク記述の一例を示す。この例において、タスクの目的は、文書を走査し、電子メールを介して、それを送信することであり、そのタスク名は、「Send OCR」である。付録2から分かるように、タスクは、サービスIDが「address」のアドレス帳サービス、サービスIDが「service 2」のスキャナサービス、サービスIDが「convert」のPDF変換サービス、サービスIDが「service 0」の電子メールサービス、及びサービスIDが「service 1」のOCRサービスから構成される。タスクは、ID「service 0」、「service 1」及び「convert」のサービスが実行されている時に、クライアント装置にダウンロードされる「OCR email UI」という名前のユーザインタフェースサービスを更に含む。
このタスクがタスクマネージャにより実現されると、タスクマネージャ14は、まず、ユーザが電子メールの指定受信者名及びそのアドレスを選択できるように、アドレス帳ユーザインタフェースサービスが実行され、クライアント装置にダウンロードされるように、演算制御器11に対して要求する。指定受信者名及びそのアドレスがユーザにより選択又は入力されると、タスクマネージャ14は、スキャナサービスが実行されるように、演算制御器11に対して要求する。ユーザによりスキャナに置かれたハードコピー文書は、デフォルト解像度で、この例では300DPIで、スキャナサービスにより走査され、「convert」サービスへの入力のために、ID「image」の出力データを提供する。走査に必要なパラメータ、例えば、走査解像度がタスクのデフォルト値により与えられるため、スキャナサービスは、ユーザインタフェースの実行を必要としない。タスクマネージャ14は、スキャナサービスが出力データを提供したと判定すると、残りのサービスに対して、ユーザからの必要なデータの入力を可能にするために、ユーザインタフェースサービス「OCR Email UI」が実行され、且つクライアント装置にダウンロードされるように、演算制御器11に要求する。タスクマネージャ14は、ユーザが必要な情報を入力したと判定すると、「convert」サービス、又は「OCR」サービス、又はその双方のサービスを実行するように、演算制御器11に要求する。ここで、ユーザが入力した必要な情報の判定は、ユーザがOCRされた文書を電子メール受信者に送信したいのか、且つ/又は画像から変換されたPDFファイルで送信したいのかという判定である。タスクマネージャ14は、「convert」サービス及び「OCR」サービスが動作を完了したと判定すると、必要に応じて、文書が指定受信者に電子メールで送信されるように、電子メールサービスを実行することを、演算制御器11に要求する。
付録2から理解されるように、演算制御器11及びタスクマネージャ14は、タスクの実行を調整する。これにより、各サービスは、必要に応じて呼び出され、ある目標サービスID及び目標入力IDを有する目標サービスに対して、出力データを提供する。
サービスディスカバラ12は、演算制御器により指示される場合にのみ、サービスを発見してもよい。別の方法として、サービスディスカバラ12は、システム上の新しいサービスを継続的にチェックし、新しいサービスが発見された時に、演算制御器11に警告を与えるように構成されてもよい。これにより、ネットワーク上で発見可能な全てのサービスが、タスクマネージャにとって即時に利用可能となるという利点を有するであろう。しかし、ネットワークが多くのサービスを提供する場合、これら全てのサービスの記述を保持するために相当なメモリ容量を必要とし、制御器の資源が制限される場合には、望ましくない。当然、ネットワーク上の1台以上の制御器は、要求された時にのみ、サービスを発見するように構成されてもよく、ネットワーク上の制御器のうち1台以上の他の制御器は、制御器の性能及び要求に応じて、継続的にサービスを発見するように構成されてもよい。
上述の例において、ユーザは、単一のクライアント装置を介してシステムにインタフェースする。上述のように、ある状況において、タスクは、ネットワークシステム内で移植されることが望ましい。これは、コンテキストとして知られるデータ構造にタスクを格納することにより達成されてもよい。コンテキストには、例えば、異なるオペレーティングシステム及びコンテキストの変換を必要としない言語を使用する別の制御器又はクライアント装置に転送可能なXMLによるコンテキストがある。
付録2には示さないが、タスクマネージャ14は、タスクの履歴及びタスクの現在の状態に関連付けられたデータがXMLコンテキストに格納されるように、タスクを構成してもよい。これにより、サービスが実行されると、タスクは、サービスの実行の結果として取得されるデータと共に格納され、ユーザが必要とする場合には、次のサービスの実行を制御できる別の制御器又はクライアント装置に転送される。
上述の実施形態において、サービスディスカバラは、プラグインアーキテクチャを使用する。このことは、上述の理由により、利点を有するが、サービスディスカバラ12は、あるプロトコルで動作するサービスのみを発見できる専用のサービスディスカバラとして実現されてもよい。同様に、上述の実施形態において、タスクマネージャは、必要に応じて置き換え又はグレードアップされるモジュールとして実現されてもよい。これは、上述の通り利点を有するが、タスクマネージャを演算制御器内に実装することも可能である。しかし、タスクマネージャのグレードアップ又は置き換えは、更に困難になる。
Figure 2006072988
Figure 2006072988
Figure 2006072988
タスクの実行を容易にする本発明を実現する制御器を含むネットワークシステムの機能ブロック図である。 本発明を実現する制御器の更に詳細な機能ブロック図である。 サービス記述を概略的に示す図である。 図1及び図2に示す制御器を提供するように構成された演算装置の一例を示す機能ブロック図である。 図1及び図2に示す制御器のタスクマネージャがタスクの実行を管理する1つの方法を示すフローチャートである。 新しいサービスを発見する制御器の動作を示すフローチャートである。 サービスにアクセスする制御器の動作を示すフローチャートである。 サービスの要求に対する制御器の動作を示すフローチャートである。 タスクマネージャがタスクの実行を管理する別の方法を示すフローチャートである。

Claims (59)

  1. ユーザに対するタスクの実行を可能にするためのネットワーク接続可能な装置において、
    前記ネットワーク上の位置において、サービスを発見するように動作可能なサービスディスカバラと、
    前記サービスディスカバラにより発見されるサービスを使用して、タスクの実行を制御するように動作可能なタスクマネージャと、
    サービスに関連する動作を制御するように動作可能な演算制御器と、
    前記サービスディスカバラによりサービスを発見した結果として、サービスを前記ネットワークに接続された他の装置から発見可能にするように動作可能なサービスパブリッシャとを具備し、
    前記サービスディスカバラは、異なるプロトコルを使用するサービスを発見するように構成され、且つプラグインアーキテクチャを有することを特徴とする装置。
  2. 前記演算制御器は、サービスの実行要求を受信し、前記要求されたサービスが前記演算制御器により実行できる装置へのローカルサービスであるかを判定し、ローカルなサービスでない場合、前記サービスディスカバラがサービスを発見したネットワーク上の位置に、前記サービスの実行要求を渡すように動作可能であることを特徴とする請求項1に記載の装置。
  3. 前記演算制御器は、サービスの実行要求を、前記タスクマネージャ及び前記ネットワークに接続される他の装置から受信するように構成されることを特徴とする請求項2に記載の装置。
  4. 前記演算制御器は、前記ユーザ及び要求している前記装置のうち少なくとも一方、又はタスクマネージャに関連する少なくとも1つのセキュリティ評価に従って、サービスの実行要求が実行されるか、又は、前記サービスディスカバラが前記サービスを発見した前記ネットワーク上の位置に渡されるか否かを判定するように動作可能であることを特徴とする請求項2又は3に記載の装置。
  5. 前記演算制御器は、前記タスクマネージャからのサービスの実行要求、及び他の装置からのサービス実行要求に対して、異なるセキュリティ評価を使用するように構成されることを特徴とする請求項4に記載の装置。
  6. 前記演算制御器は、前記ユーザが前記装置に対してローカルであるか否か、又はサービスが別の装置により要求されているか否かに応じて、異なるセキュリティ制約を実現するように構成されることを特徴とする請求項4に記載の装置。
  7. 前記サービスパブリッシャは、対応するサービスにより実現される機能を規定するサービス記述のリストを格納するように構成されることを特徴とする請求項1から6のいずれか1項に記載の装置。
  8. 前記演算制御器は、前記サービスディスカバラにより発見されるサービスに対して、対応するサービスにより実現される機能を規定する複数のサービス記述を受信し格納するように構成されることを特徴とする請求項1から6のいずれか1項に記載の装置。
  9. 前記サービスパブリッシャは、前記サービスディスカバラにより発見される前記サービス記述のリストを格納するように構成されることを特徴とする請求項7又は8に記載の装置。
  10. 格納された各サービス記述は、少なくとも、サービス名、前記サービスの機能の記述、並びに、サービスが必要とする入力データ、出力データ及びパラメータデータを含むことを特徴とする請求項7から9のいずれか1項に記載の装置。
  11. 前記タスクマネージャは、所定の基準に基づいて同一の機能を実行できる複数の異なる発見されたサービスから、1つのサービスを選択するように動作可能であることを特徴とする請求項1から10のいずれか1項に記載の装置。
  12. 前記タスクマネージャは、サービスのネットワーク上の位置の指示、評価システム、必要な処理時間、サービスの現在の状態、サービス実行費用、サービス品質、及びユーザ推薦のうち少なくとも1つの基準に基づいて、同一の機能を実行できる複数の異なる発見されたサービスから、1つのサービスを選択するように動作可能であることを特徴とする請求項1から10のいずれか1項に記載の装置。
  13. 同一のサービスが前記サービスディスカバラにより、前記ネットワーク上の異なる経路を介して2回以上発見される場合、前記演算制御器は、前記サービスへの各経路に関連する情報を格納することにより、前記演算制御器が異なる経路を介して前記サービスにアクセス可能になるように動作可能であることを特徴とする請求項1から12のいずれか1項に記載の装置。
  14. 前記演算制御器は、同一のサービスが前記サービスディスカバラにより、前記ネットワーク上の異なる経路を介して2回以上発見され、且つ前記経路のうち1つの経路を介するサービスの実行の要求が失敗する場合、前記サービスへの別の経路を選択するように動作可能であることを特徴とする請求項13に記載の装置。
  15. サービスが発見されると、前記装置は、前記サービスに関連付けられ、且つネットワークを介する1つの装置から別の装置への前記サービスの位置に対するステップ数を示すホップ数を増分するように動作可能であることを特徴とする請求項1から14のいずれか1項に記載の装置。
  16. サービスが発見されると、前記装置は、ネットワークを介する1つの装置から別の装置への前記サービスの位置に対するステップ数を示すホップ数を増分するように動作可能であり、前記サービス記述は、ネットワークを介して採用される前記サービスの位置から前記装置への経路を示す経路情報に関連付けられ、前記サービスディスカバラがサービスを2回以上発見する場合、前記演算制御器は、関連付けられたホップ数に基づいて、経路を選択するように動作可能であることを特徴とする請求項7から10のいずれか1項に記載の装置。
  17. 前記サービスディスカバラは、サービスディスカバリモジュール及び前記モジュールを管理するように動作可能なサービスディスカバリマネージャを含むことを特徴とする請求項1から16のいずれか1項に記載の装置。
  18. 1つのサービスディスカバリモジュールは、ウェブサービスを発見するように構成され、別のサービスディスカバリモジュールは、JINIサービスを発見するように構成され、別のサービスディスカバリモジュールは、ローカルサービスを発見するように構成されることを特徴とする請求項17に記載の装置。
  19. 前記タスクマネージャは、不完全な形式で格納され、且つ別の装置に転送されるようなタスクを提供するように構成されることを特徴とする請求項1から18のいずれか1項に記載の装置。
  20. 前記タスクマネージャは、タスクの現在の状態及び前記タスクに関連付けられたデータを、装置間で渡されるXMLコンテキスト等のコンテキストに格納するように構成されることを特徴とする請求項19に記載の装置。
  21. 前記演算制御器は、前記装置に結合される1つ又は複数のクライアント装置が使用できないサービスを除去するように動作可能であることを特徴とする請求項1から20のいずれか1項に記載の装置。
  22. ユーザが前記装置とインタフェースする時に介する少なくとも1台のクライアント装置と組み合わされることを特徴とする請求項1から21のいずれか1項に記載の装置。
  23. 少なくとも1つのサービスを格納する格納手段と組み合わされることを特徴とする請求項1から22のいずれか1項に記載の装置。
  24. 請求項1から20のいずれか1項に記載の複数の装置と、各装置に関連付けられた少なくとも1台のクライアント装置と、サービスを格納する複数のサービス格納手段とを具備するネットワークシステム装置において、前記装置のうち少なくともいくつかの装置は、前記ネットワークに直接接続可能であり、少なくとも1台の装置は、別の装置を介して前記ネットワークに接続可能であり、且つ前記サービス格納手段のうち少なくともいくつかの格納手段は、請求項1から20のいずれか1項に記載の装置を介して前記ネットワークに接続されることを特徴とするネットワークシステム装置。
  25. 前記サービスは、共通アプリケーションプログラミングインタフェースを有することを特徴とする請求項1から24のいずれか1項に記載の装置。
  26. 前記サービスは、入力サービス、出力サービス及び処理サービスを含むことを特徴とする請求項23から25のいずれか1項に記載の装置。
  27. 前記サービスは、入力サービス、出力サービス、処理サービス及びユーザインタフェースサービスを含むことを特徴とする請求項23から25のいずれか1項に記載の装置。
  28. 少なくともいくつかのサービスは、従属サービスを有することを特徴とする請求項23から27のいずれか1項に記載の装置。
  29. 少なくともいくつかのサービスは、パラメータに対するデフォルト値を有し、前記タスクマネージャは、サービスデフォルト値を置き換えるデフォルト値がタスクに対して提供されるように構成されることを特徴とする請求項23から28のいずれか1項に記載の装置。
  30. いくつかのサービス及びいくつかのタスクのうち少なくとも1つは、少なくとも1つのパラメータに対するデフォルト値を有し、少なくとも1つのユーザインタフェースサービスは、ユーザがパラメータに対するデフォルト値を置き換える値を特定できるように構成されることを特徴とする請求項27に記載の装置。
  31. ユーザに対してタスクの実行を可能にする方法において、
    異なるプロトコルを使用するサービスを発見するために、プラグインアーキテクチャを使用して、前記ネットワーク上の位置においてサービスを発見するステップと、
    発見されたサービスを使用してタスクの実行を制御するステップと、
    前記発見の結果として、発見されたサービスを前記ネットワークに接続される他の装置から発見可能にするステップとを実行する装置を含むことを特徴とする方法。
  32. サービスの実行要求を受信するステップと、要求された前記サービスが実行される前記装置に対してローカルであるかを判定するステップと、ローカルでない場合、前記サービスが発見された前記ネットワーク上の位置に、前記サービスの実行の要求を渡すステップとを実行する装置を更に含むことを特徴とする請求項31に記載の方法。
  33. サービスの実行の要求は、前記装置のタスクマネージャ及び前記ネットワークに接続される他の装置から受信されることを特徴とする請求項31に記載の方法。
  34. 前記ユーザ及び要求している装置のうち少なくとも一方、又はタスクマネージャに関連付けられた少なくとも1つのセキュリティ評価に従って、サービスの実行要求が実行されるか又は前記サービスが発見された前記ネットワーク上の位置に渡されるか否かを判定するステップを実行する装置を更に含むことを特徴とする請求項32又は33に記載の方法。
  35. 異なるセキュリティ評価は、前記装置のタスクマネージャ及び他の装置からのサービスの実行要求に対して使用されることを特徴とする請求項34に記載の方法。
  36. 異なるセキュリティ制約は、ユーザが前記装置に対してローカルか否か、又はサービスが別の装置により要求されているか否か応じて実現されることを特徴とする請求項34に記載の方法。
  37. 対応するサービスにより実現される機能を規定するサービス記述のリストを格納する装置を更に含むことを特徴とする請求項31から36のいずれか1項に記載の方法。
  38. 発見されたサービスに対して、対応するサービスにより実現される機能を規定するサービス記述を受信し格納する装置を更に含むことを特徴とする請求項31から36のいずれか1項に記載の方法。
  39. 格納された各サービス記述は、少なくとも、サービス名、前記サービスの機能の記述、並びに、サービスが必要とする入力データ、出力データ及びパラメータデータを含むことを特徴とする請求項37又は38に記載の方法。
  40. 前記装置は、所定の基準に基づいて同一の機能を実行できる複数の異なる発見されたサービスから、1つのサービスを選択することを特徴とする請求項31から39のいずれか1項に記載の方法。
  41. 前記装置は、サービスのネットワーク上の位置の指示、評価システム、必要な処理時間、サービスの現在の状態、サービス実行費用、サービス品質、及びユーザ推薦のうち少なくとも1つの基準に基づいて同一の機能を実行できる複数の異なる発見されたサービスから、1つのサービスを選択することを特徴とする請求項31から39いずれか1項に記載の方法。
  42. 同一のサービスが前記ネットワーク上の異なる経路を介して2回以上発見される場合、前記装置は、前記サービスへの各経路に関連する情報を格納し、異なる経路を介して前記サービスへのアクセスを可能にすることを特徴とする請求項31から39のいずれか1項に記載の方法。
  43. 同一のサービスが前記ネットワーク上の異なる経路を介して2回以上発見され、且つ前記経路のうち1つの経路を介するサービスの実行要求が失敗する場合、前記装置は、前記サービスへの別の経路を選択することを特徴とする請求項42に記載の方法。
  44. サービスが発見されると、前記装置は、ネットワークを介する1つの装置から別の装置への前記サービスの位置に対するステップ数を示すホップ数を増分することを特徴とする請求項31から43のいずれか1項に記載の方法。
  45. サービスが発見されると、前記装置は、前記ネットワークを介する1つの装置から別の装置への前記サービスの位置に対するステップ数を示すホップ数を増分し、前記サービス記述は、前記ネットワークを介して採用される前記サービスの位置から前記装置への経路を示す経路情報に関連付けられ、サービスが2回以上発見される場合、前記装置は、関連付けられたホップ数に基づいて経路を選択することを特徴とする請求項37から39のいずれか1項に記載の方法。
  46. 前記装置は、サービスディスカバリモジュールを含み、前記方法は、前記モジュールを管理することを更に含むことを特徴とする請求項31から45のいずれか1項に記載の方法。
  47. 1つのサービスディスカバリモジュールは、ウェブサービスを発見し、別のサービスディスカバリモジュールは、JINIサービスを発見し、別のサービスディスカバリモジュールは、ローカルサービスを発見することを特徴とする請求項46に記載の方法。
  48. 前記装置は、タスクが不完全な形式で格納され、且つ別の装置に転送されるように、タスクを構成することを特徴とする請求項31から47のいずれか1項に記載の方法。
  49. 前記装置は、タスクの現在の状態及び前記タスクに関連付けられたデータを、装置間で渡されるXMLコンテキスト等のコンテキストに格納することを特徴とする請求項48に記載の方法。
  50. 前記サービスは、共通アプリケーションプログラミングインタフェース(API)を有することを特徴とする請求項31から49のいずれか1項に記載の方法。
  51. 前記サービスは、入力サービス、出力サービス及び処理サービスを含むことを特徴とする請求項31から50のいずれか1項に記載の方法。
  52. 前記サービスは、入力サービス、出力サービス、処理サービス及びユーザインタフェースサービスを含むことを特徴とする請求項31から51のいずれか1項に記載の方法。
  53. 少なくともいくつかのサービスは、従属サービスを有することを特徴とする請求項31から52のいずれか1項に記載の方法。
  54. 少なくともいくつかのサービスは、パラメータに対するデフォルト値を有し、前記装置により、サービスデフォルト値を置き換えるデフォルト値がタスクに対して提供可能となることを特徴とする請求項31から53のいずれか1項に記載の方法。
  55. いくつかのサービス及びいくつかのタスクのうち少なくとも1つは、少なくとも1つのパラメータに対するデフォルト値を有し、ユーザは、少なくとも1つのユーザインタフェースサービスにより、パラメータに対するデフォルト値を置き換える値を特定できることを特徴とする請求項52に記載の方法。
  56. 前記制御器に結合される1つ又は複数のクライアント装置が使用できないサービスを除去する装置を更に含むことを特徴とする請求項31から55のいずれか1項に記載の方法。
  57. 請求項31から56のいずれか1項に記載の方法を実行するようにプロセッサをプログラミングするプログラム命令を含むことを特徴とするコンピュータプログラム製品。
  58. 請求項31から56のいずれか1項に記載の方法を実行するようにプロセッサをプログラミングするプログラム命令を格納することを特徴とする記憶媒体。
  59. ユーザに対してタスクの実行を可能にするためのネットワークに接続可能な装置において、
    ネットワーク上の位置においてサービスを発見するように動作可能なサービスディスカバラと、
    前記サービスディスカバラにより発見されるサービスを使用して、タスクの実行を制御するように動作可能なタスクマネージャと、
    サービスに関連する動作を制御するように動作可能な演算制御器と、
    前記サービスディスカバラによりサービスを発見した結果として、サービスを前記ネットワークに接続される他の装置から発見可能にするように動作可能なサービスパブリッシャとを具備し、
    前記サービスディスカバラは、多数のサービスディスカバリプラグインモジュールと、前記モジュールを管理するサービスディスカバリマネージャとを含み、異なるサービスディスカバリプラグインモジュールは、異なるプロトコルを使用するサービスを発見するように構成されることを特徴とする装置。
JP2005223201A 2004-07-30 2005-08-01 タスクの実行を容易にする装置及び方法 Withdrawn JP2006072988A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0417101A GB2416872A (en) 2004-07-30 2004-07-30 System for managing tasks on a network by using a service discover, a task manager and a service publisher

Publications (2)

Publication Number Publication Date
JP2006072988A true JP2006072988A (ja) 2006-03-16
JP2006072988A5 JP2006072988A5 (ja) 2008-09-18

Family

ID=32947773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005223201A Withdrawn JP2006072988A (ja) 2004-07-30 2005-08-01 タスクの実行を容易にする装置及び方法

Country Status (3)

Country Link
US (1) US20060026261A1 (ja)
JP (1) JP2006072988A (ja)
GB (1) GB2416872A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008293503A (ja) * 2007-05-24 2008-12-04 Ricoh Co Ltd ネットワークイネーブル印刷装置、方法及び記録媒体
JP2009165011A (ja) * 2008-01-09 2009-07-23 Nippon Telegr & Teleph Corp <Ntt> 機能分散型パケット転送システム及びこれを用いた制御方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158510B2 (en) * 2007-11-21 2015-10-13 International Business Machines Corporation System and computer program product for creating a telecommunications application
US20090254643A1 (en) * 2008-04-04 2009-10-08 Merijn Camiel Terheggen System and method for identifying galleries of media objects on a network
US8725856B2 (en) * 2010-06-29 2014-05-13 Canon Kabushiki Kaisha Discovery of network services
US20120311614A1 (en) * 2011-06-02 2012-12-06 Recursion Software, Inc. Architecture for pervasive software platform-based distributed knowledge network (dkn) and intelligent sensor network (isn)
US9305050B2 (en) * 2012-03-06 2016-04-05 Sergey F. Tolkachev Aggregator, filter and delivery system for online context dependent interaction, systems and methods
JP6587463B2 (ja) * 2015-09-04 2019-10-09 キヤノン株式会社 原稿読取装置、原稿読取装置の制御方法及びプログラム
WO2020117686A1 (en) 2018-12-03 2020-06-11 Micron Technology, Inc. Semiconductor device performing row hammer refresh operation
CN111782674A (zh) * 2019-11-06 2020-10-16 北京京东尚科信息技术有限公司 一种任务查询方法及装置
CN112114873B (zh) * 2020-08-19 2023-03-21 成都安易迅科技有限公司 任务处理的方法、装置及计算机设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655081A (en) * 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US6549932B1 (en) * 1998-06-03 2003-04-15 International Business Machines Corporation System, method and computer program product for discovery in a distributed computing environment
US6292833B1 (en) * 1998-07-17 2001-09-18 Openwave Systems Inc. Method and apparatus for providing access control to local services of mobile devices
US6845393B1 (en) * 1999-06-14 2005-01-18 Sun Microsystems, Inc. Lookup discovery service in a distributed system having a plurality of lookup services each with associated characteristics and services
US6961560B2 (en) * 2001-05-23 2005-11-01 International Business Machines Corporation Method and device for prompt and efficient service discovery in wireless networks
EP1262869A1 (en) * 2001-05-29 2002-12-04 Sony International (Europe) GmbH System and method for discovering and customizing resources in networks
US20030120776A1 (en) * 2001-07-11 2003-06-26 Sun Microsystems, Inc. System controller for use in a distributed processing framework system and methods for implementing the same
WO2003077079A2 (en) * 2002-03-08 2003-09-18 Enleague Systems, Inc Methods and systems for modeling and using computer resources over a heterogeneous distributed network using semantic ontologies
WO2003077156A1 (en) * 2002-03-14 2003-09-18 Koninklijke Philips Electronics N.V. Automatic discovering of web services
US7616961B2 (en) * 2002-04-29 2009-11-10 Harris Corporation Allocating channels in a mobile ad hoc network
IL166717A0 (en) * 2002-08-26 2006-01-15 Computer Ass Think Inc Web services apparatus and methods
US20040059704A1 (en) * 2002-09-20 2004-03-25 International Business Machines Corporation Self-managing computing system
US7043419B2 (en) * 2002-09-20 2006-05-09 International Business Machines Corporation Method and apparatus for publishing and monitoring entities providing services in a distributed data processing system
US7440940B2 (en) * 2002-12-02 2008-10-21 Sap Ag Web service agent
JP4284060B2 (ja) * 2002-12-18 2009-06-24 株式会社日立製作所 分散システムおよびサービス授受環境形成方法
US8561069B2 (en) * 2002-12-19 2013-10-15 Fujitsu Limited Task computing
KR100965437B1 (ko) * 2003-06-05 2010-06-24 인터트러스트 테크놀로지즈 코포레이션 P2p 서비스 편성을 위한 상호운용 시스템 및 방법
EP1526457B1 (en) * 2003-10-22 2013-03-13 Sony Deutschland GmbH Context-aware automatic service discovery and execution engine in mobile ad-hoc networks
US9009290B2 (en) * 2004-01-22 2015-04-14 Sony Corporation Methods and apparatuses for discovery and notification of services
US7802007B2 (en) * 2004-05-19 2010-09-21 Salesforce.Com, Inc. Techniques for providing connections to services in a network environment
US7870188B2 (en) * 2004-07-30 2011-01-11 Hewlett-Packard Development Company, L.P. Systems and methods for exposing web services

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008293503A (ja) * 2007-05-24 2008-12-04 Ricoh Co Ltd ネットワークイネーブル印刷装置、方法及び記録媒体
JP2009165011A (ja) * 2008-01-09 2009-07-23 Nippon Telegr & Teleph Corp <Ntt> 機能分散型パケット転送システム及びこれを用いた制御方法
JP4635058B2 (ja) * 2008-01-09 2011-02-16 日本電信電話株式会社 機能分散型パケット転送システム及びこれを用いた制御方法

Also Published As

Publication number Publication date
GB2416872A (en) 2006-02-08
GB0417101D0 (en) 2004-09-01
US20060026261A1 (en) 2006-02-02

Similar Documents

Publication Publication Date Title
JP2006072988A (ja) タスクの実行を容易にする装置及び方法
US8639063B2 (en) Information processing system and information processing method, and information processing program used therein
EP2602989B1 (en) Multi-function device and screen providing server
JP4196971B2 (ja) データ処理システム、データ処理装置、データ処理方法およびデータ処理プログラム
US9692927B2 (en) Device, information processing system, and information processing method
JP4770995B2 (ja) 画像処理システム
JP5665423B2 (ja) 画像形成装置、サービス連携方法、及びプログラム
JP6102264B2 (ja) 処理実行システム、情報処理装置、プログラム
JP4985318B2 (ja) 画像処理装置および方法
JP4329825B2 (ja) 情報処理装置、代行処理実行方法および代行処理実行プログラム
JP2011066884A (ja) 文書データのワークフロー処理のための方法及び装置
KR100618043B1 (ko) 서비스 처리장치, 서비스 처리시스템 및 서비스처리시스템의 원 데이터 보관방법
JP5516814B2 (ja) サービス処理システム
JP4442433B2 (ja) 画像読み取りシステム
JP5725707B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP5516808B2 (ja) サービス処理システム
JP5516811B2 (ja) サービス処理システム
JP6197683B2 (ja) ファクシミリ装置、制御サーバ、および、コンピュータプログラム
US20080162626A1 (en) Workflow system and method of controlling the same
EP1858225B1 (en) Apparatus, system and computer program product for document editting through network
JP4232764B2 (ja) 表示処理装置およびネットワーク複合機
JP4569650B2 (ja) データ管理システム、データ保存方法、データ保存プログラムおよび画像処理装置
JP4420408B2 (ja) データ送信装置、データ転送方法、およびデータ転送プログラム
JP2009159391A (ja) 通信装置,制御方法,プログラム,および記録媒体
JP4756822B2 (ja) データ格納システムおよび方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080731

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080731

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20091210