JP5205965B2 - コンピュータシステム、サーバー処理装置、端末装置及び方法 - Google Patents

コンピュータシステム、サーバー処理装置、端末装置及び方法 Download PDF

Info

Publication number
JP5205965B2
JP5205965B2 JP2007510963A JP2007510963A JP5205965B2 JP 5205965 B2 JP5205965 B2 JP 5205965B2 JP 2007510963 A JP2007510963 A JP 2007510963A JP 2007510963 A JP2007510963 A JP 2007510963A JP 5205965 B2 JP5205965 B2 JP 5205965B2
Authority
JP
Japan
Prior art keywords
service
services
task
user
computer system
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.)
Expired - Fee Related
Application number
JP2007510963A
Other languages
English (en)
Other versions
JP2007535767A (ja
JP2007535767A5 (ja
Inventor
ラブロウ,ヤニス
竜介 益岡
ヒュイン,デュイ
ソォン,ジョシュアヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2007535767A publication Critical patent/JP2007535767A/ja
Publication of JP2007535767A5 publication Critical patent/JP2007535767A5/ja
Application granted granted Critical
Publication of JP5205965B2 publication Critical patent/JP5205965B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/465Distributed object oriented systems
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/46Indexing scheme relating to G06F9/46
    • G06F2209/462Lookup

Description

本発明は、意味論的に記述されたアプリケーション、デバイス及びサービスに富んだコンピュータ環境に基づいて、複雑なタスクをリアルタイムで、動的に構成及び実行することに関連する。
パーソナルコンピューティングは、ユーザが単独の装置を操作し及びその装置に常駐するアプリケーションにアクセスする/を利用するパラダイムとして言及されてよい。パーソナルコンピューティングは、知識豊富なユーザが複雑なタスクを実行するのに利用可能なリソースを適切に利用できるように、ユーザのコンピュータ環境に関する及びそのユーザのコンピュータで利用可能なアプリケーションに関する充分な知識をユーザが有することを要する。これはほとんどのユーザが日常経験するコンピューティング環境である;複雑なタスクを如何にして達成するかを学習する義務はユーザにあり、そのユーザは、ユーザの機器で動作するアプリケーション各々の及びユーザの機器がサポートする機能各々を理解すること、アプリケーションの間でデータを手動で移行すること(例えば、カット&ペースト)、タスクに関連するアプリケーションや特定の機能各々を手動で起動すること及び最終的にはその複合的なタスクを実行することに全ての注意を向けること(及び時間を捧げること)を必要とする。複合的なタスクを達成する場合には、ユーザが一方ではタスクを及び他方では利用可能なリソース(デバイス及びアプリケーション)を理解しており、ユーザがそれらを或るワークフローに合成できることを当てにしており、そのワークフローはユーザが実行可能であってその最終的な成果が完全なタスクをなすものである。
パーソナルコンピューティングからコンピューティング環境のより多くのタスク指向への移行(シフト)は次のようになるであろう:
例えば、オペレーティングシステムの一例として、ユーザが音楽CDをCDトレイに挿入すると、その時点からユーザが実行可能なタスクをユーザに示唆するウインドウがポップアップされる。これらの典型的な選択肢のリストは:
オーディオCDを再生すること
CDから音楽をコピーすること
ファイルを見るためにフォルダを開くこと
何の動作(アクション)も行わないこと
を含んでもよい。
これらの選択肢の各々は、そのアクションを実行するのに使用されるアプリケーションにも言及する。関心事は実行されるアクション又はタスクについてであり、そのタスクを実行するのに使用されるアプリケーションではない。
しかしながら、目下のオペレーティングシステムは、特定のイベント(例えば、音楽CDを挿入することや、ディジタルカメラを接続したこと等)に関連するアクション又はタスクの所定のリストを利用し、そのイベントが生じたときに、関連するアクションのリストが実行時にユーザに示されるようにする。この意味において、システムの応答はハードワイヤ接続的であり、トリガとなるイベントの結果として実行される可能なイベントについて、システムにプログラムされているものを超える柔軟性を備えていない。言い換えれば、システムは、ディジタルカメラがコンピュータに接続されたときに実行可能な同じアクション群(オペレーティングシステムのプログラマがその特定のイベントについて用意した具体的なアクションリスト)を示す。アプリケーションはリスト中の項目を変更できるが、エンドユーザがそれを変更する簡易な手法はない。
オペレーティングシステムの別の例では、ファイルタイプに依存するアクションの選択肢がユーザに提示される。即ち、ドキュメント、画像、フォトアルバム、音楽、音楽アーティスト、音楽アルバム及びビデオ等のようなファイルタイプの各々について別々のタスクのリストがユーザに提示される。例えば、ファイルタイプが画像であったとすると、「画像タスクの」のリストが表示される:
スライドショーとして見る(表す)
オンライン印刷を要求する
画像を印刷する
画像を背景に設定する
画像をCDにコピーする。
このタスクのリストは再び予め組み合わせられ及び特定のファイルタイプに関連付けられる。エンドユーザがこのリストを修正する簡易な手法はない。
事務に適切なソフトウエアの別の例では、スマートタグ特性(機能)が利用可能である。スマートタグ機能は、エディタを利用しながら現在の書類中のテキストを強調し、そのテキスト(文字)が示すオブジェクトと共に実行可能なアクションのドロップダウンメニューをユーザに提示する。例えば、テキストが名前を表現するならば、この機能は人物名に関連するオブジェクトを判別し、可能なアクションの以下のリストを提示する:
(その人に)メールを送る
(その人と共に)ミーティングを計画する
(その人の)連絡先を開く
(その人に関する)連絡先を生成する。
選択肢は、書類中の文字列が名前を表現するかもしれないことを確認することによってイネーブルにされる。このシステムは、特定のテキスト部分が名前を表現することを確認するために、そのテキストのシンタックス属性(文法)を当てにする。しかしながら一般的なアメリカ人の名前に似ていない文字列(例えば、ラッセン ジ)は、人物に関連する名前として確認されないかもしれない。その理由は、テキストの一部を名前として確認すシステムの部分は、テキストに関するシンタックス形式の中で判別可能なパターンを簡易に確認しようとする非常に簡単なプログラム(スクリプト)であるに過ぎないためである。例えば人物、住所等のようにテキストの「属性(nature)」が(適切に又は不適切に)確認されると、予めコンパイルされた可能なアクションのリストがユーザに提示される。アプリケーションプログラマは、アドレスを確認すること及びマップアプリケーションを起動すること等のような他の書類やアプリケーションに関するスマートタグを作成することが可能である。
コンピューティング環境に関するより多くのタスク指向の観点からユーザに提示を行おうとする別の例が以下に説明される。ユーザがサーチエンジンのサーチボックスに或るアドレスをタイプ入力すると、そのサービスは(通常のサーチ結果を超える)マッピング機能へのリンクを返し、それに従うとアドレスのマップを提供する。
しかしながら、タイプされたアドレスのマップをユーザが探しているかもしれないことは自明ではない。他の合理的な可能性が存在する:ユーザはそのアドレスに関連する電話番号リストを望んでいるかもしれない、或いはそのアドレスが会社ならば、ユーザは探索されたビジネスについてより良いビジネス案内(BETTER BUSINESS BUREAU)記録を見ることを望むかもしれない、又はその近辺の天候を調べようとしているかもしれない、等々である。この現在の形式では、サーチエンジンは、タイプされたテキストが表現する「もの(thing)」(目下の例ではアドレス)のタイプを推定し、そのタイプのエントリに関連付けられたハードワイヤ的に関連するタスクを返す。
従ってコンピュータ環境のタスク指向の観点からは、関心事はタスクであり、そのタスクは実行可能なものであり、タスクを実行するのに使用されるアプリケーションに関してではない。更にユーザはタスクにどのアプリケーションが使用されるかを知る必要がない。示唆されたタスクの1つを実行するようにユーザが選択すると、適切なアプリケーションがそれに従って始まり及び呼び出され(開始される)。
しかしながら上述のコンピューティング例は、以下のようなリアルタイム且つダイナミックな実行可能な複合的なタスクを許容しないという同様な性質を示す。或る手法では、ユーザの入力(テキスト又はイベント)のタイプ又は性質が推定され;事実上、システムはそのシンタックス属性を当てにして文字列の意味(セマンティック)を判断しようとする。システムは、その入力の下でユーザが実行することを希望するもっともらしいタスクを推定するが;その推定はシステムに固有の(ハードワイヤ式の)ものであり、従って実際上は、そのシステムはリアルタイムで推定を行うものではなく、ユーザがそのシステムと相互作用する以前に、システムのプログラマがプログラミング時にシステムに関する推測を行うに過ぎない。(ユーザが第2ステップで選択するといつでも)適切なアプリケーションが、ユーザの選択時に自動的に呼び出され、(第1ステップでシステムが推定するといつでも)その適切な入力と共に例示され、静的な因果関係による機構(又は契機に応答する機構)である。
上述のコンピューティング例はユーザの利便性を増やすかもしれないが、従来のシステムは依然として以下のパーソナルコンピューティング的な性質を有する:
機能はアプリケーションの中に設計される;アプリケーションのプログラマはシステムの応答を(固定的に)プログラムする。その結果、これはフレキシブルでスケーラブルな手法ではない。なぜなら可能性の広がりが設計時に決められているからである。
このシステムはユーザのアクション及び希望に対応することについては限られた手法であり、入力の性質(セマンティクス又は意味)を正確に「感知(perceive)」することはできない。上記の例各々で使用される様々な技法があるにもかかわらず、システムは文法特性により入力の意味を正確に推測することを当てにする。
ある所定のタイプの入力が単独のアクション(アプリケーションの起動)になるという意味において、システムは因果関係(又はトリガ応答)機構を利用している。複合的なユーザタスクは、複雑なシーケンスのイベント及びアクションと共により複雑なワークフローを必要とし、そのイベント及びアクションはこれらの説明される例で使用される単純な技法では技術的に言って不可能かもしれない。
また、パーソナルコンピューティング−即ち、ユーザのアプリケーションを実行し及びユーザのデータを「保持(hold)」するコンピュータをユーザが所有及び操作する概念−は、境界の明確でないコンピューティング環境に対する手法を与える。コンピュータがコンピュータネットワークに永続的に接続されると、ローカル及びリモートのアプリケーション間の区別、データ破壊は更に悪いことにコンピュータユーザを混乱させる。更に、ユーザは装置にアクセスし及び装置と相互作用することができ、その装置はパーソナルコンピュータという意味ではコンピュータでないが、依然としてかなりの演算能力を有し及びユーザの目的に寄与し、様々なタスクを達成することを支援する(例えば、カメラ、プリンタ、スマート機器等)。一例として、利用可能なリソース(デバイス及び機器)は定常的に変化するかもしれないが、平均的なユーザはそのようなコンピューティング環境の中で何が実行可能か或いは実現可能かに気付いてさえいないかもしれない。言い換えれば、パーソナルコンピュータの手法はユーザに事前に知られていない装置やアプリケーションに満ちた設定を行うことは不可能である。
従ってコンピュータ環境の中でタスクをリアルタイムで動的に発見し、公表し、構成し、管理し及び実行することが望まれており、その手法はコンピューティング環境の中でタスクを実行するユーザの課題に対して根本的に異なるアプローチを必要とする。
ここで説明される本発明の一形態は、意味論的に記述されたアプリケーション、装置及びサービスに富んだコンピューティング(コンピュータシステム)環境に基づいて、複合的なタスクをリアルタイムで動的に発見し、公表し、構成し、管理し及び実行する。
ここで説明される本発明の別の形態によれば、ユーザは、現実的に、効果的に、効率的に、動的に、リアルタイムでフレキシブルな統合されたタスクユーザインターフェースを当てにすることができ(そのインターフェースは機能を発見し、公表し、構成し、サービス提供し及び/又はタスク管理し、及び実行する)、汎用的なコンピュータ環境と共にやり取りを管理し且つインターフェースを取ることができる。
本願は、35USC119に基づいて西暦2004年4月28日付けでヤニスラブロウ、リュースケマツオカ、デュイヒュン、ゼクスアンソンにより米国特許商標庁に出願された「TASK COMPUTING SYSTEM」と題する米国仮出願番号第60/565,851号に関連し、その内容は本願のリファレンスに組み入れられる。
本願は、35USC119に基づいて西暦2004年8月23日付けでリュースケマツオカ、ヤニスラブロウ、ゼクスアンソンにより米国特許商標庁に出願された「TASK COMPUTING」と題する米国仮出願番号第60/603,251号に関連し、その内容は本願のリファレンスに組み入れられる。
本願は、35USC119に基づいて西暦2004年11月18日付けでリュースケマツオカ、ヤニスラブロウ、ゼクスアンソンにより米国特許商標庁に出願された「TASK COMPUTING」と題する米国仮出願番号第60/628,557号に関連し、その内容は本願のリファレンスに組み入れられる。
本願は、35USC119に基づいて西暦2004年12月29日付けでリュースケマツオカ、ヤニスラブロウ、ゼクスアンソンにより米国特許商標庁に出願された「TASK COMPUTING」と題する米国仮出願番号第60/639,805号に関連し、その内容は本願のリファレンスに組み入れられる。
本願は、西暦2003年12月12日付けでリュースケマツオカ、ヤニスラブロウ、ゼクスアンソン及びサンリーにより米国特許商標庁に出願された「TASK COMPUTING」と題する出願番号第10/733,328号に関連し、その内容は本願のリファレンスに組み入れられる。
以下で充分に説明され及び特許請求の範囲に記載されるように、本発明並びに後述の他の形態及び利点は詳細な構成及び動作から更に明らかになり、説明の一部をなす添付図面が参照され、図中同様な番号は同様な部分を示す。
図1Aは本発明の一実施例によるタスクコンピューティング環境(TCE: Task Computing Environment)100のタスクコンピューティングアーキテクチャを示すシステム図である。図1Aでは、コンピュータで実行される方法は、パーバシブ(汎用的な)タスクコンピューティングシステム環境100を複数のタスクコンピューティングコンピュータシステム実装階層(tier)に分けるステップを有し、その階層は、プレゼンテーション処理レイヤ104、リモートプロセジャコールメカニズムアプリケーションプログラムインターフェース(API)106、リモートプロセジャコールAPI106によりプレゼンテーションレイヤ104に対するインターフェースがとられるミドルウエア(サーバ)プロセシングレイヤ108を有し、本方法は、機能116の意味論的に記述されたコンピュータシステムのソースに対して、コンピュータのサービス112として、ネットワーク化された、ネットワーク化されていない又は双方として(コンピュータシステム110)、リアルタイムで動的に(ダイナミックに)コンピュータで実現されるタスクインターフェース130(例えば、ソフトウエア/プログラムコンピューティングハードウエアインターフェース、コンピュータディスプレイスクリーングラフィカルユーザインターフェース(GUI)、コンピュータ音声ユーザインターフェース)をプレゼンテーションレイヤ104で生成し、サービスレイヤ112及び機能ソース実現レイヤ114は意味論的に記述されたコンピュータシステムソース機能116をコンピュータシステムサービス112(ミドルウエアプロセシングレイヤ108がインターフェースをとる)として提供し、リアルタイムで動的にコンピュータシステムを構成し、実行可能なタスクは1以上のサービス112をコンピュータシステム110における1以上のサービス112に対するプレゼンテーションレイヤ104で生成されたタスクインターフェース130に従って構成する。
タスクコンピューティング100は、アプリケーション、装置、電子サービス及びコンテンツリッチなコンピュータネットワーク環境114で複合的なタスクをリアルタイムで動的に発見、公表、構成、管理及び実行する(即ち、実現レイヤ114でタスクを実行する)ための新たなパラダイム(paradigm)である。タスクコンピューティング100は、(例えば、セマンティックサービス記述(SSD)116a−nを介して)コンピュータ装置114a−nのサービス機能115a−nを意味論的に記述することに基づき、そのセマンティクスに従ってエンドユーザによりオンザフライで実行可能なタスクに構成可能である。従ってここで説明される実施例によれば、タスクコンピューティング100システムは、3つ又はそれ以上のプログラムされたコンピューティング及び/又はコンピュータ読取可能な情報レイヤのマルチレイヤコンピュータシステムアーキテクチャを有し(例えば、セマンティックインスタンス、セマンティックサービス記述116)、そのアーキテクチャはプレゼンテーションクライアントプロセシングレイヤ104、ミドルウエアサーバープロセシングレイヤ108及び複数のコンピュータシステムレイヤ中の複数のサービスを含む。
ここで説明される実施例では、「サービス」112なる用語はコンピュータ装置、コンピュータアプリケーション/ソフトウエア、電子サービス及びコンピュータ(又はマシン若しくは双方で)読み取り可能なコンテンツの機能ソース実現レイヤの領域による機能の演算形態に関連する。
「タスク」126なる用語は、例えばユーザが実行するよう希望する、発見されたコンピュータシステムサービス112に従う1以上のアクションの構成に関連する。ここで説明される実施例によれば、「タスク」126は、ユーザにより自動的に駆動され、或いはそれらの如何なる組み合わせもコンピュータで実現されるタスクインターフェース130を介して構成及び管理される。ユーザの場合、1以上のサービス112の構成としてのタスク126はプレゼンテーションレイヤ104で管理される(例えば、発見され、公表され、構成され、実行される、等々)。非限定的なサービスの構成例として、「マイコンタクト112の勤務先アドレス112の天候情報112をプロジェクタ112で見る」は、「プロジェクタで見る」、「天候情報」、「勤務先アドレス」及び「マイコンタクト」の4つのサービス112で構成される。言い換えれば、「タスク」は1以上のサービス112の組み合わせより成る。
「構成(composition)」なる用語は、(非限定的であるが)例えばサービス112の入力(消費)/出力(生成)に対するデータオブジェクトタイプのような、サービス112の意味論的入力及び出力のように、意味論的に記述されたサービス112の用意された機能特性に従って複数のサービス112を共に置くことで形成することに関連する。サービスの機能特性例は、サービスの構築性を決定ためにサービス112の影響及び前提条件にすることができる。サービス112の影響及び前提条件の具体例はサービス112の入力及び出力データオブジェクトタイプにすることができる。
「セマンティックインスタンス(semantic instance)」又は「セマンティックオブジェクト(semantic object)」なる用語は、1以上のオントロジ(ontology)に基づく或る項目に関する記述群に関連する。セマンティックサービス記述(SSD)116は1以上のサービス機能オントロジに基づいてサービス機能115を記述する。
「公表(publish)」なる用語は1以上のサービス発見手段を介してセマンティックサービス記述(SSD)116を利用可能にすることに関連する。
「発見(discover)」なる用語はセマンティックサービス記述116の発見に関連する。
タスクコンピューティングはコンピュータシステム100のタイプを指定し、そのシステムは自動的な若しくはユーザが駆動する又はそれら双方の(適切な如何なる組み合わせによっても)リアルタイムで、ダイナミックに、「タスク」126を発見、公表、構成、管理及び実行し、そのタスクは意味論的に記述された116アプリケーション、装置及びサービスリッチなコンピュータコンピューティング(コンピュータシステム)環境110に基づく1以上のサービス112を有する。
セマンティックタスク実行エディタR(STEER)(意味論的に記述されたサービス116の実行可能なタスクを発見及び構成するためのソフトウエア)及び汎用インスタンスプロビジョン環境(PIPE: Pervasive Instance Provision Environment)(セマンティックインスタンス及び/又はセマンティックサービス116を公表及び管理するためのソフトウエア)に関する2つのタスクコンピューティングクライアントの例は、(リューースケマツオカ、ヤニスラブロウ、ゼクスアンソンによる西暦2003年12月12日付出願の)関連する米国特許出願番号第10/733,328号に記載されており、その内容全体は本願のリファレンスに組み入れられる。ここで説明される実施例は、リアルタイムに使用される技術及び/又は技術における改善、意味論的に記述されたサービス116の実行可能なタスクへの動的な構成に加えて、意味論的に記述されたサービス116の管理(例えば、発見、生成/公表、操作等)に関連する。
図1Aでは、ここで説明される実施例に従って、1以上のタスクコンピューティングシステム(TCS)118a−nが、リモートプロセジャコールメカニズムに基づいてクライアントサーバーコンピュータシステムアーキテクチャに従って用意される。TCS118は論理的であり、実行時にプレゼンテーションプロセシングレイヤ104にセグメント化され、クライアントタイプのプログラムされたプロセッサをタスクコンピューティングクライアント119a−nとして提供し、ミドルウエアプロセシングレイヤ108はサーバータイプのプログラムされたプロセスを提供し、セグメントされたプレゼンテーション及びミドルウエアプロセシングレイヤ104,108は、タスクコンピューティング環境ウェブサービスアプリケーションプログラミングインターフェース(TCE-WSAPI)106a−nのようなウェブサービス(WS)のような如何なるリモートプロセジャコールメカニズムにも従ってインターフェースをとる。ウェブサービスの概念は周知である。従ってここで説明される実施例では、概してTCS118は、プレゼンテーションレイヤ104でクライアントタイプのプロセスを用意するタスクコンピューティングクライアント(TCC)と、ウェブサービス(WS)のようなリモートプロセジャコールAPIを介するミドルウエアサーバープロセシングレイヤに関するTCC119インターフェースとを有し、この場合にTCC119はWSTCC199と言及される。リモートプロセジャコールメカニズムの具体例として、ウェブサービスを利用するTCS118は、WSTCS118と言及される。第三者アプリケーションを含む如何なるアプリケーション(例えば、マイクロソフトワード、エクセル、アウトルック、アドーブアクロバット等)、ウェブサービスのようなリモートプロセジャコールメカニズム(ウェブサービスコールのようなリモートプロシジャコールを作成することができる(又はリモートプロシジャ呼出機能を組み込むことができる))を用いることで、タスクコンピューティングクライアント(TCC)119になることができる。ここで説明される実施例は、リモートプロセジャコールメカニズムの具体例としてウェブサービスを利用するが、本発明はそのようなコンフィギュレーションに限定されず、如何なるリモートプロシジャコールメカニズムが使用されてもよい。
従ってウェブサービスをリモートプロシジャコールAPIの具体例として使用すると、セマンティックタスク実行エディタウェブサービスタスクコンピューティングシステム(STEER-WS TCS)118aはWSTCS118の一例であり、STEER-WSAPI12―を介して、ミドルウエアサーバープロセシングレイヤ108に関してインターフェースをとるプレゼンテーションプロセシングレイヤ104におけるSTEER−WSタスクコンピューティングクライアント(STEER-WSTCC)119aを有する。
パーバシブインスタンスプロビジョン環境ウェブサービスタスクコンピューティングシステム(PIPE−WSTCS)118bはWSTCS118の別の例である。PIPE-WSAPI122はミドルウエアサーバ管理ツール124を明らかにし、そのツールは一般にタスク126を管理することに加えて、タスクコンピューティング100で使用されるSSD116及び/又はセマンティックオブジェクトインスタンスを管理(例えば、生成/公表、除去、操作等)するために使用される。PIPE−WS122を利用するアプリケーションクライアント119はここでは意味論的に記述されたサービスコントロールメカニズム(SDSCM: Semantically Described Service Control Mechanism)119bとして言及され、その具体例は「ホワイトホール(White Hole)」119b−1、「サービスマネジャ」119b−2、「リアルワールドオブジェクトセマンタイザ」119b−3、及び「データベースセマンタイザ119b−4」であり、これらは関連する米国出願番号10/733,328号及び11/115,403号でも説明されている。例えば、例えば「ホワイトホール」タスクコンピューティング(ホワイトホール)119b−1のように、プレゼンテーションプロセシングレイヤ104で(PIPE-WSAPI122を介してミドルウエアサーバープロセシングレイヤ108とインターフェースをとる)、WSTCS118bはPIPE-WS122を利用し、ウェブサービスタスクコンピューティングクライアント(アプリケーションクライアント)又はSDSCM119bを有する。
(非限定的であるが)STEER-WSTCC119aのようなウェブサービスタスクコンピューティングクライアント(WSTCC)119、ホワイトホール119b−1、「サービスマネジャ」119b−2、「リアルワールドオブジェクトセマンタイザ」119b−3及びデータベースセマンタイザ119b−4をプログラム可能なコンピューティング素子(例えば、タスクコンピューティングクライアントソフトウエア)としてプレゼンテーションレイヤ104で利用することで、コンピューティング環境の1つ又は複数の如何なるものによってもTCE−WSAPI106を介するミドルウエアサーバープロセス108によって利用可能にされた意味論的に記述されたサービス116に基づいて、ユーザはタスク126を管理(例えば、発見、公表、構成、実行、操作)することができる。
図1Aでは、今日のコンピューティング環境に従って、ユーザは実現レイヤ114に関連する機能で囲まれており、その機能は、インターネットで利用可能な電子サービス(eサービス)、ユーザが操作するコンピュータ装置で動作するアプリケーション、コンピュータ読取可能な媒体で利用可能なコンテンツ等のような装置若しくはコンピュータ媒介サービス、又は特定の機能をサポートする単なる装置を有する。そのような装置、アプリケーション、eサービス及びコンテンツの具体例は、(限定ではないが)電話、コンピュータディスプレイ、カメラ、娯楽装置/コンテンツ、テレビジョン、パーソナルディジタルアシスタント(PDA)、無線通信装置(例えば、移動電話等)、オーディオプレーヤ、ファクシミリ装置、プリンタ、天気予報サービス、地図サービス、事務関連コンピュータソフトウエア(例えば、電子メールアプリケーション、アドレスブック等)、マルチメディアコンピュータ読取可能メディア(例えば、音楽のコンパクトディスク、映画のディジタルビデオディスク(DVD)等)、インターネットサイト、データベース等を含む。
図1Aでは、実現レイヤ114で与えられる機能又はサービス機能115a−nは、例えば(限定ではないが)、(例えば、娯楽装置の場合に)音楽を聴くこと、歌をダウンロードすること、ストリーミングビデオを鑑賞すること、ラジオを聞くこと、連絡先情報を提供すること、地図上の住所を確認すること等を含む。従来、実現レイヤ114は、装置又はサービス各々とユーザがやり取りする(及び/又は操作する)ことにより、そのユーザに機能を提供するように設計されていた;例えば、ユーザが訪れている部屋に用意されている電話で同僚に電話することを希望し、その同僚の電話番号がユーザのラップトップの電子アドレスブックアプリケーションに記憶されていたならば、そのユーザはラップトップアプリケーションを起動し、問題としている電話番号を捜し、その電話でその電話番号に手動でダイヤルしなければならない。言い換えればユーザはタスク126を構成することはできない。アプリケーション、eサービス及び装置が物理的に互いに通信可能である場合でさえ、即ちそれらの間に通信リンクが存在する場合でさえ、実現レイヤ114の設計者がコンピュータシステム機能ソース(例えば、コンピュータ装置)をタスクを考慮しながら設計していない限り、アプリケーション等はユーザのタスクについて有意義な方法でデータを交換できない。過剰な機能ソース114a−nに直面するとき、機能のソース114a−nがそのタスク用に設計されていない限り、ユーザはそれら全てのソース中の機能を活用するタスクを実行できない。更に、無関心なユーザはそのような如何なるタスクが可能であるかに気付いていないことが間々ある。
図1Aでは、ここで説明される実施例により、サービスレイヤ112は、機能ソース実現レイヤ114からのサービス機能115aと、(ネットワーク化された、ネットワーク化されていない又は双方の部分を含む)コンピュータシステムのサービス112として、機能ソース実現レイヤ114のサービス機能115aを関連する意味論的に記述するセマンティックサービス記述116aとを有する。ここで説明される実施形態によれば、サービス機能115及びSSD116間の関係は、特定の機能ソース114に関して多対多(n:m)にすることができる。例えば1つのSSD116と複数のサービス機能115では、サービス機能115の構成を(その構成中の複数のサービス機能115と共に)SSD116として保存する。1つのサービス機能115と多数のSSD116の場合には、単一のサービス機能115の複数の種類又はタイプの意味を与える。例えば、書籍検索サービス機能115(ISBN入力について著者、価格、写真等を返すサービス)の場合、その機能はセマンティックサービス116に基づくことが可能であり、ある者が著者の連絡先を返すこと、別のSSD116が画像を返すこと等を行うようにする。より具体的には、ここで説明される実施例形態によれば、サービスレイヤ112は、(ネットワーク化された、ネットワーク化されていない又は双方の部分を含む)利用可能なコンピュータシステム110サービス112を形成することと共に、サービス機能115a−nに対応するセマンティックサービス記述(SSD)116a−n及び実現レイヤ114a−nにより利用可能なサービス機能115a−nを有する。SSD116は実現レイヤ114のコンピュータネットワークサービス機能115を明らかにする。SSD116の或る具体例は、関連する米国特許出願番号第10/733,328号(西暦2003年12月12日付で米国特許商標庁に「TASK COMPUTING」のタイトルで出願されている)にも記載されており、その出願は富士通株式会社に譲渡され、その全内容は本願のリファレンスに組み入れられる。
従って、タスクコンピューティング100は、タスクを達成する具体的実現方法を強調するのではなく、タスク126を強調する実現レイヤ機能ソース114a−nのサービス機能115a−n(例えば、コンピュータ装置114)とユーザがどのようにやり取りするかの新たなパラダイムであり、そのタスク126は、そのコンピュータ装置114を利用しながら達成することをユーザが希望するタスクである。タスクコンピューティング100はユーザが実行したいことと(その環境で利用可能な)コンピュータ装置114のサービス機能115との間のギャップを埋める。タスクコンピューティング100は、現在のパーソナルコンピューティングパラダイムのような従来の手法を上回るかなりの恩恵をもたらし、エキスパートでないコンピュータユーザに一層相応しく、全てのタイプのユーザにとって時間を節約でき、汎用コンピュータタイプのコンピューティング環境を実現するのに特に適している。
図1Aでは、従って、ここで説明される実施形態によれば、拡張及び構築に柔軟性のあるコンピュータシステムアーキテクチャ(ソフトウエア及び/又はプログラマブルコンピューティングハードウエア)を用意するため、個々のモジュール化されたミドルウエアサーバープロセシングレイヤ108が作成され、そのレイヤの機能は、リモートプロシジャコールアプリケーションプログラミングインターフェース(API)を介してプレゼンテーションプロセシングレイヤ104に利用可能になる;アプリケーション開発者及びユーザはそれらを用いてタスクコンピューティング機能(例えば、サービス112及び/又はタスク126の構築、保存、実行、関し、公表、管理等を含む、実行可能なタスク126へのサービス112発見及び構成)にアクセスする。例えばウェブサービスのようなリモートプロシジャコールメカニズムは、エンドユーザのアプリケーション開発に必要なプログラミング言語非依存性、プラットフォーム及びロケーション(即ち、異なるコンピュータで異なるプロセシングレイヤ)を提供する。
上述したように、ユビキタスパーバシブネットワークコンピュータコンピューティング環境は、その性質上しばしば一時的である多数の装置及びその他の機能(eサービス、アプリケーション、コンテンツ)114,115で満たされ;更に、エンドユーザ又はユビキタス環境のアプリケーションを作成する開発者さえも、如何なる機能(リソース)114が及び対応するサービス機能115が所与の時点で利用可能であるか及びより重要なことにそれらが何に利用可能であるかを前もって知らないかもしれない。このダイナミズムを考慮するため、サービス機能114,115は設計時点でなく実行時に発見され組み合わせ可能にされる必要がある。従ってここで説明される実施例は、一例としてセマンティックウェブ技術を利用し、その理由はコンピュータネットワークリソース114,115がマシン読取可能なセマンティクス116によりそれ自身充分に記述されていたならば、或るインフラストラクチャ100を構築することができ、そのインフラストラクチャはコンピュータシステムサービス110のようなリソース114,115を充分に理解し、アプリケーション開発者が一般的に行うことを、リソース114,115が提供するもの及び何のために利用可能であるか等の開発者自身の知識を利用することで、エンドユーザが行うことを可能にするからである。セマンティックウェブの概念は周知である。
より具体的には、ここで説明される実施形態によれば、タスクコンピューティング100はセマンティックウェブ及びウェブサービスの周知の概念を利用する。しかしながら、真に動的なアドホックなユビキタスコンピューティング環境で実際の機能システムを実現するために、ここで説明されるタスクコンピューティング100では、以下のことが設定及び実行される:
(1)図1に示されるように、機能に関するコンピュータシステムソース110に対するタスクインターフェースを用意する。タスクインターフェース130は、(1)タスクコンピューティングクライアント(TCC)119を有するプレゼンテーションプロセシングレイヤ104、(2)ミドルウエアサーバープロセシングレイヤ108(プレゼンテーションレイヤ104でのTCC119がタスクコンピューティング環境(TCE)ウェブサービスAPI106(例えば、STEER-WSAPI120及びPIPE-WSAPI122)のようなリモートプロシジャコールメカニズムAPI106とインターフェースをとる)に論理的にセグメント化されたタスクコンピューティングシステム(TCS)118を有する。API106は、プレゼンテーションプロセシングレイヤ104によりインターフェースされるミドルウエアサーバープロセシングレイヤ108を明らかにする。タスクインターフェース130も、サービス機能115を意味論的に記述するセマンティックサービス記述(SSD)116を有する。SSD116はTCC119を介してプレゼンテーションレイヤ104で示されるミドルウエアプロセシングレイヤ109によって発見され、サービス機能115は、例えば実行されるタスク126の一部として、用意された制御コマンドに従って、例えば、TCC119を介してプレゼンテーションレイヤ104で及び実行されるサービス機能115のSSD116に基づいて、ミドルウエアプロセシングレイヤ108により実行される。
(2)共にサービスレイヤ112を提供するように、セマンティックサービス記述(SSD)116及びサービス手段115を分離する。
(3)サービス112について或る範囲の探索を達成するためにリモートタスクコンピューティングクライアント119でアクセス可能であってコンピュータ110で動作するリモートプロシジャコールAPIの部分集合としての「スフェア(sphere)」−領域−の概念を考察することで、(場合によっては、サービスの又は保存されたタスクの)探索の仕組み、探索範囲及びサービスの操作機能をそれらの範囲の中で及び間で分離する。
(4)サービスを動的に作成及び操作するユーザ(及びアプリケーション)の能力は、利用可能であり(ユーザには能力があり)、他の者と共有可能である(或いは、必要に応じて共用できなくしてもよい。)(即ち、サービスコントロールマネジメントを行う。)。
(5)興味のある及び真に有益なタスク126を実行可能にする様々なサービス112を用意する。
従って図1Aに示されるように、上述のレイヤの分離は、論理的なもの及び実現的なもの双方に関連し、タスクコンピューティング100を構築するのに有益であり、ユーザは複雑なタスクを実行することができ、そのタスクはコンピュータネットワークシステムで(黙示的にも明示的にも)設計されていなかったものであり、かくてユーザのソース機能114,115(装置、アプリケーション、コンテンツ及びeサービス)を増やす。本発明はセマンティックウェブに限定されず、(データがアプリケーション、企業及び集団の境界を超えて共有及び再利用されることを可能にする)他の意味論的なタイプの技術やフレームワークがここで説明される実施例で使用可能である。
図1Aでは、機能ソース実現レイヤ114は、最低レイヤとして示され、コンピュータ装置、コンピュータアプリケーション/ソフトウエア、電子サービス及びコンピュータ(又はマシン若しくは双方で)読取可能なコンテンツ等の領域を網羅し、ユーザに利用可能な全ての機能が生じる。機能ソース114のサービス機能115(以下で更に詳細に説明される)は機能性に関する演算例である。そのようなサービス機能115は一般に少なくとも3つの異なるタイプのソース114(装置、アプリケーション(ソフトウエア)及びオーバーザウェブeサービス)から発する。これら3つのソース114は厳密に手ではなく緩やかに定義され、カテゴリを限定していない。なぜならそれらの間の境界は融通性が高いからである。一例として、サービス115を発する装置114は、装置114がもたらすように設計された中核的な(コアの)機能である。例えば、電話(装置)114の主な機能は電話呼出(サービス)115を行うことである。同様に、機能を発するアプリケーション(ソフトウエア)114は、コンピュータ装置114で実行するソフトウエア114のサービス機能115である。例えば、個人情報管理(PIM: Personal Information Management)アプリケーションの機能は、人の連絡先情報を記憶及び検索することを含む。最後にeサービス及び/又はコンテンツ114サービス機能115は、例えば、ユーザのローカルなネットワークの境界を越えてウェブサービスを介してサービス機能115をもたらす何らかのリモートサーバーで動作するサービス機能115である。第4のソース機能114のようなコンテンツは非常に有用であり、そのコンテンツはサービス機能115として利用可能にされ;このタイプのサービス機能115は、ユーザ間での情報共有手段として非常に有用である。従って「サービス」112はここでは、コンピュータ装置の機能ソース実現レイヤ114、コンピュータアプリケーション/ソフトウエア、電子サービス及びコンピュータ(又はマシン若しくは双方で)読取可能なコンテンツの分野からの機能の演算例に関連する。従って機能ソース実現レイヤ114からの機能の演算例としての「サービス」112は、「サービス」112とやりとりするインターフェース特性を有し、それは、サービス名、実行される機能等を含む「サービス」の記述、及び「サービス」112に対する入力/出力のようなサービスの機能特性を有する。さらに、ここで説明される実施形態によれば、コンピュータシステムサービス110用にコンピュータで使用されるユーザインターフェースは意味論的に記述された「サービス」112の出力データ及び入力データに基づくオントロジに従う。例えば、ディスプレイプロジェクタにファイルを表示するためにセマンティックサービス記述116に記述されたサービス112は、「プロジェクタで表示」と名付けられ、入力としての「ファイル」を受け入れ、何らの出力パラメータもない。
図1Aでは、サービスレイヤ112はセマンティックサービス記述(SSD)116を介してサービス機能115として演算に利用可能にされた機能のソース114である。SSDはサービス機能115を発見しそれにアクセスすることを可能にする。各サービス機能115は少なくとも1つのセマンティックサービス記述(SSD)116に関連し、例えばOWL−Sに従ってエンコードされ、OWL−Sはウェブオントロジ言語(OWL)に基づくウェブサービスオントロジ言語であり、リソース記述フレームワーク(RDF)/拡張可能マークアップ言語(XML)交換シンタックスを利用し、サービス115が動的に作成されるように(利用可能にされるように)、SSD116はPIPE−WSTCS118bを介して実行中に(オンザフライで)作成可能である。説明されるSSDの例はOWL−Sの例に限定されず、ウェブサービスを含む、コンピュータシステムサービス機能115の特性及び機能を記述するコンピュータで解釈可能な如何なる言語構造でも利用可能である。SSD116は3つの部分を有し、それらは:プロファイル、プロセス及びグランディング(grounding)であり、プロファイルの部分はユーザがサービス115を実際に起動可能にする。サービス115はタスクコンピューティング領域100で利用可能な機能を表現し、これらのサービス115のSSD116は、サービス機能115のソースに関する複雑さからユーザを隠蔽し、関心のある複雑なタスクを実行する際にそれらのサービス機能をユーザが利用しやすくすることになっている。意味論的に記述されたサービス116の例は関連する米国特許出願番号第10/733,328号(リュースケマツオカ、ヤニスラブロウ、ゼクシアンソンにより西暦2003年12月12日付で米国特許商標庁に「TASK COMPUTING」のタイトルで出願されている)でも説明されており、その出願は富士通株式会社に譲渡され、その全内容は本願のリファレンスに組み入れられる。
図1Aでは、ミドルウエアサーバープロセシングレイヤコンポーネント108はサービス115,116(又は112)を発見する責務を有し、サービス115,116が実行可能なタスクにどのように構成可能であるかを決定し、サービスを実行し、実行したサービスを監視し、(意味論的に記述されたサービス116の作成及び公表を含む)様々な管理動作を可能にする及び支援する。言い換えれば、ミドルウエアサーバープロセシングレイヤコンポーネント108の目的は、全てのサービスリソース115を意味論的に記述されたサービス116として抽象化することであり、そのサービスは、それらを操作するよう求めるアプリケーションに又はユーザに(例えば、TCC199を介してプレゼンテーションレイヤ104で)利用可能にされることが可能である。
図1Aでは、プレゼンテーションプロセシングレイヤ104はミドルウエアプロセシングレイヤ108の機能を利用して、全ての利用可能なサービス機能116,115(112)を結合することでユーザがタスクを実行可能にする。WSTCC、WSアプリケーション及び/又はWSウェブベースインターフェースアプリケーション(ウェブブラウザと共にアクセス可能である)と呼ばれる(ここでは全てWSTCCと呼ばれる)ウェブサービス118a−nを用いる様々なプログラム可能なコンピューティングクライアント(例えば、ソフトウエアクライアント、プログラマブルコンピューティングハードウエアクライアント、又は双方等)が用意され、ミドルウエアプロセシングレイヤ108を介して利用可能な全てのサービス機能112を結合することでタスクを実行する。ここで説明される実施形態によれば、ミドルウエアレイヤコンポーネント108は、明確なウェブサービスアプリケーションプログラミングインターフェース(WSAPI)106を介して明らかにされ、それにより、これらのAPI106を用いるWSタスクコンピューティングクライアント(WSTCC)119の生成を可能にする。
サービス112の発見、構成、実行、保存、生成、管理のようなタスクコンピューティングのコア機能に制限無くアクセスするミドルウエアプロセシングレイヤ108でタスクコンピューティング環境ウェブサービスAPI106を規定することは、列挙された機能全てを開放する。例えば、WSTCS119は、ユーザがウェブサービス106を呼出可能にする限り、タスクコンピューティングの特定の実現手段に拘束されず、ユーザは如何なるプラットフォームでも作業することができ、WSTCC119を作成し及びサービス112にアクセスするのに如何なるプログラミング言語でも利用できる。
図1Aでは、従って、ここで説明される実施形態によれば、タスクコンピューティング環境ウェブサービス(TCE−WS)API106が提供される。TCE−WSAPI106の部分集合(サブセット)は様々なタスクコンピューティングの目的に使用可能であり、STEER−WSTCS118aで使用される場合にはSTEER-WSAPI120と、1以上のPIPE-WSTCS118bで使用される場合にはPIPE-WSAPI122と、クロス環境タスクコンピューティングの「スフェア(Sphere)」を用意するのに使用される場合にはスフェアオブマネジメント(SoM)-WSAPI123と言及される。本発明の実施例が以下に説明される:
セマンティックタスク実行エディタウェブサービス(STEER−WSTCCC)119aのような様々なウェブサービスタスクコンピューティングクライアント(WSTCC)119aの例が詳細に説明され、それはSTEER-WSAPI120に基づき、意味論的に記述されたサービス116を発見し及び実行可能なタスクに構成するソフトウエアである。WSTCS118のプレゼンテーションレイヤ104コンポーネント108のようなSTEER-WSTCC119aは、様々なコンピュータで実現されるユーザインターフェースを用意する。関連する米国特許出願番号第10/733,328号及び11/115,403号は、STEER-WS拡張(XT)TCC119a-1に関連するコンピュータ表示グラフィカルユーザインターフェース、移動電話のような無線装置で実施されるコンピュータ表示グラフィカルユーザインターフェースを説明しており、それらは移動電話STEER-WSTCC119a-2、STEER-WS空間情報システム(SIS)TCC119a-3、音声STEER-WSTCC119a-4及びタスクレット-WSTCC119a-5と呼ばれる。本発明の一実施例によるタスクレットWSTCC119a-5が以下に説明される。
PIPE-WSAPI122に基づくアプリケーションクライアント119もここで説明され、それはサービス112を生成、除去、修正するようなサービス112の管理のための意味論的に記述されたサービスコントロールメカニズム(SDSCM)119bである。特に「サービスマネジャ」119b-2、「リアルワールドオブジェクトセマンタイザ」119b-3、「データベースセマンタイザ」119b-4及びメディア公表部119b-5がここで説明される。
クロス環境サービス112ディスカバリ及び実行に関する「マネジメント領域(sphere)」の概念もここで説明される。
通信言語順応化(例えば、会話言語の国際化)及び新パラメータのようなセマンティックサービス記述(SSD)116の拡張された用途(進歩した動作)もここで説明される。SSD116はサービス115自身からWSTCC119へサービス115のパラメータを伝える伝達手段である。より具体的には、タスクコンピューティング100環境を強化する新たな種類のパラメータが使用され、緩和形式のサービス112入力、サービス112のロケーション、マルチ言語サービス112及びサービス112管理機能を有する。
サービス112に対するアクセス制御も説明される。
インスタンス生成器、インスタンス複製器、インスタンスインターセプタ、インスタンスセーバー及び適切な選択器のようなタスクコンピューティングクライアント119内部サービスもここで説明される。
サービス112が指定され実行されることもここで説明され:(1)サービスを順に並べるセマンティックインスタンス、(2)サービスを提供する情報、(3)時間/温度サービス、(4)スナップショットサービス、(5)OWLフォーマットサービス及び(6)テキストフォーマットサービスを含む。
ユーザインターフェース−STEER-WS-XT TCC119a-1:
図1Bは本発明の一実施例による、プレゼンテーションレイヤでのSTEER-WS-XTTCC119a-1によるコンピュータで実現されるタスクインターフェースとしてコンピュータに表示されたグラフィカルユーザインターフェース画像である。図1Bでは、コンピュータ表示グラフィカルユーザインターフェースウインドウ142は、発見されたサービス112ウインドウ(又は、発見プレーン)であり、そのウインドウは発見されたサービス112のアイコンツリー構造に従って表示される。ここで説明される実施形態によれば、サービス112は、(限定ではないが)、愛称(フレンドリネーム)、サービスタイプ、アルファベット順等のようなオントロジ及び/又は他の特性に基づく何らかのタイプのサービスカテゴリ階層に従って、発見サービスウインドウ内で組織される。コンピュータ表示グラフィカルユーザインターフェースウインドウ144はタスクウインドウ144(又はタスク126構造プレーン)であり、多数の入力/出力に関するサービス112の非線形サービス構造を収容するよう意図されたサービスグラフである。図1Bでは、タスクウインドウ144は、非限定的に、5つのサービス112を含むタスク126を表示する。特に、タスク126は「マイコンタクト112からホームアドレス122及びビジネスアドレス122へのルート112をマイプロジェクタ112で表示する」である。
図1Bではここで説明される実施形態に従って、SSD116ウインドウ150は、サービスウインドウ122で選択されたサービス112について、SSD116パラメータ/特性を表示する。SSDウインドウ135は、例えばタスク126の一部としてタスク126を検査する際に活用できる。
図1Bでは、タスクウインドウ144はサービス112の選択可能な図形表示を提供し、そのサービスは発見サービスウインドウ142で選択されたものである。タスクウインドウ144では、発見されたサービス112の選択時に、オントロジに基づいてサービスの機能特性に従うコンパチブルなサービスが自動的に見分けられ、サービス112の図形表示も自動的に1以上の選択可能な機能特性ボタン145a−nを有し、そのボタンは選択された発見されたサービスについて利用可能な又は有効な(両立可能な)サービス112を表す。機能特性ボタンを選択すると、先行するサービス112の成果を利用可能な他の発見済みサービス112の選択可能なリストが表示され、サービス112の図形表示をつなぐ表示された線で示されるように、1以上のサービス112を構成することは、或るタスク126を作成する。より具体的には、タスクウインドウ142の中で、ユーザはタスク126として指示したサービス112のグラフを構成する。サービス112の入力/出力データオブジェクトタイプをサービス112の機能特性として用いる場合には、出力機能特性ボタン145aは、着色によって又はコンピュータ表示を区別する既知の何らかの方法によって、入力機能特性ボタン147と区別される。
移動電話STEER-WSTCC119a-2、STEER-WS-SISTCC119a-3、音声STEER-WSTCC119a-4及びタスクレット-WSTCC119a-5の他のSTEER-WSTCC119aコンピュータ利用ユーザインターフェースは後に詳細に説明される。
図1A及び図1Bを参照するに、タスクコンピューティングシステム100は或るアークテクチャを有し、そのアーキテクチャは、現在の環境で利用可能なサービスを発見し、利用可能なサービスのユーザ中心の観点によるタスクを構築及び処理し、複数のサービスで構成される結果のタスクを実行するための基礎を与える。必要ならば、エンドユーザさえも新たなサービスを動的且つ簡易に作成する。タスクコンピューティングシステム100の3つの特性/要素(1),(2),(3)は次のとおりである:
(1)サービス112として全ての機能114,115の一様な抽象化。ここで説明されるように、タスクコンピューティング100では、ミドルウエアサーバープロセシングレイヤ108は意味論的に記述されたサービス112として全てのリソースを抽象化するよう機能する。意味論的に記述されたサービスは、(限定ではないが)WSDL(ウェブサービス記述言語)、UPnP(ユニバーサルプラグアンドプレイ)、CORBA、RMI、RPC、DCE、DCOMサービス機能115のようなリモートプロシジャコールを介して利用可能なサービス機能115であり、サービスを記述するための言語(例えば、OWL−S)におけるセマンティック記述(ファイル)116が指定される。そのようなセマンティック記述116を指定すると、指定されたオントロジはそのサービス116,115(112)が動作する領域について具体化される。オントロジに関し、ソフトウエアツールが、オントロジを作成するために、及び可能性のある存在する又は利用可能なオントロジが利用可能なときはいつでも使用可能である。OWL−Sサービス記述116は、サービス機能115の機能特性を表現し、その機能は例えば入力及び出力をセマンティックオブジェクトとして、及びオーナー、創作者、ロケーション等とサービス112に関して意味付ける。その記述は、実際のWSDL及び/又はUPnPサービスが適切に実行可能になるようにする基礎情報を含む。これらの記述を用意する際に、セマンタイザツール(限定ではないが、ここで説明及び/又は言及されたリアルワールドオブジェクトセマンタイザ119b-4、データベースセマンタイザ119b-5、インターナルサービスインスタンスクリエータ等)は、オントロジオブジェクトをWSDLパラメータにマッピングし、何らかの必要な基礎情報(基礎情報(グラウンディング)はXSLTスクリプトを介して表現される)を作成するのに使用される。ウェブサービスインターフェース106はミドルウエアサーバープロセシングレイヤ108用に用意され、それに基づいてプレゼンテーションクライアントプロセシングレイヤ104での直感的なタスク126ユーザインターフェースが用意される。
タスクコンピューティングミドルウエアはセマンティックサービス記述の動的なリポジトリ(repository)と見ることもできる。ここで説明されるこれらの記述にアクセス及び操作するためのAPI106とは別に、APIを実行することでそのリポジトリのディレクトリを問い合わせるための手段が用意され、APIはサービス記述に対する如何なるRDF問い合わせ言語(RDQL)クエリをも処理する(JENA2.0はRDQLクエリの処理例として使用される。)。例えば、開発者はロケーションのようなサービスの何らかの特性によりタスク合成用にユーザに提示されたサービスを、たとえその目的に対する明示的なAPIが用意されていなかったとしても選別できる。この能力はアプリケーション開発者の力を伸ばし、或るクエリがより有用になるので、それらはミドルウエアにAPI106(事前に選択されたRDQLクエリを実行する)として永続的に加えられてもよい。
サービス112としての機能の抽象化は機能を一般にアクセス可能にし、タスクコンピューティングインフラストラクチャがそのような機能とやり取りすることを可能にする。タスクコンピューティングシステム100は、ユーザのコンピュータ装置の(アプリケーション及びOSによる)、環境中の装置の及びインターネット上で利用可能なeサービスの機能114,115を抽象化されたサービス112に変換する。この抽象化はその環境で利用可能な機能を処理するための事前の用意を減らす道を開くが、それ自身単独で、ユーザにリアルタイムの操作能力及び機能をタスク126に構成する能力を与えるには充分でなく、ここで説明される実施例はプレゼンテーションレイヤ104を用意し、リアルタイムの、動的なタスク(複数のサービスを有するタスク)の管理をサポートする。
(2)セマンティックサービス記述(SSD)116に基づいて抽象化されたサービス112の直感的な操作性を(ユーザに及び/又はシステムに)与えること。サービス112の直感的な操作性は、セマンティックサービス記述(SSD)116の利用を通じて可能になる;オントロジはそのようなユーザ及び/又はシステムの直感的な操作を達成するための仕組みである。SSD116の概念は、関連する米国特許出願第10/733,328号(西暦2003年12月12日付で米国特許商標庁に「TASK COMPUTING」のタイトルで出願されている)にも記載されており、その出願は富士通株式会社に譲渡され、その全内容は本願のリファレンスに組み入れられる。
例えば、SSD116の代わりに、WSDL(ウェブサービス記述言語)機能ソース115だけがウェブサービスの機能特性を記述するのに使用される場合、WSDLベースのウェブサービスは、プログラマがそれらの意味を(WSDL記述内容以上に)理解し且つ適切にそのサービスを利用するためのコードを開発する必要がある。その結果、機能に関するエンドユーザのやりとりは、開発者により事前に決められたそれらのプログラムの範疇に制限される。オントロジオブジェクトをソース機能115パラメータ(例えば、限定ではないが、WSDLパラメータのようなパラメータ)にマッピングし、及び何らかの必要な基礎情報を作成することによる追加的なセマンティクス(SSD116で供給される)は、タスクコンピューティング100インフラストラクチャが、ユーザが詳細な知識なしにそのサービスを操作することを支援することを可能にする。例えば、セマンティクスはユーザによるサービスの操作を制約するために、又はその環境で可能性のあるタスク126についてユーザを禁止するために使用可能である。WSDLだけがサービスのセマンティック入力及び出力に基づくサービス構成を当てにしているならば、その構成はサービスの如何なる構成にも制約されず、例えば、XSDストリングを使用する別のものと共にCMLスキーマ定義(XSD)ストリングを生成し、おそらくは実行可能でない(無効な)サービス構成を導出する。従ってここで使用される実施形態によれば、「構成(composition)」は、(限定ではないが)例えばサービス112の入力(消費)/出力(生成)用のデータオブジェクトタイプのサービス112の意味論的な入力及び出力のような、意味論的に記述されたようなサービス112の用意された機能特性に従って複数のサービス112を共に置くことで形成されることに関する。サービスの機能特性の具体例は、サービス構成を決定するためのサービスの前提条件及び影響でもよい。サービス112の前提条件及び影響の具体例は、サービス112に関する入力及び出力データオブジェクトタイプでもよい。特に、サービス112のSSD116は微細な粒度のサービス入力及び出力をもたらし、例えば、「アドレス」セマンティックオブジェクトを生成するサービスは意味論的に両立性のあるサービスと共にだけ構成可能でもよい。
ユーザの直感的なサービス112の操作の別のメカニズムは、「マイホームからのルート」のようなサービス名のような自然言語に従って適切なサービス名を与えることによるものであり、コンパチブルなサービスの構成サービス名は自然言語タスク126表現として機能してよい(例えば、「プロジェクタで見る」112+「マイファイル」、112「カンパニー1からのルート」112「都市名空港」112)。オントロジは、サブクラス−スーパー−クラス関係に基づく構成のようなメカニズム、及びエンドユーザにとって非常に自然な意味論的オブジェクト変換をサポート可能である。従ってタスク126の構成は自然言語文に基づく、或いは換言すれば構成されたタスク126は自然言語文のように読める。より具体的には、ここで説明される実施例は、生前言語シーケンスの要素(例えば、フレーズ)のようなサービスに名称を割り当て、自然言語文のような自然言語要素の構成に対応付けるためのサービスの構築性をサポートする。従ってタスクコンピューティングシステム100はエンドユーザが環境110のサービスとやりとりするのに非常に豊富で興味深い方法を可能にする。
(3)ユーザは例えば図1Bに示されるような(1)及び(2)に基づいてコンピュータ実現ユーザインターフェースを介してタスク126のリアルタイムの及び/又はダイナミックな(後に結合する形式の)構成を行うことができる。
ウェブサービスアプリケーションプログラムインターフェース(TCE-WSAPI)106:
図2は本発明の一実施例によるSTEER-WSAPI120の定義リスト例を示す。図1A及び1Bでは、STEER-WSTCC119aはWSTCC119であり、サービス112を発見し、選別し、構成し、実行し、タスク126としてサービス112を保存するのに便利なユーザインターフェースをもたらす。STEER-WSAPI120は、TCE-WSAPI106であり、独立モジュールからタスクコンピューティング機能を抽出し、例えばSTEER-WSTCC119aのような何らかのWSTCC199によりアクセス可能な標準的なウェブサービスインターフェースとしてそれらを明確にする。
図2に示されるように、ウェブサービス106によるタスクコンピューティングミドルウエアサーバー処理レイヤ108の機能を明らかにすることで、プレゼンテーションプロセシングレイヤ104でのWSTCC119は、タスクコンピューティングミドルウエアサーバープロセシングレイヤ108のモジュールの実現手段から開放可能である。WSTCS119開発者は、ウェブサービス106の呼出がなされない限り、如何なるオペレーティングシステムで如何なるプログラミング言語も利用でき、WSTCC119をもたらす。ウェブサービス呼出を実行可能な(又はウェブサービス呼出機能を組み込むことが可能な)第三者のアプリケーション(マイクロソフトワード、エクセル、アウトルック、アドーブアクリバット等)さえ潜在的なWSTCC119でもよい。
図2では、発見、構成、実行、監視、保存等のような機能がSTEER-WSAPI120でサポートされている。一般に、STEER-WSAPI120及びPIPE-WSAPI122のようなTCE-WSAPI106はサービス112識別子(SID)パラメータを当てにし、そのパラメータはSSD116で記述された意味論的に記述された或るサービス機能115を固有に特定するものである。典型的には、ここで説明される実施例によれば、SIDはSSD116で記述された意味論的に記述されたサービス115へのユニフォームリソースロケータ(URL)の文字列である。例えば、図3Aは発見されたサービス112に関するローカルな情報に同期するためにSTEER-WSAPI120を利用するコンピュータソースコード300の例を示す。図3Bは複数のサービス112と共にタスク126を起動するSTEER-WSAPI120を用いる別のコンピュータソースコード例310を示す。非限定的な例として、図3Bでは、サービスリストパラメータは例えば“&”を用いて複数のタスクを区別し且つ“|”を用いてタスク内のサービス112識別子を区別する入力文字列であり、WSTTCC199はタスクの実行を起動及び監視するために自身のコード中に図3Bのプログラムループを有することができる。従って本発明では、図3A−3Bのようなソースコードは、TCEWSAPI106を用いてミドルウエアサーバープロセシングレイヤ108のリモートプロシジャを起動し、STEER-WSTCC119aのようなWSTCC119の実現例である。
図4は本発明の一実施例によるSTEER-WSTCC119aのミドルウエアプロセッシングレイヤ108プログラムモジュールの機能ブロック図である。図1及び図4に示されるように、STEER-WS-TCC119aのミドルウエアプロセシングレイヤ108はセントラルモジュール402を有し、そのモジュールは、プレゼンテーションプロセシングレイヤ104からのSTEER-WSAPI120を介するウェブサービス106要求に従って、サービス112の発見モジュール404、実行モジュール406及びモニタモジュール408を制御する。セントラルモジュール402は、サービス112分解及びインデックスモジュール410と、サービス112構成及びタスク126実行計画部412とを有する。サービス112分解及びインデックスモジュール410はインターフェース412を登録し、発見モジュール404が、発見したサービス112を登録すること/登録抹消することを可能にする。発見モジュール404は、ローカル発見モジュール414、UPnPのような第三者サービス機能115発見モジュール416、リモートサイト発見モジュール418及び発見モジュール管理部420のような個々の発見モジュール群を有し、管理部420は、各発見モジュールが様々な環境110で使用されるべきか否かを判定する管理機能を有する。
ここで説明される実施形態によれば、サービス発見モジュール404は、リモート第三者発見モジュール418nを用いるリモートサイト発見モジュール又は第三者派遣モジュール416を介して、何らかのサービス機能115発見手段に従って、サービス機能115を発見する。第三者発見手段416は例えばユニバーサルプラグ及びプレイ(UPNP)技術、ジニ(JINI)技術、ブルートゥース等又はそれらの如何なる組み合わせとすることもできる。例えば、CYBERLINK UPNP及び/又はINTEL UPNP TOOLKITの手段は、UPnPによるサブネットワーク内でブロードキャストされたサービス記述を発見するために第三者発見モジュール416で使用可能である。また、サービス発見モジュール401は、ローカル発見モジュール414及びリモートサイト発見モジュール418を介してセマンティックサービス記述(SSD)116を発見することができる。
ここで説明される実施形態によれば、ヒューレットパッカード開発会社によるJENAがSSD116を格納するのに使用される。分解及びインデックスモジュール410は、SSD116を分解及び分析するための分解及び分析する機能を有する。例えば、ここで説明される実施形態によれば、SSD116はヒューレットパッカード開発会社によるJENAを用いて、アメリカ合衆国メリーランド大学のMINDLABによるペレット(PELLET)及びOWL−SAPIと共に分解される。特に、「サービス112が発見されること」は「或る機能ソース114(例えば、デバイス、ソフトウエア114)のサービス機能115を意味論的に表現するSSD116が発見されること」と等価である。SSD116は、サービス発見モジュール404の何れかにより発見可能であり、登録インターフェース422を介してセントラルモジュール402に送信され、SSD116が例えばペレットのサポートと共にJENAにより最初に分析される。SSDが分析されると、ペレットはRDQLクエリに対する回答する準備を行う。サービス分析及びインデックするモジュール410から問い合わせることで及び問い合わせ結果に基づいて、サービス構成及びタスク実行計画モジュール412はタスク126としてのサービス112の構成を想定し、TCC199からのタスク126実行命令に応答してタスク126の実行計画を決定する。実行計画が決定されると、中央モジュール402は実行モジュール406を介して関連するサービス機能115を呼び出し、その実行モジュールはサービス機能115を呼び出すためにSSD116に用意されたグラウンディング呼び出し部(grounding invocation)424を有する。発見モジュール404は、サービス機能115及びセマンティックサービス記述(SSD)116を含み得るサービスを発見する。サービス112分解及びインデックス部410の上記の説明は、そのようなコンフィギュレーションに限定されず、JENA及びペレット以外のSSD116を分解及び分析する如何なる仕組みも利用可能である。
ここで説明される実施形態によれば、独立したモジュールとして、WSTCC119は、(例えば、基礎をなすブルートゥースSDP、IR、RENDEZVOUS、JINI等404,406についてウェブサービスインターフェース106を実現することで)統合される及び高度に抽象化される発見及び実行手段がウェブサービスAPI106に従って実行可能である限り、如何なる種類のサービス112発見手段404又は実行手段406をも使用可能である。従って、例えば、ユーザが特定するのに唯一必要なものは、サービスレイヤ112とのインターフェースをとるためのSTEER-WSAPI120用のウェブサービス定義言語(WSDL)ファイルのユニフォームリソースロケータ(URL)である。ウェブサービスAPI106が用意される限り、TCE−WSAPI106により基礎をなす発見手順全体が、プレゼンテーションレイヤ104でWSTCC119におけるユーザにとって透明(transparent)である。例えば、或るSTEER-WSAPI120は、ブルートゥースベースのサービス112を発見及び実行するためにブルートゥース発見モジュール404を利用することができる。別のSTEER-WSAPI120はUPnP発見モジュール404を利用することができる。
図1Aでは、PIPE-WSTCS118bは、セマンティックオブジェクトインスタンスを公表及び管理するためのWSTCS118の別の例である。PIPE-WSAPI122は独立モジュールからタスクコンピューティング管理機能124を抽出し、「ホワイトホール」119b−1、「サービスマネジャ」119b−2、「リアルワールドオブジェクトセマンタイザ」119b−3及び「データベースセマンタイザ」119b−4のような何らかのWSTCS119によりアクセス可能な標準的なウェブサービスインターフェース106としてそれらを明らかにする。より具体的には、PIPE-WSAPI122はウェブサービスインターフェース106をPIPE-WSTCS118bに与え、オペレーティングシステム、アプリケーションオブジェクト、デバイスサービス等を公表することのようなサービス112を管理する。
図5A−5Bは本発明の一実施例によるPIPE-WSAPI122の定義例のリストである。PIPE-WSAPI122はタスクコンピューティングサービス112の生成を容易にする。例えば、図5Aに示されるように、“Insert”ウェブサービス122の1つをパラメータ、データ、OWLオブジェクト群と共に呼び出すことで、PIPE-WSTCS118bは、所与の特性と共に所与のOWLオブジェクトに従ってサービス112を生成することができる。“Insert”ウェブサービス122の1つを或るストリングにおけるウェブサービスに関するOWL-S、データ及びパラメータと共に呼び出すことで、所与の特性のタスクコンピューティングサービス112として利用可能なウェブサービスを作成可能である。“Remove”ウェブサービス122を呼び出すことで、タスクコンピューティングサービス112を速やかに不使用にすることができる。
クロス環境発見及び実行
ここで説明される実施形態によれば、ウェブサービスインターフェース106のサポートとともに、タスクコンピューティングミドルウエアサーバープロセシングレイヤ108aは、ウェブサービスを介して他のタスクコンピューティングミドルウエアサーバープロセシングレイヤ108nにアクセスすることで、環境間での発見及び実行手段に関する「スフェアオブマネジメント(sphere of management)」−領域管理−の新たな概念を導入できる。クロス環境発見及び実行に関する一群のTCE-WSAPI106は、例えばSTEER-WSAPI120及びPIPE-WSAPI122の部分集合であり、「スフェアオブマネジメント(SoM)-WSAPI」123と言及される。従ってSoM-WSAPI123はリモートサービス112を管理(提供)するのに使用される。「クロス環境(cross environment)」はここでは一般にコンピュータシステムネットワーク属性を考慮に入れることに関連し、異なる又は他のネットワーク環境(例えば、プライベートネットワーク、仮想的プライベートネトワーク、サブネット、イントラネット等)として複数のサブネットワーク110a-nが既存の技術に基づいて互いに通信を行い、各コンピュータネットワーク環境は機能110のソース又はコンピュータネトワークサービス(即ち、機能ソース実現レイヤ114及びサービスレイヤ112)を有し、それらはタスクコンピューティング環境100の一部として発見可能且つ実行可能である。
ここで説明される実施形態によれば、以下のSTEER-WSAPI120(図2)がSoM-WSAPI123として使用される。
checkExecutionStatus
executeService
filterServiceByProperties
findAllService
getServiceDescription
queryByRDQL。
ここで説明される実施例によれば、「スフェア」を実現するために、SoM-WSAPI123nミドルウエアサーバープロセシングレイヤ108nは、他のリモートコンピュータシステム110nで実行する(インストールされる)。ミドルウエアサーバープロセシングプログラム108aインスタンスは、TCE-WSAPI106n(即ち、リモート「スフェア」API123n)を介して他の「スフェア」ミドルウエアサーバープロセシングプログラム108nインスタンスに内部的にアクセスする、或いは異なるネットワーク、異なるプラットフォーム及び/又は異なる技術(例えば、ブルートゥーストゥース)で動作するサービス112を組み込むリモートAPIを実現するのが何であっても、サービス112を発見し、そのサービス112をタスク126として実行する。
従って「スフェア」はSoM-WSAPI123のような一群のリモートAPIにより実現され、クロス環境サービス112発見、公表、実行及び管理に関する一貫した見解を提供する。「スフェア」−領域−の概念は「フィルタリングされたスフェア(Filtered Sphere」−選別された領域−に拡張される。「フィルタリングされたスフェア」はクロス環境サービス112発見SoM-WSAPI123及びサービス112フィルタの一対である。WSTCC119は、フレンドリな「スフェア」名と共に(又はそれなしに)リモートスフェアAPI123にリンクを付加する場合にフィルタを適用し、それを「フィルタリングされたスフェア」と呼ぶ。一般に、フィルタリングされたSoM-WSAPI123は選択的なストリングをフレンドリな「スフェア」名として用意し、サービス112発見SoM-WSAPI123に対するURLを必要とし、WSDLに従い、RDFデータクエリ言語(RDQL)による(部分的な)クエリ(例えば、ストリング)に従い、それはRDF用のクエリ言語である(或いは、他の如何なるクエリ言語がフィルタとして使用可能である。)。クエリはサービス112のSSD116におけるサービス112特性に基づく。
例えば:
上述の2つの例では、“owner eq ‘Bob Smith’”及び“location eq ‘Conference Room’”はサービス112フィルタとしてのRDQLクエリの具体例である。第1の場合に、“My Service at Company-1”はそれらのサービス112に従って選別され、サービス112の属性の“owner”は“Bob Smith”により等しい(又は所有されている)。特にクエリはサービスパラメータの値に従う。この場合、クエリは“Bob Smith”がサービス属性“owner”の値に等しいか否かを確認する。STEER-WSTCC119aがフィルタを用いてSTEER-WSAPI120からサービス112を見つけようとする場合、そのフィルタに合致するサービス112のみが、フレンドリなサービス名で定義したカテゴリの下に示される。フィルタは、STEER-WSAPI120が理解可能である限り、完全なRDQLクエリでなくてもよい。従ってサービス112のフィルタリングの概念が「スフェア」に適用される場合、「フィルタリングされたスフェア」又は「仮想的なスフェア」は、リモートコンピュータシステム110で選別されたサービス112のみが提供される場合に実現可能である。言い換えれば、サービス112発見でクエリを指定することは、ユーザの「仮想的スフェア」又は「サブスフェア」を実現する。
従って、ここで説明される実施例によれば、単独の「スフェア」は複数の「フィルタリングされたスフェア」をもたらすことができる。フィルタが異なる限り、様々な「フィルタリングされたスフェア」について発見された一群のサービス112は、WSTCC119ユーザにより独立に理解される。フィルタリング手段は、リモートスフェア123APIでのサービス112発見手段だけに適用可能なわけではなく、ローカルな及びパーバシブ(例えば、UPnP)サービス112発見手段にも適用可能である。
図6は本発明の一実施例によるコールバックベースのクロス環境サービス発見用の風呂チャートである。図3Aで説明される方法はサービス115,116(112)を発見するためのポールベースのソリューションである。クロス環境タスクコンピューティングを実現するために、クロス環境サービス112発見及び実行用の別方法が図6を参照しながら以下に説明される。図6を参照するに、クロス環境サービス発見用のコールバックベースのソリューションは:第1に、STEER-WSAPI120に“inform(ストリングメッセージ)”120と呼ばれる新たなウェブサービスインターフェースを加える/与える。オペレーション600では、他のコンピュータ環境110内でサービス112を発見するために、WSTCC119は、STEER-WSAPI120のようなTCEWSAPI106aを介して、他のコンピュータ環境110nでSoM-WSAPI123n(B)と言及される他のリモートTCEWSAPI106nに対して“Inform”STEER-WSAPI120aによりそれ自身登録する。上述したように、SoM-WSAPI123nは、リモートの又は他のコンピュータ環境110n内で動作し、「スフェア」を実現する。オペレーション602にて、Bが後に新たなサービス112を発見すると(又は何らかのサービスが除去されると)、Aの“Inform”ウェブサービスインターフェース106aを用いてAにその変化を知らせる。オペレーション602でのメッセージが新たに発見されたサービス112又はAの識別子を含んでいた場合、オペレーション604で、“FindAllServiceIds”ウェブサービス120を用いて最新の情報を抽出できる。コールバックベースのソリューションの利点は:(1)効率的なこと(なぜならAは反復的にBをポーリングしなくてよいからである)及び(2)それは発見を促進することである。また、ポールベースのソリューションでは、Bが如何に変化したとしても、Aは次のポーリングまでそれを発見できないが、コールバックベースのソリューションなら、Aはほとんど直ちにそれを発見できる。しかしながらコールバックベースのソリューションは、Aがファイヤウォールの背後にある場合に不利である。なぜならAのウェブサービス106aはBからアクセス可能ではなく、コールバックベースのソリューションが機能しないかもしれないからである。従ってポールベースのソリューションは、ファイヤウォールが使用されている場合に、クロスコンピューティング環境110で機能するのに有利である。また、ポールベースのソリューションは、一方向接続を要する利点を有する。
図3Bでは実行サンプルソースコードがクロス環境タスク126実行に使用可能である。ユーザに対する手順の透明性を図るために、クロス環境サービス115の意味論的サービス記述(SSD)116を分析する際に、SSD116のグループ化する部分が、他のクロス環境110或いは代替的に他のクロス環境エンドのTCEウェブサービスAPI(TCE-WSAPI)106を指すように書き換え可能であり、TCE-WSAPI106を実行し、SSD116を書き換え(即ち、OWL-Sを書き換え)、特定のウェブサービス106を介して実行が進行する方法で、TCE-WSAPI106を介してSSD116を用意する。
図7は本発明の一実施例によるクロス環境サービスディレクトリ及び実行のネットワーク図である。図7では各WSTCC118(例えば、STEER-WSTCC1-4)は、機能112のソース又はサービスが存在するサブネットワーク110内で自身の探索範囲を有する。一般に本発明では、サービス探索範囲112は、サービス112発見に使用される基盤技術によって制限される。例えばUPnPがパーバシブサービス112を発見するために使用される場合、UPnPは、同じサブネットワーク110内に無い−即ち外部にある−サービス112を発見することはできない。
それ故にSTEER-WSAPI120及びPIPE-WSAPI122技法に基づいて、クロス環境サービス112発見、公表、実行及び管理が以下に説明される。図7を参照するに、STEER-WSTCC119aのような複数のWSTCC119は異なるネットワーク環境110内で走っている/動作している。それ自身の範疇110aで、STTER-WSTCC119aは一群のサービス112を発見できる。STEER-WSTCC119aウェブサービス120を用いることで、STEER-WSTCC119aは他のSTEER-WSTCC119nのウェブサービスインスタンス120と通信することができ/インターフェースをとることができ、それらのサービス112の探索成果を得ることができる。
図7では一例としてSTEERクライアント1乃至4と言及される4つのSTEER-WSTCC119a1-nがある。各々は、「雲」のように描かれている自身の探索範囲110aを有する。STEER-WSTCC119aの各々はウェブサービスAPI120を有する。その範囲110n外のサービス115,116(112)を発見するために、他のWSTCC119a1-n各々のウェブサービス120が呼び出される(例えば、STEER-WSTCC119a2のウェブサービス120が呼ばれる。)。例えば、図7では、STEERクライアント3がSTEERクライアント1の“findeAllServiceIds”ウェブサービス120を呼び出し、STEER1によって発見される全てのサービスを検索する。サービスidリストが検索されると、STEERクライアント3は“findServiceProperty”ウェブサービス120(図2)を用いて、サービス115の意味論的サービス記述116を検索し、それらを自身のエンジンに登録する。その登録中に、新たなサービス112の身元が生成される。その身元はサービス112がリモートサービス112であることを示し(リモートサービス識別子)、そのサービスはそこから最初に発見されたことを示す。目下のSTEERクライアント3はそのサービス115,116(112)をあたかもそれらが自身の探索範囲110a内に有るかのように使用できる。
リモートサービス112を呼び出すために、STEER-WSTCC119aは他のSTEER-WSTCC119のウェブサービスインスタンス120も使用する。上記の図7の例では、STEERクライアント3は(もしも入力があれば)サービス115の入力をエンコードし、STEERクライアント1に要求を送る。その結果、STEERクライアント3はその要求に関するリファレンス識別子を受信する。次にSTEERクライアント3は、そのリファレンス識別子を用いて、実行状態に関してSTEERクライアント1をポーリングする。この場合、以下の4つの可能性がある:
1.その実行が完了しているならば、(DONE)−完了−メッセージが返される。そしてSTEERクライアント3は、リファレンスidを用意することで出力を検索するために、他のウェブサービスインスタンス120を利用することができる。
2.実行が失敗しているならば、(ERROR)−エラー−メッセージが返される。
3.実行が依然として進行中であったならば、何らのメッセージも返されない。その後にSTEER3はしばらく待機して再びポーリングを行う。
4.サービス115,116がサービス制御ユーザインターフェース(UI)を有し、ユーザからのより多くの入力を要求すると、サービス制御UIのURLが返される。STEERクライアント3はそのURLをユーザに示す。その間STEERクライアント3はしばらく待機して再びポーリングを行う。
ここで説明される一実施形態では、クロス環境サービス発見及び実行は、階層構造として或いは他の如何なるコンフィギュレーションででも展開可能である。例えば図7ではSTEERクライアント2は、STEERクライアント4のサービス115,116(112)を発見及び実行するためにウェブサービスインスタンス120を使用する。STEERクライアント3がSTEERクライアント2と通信する場合、STEERクライアント2によって当初発見されたサービスだけでなく、STEERクライアント4からのサービス112も取得する。STEERクライアント3はそれらの間の相違を知らない。サービス112は全てSTEERクライアント2からであるように単純に考える。サービス112を呼び出すために、STEERクライアント2ウェブサービスインスタンス120に対する要求を送信する。STEERクライアント2が要求を受信すると、自身のミドルウエアプロセシングエンジン108を検査し、そのサービス112が実際にはSTEERクライアント4からのものであることを見出す。STEERクライアント2はその要求をSTEERクライアント4に中継する。STEERクライアント2がSTEERクライアント3によりポーリングされると、STEERクライアント2はSTEERクライアント4をポーリングし、取得したものは何でもSTEERクライアント3に送る。
図7ではタスクコンピューティングシステム118-1-nの各インスタンス(TSC1-4、この場合はSTEER-WSTCS118a1-n)は、タスクコンピューティングミドルウエア108が動作している(即ち、その装置に対してローカルな)同じマシン又はシステムで動作しているそれらのサービスを、インターネット及び装置で一般的に利用可能なサービスを、及び同じサブネット内のサービスを発見(及び実行)するのが一般的である。例えば、ボブ(Bob)を訪問しているアリス(Alice)が、ボブの家からキャロルの場所までの地図をボブのTVに表示したい状況を考察する。この場合、キャロルの連絡先情報はアリスのPIMで利用可能であり、アリスの(アリスの家の)TCS118-1を介してアクセス可能であるが、表示サービスはボブのアパート内のTCS118-nである。このシナリオ(筋書き)は、他のタスクコンピューティング環境におけるサービス112を発見及び実行できるように、タスクの範囲を拡張するように又はタスクコンピューティング100の範囲を拡張することに関連する。更に、各自のTCS118に関連するサービスは、ファイヤウォール背後で走っているかもしれない(その場合、事態は更に複雑化する。)。ミドルウエアレイヤ108のウェブサービスインターフェースは、タスクコンピューティング100システムの範囲を拡張する解決法を用意するための手段である。
図7を参照しながら、スフェアオブマネジメント(SoM)−領域管理−に関する更に詳細な説明がなされる。図7では4つのTCS118,110ノードがあり、その各々は「雲」のように描かれている自身の探索範囲と、D,C,E,Mで表示される4つのプログラム可能なモジュール又はユニット(発見用の404、中枢の402、実行に関する406及び管理に関する408)を含むミドルウエアレイヤ108とを備えている。コンピューティング環境110に関してリモートであると考えられるミドルウエア108は、「スフェア」を実現するためのSoM-WSAPI123と言及される。あるノード118がその範囲外のサービスを発見することを望む場合、それは先ずどのTCSサービス112がそこにあるか及びどのウェブサービス106が他のノード118により明らかにされているかを知る必要がある。情報は例えばオンラインで又は電子メールでTCS118の人的オペレータ間で交換可能であり;TCS118の所有者達が彼らのTCSを公表できる場合には或るディレクトリを運営するという別の選択肢もある。
ノード中のサービス及びリモートノードTCS118中の各サービス112のSSD116のリストを取得するために、リモートTCS118にローカルなクライアントがサービスを呼び出すのと同じ方法で、発見ウェブサービスが起動可能である。例えばTCS3はTCS1のウェブサービス106を呼び出し、TCS1により発見されてもよい全てのサービスを検索し、それらを自身の発見モジュール404に登録する。これらのサービスは、TCS3により、TCS3で直接的に発見された他のサービスとして単に処理されるが、TCS3の発見モジュールはこれらのサービスの内部表現に或るフラグを付加し、そのサービスが最初に発見された場所を指すようにする。初期の発見後に、TCS3は、TCS1をポーリングし、TCS1サービスのリストの変更を確認する。
実行はウェブサービスAPI106を介してサポートされる。TCS3からのユーザは、TCS1及びTCS3双方からのサービスと共に新たなタスクを生成し、それを実行することができる。TCS3により初期に発見されたサービスは、如何なる特別な取り扱いも要しない。しかしながらTCS1のサービスは余分なオペレーションを要するかもしれない。なぜならそれらはファイヤウォールの背後にあり、TCS3がそれらを直接的に呼び出すことができないかもしれないからである。この場合、TCS3は実行時にTCS1による支援を得る。先ずTCS3は特定のサービスに関する実行要求をTCS1にウェブサービスAPI106を介してコンテキスト(入力パラメータ等)−状況情報−と共に送信し、リファレンスidを応答として取得する。TCS1がサービスを実行している期間では、TCS3はそのリファレンスidを用いてその状態に関するTCS1をポーリングする。最終的に、TCS1デの実行が完了した後に、更新されたコンテキスト(出力等)が最終的なポーリング結果として返される。このデザイン(手法)に関する理論的根拠は、ポーリング中に、TCS1は何かを返し(例えば、現在の実行状態を、実行に関する外部情報等を返し)、ポーリングを介して、TCS3がその状態をモニタするのを容易にすることにある。
TCS118,110ノードが外部ユーザに対して明らかにされると、そのサービスを誰もが発見して実行することができる(それらは結局ウェブサービスである。)。あるセキュリティ技法はユーザ識別手段を我々のウェブサービスAPIに付加し、及び/又はウェブサービスのトップにセキュリティ標準規格を構築する(以下に詳細に説明される)。
スフェアオブマネジメントは単なる2つのTCS118を超えた拡張を行う。図7ではTCS2はTCS4のサービスを発見及び実行するためにウェブサービスインターフェース106を利用する。TCS3がTCS2と通信を行う場合、TCS3はTCS2によって当初に発見されたサービスだけでなく、TCS4からのサービスも受信する。TCS4からのサービスを呼び出するために、TCS3はTCS2にその要求を送信する。TCS2がその要求を受信すると、TCS2は自身のエンジンを確認し、そのサービスが実際はTCS4からの者であることを確認すると、TCS2はその要求をTCS4に中継する。TCS2がTCS3によりポーリングされると、TCS2はTCS4をポーリングし、TCS2はその応答をTCS3に転送する。
サービス112発見は、ユーザのコンテキスト(状況)に応じてサービス112のSSD116を介してサービス112を発見するプロセスに関連する。上述したように、サービスの実行115及びSSD116が分離している条件の下では、発見は、TCSによるサービス機能115のSSDの処理及び捕捉になる。サービス発見の実行は1以上の発見モジュールを当てにしており、ミドルウエアサーバープロセシングレイヤ108を有するTCS118は複数の基盤的なサービス発見手段を利用することができ、サービスは複数の発見手段を介して発見可能である。ユーザ又はサービス(或いはプロバイダ)は、と口絵のサービスを発見するために使用される発見手段を設定してもよい。あるサービスについての発見手段を変更することは、サービスを発見可能な者に影響するかもしれない。サービス発見手段は探索範囲とあまり関係ないが、或る発見手段は他の特手の探索範囲に更に適している(表1参照)。次に、探索範囲の各々が説明される。
1.エンプティ(Empty)探索範囲におけるエンプティサービスは、誰からも発見できないものである。エンプティは完全に概念的な範囲な訳ではなく、(オーナーに関してさえ)不使用になった如何なるサービスもこの範囲内にあると仮定されてよい。例えば、ユーザはプライバシーを考慮して他者により発見された当該ユーザの連絡先情報を提供するサービスを望まず、そのサービスに関して空の範囲を選択しもよい、或いはユーザ自身にさえ提供することを望まないかもしれない。なぜなら、利用することを意図しないサービスを常に発見するのは煩わしいからである。ユーザが自身の連絡先を用いてキオスクにユーザのいる空港からユーザの家までの道を表示することを後に希望する場合には、ユーザはそのサービスをプライベート探索範囲に移す。
2.プライベート探索範囲におけるプライベートサービスは、彼ら自身によってのみ発見可能であり、TCS118を走らせるユーザ自身のコンピュータ装置内にあるのが一般的である。例えば、“My File”(マイファイル)112のようなローカルなリソース処理サービスは、ユーザの装置上のファイルをユーザに選択させて明らかにし、この探索範囲を(デフォルトで)想定している。ここでTCS118はソケットを用いる通知と共に結合されたファイルシステムベースの発見手段を用いて、この探索範囲を使用する。
3.サブネット探索範囲によるグループは、その場限りの(アドホックな)自発的なグルーピング属性に起因して、ユビキタスな環境に最も近い。そのユーザの同じサブネット(例えば、一部の企業イントラネット又は家庭ネットワーク)で起こったサービスは、非常に局所的な発見手段をイネーブルにしながら発見される。例えば、UPnPはこの範囲を利用する発見手段として使用可能である。特に、UPnPの発見手段はサブネット上のUPnP装置(タスクコンピューティングイネーブルサービス全てではない)を発見するために使用され、各UPnP装置について、TCS118は或る特定のUPnPアクション(getDescriptionURL)を起動し、UPnP装置がタスクコンピューティングイネーブルサービス112を表現するか否かを確認し、もしそうであればTCS118はそのUPnP装置からSSD116をダウンロードする処理を進める。ジニ(JINI)のような他の発見手段は、この探索範囲を利用するためにUPnPと同様な手法で使用されてもよい。
4.関心のある探索範囲によるグループは、何らかのグループの人々によって発見されるサービスに関連し、おそらくはその人々は同様な関心事又はグループメンバ(例えば、企業の従業員のグループや、ゴルフクラブのメンバ等)によって制限される。この発見手段はウェブサービスをコールバック及びポーリング手段と結合することで提供可能である。
5.パブリックサービスの探索範囲は誰からでも発見可能である。この範囲に関して或る良い発見手段は、開放的な意味論的サービスディレクトリであり;例えば、ユニバーサル記述、ディレクトリ及びインテグレーション(UDDI)のようなセマンティックウェブサービス用のサーチエンジン(セマンティックサービスサーチエンジンバージョン)又は公に利用可能なサービスのSSD116へのリンクを有するウェブページを含む。或いは、ユーザはSSD116を互いに発することで共有できる、或いはピアトゥピアネットワークを介してそれらを共有してもよい。
ここで説明される実施形態によれば、クロス環境PIPE-WSTCS118bはサービス112のクロス環境管理用に提供可能であり、タスク126/サービス112を管理するために意味論的に記述されたサービスコントロール手段(SDSCM)のクロス環境アプリケーションクライアントを提供する。例えば、クロス環境“White Hole”(ホワイトホール)タスクコンピューティングクライアント119b-1の場合、ホワイトホール119b-1はPIPE-WSAPI122nのWSDLURLを格納し、そのURLはホワイトホール119b-1と同じマシン上で動作するなら必須でない。あるオブジェクトがドラッグされ、ホワイトホール119b-1に落とされると、(図5Aに示される“Insert”ウェブサービス122の1つを用いて)公表要求を、同一装置におけるもの以外の他のPIPE-WSAPI122に又はそれらと共に送信する。このようにサービスオブジェクト115のセマンティックインスタンスは他のネットワーク110でも作成され公表されることが可能であり、かくて「クロス環境的に」なる。ここで説明される実施形態によれば、代替的に、ホワイトホール119b-1はユーザが利用するPIPE-WSAPI122a-nを選択することを許容する(以下で更に詳細に説明される。)。例えば、“ホワイトホール”119b-1のようなSDSCM119bタスクコンピューティングクライアントは、コンピュータ環境110aでPIPE-WS122aを、リモート環境110nでサービス112を使用し、ウェブサービスコール122nがリモート環境110nでPIPE-WS122nについて形成される限り公表可能である。
ホワイトホール119b-1は、PIPE-WS122を用いてサービスを公表するユーザインターフェースツールであり、2以上のクロス環境110nで公表するサービス112を処理するために複数のPIPE-WS122を収容するよう拡張可能である。ホワイトホール119b-1は、ユーザが以下のホワイトホール119b-1パラメータを設定するように、スタートアップダイアログボックス又はオプション設定ダイアログボックスを用意することができる。
PIPE-WS122機能パラメータ:
1.名称(選択的)
2.ターゲットPIPE-WSAPI122のURL
3.プロキシURL(ウェブサービスコール及びUIコントロールに使用)(選択的)
4.ウェブサービスコールでオブジェクトを利用するためのオプション
ホワイトホール119b-1GUI設定パラメータ:
1.GUIオプション表示
2.GUIの色
3.GUIのアイコン画像
4.グループ化された又は独立のGUI。
単独のホワイトホール119b-1は、ホワイトホール119b-1に落とされたセマンティックオブジェクトをサービス112として公表するのに使用するPIPE-WSAPI122を選択するために、ユーザにダイアログボックスを示すことで複数のPIPE-WSAPI122a-nを収容することができる。或いは、ホワイトホール119b-1の複数のインスタンスを用意し、その各々はリモートPIPE-WSAPI122a-n各々について異なる色又は画像を有し、どのアイコンがどのPIPE-WSAPI122に対応するかをユーザが容易に区別できるように及び記憶しやすくしてもよい。より具体的には、ホワイトホール119b-1のユーザインターフェースオプションは、用意された又は利用可能な「スフェア」の中で視覚的に及び/又は(場合によっては)聴覚的に差別化するように収容する。
クロス環境110サービス112管理に関し、PIPE-WSAPI122は、サービス112管理に関して新たなウェブサービスインスタンス122を付加することで拡張される。従って新たなウェブサービスタスクコンピューティングクライアント(WSTCC)アプリケーションクライアント119が作成され、PIPE-WSAPI122をSDSCM119bとして利用し、“サービスマネジャ”119b-2と呼ばれる。サービスマネジャ119b-2の主な機能は、複数のコンピュータシステム環境110でサービス112を管理するためにPIPE-WSAPI122を利用することである。非限定的な例では、サービスマネジャ119b-2の管理動作は:サービス115,116(112)の名称を変えること、サービス112の満了期間を変えること、サービス112の探索範囲を変えること、サービス112の「スフェア」を変えること、サービス112の呼び出し制限を変えること等を含む。特に、サービスマネジャ119b-2は次のようにしてクロス環境サービス112を実現するために使用可能である。各PIPE-WSAPI122は、リモートユーザがサービス112を管理するのに使用可能か否かを判定する選択肢を有する。その選択肢が真の値に設定されたならば、リモートユーザはユーザのサービスマネジャ119b-2にPIPE-WSAPI122を加えることができる。サービスマネジャ119b-2ツールにより、ユーザはリモートPIPE-WSAPI122により管理されるサービス112についての全ての詳細を検査することができ、基本的には、PIPE-WSAPI122がアクセス可能な限り全ての管理動作を遠隔的に行うことができる。
プレゼンテーションプロセシングレイヤ104ユーザインターフェース:
STEER-WSAPI120及びPIPE-WSAPI122の実行は、WSTCC119に対して多種多様なタスクコンピューティング100ユーザインターフェース104を提供可能にする。なぜなら、WSTCC199のプレゼンテーションプロセシングレイヤ104は、タスクコンピューティングミドルウエアサーバープロセシングレイヤ108のモジュールの実行から解放可能だからである。WSTCC119の一例のユーザインターフェース104が、(1)無線装置ユーザインターフェース、(2)ロケーション(位置)認識アイコン(例えば、バルーン)コンピュータディスプレイスクリーングラフィカルユーザインターフェース、(3)音声コマンドユーザインターフェース、(4)マルチ入力/出力のユーザインターフェース及び(5)タスクレットWSTCC199a-5に関して説明される。タスクコンピューティング100システム環境は上述のユーザインターフェース104の如何なる組み合わせを用意してもよい。
(1)WSTCC119の移動(無線)電話ユーザインターフェース
図8は本発明の一実施例によるサービス112を管理するための移動電話ディスプレイ画面ユーザインターフェースを示す図である。より具体的には図8はサービス112の発見、構成、実行、保存、生成及び他のサービス112管理関連動作のようなタスクコンピューティングの中核的機能を管理するための移動電話ディスプレイスクリーンユーザインタフェース画像を示す。上述したように、ここでは「サービス」は利用可能なコンピュータシステム(ネットワーク化された、ネットワーク化されていない、又は双方を含むシステム)のサービス又は機能110のソースに関連する(即ち、「サービス」112はここではコンピュータ装置、コンピュータアプリケーション/ソフトウエア、電子サービス及びコンピュータで(マシンで又は双方で)読み取り可能な内容の領域の中での機能の演算の具体化に関連する。)。移動電話のユーザナビゲーションユーザインターフェースは、既知の入力装置/デバイス(例えば、音声コマンド/制御用のマイクロフォン、キーボード/キーパッド、ポインティングデバイス(例えば、マウス、ポインタ、スタイラス)、タッチスクリーン等)及び出力装置/デバイス(例えば、コンピュータディスプレイスクリーン、スピーカ、プリンタ等)に従ってよい。
ここに説明される実施形態によれば、移動電話ユーザは如何なるウェブイネーブルモバイル又は無線通信電話機800ででもタスクコンピューティングを利用できる。タスクコンピューティング移動電話TSEERウェブサービスタスクコンピューティングクライアント(移動電話STEER-WSTCC119a-2と呼ばれる)は、移動電話のタスク126を管理するために用意される。典型的には、本発明によれば、移動電話STEER-WSTCC119a-2は移動電話用ウェブWSクライアント119であり、ジャバ2プラットフォーム、マイクロエディション(J2ME)、無線用バイナリランタイム環境(BREW)、その他の何らかの言語(その言語で書かれたアプリケーションが移動電話で実行可能であるように移動電話にインストール可能な言語)又はそれらの何らかの組み合わせのような移動電話にインストール可能であって実行可能な如何なるコンピュータプログラミング言語ででも実現可能である。ウェブクライアント119a-2は、ウェブイネーブル電話に事前にインストールされていてもよく、それらが処理できる或る種のハイパーテキストマークアップ言語(HTML)により広範に変化してよい。より具体的には、ウェブクライアント119a-2は、情報を表示するためにマークアップ言語書類を解釈する如何なるウェブ及び/又は無線アプリケーションプロトコル(Wap)ブラウザソフトウエアを介して実現されてもよい。ここで説明される他の実施形態によれば、移動電話STEER-WSTCC119a-2はカスタムクライアントアプリケーションでもよい。移動電話STEER-WSTCC119a-2のプレゼンテーションプロセシングレイヤ104は、“Hosted STEER”又は“TCCII”とも呼ばれるタスクコンピューティングのウェブベースのユーザインターフェースと同様に実現されてよく、これについてはリュースケマツオカ、ヤニスラブロウ、ゼクシアンソンにより西暦2003年12月12日付けで米国特許商標庁に出願された米国特許出願第10/733,328号に記載されており、その出願は富士通株式会社に譲渡され、その全内容は本願のリファレンスに組み入れられる。
しかしながら、ここで説明される実施形態によれば、移動電話STEER-WSTCC119a-2はミドルウエアサーバープロセシングレイヤ108とインターフェースをとるためにWSAPI106を当てにしており、タスク126を管理するために移動電話STEER-WSTCC119a-2の監視及び探索は、充分に小さなスクリーンサイズであることのような移動電話900に関する特定の条件に合うように行われる。図9はタスクコンピューティング移動電話を用いるユーザが見る画面例を示し、そのユーザは発見サービス112のリスト(複数ページ)を要求し、タスク126を生成/構成し、そのタスク126を実行する。全てのオペレーションは移動電話900の比較的小さなディスプレイ領域の中で行われる。
ウェブアクセス用のネットワーク接続は、移動電話800でタスクコンピューティングを実行しながら、IR、ブルートゥース、(WLANイネーブル移動電話用の)WLAN又はモバイルネットワーク(GSM、CDMA等)にすることができる。ネットワークの選択は、移動電話800の移動電話STEER-WSTCC119a-2の動作に影響しない。なぜなら、タスクコンピューティングに必要な全ての通信は、HTML形式で又は他のマークアップ言語ベースのフォーマットで表示可能なデータと共に、(限定ではないが)ハイパーテキストトランスファープロトコル(HTTP)のような上位レベルの/アプリケーションレベルの通信プロトコルで実行されるからである。
次に、移動電話800UIが説明される。オペレーション802では、移動電話800のユーザが(環境110のURLを入力することで)移動電話ブラウザソフトウエアをコンピューティング環境110に仕向けた場合に、ユーザはその環境110で利用可能なサービス112のリストを見る。リストは1つのスクロール可能なページで、或いは「次のページ」に到達するためにそこへのリンクをユーザが選択することを要する複数ページで表現されてもよい。オペレーション804では、ユーザがサービス112を選択した場合に、オペレーション906で、その選択がサービス112構成要素になり(即ち、タスク生成)、現在のサービス112構成と呼ばれる(例えば、図8の例ではNews.comがユーザにより選択される。)。オペレーション808では、サービス112が選択された後に、ユーザはあるページに向けられ、そのページは選択されたサービス112と共に構成中に登場可能なサービスのみのリスト(例えば、開く、印刷する、保存する、お気に入りに保存する、ローカルに表示する)を含む。オペレーション808で表示されたリストは、上述のように、単一のスクロール可能なページで又は複数のページで表示可能である。オペレーション808では、サービス112のリストと共にページの最初で、以前に選択されたサービス(例えば、News.com)が表示され、それらが有効なサービス112の構成に登場するかもしれない。オペレーション808ではディスプレイは現在のサービス112の構成であり;バナー(banner)のような表示でスクロールする。ユーザがサービス112を選択する都度(例えば、オペレーション810,812,814)、表示ページは現在のサービス112の構成及びサービス112のリストを表示するように更新され、そのサービスは現在のサービス112の構成中に登場可能であり、現在の構成に使用可能な追加的なサービスが一切存在しなくなるまで、オペレーション816の時点で、ユーザはサービス112の構成を実行する選択肢を有する。より具体的には、オペレーション802乃至814は移動(無線)装置を介してタスク126を構成するためのオペレーションである。図8の例におけるオペレーション814では、タスク126の現在の構成に使用可能な更なる追加的なサービス112はないが、しかしながら、追加的なサービス112が利用可能になれば、追加的なサービス112はオペレーション804乃至814と同様に列挙される。ここで説明される実施形態によれば、ユーザはその構成を、それが実行可能になるとすぐに、たとえ完成していなくても実行できる。オペレーション816では、タスク126の実行ステータスが表示される。オペレーション820では、タスク126の実行が完了したことが表示される。
(2)ロケーション認識アイコン(例えば、バルーン)ユーザインターフェース
図9は本発明の一実施例による、コンピュータディスプレイスクリーンロケーション認識バルーングラフィカルユーザインターフェースの画面を示す。特に、図9はSTEER-WS-SISTCC119a-3と呼ばれるSTEER-WSTCC119aのGUI例である。コンピュータ表示のグラフィカルユーザインターフェースにおけるSTEER-WS-SISTCC119a-3は、(限定ではないが)ユーザが在圏する周囲領域のような或る領域の空間的画像を表示し、表示されたユーザ領域の画像は、そのユーザ領域内で発見されるサービス112の選択可能なグラフィカルディスプレイ表現と重ねられる。
図9では、ロケーション/プレース902の中で又はそこで利用可能な/発見されたサービス112は、ロケーション/プレース902の対応するエリアでアイコン904a-n(ここで説明される実施形態では、バルーンアイコン904)として表現される(たとえ亜、図9ではオフィスフロアマップがロケーション/プレース902であり、サービス112はオフィス内の様々な領域で発見可能である。)。(潜在的に)多数のサービス112を3D座標で表示し、直感的なユーザコンピュータディスプレイインターフェースを実現するために、以下の手法が用意される:
1.同じコンピュータディスプレイスクリーンの視覚的要素(即ち、アイコン)により、同じタイプの視覚的要素であるが異なるスタイル(色、サイズ、フォント等)で、又は(場合によっては)各サービス112について異なる視覚的要素で、サービス112は表示される。図9では異なるサイズ及び色の「バルーン」に関連する視覚的要素が使用されている。
2.ロケーションを有するサービス112は、表示されるマップ内のその場所に置かれる。場所によらないサービスは、マップの外でテーブル式に又は他の組織された手法906で用意される。
3.バルーン位置は、互いに重複する又は近接するならばランダム化される。
4.通常的にはバルーンを小さく維持し、操作される場合又はカーソルがバルーン上に又はその近辺にある場合には拡大されたバルーン908を表示する。
5.バルーンの影912により物理的な高さ(Z座標)を表現する。物理的に高い場所でのサービスは、より大きく及び/又はより多く影ったシャドー912を有する。サービス112のZ座標位置を強調するための他の表示技法が使用されてもよい。
6.バルーンの1つをドラッグし、それを他の場所に落とすことで、2つのサービス(潜在的にはそれらの間のサービス変換を伴う)構成の実行を表現する。
7.バルーンが選択されると、構築可能なバルーン(サービス)112のみがそれらの色を維持し又は強調される。他は別の色(例えば、灰色)に変わり、構成可能でないサービス112であることを示す、或いは同じ色にとどまってもよい。
8.バルーンを割るピンを象徴するもの(メタファー)を用いてそのサービス112を除去することを表現する。
9.ピンが選択されると、消去可能なバルーン(サービス)112がそれらの色を維持し或いは強調される。他は別の色(例えば灰色)に代わり、消去可能でないことを示してもよいし、同じ色のままでもよい。
10.ユーザの言語選択に基づいてサービス112の名称及び説明を表示するのに使用される言語を変える(上述したように、通信言語選択に関連する。)。
11.ユーザがこのインターフェースで作成可能なものより更に複雑な構成を作成することを望むならば、(より総合的な)STEER-WS-SISTCC119a-3インターフェースを示すボタンを用意する。
従って図9はロケーション認識アイコン(例えば、バルーン)ユーザインターフェースの一例である。図9の例は表示された「バルーン」を利用可能なサービス112の表現として使用しているが、本発明はそのような構成に限定されず、表示されるユーザ領域画像に重ねられる如何なる表現も使用可能である。これはイベントドリブンオブジェクト指向プログラミングにより実行可能である。STEER-WS-SISTCC119a-3が開始されると、その図面、内部データを初期化し、適切なイベントに対するイベント処理コードを設定する。基本的には、イベント及びイベント処理コードのこれらのペアは上記のリスト中の項目に対応する。イベント処理コードでは、STEER-WSAPI120及びPIPE-WSAPI122のようなTCE-WSAPI106への適切なウェブサービスコールが生成される。そして、そのイベントループはイベント及び発見用の他のループ(図3A)に配慮し、サービス112の利用性に変化があった場合にバルーン及び内部データを更新する。図9では「更新」ボタン909の選択可能なグラフィカルディスプレイ(図形表示)が表示情報を更新する。ここで説明される実施形態によれば、TCC119による如何なるユーザインターフェースででも表示情報の更新は自動化可能である。「言語」ボタン910の選択可能なグラフィカルディスプレイは、例えば日本語のように選択された会話言語に従って表示される情報を用意する(マルチ言語タスクコンピューティング100システムについては以下で更に説明される。)。
(3)音声ユーザインターフェース(UI)
図10は本発明の一実施例による、タスクコンピューティング音声認識の状態遷移図である。スピーチ(話)はパーバシブコンピューティング環境では非常に重要なユーザインターフェースになり、キーボードやキーパッドのような既存の入力手段が利用できない又は便利でないような大きさの制限されたユーザクライアント装置の場合に、及び/又は車両の運転中のようにユーザが視覚的な注意を向ける余裕が無い場合に特に重要になる。ここで説明される実施形態によれば、VoiceSTEER-WSTCC119a-4が作成され、WSタスクコンピューティングクライアント(WSTCC)119では、タスクコンピューティング100と共に機能するように、指示を与えるのに音声が使用され、例えばタスク126としてサービス112の構成を直接的に実行する。タスクコンピューティング100では、サービス112構成は、自然言語に従ってサービス112の名称を定義することでセンテンス構造と匹敵するように設計され、その構成はスピーチ認識システムで処理可能な自然言語センテンスを作成し;即ち、サービス112の構成は図10に示されるようにスピーチ認識ステートグラマーダイアグラム(grammar diagram)にマッピング可能である。
より具体的には、VoiceSTEER-WSTCC119a-4は例えばC#で使用される音声ドリブンユーザインターフェースである。ユーザはVoiceSTEER-WSTCC119a-4に話すことでタスクを要求することができる;使用されるVoiceSTEER-WSTCC119a-4は、TCE-WSAPI106の呼び出しと共にマイクロソフトのエージェントアンドスピーチSDKを利用する。各サービス112は或るフレーズ(通常的には、サービス112の名前)に対応付けられ(マッピングされ)、VoiceSTEER-WSTCC119a-4が「センテンスを聴くと」(音声文を認識すると)、そのセンテンスを一連のサービス112に照合しようとする。そしてタスク126がサービス112シーケンスに基づいて構築され、実行される。音声インターフェースの1つの問題は人間の会話の認識速度であり;その速度を認識可能なレベルに上昇させる文法群を規定することが非常に重要である。別の問題は意味論的に無効なコマンド(タスク)をどのようにして確認及び選別するかであり、例えば「オフィスプリンタでマイビデオを印刷せよ」は、「オフィスプリンタで印刷せよ」及び「マイビデオ」がたとえ有効なサービス112名称であったとしても無視されるべきである。ここで説明される実施形態によれば、VoiceSTEER-WSTCC119a-4は完全なセンテンスと有効な(実行可能な)タスク126を「グラマーダイアグラム」(図10)に従って照合し、グラマーダイアグラムはミドルウエアサーバープロセシングレイヤ108の中央モジュールによって生成され、STEER-WSAPI120によって利用可能にされる。
図10は本発明の一実施例による音声タスクコンピューティングの状態遷移図であるところのグラマーダイアグラムの一部である。図10では円はサービス112の意味論的に記述された機能属性を或るグラマー状態(grammar state)として表現する(例えば、サービス「オープン(open)」112は「ファイル(File)」データオブジェクトタイプを入力として使用し、一例として「ファイル」は、そのファイルへのURLリンクを含む、コンピュータ内のファイルを記述する意味論的タイプである。)。開始状態1002は「S」でマークされ、終了状態1004は二重丸で示されている。サービス112はグラマー状態を結ぶエッジ(ライン)で表現される。完全なグラマーダイアグラムは、例えばビジネスオフィス環境に関して、50より多くのサービスを、100を上回るエッジを、及び12を上回る状態を有する。開始状態1002から狩猟状態1004に至る経路(パス)は意味論的に有効なタスク126を表し;ビジネスオフィス環境の例では、完全なグラマーダイアグラムは100より多くのそのようなパスを有し、即ちユーザが実行可能なタスク126を1000より多く有する。「グラマーダイアグラム」は以下のルールに基づいて生成される。
1.サービス112が出力を一切有しなかったならば、そのサービスは、図11の“開く(Open)”、“プロジェクタに表示する(View on Projector)”及び“アウトルックに加える(Add to Outlook)”のような開始状態に続くエッジである。
2.サービス112が入力を一切有しなかったならば、そのサービスは、図11の“マイファイル(My File)”及び“マイコンタクト(My Contact)”のような終了状態を指すエッジである。
3.2つのサービス112A及びBが合成可能ならば、入力としてAを及び出力としてBを有する状態がなければならない(例えば、図10の「のビジネスアドレス(Business Address of)」、「のマップ(Map of)」及び「の天気情報(Weather Info of)」である。)。
「グラマーダイアグラム」の1つの重要な属性は、グラマーダイアグラムが音声認識エンジンのグラマールール群と1対1の対応関係を有することである。より具体的には、センテンスがエッジの名称の連結であるように、開始状態から終了状態へダイアグラム中でパスが発見された場合及びその場合にのみ、センテンスは意味論的に有意のコマンドである(即ち、有効なタスク126)。例えば、“マイファイルを開く(Open My File)”又は“マイコンタクトのビジネスアドレスの天候情報をプロジェクタに表示する(View on Projector Weather Info of Business Address of My Contact)”は、有効なコマンド又はタスク126である。「グラマーダイアグラム」はサービスの意味論的記述及びオントロジによって単独に決定される(即ち、SSD116に基づいて決定される。)。SSD116を利用することは、認識速度をかなり上昇させ、意味論的に無効なコマンド又は無効なタスクは完全に回避される。音声UIはタスクコンピューティング100のインテリジェントトランスポーテーションシステム(ITS)に有望かもしれない。
図11は本発明の一実施例によるタスクコンピューティングのスピーチ認識ダイアグラム(グラマーダイアグラム)を生成するための擬似コード例である。先ず、オペレーション1102で出力を一切有しないサービス112が発見され又は見つけられる。オペレーション1104では構成可能な他の全てのサービス112が再帰的に発見される。特に、発見されたサービス112各々についてオペーション1106では、そのサービス112が入力を一切有しなかったならば、そのサービス112は終了状態に至るエッジリンクとして指定される。
VoiceSTEER-WSTCC119a-4の用語例は次のようなものである:
1.サービス名112
2.VoiceSTEER-WSTCC119a-4に対するタスクコンピューティングコマンド(例えば、“サービスを示す(show services)”又は“タスクコンピューティングを去る(leave Task Computing)”)
3.クライアントオペレーションコマンド(例えば、“上に移動(Move up)”、“XXXをクリック(Click XXX)”(XXXはボタン名))
4.ウェブページコマンド(例えば、ウェブページで第4の制御を行うための“Click4”)
5.文字及び桁(例えば、入力情報として使用する“a”又は“9”)。
小規模な用語群を用意することは少なくとも2つの点で有利である。第1にそれはスピーチ認識システムを訓練することが容易である。第2に、認識速度が速くなる。なぜなら、互いに識別する言葉及び文が少ないからである。
タスクコンピューティングサービス112の構成は文法的構造を有してよいので、スピーチ認識システムによる認識速度は以下のようにして更に改善することさえできる。一度にセンテンス中のコンポーネント1つを各々認識するのではなく、一度にセンテンス全体を認識するので、認識速度を速めることができる。これは基本的には、たとえ認識がセンテンスの一部で失敗した場合でさえ、他の部分が認識されるならばそれを認識できるからである(即ち、連結の可能性を考慮しなければならない。)。例えば、“マイファイルを開く(Open My File)”と喋ったとする。“Open”の認識速度はaで、“My File”の認識速度はbであったとする。認識は“Open”及び“My File”について別々に行われるならば、その認識速度は、“Open”を最初に認識しなければならないので、決してaを超えることはできない。しかしながら、システムがセンテンス全体の“Open My File”を認識しようとするならば、認識速度は、1-(1-a)(1-b)=a+b-ab=a+b(1-a)である。aは1より小さく且つbは正なので、認識速度は常にaより大きい。従って音声認識速度は、センテンスが長ければ一層速くなる。
それ故に、ここで説明される実施形態によれば、VoiceSTEER-WSTCC119a-4はサービスパス間に“a”及び“the”に関する付加的なパスを加える。これにより、ユーザはより自然なセンテンスを有することができる。例えば:
Computer, View on Projector (the) Web Page of (the) Manager of (the) Task Computing Project。
曖昧なコマンドセンテンスさえ依然として認識されるかもしれないので、コマンドセンテンスにおける1以上のトランスレータサービス112を省略することも可能である。例えば、図10では、“Weather Info of”及び“Map of”のサービス112と共に、“File”ノードから“Contact”ノードへの直接的な接続を用意することで、コマンドセンテンス中の“Business Address of”サービス112はユーザにより次のように省略可能である:
Computer, View on Projector (the) Weather Info of My Contact。
及びVoiceSTEER-WSTCC119a-4は依然としてセンテンスを認識可能である。この場合に、ユーザが何を望むかについて曖昧さがあると、VoiceSTEER-WSTCC119a-4はユーザに問い合わせることで明確にすることができる。この場合、“Address”ノードから“Contact”へ“Home Address of”のサービス112と共に別のリンクがあるならば、ユーザは上記のセンテンスを問い合わせ、VoiceSTEER-WSTCC119a-4は有効なタスク126を構成するためにユーザに明確化するための質問を問い合わせる:
Do you want to (1) “View on Projector Weather Info of Business Address of My Contact” or (2) “View on Projector Weather Info of Home Address of My Contact ?”。
認識ダイアグラム中で接続方向を逆にし、開始ノード及び終了ノードを置換することで、VoiceSTEER-WSTCC119a-4は、日本語のような語順が名詞+動詞である他の言語を認識することもできる。
(4)ユーザインターフェースにおけるマルチ入力/出力
“Fax”サービス112がファクシミリ番号及びファイルを入力として取得するように、あるサービスは複数の入力を有する。本発明の一形態によれば、STEER-WSTCC119は再帰的な方法でタスク126の実行中にユーザからの入力もれを確認する。例えば、タスクコンピューティングのコンピュータ及びユーザ間で以下の対話がなされてもよい。
最初の会話では、ユーザが3つのサービスを有するタスク126を起動しようとしている“ファクシミリ(Fax)”、“のファクシミリ番号(Fax number of)”及び“Ryusuke Masuoka”(連絡先提供サービス112)。タスク126(即ち、サービス112の構成)を検査することで、コンピュータはサービス“ファクシミリ”が2つの入力を有すること:1つは“ファクシミリ番号”であり、もう1つは“ファイル”であることを確認する。“ファクシミリ番号”はそのシーケンスで用意されるので、コンピュータは他方の入力“ファイル”についてユーザに問い合わせる。ユーザはサービス112“マイファイル(My File)”から入力を得るようにコンピュータに伝える。指定された全ての入力と共に、その後コンピュータはタスク126の実行を開始する。
第2の会話は“ファクシミリ番号”が初期に指定されていない場合の状況に関する。この場合、ユーザは“ファクシミリ番号”を与えるサービス112構成を用意するように更に求められる。
上記の2つの例では、VoiceSTEER-WSTCC119a-4のインターフェースに使用されるスピーチの特性に起因して、或るセンテンスでの開始による全ての入力を用意することは或るユーザにとってはしばしば容易ではないかもしれないし又は当然なことであるかもしれない。従ってそのような状況が検出されると、実行エンジン406は
VoiceSTEER-WSTCC119a-4コンピュータを制御し、実行前に及び/又は実行中に、更に多くの入力をユーザに催促する。これは、複雑なサービス112構成ダイアグラムを空間的にユーザインタラクションにマッピングするように考えることもでき、そのインタラクションはユーザ及びコンピュータ間の一時的な区間である。
複数の出力を処理することは本質的には同じである。例えば、“生物情報トーク(Bioinformatics Talk)”と呼ばれ且つ話者に関する“コンタクト(Contact)”データオブジェクト、スケジュールに関して“スケジュール(Schedule)”データオブジェクト及びプレゼンテーション内容として“ファイル(File)”データオブジェクトを生成するサービスがあるとする。VoiceSTEER-WSTCC119a-4を用いて、次の対話がなされる:
上記のタスク126構成のシナリオでは、2つの別々のサービス(“PIMに(スケジュール)を追加する(Add(Schedule)into PIM)”、“知らせる(Tell Me)”及び“プロジェクタに表示する(View on Projector)”サービス)を利用して、コンピュータは、タスク126を更に規定するための催促を通じて、スケジュールをPIMに付加し、話者の連絡先を読み出し、プレゼンテーション内容をプロジェクタに示す。
2より多くの入力/出力を有するサービス112の場合又は複数の入力/出力を有するサービスが1より多くある場合には、その手順は同様である。この手法はタスク126が充分に規定されるまで反復的に使用可能である。或いはコンピュータはサービス112構成中の実行ファイルを分けるものが何であれ実行可能であり、サービス112構成を更に指定する必要なしに、他の部分の実行ファイルの有無をユーザに問い合わせる。
上述の複数の入力/出力の説明は音声認識の文脈で説明されたが、本発明はそのような構成に限定されず、そのような技法はグラフィカル及び他のユーザインターフェースを用いる他のタスクコンピューティングクライアント119にも適用可能である。例えばタスクコンピューティングクライアントはポップアップウインドウを用いて不足しているサービス112を及び/又はサービス112の追加的な機能属性(限定ではないが、例えばサービス112の出力及びデータオブジェクト入力)を問い合わせてもよい。例えば図1Bはタスク126構成GUIペイン(部分ウインドウ)1444を示し、複数の入力/出力を処理するタスク126として構成されたサービス112に仕向けられたグラフが表示されている。
(5)タスクレットWSTCC199a-5
タスクレットWSTCC199a-5は非常に処理負担の軽いタスクコンピューティングクライアント(TCC)119であり、サービスのOWL-Sファイル又はサービス構成(タスク126)を実行する。特にコマンドラインを含むOWL-Sファイルを実行するタスクレットTCCの作成法に関し、好ましい手法は、実行されるOWL-Sファイルをダブルクリックし(又は他の何らかの適切なOS操作を行うことで)タスクレットTCCを起動することである。タスクレットTCCがOWL-Sファイルを読み込む場合に、STEER-WSAPI120を用いることでサービス又はサービス構成を実行する。タスクレットTCCは自身のウインドウ内でサービス機能115の制御UIを示してもよい。特に図2を参照すると、タスクレットTCC119a-5はOWL-S記述を実行するための“executeOWLS”API120を呼び出す。
アドバンストセマンティックサービス記述(アドバンストSSD):
(1)緩和されたサービスタイプ入力、(2)サービス112のロケーション、(3)マルチ言語サービス112及び(4)サービス112管理機能のような有利な特徴が、様々なサービス112をサポートするセマンティックサービス記述116で以下のようにもたらされる。
(1)緩和されたタイプ
あるサービス112は、僅かな部分(サブセット)を除いて広範囲にわたる入力を受け入れる。例えば、サービス“プロジェクタでの表示(View on Projector)”112は、オーディオファイル及びビデオファイルを除くファイルを機能属性として受け入れ、オーディオファイル及びビデオファイルはファイルのサブセットをなす。“View on Projector”の入力が(ファイル−オーディオファイル−ビデオファイル)のように表現される場合、別の新たな問題に遭遇する。即ち、“マイファイル(My File)”のような別のサービス112がファイルを出力として生成する場合、推論エンジンは、構成され得る2つのサービス112が存在することが分からない。
問題の原因は、目下のサービス記述言語の記述表現力が制限されており、構成条件が厳格すぎる点にある。この問題に対する我々の解決法は、サービス112に関する2種類の入力をサポートすることで、現在のサービス記述言語を拡張することである。1つの入力はパラメータタイプTpと呼ばれ、入力のドメインそのものであり、他方の第2の入力は緩和タイプTrと呼ばれ、より大きなドメインであり、そのドメインの中に入力が入る。例えば入力タイプTiは、次の場合に受け入れることができる:
1.Tiが緩和タイプTのサブセットである場合
2.TiとパラメータタイプTpとの交わりがヌル(null)である場合。
例えばサービス112“View on Projector”ではTrは“ファイル(File)”であり、Tpは(“ファイル”−“オーディオファイル”−“ビデオファイル”)(“File”−“Audio File”−“Video File”)である。入力タイプ“File”は受け入れ可能である。“ウェブページ(Web Page)”、“File”のサブクラスも受け入れ可能である。しかしながら、“Audio File”は拒絶される。“Thing”(“File”のスーパークラス)も拒否される。
“View on Projector”サービス115のセマンティックサービス記述116の一部の緩和タイプを用いる例は、次の通りである:
STEER推論エンジンでは、緩和タイプがサポートされる。緩和タイプは次のようにして実現される:STEERが複数サービスを構成する場合、緩和タイプの有無が確認される。緩和タイプパラメータがなければ、通常のアルゴリズムを用いてサービス及び実行を照合する。サービスA、サービスAに先行するサービスBについて緩和タイプを発見したならば、Bの出力がAの入力緩和タイプのサブクラスであり、Bの出力がAの入力パラメータタイプと空でない重複部分を有する場合にのみ、サービスBはサービスAと合致する。STEERがその構成を実行する場合、STEERはBの出力を検査し、Bの出力と共にAを起動する前に、Aの入力パラメータタイプに真に該当するか否かを確認する。
(2)ロケーション
セマンティックサービス記述116にロケーション情報を含めることは別の新たな特徴である。ロケーション情報は、2D−、3D−ユークリッド座標系又は他の如何なる座標系の座標、座標系についてのリファレンス、及び/又は場所についてのテキスト記述で構成可能である。場所に関連する“View on Projector”のセマンティックサービス記述例116の一部は次のとおりである:
サービス112発見では、TCC119は、TCE-WSAPI106(例えば、findAllServices 及びgetServiceProperty120(図2))を介して、セマンティックサービス記述116からロケーション情報を検索し、空間ベースのフィルタリング又はサービス112のユーザへのプレゼンテーションをサポートする(具体例は、上述のロケーション認識(バルーンUI)である。)。
サービス112がその場所を変えると、サービス112はUPnP(及び他の発見手段)を用いて、新たな場所と共にサービス112記述を更新する。場所変動が頻繁には生じない場合には、それは視覚的に選択可能なオプションである。場所変動が頻繁に起こる場合には、以下に説明されるサービス112管理機能を用いることがより効果的である。
(3)セマンティックサービス記述(SSD)116−通信言語(マルチ言語)
ここで説明されるタスクコンピューティング100の例は、如何なる通信言語をもサポートし、言語によらないタスクコンピューティング100をもたらす。通信言語は限定ではないが英語、中国語(簡体)、中国語(繁体)、ギリシア語、ヒンズー語、日本語、韓国語、スペイン語及びトルコ語等で話される言語である。言語によらない手順は2つの動作を含む:1.サービス112の名称/記述のようなサービス112(115,116(プロファイル及び2.ユーザインターフェース。
1.サービスの名称/記述のようなサービス112プロファイルに関し、セマンティックサービス記述116では、xml:lang属性を用いてサービス名及びサービス記述を様々な言語で記述する。例えば以下はセマンティックサービス記述116ファイル例の一部であり、XMLでは英語で“open”と呼ばれ、中国語で
と呼ばれるサービス名を記述する。
同じ手法がサービスを記述する場合にも適用可能である。図16D−Fを参照されたい。
2.ユーザインターフェースに関し、図12Aは、本発明の一実施例によるSTEER-WSTCC119aのようなWSTCC119ユーザインターフェースを記述するフローチャートである。ここで説明される実施形態によれば、一例として、様々なSTEER-WSTCC119aユーザインターフェースにて、テーブル1200が使用される全てのコンピュータディスプレイユーザインターフェースストリングについて維持される。テーブル1200中の各ストリングについて、様々な言語で様々な形式が維持される。ストリングテーブル1200はXMLで記述され、STEER-WSTCC119aが始まったときにロードされる。STEER-WSTCC119aコンピュータユーザインターフェースは、例えば、ユーザの選択に基づく言語を使用する文字列を表示する。
図12Aでは、オペレーション1202で、ユーザはコンピュータユーザインターフェース(例えば、コンピュータディスプレイスクリーングラフィカルユーザインターフェース(GUI)、音声インターフェース等)を介して言語を選択するよう催促される。オペレーション1204では、言語がサポートされていないことが確認された場合に、デフォルトの英語が選択される。オペレーション1206では、言語コード及びセンテンス順序が確認される(例えば、コンピュータ読み取り可能な媒体から抽出される、ソフトウエアで決定される、等々)。オペレーション1208では、選択された言語でコンピュータユーザインターフェースに必要な文字列(ストリング)がテーブル1200から検索され、この例ではGUIに関する文字列である。この例では、オペレーション1210でサービス名及びサービス記述が選択された言語でSSD116から決定され、決定されたサービス名、サービス記述及び検索されたGUIストリングが、選択された言語で及び正しい語順でコンピュータディスプレイスクリーンユーザインターフェースに表示される。従ってオペレーション1210では、STEER-WSTCC118はサービス名、サービス記述及びコンピュータユーザインターフェースストリングを選択された言語で一度に表示する。オペレーション1210では、サービス115のセマンティックサービス記述116が選択された言語をサポートしていなかった場合には、デフォルトの言語(例えば、英語)が取り出されて表示される。一方、複数の言語についてセンテンス順序が考慮される。ここで説明されるように、STEER-WSTCC119aを用いて検索するサービス115のサービス名及びサービス記述116の言語形式をユーザは指定できる。当然に、タスクコンピューティング100では上述の言語に依存しない動作が(限定ではないが)SDSCM119bのような如何なるWSTCC119a-nででも行われる。
語順に関し、英語の語順はVO(動詞+目的語)であるが、日本語の語順はOV(目的語+動詞)である。そのような語順情報はSTEER-WSTCC119aの中で/それにより維持される(即ち、オペレーション1202では、STEER-WSTCC119aの起動時にユーザがそれを設定するようにすることができる。)。構成を表示する場合に、オペレーション1206では、STEER-WSTCC119aは選択された言語に、選択された語順に又は双方に基づいて正しい語順を抽出する。
図12Bは本発明の一実施例によるプレゼンテーションレイヤで使用されるコンピュータタスクインターフェースとして、日本語でコンピュータ表示されたグラフィカルユーザインターフェースの画面を示す。特に図12Bは図12A及び図1BでのGUIに対応するもののフローチャートに従って日本語で生成されたSTEER-WSTCC119a-1のGUI画面である。同様に図9では「言語」ボタン910の選択可能な図形表示を選択することで、STEER-WSTCC119a-3のGUIが選択された通信言語のテキストと共に表示可能である。
(4)サービス112管理機能
サービス管理機能(SMF)はサービス112のメタサービス(meta-service)として表示可能である。SMFはサービス112に起因して存在するが、逆は成立しない。サービス112がなくなれば、サービス112のSMFもなくなるべきである。SMF各々はOWL-Sで書かれた自身の記述を有する。従ってSFMをサービス112にリンクするために、サービスのSSD116はSMF記述を含んでもよいし、或いはSFM記述へのリンクを含んでもよい。後者の場合、SFM記述はどこにあってもよい。同様に、SFMの実現手段はどこにでも展開可能であり、サービス自体と同じ装置にあることは必須でない。
SFMの具体例は以下のものを含む:
1.処分(Destroy)、起動されるとそのサービスが破壊される。
2.処理オブジェクト(Handled Object of)、起動されるとそのサービスで現在処理されているオブジェクトが返される。
3.制御UI(Control UI of)、起動されるとサービスコントロールUIへのリンクが返される。
4.イズアライブ(Is Alive)、サービスが未だ生存中であるか否かを確認する機能である。
5.ロケーション(Location of)、起動されるとサービスの現在の場所を返す。これは場所を変えるサービスにとって場所情報を提供するための効率的な手法である。
6.その他、例えばサービスが所与の期間利用可能か否かの確認や、グリッド(grid)サービス関連機能等である。
ユーザインターフェースの観点からは、SMFはまさに他のサービス112のように処理される。これは特にVoiceSTEER-WSTCC119a-4に有利である。例えば以下のSMFがタスク126として実行可能である:
1.Destroy Tablet-PC.ppt
2.Handled Object of View on Projector
3.View Locally Control UI of Play(Audio)
4.Is Alive Bank?
5.Location of Play(Audio)
以下のようにユーザは他のサービス112と共にSMFの結果を構成することができる。
1.“View on Kiosk” “Handled Object of View on Projector”
2.“View Locally” “Control UI of View on Projector”
3.“View on Kiosk” “L-Note of Location of Play(Audio)”。
サービスアクセス制御:
図13は本発明の一実施例によるサービス112アクセス制御のフローチャートである。パーバシブコンピューティング環境では、全てのユーザに対しては解放されていない又は開かれるべきでない何らかのサービス112が存在する。サービス112に関するそのような種類のアクセス制御手段を利用することが重要である。ここで説明される本発明の一形態によれば、(1)共有ポリシ及びデリゲーション、及び(2)SSD116を介するタスクコンピューティングクライアントによるサービス認証を含む、サービス112のアクセス制御が説明される。
ここで説明される実施形態によれば、REIポリシ言語がサービス112に対するアクセスポリシを確立するために使用される。REIはポリシ仕様言語である。REIの概念は既知である。図13ではREIポリシエンジン1300は、ポリシ(一群のアクセス/セキュリティルール)、ファクト(ユーザ及び/又はクライアント側で提供された情報)及びオントロジに基づいて、誰がどの種類のアクセス権を持っているかを確認する。REIエンジン1330は、それが集約可能であるように又は分散可能であるように、ウェブサービスインターフェース106を備えている。REIエンジン1300及び/又はREIエンジン1300に対するウェブサービスインターフェース106はこのフレームワークについて置換可能である。リモートプロシジャコールインターフェースを備えた如何なるポリシエンジンでも又はサービス112内のポリシエンジンに関するソフトウエアモジュールでさえ充分である。
図13ではユーザがオフィスを訪問していることを想定しているワークフローが6つのオペレーションを含んでいる。
1.オペレーション1302では、新規ユーザがカウンタで登録した場合に、そのユーザに信用証明物(credential)が発行される。信用証明物は名前、ステータス及び場所のようなユーザに関する情報に加えて、作成時間、満了時間及び(完全性を保証する)ディジタル署名のようなその信用証明物に関するメタデータも含む。
2.オペレーション1304では、ユーザはそのオフィスに関するネットワークに入り、ユーザのタスクコンピューティングクライアント(クライアント)119−例えばSTEER-WSTCC119aは、その環境110で及び/又はその探索時間に接続されている「スフェア」で現在利用可能な全てのサービス112を発見する。一部のサービス112は公(パブリック)であり、一部はアクセス制限を有する。サービス112の情報はセマンティックサービス記述116に記載されている。ユーザのタスクコンピューティングクライアント119は、セマンティックサービス記述116を検討することでサービス112のステータスを確認してもよい。セマンティックサービス記述116は、アクセス制御を要するか否か及びもし必要ならどの種類の信用証明物が必要であるかをタスクコンピューティングクライアント119に伝える/通知する。
3.オペレーション1306では、ユーザが自信のタスクコンピューティングクライアント119を介してサービス112を起動することを望む場合に、クライアント119はサービスのステータスを確認する。サービスがパブリックであったならば、クライアントは通常通りにそれを起動する。サービスがアクセス制限付きであった場合には、クライアントはそのサービス112に追加的なパラメータを送信し、即ち、サービス112を実行するための通常のTCEウェブサービス106と共にユーザの信用証明物を送信する。ここで説明される別の実施形態によれば、クライアント119はSSLを介したHTTP等のようなセキュアなコネクションを介して追加的なパラメータをサービス112に送ることができる。
4.オペレーション1308では、サービス112は要求を受信し、先ず、信用証明物のディジタル署名を確認することでその信用証明物の真正を確認する。署名が有効でなかったならば、その要求は速やかに拒否される。次に信用証明物の満了時間が確認される。その時間が満了していたときも、その要求は拒否される。信用証明物が有効であることが証明されると、信用証明物中の事項が抽出され、REIエンジン1300に挿入される。サービス112は、サービス112のポリシに基づいてサービス112を起動することがそのユーザに認められているか否かをREIエンジン1300に問い合わせる。
5.オペレーション1310では、REIエンジン1300は、そのオントロジ、サービスのポリシ及びユーザに関する事項に基づいて問い合わせ(クエリ)に回答する。
6.オペレーション1312では、REI1300からの回答に基づいて、サービス112は要求を叶える又は拒否する。
REIエンジン1300は集約されている必要はなく、サービス112とは別の場所で動作してよい。例えばキャンパス法人組織全体について単独のREIエンジンを設定することもできるし、装置(例えば、プリンタ等)の各々がそれ自身のREIエンジンを備えていてもよい。実際には、パーバシブ環境では、全てのサービスがアクセス可能なREIエンジンを備えることは一般的ではない。我々の設計では、REIエンジンのインスタンスがポリシ、ファクト及びオントロジに関して充分な情報を有する限り、回答が得られる。
(1)共有されるポリシ(指針)及びデリゲーション(権限委任)
主にサービスに関する上記の説明は、クライアント(おそらくは、認証を行う認証当局により発行されたディジタル署名を介して認証される)、そのポリシ及びオントロジにより用意されたファクトを介してクライアント119のアクセス権を決定する。
自身のプライベートポリシだけでなく、ある共同体で共有されるポリシをも利用するサービスがしばしば望まれる。これは、サービス自体にアクセスせずに或るユーザから別の者へ権限の委任を実現することが望まれる場合に特に有用である(ユビキタス環境では、サービスのホストが、コンピュータリソースの制限された装置によるものであることが間々ある。そのような装置には処理負担が重すぎることに起因して、これらのポリシに対する現実に安全なアクセスをサポートすること及びこれらのポリシを管理することができないかもしれない。)。
共有されるポリシの複数のサイトは、組織的な階層、地理的な構造等に対応してよい。サービスが建物Yでホストを務める部署Xに属するならば、そのサービスはX及びYに関する共有ポリシを使用することを望むであろう。
最初に一度、サービス変更時にその人はサービスについて1以上のサイトを、アクセス制限算出に使用される共有ポリシを確認するために設定する。それら共有されるポリシのサイトへのアクセスは保護されていてもよい(例えば、SSLを介するHTTP)。サービスがアクセス制限を算出する必要のある場合に、サービスは可能な更新について指定されたサイトを確認する。どのサイトについても更新がなければ、サービスは、クライアント、ポリシ、オントロジ及び他の情報により用意されたファクトと共にキャッシュ済みのポリシに基づいてアクセス制限を算出し続ける。何らかのサイトについて何らかの更新があれば、更新されたポリシがダウンロードされ、キャッシュが更新され、最新の共有ポリシと共に計算が行われる。
権利の委任に関し、それは共有ポリシサイトを介して実行可能である。共有ポリシサイトへのおそらくは安全なコネクションを介して、共有ポリシを或る記述内容(ステートメント)で更新することで、権利を委任することができ、そのステートメントは彼/彼女が権利を或る人(又はグループ等)に委任することを示す。次回サービスがアクセス制限を計算する場合に、サービスは更新された共有ポリシを利用し、委任された権限を有する人がそのサービスの利用権を得る。
撤回するには、本来のユーザが撤回ステートメントを加えるように共有ポリシを更新し、撤回ステートメントは彼/彼女がその人に与えた権利を撤回することを述べている。即ち、本来のユーザは共有ポリシから当初の委任ステートメントを除去してよい。
(2)SSD116を介するタスクコンピューティングクライアント119によるサービス認証:
サービスがクライアントを認証することを望む場合が全てではない。しばしばクライアントはサービスを認証すること又はそのクライアントがサービスを実行する権利を有するか否かを事前に確認することを希望する。事前に確認可能ならば、サービスがアクセス可能でないこと又はそのユーザからアクセス可能でないサービスを隠すよう決定することをクライアントはユーザに予告する。
タスクコンピューティングでは、サービスはセマンティックサービス記述(SSD)を介してクライアントにより識別される。SSDはサービスが何であるか、内部プロセス、どのように実行されるか等を通知する。従ってSSD自身に又は他の手段を介して別々にディジタル署名を与えることで、サービスはクライアントにより認証可能である。ディジタル署名はクライアントも信用する当局の1つにより署名される必要がある。ディジタル署名はSSDの一部について又はSSD全体についてなされてもよい。SSDの重要な一部分にのみディジタル署名されてもよい。
サービスを実行する権利を有するか否かをクライアントが確認するために、SSDはサービスのポリシ情報に関するベクトルのように使用可能である。SSDはそれ自身にポリシを含んでもよいし又は使用するポリシを指すポインタを含んでいてもよい。ポリシは共有ポリシ及び委任セクションにおける上述の共有ポリシを含んでもよい。クライアントがSSD中のポリシ情報を取得する場合には、クライアント、オントロジ及び他の情報に関するファクタと共にSSD中の情報と共にサービスを実行する権利を有するか否かをクライアントは確認可能である。
サービスはSSD中のポリシの全てを必ずしも明らかにしなくてよいが、その一部の情報でさえユーザがサービスを無駄に実行する機会を減らすことができる点で依然としてクライアントを益する。
アクセス制御用タスクコンピューティングクライアント119のメモリ装置配備:
前もってユーザはタスクコンピューティングクライアントを用いる前にソフトウエアをインストールしなければならない。それは時間がかかり、タスクコンピューティングを採用するユーザの障害となることが間々ある。その問題の解決法は持ち運び可能な又は取り外し可能な媒体又は装置(例えば、CDや、UBSフラッシュメモリ)を用意することであり、如何なるインストレーションもなしにユーザがタスクコンピューティングを用いてスタートできるように、タスクコンピューティングクライアント119だけでなく、ジャバランタイムなどのような実行環境をも含むものである。
携帯可能又は移動可能なTCC119は信用証明物の発行とともに組み合わせ可能であり、信用証明物はユーザの便宜のためアクセス制限されたサービスに関して重要なものである。ユーザがカウンタで登録した場合に、信用証明物が発行され、それは携帯可能な媒体(メディア)又は装置に加えられる。そしてユーザはその媒体又は装置を自身の機器で使用し、ユーザに割り当てられた権限に基づいてサービスへアクセスする。信用証明物は、更なる変更が一切できないように、読み取り専用に設定することができる。媒体又は装置についてタスクコンピューティングクライアントが、その媒体又は装置での固定されたパスから信用証明物を読み取るように形成されていた場合には、そのユーザに関して信用証明物を悪用することは一層困難になる。メモリ装置は唯一の選択肢ではなく、CD、DVDのような他の媒体が使用されてもよいことに留意を要する。
図14A−14Gは、本発明の実施例により行われるサービスアクセス制御を利用する様子を示す。特に図14A−14Gは場所の例として業務用オフィスでのサービスアクセス制御の様子を示す。
1.図14Aでは、ボブ(Bob)−大学1の修士学生−が、企業1又はサイト1のインターンとして、企業1を訪れている。
2.図14Aではウェンディ(Wendy)−企業1のオフィス管理者−がボブを迎えている。
3.図14Aでは、ウェンディがボブに関する信用証明物と共にSTEER-TCC-スティック1400を作成する。STEER-TCC-スティック1400は、例えば、ジャバランタイムを含むタスクコンピューティングクライアント119、STEER-WSTCC119を走らせるのに必要なもの全てを備えたUSBメモリ装置としてもよい。
4.図14Aでは、ソフトウエアを用いて、信用証明物の作成者(ウェンディ)がSTEER-TCC-スティックの信用証明物フォルダに信用証明物を作成及び保存する。信用証明物は、ボブの名前、所属、ステータス(研修生)及び信用証明物のメタデータ(作成日、満了日時、権限委任情報等)並びに企業1のプライベートキーで署名されたディジタル署名を含む。図14Bは本発明の一実施例によりサービスアクセス制御を行うアーキテクチャを示す。
5.図14Aでは、ボブは彼のラップトップ1402でSTEER-TCC-スティック1400からSTEER-TCC-119を走らせる。図14Bは本発明の一実施例による一般的なサービスアクセス制御システム/フローアーキテクチャを示す。図14BではTCC119はサービス112を発見する(即ち、サービス112のOWL-SのSSD116を発見する。)。SSDは署名された証明書における属性の値を含むファクタ及びサービス112の(部分的な)ポリシを記述する。その証明書に基づいてサービス112は信用できるか否かを、及びサービス112はユーザとのやり取りを通じてユーザが潜在的に使用することを希望するものであるか否かをTCC119は決定する。例えばサービスの証明書は企業1により署名され、ユーザは企業1へのチェックイン時に信用されるように判定されており、そのユーザはサービス112が信用できるか否かを決定できる。その後にユーザ及びTCCは、ポリシを使用できるように、サービスのポリシに合致するか否かを確認できる。サービスを起動するようにTCC119をユーザが決定及び指示すると、TCCはウェブサービス起動に関する多のパラメータと共に属性値を含むファクタを送信する。サービス112は証明書のディジタル署名、満了時間その他を確認し、送られた事項が有効であることを確認する。その事項、プライベートポリシ、オントロジ、共有ポリシ(例えば企業1ポリシサイトの1つ)を用いて、サービス112を起動すること及びそれに応じて応答することの権限をユーザが有するか否かをサービス112は判定する。
6.図14C及び14Dでは、ボブはキーアイコンと共に“安全な印刷(Secure Print)”サービス112を発見する。“Secure Print”OWL-Sファイルでは、企業1の信用証明物を要する。(複数の信用証明物の内の1つを要すると言ってよい。)。STEER-TCC-119が要求ステートメントを発見すると、サービス112(この場合は、“Secure Print”)に関するキーアイコンを示す。
7.図14C及び14Dでは、ボブは“Secure Print”を使用しようとするが、“研修生(Intern)”はそのサービス112を利用するよう許可されていないので、彼は失敗する。“Secure Print”OWL-Sファイルに基づいて、STEER-TCC-119は“信用証明物(credential)”フォルダ中の企業1の信用証明物を探す。発見されると、STEER-TCC-119はウェブサービスコール106のサービス起動パラメータと共に信用証明物を送信する。“Secure Print”は、それが有効であることを確認するために信用証明物のディジタル署名を検査する(信用証明物中の事項が修正されないように検査される。)。先ず、サービスは信用証明物が満了していないことを確認する。満了していなければ、サービスは信用証明物中のそれらの事項を用いて、呼出者がサービスを利用する権限を有するか否かをREIポリシエンジンにより確認し、それはウェブサービスAPIを介して呼び出される。ポリシエンジンの確認結果がOKであれば、“Secure Print”はそのファイルを印刷する。そうでなければ、その要求は却下されたことを述べるメッセージを送信する(この場合、インターンとしてのボブは印刷する権限を有していないので、彼の要求は却下される。)。
8.ボブはジョン−企業1の上級職従業員−に印刷する権限を委任しもらうよう求める。
9.ジョンはソフトウエア(デリゲーションマネジャ1406)を用いて、企業1のポリシサイトに対して、ジョンによるボブへの権利の委任をセキュアに宣言する。企業1のポリシサイトには、上級職従業員が研修生に権限を委任する権利を有する記述(ステートメント)がある。
10.ボブは再び“Secure Print”を利用することを試み、今度は彼は成功する。
11.その後、ジョンはデリゲーションマネジャ1406を用いてその権限委任を撤回する(以前に作成された権限委任の宣言が、企業1ポリシサイトにより撤回される。)。
図14Eは図14A−14Eのシナリオ示す図式的フローチャートである。図14Fは本発明の一実施例によるサービスアクセス制御を利用する図14A−14Eにおけるシナリオのフローチャートである。図14での番号は上記のシナリオの項目番号1−11に対応する。
それ故にアクセス制御は以下の要素に基づいて決定される:(1)タスクコンピューティングクライアント119により用意されるファクト(ディジタル署名で認証される);(2)サービス112プライベートポリシ;(3)共有ポリシ;及び(4)オントロジ。サービス112はそのコンフィギュレーションに依存して複数の共有ポリシを使用可能である。これらリストされたサービスアクセス制御要素は、アクセス制御を決定するのその都度組み合わせられる。図14Gは本発明の一実施例によるサービスアクセス制御要素のマトリックス1410を示す。より具体的には、図14Gは図14A−14Fを参照しながら説明されたサービス112アクセス制御を示す。図14Gでは、オペレーション1420で、クライアント119はクライアントポリシ及びサービスパブリック属性(C−P,S−Apub)に基づいてサービスの(構成に関する)許容可能性を算出する。サービス属性は、限定ではないが、サービスを利用するコスト、何らかの認証情報、操作上の情報等のようなサービスに関する事項である。オペレーション1420がサービスのプライベートポリシをたとえ使用していなかったとしても、それらが容易されていなかったならば、オペレーション1420はサービスがクライアントに受け入れられるかもしれない可能性を増やす。オペレーション1422では、クライアントはクライアント属性及びサービスのパブリックなポリシ(C-A,S-Ppub)に基づいてサービス(構成)を用いるクライアントのサービスに対する実行可能性を算出する。再び、オペレーション1422は、クライアントがサービスのプライベートポリシへのアクセス権をたとえ持っていなかったとしても、サービスが実現可能かもしれない可能性を増やす。オペレーション1424では、サービス112はクライアント属性、サービスのパブリックな及びプライベートなポリシの全てのサービスアクセスファクタに基づいて、クライアントの許容性を算出する(又はクライアントを認証する)(C-A,S-Ppub,S-Ppri及び/又は(場合によってはサービスS-Apriでもよい。))。図14Hは上記のシナリオで使用される企業1の共有ポリシ、セキュア印刷サービス112のプライベートポリシ及びファクトのリスト例1412を示す。より具体的には、タスクコンピューティング100システムでは、サービスアクセス制御処理424(図4)が上記のサービス112へのアクセスを処理できる。
次に、他の4つのセマンタイザクライアントアプリケーションがSDSCM119bとして説明され、タスクコンピューティング100で使用されるセマンティックオブジェクトをもたらし、その4つは、(1)リアルワールドオブジェクトセマンタイザクライアント119b-3、(2)データベースセマンタイザクライアント119b-4、(3)メディア公表部119b-5及び(4)“ホワイトホール”119b-1である。
(1)リアルワールドオブジェクトセマンタイザクライアント119b-3:
図15は本発明の一実施例によるリアルワールドオブジェクトセマンタイザクライアント119b-3のアーキテクチャを示す機能ブロック図である。リアルワールドオブジェクトセマンタイザクライアント119b-3は書籍のような現実世界の対象物から意味論的オブジェクトを用意する。それは1以上の現実世界の対象物から1以上の意味論的オブジェクトを、1以上の現実世界のオブジェクトから多くの意味論的オブジェクトを生成してよい。ホワイトホール119b-1及びPIPE-WSAPI122に関して説明されたように、意味論的オブジェクトが生成/作成されると、管理ツール124に対するPIPE-WSAPI122は生成された意味論的オブジェクトに対してSSD116を生成するよう使用可能であり、その意味論的オブジェクトを、発見及び構成するサービス112にすることを許可する。リアルワールドオブジェクトセマンタイザに使用する可能性のある技術は、(限定ではないが)パーバシブ及び/又はアクティブ無線周波数識別(RFID)タグ、バーコード、QRコード<http://www.qrcode.com>、日本で多く使用されている2次元コード、限定された用語及び文法と共に又はそれらによらない音声認識、視覚的な及び/又はジェスチャーによる認識、又はそれらの如何なる組み合わせを含んでよい。
図15ではリアルワールドオブジェクトセマンタイザクライアント119b-3は、1.認識処理エンジン1502、2.セマンタイザ処理1504及び3.発行部1506を含むプログラムされたプロセスを構成している。
1.認識エンジン:
認識エンジン1502はタグ、コード、音声、映像、ジェスチャー等を認識する。認識プロセスはアクティブ(即ち、常にオンであり且つ自身の所有するオブジェクトを認識している)でもよいし、パッシブ(ユーザ又はプログラムからのトリガを受ける)でもよい。タグ及びコードに関しては、適切なリーダが認識エンジン1502として使用され;音声/表示/ジェスチャーに関しては、対応するマルチメディア入力の認識エンジン1502が使用される。ある認識エンジンは通常は誤りがちである。しかしながら、特定用途向けにデータパターンについて何からの制約を与えることで、認識率を向上させてもよい。例えば、音声認識の場合に、使用される文法及び用語を制限してもよい。認識率が低かった場合に、認識エンジンによる付加的な確認プロセスを用いることで、システムの全体的な認識率を改善することを支援してもよい。例えばユーザは音声認識ベースのリアルワールドオブジェクトセマンタイザクライアント119b-3に以下のタスク126を命令してもよい。
(ユーザ)コンピュータ、ISBN:0-7356-1918-2の書籍を私に用意して下さい。
(コンピュータ)了解。
別のタスク126会話では、以下のようなものでもよい:
(ユーザ)コンピュータ、タイトルが“INTRODUCING MICROSOFT.NET THIRD EDITION”の書籍を私に用意して下さい。
(コンピュータ)確認させて下さい。その本のタイトルは“INTRODUCING MICROSOFT.NET THIRD EDITION”ですか?
(ユーザ)そうです。
上記の文の変形は、“書籍”を(他の意味論的オブジェクト名に)、“ISBN”を(意味論的オブジェクトの特性名称に)及び値(特にISBNや番号のような値が適切に制限できる)を変更することで、他の場合にも使用可能である。
しばしば(部分的に/全体的に)セマンティックオブジェクト自身がタグ及びコードに(又は音声コマンドに)エンコードされていてもよい。特に大きなメモリを有するRFIDタグ及びQRタグは平文(プレインテキスト)で又はエンコードされた形式でセマンティックオブジェクトを保持することができる。或いは、ダウンロード可能なセマンティックインスタンス、作成及び公表されるSSD116を指すポインタを有するRFIDタグを用意することも可能である。
認識エンジン1502が1つまたは複数のオブジェクトを認識するとすぐに、認識エンジンはその情報をセマンタイザ1504にわたす。
2.セマンタイザ1504
認識エンジン1502からわたされた情報により、セマンタイザプロセス1504は先ず対応するオブジェクトに関する情報を見つけようとする。例えば、RFIDの場合、そのRFIDタグと同行するオブジェクトに関するローカルな又はリモートのデータベース1508と相談してもよい。次に、セマンタイザプロセス1504はセマンティックオブジェクトを生成する。例えば、認識エンジン1502から取得したISBN番号に基づいてローカルな又はリモートのデータベース1508と相談することで、“書籍(book)”のセマンティックオブジェクトが生成される。図15では破線枠は「パッシブな」(受動的な)モードの場合であることを示し、現実世界のオブジェクトの認識はユーザによるトリガを受ける。或いは、認識エンジン1502及びセマンタイザプロセス1504は、物理的な対象物のセマンティックオブジェクトを得るために、外部モジュール1510用のAPIを介して外部モジュール510により呼び出されてもよい。
セマンティックオブジェクトはローカルファイルシステムに個別ファイルとして格納されてもよく、システムはその情報に合致するファイルを通じてそのセマンティックオブジェクトを簡単に取得してもよい。例えば、セマンタイザはRFIDデータと同じ名前のファイルを単に拾い出し、そのファイル中のセマンティックオブジェクトを返してもよい。
セマンティックオブジェクト全体がセマンタイザに伝達される場合は何もないが、セマンティックオブジェクトの一部が伝達される場合は、セマンタイザはそのオブジェクトについての付加的な情報を付けても付けなくてもよい。
セマンタイザが、1つの又は一定数のセマンティックオブジェクトを返すようにサポートされており、それらを確認できなかった場合、セマンタイザは、可能なものの中から適切なものを選択するように又は認識プロセスが再びなされるようにユーザに求める。
最後に、セマンタイザはそれらのセマンティックオブジェクトを公表部に伝達し、又はそれらをプログラム的なAPIモジュールに返す。
3.公表部1506
公表部はそれらのセマンティックオブジェクトを、サービスを提供するセマンティックオブジェクトとして用意する。単独のセマンティックオブジェクトがセマンタイザにより用意される場合には、サービスを提供するシングルセマンティックオブジェクトを公表する。また、複数のオブジェクトが与えられている場合にはサービスを提供する複数のセマンティックオブジェクトを公表する。また、場合によっては、1つのサービスは、ユーザに1以上のセマンティックオブジェクトをユーザインターフェースにより複数のオブジェクトの中から選択させる。また、それらの方法が組み合わせられてもよい。公表手段に関し、PIPEWSAPI122が使用されてもよい。
本発明の一実施例によれば、認識は例えばユーザによるボタンのクリックでトリガをかけてもよい。また、プログラム的なAPIモジュールからの機能呼び出しにより認識が開始されてもよい。その機能呼出が認識されたセマンティックオブジェクトの値を返さなければならなかった場合、セマンタイザはそのセマンティックオブジェクトをプログラム的なAPIモジュールに変える。この場合、セマンタイザはセマンティックオブジェクトを公表部に送らなくてもよい。プログラム的なAPIモジュールによる機能呼び出しは、ウェブサービスコールを利用するように、遠隔的に実行されてもよい。
(2)データベースセマンタイザクライアント119b-4
多くのフォーマットされたデータは今日リレーショナルデータベースに格納される。データベースセマンタイザは、RDFで又はより具体的にはOWLで、そのデータベースからのデータをセマンティックオブジェクトとして利用可能にする。より具体的にはデータベースセマンタイザ119b-4は半構造(semi-structured)テキストデータを処理する。典型的には、本発明によれば、データベースセマンタイザは2つの主要モジュールより成り、1つ目はデータベースの手法及びオントロジ間のマッピング(対応関係)を作成するユーザインターフェースであり、2つ目は上記のマッピングに基づいてデータベースからセマンティックオブジェクトを提供するセマンティックサービスプロセスである。
選択的に、データベースセマンタイザは、プロセス1で作成されたマッピングに基づいて、データベース中の単独の又は複数のファイルからのデータの全部又は一部により、セマンティックオブジェクトを作成可能である。
マッピングを作成するユーザインターフェースは図形でもよい。より具体的には、GUIウインドウの一方側にデータベース手法を、別のGUIウインドウの他方側にオントロジを表示し、ユーザがデータベースとの対応付けを計画するようにしてもよい。ユーザはデータベース手法とオントロジとマッピングをマニュアルで指定してもよい。典型的には、ここで説明される実施形態によれば、ユーザは一方側のオントロジにおけるセマンティックを及び他方側におけるデータベース手法の項目を取り出し、それらが対応付けられるシステムに指定する(例えば、“マップ(Map)”ボタンをクリックすることで指定する。)。ユーザが所望のマッピング全てを指定するまで、ユーザはプロセスを反復する。上述のように作成されたマッピング仕様を用いて、セマンティックサービスプロセスはデータベースからデータ(実際の値)をマッピングし、マッピングされた値を有するセマンティックインスタンスを作成する。しかしながらそのシステムは手法及びオントロジにおける構文的糸口に基づいて可能なマッピングに関する示唆を与えてもよい。システムはマッピングの一貫性による速やかな検査を行ってもよい。マッピングがなされると、そのマッピングをほぞんし、例えば将来的な使用に備えてファイルに保存する。データベースセマンタイザクライアント119b-4は、ここで説明されるようにPIPE-WSAPI122に基づいてSSD116を作成することで、作成されたセマンティックオブジェクトを利用して、サービス112を作成する。
セマンティックサービスプロセスは、マッピングに基づいてセマンティックオブジェクトを生成するプログラム的なAPIモジュールだけでなく、1以上の生成されたセマンティックオブジェクトからユーザが取り出すためのユーザインターフェースと共になされてもよい。セマンティックサービスが実行されると、セマンティックサービスはユーザインターフェースをユーザに提供し、1以上のセマンティックオブジェクトを取り出せるようにし、セマンティックサービスは選択されたオブジェクトを戻り値として返す。効率化のため、特にデータベースが膨大な数のデータを有している場合、セマンティックサービスは、ユーザインターフェースを用意し及びデータを対応付ける度に、そのマッピングに基づいてデータベースをセマンティックオブジェクトに結合する。しかしながら、所与のマッピングに基づいて、データベースセマンタイザがデータベースから作成されたセマンティックオブジェクトを有すること、及びそれらのセマンティックオブジェクトを介してその機能を提供することも可能である。
(3)メディア公表部119b-5
ディレクトリ公表サービスと同様に、メディア公表サービスはユーザがファイル(オーディオ、ビデオ又はイメージ)を装置から選択し、対応するセマンティックインスタンスを取得することを可能にする。しかしながらサービスがどのように開始されるかについての手法は異なる。ユーザが装置(例えば、メモリ装置、ディジタルカメラ、CD-ROM、DVD-ROM又は外部ハードドライブ)にプラグインすると、プログラムが開始され、その装置にファイル(オーディオファイル、ビデオファイル又はイメージファイル等)が有るか否かを確認する。もしも有れば、ダイアログボックスが現れてユーザがそれらを公表することを希望するか否かを尋ねる。公表するようにユーザが決定すると、新たなサービスが生成される。
ユーザが気ままにファイル(オーディオ、ビデオ又は画像等)を共有することを希望する場合にそのサービスは非常に有利である。ユーザは装置に接続し、OKをクリックすることしか要求されない。そして全てがユーザに関して設定される。ユーザは他のサービスと共に構成されたこれらの新たに公表されたサービスを用いてユーザのタスクを達成する。ユーザが望めば、或るオプション群と共に、OKのクリックさえ省略可能であり、サービス公表プロセスが完全に自動化されてもよい。メディア公表クライアント119b-5は、ここで説明されるように、PIPE-WSAPI122に基づいてSSD116を生成することで、生成されたセマンティックオブジェクトを用いてサービスを生成してもよい。
(4)“ホワイトホール”119b-1
図16Aは本発明の一実施例によるオブジェクト及びサービスの意味論的処理、サービス処理及び公表に関する手順を示す。図16Aではホワイトホール119b-1はPIPE-WSAPI122(管理ツール124)を利用し、サービスの動的な生成(サービス公表)及びそれらの普及(共有)をサポートする。このツールはオブジェクト及びサービスを意味論的に処理し、サービス処理し及び(情報を)公表するために使用される。ホワイトホールクライアント119b-1はオペレーティングシステム又はアプリケーションオブジェクト(例えば、OSによるファイル、PIMアプリケーションのコンタクト等)、OWLフォーマット(又はOWLファイルへのURL)のセマンティックオブジェクト、及びOWL-Sフォーマット(又はOWL-SファイルへのURL)のセマンティックサービス記述に関する便利なドラッグアンドドロップインターフェースを有する。
何かがホワイトホールに落とされると(入力されると)、そのツールは先ずそのタイプを次のようにして判定する:(a)OWL又はOWL-Sオブジェクトならば、ホワイトホールは単にそれをPIPE-WSAPI122に伝送し(以下で説明される)(図16D−F);(b)OWL又はOWLL-SファイルへのURLならば、ホワイトホールはURLのコンテンツをダウンロードし、それをPIPE-WSAPI122に伝送し;(c)(意味論的に)既知のOS/アプリケーションオブジェクトならば(図16G−J)又はセマンティックオブジェクトならば(図16K−N)、ホワイトホールはそのオブジェクトを意味論的に処理する(図16A,図16B、テーブル1550)。意味論的処理はOS/アプリケーションオブジェクトから意味論的オブジェクトを生成するプロセスである(例えば、非限定的に説明される例として、リアルワールドオブジェクトセマンタイザ119b-3及び意味論的オブジェクト作成用のデータベースセマンタイザ)。TCS118は10タイプのOS/アプリケーションオブジェクト(OSからのファイル及びURL、PIMアプリケーションからのコンタクト及びスケジュール等)をサポート可能である。ホワイトホールはそれらの名称、実行及びコンテンツによりオブジェクトの意味論的タイプを決定する。そのタイプが決定されると、そのタイプに関するOWLテンプレートが検索され、オリジナルのオブジェクトから抽出された値で満たされる。そしてオブジェクトのOWL記述が生成され、PIPE-WSAPI122に伝送される。例えば、ユーザがPIMアプリケーションからコンタクト項目を落とすと、ホワイトホールはそのコンタクトタイプに関するOWLテンプレートを先ずロードし、コンタクト項目から名前、企業、電子メール、電話等を検索し、それらでテンプレートを埋める。最終的に完全なOWLオブジェクトがPIPE-WSAPI122に伝送される。
PIPE-WSAPI122は、ミドルウエアサーバプロセシングレイヤ108の管理ツール124の一部であり、セマンティックオブジェクトをサービス処理するための及びそれらを公表するためのツールである(図16C参照。);ホワイトホールの可能な出力(OWLにおけるセマンティックオブジェクト又はOWL-Sにおけるセマンティックサービス記述)は公表前にサービス処理される必要がある。(セマンティックサービス記述と共に)サービス112は作成され、起動時に、それは自身のセマンティックオブジェクトを返す。特にPIPE-WSAPI122は先ずウェブサービスを動的に作成し、起動時にセマンティックオブジェクトを出力として返し;次に、新たに作成されたセマンティックサービス記述が生成される(図16,テーブル1555)。このプロセスの間では、サービスの名称、記述、出力タイプ及び基礎的詳細が上位レベルで(OWL-Sで)決定及び記述される。従って、タスクコンピューティング100システムは、タスクコンピューティング100システムを介して定義されたオブジェクトを及び/又は如何なるOWLオブジェクトをもサポートする。
サービス処理の成果はセマンティックサービス記述、即ちSSD116であり、ユーザがホワイトホールに落としたオリジナルのもの、或いは新たに作成されたウェブサービスを記述するために作成されたPIPE-WSAPI122である。PIPE-WSAPI122はユーザが選択する探索範囲(上述)に依存してSSD116を公表するために使用される。例えばユーザがそれをサブネットサービス毎のグループとして公表することを希望する場合、PIPE-WSAPI122はOWL-Sファイルを指定するgetDescriptionアクションと共にUPnPデバイスを作成する。
PIPE-WSAPI122がホワイトホールクライアント119b-1に関連して記述されている場合でさえ、PIPE-WSAPI122はウェブサービスインターフェーエスと共に完全に独立したツールにすることができ、TCC118内の他の如何なるコンポーネントからでも呼び出し可能であり、オブジェクト又はサービスを公表するために使用可能である。逆に、PIPE-WSAPI122はSTEER-WSAPI120のような他のTCE-WSAPI116を呼び出すこともできる。PIPE-SWAPI120の1つの重要な用途はいわゆるセマンティックオブジェクトバンクサービスを実現することであり、そのサービスはセマンティックオブジェクトの継続的な−パーシステントな−(persistent)リポジトリである。バンクサービスは、その環境内でサービスを提供するセマンティックオブジェクトとしてファイル、コンタクト、スケジュール等のようなものを残すようにユーザにより使用可能であり、人々(おそらくは後に)がタスク126を達成するためにそれらのサービスを利用できるようにする。
PIPE-SWAPI120も管理ユーザインターフェースを含み、管理ユーザインターフェースは、ユーザがPIPE-SWAPI120を介して公表したセマンティックオブジェクト又はサービスを組織するようにユーザを支援する。この機能は以下の属性を有する:
1.探索範囲の切替:ユーザは、例えばサービスを一時的に「保持(hold)」するために(エンプティ−empty−探索範囲)、PIPE-WSAPI122を介して公表したサービス用の探索範囲を切り替えることができる。
2.満了時間:ユーザはサービスが満了時間後に発見できないように、そのサービスの満了時間を設定できる。
3.呼び出し制限:ユーザは、或る呼び出し回数の後はサービスが発見できないように、可能な呼び出し回数について制限を設定することができる。
4.名称/記述:ユーザはサービスのテキスト記述及び名称を設定可能又は変更可能である。
図16D−16Nは本発明の一実施例によるOWL-Sにおけるコンピュータ解釈可能なSSD116のソースコードの3つの具体例を示す。特に図16D−Fは企業1により作成された書類1(1570)に関するSSD116である。図16G−JはOS/アプリケーションオブジェクト1572に基づいて作成されたSSD116である(この例では、エムエスアウトルック(MS OUTLOOK)のようなアドレスブックからの「ボブスミス」の連絡先である。)。図16K−Nはセマンティックオブジェクト1574に基づいて作成されたSSD116である。
新規サービス:
新規サービス112が設計及び実行され、そのサービスは(1)セマンティックインスタンスシリアライズサービス、(2)情報提供サービス、(3)センササービス(限定ではないが、時間、関連する天候、温度及び/又は検知可能な如何なるもの等)、(4)スナップショットサービス、(5)OWLフォーマッターサービス及び(6)テキストフォーマッターサービスを含む。
(1)セマンティックインスタンスシリアライズサービス
このカテゴリのサービスは如何なるタイプのセマンティックインスタンスをも消費し、それらを順に並べ、その情報をユーザに伝える。一例は、「テルミー(Tell Me)」である。これはセマンティックインスタンスを取り出し、それを人が理解できる文字列に並べ、それを読み出す。「Tell Me」サービスの詳細は後述される。
セマンティックインスタンスが到着すると、そのセマンティックインスタンスは先ず「Tell Me」サービスにより分析される。「Tell Me」サービスはそのトランスフォーメーションスクリプトリポジトリを検査し、そのクラスのインスタンスに又は任意のクラスのインスタンスのオブジェクト特性について、利用可能な何らかの順序置換が有るか否かを確認する。変換スクリプトは、拡張可能スタイルシート言語(XSLT)スクリプトにすることができるがこれに限定されない。そのようなスクリプトが発見されると、それは先ずインスタンスに適用され、そのインスタンスを(又はそのインスタンスの一部を)或る文字列に変換する。変換プロセスは、そのインスタンスがオブジェクト特性のような他のインスタンスを含む場合に再帰的に適用される(例えば、「連絡先」インスタンスは、「アドレス(Address)」インスタンスを、「ビジネスアドレスを有する(hasBusinessAddress)」及び「ホームアドレスを有する(hasHomeAddress)」オブジェクト特性として含み、対応するスクリプトがそのインスタンスに適用される。)。
例えば、サービスは以下の「アドレス」インスタンスを受信する:
スクリプトを適用すると、その出力は次のようになる:
「企業1、都市名」の「アドレス」は、「1000例示的アベニュー、都市名、州、郵便番号、国名」になる(“Company-1,City Name”の“Address”は、“1000Example Avenue, City Name, State, Zip Code Number, Country Name”になる。)。
次に、変換結果は又は何のスクリプトも発見されなかった場合のインスタンスは、一般的な整列モジュールに送られる。このモジュールの目的はデフォルトの論理(ロジック)を用いて如何なるセマンティックインスタンスでも順に並べることである。上記の例では、アドレスインスタンスに関して何らのスクリプトも無ければ、そのインスタンスは次のように並べられる:
「アドレス」、「企業1、都市名」は「1000例示的アベニュー」を「ストリートアドレス」として、「都市名」を「都市」として、「州名」を「州」として、「郵便番号」を「ジップコード」として、及び「国名」を「国」として有する。(“Address”,“Company-1,City Name”は、“1000Example Avenue”を“Street Address”として、“City Name”を“City”として、“State Name”を“State”として、“Zip Code Number”を“Zip Code”として、“Country Name”を“Country”として有する。)。
“Tell Me”サービスの最終ステップは、並べられた文字列を読み出すことである。“Tell Me”サービスの整列モジュールは、チッカー(ticker)装置に文字列を表示する“Show Me”サービスのような多くの他の同様なサービスによっても使用可能である。
“Tell Me”サービスはVoiceSTEERと組み合わせて使用する場合に非常に有用である。これは、1以上の入力を有し且つ何らの出力も(意味論的には)有しないサービスである。それは、入力として受信するセマンティックオブジェクトを読み出す。セマンティックオブジェクトがこのサービスにとって既知のタイプである場合には、既知のタイプ各々についてXSLTスクリプトのような内部手段を利用し、そのオブジェクトをどのように読み出すか判定する。そのサービスについてオブジェクトが未知であった場合には、それは先ずオブジェクトのオントロジを探し、それをどのように読むかについての情報の有無を確認する。それにも失敗した場合には、デフォルトの手法を利用してそのオブジェクトが参照するオントロジを用いて読み出す。
例えば、サービスは次のような「アドレス」オブジェクトを受けるように仮定される:
サービスが「アドレス」オブジェクトを知らなかった場合、サービスはそのオブジェクトを次のように読んでもよい。
「アドレス」、「企業1、都市名」は「1000例示的アベニュー」を「ストリートアドレス」として、「都市名」を「都市」として、「州名」を「州」として、「郵便番号」を「ジップコード」として、及び「国名」を「国」として有する。(“Address”,“Company-1,City Name”は、“1000Example Avenue”を“Street Address”として、“City Name”を“City”として、“State Name”を“State”として、“Zip Code Number”を“Zip Code”として、“Country Name”を“Country”として有する。)。
“co:streetAddress”用の“Street Address”のような特性に関するラベルが、“アドレス”オブジェクトが参照するオントロジで規定される。セマンティックオブジェクトは(XSLTコード部分のような)変換関数を与えることでストリングに並べられることができる。オントロジファイル内で、シリアル化関数が定義される場合、又は“Tell Me”サービスが“アドレス”オブジェクトを自身の知識ベースでどのように並べるかを知っていた場合、その関数を適用し、そのオブジェクトを次のように読み出してもよい。
「企業1、都市名」の「アドレス」は「1000例示的アベニュー、都市名、州名、郵便番号及び国名」を有する。(“Company-1,City Name”の“Avenue”は、“1000Example Avenue、City Name、State Name、Zip Code Number、Country Name”を有する。)。
この“Tell Me”サービスは如何なるオブジェクトでも入力として受け入れる。それが“Tell”、“What is”のような複数の名称を有してもよい(これらの名称は同じOWL-Sファイルで又は別個のOWL-Sファイルで用意されてもよい。)。これはセマンティックオブジェクトを検査するのに使用する自然な手法を与える。例えば、“温度(Temperature)”と呼ばれるサービスが現在の室温を返す場合、ユーザは次のようにVoiceSTEERを問い合わせることができる:
コンピュータ、“温度”を“私に教えてください”?(Computer,“Tell Me”(the)“Temperature”?)
コンピュータ、“温度”は何度ですか?(Computer,“What is”(the)“Temperature”?)
サービスは他の名称を有することもでき、特定の種類のオブジェクトを受け入れ、そのサービスがタスクコンピューティングクライアントの自動変換サービス挿入手段と組み合わせ可能であるように形成されてもよい。例えば“Where is”を、“Location”オブジェクトを受け入れる別名の“Tell Me”サービスとする。“Commander Data”というサービス(サービスのロケーションを含むコマンダーデータの“Contact”情報を与えるサービス)と、“Location of”というサービス(“Contact”から“Location”を抽出するサービス)があるとする。この場合、VoiceSTEERに対して次のように言うことができる。
コンピュータ、“コマンダーデータ”は“どこですか”?(Computer, “Where is”“Commander Data”?)
そして、“Location of”サービスは自動的に挿入され、“Commander Data”、“Location of”、“Where is”というサービス構成が実行され、コマンダーデータのロケーションが読み出される。また、次のように言うこともできる。
コンピュータ、“コマンダーデータ”“のロケーション”“を私に教えてください”?
(Computer,“Tell Me”(The)“Location of”“Commander Data”?)
コンピュータ、“コマンダーデータ”“のロケーション”“はどこですか”?
(Computer,“What is”(The)“Location of”“Commander Data”?)
サービスが特定の種類のオブジェクトを受け入れるにすることで、サービスがセマンティックサービスのサービス管理機能と共に合成可能であるようにすることもできる。例えば、“Where is”が“Tell Me”サービスであるとする。“View on Projector”サービスはSSD中のロケーション情報を提供するものとする。この場合、VoiceSTEERに対して次のように尋ねることができる。
コンピュータ、“プロジェクタに表示”は“どこですか”?
(Computer,“Where is”“View on Projector”?)
そして、“Location of”サービス管理機能(サービス管理機能の詳細は以下で更に詳細に説明される。)は“Where is”及び“View on Projector”の間に自動的に追加される。
“Where is”は実行され、“View on Projector”のロケーションが読み出される。当然に次のように言うことができる。
コンピュータ、“プロジェクタに表示”“のロケーション”“を私に教えてください”?
(Computer,“Tell Me”(The)“Location of”“View on Projector”?)
コンピュータ、“プロジェクタに表示”“のロケーション”“はどこですか”?
(Computer,“What is”(The)“Location of”“View on Projector”?)
“Tell Me”サービスが最も有用なVoiceSTEERの利用状況で説明されるとしても、それは如何なるタスクコンピューティングクライアントと共に使用可能である。
(2)情報提供サービス:
情報提供サービスは入力を一切とらず、一旦起動されると、セマンティックインスタンスを出力として生成する。情報提供サービス及びインスタンス提供サービスの間の相違は、情報提供サービスで生成されるインスタンスは刻々と時間毎に異なるが、インスタンス提供サービスにより生成されるものは常に同じであることである。情報提供サービスのいくつかの具体例は、温度サービス、時間及びデータサービス等である。
“温度サービス”を例にとると、それが起動されると、そのサービスはセンサにより現在の温度を検査し、その最新値でセマンティックインスタンスを生成する。上述の“Tell Me”サービスと合成される場合に非常に有用である:ユーザが音声ベースのタスクコンピューティングクライアントを介して、“コンピュータ、会議室の温度を教えてください”と指令すると、“温度は75度です”がユーザの耳に入る。
(3)センササービス(限定ではないが、時間、関連する天候、温度及び/又は検知可能な如何なるもの等)は、ある種の情報提供サービスである。
時間/温度サービスのようなセンササービスはセマンティックオブジェクトプロバイダサービスである。サービスが一旦起動されると、サービスは装置、ウェブサービス、ウェブページ及び/又は他の情報ソースと相談し、現在の時間/温度をセマンティックオブジェクトとして返す。
(4)スナップショットサービス
スナップショットサービスは、起動後に、ディジタルカメラ、ディジタルビデオカメラ、スキャナ等のような画像処理装置から静止画を捕捉し、“画像”セマンティックオブジェクトを返す。
(5)OWLフォーマッターサービス
OWLフォーマッターサービスはその入力としてセマンティックオブジェクトを受け入れ、それらを人が理解可能な形式にフォーマットし、それを出力として返す。現在の技法における1つの例では、それらのオブジェクトの記述に使用されるオントロジを用いてHTMLのテーブルフォーマット中のセマンティックオブジェクトをフォーマットし、HTML自身を又はそれらに対するURLを返す。
(6)テキストフォーマッターサービス
テキストフォーマッターサービスは入力としてセマンティックオブジェクトを受け入れ、それらを所定のテキストフォーマットの1つに変換し、テキストファイルとして保存し、それに何らかのファイル等を付ける。例えば、テキストフォーマッターサービスは“Book”セマンティックオブジェクトを受け入れ、それをBibTeXフォーマットに変換し、それをユーザ自身のBibTeXファイルに付けることができる。或いは、“プロテイン(Protein)”のような生体情報オブジェクトは、他のテキストフォーマッターサービスによるブラストアプリケーションにより使用されるフォーマットにも変換可能である。
XSLT及び他のスクリプトを利用してサービスは実行可能である。例えば、テキストフォーマッターサービスは、セマンティックオブジェクト及び対応するフォーマッティングXSLTスクリプトの対(ペア)のテーブルを保持することができる。サービスがセマンティックオブジェクトを受け取った場合、テキストフォーマッターは、そのテーブルによりそれをフォーマットするのに使用されるのはどのXLSTスクリプトであるかを確認し、保存するファイル又は付けるファイルを選択するためにユーザにダイアログボックスをポップアップする。
タスクコンピューティングクライアント119インターナルサービス:
図17は本発明の一実施例によるインターナル(内部)サービスと共にSTEER-TCC-119のコンピュータディスプレイスクリーングラフィカルユーザインターフェースの画像を示す。インターナルサービスは、タスクコンピューティングクライアント119(STEER TCC、ホワイトホール、サービスマネジャ等)と共に緊密に結束されたサービスである。サービスは特殊な方法でTCC119内で処理されるので、インターナルサービスは、たとえそれらが何らかの特定の発見手段によって発見されなかったとしても、クライアントのGUIのどこにでも登場できるように形成可能である。
一般に、これらのインターナルサービスは過剰に一般的過ぎる(如何なる“もの”でも提供及び/又は消費してしまう。)。そのようなインターナルサービスは、他のローカルな及びパーバシブサービス112とは別のタスクコンピューティングクライアントによる手法で提供される。たとえインターナルサービスが他のサービス112と非常に別様に処理されるとしても、そのセマンティックサービス記述は表面的には異なっていない。これは、インターナルサービスを複合サービス内に保存し、その複合サービスを他者と共有することを許容する。
インターナルサービスとの合成の実行は次のようになる。実行エンジンがインターナルサービスに遭遇すると、(実行エンジンはそれを知っている。なぜなら、全てのインターナルサービスは通常のWSDLウェブサービスとして既知のWSDLURLと共に記述されているからである。)そのエンジンはWSDLオペレーション名を確認し、どのインターナルサービスかを決定する。決定されると、WSDLウェブサービスを直接的に起動するのではなく、エンジンはインターナルサービスを処理する特殊なモジュールを起動する。
ここで説明される実施形態によれば、インターナルサービスに関する一定のURLでリアルウェブサービスを実行することができ、そのサービスはインターナルサービスと同じ目的を有する。実行されるインターナルサービス手段を有していないいくつかのクライアントでもそのURLでサービスを依然として起動できるような場合に、特に有利である。明らかに、本手法でそれをインターナルサービスとして起動することは更に効果的である。
以下、実行されるインターナルサービスが説明され、それらは:(1)インスタンス作成サービス、(2)インスタンスコピー、(3)インターセプトサービス、(4)インスタンス保存サービス及び(5)プロパティ選択サービスである。インスタンスクリエータ、インスタンスコピー要素、インターセプタ及びインスタンスセーバーは、タスク126実行フロー制御に関連する4つのインターナルクライアント119サービスである。これらはセマンティックオブジェクトを処理する場合に或る共通のモジュールを共有する。共通モジュールは、ユーザが動的にセマンティックインスタンスをファイルとして保存すること、又はローカルな若しくはパーバシブなインスタンス提供サービスを公表することを可能にする(セマンティックインスタンスを(又はそのオブジェクト特性を)セマンティックサービス構成に与えるように作成可能である。)。ユーザはセマンティックインスタンスをローカルストレージ若しくは全インスタンス(或いはインスタンスのオブジェクト特性)のウェブサイトのファイルの中からセマンティックインスタンスをロードすることもできる。セマンティックサービス構成の実行結果としてセマンティックインスタンスをロードするようにも構成可能である。共通のモジュールはオントロジ(例えば、「整数」、「時間」等)に基づいてそのデータに関する有効性検査も実行する。
(1)インスタンス作成サービス
図17には、「インスタンスクリエータ」1602の選択可能な図形表示が示されている。インスタンス作成サービスは、オントロジに基づいて如何なるセマンティックタイプについてでも対話インターフェースを生成し、ユーザがそのタイプのセマンティックインスタンスをそのインターフェースにより作成可能にするサービスである。これは、ユーザが入力と共にサービスを検査することを希望するが、そのタイプの入力を提供するサービスを一切有しない場合に特に有利である。インスタンス作成サービスは、入力をとるどのサービスの前にも置くことができる。インスタンス作成サービスの出力タイプは、以後のサービスの入力タイプと同じである。
(2)インスタンスコピー
コピーサービスは実行シーケンス中の2つのサービス間に置かれる。実行フローのその時点で、出力に対する入力を複製し、それ以外に何もしない。それは主に、複数のサービスに複製された構成に対するいくつかの入力と共に、その構成を保存するのに使用される。コピーがなければ、保存された構成は厳密に同じであるべき複数の入力を必要とする。コピーがあれば、保存された構成は唯1つの入力だけしか有しなくてよい。保存された構成内では、インスタンスコピーは第1サービスとして入力を受け入れ、以後その入力は構成の中で複数のサービスに複製される。コピーの入力及び出力のタイプは以前のサービスの出力タイプと同じである。
(3)インターセプタサービス
インターセプタサービスは実行シーケンスの2つのサービス間に置かれる。それが挿入されると、実行フロー中のその地点で止まり、分析し、以前のサービスの出力を表示する。ユーザは継続する前にその値を検討し及び更新する機会を得る。ユーザがその結果に不満足であれば、ユーザは実行を止めることを選択するかもしれない。一方、中間的な結果がファイルに保存可能であり、或いはセマンティックインスタンスとして公表可能である。インターセプタサービスは如何なる2つのさーびす間にも配置可能である。インターセプタの入力及び出力のタイプは以前のサービスの出力タイプと同じである。
(4)インスタンス保存サービス
図17には、「インスタンスセーバー」1604の選択可能な図形表示が示されている。インスタンスセービングインターナルサービス1604は如何なるセマンティックインスタンスでも分析及び保存する。或るシナリオでは、あるサービスで生成された出力はその環境内で他のどのサービスによっても使用不可能である。インスタンス保存サービスがなければ、その結果は失われるであろう。それがあれば、それを使用するサービスが利用可能な別の環境の中でそれを使用する又は将来的な利用に備えて、結果を格納する追加的な選択肢をユーザは有する。インスタンス保存サービスは出力を生成する如何なるサービスの後にも設けることができる。インスタンス保存サービスの入力タイプは以前のサービスの出力タイプと同じである。
(5)プロパティチューザー
プロパティチューザーは出力の一部を抽出し、次のサービスに送るサービスである。これは、他のサービスで生成された出力の一部にしかサービスが挿入されていない場合に、特に有利である。例えば、“My Contact”サービスはユーザが自身のアウトルック(Outlook)からコンタクト項目をユーザが選択し、“Contact”インスタンスを生成することを可能にする。“Map of”サービスは“アドレス(Address)”インスタンスを受け入れ、そのアドレスのマップを表示する。これら2つのサービスは多義にリンク不可能である。なぜなら、“Contact”及び“Address”の間にスーパーサブクラス関係は一切無いからである。しかしながら、“Contact”インスタンスは、“Address”タイプを有する“hasBusinessAddress”と呼ばれるプロパティを有することに留意を要する。プロパティチューザサービスは、ユーザがこのタイプの可能な構成を発見することを支援するために使用される。
プロパティチューザーは、第2サービスの入力が第1サービスの出力のプロパティである(或いは反復的にそのように構成される)場合に2つのサービス間に設けることが可能である。プロパティチューザーの入力タイプは、プロパティチューザーに先行するサービスの出力タイプと同じであり、プロパティチューザーの出力タイプはプロパティチューザー後のサービスの入力タイプと同じである。
ここでは、タスクコンピューティング100環境を複数のコンピュータシステム実装階層にセグメント化することによるタスクコンピューティングシステム例が説明され、その実装階層は、プレゼンテーションクライアント処理レイヤ、リモートプロシジャ呼出アプリケーションプログラムインターフェース(API)、ミドルウエアサービスプロセッシングレイヤ(プレゼンテーションレイヤがリモートプロシジャ呼出APIを介してリアルタイムでインターフェースをとり、プレゼンテーションレイヤでコンピュータ実行タスクインターフェースを、意味論的に記述されたコンピュータシステムソース機能に対して、コンピュータシステムでのサービスとして動的に生成する);サービスレイヤ及び機能ソース実現レイヤ(意味論的に記述されたコンピュータシステムソース機能を、ミドルウエアプロセシングレイヤがインターフェースをとるコンピュータシステムでのサービスとして与える);及びリアルタイムで動的に構成する実行可能なタスク(コンピュータシステムでの1以上のサービスに対してプレゼンテーションレイヤで生成されたタスクインターフェースに従って、1以上のサービスで構成される)を有する。コンピュータサービスは実行可能なタスクにリアルタイムで動的に構成され、その際に、意味論的に記述されたアプリケーション−、装置−及びサービス−リッチなコンピュータに基づいてコンピュータ上のサービスに対して生成されたインターフェースを用いる。ここで説明された実施形態によれば、ユーザは、実用的に、効果的に、効率的に、動的に、リアルタイムに、柔軟性のある統合されたユーザインターフェース(構成及び実行機能)を当てにし、やり取りを管理し、汎用コンピュータ環境とやり取りする。

タスクコンピューティングは或るアプローチであり、そのアプローチは、(a)セマンティックウェブ技術を利用し、より多くの(セマンティック)ウェブリソースがユビキタスコンピューティングアプリケーションに速やかに利用可能になるようにし、(b)リソースの性質には全く関係ないものであり、リソースがどのように発見されるか、どのようにアクセスされるか、どのように接続されるか又はどのように通信するかによらず、抽象化サービス116がタスクコンピューティングシステム100でそれらを利用可能にするようにする。タスクコンピューティングは、全ての機能の普遍的な抽象化として意味論的に記述されたサービス116を当てにし、更に、構築可能なタスク126は多くのサービス112を含んでよいので、タスクコンピューティングは、装置対サービスの相互運用性(interoperability)より大きな範囲を網羅する。例えば典型的なタスクコンピューティング100システムのタスク126はリアルタイムで動的に5−6個のサービス112を利用できる。
本発明の上記の好適実施例は、(既知の如何なるコンピュータ読取可能な媒体に格納されるような)ソフトウエアで及び/又はプログラム可能な装置/コンピューティング装置を制御するプログラム可能なコンピューティング装置/ハードウエア(例えば、データを格納、検索、提示(例えば、表示)及び処理することができるプログラム可能な電子装置)−如何なるタイプのプログラム可能なコンピュータ装置で実現されてもよい。そのようなコンピュータ装置は、限定ではないが例えば、パーソナルコンピュータ、クライアントサーバネットワークアーキテクチャの場合にはサーバー及び/又はクライアントコンピュータ、分散ネットワークアーキテクチャにおけるネットワーク化されたコンピュータ、端末装置、パーソナルディジタルアシスタント、モバイル装置等である。
以上本発明に関する多くの特徴及び利点が詳細な説明から明らかになり、かくて添付の特許請求の範囲により、そのような特徴及び利点の全てを本発明の真の精神及び範囲内に網羅することが意図される。更に、多くの修正及び変形が当業者に明白なので、図示及び説明された構成及び動作に厳密に本発明を限定することは望まれず、従って適切な全ての修正及び変形は本発明の範囲内にある。
なお、一部の実施形態を整理すると以下の通りである。
(付記1) 複数のコンピュータシステム機能ソースをコンピュータシステムにおけるサービスとして意味論的に記述するステップと、
複数のプログラム可能なコンピュータシステム実行段にコンピュータシステムをセグメント化するステップと、
を有する方法であって、前記コンピュータシステム実行段は、
プレゼンテーションクライアントプロセシングレイヤと、
リモートプロシジャコールアプリケーションプログラミングインターフェース(API)と、
ミドルウエアサーバープロセシングレイヤであって、前記プレゼンテーションレイヤは、コンピュータシステムでのサービスとして意味論的に記述されたコンピュータシステム機能ソースに対して、プレゼンテーションレイヤでコンピュータ実行タスクインターフェースをリアルタイムで動的に生成するために、リモートプロシジャコールAPIを介してインターフェースをとるところのミドルウエアサーバープロセシングレイヤと、
意味論的に記述されたコンピュータシステム機能ソースを、前記ミドルウエアプロセシングレイヤがインターフェースをとるコンピュータシステムでのサービスとして提供するサービスレイヤ及び機能ソース実現レイヤと、
を有し、当該方法は、コンピュータシステムの1以上のサービスに対する前記プレゼンテーションレイヤで生成されたタスクインターフェースに従って、1以上のサービスを有する実行可能なタスクをリアルタイムで動的に構成するステップを有する
ことを特徴とする方法。
(付記2) 前記サービスレイヤは、コンピュータシステムのサービスとして、機能ソース実現レイヤのサービス機能を関連して意味論的に記述するセマンティックサービス記述及び機能ソース実現レイヤからのサービス機能を有する
ことを特徴とする付記1記載の方法。
(付記3) 前記リモートプロシジャコールAPIは、ウェブサービスに従う
ことを特徴とする付記1記載の方法。
(付記4) 前記コンピュータシステムが、ネットワーク通信における複数のコンピュータシステムを有し、
前記リモートプロシジャコールAPIが、ウェブサービスに従い、該ウェブサービスはリモートウェブサービスAPIを有し、当該方法は、
第2コンピュータシステム内のネットワークを介して第1コンピュータシステムのリモートウェブサービスAPIを第1コンピュータシステムにより登録するステップと、
前記第2コンピュータシステム内で前記第2コンピュータシステムによりサービスを発見するステップと、
前記第2コンピュータシステムにより、登録されたリモートウェブサービスAPIを介して、前記第2コンピュータシステム内で発見されたサービスを第1コンピュータシステムに通知する
ことを特徴とする付記1記載の方法。
(付記5) 登録されたリモートウェブサービスAPIでフィルタを指定することにより、第2コンピュータシステム内でのサービスの発見を選別するステップ
を更に有することを特徴とする付記4記載の方法。
(付記6) 前記フィルタはリソース記述フレームワークデータクエリ言語(RDQL)によるクエリである
ことを特徴とする付記5記載の方法。
(付記7) 前記コンピュータ機能ソースの意味論的記述における自然言語に従ってサービス名を定めるステップを更に有し、自然言語センテンスに従って1以上のサービスを含む実行可能なタスクの構成をサポートする
ことを特徴とする付記1記載の方法。
(付記8) あるオントロジに従って、前記コンピュータ機能ソースの意味論的記述の機能属性をサービスとして規定するステップを当該方法が更に有し、
前記実行可能なタスクは、各サービスの機能属性による両立可能な1以上のサービスである
ことを特徴とする付記1記載の方法。
(付記9) 前記ミドルウエアサーバープロセシングレイヤが、サービス構成ユニット、サービス実行ユニット、サービス管理ユニット又はそれらの組み合わせのプログラムされたユニットを有し、リモートプロシジャコールAPIを介してアクセス可能であり、プレゼンテーションレイヤにおけるコンピュータ事項タスクインターフェースのリアルタイムの動的な生成を支援する
ことを特徴とする付記1記載の方法。
(付記10) 前記コンピュータシステムがネットワーク通信における複数のコンピュータシステムを有し、当該方法は、
第1コンピュータシステムにおける前記ミドルウエアサーバープロセシングレイヤの第1プログラムユニットを、リモートミドルウエアサービスプロセシングレイヤとしてインストールするステップと、
第1コンピュータシステムにて第1プログラムユニットの第1リモートプロシジャコールAPIを公表するステップと、
第2コンピュータシステムの第2プログラムユニットにより、公表された第1リモートプロシジャコールAPIを介して、第1コンピュータシステムの第1プログラムユニットを起動し、前記第1コンピュータシステムのサービスを管理するステップと、
を更に有することを特徴とする付記9記載の方法。
(付記11) 前記第1コンピュータシステムで前記サービスを管理するステップが、前記サービスの前記コンピュータシステム機能ソースの意味論的記述を介して前記第1コンピュータシステムのサービスに関して発見、実行、操作又はそれらの組み合わせを行うことを含む
ことを特徴とする付記10記載の方法。
(付記12) 第1コンピュータシステムの第1プログラムユニットを起動し、前記第1コンピュータシステムのサービスを管理するステップが、
ファイルシステム、マルチキャスト、コミュニティディレクトリ、オープンセマンティックサービスディレクトリ又はそれらの組み合わせの内の1以上の発見手段により、サービスに関するコンピュータシステム機能ソースの意味論的記述を介してサービスは発見するステップを有する
ことを特徴とする付記10記載の方法。
(付記13) 第1コンピュータシステムの第1プログラムユニットを起動し、前記第1コンピュータシステムのサービスを管理するステップが、
エンプティ、プライベート、サブネットによるグループ、関心のあるグループ又はそれらの組み合わせの中で、サービスに関するコンピュータシステム機能ソースの意味論的記述における探索範囲を設定するステップと、
サービスに関するコンピュータシステム機能ソースの意味論的記述における設定された探索範囲に従って、サービスに関するコンピュータシステム機能ソースの意味論的記述を介してサービスを発見するステップと、
を有することを特徴とする付記10記載の方法。
(付記14) 前記コンピュータシステム機能ソースが、ウェブオントロジ言語(OWL)ベースのウェブサービスオントロジ(OWL-S)言語に従って意味論的に記述される
ことを特徴とする付記1記載の方法。
(付記15) コンピュータシステム機能ソースの意味論的記述が、喋った言語によるコンピュータユーザインターフェースを制御する会話言語属性を有する
ことを特徴とする付記1記載の方法。
(付記16) 前記コンピュータユーザインターフェースはコンピュータに表示されるグラフィカルユーザインターフェースであり、前記会話言語属性は話される言語に従ってサービス記述及びサービス名の記述の表示を制御する
ことを特徴とする付記15記載の方法。
(付記17) 前記コンピュータシステム機能ソースの意味論的記述は、緩和されたデータタイプの入力、サービスとしてのコンピュータシステム機能ソースのロケーション、管理機能又はそれらの組み合わせの記述を含む
ことを特徴とする付記1記載の方法。
(付記18) コンピュータシステムにおけるサービスとしてのコンピュータシステム機能ソースの意味論的記述が、サービスに関する入力データの2以上のタイプを識別し、第1入力データタイプは入力データのドメインそのものを識別し、第2入力データタイプは第1入力データタイプのドメインより大規模なドメインの緩和された入力データタイプを識別する
ことを特徴とする付記1記載の方法。
(付記19) サービスとしてのコンピュータシステム機能ソースの意味論的記述が、サービスに関する管理機能の記述、該サービスについての管理機能に関する記述へのリンク、又は双方を含む
ことを特徴とする付記1記載の方法。
(付記20) 前記管理機能が、サービスを除去すること、サービスの処理済みセマンティックオブジェクトを返すこと、サービスに関するユーザインターフェースを与えること、サービスのステータス情報、サービスのロケーション、又はそれらの組み合わせの内の1以上のサービスプロセスを含む
ことを特徴とする付記19記載の方法。
(付記21) 意味論的に記述されたコンピュータシステム機能ソースに対するコンピュータ実現インターフェースが、コンピュータに表示されたグラフィカルユーザインターフェース、音声コマンドユーザインターフェース、無線装置ユーザインターフェース又はそれらの組み合わせである
ことを特徴とする付記1記載の方法。
(付記22) 意味論的に記述されたコンピュータシステム機能ソースに対するコンピュータ実現インターフェースが音声コマンドユーザインターフェースであり、当該方法が更に、
コンピュータ機能ソースの意味論的記述における自然言語でサービス名を規定するステップと、
規定された自然言語サービス名でスピーチ認識状態グラマーダイアグラムを生成するステップと、
スピーチ認識装置により、会話の自然言語センテンスを、規定された1以上の話されたサービス名を有するタスクの構成要素として認識するステップと、
話された認識されサービス名と一連のサービスとを前記スピーチ認識状態グラマーダイアグラムに従って照合するステップと、
合致したサービスを実行することで、前記タスクを実行するステップと、
を有することを特徴とする付記1記載の方法。
(付記23) コンピュータに表示されるグラフィカルユーザインターフェースが、サービスを空間的に提示する
ことを特徴とする付記22記載の方法。
(付記24) サービスの空間的な提示が、
エリアマップを表示すること、及び
前記エリアマップ上で発見されたサービスを空間的に表示すること
を含むことを特徴とする付記23記載の方法。
(付記25) 複数のコンピュータシステム機能ソースをサービスとして意味論的に記述するステップが、
あるオントロジを用いて、コンピュータシステム機能ソースの機能属性を記述するステップと、
自然言語センテンスの要素としてサービスに名前を割り当て、自然言語センテンスとしての自然言語要素の構成に対するサービス構成のマッピングをサポートするステップと、
を有し、コンピュータで実行されるタスクインターフェースの生成が、
利用可能なサービスを発見するステップと、
オントロジを用いてコンピュータシステム機能ソースの機能属性の記述に基づいてサービスの機能属性に従ってコンパチブルなサービスを識別し、自然言語センテンスに従って自然言語サービス名に基づいて複数のコンパチブルなサービスの実行可能なタスクをユーザが構築することを支援するステップと、
を有することを特徴とする付記1記載の方法。
(付記26) 前記コンピュータで実現されるタスクインターフェースがコンピュータで表示されるスクリーングラフィカルユーザインターフェースであり、該グラフィカルユーザインターフェースは、
ツリー構造に従って発見されたサービスの選択可能な図形表示を第1グラフィカルユーザインターフェースウインドウで表示すること、
あるプロセスに従ってリアルタイムに動的にタスクに構成された1以上のサービスをサポートする第2グラフィカルユーザインターフェースを提示すること、及び
タスクを実行するためにタスク実行に関する選択可能な図形表示を表示すること
を行い、前記の提示は、
前記第1ウインドウで発見されたサービスをユーザにより選択すること、
発見され選択されサービスに関連して他のコンパチブルなサービスの選択可能な図形表示を自動的に表示すること、
コンパチブルなサービスをユーザにより選択すること、及び
発見されたサービスのユーザによる選択及びタスクとしてのコンパチブルなサービスに従って指示されたサービスグラフを第2グラフィカルユーザインターフェースでリアルタイムで動的に表示すること
を含むことを特徴とする付記25記載の方法。
(付記27) 表示され発見されたサービスが、発見されたサービスの機能属性に従って第1グラフィカルユーザインターフェースウインドウで組織される
ことを特徴とする付記26記載の方法。
(付記28) あるサービスへのアクセスが、クライアント、サービスプライベートポリシ、共有ポリシ、オントロジ又はそれらの組み合わせにより用意される事項のサービスアクセス制御要素に従って制御される
ことを特徴とする付記1記載の方法。
(付記29) 前記プレゼンテーションクライアントプロセシングレイヤが、インスタンスクリエータ、インスタンスコピー、インスタンスインターセプタ、インスタンスタンスセーバー、プロパティチューザー又はそれらの組み合わせによるインターナルサービスを提供する
ことを特徴とする付記1記載の方法。
(付記30) セマンティックインスタンスシリアル化サービス、情報提供サービス、センササービス、スナップショットサービス、ウェブオントロジ言語(OWL)フォーマッターサービス及びテキストフォーマッターサービスを意味論的に記述された複数のコンピュータシステム機能ソースとして提供するステップ
を更に有することを特徴とする付記1記載の方法。
(付記31) セマンティックインスタンスシリアル化サービスが、セマンティックインスタンスの如何なるタイプをも使用し、セマンティックインスタンスを或る情報に並べ、該情報をユーザに与える
ことを特徴とする付記30記載の方法。
(付記32) 前記情報提供サービスが、コンピュータシステム機能ソースからセマンティックオブジェクトを出力し、コンピュータシステム機能ソースが情報提供機能ソースである
ことを特徴とする付記30記載の方法。
(付記33) 前記情報提供機能ソースが、時間、日付、関連する天候、道路交通量又はそれらの組み合わせを示す
ことを特徴とする付記32記載の方法。
(付記34) 前記スナップショットサービスが、
画像処理装置から静止画を捕捉し、
前記静止画に関するセマンティックオブジェクトを出力する
ことを特徴とする付記30記載の方法。
(付記35) 前記OWLフォーマッターサービスが、
セマンティックオブジェクトを入力として受け入れ、
前記セマンティックオブジェクトを人の理解可能な形式にフォーマット変換し、
変換されたセマンティックオブジェクトを出力する
ことを特徴とする付記30記載の方法。
(付記36) テキストフォーマッターサービスが、
セマンティックオブジェクトを受け入れ、
前記セマンティックオブジェクトを所定のテキストフォーマットの1つにフォーマット変換し、
フォーマットされたセマンティックオブジェクトを出力する
ことを特徴とする付記30記載の方法。
(付記37) 前記コンピュータシステムが、ネットワーク通信における複数のコンピュータシステムを含み、
前記サービスとしてのコンピュータシステム機能ソースが、デバイス、アプリケーション、電子サービス、コンテンツ又はそれらの組み合わせによる、複数のコンピュータシステムの何れかにおける機能ソースより成る
ことを特徴とする付記1記載の方法。
(付記38) 前記サービスとしてのコンピュータシステム機能ソースが、WSDL(ウェブサービス記述言語)、UPnP(ユニバーサルプラグアンドプレイ)、CORBA、RMI、RPC、DCE、DCOM又はそれらの組み合わせのリモートプロシジャコールを介して利用可能である
ことを特徴とする付記37又は25に記載の方法。
(付記39) 前記コンピュータシステムがネットワーク通信における複数のコンピュータシステムを含み、
前記リモートプロシジャコールAPIがウェブサービスに従い、該ウェブサービスはリモートウェブサービスAPIを含み、当該方法は、
第1コンピュータシステムのリモートウェブサービスAPIを公表し、
公表されたリモートウェブサービスAPIを介して第1コンピュータシステムのサービスを第2コンピュータシステムにより管理する
ことを特徴とする付記1記載の方法。
(付記40) 第2コンピュータシステムでのサービスの管理が、第2コンピュータシステムでサービスを作成すること、公表すること、発見すること、実行すること又はそれらの組み合わせを行うことを含む
ことを特徴とする付記39記載の方法。
(付記41) 前記ミドルウエアサービスプロセシングレイヤがサービス管理プロセスより成り、前記プレゼンテーションクライアントプロセシングレイヤが、セマンティックオブジェクトを作成、公表及び/又は操作する1以上の意味論的に記述されたサービス制御手段クライアント、及び/又はサービスとしてのコンピュータシステム機能ソース用のセマンティックサービス記述を有する
ことを特徴とする付記1記載の方法。
(付記42) 意味論的に記述されたサービス制御手段クライアントが、意味論的に処理し、セマンティックサービス記述を生成し、セマンティックサービス記述をサービスとして、リアルワールドオブジェクトセマンタイザクライアントとして、データベース意味論的処理クライアントとして及びメディア公表部として公表するクライアントプロセスを有する
ことを特徴とする付記1記載の方法。
(付記43) 前記メディア公表部が、
選択されたデータオブジェクトを受信し、
選択されたデータオブジェクトについて対応するセマンティックインスタンスを生成し、
サービスを提供するために生成されたセマンティックインスタンスについてセマンティックサービス記述を作成及び公表する
ことを特徴とする付記1記載の方法。
(付記44) コンピュータシステム機能ソースを意味論的に記述されたサービスとして抽象化するサーバー処理システムと、
コンピュータシステム機能ソースの意味論的に記述されたサービスに基づいて、コンピュータ実現タスクインターフェースを介して、コンピュータシステムにおける1以上のサービスより成る実行可能なタスクのリアルタイムの動的な構築をサポートするために、リモートプロシジャコールを介してサーバーシステムとインターフェースをとるクライアント処理システムと、
を有することを特徴とするコンピュータシステム。
(付記45) あるプロセスに従って制御される装置であって、
当該装置を制御するようプログラムされたプロセッサを有し、当該プロセッサは、
オブジェクトを認識し、
認識したオブジェクトに基づいてセマンティックインスタンスを生成し、
前記セマンティックインスタンスを公表する
ことを特徴とする装置。
(付記46) 前記オブジェクトが物理的オブジェクト、音声、ビデオ又はそれらの組み合わせである
ことを特徴とする付記45記載の装置。
(付記47) 前記オブジェクトの認識が、コンピュータ読み取り可能なコードを読み取ること、無線周波数識別(RFID)タグを検出すること、マルチメディア認識処理エンジンによりオブジェクト情報を検出することに従って行われる
ことを特徴とする付記45記載の装置。
(付記48) コンピュータで実行される方法であって、
データベーススキームをオントロジにマッピングするステップと、
該マッピングに基づいてデータベース内でデータのセマンティックオブジェクトを生成するステップと、
を有することを特徴とする方法。
(付記49) セマンティックオブジェクトの生成を制御し、データベース中のデータの全部又は一部からセマンティックオブジェクトを生成し、1以上のセマンティックオブジェクト1つまたは複数のファイルで出力するステップ
を更に有することを特徴とする付記48記載の方法。
(付記50) 前記マッピングが、
グ前記データベーススキームの選択可能な図形表示を表示する第1ウインドウと、オントロジの選択可能な図形表示を表示する第2ウインドウとを有するグラフィカルユーザインターフェースを表示するステップと、
表示されたグラフィカルユーザインターフェースに基づいて前記データベーススキームをオントロジにユーザによりマッピングするステップと、
を有することを特徴とする付記48記載の方法。
(付記51) 前記マッピングに関し、
前記データベーススキーマ及び前記オントロジにおける構文的な糸口に従って、プログラムされたプロセッサにより可能なマッピングを示唆する
ことを特徴とする付記50記載の方法。
(付記52) セマンティックオブジェクトの選択可能な図形表示を有するグラフィカルユーザインターフェースを表示するステップと、
選択されたセマンティックオブジェクトの値を返すステップと、
を更に有することを特徴とする付記48記載の方法。
(付記53) コンピュータシステム機能ソースを複数のサービスとして抽象化するサーバー処理手段と、
2以上のサービスを含むタスクのリアルタイムの動的な構築のためのユーザタスクインターフェースを、リモートプロシジャコール手段を介して用意するクライアント処理手段と、
を有することを特徴とするコンピュータシステム。
(付記54) 携帯可能なコンピュータ読み取り可能な記憶媒体であって、
複数のコンピュータシステム機能をースをサービスとして意味論的に記述すること、
複数の意味論的に記述されたコンピュータシステム機能ソースを発見し、第1グラフィカルユーザインターフェースにサービスを提示すること、
あるプロセスに従って1以上のサービスをタスクにリアルタイムで動的に構成することをサポートする第2グラフィカルユーザインターフェースを提示すること、及び
タスクを実行するためのタスク実行に関する選択可能な図形表示を表示すること、
を含むプロセスに従ってコンピュータシステムを制御する少なくとも1つのプログラムを格納し、前記第2グラフィカルユーザインターフェースを提示することは、
発見されたサービスをユーザにより第1ウインドウで選択すること、
発見され選択されたサービスに関する他の有効なサービスの選択可能な図形表示を自動的に表示すること、
有効なサービスをユーザにより選択すること、発見されたサービス及び有効なサービスのタスクとしてのユーザの選択に従って、指示されたサービスグラフを第2グラフィカルユーザインターフェースでリアルタイムで動的に表示すること、
を含むコンピュータ読み取り可能な記憶媒体。
(付記55) 端末装置であって、
あるプロセスに従って当該端末装置を制御するようプログラムされたクライアントプロセッサを有し、該クライアントプロセッサは、
サーバープロセスに対するリモートプロシジャコール手段を介して、複数の意味論的に記述されたコンピュータシステム機能ソースをサービスとして発見し、
あるプロセスに従って1以上のサービスをタスクにリアルタイムで動的に構築することを支援するコンピュータで実行されるユーザインターフェースを生成し、該ユーザインターフェースは、
ユーザによるタスクのコマンドを受信し、
サーバープロセスを介して1以上のサービスを含むタスクの処理を制御する
ことを特徴とする端末装置。
(付記56) 前記コンピュータで実行されるユーザインターフェースが、コンピュータに表示されるグラフィカルユーザインターフェース、音声コマンドユーザインターフェース、無線装置ユーザインターフェース又はそれらの組み合わせである
ことを特徴とする付記55記載の端末装置。
(付記57) 前記クライアントプロセスのプロセスが、
発見されたサービスを第1グラフィカルユーザインターフェースで提示すること、
あるプロセスに従ってリアルタイムに動的にタスクに構成された1以上のサービスをサポートする第2グラフィカルユーザインターフェースを提示すること、及び
サーバープロセスを介してタスクを実行するためにタスク実行に関する選択可能な図形表示を表示すること
を含み、前記第2グラフィカルユーザインターフェースの提示は、
前記第1ウインドウで発見されたサービスをユーザにより選択すること、
発見され選択されサービスに関連して他の有効なサービスの選択可能な図形表示を自動的に表示すること、
有効なサービスをユーザにより選択すること、及び
発見されたサービスのユーザによる選択及びタスクとしての有効なサービスに従って指示されたサービスグラフを第2グラフィカルユーザインターフェースでリアルタイムで動的に表示すること
を含むことを特徴とする付記55記載の端末装置。
(付記58) 端末装置であって、
あるプロセスに従って当該端末装置を制御するようにプログラムされたクライアントプロセッサを有し、該プロセッサは、
コンピュータシステム機能ソースをサービスとして意味論的に記述するウェブオントロジ言語(OWL-S)ファイルを読み取り、
OWL-Sファイルの読み取り内容に従って前記サービスを実行する
ことを特徴とする端末装置。
(付記59) 複数のクライアント処理装置と通信するサーバー処理装置であって、
リモートプロシジャコール手段に応答して、あるプロセスに従って当該サーバー処理装置を制御するようプログラムされたサーバープロセッサを有し、該プロセッサは、
複数の意味論的に記述されたコンピュータシステム機能ソースをサービスとして発見し、
1以上のサービスをタスクにリアルタイムで動的に構築することをサポートするクライアントコンピュータ実行ユーザインターフェースの生成を、リモートプロシジャコール手段を介して制御する
ことを特徴とするサーバー処理装置。
(付記60) クライアントコンピュータ実行ユーザインターフェースの制御が或るプロセスに従って実行され、該プロセスは、
コンピュータシステム機能ソースの意味論的記述に記載されたサービスの機能属性に従って、発見された複数のサービスの中からコンパチブルなサービスを見分け、
1以上の選択されたコンパチブルなサービスによりタスクを構築し、
タスク実行コマンドを受け取り、
前記タスク実行コマンドに応じてタスクを実行するために前記クライアントで1以上のサービスを事項する
ことを特徴とする付記59記載のサーバー処理装置。
本発明の一実施例によるタスクコンピューティング環境のアーキテクチャを示すシステム図である。 本発明の一実施例による、コンピュータで実現されるプレゼンテーションレイヤでのタスクインターフェースとしてコンピュータに表示されたグラフィカルユーザインターフェース画像を示す図である。 本発明の一実施例によるSTEER-WSAPIの定義リスト例を示す図である。 本発明の一実施例によるSTEER-WSAPIを利用するコンピュータソースコードを示す図である。 本発明の一実施例によるSTEER-WSAPIを利用するコンピュータソースコードを示す図である。 本発明の一実施例によるミドルウエアプロセッシングレイヤ108プログラムモジュールの機能ブロック図を示す。 本発明の一実施例によるPIPE-WSAPI122の定義リスト例を示す図である。 本発明の一実施例によるPIPE-WSAPI122の定義リスト例を示す図である。 本発明の一実施例によるコールバック方式のクロス環境サービスディレクトリのフローチャートである。 本発明の一実施例によるクロス環境サービスディレクトリ及び実行に関するネットワークを示す図である。 サービスを管理するための本発明の一実施例による移動電話表示スクリーンのユーザインターフェース画像を示す図である。 本発明の一実施例によるコンピュータ表示位置認識アイコングラフィカルユーザインターフェース画像を示す図である。 本発明の一実施例によるタスクコンピューティング音声認識用の状態遷移図を示す。 本発明の一実施例によるタスクコンピューティング用の音声認識ダイアグラムを生成する擬似コード例を示す図である。 本発明の一実施例による如何なる言語ででもタスクコンピューティングクラインとユーザインターフェースを表示するフローチャートである。 本発明の一実施例によるプレゼンテーションレイヤで日本語でコンピュータタスクインターフェースとしてコンピュータに表示されたグラフィカルユーザインターフェース画像を示す図である。 本発明の実施例によるサービスアクセスコントロールのフローチャートである。 本発明の一実施例で行われるサービスアクセス制御プロセスを示す図である。 本発明の一実施例で行われるサービスアクセス制御プロセスを示す図である。 本発明の一実施例で行われるサービスアクセス制御プロセスを示す図である。 本発明の一実施例で行われるサービスアクセス制御プロセスを示す図である。 本発明の一実施例で行われるサービスアクセス制御プロセスを示す図である。 本発明の一実施例で行われるサービスアクセス制御プロセスを示す図である。 本発明の一実施例で行われるサービスアクセス制御プロセスを示す図である。 本発明の一実施例で行われるサービスアクセス制御プロセスを示す図である。 本発明の一実施例によるリアルワールドオブジェクトセマンタイザのアーキテクチャを示す機能ブロック図である。 本発明の一実施例によるオブジェクト及びサービスの意味論的処理、サービス処理及び公表に関する手順を説明するための図である。 本発明の一実施例によるオブジェクト及びサービスの意味論的処理、サービス処理及び公表に関する手順を説明するための図である。 本発明の一実施例によるオブジェクト及びサービスの意味論的処理、サービス処理及び公表に関する手順を説明するための図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるOWL-SにおけるSSD116のコンピュータで理解可能なソースコード例を示す図である。 本発明の一実施例によるSTEERWSTCCのグラフィカルユーザインターフェースを内部サービスと共にコンピュータに表示した画像を示す図である。

Claims (3)

  1. コンピュータシステムによって実行される方法であって、
    前記コンピュータシステムは、複数のプログラム可能なコンピュータシステム実装階層にセグメント化されており、前記コンピュータシステム実装階層は、
    プレゼンテーションクライアントプロセシングレイヤと、
    リモートプロシジャコールアプリケーションプログラミングインターフェース(API)と、
    前記プレゼンテーションクライアントプロセシングレイヤが前記リモートプロシジャコールAPIを介してインターフェースをとるミドルウエアサーバープロセシングレイヤと、
    前記ミドルウエアサーバープロセシングレイヤがインターフェースをとるサービスレイヤ及び機能ソース実現レイヤと
    を有し、
    当該方法は、
    前記ミドルウエアサーバープロセシングレイヤが、セマンティックサービス記述を自動生成するよう、複数のコンピュータシステム機能ソースをコンピュータシステムにおけるサービスとして意味論的に記述するステップと、
    前記ミドルウエアサーバープロセシングレイヤ、前記プレゼンテーションクライアントプロセシングレイヤでの提示のために、前記セマンティックサービス記述に対する、コンピュータで実現されるタスクインターフェースをリアルタイムで動的に生成するステップと、
    前記サービスレイヤ及び機能ソース実現レイヤ、前記コンピュータシステムにおけるサービスとして前記セマンティックサービス記述を提供するステップと、
    記プレゼンテーションクライアントプロセシングレイヤにて提示された前記タスクインターフェースに従って、1以上のサービスを有する実行可能なタスクをリアルタイムで動的に構成するステップと、
    を有し
    前記リモートプロシジャコールAPIはウェブサービスに従い、該ウェブサービスはリモートウェブサービスAPIを有し、
    当該方法は更に、
    前記コンピュータシステムにより、ネットワークを介して、前記コンピュータシステムのリモートウェブサービスAPIを他のコンピュータシステム内に登録するステップと、
    前記他のコンピュータシステムにより、前記他のコンピュータシステムにおけるサービスを発見するステップと、
    登録されたリモートウェブサービスAPI内のフィルタを指定することにより、前記他のコンピュータシステムにおいて発見されるサービスを選別するステップと、
    前記他のコンピュータシステムにより、前記登録されたリモートウェブサービスAPIを介して前記コンピュータシステムに、前記他のコンピュータシステム内で発見されたサービスを通知するステップと
    を有する、
    ことを特徴とする方法。
  2. 複数のコンピュータシステム機能ソースをサービスとして意味論的に記述するステップが、
    あるオントロジを用いて、コンピュータシステム機能ソースの機能属性を記述するステップと、
    自然言語センテンスの要素としてサービスに名前を割り当て、自然言語センテンスとしての自然言語要素の構成に対するサービス構成のマッピングをサポートするステップと、
    を有し、
    記タスクインターフェースの生成が、
    利用可能なサービスを発見するステップと、
    オントロジを用いてコンピュータシステム機能ソースの機能属性の記述に基づいてサービスの機能属性に従ってコンパチブルなサービスを識別し、自然言語センテンスに従って自然言語サービス名に基づいて複数のコンパチブルなサービスの実行可能なタスクをユーザが構築することを支援するステップと、
    を有する、
    ことを特徴とする請求項1記載の方法。
  3. 記タスクインターフェースが、コンピュータで表示されるスクリーングラフィカルユーザインターフェースであり、該グラフィカルユーザインターフェースは、
    発見されたサービスの選択可能な図形表示をツリー構造に従って第1グラフィカルユーザインターフェースウインドウで表示すること、
    前記1以上のサービスを実行可能なタスクにリアルタイムで動的に構成するステップを支援する第2グラフィカルユーザインターフェースを、
    前記第1グラフィカルユーザインターフェースウインドウで発見されたサービスをユーザ選択可能にすることと、
    発見され選択されたサービスに関連して他のコンパチブルなサービスの選択可能な図形表示を自動的に表示することと、
    コンパチブルなサービスをユーザ選択可能にすることと、
    発見されたサービス及びコンパチブルなサービスのユーザ選択に従ったサービスグラフを、前記タスクとして、該第2グラフィカルユーザインターフェース内でリアルタイムで動的に表示することと、
    を有するプロセスに従って提示すること、及び
    前記タスクを実行するためにタスク実行に関する選択可能な図形表示を表示すること
    を行う、
    ことを特徴とする請求項2記載の方法。
JP2007510963A 2004-04-28 2005-04-27 コンピュータシステム、サーバー処理装置、端末装置及び方法 Expired - Fee Related JP5205965B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US56585104P 2004-04-28 2004-04-28
US60/565,851 2004-04-28
US60325104P 2004-08-23 2004-08-23
US60/603,251 2004-08-23
US62855704P 2004-11-18 2004-11-18
US60/628,557 2004-11-18
US63980504P 2004-12-29 2004-12-29
US60/639,805 2004-12-29
US11/115,403 2005-04-27
US11/115,403 US7761885B2 (en) 2004-04-28 2005-04-27 Task computing
PCT/US2005/014557 WO2005104772A2 (en) 2004-04-28 2005-04-27 Semantic task computing

Publications (3)

Publication Number Publication Date
JP2007535767A JP2007535767A (ja) 2007-12-06
JP2007535767A5 JP2007535767A5 (ja) 2008-05-15
JP5205965B2 true JP5205965B2 (ja) 2013-06-05

Family

ID=35188554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007510963A Expired - Fee Related JP5205965B2 (ja) 2004-04-28 2005-04-27 コンピュータシステム、サーバー処理装置、端末装置及び方法

Country Status (5)

Country Link
US (1) US7761885B2 (ja)
EP (1) EP1759289A4 (ja)
JP (1) JP5205965B2 (ja)
KR (1) KR100896245B1 (ja)
WO (1) WO2005104772A2 (ja)

Families Citing this family (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
JP4759269B2 (ja) * 2003-05-16 2011-08-31 株式会社エヌ・ティ・ティ・ドコモ 個別サービス選択
GB2415325A (en) * 2004-06-15 2005-12-21 Mitel Networks Corp Spontaneous discovery of remote service profiles
US8099313B2 (en) * 2004-09-22 2012-01-17 Samsung Electronics Co., Ltd. Method and system for the orchestration of tasks on consumer electronics
US8185427B2 (en) * 2004-09-22 2012-05-22 Samsung Electronics Co., Ltd. Method and system for presenting user tasks for the control of electronic devices
US8412554B2 (en) * 2004-09-24 2013-04-02 Samsung Electronics Co., Ltd. Method and system for describing consumer electronics using separate task and device descriptions
US8510737B2 (en) * 2005-01-07 2013-08-13 Samsung Electronics Co., Ltd. Method and system for prioritizing tasks made available by devices in a network
US8069422B2 (en) * 2005-01-10 2011-11-29 Samsung Electronics, Co., Ltd. Contextual task recommendation system and method for determining user's context and suggesting tasks
US8205013B2 (en) * 2005-05-02 2012-06-19 Samsung Electronics Co., Ltd. Method and system for aggregating the control of middleware control points
US7596754B2 (en) * 2005-07-28 2009-09-29 Microsoft Corporation Application assistance
US20070043803A1 (en) * 2005-07-29 2007-02-22 Microsoft Corporation Automatic specification of semantic services in response to declarative queries of sensor networks
JP4756947B2 (ja) * 2005-08-05 2011-08-24 キヤノン株式会社 情報処理装置及び方法
US20070050185A1 (en) * 2005-08-24 2007-03-01 Keith Manson Methods and apparatus for constructing graphs, semitic object networks, process models, and managing their synchronized representations
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US20070106797A1 (en) * 2005-09-29 2007-05-10 Nortel Networks Limited Mission goal statement to policy statement translation
US7882209B1 (en) * 2005-09-30 2011-02-01 At&T Intellectual Property Ii, L.P. Tiered and modular approach to operational support systems
US7697827B2 (en) 2005-10-17 2010-04-13 Konicek Jeffrey C User-friendlier interfaces for a camera
US7822699B2 (en) * 2005-11-30 2010-10-26 Microsoft Corporation Adaptive semantic reasoning engine
US20070106496A1 (en) * 2005-11-09 2007-05-10 Microsoft Corporation Adaptive task framework
US7933914B2 (en) * 2005-12-05 2011-04-26 Microsoft Corporation Automatic task creation and execution using browser helper objects
US20070130134A1 (en) * 2005-12-05 2007-06-07 Microsoft Corporation Natural-language enabling arbitrary web forms
US7831585B2 (en) * 2005-12-05 2010-11-09 Microsoft Corporation Employment of task framework for advertising
US7660558B2 (en) * 2005-12-31 2010-02-09 Adobe Systems Incorporated Interrupting and resuming a media player
US7603113B2 (en) 2005-12-31 2009-10-13 Adobe Systems Incorporated Using local codecs
US20070174697A1 (en) * 2006-01-19 2007-07-26 Nokia Corporation Generic, WSRF-compliant checkpointing for WS-Resources
KR100750160B1 (ko) * 2006-01-25 2007-08-17 삼성전자주식회사 UPnP 상에서 디바이스의 기능을 예약하는 방법 및 장치
US7996783B2 (en) 2006-03-02 2011-08-09 Microsoft Corporation Widget searching utilizing task framework
US8115869B2 (en) 2007-02-28 2012-02-14 Samsung Electronics Co., Ltd. Method and system for extracting relevant information from content metadata
US8209724B2 (en) 2007-04-25 2012-06-26 Samsung Electronics Co., Ltd. Method and system for providing access to information of potential interest to a user
US8200688B2 (en) 2006-03-07 2012-06-12 Samsung Electronics Co., Ltd. Method and system for facilitating information searching on electronic devices
US20080235209A1 (en) * 2007-03-20 2008-09-25 Samsung Electronics Co., Ltd. Method and apparatus for search result snippet analysis for query expansion and result filtering
US8732154B2 (en) * 2007-02-28 2014-05-20 Samsung Electronics Co., Ltd. Method and system for providing sponsored information on electronic devices
US8843467B2 (en) 2007-05-15 2014-09-23 Samsung Electronics Co., Ltd. Method and system for providing relevant information to a user of a device in a local network
US8863221B2 (en) 2006-03-07 2014-10-14 Samsung Electronics Co., Ltd. Method and system for integrating content and services among multiple networks
US20070214123A1 (en) * 2006-03-07 2007-09-13 Samsung Electronics Co., Ltd. Method and system for providing a user interface application and presenting information thereon
US8510453B2 (en) 2007-03-21 2013-08-13 Samsung Electronics Co., Ltd. Framework for correlating content on a local network with information on an external network
US20080221989A1 (en) * 2007-03-09 2008-09-11 Samsung Electronics Co., Ltd. Method and system for providing sponsored content on an electronic device
US8028283B2 (en) * 2006-03-20 2011-09-27 Samsung Electronics Co., Ltd. Method and system for automated invocation of device functionalities in a network
US8549492B2 (en) * 2006-04-21 2013-10-01 Microsoft Corporation Machine declarative language for formatted data processing
US20070294085A1 (en) * 2006-05-01 2007-12-20 Maria Gaos System and method operative to interact with a secure, self-contained network
PL1865687T3 (pl) * 2006-06-06 2011-11-30 Koninklijke Kpn Nv Most pośredniczący do łączenia różnych typów urządzeń
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8935269B2 (en) 2006-12-04 2015-01-13 Samsung Electronics Co., Ltd. Method and apparatus for contextual search and query refinement on consumer electronics devices
US20130167024A1 (en) 2006-12-05 2013-06-27 Adobe Systems Incorporated Embedded document within an application
US8055586B1 (en) 2006-12-29 2011-11-08 Amazon Technologies, Inc. Providing configurable use by applications of sequences of invocable services
US7743339B1 (en) 2007-02-01 2010-06-22 Adobe Systems Incorporated Rendering text in a brew device
US8589779B2 (en) * 2007-03-08 2013-11-19 Adobe Systems Incorporated Event-sensitive content for mobile devices
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US9286385B2 (en) 2007-04-25 2016-03-15 Samsung Electronics Co., Ltd. Method and system for providing access to information of potential interest to a user
US9329874B2 (en) * 2007-06-22 2016-05-03 Microsoft Technology Licensing, Llc String customization
US8880740B2 (en) * 2007-10-24 2014-11-04 International Business Machines Corporation Computing device location
US8176068B2 (en) 2007-10-31 2012-05-08 Samsung Electronics Co., Ltd. Method and system for suggesting search queries on electronic devices
US8065152B2 (en) 2007-11-08 2011-11-22 Demand Media, Inc. Platform for enabling voice commands to resolve phoneme based domain name registrations
US8789108B2 (en) * 2007-11-20 2014-07-22 Samsung Electronics Co., Ltd. Personalized video system
US8250521B2 (en) * 2007-12-14 2012-08-21 International Business Machines Corporation Method and apparatus for the design and development of service-oriented architecture (SOA) solutions
US8195803B2 (en) * 2007-12-14 2012-06-05 International Business Machines Corporation Method and apparatus for modeling and managing quality of service (QoS) in a service-oriented architecture (SOA) environment
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US20090177634A1 (en) * 2008-01-09 2009-07-09 International Business Machine Corporation Method and System for an Application Domain
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8694355B2 (en) * 2008-05-30 2014-04-08 Sri International Method and apparatus for automated assistance with task management
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US20100064033A1 (en) * 2008-09-08 2010-03-11 Franco Travostino Integration of an internal cloud infrastructure with existing enterprise services and systems
US8938465B2 (en) 2008-09-10 2015-01-20 Samsung Electronics Co., Ltd. Method and system for utilizing packaged content sources to identify and provide information based on contextual information
US20100083150A1 (en) * 2008-09-30 2010-04-01 Nokia Corporation User interface, device and method for providing a use case based interface
US8103962B2 (en) * 2008-11-04 2012-01-24 Brigham Young University Form-based ontology creation and information harvesting
US8195692B2 (en) * 2008-12-11 2012-06-05 International Business Machines Corporation System and method for managing semantic and syntactic metadata
WO2010101515A1 (en) * 2009-03-03 2010-09-10 Telefonaktiebolaget Lm Ericsson (Publ) Media transfer to a renderer in a local network from a server in a second local network
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US8145758B2 (en) * 2009-06-15 2012-03-27 Microsoft Corporation Concurrent processing with untrusted beings
US8856333B2 (en) * 2009-06-16 2014-10-07 Microsoft Corporation Datacenter execution templates
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8239618B2 (en) * 2010-05-27 2012-08-07 Dell Products L.P. System and method for emulating preconditioning of solid-state device
US8266551B2 (en) * 2010-06-10 2012-09-11 Nokia Corporation Method and apparatus for binding user interface elements and granular reflective processing
US8510564B2 (en) * 2010-08-06 2013-08-13 Microsoft Corporation Automatic configuration and continuation of federation relationships
US8615772B2 (en) * 2010-09-28 2013-12-24 Qualcomm Incorporated Apparatus and methods of extending application services
KR101189433B1 (ko) 2010-11-04 2012-10-11 중앙대학교 산학협력단 홈 네트워크 시스템을 위한 객체 기반 미들웨어 시스템
US20120124126A1 (en) * 2010-11-17 2012-05-17 Microsoft Corporation Contextual and task focused computing
KR20120066147A (ko) * 2010-12-14 2012-06-22 삼성전자주식회사 Dlna 기기 표시 방법 및 장치
US20120159341A1 (en) 2010-12-21 2012-06-21 Microsoft Corporation Interactions with contextual and task-based computing environments
US8671416B2 (en) * 2011-01-14 2014-03-11 Apple Inc. Dynamic service discovery
US8874640B2 (en) * 2011-03-01 2014-10-28 Infosys Limited Method and system for reducing service overhead in service oriented architectures
US9262057B2 (en) * 2011-03-11 2016-02-16 Microsoft Techology Licensing, Llc Providing item specific functionality via service-assisted applications
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9405896B2 (en) * 2011-04-12 2016-08-02 Salesforce.Com, Inc. Inter-application management of user credential data
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)
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
WO2013072925A2 (en) * 2011-09-19 2013-05-23 Tata Consultancy Services Limited A computing platform for development and deployment of sensor data based applications and services
CN102436350B (zh) * 2011-12-06 2014-11-12 北京航空航天大学 远程应用窗口显示方法、服务器及用户终端
US8996729B2 (en) 2012-04-12 2015-03-31 Nokia Corporation Method and apparatus for synchronizing tasks performed by multiple devices
RU2600106C2 (ru) 2011-12-28 2016-10-20 Нокиа Текнолоджиз Ой Переключатель приложений
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9262183B2 (en) 2012-04-23 2016-02-16 Microsoft Technology Licensing, Llc Self-service composed web APIs
CN102761597B (zh) * 2012-04-30 2015-06-17 黄林果 一种提供基于业务感知的信息栅格系统架构的方法
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9015034B2 (en) * 2012-05-15 2015-04-21 Blackberry Limited Methods and devices for generating an action item summary
JP5398919B1 (ja) * 2012-06-07 2014-01-29 株式会社東芝 セキュリティアダプタプログラム及び装置
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
TWI555390B (zh) * 2013-02-20 2016-10-21 仁寶電腦工業股份有限公司 控制電子設備的方法與電子裝置
US9215075B1 (en) 2013-03-15 2015-12-15 Poltorak Technologies Llc System and method for secure relayed communications from an implantable medical device
US9715282B2 (en) 2013-03-29 2017-07-25 Microsoft Technology Licensing, Llc Closing, starting, and restarting applications
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
CN110442699A (zh) 2013-06-09 2019-11-12 苹果公司 操作数字助理的方法、计算机可读介质、电子设备和系统
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9497151B2 (en) * 2013-10-31 2016-11-15 Oracle International Corporation Optimization framework for in-memory storage of policy session data
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
CN111414222A (zh) * 2014-12-11 2020-07-14 微软技术许可有限责任公司 能够实现可动作的消息传送的虚拟助理系统
KR101639911B1 (ko) * 2014-12-23 2016-07-15 주식회사 포스코 철강 공정 미들웨어의 시간주기 기반 프레임워크 시스템
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10891573B2 (en) * 2015-04-19 2021-01-12 Schlumberger Technology Corporation Wellsite report system
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
CN104980525B (zh) * 2015-07-10 2018-09-14 华南理工大学 一种基于状态中间件的普适性移动计算系统
US10270753B2 (en) 2015-08-14 2019-04-23 Salesforce.Com, Inc. Background authentication refresh
CN105205231B (zh) * 2015-09-06 2018-11-09 中国电力科学研究院 一种基于dcom的配电网数字仿真系统
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
CN105469128A (zh) * 2015-11-27 2016-04-06 西京学院 一种体育器材管理系统
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US10389705B2 (en) * 2016-03-30 2019-08-20 Airwatch Llc Associating user accounts with enterprise workspaces
CN106059789A (zh) * 2016-05-11 2016-10-26 北京系统工程研究所 一种基于clm矩阵的服务按需动态组合方法
US10116497B2 (en) 2016-05-20 2018-10-30 Moneygram International, Inc. Systems and methods for providing split control of multiple execution environments
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11107021B2 (en) 2016-11-06 2021-08-31 Microsoft Technology Licensing, Llc Presenting and manipulating task items
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10558467B2 (en) * 2017-03-30 2020-02-11 International Business Machines Corporation Dynamically generating a service pipeline comprising filtered application programming interfaces
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US11314214B2 (en) 2017-09-15 2022-04-26 Kohler Co. Geographic analysis of water conditions
US11099540B2 (en) 2017-09-15 2021-08-24 Kohler Co. User identity in household appliances
US10887125B2 (en) 2017-09-15 2021-01-05 Kohler Co. Bathroom speaker
US10448762B2 (en) 2017-09-15 2019-10-22 Kohler Co. Mirror
US11093554B2 (en) 2017-09-15 2021-08-17 Kohler Co. Feedback for water consuming appliance
CN108037999A (zh) * 2017-12-06 2018-05-15 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN110012048B (zh) 2018-11-22 2021-11-12 创新先进技术有限公司 信息识别码生成方法、装置、电子设备及计算机存储介质
US10952022B2 (en) * 2019-05-17 2021-03-16 Citrix Systems, Inc. Systems and methods for identifying a context of an endpoint accessing a plurality of microservices
WO2021066818A1 (en) * 2019-10-01 2021-04-08 Google Llc Providing assistive user interfaces using execution blocks
US11775586B2 (en) * 2020-03-04 2023-10-03 Jpmorgan Chase Bank, N.A. System and method for implementing cloud operation with no prior knowledge of services
FR3128840A1 (fr) * 2021-11-04 2023-05-05 Orange Supervision du fonctionnement d’un service de transmission de données mis en œuvre selon au moins deux technologies différentes

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197573A (ja) 1991-08-26 1993-08-06 Hewlett Packard Co <Hp> タスク指向パラダイムによるタスク管理システム
US6983227B1 (en) * 1995-01-17 2006-01-03 Intertech Ventures, Ltd. Virtual models of complex systems
US6324567B2 (en) * 1997-06-11 2001-11-27 Oracle Corporation Method and apparatus for providing multiple commands to a server
US6901596B1 (en) * 1998-05-07 2005-05-31 Hewlett-Packard Development Company, L.P. Method of communicating asynchronous events to remote procedure call clients
US6556875B1 (en) 1998-06-30 2003-04-29 Seiko Epson Corporation Device control system
EP1069500A1 (en) 1999-07-12 2001-01-17 International Business Machines Corporation Downloadable user-interface
US20020078255A1 (en) 2000-10-17 2002-06-20 Shankar Narayan Pluggable instantiable distributed objects
US20020107939A1 (en) 2001-02-07 2002-08-08 Ford Daniel E. System and method for accessing software components in a distributed network environment
US20020116225A1 (en) * 2001-02-15 2002-08-22 Margaret Morse Tracking and reporting client outcome
ATE396570T1 (de) 2001-04-12 2008-06-15 Research In Motion Ltd System und verfahren zum dynamischen schieben von informationen in drahtlose datenkommunikationsgeräte
US7170857B2 (en) 2001-08-10 2007-01-30 Strix Systems, Inc. Virtual linking using a wireless device
US6859803B2 (en) 2001-11-13 2005-02-22 Koninklijke Philips Electronics N.V. Apparatus and method for program selection utilizing exclusive and inclusive metadata searches
US7424701B2 (en) * 2002-02-12 2008-09-09 Sandpiper Software, Inc. Method and apparatus for frame-based knowledge representation in the unified modeling language (UML)
US7127261B2 (en) * 2002-02-22 2006-10-24 Julian Van Erlach Enhanced telecommunication services
US6910037B2 (en) 2002-03-07 2005-06-21 Koninklijke Philips Electronics N.V. Method and apparatus for providing search results in response to an information search request
US20040054690A1 (en) 2002-03-08 2004-03-18 Hillerbrand Eric T. Modeling and using computer resources over a heterogeneous distributed network using semantic ontologies
US7159224B2 (en) * 2002-04-09 2007-01-02 Sun Microsystems, Inc. Method, system, and articles of manufacture for providing a servlet container based web service endpoint
KR20040001185A (ko) * 2002-06-27 2004-01-07 삼성전자주식회사 부분 상세 지도를 제공하는 지도 표시 장치 및 그 방법
US20040083205A1 (en) 2002-10-29 2004-04-29 Steve Yeager Continuous knowledgebase access improvement systems and methods
US8561069B2 (en) * 2002-12-19 2013-10-15 Fujitsu Limited Task computing
US20040207659A1 (en) 2003-04-02 2004-10-21 International Business Machines Corporation Program creation by combining web services using graphic user interface controls
US20050060372A1 (en) 2003-08-27 2005-03-17 Debettencourt Jason Techniques for filtering data from a data stream of a web services application
US20050080768A1 (en) 2003-10-10 2005-04-14 International Business Machines Corporation Methods and apparatus for dynamic service discovery from Web services representation chain
US8117280B2 (en) * 2003-12-12 2012-02-14 Fujitsu Limited Task computing
US7596754B2 (en) 2005-07-28 2009-09-29 Microsoft Corporation Application assistance
US8140987B2 (en) 2005-12-29 2012-03-20 Sap Ag GUI modeling of web services
US8972872B2 (en) * 2006-03-27 2015-03-03 Fujitsu Limited Building computing applications based upon metadata

Also Published As

Publication number Publication date
WO2005104772A2 (en) 2005-11-10
WO2005104772A8 (en) 2006-03-02
KR20070009568A (ko) 2007-01-18
WO2005104772A3 (en) 2006-09-14
US7761885B2 (en) 2010-07-20
US20050246726A1 (en) 2005-11-03
KR100896245B1 (ko) 2009-05-08
JP2007535767A (ja) 2007-12-06
EP1759289A4 (en) 2008-08-20
EP1759289A2 (en) 2007-03-07

Similar Documents

Publication Publication Date Title
JP5205965B2 (ja) コンピュータシステム、サーバー処理装置、端末装置及び方法
CN100461109C (zh) 语义任务计算
US8117280B2 (en) Task computing
US8561069B2 (en) Task computing
RU2417408C2 (ru) Динамический опыт пользователя посредством семантически богатых объектов
CN105830150A (zh) 基于意图的用户体验
KR20010085878A (ko) 대화형 가상 기계를 통한 대화형 컴퓨터
JP2005259131A (ja) ワイヤレス・アプリケーションのスクリーン・エレメント又はデータ・オブジェトを生成する方法及びシステム
CN114064024A (zh) 微应用的开发方法、装置、设备、存储介质及程序产品
Sateli et al. Smarter mobile apps through integrated natural language processing services
Desruelle et al. Accessible user interface support for multi-device ubiquitous applications: architectural modifiability considerations
Cardoso et al. PuReWidgets: a programming toolkit for interactive public display applications
Sarhan et al. Web applications and web services: A comparative study
US11449186B2 (en) System and method for optimized generation of a single page application for multi-page applications
Soylu et al. Mashups and widget orchestration
KR20180060360A (ko) 클라우드 컴퓨팅 환경에서 제공되는 총무 관리 프로그램에서 사용자 정의에 따른 사용자 인터페이스 제공 방법 및 장치
Neßelrath et al. Rapid development of multimodal dialogue applications with semantic models
JP5650877B2 (ja) 複数のコンピューティング機能ソースを用意するための装置及び方法
Ruokonen et al. Describing mobile devices as RESTful services for the end-users
Baron Development of Internet Communicator
Bamfo An implementation of a web platform to support free recycling in Ghana
Satav News on world map
Guo Exploring New World with Network Technologies
Kostaras et al. Learning the Extras of the Platform
Holstein et al. Towards an architecture for an ui-compositor for multi-os environments

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130204

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

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees