JP5650877B2 - Apparatus and method for providing a plurality of computing function sources - Google Patents
Apparatus and method for providing a plurality of computing function sources Download PDFInfo
- Publication number
- JP5650877B2 JP5650877B2 JP2006244780A JP2006244780A JP5650877B2 JP 5650877 B2 JP5650877 B2 JP 5650877B2 JP 2006244780 A JP2006244780 A JP 2006244780A JP 2006244780 A JP2006244780 A JP 2006244780A JP 5650877 B2 JP5650877 B2 JP 5650877B2
- Authority
- JP
- Japan
- Prior art keywords
- service
- task
- ssd
- description
- services
- 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
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Description
本発明は、意味論的に記述されたアプリケーション、デバイス及びサービスに富んだコンピュータ環境に基づいて、複雑なタスクをリアルタイムで、動的に構成及び実行することに関連する。 The present invention relates to dynamically configuring and executing complex tasks in real time based on a semantically described application, device and service rich computing environment.
パーソナルコンピューティングは、ユーザが単独の装置を操作し及びその装置に常駐するアプリケーションにアクセスする/を利用するパラダイムとして言及されてよい。パーソナルコンピューティングは、知識豊富なユーザが複雑なタスクを実行するのに利用可能なリソースを適切に利用できるように、ユーザのコンピュータ環境に関する及びそのユーザのコンピュータで利用可能なアプリケーションに関する充分な知識をユーザが有することを要する。これはほとんどのユーザが日常経験するコンピューティング環境である;複雑なタスクを如何にして達成するかを学習する義務はユーザにあり、そのユーザは、ユーザの機器で動作するアプリケーション各々の及びユーザの機器がサポートする機能各々を理解すること、アプリケーションの間でデータを手動で移行すること(例えば、カット&ペースト)、タスクに関連するアプリケーションや特定の機能各々を手動で起動すること及び最終的にはその複合的なタスクを実行することに全ての注意を向けること(及び時間を捧げること)を必要とする。 Personal computing may be referred to as a paradigm in which a user operates / accesses a single device and accesses applications resident on that device. Personal computing provides sufficient knowledge about the user's computer environment and the applications available on the user's computer so that knowledgeable users can properly utilize the resources available to perform complex tasks. Requires that the user has. This is the computing environment that most users experience every day; it is the user's duty to learn how to accomplish complex tasks, and that user is responsible for each and every application running on the user's equipment. Understand each function supported by the device, manually transfer data between applications (eg, cut and paste), manually launch each application or specific function associated with the task, and finally Requires all attention (and devoted time) to performing that complex task.
パーソナルコンピューティングからコンピューティング環境のより多くのタスク指向への移行(シフト)は次のようになるであろう:
例えば、オペレーティングシステムの一例として、ユーザが音楽CDをCDトレイに挿入すると、その時点からユーザが実行可能なタスクをユーザに示唆するウインドウがポップアップされる。これらの典型的な選択肢のリストは:
オーディオCDを再生すること
CDから音楽をコピーすること
ファイルを見るためにフォルダを開くこと
何の動作(アクション)も行わないこと
を含んでもよい。
The shift from personal computing to more task-oriented computing environments would be as follows:
For example, as an example of an operating system, when a user inserts a music CD into a CD tray, a window is popped up that suggests to the user a task that can be performed from that point on. A list of these typical options is:
Playing an audio CD Copying music from a CD Opening a folder to view a file This may include taking no action.
これらの選択肢の各々は、そのアクションを実行するのに使用されるアプリケーションにも言及する。関心事は実行されるアクション又はタスクについてであり、そのタスクを実行するのに使用されるアプリケーションではない。 Each of these options also refers to the application used to perform that action. The concern is about the action or task to be performed, not the application used to perform the task.
しかしながら、目下のオペレーティングシステムは、特定のイベント(例えば、音楽CDを挿入することや、ディジタルカメラを接続したこと等)に関連するアクション又はタスクの所定のリストを利用し、そのイベントが生じたときに、関連するアクションのリストが実行時にユーザに示されるようにする。この意味において、システムの応答はハードワイヤ接続的であり、トリガとなるイベントの結果として実行される可能なイベントについて、システムにプログラムされているものを超える柔軟性を備えていない。言い換えれば、システムは、ディジタルカメラがコンピュータに接続されたときに実行可能な同じアクション群(オペレーティングシステムのプログラマがその特定のイベントについて用意した具体的なアクションリスト)を示す。アプリケーションはリスト中の項目を変更できるが、エンドユーザがそれを変更する簡易な手法はない。 However, the current operating system uses a predetermined list of actions or tasks related to a particular event (eg, inserting a music CD, connecting a digital camera, etc.) and when that event occurs And a list of related actions is shown to the user at runtime. In this sense, the response of the system is hardwired and does not provide more flexibility than what is programmed into the system for possible events to be executed as a result of the triggering event. In other words, the system shows the same set of actions that can be performed when the digital camera is connected to the computer (a specific action list prepared by the operating system programmer for that particular event). Applications can change items in the list, but there is no easy way for end users to change them.
オペレーティングシステムの別の例では、ファイルタイプに依存するアクションの選択肢がユーザに提示される。即ち、ドキュメント、画像、フォトアルバム、音楽、音楽アーティスト、音楽アルバム及びビデオ等のようなファイルタイプの各々について別々のタスクのリストがユーザに提示される。例えば、ファイルタイプが画像であったとすると、「画像タスクの」のリストが表示される:
スライドショーとして見る(表す)
オンライン印刷を要求する
画像を印刷する
画像を背景に設定する
画像をCDにコピーする。
In another example of an operating system, the user is presented with a choice of actions depending on the file type. That is, a separate list of tasks is presented to the user for each of the file types, such as document, image, photo album, music, music artist, music album and video. For example, if the file type is image, a list of “image tasks” is displayed:
View (show) as a slideshow
Request online printing Print image Set image as background Copy image to CD.
このタスクのリストは再び予め組み合わせられ及び特定のファイルタイプに関連付けられる。エンドユーザがこのリストを修正する簡易な手法はない。 This list of tasks is again pre-combined and associated with a particular file type. There is no easy way for end users to modify this list.
事務に適切なソフトウエアの別の例では、スマートタグ特性(機能)が利用可能である。スマートタグ機能は、エディタを利用しながら現在の書類中のテキストを強調し、そのテキスト(文字)が示すオブジェクトと共に実行可能なアクションのドロップダウンメニューをユーザに提示する。例えば、テキストが名前を表現するならば、この機能は人物名に関連するオブジェクトを判別し、可能なアクションの以下のリストを提示する:
(その人に)メールを送る
(その人と共に)ミーティングを計画する
(その人の)連絡先を開く
(その人に関する)連絡先を生成する。
In another example of software suitable for office work, smart tag characteristics (functions) are available. The smart tag feature highlights text in the current document using an editor and presents the user with a drop-down menu of actions that can be performed along with the object that the text (character) indicates. For example, if the text represents a name, this function determines the object associated with the person name and presents the following list of possible actions:
Send mail (to that person) Plan a meeting (with the person) Open the contact (for the person) Generate a contact (for the person).
選択肢は、書類中の文字列が名前を表現するかもしれないことを確認することによってイネーブルにされる。このシステムは、特定のテキスト部分が名前を表現することを確認するために、そのテキストのシンタックス属性(文法)を当てにする。しかしながら一般的なアメリカ人の名前に似ていない文字列(例えば、ラッセン ジ)は、人物に関連する名前として確認されないかもしれない。その理由は、テキストの一部を名前として確認すシステムの部分は、テキストに関するシンタックス形式の中で判別可能なパターンを簡易に確認しようとする非常に簡単なプログラム(スクリプト)であるに過ぎないためである。例えば人物、住所等のようにテキストの「属性(nature)」が(適切に又は不適切に)確認されると、予めコンパイルされた可能なアクションのリストがユーザに提示される。アプリケーションプログラマは、アドレスを確認すること及びマップアプリケーションを起動すること等のような他の書類やアプリケーションに関するスマートタグを作成することが可能である。 Options are enabled by checking that the string in the document may represent a name. The system relies on the syntax attribute (grammar) of the text to confirm that the particular text portion represents the name. However, strings that do not resemble common American names (eg, a lassage) may not be identified as names associated with a person. The reason is that the part of the system that confirms a part of the text as a name is just a very simple program (script) that simply tries to confirm a distinguishable pattern in the syntax format of the text. Because. When the “nature” of the text is verified (appropriately or inappropriately), such as a person, address, etc., a list of pre-compiled possible actions is presented to the user. Application programmers can create smart tags for other documents and applications, such as verifying addresses and launching map applications.
コンピューティング環境に関するより多くのタスク指向の観点からユーザに提示を行おうとする別の例が以下に説明される。ユーザがサーチエンジンのサーチボックスに或るアドレスをタイプ入力すると、そのサービスは(通常のサーチ結果を超える)マッピング機能へのリンクを返し、それに従うとアドレスのマップを提供する。 Another example that attempts to present to the user from a more task-oriented perspective regarding the computing environment is described below. When a user types an address into the search engine search box, the service returns a link to a mapping function (beyond normal search results) and provides a map of addresses accordingly.
しかしながら、タイプされたアドレスのマップをユーザが探しているかもしれないことは自明ではない。他の合理的な可能性が存在する:ユーザはそのアドレスに関連する電話番号リストを望んでいるかもしれない、或いはそのアドレスが会社ならば、ユーザは探索されたビジネスについてより良いビジネス案内(BETTER BUSINESS BUREAU)記録を見ることを望むかもしれない、又はその近辺の天候を調べようとしているかもしれない、等々である。この現在の形式では、サーチエンジンは、タイプされたテキストが表現する「もの(thing)」(目下の例ではアドレス)のタイプを推定し、そのタイプのエントリに関連付けられたハードワイヤ的に関連するタスクを返す。 However, it is not obvious that the user may be looking for a map of typed addresses. There is another reasonable possibility: if the user may want a list of phone numbers associated with the address, or if the address is a company, the user will have a better business guide (BETTER BUSINESS BUREAU) may want to see the record, or may be trying to check the weather in the vicinity, and so on. In this current form, the search engine infers the type of "thing" (address in the current example) that the typed text represents, and is related in a hardwired manner associated with that type of entry. Returns the task.
従ってコンピュータ環境のタスク指向の観点からは、関心事はタスクであり、そのタスクは実行可能なものであり、タスクを実行するのに使用されるアプリケーションに関してではない。更にユーザはタスクにどのアプリケーションが使用されるかを知る必要がない。示唆されたタスクの1つを実行するようにユーザが選択すると、適切なアプリケーションがそれに従って始まり及び呼び出され(開始される)。 Thus, from a task-oriented point of view of a computer environment, the concern is a task, which is executable and not with respect to the application used to perform the task. Furthermore, the user does not need to know which application is used for the task. When the user chooses to perform one of the suggested tasks, the appropriate application is started and called (started) accordingly.
しかしながら上述のコンピューティング例は、以下のようなリアルタイム且つダイナミックな実行可能な複合的なタスクを許容しないという同様な性質を示す。或る手法では、ユーザの入力(テキスト又はイベント)のタイプ又は性質が推定され;事実上、システムはそのシンタックス属性を当てにして文字列の意味(セマンティック)を判断しようとする。システムは、その入力の下でユーザが実行することを希望するもっともらしいタスクを推定するが;その推定はシステムに固有の(ハードワイヤ式の)ものであり、従って実際上は、そのシステムはリアルタイムで推定を行うものではなく、ユーザがそのシステムと相互作用する以前に、システムのプログラマがプログラミング時にシステムに関する推測を行うに過ぎない。(ユーザが第2ステップで選択するといつでも)適切なアプリケーションが、ユーザの選択時に自動的に呼び出され、(第1ステップでシステムが推定するといつでも)その適切な入力と共に例示され、静的な因果関係による機構(又は契機に応答する機構)である。 However, the above-described computing example exhibits similar properties that do not allow real-time, dynamic, executable complex tasks such as: In one approach, the type or nature of the user's input (text or event) is inferred; in effect, the system tries to determine the semantics of the string against its syntax attributes. The system estimates the plausible task that the user wishes to perform under that input; however, the estimate is inherent to the system (hardwired), so in practice, the system is real-time The system programmer only makes assumptions about the system at programming time before the user interacts with the system. The appropriate application (whenever the user selects in the second step) is automatically invoked at the user's selection, instantiated with its appropriate input (whenever the system estimates in the first step), and static causality (Or a mechanism that responds to an opportunity).
上述のコンピューティング例はユーザの利便性を増やすかもしれないが、従来のシステムは依然として以下のパーソナルコンピューティング的な性質を有する:
機能はアプリケーションの中に設計される;アプリケーションのプログラマはシステムの応答を(固定的に)プログラムする。その結果、これはフレキシブルでスケーラブルな手法ではない。なぜなら可能性の広がりが設計時に決められているからである。
While the above computing examples may increase user convenience, conventional systems still have the following personal computing properties:
The functionality is designed into the application; the programmer of the application programs (fixedly) the response of the system. As a result, this is not a flexible and scalable approach. This is because the range of possibilities is determined at the time of design.
このシステムはユーザのアクション及び希望に対応することについては限られた手法であり、入力の性質(セマンティクス又は意味)を正確に「感知(perceive)」することはできない。上記の例各々で使用される様々な技法があるにもかかわらず、システムは文法特性により入力の意味を正確に推測することを当てにする。 This system is a limited approach to responding to user actions and wishes and cannot accurately "perceive" the nature (semantics or meaning) of the input. Despite the various techniques used in each of the above examples, the system relies on accurately guessing the meaning of the input through grammatical characteristics.
従来のパーソナルコンピューティングシステムは、因果関係(又はトリガ応答)機構を利用する点で、所定のタイプの入力が単独のアクション(アプリケーションの起動)になることを意味する。 Conventional personal computing systems use a causal (or trigger response) mechanism, meaning that a given type of input becomes a single action (launch of an application).
また、パーソナルコンピューティング−即ち、ユーザのアプリケーションを実行し及びユーザのデータを「保持」するコンピュータをユーザが所有及び操作する概念−は、境界の明確でないコンピューティング環境に対する手法を与える。コンピュータがコンピュータネットワークに永続的に接続されると、ローカル及びリモートのアプリケーション間の区別、データ破壊は更に悪いことにコンピュータユーザを混乱させる。更に、ユーザは装置にアクセスし及び装置と相互作用することができ、その装置はパーソナルコンピュータという意味ではコンピュータでないが、依然としてかなりの演算能力を有し及びユーザの目的に寄与し、様々なタスクを達成することを支援する(例えば、カメラ、プリンタ、スマート機器等)。一例として、利用可能なリソース(デバイス及び機器)は定常的に変化するかもしれないが、平均的なユーザはそのようなコンピューティング環境の中で何が実行可能か或いは実現可能かに気付いてさえいないかもしれない。言い換えれば、パーソナルコンピュータの手法はユーザに事前に知られていない装置やアプリケーションに満ちた設定を行うことは不可能である。 Also, personal computing—ie, the concept that a user owns and operates a computer that executes a user's application and “retains” the user's data—provides an approach to a computing environment with unclear boundaries. When a computer is permanently connected to a computer network, the distinction between local and remote applications, data corruption, even worse, confuses computer users. In addition, the user can access and interact with the device, which is not a computer in the sense of a personal computer, but still has significant computing power and contributes to the user's purpose and performs various tasks. Help achieve (eg, cameras, printers, smart devices, etc.). As an example, the available resources (devices and equipment) may change constantly, but the average user may even realize what is feasible or feasible in such a computing environment. It may not be. In other words, it is impossible for the personal computer method to make settings full of devices and applications that are not known in advance by the user.
従ってコンピュータ環境の中でタスクをリアルタイムで動的に発見し、公表し、構成し、管理し及び実行することが望まれており、その手法はコンピューティング環境の中でタスクを実行するユーザの課題に対して根本的に異なるアプローチを必要とする。 Therefore, it is desirable to dynamically discover, publish, configure, manage and execute tasks in real time in a computer environment, and this approach is a challenge for users performing tasks in a computing environment. Requires a fundamentally different approach.
ここで説明される本発明の一形態は、意味論的に記述されたアプリケーション、装置及びサービスに富んだコンピューティング(コンピュータシステム)環境に基づいて、複合的なタスクをリアルタイムで動的に発見し、公表し、構成し、管理し及び実行する。一形態によれば、ある方法、装置及びそれに関するコンピュータ読取可能な媒体は、2以上のサービスの複合的なユーザのタスクをリアルタイムでダイナミックに管理し、そのサービスはイベント及びアクションのシーケンス又は列を有する複数のサービスのワークフロー必要とし、そのワークフローは従来のパーソナルコンピューティングシステムで使用される静的な又は予め指定された因果的なプログラミングで簡易に行うことは困難である。 One form of the present invention described herein dynamically discovers complex tasks in real time based on a semantically described application, device and service rich computing (computer system) environment. , Publish, configure, manage and execute. According to one aspect, a method, apparatus, and associated computer-readable medium dynamically manages a complex user's task of two or more services in real time, the service comprising a sequence or sequence of events and actions. A plurality of service workflows are required, and the workflow is difficult to easily perform with static or pre-designed causal programming used in conventional personal computing systems.
ここで説明される本発明の別の形態によれば、ユーザは、現実的に、効果的に、効率的に、動的に、リアルタイムでフレキシブルな統合されたタスクユーザインターフェースを当てにすることができ(そのインターフェースは機能を発見し、公表し、構成し、サービス提供し及び/又はタスク管理し、及び実行する)、汎用的なコンピュータ環境と共にやり取りを管理し且つインターフェースを取ることができる。別の形態によれば、複合的なタスクを成し遂げること(一連のサービスを管理すること)は、一方ではタスクに関するユーザの理解を、他方では利用可能なリソース(装置及びアプリケーション)のユーザの理解を当てにし、ユーザがそれらをワークフロー(ユーザが実行するワークフローであり、その最終的な成果が完全なタスクになる)に構成することができるようにする。 According to another aspect of the present invention described herein, a user can rely on a real-time, flexible, and integrated task user interface that is realistic, effective, efficient, dynamic, and flexible. (Its interface discovers, publishes, configures, services and / or manages and executes tasks), and manages and interfaces with the general-purpose computing environment. According to another form, accomplishing a complex task (managing a set of services) on the one hand gives the user an understanding of the task and on the other hand an understanding of the available resources (devices and applications). Rely on and allow the user to configure them into workflows (the workflows that the user executes, the final outcome of which is a complete task).
本願は、西暦2005年9月8日付けでリュースケマツオカ、ヤニスラブロウ、ゼクスアンソン及びサンリーにより米国特許商標庁に出願された「TASK COMPUTING」と題する35USC119に基づく米国仮出願番号第60/714,952号(代理人管理番号1634.1020P)に関連し且つその利益を享受し、その内容は本願のリファレンスに組み入れられる。 This application is filed with US Provisional Application No. 60 / 714,952 under 35 USC119 entitled “TASK COMPUTING” filed with the US Patent and Trademark Office by Rueske Matsuoka, Yannis Loverow, XX Anson and Sunley on September 8, 2005 Human management number 1634.1020P) and enjoy its benefits, the contents of which are incorporated herein by reference.
本願は、西暦2005年4月27日付けでヤニスラブロウ、リュースケマツオカ及びゼクスアンソンにより米国特許商標庁に出願された「TASK COMPUTING」と題する米国出願の継続出願第11/115,403号に関連し、その内容も本願のリファレンスに組み入れられる。 This application is related to, and is related to, US Application No. 11 / 115,403, entitled “TASK COMPUTING”, filed with the United States Patent and Trademark Office by Janis Loverow, Ryuske Matsuoka and Zexanthon on April 27, 2005. Is also incorporated into the reference of the present application.
本願は、西暦2003年12月12日付けでリュースケマツオカ、ヤニスラブロウ、ゼクスアンソン及びサンリーにより米国特許商標庁に出願された「TASK COMPUTING」と題する米国出願の継続出願第10/733,328号に関連し、その内容も本願のリファレンスに組み入れられる。 This application is related to continuation application 10 / 733,328 of US application entitled “TASK COMPUTING” filed with the US Patent and Trademark Office by Ryuske Matsuoka, Yannis Loverow, XX Anson and Sunley on December 12, 2003, The contents thereof are also incorporated in the reference of the present application.
以下で充分に説明され及び特許請求の範囲に記載されるように、本発明並びに後述の他の形態及び利点は詳細な構成及び動作から更に明らかになり、説明の一部をなす図面が参照され、図中同様な番号は同様な部分を示す。 The invention, as well as other aspects and advantages described below, will become more apparent from the detailed structure and operation, and will be described with reference to the drawings that form a part of the description. Like numbers in the figures indicate like parts.
図1Aは本発明の一実施例によるタスクコンピューティング環境(TCE: Task Computing Environment)100のタスクコンピューティングアーキテクチャを示すシステム図である。図1Aでは、コンピュータで実行される方法は、パーバシブ(汎用的な)タスクコンピューティングシステム環境100を複数のタスクコンピューティングコンピュータシステム実行段階(tier)に分けるステップを有し、その段階は、プレゼンテーション処理レイヤ104、リモートプロセジャコールメカニズムアプリケーションプログラムインターフェース(API)106、リモートプロセジャコールAPI106によりプレゼンテーションレイヤ104に対するインターフェースがとられるミドルウエア(サーバ)プロセシングレイヤ108を有し、本方法は、機能116の意味論的に記述されたコンピュータシステムのソース機能116に対して、コンピュータ100のサービス112として、ネットワーク化された、ネットワーク化されていない又は双方として(コンピュータシステム110)、リアルタイムで動的に(ダイナミックに)コンピュータで実現されるタスクインターフェース130(例えば、)をプレゼンテーションレイヤ104で生成する。
FIG. 1A is a system diagram illustrating the task computing architecture of a task computing environment (TCE) 100 according to one embodiment of the invention. In FIG. 1A, a computer-implemented method includes dividing a pervasive task
一実施例によれば、機能ソース実現レイヤ114は機能性に関するコンピューティングソース(例えば、デバイス又はソフトウエア114)であり、例えばユーザに対するサービス機能115を表現する又は示すことができる。サービスレイヤ112は、サービス機能115を意味論的に記述するための、サービス機能115に関連するセマンティックサービス記述(SSD: Semantic Service Description)116を有する。かくてSSD116はサービス機能115を意味論的に表現又は記述する。かくて「サービス」112なる用語はSSD116のサービス機能115への関連付けを意味する。言い換えれば、SSD116は「サービス」を表現する。より具体的には、「サービス」112なる用語は、コンピュータ装置、コンピュータアプリケーション/ソフトウエア、電子サービス及びコンピュータ(若しくはマシン又は双方で)読取可能なコンテンツの機能ソース実現レイヤ114の領域からの機能に関する演算例に関連する。より具体的には、サービスレイヤ112及び機能ソース実現レイヤ114は、機能116の意味論的に記述されたコンピュータシステムソースをコンピュータサービス112として用意し、ミドルウエアプロセシングレイヤ108は、コンピュータシステムでリアルタイムで動的に構成する実行可能なタスクに対するインターフェースをとり、そのタスクは、コンピュータシステム110で1以上のサービス112に対するプレゼンテーションレイヤ104で生成されたタスクインターフェースに従う1以上のサービス112より成る。
According to one embodiment, the functional
タスクコンピューティング100は、アプリケーション、装置、電子サービス及びコンテンツリッチなコンピュータネットワーク環境114で複合的なタスクをリアルタイムで動的に発見、公表、構成、管理及び実行する(即ち、実現レイヤ114でタスクを実行する)ための新たなパラダイム(paradigm)である。タスクコンピューティング100は、(例えば、セマンティックサービス記述(SSD)116a−nを介して)コンピュータ装置114a−nのサービス機能115a−nを意味論的に記述することに基づき、そのセマンティクスに従ってエンドユーザによりオンザフライで実行可能なタスクに構成可能である。従ってここで説明される実施例によれば、タスクコンピューティング100システムは、3つ又はそれいじょうのプログラムされたコンピューティング及びコンピュータ読取可能な情報レイヤのマルチレイヤコンピュータシステムアーキテクチャを有し、そのアーキテクチャはプレゼンテーションクライアントプロセシングレイヤ104、ミドルウエアサーバープロセシングレイヤ108(例えば、セマンティックインスタンス、セマンティックサービス記述116)及び複数のコンピュータシステムレイヤ中の複数のサービスを含む。「タスク」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の入力及び出力データオブジェクトタイプにすることができる。
The term “composition” refers to (but is not limited to) the semantic input and output of
「セマンティックインスタンス(semantic instance)」又は「セマンティックオブジェクト(semantic object)」なる用語は、1以上のオントロジ(ontology)に基づく或る項目に関する記述群に関連する。セマンティックサービス記述(SSD)116は1以上のサービス機能オントロジに基づいてサービス機能115を記述する。 The terms “semantic instance” or “semantic object” relate to a group of descriptions for an item based on one or more ontologies. Semantic service description (SSD) 116 describes service functions 115 based on one or more service function ontology.
「公表(publish)」なる用語は1以上のサービス発見手段を介してセマンティックサービス記述(SSD)116を利用可能にすることに関連する。 The term “publish” relates to making a Semantic Service Description (SSD) 116 available through one or more service discovery means.
一実施例による「セマンティックサービス記述」116なる用語は、サービス機能115自身から或るアプリケーション(例えば、タスクコンピューティングシステム(TCS)118)へ、サービス機能115のパラメータを通知するための媒介物に関連する。 The term “semantic service description” 116 according to one embodiment relates to an intermediary for notifying service function 115 parameters from the service function 115 itself to an application (eg, task computing system (TCS) 118). To do.
「発見(discover)」なる用語はセマンティックサービス記述116の発見に関連する。
The term “discover” relates to the discovery of the
タスクコンピューティングはコンピュータシステム110のタイプを指定し、そのシステムは自動的な若しくはユーザが駆動する又はそれら双方の(適切な如何なる組み合わせによっても)リアルタイムで、ダイナミックに、「タスク」126を発見、公表、構成、管理及び実行し、そのタスクは意味論的に記述された116アプリケーション、装置及びサービスリッチなコンピュータコンピューティング(コンピュータシステム)環境110に基づく1以上のサービス112を有する。
Task computing specifies the type of
セマンティックタスク実行エディタR(STEER)(意味論的に記述されたサービス116の実行可能なタスクを発見及び構成するためのソフトウエア)及び汎用インスタンスプロビジョン環境(PIPE: Pervasive Instance Provision Environment)(セマンティックインスタンス及び/又はセマンティックサービス116を公表及び管理するためのソフトウエア)に関する2つのタスクコンピューティングクライアントの例は、関連する米国特許出願番号第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になることができる。ここで説明される実施例は、リモートプロセジャコールメカニズムの具体例としてウェブサービスを利用するが、本発明はそのようなコンフィギュレーションに限定されず、如何なるリモートプロシジャコールメカニズムが使用されてもよい。
Semantic Task Execution Editor R (STEER) (software for discovering and configuring semantically described
従ってウェブサービスをリモートプロシジャコールAPIの具体例として使用すると、セマンティックタスク実行エディタウェブサービスタスクコンピューティングシステム(STEER-WS TCS)118aはWSTCS118の一例であり、STEER-WSAPI12―を介して、ミドルウエアサーバープロセシングレイヤ108に関してインターフェースをとるプレゼンテーションプロセシングレイヤ104におけるSTEER−WSタスクコンピューティングクライアント(STEER-WSTCC)119aを有する。
Therefore, when the web service is used as a specific example of the remote procedure call API, the semantic task execution editor web service task computing system (STEER-WS TCS) 118a is an example of the
パーバシブインスタンスプロビジョン環境ウェブサービスタスクコンピューティングシステム(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を有する。
Pervasive Instance Provision Environment Web Service Task Computing System (PIPE-WSTCS) 118b is another example of
(非限定的であるが)STEER-WSTCC119aのようなウェブサービスタスクコンピューティングクライアント(WSTCC)119、ホワイトホール119b−1、「サービスマネジャ」119b−2、「リアルワールドオブジェクトセマンタイザ」119b−3及びデータベースセマンタイザ119b−4をプログラム可能なコンピューティング素子(例えば、タスクコンピューティングクライアントソフトウエア)としてプレゼンテーションレイヤ104で利用することで、コンピューティング環境の1つ又は複数の如何なるものによってもTCE−WSAPI106を介するミドルウエアサーバープロセス108によって利用可能にされた意味論的に記述されたサービス116に基づいて、ユーザはタスク126を管理(例えば、発見、公表、構成、実行、操作)することができる。
Web service task computing client (WSTCC) 119, such as (but not limited to) STEER-
図1Aでは、今日のコンピューティング環境に従って、ユーザは実現レイヤ114に関連する機能で囲まれており、その機能は、インターネットで利用可能な電子サービス(eサービス)、ユーザが操作するコンピュータ装置で動作するアプリケーション、コンピュータ読取可能な媒体で利用可能なコンテンツ等のような装置若しくはコンピュータ媒介サービス、又は特定の機能をサポートする単なる装置を有する。そのような装置、アプリケーション、eサービス及びコンテンツの具体例は、(限定ではないが)電話、コンピュータディスプレイ、カメラ、娯楽装置/コンテンツ、テレビジョン、パーソナルディジタルアシスタント(PDA)、無線通信装置(例えば、移動電話等)、オーディオプレーヤ、ファクシミリ装置、プリンタ、天気予報サービス、地図サービス、事務関連コンピュータソフトウエア(例えば、電子メールアプリケーション、アドレスブック等)、マルチメディアコンピュータ読取可能メディア(例えば、音楽のコンパクトディスク、映画のディジタルビデオディスク(DVD)等)、インターネットサイト、データベース等を含む。
In FIG. 1A, in accordance with today's computing environment, the user is surrounded by functions related to the
図1Aでは、実現レイヤ114で与えられる機能又はサービス機能115a−nは、例えば(限定ではないが)、(例えば、娯楽装置の場合に)音楽を聴くこと、歌をダウンロードすること、ストリーミングビデオを鑑賞すること、ラジオを聞くこと、連絡先情報を提供すること、地図上の住所を確認すること等を含む。従来、実現レイヤ114は、装置又はサービス各々とユーザがやり取りする(及び/又は操作する)ことにより、そのユーザに機能を提供するように設計されていた;例えば、ユーザが訪れている部屋に用意されている電話で同僚に電話することを希望し、その同僚の電話番号がユーザのラップトップの電子アドレスブックアプリケーションに記憶されていたならば、そのユーザはラップトップアプリケーションを起動し、問題としている電話番号を捜し、その電話でその電話番号に手動でダイヤルしなければならない。言い換えればユーザはタスク126を構成することはできない。アプリケーション、eサービス及び装置が物理的に互いに通信可能である場合でさえ、即ちそれらの間に通信リンクが存在する場合でさえ、実現レイヤ114の設計者がコンピュータシステム機能ソース(例えば、コンピュータ装置)をタスクを考慮しながら設計していない限り、アプリケーション等はユーザのタスクについて有意義な方法でデータを交換できない。過剰な機能ソース114a−nに直面するとき、機能のソース114a−nがそのタスク用に設計されていない限り、ユーザはそれら全てのソース中の機能を活用するタスクを実行できない。更に、無関心なユーザはそのような如何なるタスクが可能であるかに気付いていないことが間々ある。
In FIG. 1A, the functions or
図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号及び11/115,403号にも記載されており、その全内容は本願のリファレンスに組み入れられる。
In FIG. 1A, according to the embodiments described herein,
従って、タスクコンピューティング100は、タスクを達成する具体的実現方法を強調するのではなく、タスク126を強調する実現レイヤ機能ソース114a−nのサービス機能115a−n(例えば、コンピュータ装置114)とユーザがどのようにやり取りするかの新たなパラダイムであり、そのタスク126は、そのコンピュータ装置114を利用しながら達成することをユーザが希望するタスクである。タスクコンピューティング100はユーザが実行したいことと(その環境で利用可能な)コンピュータ装置114のサービス機能115との間のギャップを埋める。タスクコンピューティング100は、現在のパーソナルコンピューティングパラダイムのような従来の手法を上回るかなりの恩恵をもたらし、エキスパートでないコンピュータユーザに一層相応しく、全てのタイプのユーザにとって時間を節約でき、汎用コンピュータタイプのコンピューティング環境を実現するのに特に適している。
Accordingly, the
図1Aでは、従って、ここで説明される実施形態によれば、拡張及び構築に柔軟性のあるコンピュータシステムアーキテクチャ(ソフトウエア及び/又はプログラマブルコンピューティングハードウエア)を用意するため、個々のモジュール化されたミドルウエアサーバープロセシングレイヤ108が作成され、そのレイヤの機能は、リモートプロシジャコールアプリケーションプログラミングインターフェース(API)を介してプレゼンテーションプロセシングレイヤ104に利用可能になる;アプリケーション開発者及びユーザはそれらを用いてタスクコンピューティング機能(例えば、サービス112及び/又はタスク126の構築、保存、実行、関し、公表、管理等を含む、実行可能なタスク126へのサービス112発見及び構成)にアクセスする。例えばウェブサービスのようなリモートプロシジャコールメカニズムは、エンドユーザのアプリケーション開発に必要なプログラミング言語非依存性、プラットフォーム及びロケーション(即ち、異なるコンピュータで異なるプロセシングレイヤ)を提供する。
In FIG. 1A, therefore, according to the embodiments described herein, individual modularization is provided to provide a flexible computer system architecture (software and / or programmable computing hardware) for expansion and construction. A middleware
上述したように、ユビキタスパーバシブネットワークコンピュータコンピューティング環境は、その性質上しばしば一時的である多数の装置及びその他の機能(eサービス、アプリケーション、コンテンツ)114,115で満たされ;更に、エンドユーザ又はユビキタス環境のアプリケーションを作成する開発者さえも、如何なる機能(リソース)114が及び対応するサービス機能115が所与の時点で利用可能であるか及びより重要なことにそれらが何に利用可能であるかを前もって知らないかもしれない。このダイナミズムを考慮するため、サービス機能114,115は設計時点でなく実行時に発見され組み合わせ可能にされる必要がある。従ってここで説明される実施例は、一例としてセマンティックウェブ技術を利用し、その理由はコンピュータネットワークリソース114,115がマシン読取可能なセマンティクス116によりそれ自身充分に記述されていたならば、或るインフラストラクチャ100を構築することができ、そのインフラストラクチャはコンピュータシステムサービス110のようなリソース114,115を充分に理解し、アプリケーション開発者が一般的に行うことを、リソース114,115が提供するもの及び何のために利用可能であるか等の開発者自身の知識を利用することで、エンドユーザが行うことを可能にするからである。セマンティックウェブの概念は周知である。
As described above, the ubiquitous pervasive network computer computing environment is filled with numerous devices and other functions (e-services, applications, content) 114, 115 that are often temporary in nature; Or even a developer creating an application in a ubiquitous environment, what functions (resources) 114 and corresponding service functions 115 are available at a given time and more importantly what they are available to. You may not know in advance if there is. In order to take this dynamism into account, the service functions 114 and 115 need to be discovered and combined at run time rather than at design time. Thus, the embodiment described herein uses semantic web technology as an example because, if the
より具体的には、ここで説明される実施形態によれば、タスクコンピューティング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により実行される。
More specifically, according to the embodiments described herein, task computing 100 utilizes well-known concepts of the Semantic Web and Web services. However, to implement an actual functional system in a truly dynamic ad hoc ubiquitous computing environment, the following is set up and executed in the task computing 100 described herein:
(1) As shown in FIG. 1, a task interface for the
(2)共にサービスレイヤ112を提供するように、セマンティックサービス記述(SSD)116及びサービス手段115を分離する。
(2) The semantic service description (SSD) 116 and the service means 115 are separated so as to provide the
(3)サービス112について或る範囲の探索を達成するためにリモートタスクコンピューティングクライアント119でアクセス可能であってコンピュータ110で動作するリモートプロシジャコールAPIの部分集合としての「スフェア(sphere)」の概念を考察することで、(場合によっては、サービスの又は保存されたタスクの)探索の仕組み、探索範囲及びサービスの操作機能をそれらの範囲の中で及び間で分離する。
(3) The concept of a “sphere” as a subset of the remote procedure call API that is accessible on the remote
(4)サービスを動的に作成及び操作するユーザ(及びアプリケーション)の能力は、利用可能であり(ユーザには能力があり)、他の者と共有可能である(或いは、必要に応じて共用できなくしてもよい。)(即ち、サービスコントロールマネジメントを行う。)。 (4) The ability of users (and applications) to dynamically create and operate services is available (users have the ability) and can be shared with others (or shared as needed). (In other words, service control management is performed.)
(5)興味のある及び真に有益なタスク126を実行可能にする様々なサービス112を用意する。
(5) Prepare
従って図1Aに示されるように、上述のレイヤの分離は、論理的なもの及び実現的なもの双方に関連し、タスクコンピューティング100を構築するのに有益であり、ユーザは複雑なタスクを実行することができ、そのタスクはコンピュータネットワークシステムで(黙示的にも明示的にも)設計されていなかったものであり、かくてユーザのソース機能114,115(装置、アプリケーション、コンテンツ及びeサービス)を増やす。本発明はセマンティックウェブに限定されず、(データがアプリケーション、企業及び集団の境界を超えて共有及び再利用されることを可能にする)他の意味論的なタイプの技術やフレームワークがここで説明される実施例で使用可能である。 Thus, as shown in FIG. 1A, the above-described layer separation is relevant to both logical and realization, and is useful for building task computing 100, in which users perform complex tasks. The task was not designed (implicitly or explicitly) in a computer network system, thus the user's source functions 114, 115 (devices, applications, content and e-services) Increase. The present invention is not limited to the Semantic Web, but other semantic types of technologies and frameworks (which allow data to be shared and reused across application, enterprise and collective boundaries) are here. It can be used in the described embodiment.
図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は、「プロジェクタで表示」と名付けられ、入力としての「ファイル」を受け入れ、何らの出力パラメータもない。
In FIG. 1A, the function
図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号及び第11/115,403号でも説明されており、その全内容は本願のリファレンスに組み入れられる。
In FIG. 1A, the
図1Aでは、ミドルウエアサーバープロセシングレイヤコンポーネント108はサービス115,116(又は112)を発見する責務を有し、サービス115,116が実行可能なタスクにどのように構成可能であるかを決定し、サービスを実行し、実行したサービスを監視し、(意味論的に記述されたサービス116の作成及び公表を含む)様々な管理動作を可能にする及び支援する。言い換えれば、ミドルウエアサーバープロセシングレイヤコンポーネント108の目的は、全てのサービスリソース115を意味論的に記述されたサービス116として抽象化することであり、そのサービスは、それらを操作するよう求めるアプリケーションに又はユーザに(例えば、TCC199を介してプレゼンテーションレイヤ104で)利用可能にされることが可能である。
In FIG. 1A, the middleware server
図1Aでは、プレゼンテーションプロセシングレイヤ104はミドルウエアプロセシングレイヤ108の機能を利用して、全ての利用可能なサービス機能116,115(112)を結合することでユーザがタスクを実行可能にする。WSTCC、WSアプリケーション及び/又はWSウェブベースインターフェースアプリケーション(ウェブブラウザと共にアクセス可能である)と呼ばれる(ここでは全てWSTCCと呼ばれる)ウェブサービス118a−nを用いる様々なプログラム可能なコンピューティングクライアント(例えば、ソフトウエアクライアント、プログラマブルコンピューティングハードウエアクライアント、又は双方等)が用意され、ミドルウエアプロセシングレイヤ108を介して利用可能な全てのサービス機能112を結合することでタスクを実行する。ここで説明される実施形態によれば、ミドルウエアレイヤコンポーネント108は、明確なウェブサービスアプリケーションプログラミングインターフェース(WSAPI)106を介して明らかにされ、それにより、これらのAPI106を用いるWSタスクコンピューティングクライアント(WSTCC)119の生成を可能にする。
In FIG. 1A, the
サービス112の発見、構成、実行、保存、生成、管理のようなタスクコンピューティングのコア機能に制限無くアクセスするミドルウエアプロセシングレイヤ108でタスクコンピューティング環境ウェブサービスAPI106を規定することは、列挙された機能全てを開放する。例えば、WSTCS119は、ユーザがウェブサービス106を呼出可能にする限り、タスクコンピューティングの特定の実現手段に拘束されず、ユーザは如何なるプラットフォームでも作業することができ、WSTCC119を作成し及びサービス112にアクセスするのに如何なるプログラミング言語でも利用できる。
It is enumerated to define a task computing environment
図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が以下に説明される。
In FIG. 1A, therefore, a task computing environment web service (TCE-WS)
Examples of various web service task computing clients (WSTCC) 119a, such as the Semantic Task Execution Editor Web Service (STEER-WSTCCC) 119a, are described in detail and are semantically described services based on STEER-
ユーザインターフェース−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で表示する」である。
User interface-STEER-WS-XT TCC119a-1:
FIG. 1B is a graphical user interface image displayed on a computer as a task interface implemented by a computer according to STEER-WS-XTTCC119a-1 in the presentation layer according to an embodiment of the present invention. In FIG. 1B, the computer display graphical
図1Bではここで説明される実施形態に従って、SSD116ウインドウ150は、サービスウインドウ122で選択されたサービス112について、SSD116パラメータ/特性を表示する。SSDウインドウ135は、例えばタスク126の一部としてタスク126を検査する際に活用できる。
In accordance with the embodiment described herein in FIG. 1B,
図1Bでは、タスクウインドウ144はサービス112の選択可能な図形表示を提供し、そのサービスは発見サービスウインドウ142で選択されたものである。タスクウインドウ144では、発見されたサービス112の選択時に、オントロジに基づいてサービスの機能特性に従うコンパチブルなサービスが自動的に見分けられ、サービス112の図形表示も自動的に1以上の選択可能な機能特性ボタン145a−nを有し、そのボタンは選択された発見されたサービスについて利用可能な又は有効な(両立可能な)サービス112を表す。機能特性ボタンを選択すると、先行するサービス112の成果を利用可能な他の発見済みサービス112の選択可能なリストが表示され、サービス112の図形表示をつなぐ表示された線で示されるように、1以上のサービス112を構成することは、或るタスク126を作成する。より具体的には、タスクウインドウ142の中で、ユーザはタスク126として指示したサービス112のグラフを構成する。サービス112の入力/出力データオブジェクトタイプをサービス112の機能特性として用いる場合には、出力機能特性ボタン145aは、着色によって又はコンピュータ表示を区別する既知の何らかの方法によって、入力機能特性ボタン147と区別される。
In FIG. 1B,
図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ユーザインターフェースが用意される。
Referring to FIGS. 1A and 1B, the
(1) Uniform abstraction of all
タスクコンピューティングミドルウエアはセマンティックサービス記述の動的なリポジトリ(repository)と見ることもできる。ここで説明されるこれらの記述にアクセス及び操作するためのAPI106とは別に、APIを実行することでそのリポジトリのディレクトリを問い合わせるための手段が用意され、APIはサービス記述に対する如何なるRDF問い合わせ言語(RDQL)クエリをも処理する(JENA2.0はRDQLクエリの処理例として使用される。)。例えば、開発者はロケーションのようなサービスの何らかの特性によりタスク合成用にユーザに提示されたサービスを、たとえその目的に対する明示的なAPIが用意されていなかったとしても選別できる。この能力はアプリケーション開発者の力を伸ばし、或るクエリがより有用になるので、それらはミドルウエアにAPI106(事前に選択されたRDQLクエリを実行する)として永続的に加えられてもよい。或る実施形態によれば、SSDにおけるサービスの意味論的記述を調べることによるユーザに対する発見されたサービスとユーザのコンテンツとの関連性に基づいて、SSDを発見した発見手段に基づいて、或いは各サービス又はそれらの如何なる組み合わせの機能特性で決定されたSSDに従うサービスコンパチビリティに基づいて、発見されたSSDは、動的に選別され発見されたサービスになる。
Task computing middleware can also be viewed as a dynamic repository of semantic service descriptions. Apart from the
サービス112としての機能の抽象化は機能を一般にアクセス可能にし、タスクコンピューティングインフラストラクチャがそのような機能とやり取りすることを可能にする。タスクコンピューティングシステム100は、ユーザのコンピュータ装置の(アプリケーション及びOSによる)、環境中の装置の及びインターネット上で利用可能なeサービスの機能114,115を抽象化されたサービス112に変換する。この抽象化はその環境で利用可能な機能を処理するための事前の用意を減らす道を開くが、それ自身単独で、ユーザにリアルタイムの操作能力及び機能をタスク126に構成する能力を与えるには充分でなく、ここで説明される実施例はプレゼンテーションレイヤ104を用意し、リアルタイムの、動的なタスク(複数のサービスを有するタスク)の管理をサポートする。
The abstraction of functionality as a
(2)セマンティックサービス記述(SSD)116に基づいて抽象化されたサービス112の直感的な操作性を(ユーザに及び/又はシステムに)与えること。サービス112の直感的な操作性は、セマンティックサービス記述(SSD)116の利用を通じて可能になる;オントロジはそのようなユーザ及び/又はシステムの直感的な操作を達成するための仕組みである。SSD116の概念は、関連する米国特許出願第10/733,328号及び/又は第11/115,403号にも記載されており、その全内容は本願のリファレンスに組み入れられる。
(2) To provide intuitive operability of the
例えば、SSD116の代わりに、WSDL(ウェブサービス記述言語)機能ソース115だけがウェブサービスの機能特性を記述するのに使用される場合、WSDLベースのウェブサービスは、プログラマがそれらの意味を(WSDL記述内容以上に)理解し且つ適切にそのサービスを利用するためのコードを開発する必要がある。その結果、機能に関するエンドユーザのやりとりは、開発者により事前に決められたそれらのプログラムの範疇に制限される。オントロジオブジェクトをソース機能115パラメータ(例えば、限定ではないが、WSDLパラメータのようなパラメータ)にマッピングし、及び何らかの必要な基礎情報を作成することによる追加的なセマンティクス(SSD116で供給される)は、タスクコンピューティング100インフラストラクチャが、ユーザが詳細な知識なしにそのサービスを操作することを支援することを可能にする。例えば、セマンティクスはユーザによるサービスの操作を制約するために、又はその環境で可能性のあるタスク126についてユーザを禁止するために使用可能である。WSDLだけがサービスのセマンティック入力及び出力に基づくサービス構成を当てにしているならば、その構成はサービスの如何なる構成にも制約されず、例えば、XSDストリングを使用する別のものと共にCMLスキーマ定義(XSD)ストリングを生成し、おそらくは実行可能でない(無効な)サービス構成を導出する。従ってここで使用される実施形態によれば、「構成(composition)」は、(限定ではないが)例えばサービス112の入力(消費)/出力(生成)用のデータオブジェクトタイプのサービス112の意味論的な入力及び出力のような、意味論的に記述されたようなサービス112の用意された機能特性に従って複数のサービス112を共に置くことで形成されることに関する。サービスの機能特性の具体例は、サービス構成を決定するためのサービスの前提条件及び影響でもよい。サービス112の前提条件及び影響の具体例は、サービス112に関する入力及び出力データオブジェクトタイプでもよい。特に、サービス112のSSD116は微細な粒度のサービス入力及び出力をもたらし、例えば、「アドレス」セマンティックオブジェクトを生成するサービスは意味論的に両立性のあるサービスと共にだけ構成可能でもよい。
For example, instead of
ユーザの直感的なサービス112の操作の別のメカニズムは、「マイホームからのルート」のようなサービス名のような自然言語に従って適切なサービス名を与えることによるものであり、コンパチブルなサービスの構成サービス名は自然言語タスク126表現として機能してよい(例えば、「プロジェクタで見る」112+「マイファイル」、112「カンパニー1からのルート」112「都市名空港」112)。オントロジは、サブクラス−スーパー−クラス関係に基づく構成のようなメカニズム、及びエンドユーザにとって非常に自然な意味論的オブジェクト変換をサポート可能である。従ってタスク126の構成は自然言語文に基づく、或いは換言すれば構成されたタスク126は自然言語文のように読める。より具体的には、ここで説明される実施例は、生前言語シーケンスの要素(例えば、フレーズ)のようなサービスに名称を割り当て、自然言語文のような自然言語要素の構成に対応付けるためのサービスの構築性をサポートする。従ってタスクコンピューティングシステム100はエンドユーザが環境110のサービスとやりとりするのに非常に豊富で興味深い方法を可能にする。
Another mechanism for the intuitive operation of the
(3)ユーザは例えば図1Bに示されるような(1)及び(2)に基づいてコンピュータ実現ユーザインターフェースを介してタスク126のリアルタイムの及び/又はダイナミックな(後に結合する形式の)構成を行うことができる。
(3) The user performs real-time and / or dynamic (later combined form) configuration of
ウェブサービスアプリケーションプログラムインターフェース(TCE-WSAPI)106:
図2は本発明の一実施例によるSTEER-WSAPI120の定義リスト例を示す。図1A及び1Bでは、STEER-WSTCC119aはWSTCC119であり、サービス112を発見し、選別し、構成し、実行し、タスク126としてサービス112を保存するのに便利なユーザインターフェースをもたらす。STEER-WSAPI120は、TCE-WSAPI106であり、独立モジュールからタスクコンピューティング機能を抽出し、例えばSTEER-WSTCC119aのような何らかのWSTCC199によりアクセス可能な標準的なウェブサービスインターフェースとしてそれらを明確にする。
Web Service Application Program Interface (TCE-WSAPI) 106:
FIG. 2 shows an example of a definition list of STEER-
図2に示されるように、ウェブサービス106によるタスクコンピューティングミドルウエアサーバー処理レイヤ108の機能を明らかにすることで、プレゼンテーションプロセシングレイヤ104でのWSTCC119は、タスクコンピューティングミドルウエアサーバープロセシングレイヤ108のモジュールの実現手段から開放可能である。WSTCS119開発者は、ウェブサービス106の呼出がなされない限り、如何なるオペレーティングシステムで如何なるプログラミング言語も利用でき、WSTCC119をもたらす。ウェブサービス呼出を実行可能な(又はウェブサービス呼出機能を組み込むことが可能な)第三者のアプリケーション(マイクロソフトワード、エクセル、アウトルック、アドーブアクリバット等)さえ潜在的なWSTCC119でもよい。
As shown in FIG. 2, by clarifying the functionality of the task computing middleware
図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の実現例である。
In FIG. 2, functions such as discovery, configuration, execution, monitoring, saving, and the like are supported by the STEER-
図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で使用されるべきか否かを判定する管理機能を有する。
FIG. 4 is a functional block diagram of the
ここで説明される実施形態によれば、ローカルサービス発見部414、第三者サービス発見部416、リモートサイトサービス発見部418、テンポラリサービス発見部428、ネイティブ(固有)サービス発見部426又はそれらの如何なる組み合わせによるものの1以上を含む複数の発見手段に従って関連するSSD116を発見することで、サービス機能115を発見する。ローカルサービス発見部414は、「ソケット」ポートを開き、同じ装置(コンピュータ)で起動されたアプリケーションからのSSD116公表メッセージを監視し、その装置でローカルサービス発見モジュール414が実行される。例えば、アプリケーションが始まると、アプリケーションは或るSSD116を公表し、SSD公表メッセージを、通知を受けるためにローカルサービス発見部414により開かれた所定の「ソケット」ポートに送信する。本実施形態によれば、そのアプリケーションからのローカルサービス発見部414により受信されたSSD公表メッセージは、公表されたSSD116のロケーションを含む。そして、ロケーションサービス発見モジュール414がTCC119に利用可能なSSD116を作成する。
According to the embodiments described herein, a local
第三者発見部416は第三者発見標準規格を用いてSSD116を発見する。第三者発見メカニズム416は、例えば、ユニバーサルプラグアンドプレイ(UPnP)技術、ジニ(JINI)技術、ブルートゥース等又はそれらの如何なる組み合わせでもよい。例えば、サイバーリンクUPnP及び/又はインテルUPnPツールキット手段をダイダン社発見モジュール416で使用し、UPnPによるサブネットワーク内でブロードキャストされたサービス記述を発見してもよい。リモートサイト発見部418はリモートウェブサービスに対するウェブサービスプロトコル(ウェブサービスコール)を用いて、ウェブサービスインターフェースにより識別可能なSSDを発見する。
The third
ここで説明される実施形態によれば、ヒューレットパッカード開発会社による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を分解及び分析する如何なる仕組みも利用可能である。
According to the embodiment described herein, JENA by the Hewlett-Packard development company is used to store the
ここで説明される実施形態によれば、独立したモジュールとして、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を利用することができる。
According to the embodiments described herein,
一形態に従って、以下の2つのサービス112発見法が説明される:(1)ネイティブサービス発見モジュール426;及び(2)テンポラリサービス発見モジュール428。ここで説明されるように、サービス112の発見は、サービス機能115に関連するSSD116の効果的な発見になる。ネイティブサービス発見モジュール426はワンタイムファイルベースの発見モジュール(one-time file-based discovery function)である。いくつかのサービス112は頻繁に使用され、定常的に利用可能になるよう望まれる。例えば、「常にオン(ON)の」ウェブサービス115(例えば、アマゾンウェブサービス)に基づく又はグラウンディングのないWSTCS118(STEER-WSTCS118a)により実行可能な或るサービス112が存在する。一形態によれば、「常にオンの」ウェブサービス115では、そのウェブサービスの利用可能性はタスクコンピューティングシステム118の実行状態に関係しない。多くの場合、第三者ベンダはそのような「常にオンの」ウェブサービス115を用意するかもしれない。これらの「常にオンの」ウェブサービスに関し、関連するサービス記述116は固定されてもよい。なぜなら、(ウェブサービス115が提供されている場所のような)そのウェブサービス115に関する情報は不変だからである。従ってそのような「常にオンの」サービス115について、「固定された」(常に一定であることを意味する)サービス記述116を作成することが可能である。そのような場合、コストのかかる動的なサービス発見手段(例えば、関連する米国特許出願番号第10/733,328号及び第11/115,403号で説明されているようなPIPE-WSTCS118bによる手段)は不要である。
According to one aspect, the following two
ネイティブサービス発見モジュール426は、固定された記述を含み且つ頻繁に使用されるサービス112に関してワンタイムライトウエイト発見モジュールである。一実施形態によれば、ネイティブサービス発見モジュール426は、STEER-WSTCS118aのようなWSTCS118の初期開始段階で一度だけ動作する。例えば、STEER-WSTCS118aは指定されたディレクトリ(例えば、デフォルトの「マイドキュメント\マイサービス」)でサービス112として発見された全てのサービス記述ファイル116をロード又は設置し、これら発見されたサービス112をSTEER-WSTCS118a(例えば、発見されたサービス112ウインドウ(又は発見プレーン)142−図1B−で利用可能である)に登録する。その後に、ネイティブサービス発見モジュール426は閉鎖可能になる。以下の表1はネイティブサービス発見モジュール426とローカルサービス発見モジュール414との比較概要を与える。ローカルサービス発見414は「ソケット通信」に基づく。ローカル発見モジュール414は事前に形成されたソケットを開き、監視する。ローカルサービスが或るアプリケーションにより公表されると、そのアプリケーションは所定のソケットにメッセージを送信し、ローカル発見モジュール414により発見されるようにする。この手法は動的であり且つTCC119で動作する装置に局所的であると考えられる。なぜならTCC装置はTCC装置で動作するアプリケーションを介してサービスを提供しているからである。TCCのIP(インターネットプロトコル)アドレスが変わると、そのサービス記述も変更されなければならない。
Native
テンポラリサービス発見モジュール428はサービス112用に設計され、そのサービスは、STEER-WSTCS118aのようなWSTCS118の現在の実行セッションの中でのみ必要とされ、タスクパッケージ(後述)で使用されるそのようなサービス112は、ユーザがタスクパッケージのタスクレット(tasklet)と共に作業する場合にのみ必要とされる。一形態によれば、テンポラリサービス発見モジュール428は以下の2つのウェブサービスAPIを用意する:
1.レジスタAPI(これは、入力としてサービス記述を使用し、登録が成功すればサービスIDを返す。)。
Temporary
1. Register API (which uses a service description as input and returns a service ID if registration is successful).
2.未登録API(これは、サービスIDを使用し、何も返さない。)。 2. Unregistered API (this uses the service ID and returns nothing).
テンポラリサービス発見モジュール428はウェブサービスを介してユーザがサービス112を公表する/未公表にすることを可能にする。しかしながら、テンポラリサービス発見モジュール428を通じて発見されたサービス112は、STEER-WSTCS118aのようなWSTCS118の現在の実行セッションの中でのみの一時的なものである。例えば、STEER-WSTCS118aがリスタートされると、これらのサービス112はもはや発見されない。なぜならテンポラリサービス112に関する情報がクリアされるからである。
The temporary
図1Aでは、PIPE-WSTCS118bは、セマンティックオブジェクトインスタンスを公表及び管理するためのWSTCS118の別の例である。PIPE-WSAPI122は独立モジュールからタスクコンピューティング管理機能124を抽出し、「ホワイトホール」119b−1、「サービスマネジャ」119b−2、「リアルワールドオブジェクトセマンタイザ」119b−3及び「データベースセマンタイザ」119b−4のような何らかのWSTCS119によりアクセス可能な標準的なウェブサービスインターフェース106としてそれらを明らかにする。より具体的には、PIPE-WSAPI122はウェブサービスインターフェース106をPIPE-WSTCS118bに与え、オペレーティングシステム、アプリケーションオブジェクト、デバイスサービス等を公表することのようなサービス112を管理する。PIPE-WSTCS118bは例えば関連する米国特許出願番号第10/733,328号及び第11/115,403号にも記載されている。
In FIG. 1A, PIPE-
プレゼンテーションプロセシングレイヤ104ユーザインターフェース:
STEER-WSAPI120及びPIPE-WSAPI122の実現は、WSTCC199用の多種多様のタスクコンピューティング100ユーザインターフェースを用意することを可能にする。なぜなら、WSTCC199のプレゼンテーションプロセシングレイヤ104は、タスクコンピューティングミドルウエアプロセシングレイヤ108のモジュールの実現手段から開放可能だからである。WSTCS119のユーザインターフェース104の例はタスクレットWSTCC199a-5に関してここで説明される。
The implementation of STEER-
タスクレットWSTCC119a-5:
タスクレットTCC199a-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記述を実行するために、「OWLS実行」API120を呼び出す。タスクレットTCC119a-5はOWL-S「プロセスモデル」及びタスク126を格納するサービスグラウンディングを利用し、「プロセスモデル」タスクレットを用意する。一実施例によれば、サービスワークフロー(及びタスクレットプラスサービスワークフロー)及びタスクパッケージが用意される。
Tasklet WSTCC119a-5:
The tasklet TCC 199a-5 is a task computing client (TCC) 119 with very light processing, and executes a service OWL-S file or configures a service (task 126). Of the techniques for creating a tasklet TCC to execute an OWL-S file included in the command line, the preferred technique is to double-click the OWL-S file to be executed (or any other appropriate method) To call tasklet TCC). When the tasklet TCC reads the OWL-S file, the service or service configuration is executed by using the STEER-
図5Aは本発明の一実施例によるタスクパッケージファイル構造を示す図である。一形態によれば、「タスクパッケージ」500はサービスワークフロー情報を含むサービスワークフロータスクレット(SW-タスクレット)502を含む。SW-タスクレット502サービスワークフロー情報及びタスクパッケージ500は、SW-タスクレット502に含まれる構成されたタスク126のSSD116(サービス112)を編集する能力及びポータビリティを改善する。「SW-タスクレット」なる用語は、意味論的に記述されたタスク126(2以上のサービス112で構成されるコンピュータ解釈可能な意味論的記述)に関連する。例えば、タスクレットTCC119a-5がOWL-Sに基づき且つOWL-Sファイルであり、ユーザがタスク126を格納、公表、実行及び共有するのに「プロセスモデル」タスクレットを利用可能ならば、タスク126を構成するサービス116(112)は一旦作成されると編集不可能になる。なぜなら、タスク126はOWL-S規格で規定される「プロセスモデル」に従って格納されるからである。OWL-S「プロセスモデル」は多くの方法で限定可能であり;例えば、「プロセスモデル」は実行についてだけである。従って、一実施例によれば、SW-タスクレット502は「サービスワークフロー」を含むように拡張される。ここでOWL-Sに基づいてタスク126を格納する3つの手法が概説される:
OLW-Sで規定される「プロセスモデル」は実行目的である。個々のサービスのプロセスだけが包含され、プロセスモデル以外にサービスワークフローを抽出することはできない。
FIG. 5A shows a task package file structure according to an embodiment of the present invention. According to one aspect, the “task package” 500 includes a service workflow tasklet (SW-tasklet) 502 that includes service workflow information. The SW-
The “process model” defined in OLW-S is the purpose of execution. Only individual service processes are included, and service workflows cannot be extracted beyond the process model.
「SW-タスクレット」は「プロセスモデル」プラスサービスワークフロー情報である。SW-タスクレットにより、サービスワークフローを抽出し、サービス112の構成としてタスク126をリスト化することが可能である。
“SW-tasklet” is “process model” plus service workflow information. With the SW-tasklet, a service workflow can be extracted and the
しかしながら、或るサービス112が失われたと考えられる場合(例えば、目下の環境の中で発見されなかった場合)、その実行及び編集は失敗する。かくて「タスクパッケージ」500は「SW-タスクレット」502プラス包含されるサービス112全ての又は全てのSSD116の記述である。タスクパッケージに関し、或るサービス112が失われていた場合でさえ、WSTCS118は(例えば、テンポラリサービス発見手段を用いて)依然としてそれらを探すことができ、タスクパッケージ500のSW-タスクレット502に含まれているタスクの編集又は実行を続けることができる。
However, if a
特に、OWL-Sファイル各々は3つの部分を含むことができる:(1)プロファイル(これは、サービス名、サービス記述(人がサービス説明を読み取ることができる記述)及び/又はセマンティック入力/出力である。)、(2)プロセス(これは、実行に関連する情報を決める。)及び(3)グラウンディング(これは、実行情報を実際の呼出方法に対応付ける。)。一形態によれば、各SSD116はOWL−Sファイルである。また、2以上のSSD116のタスク126を記述するSW-タスクレット502はOWL−Sファイルファイルである。構成されたタスクの意味論的記述としてのSW-タスクレット502は、構成されたタスクのSSDに基づいて、構成されたタスク記述のSSDプロセスモデルとして実行プランを、構成された全てのSSDのサービスグラウンディングを生成し、及び後述するように構成されたタスク記述のプロファイル属性として構成されたタスクのサービスワークフローを抽出及び付加する。かくてタスク126を記述するOWL−Sファイルで又はSW−タスクレット502で、タスクレットOWL−Sファイルのプロセスセクション又は「プロセスモデル」は実行プランを含み、構成されたタスク126中にSSD116用のOWL−Sファイルのプロセスセクションのみを包含する。従ってタスク1126が一旦構築されると、そこから、TCC119はどのサービスが含まれているか及びタスク126の中でそれらがどんな役割であるかを知ることはできない。なぜなら、サービス112は複数のプロセスを含むかもしれないし、或いは複数のサービスが同じプロセスを共用するかもしれないからである。何れの場合も、「プロセスモデル」から、どのサービス112のプロセスが所属するかを特定することは困難である。換言すれば、「プロセスモデル」はサービス112及びプロセスの1対1の対応関係を明らかにしない。なぜなら、サービス112の「プロファイル」は「プロセスモデル」に含まれておらず、TCC119が「プロセスモデル」タスクレットを開くことは困難であり、そのタスクレットはプロセスモデルのみを含み、タスクウインドウ(又はタスク126構成プレーン)144に示されるサービス122のブロックを構築するようなサービスワークフローチャートのように、ユーザがサービス112からタスク126を初期に構築した段階に戻す。
In particular, each OWL-S file can contain three parts: (1) a profile (which is a service name, a service description (a description from which a person can read the service description) and / or a semantic input / output. (2) Process (which determines information related to execution) and (3) Grounding (which maps execution information to the actual calling method). According to one form, each
それ故に、一形態によれば、SW-タスクレット502はサービスワークフロー情報概念を有し、TCC119はSW-タスクレット502を開くことができ、SSD116を介して複数のサービス112を構成することでタスク126をユーザが構築する段階に戻す。タスクレットサービスワークフローの中で、関連するサービス112だけでなく、サービス112間の関係(或るサービス112の出力がどのようにして他のサービス112の入力に対応付けられるか等)も定義される。タスクレットサービスワークフローから、TCC119は、タスクレット/タスクパッケージをロードすること及びタスクウインドウ(又はタスク126の構成プレーン)144内でサービス112を構成するタスク(初期の構築段階)を表示することができる。タスクレットサービスワークフロー機能は、既存のタスク126をロードする機能及びそのタスク126がサービス112からどのように構築されたかを見る機能をユーザにもたらす。同一のTCC119に関し、タスク126から、ユーザはサービス112を付加/削除/編集することができ、TCC119により提供されるタスクインターフェース130を介して(例えば、図1B)新たなタスク126を生成する。これはタスク126「編集可能性(editability)」と呼ばれる。
Therefore, according to one form, SW-
例えば、サービスワークフロー情報は:(1)タスク126を有する多数のサービス116(112)、(2)これらのサービス112のID(即ち、SSD116のID)及び(3)サービス112がタスク126を形成するために如何にしてリンクされたかを含む。タスクレットサービスワークフロー情報を参照することで、TCC(タスクコンピューティングクライアント)119は、リンクされたサービス112を有するサービスワークフローとして、SW-タスクレット502タスク126の当初の設計内容を復元することができる。
For example, service workflow information includes: (1) a number of services 116 (112) having
図6A−Dは本発明の一実施例によるSW−タスクレット502のコンピュータ解釈可能なソースコードを示す。特に、図6A−6Dは「マイファイルを開く(Open My File)」のタスク126を記述するためのOWL−Sファイルであり、そのファイルは「開く(Open)」116a及び「マイファイル(MyFile)」116bのSSD116を介する2つのサービス112で構成される。図6A−6Dでは、SW-タスクレット502は有効なOWL−Sタスク126記述であり、SW-タスクレット502は実行可能である。図6BではSW-タスクレット502(Open My File.owls)に関し、以下のラインがサービスワークフロー情報512になる。
FIGS. 6A-D show computer interpretable source code for SW-
図6B−6Cでは、プロセスフローライン514は、OWL−Sの規格の一部であり、次のようにタスク126を実行するのに必要とされる。
In FIGS. 6B-6C,
図5Aでは、「タスクパッケージ」500は次のような3つのタイプのファイルを含むパッケージファイルである:SW-タスクレット502、関連するサービス504全体のSSD116及びインデックスファイル506。インデックスファイル506はサービスID(タスクレットのワークフロー情報に記録されている)及び関連するサービス記述5−4間の対応関係(マッピング)を格納する。一形態によれば、例えば、パッケージファイル500はジップ(ZIP)ファイルフォーマットに従ってもよい。図5Bは本発明の一実施例によるジップタスクパッケージのファイルリストである。
In FIG. 5A, the “task package” 500 is a package file that includes three types of files: SW-
図5Aでは、タスクパッケージ500は以下の部分を含むジップファイルである:「サービス」サブフォルダ(タスク126を構成するセマンティック記述116全てを格納する(例えば、オープン116a及びマイファイル116b)、SW-タスクレット502(ワークフロー情報と共にOWL−Sフォーマットでタスク126を記述する)(オープンマイファイルSW-タスクレット502)及びインデックスファイル(services.idx)506(SW-タスクレット502に現れるサービスIDを、「サービス」サブフォルダ中に格納されたタスク126のSSD116に対応付ける。)。図7A−Cは本発明の一実施例による「オープン」サービスに関する意味論的なサービス記述を表すコンピュータ解釈可能なソースコード例を示す。図8Aは「マイファイル(MyFile)」サービスの意味論的サービス記述を表現する本発明の一実施例によるコンピュータ解釈可能なソースコード例を示す。従って図7及び8に示される「オープン」116a及び「マイファイル」116bはタスクパッケージ500の「サービス」サブフォルダ中にある。
In FIG. 5A, the
従って、タスクパッケージ500のサービスサブフォルダ内に、複数のサービス機能115で構成されたタスク126に含まれる全てのサービス機能115のSSD116が格納されている。SW-タスクレット502はサービスワークフロー情報512も提供する。インデックスファイル「services.idx」506は(SW-タスクレット502で使用される)サービスID及び(サービスサブフォルダに格納される)SSDファイル116の間の対応関係を決める。
Therefore, the
TCC119でタスクパッケージ500が開かれると、STEER-WSTCS119aのような第1のSW-タスクレット502が抽出される。SW-タスクレット502が必要とする全てのサービス112が利用可能であるか否か(即ち、TCC119によって既に発見済みであるか否か)をTCC119は検査する。SW-タスクレット502サービス116がTCC119によって既に発見済みであったならば、何らのアクションもなされない。そうでなかった場合、インデックスファイル506から、TCC119は不足しているサービス116全ての記述を見出し、それらをテンポラリサービス発見モジュール428を介して公表する。SW-タスクレット502サービス116はテンポラリサービス発見モジュール428以外の発見手段を介して公表可能であるが、テンポラリサービス発見モジュール428を利用しなかった場合には、発見されたタスクパッケージ500サービス116は現在のタスクパッケージのタスク構成セッションを過ぎても存続可能である。TCC119によって、不足している全てのサービス116が公表され及び発見されると、SW-タスクレット502はTCC119による手順のロードを再開可能である。一形態によれば、TCC119はタスクパケットファイル500を開き、SW-タスクレット502を実行及び/又は編集するために(例えば、編集するために、構成されたタスクダイヤグラムを表示するために)、TCC119はタスクパッケージ500のSSDから、構成済みタスク126の不足している又は必要なSSD116の如何なるものも検索する。TCC119は検索されたSSD116を公表し、テンポラリサービス発見モジュール428を介してSSD116を登録することで、SSD116をTCC119にとって利用可能にする。TCC119はテンポラリサービス発見部428ウェブサービスを呼び出し、タスクパッケージ500からテンポラリサービス発見428ウェブサービスに、検索されたSSD116を提出し、テンポラリサービス発見部428はウェブサービスインターフェースを介したTCC119からの入力SSD116を受け入れる。テンポラリサービス発見部428ウェブサービスは、TCC119による認証用に、受け入れたSSDを発見したサービス116(112)として登録する。一形態によれば、テンポラリサービス発見部428は受け入れたSSDを分析し、TCC110のサービスインスタンス112を作成する。一形態によれば、テンポラリサービス発見部428により公表されたサービスは、例えば、TCC119の実行セッション中に加えてテンポラリサービス発見部428を開始するTCC119でのみ利用可能である。
When the
従ってSW-タスクレット502は実行可能なOWL-S記述であり、その記述は、包含されるサービス112のサービスワークフローに加えて包含されるサービス112のプロセスに基づいて、タスク126の実行計画を規定する。サービスワークフロー情報を有するSW-タスクレット502は或る特定のタグを有し、そのタグは、SW-タスクレット502で記述されるタスク126のサービスワークフローを表現する。タスクレットサービスワークフロー情報と共に、TCC119はSW-タスクレット502を開き、例えば、ユーザインターフェースウインドウ144で、包含されるサービス112及びそれらの関係を表示する。しかしながら、TCC119環境では、SW-タスクレット502の1以上のサービス112が、そのようなサービス112が発見されない又はTCC119に登録されていないことに起因して、不足していると考えられた場合には、開く(オープン)手順は不足情報に起因して失敗するかもしれない。かくて、タスクパッケージ500は包含されるサービス112(又はSSD116)全ての記述及びSW-タスクレット502を含む。TCC119がタスクパッケージ500を開くと、たとえSW-タスクレット502の1以上のサービス112が欠けていても、取り付けられたセマンティックサービス記述116からそのサービス112をロードする選択肢がユーザに与えられる。不足していたサービス112全てがロードされると、完全なタスク126が復元される。要するに、タスクパッケージ500はタスク126を保存する最もロバストな(robust)方法である。サービスワークフローを備えたタスクレット及びタスクパッケージの双方は「タスク編集可能性」をサポートする。
Thus, SW-
一形態によれば、SW-タスクレット502及びタスクパッケージ500双方がTCC119で作成可能である。例えば、ユーザが一群のサービス112からタスク126を作成した後で、ユーザはそのタスク126を保存するための選択肢を持つことができる。タスク126を保存している間、そのユーザはそのタスク126を、サービスワークフローを有するSW-タスクレット502として又はタスクパッケージ(サービスワークフロー情報を有するタスクレット−プラス−そのタスク126に含まれている個々のサービス112の記述)として保存することを決定できる。一旦ユーザがその決定を行うと、SW-タスクレット/タスクパッケージは生成可能になる。
According to one form, both SW-
SW-タスクレットを生成する手順は次のようにすることができる:
1.タスクのOWL-Sを「プロセスモデル」専用タスクレットとして生成する。
The procedure for generating a SW-tasklet can be as follows:
1. A task OWL-S is generated as a tasklet dedicated to the “process model”.
2.タスクのサービスワークフロー情報を抽出し、抽出されたサービスワークフロー情報をプロファイル属性としてOWL-Sに加える。一形態によれば、ユーザはTCC119(例えば、STEER-WSTCS119aに関する図1B)内でタスクを生成する場合に、サービスワークフロー情報がSTEER-WSTCS119のエディタから抽出される。一形態によれば、図1Bでは、表示された構成されたタスクダイヤグラムはデータ構造で表現され、或る抽出手順は、編集を含むユーザのタスク構成をタスクデータ構造から分析し、サービスワークフローを算出/決定し、例えば、タスク126を構成するサービス116(112)の数を確認し、どのサービスがタスク126に含まれているかを例えばこれらのサービス112のID(即ち、SSD116のID)で確認し、タスク126を形成するためにどのサービス116(112)が共にリンクされるかを確認する(例えば、サービス1の出力はサービス2の入力に進む、等々)。
2. The service workflow information of the task is extracted, and the extracted service workflow information is added to OWL-S as a profile attribute. According to one aspect, when the user creates a task in TCC 119 (eg, FIG. 1B for STEER-
3.或るファイルに対するサービスワークフローと共にOWL−SをSW-タスクレット502として格納する。
3. The OWL-S is stored as the SW-
タスクパッケージの手順は次のようにすることができる:
1.SW-タスクレットを事前に決定したように作成する。
The task package procedure can be as follows:
1. Create SW-tasklet as determined in advance.
2.含まれているサービス116全ての記述を加える。
2. Add a description of all the
3.サービスid及びサービス記述ファイル名の間の対応関係(マッピング)を作り出し、そのマッピングをservices.idxファイルに格納する。図9は本発明の一実施例によるタスクパッケージインデックスファイル例506を示す。 3. Create a correspondence (mapping) between the service id and the service description file name and store the mapping in the services.idx file. FIG. 9 shows an example task package index file 506 according to one embodiment of the invention.
4.コンテンツをジップ化する。 4). Zip the content.
タスクパッケージ500は未改良の方法に比べてかなりの改善効果をもたらし、ユーザは「プロセスモデル」タスクレット及び関連するサービスを手動で梱包し(zip)して他のユーザに送り;それを受けたユーザはそのファイルを開包(unzip)し、不足しているサービスを公表し、「プロセスモデル」専用タスクレットを最終的に開く必要がある。タスクパッケージの利点は明確である。なぜなら、TCC119でタスクパッケージの構築中に、タスクパッケージフォーマットはTCC119が関連するサービス112全てを自動的に検出し、タスクパッケージ中のそれらのサービス記述116をSW-タスクレット及び対応するインデックスファイルと共に梱包することを許容するからである。タスクパッケージがTCC119で動作する又はオープンされる場合に、TCC119は、如何なる不足サービス112をも対象に含み、タスク構成サービスを自動的に決定する。上記の未改良の方法では、受け側のユーザは不足しているサービス112を手で抽出し、それらを手動で公表する必要がある。
The
ここでは、タスクコンピューティング100環境を複数のコンピュータシステム実行段にセグメント化することによるタスクコンピューティングシステム例が説明され、その実行段は、プレゼンテーションクライアント処理レイヤ、リモートプロシジャ呼出アプリケーションプログラムインターフェース(API)、ミドルウエアサービスプロセッシングレイヤ(プレゼンテーションレイヤがリモートプロシジャ呼出APIを介してリアルタイムでインターフェースをとり、プレゼンテーションレイヤでコンピュータ実行タスクインターフェースを、意味論的に記述されたコンピュータシステムソース機能に対して、コンピュータシステムでのサービスとして動的に生成する);サービスレイヤ及び機能ソース実現レイヤ(意味論的に記述されたコンピュータシステムソース機能を、ミドルウエアプロセシングレイヤがインターフェースをとるコンピュータシステムでのサービスとして与える);及びリアルタイムで動的に構成する実行可能なタスク(コンピュータシステムでの1以上のサービスに対してプレゼンテーションレイヤで生成されたタスクインターフェースに従って、1以上のサービスで構成される)を有する。コンピュータサービスは実行可能なタスクにリアルタイムで動的に構成され、その際に、意味論的に記述されたアプリケーション−、装置−及びサービス−リッチなコンピュータに基づいてコンピュータ上のサービスに対して生成されたインターフェースを用いる。ここで説明された実施形態によれば、ユーザは、実用的に、効果的に、効率的に、動的に、リアルタイムに、柔軟性のある統合されたユーザインターフェース(構成及び実行機能)を当てにし、やり取りを管理し、汎用コンピュータ環境とやり取りする。 Here, an example task computing system is described by segmenting the task computing 100 environment into a plurality of computer system execution stages, which includes a presentation client processing layer, a remote procedure call application program interface (API), Middleware service processing layer (presentation layer interfaces in real time via remote procedure invocation API, computer execution task interface in presentation layer, to computer system source functions described semantically, in computer system Dynamically generated as a service); service layer and functional source realization layer (denoted semantically) Computer system source functions as a service in a computer system interfaced by a middleware processing layer; and an executable task dynamically configured in real time (presentation layer for one or more services in a computer system) (Consisting of one or more services). Computer services are dynamically configured into executable tasks in real-time, generated for services on the computer based on semantically described applications, devices and services-rich computers. Interface. According to the embodiments described herein, a user can apply a flexible, integrated user interface (configuration and execution functionality) in a practical, effective, efficient, dynamic, and real-time manner. Manage interactions and interact with general-purpose computer environments.
装置、方法、コンピュータ読取可能な媒体(そのキャリア信号を含む)は複数のコンピューティング機能ソースを用意し、機能に関するコンピューティングソース各々は、例えばユーザ及び/又はコンピュータにサービスを提供し、装置のコンピュータ環境内に及びその装置とネットワーク通信するコンピュータ環境内に存在する。本装置はセマンティックサービス記述(SSD)をサービスに関連付ける。SSDはサービスの意味論的記述を有し、コンピュータ解釈可能な言語に従うサービスパラメータのセマンティック記述、及びサービスグラウンディングのように、SSDを表現するコンピュータ解釈可能な言語とインターフェースとの間の対応関係(サービスのインターフェースパラメータを含む)を含む。本装置は、SSDを発見するための複数の発見手段を介して1以上のSSDを利用可能なサービスとして動的に発見し、各サービスに関連する各SSD中の意味論的記述に基づいてサービスを動的に選別し、可能なタスクを連続的に示すためにサービスを選択すること及びサービスを選別することに基づいて、タスクを動的に構成するためのユーザインターフェースを生成し、構成されたタスクの構成されたタスク記述として実行可能なセマンティックサービスワークフロー記述を生成する。 The apparatus, method, computer readable medium (including its carrier signal) provides a plurality of computing function sources, each of which relates to a function, for example providing services to a user and / or computer, and a computer of the apparatus In the environment and in a computer environment in network communication with the device. The device associates a semantic service description (SSD) with the service. An SSD has a semantic description of a service, a semantic description of service parameters according to a computer interpretable language, and a correspondence between a computer interpretable language that expresses an SSD, such as service grounding, and an interface ( Service interface parameters). The apparatus dynamically discovers one or more SSDs as usable services through a plurality of discovery means for discovering SSDs, and services based on the semantic description in each SSD related to each service. Generate and configure a user interface for dynamically configuring tasks based on selecting services and selecting services to continuously screen possible tasks A semantic service workflow description that can be executed as a task description composed of tasks is generated.
実行可能なセマンティックサービスワークフロー記述の生成は、構成されたタスクのSSDに基づいて、構成されたタスク記述のSSDプロセスモデルとして実行プランを、構成されたタスクのSSD全てのサービスグラウンディングのリストを生成すること、及び構成されたタスクのサービスワークフローを、構成されたタスクの記述におけるプロファイル属性として抽出及び追加することを含む。 Executable semantic service workflow description generation is based on the SSD of the configured task, and an execution plan is generated as an SSD process model of the configured task description, and a service grounding list of all SSDs of the configured task is generated. And extracting and adding the service workflow of the configured task as a profile attribute in the description of the configured task.
タスクコンピューティングは或るアプローチであり、そのアプローチは、(a)セマンティックウェブ技術を利用し、より多くの(セマンティック)ウェブリソースがユビキタスコンピューティングアプリケーションに速やかに利用可能になるようにし、(b)リソースの性質には全く関係ないものであり、リソースがどのように発見されるか、どのようにアクセスされるか、どのように接続されるか又はどのように通信するかによらず、抽象化サービス116がタスクコンピューティングシステム100でそれらを利用可能にするようにする。タスクコンピューティングは、全ての機能の普遍的な抽象化として意味論的に記述されたサービス116を当てにし、更に、構築可能なタスク126は多くのサービス112を含んでよいので、タスクコンピューティングは、装置対サービスの相互運用性(interoperability)より大きな範囲を網羅する。例えば典型的なタスクコンピューティング100システムのタスク126はリアルタイムで動的に5−6個のサービス112を利用できる。
Task computing is an approach that uses (a) Semantic Web technology to make more (semantic) web resources quickly available to ubiquitous computing applications, and (b) It has nothing to do with the nature of the resource, it is an abstraction regardless of how the resource is discovered, how it is accessed, how it is connected or how it communicates The
本発明の上記の好適実施例は、(既知の如何なるコンピュータ読取可能な媒体に格納されるような)ソフトウエアで及び/又はプログラム可能な装置/コンピューティング装置を制御するプログラム可能なコンピューティング装置/ハードウエア(例えば、データを格納、検索、提示(例えば、表示)及び処理することができるプログラム可能な電子装置)−如何なるタイプのプログラム可能なコンピュータ装置で実現されてもよい。そのようなコンピュータ装置は、限定ではないが例えば、パーソナルコンピュータ、クライアントサーバネットワークアーキテクチャの場合にはサーバ及び/又はクライアントコンピュータ、分散ネットワークアーキテクチャにおけるネットワーク化されたコンピュータ、端末装置、パーソナルディジタルアシスタント、モバイル装置等である。 The above preferred embodiment of the present invention is a programmable computing device / controlling software / programmable device / computing device (as stored on any known computer readable medium). Hardware (eg, a programmable electronic device that can store, retrieve, present (eg, display) and process data) —may be implemented on any type of programmable computer device. Such computer devices include, but are not limited to, for example, personal computers, server and / or client computers in the case of a client-server network architecture, networked computers, terminal devices, personal digital assistants, mobile devices in a distributed network architecture Etc.
以上本発明に関する多くの特徴及び利点が詳細な説明から明らかになり、かくて添付の特許請求の範囲により、そのような特徴及び利点の全てを本発明の真の精神及び範囲内に網羅することが意図される。更に、多くの修正及び変形が当業者に明白なので、図示及び説明された構成及び動作に厳密に本発明を限定することは望まれず、従って適切な全ての修正及び変形は本発明の範囲内にある。 Many features and advantages of the present invention will become apparent from the detailed description, and thus, the appended claims shall cover all such features and advantages within the true spirit and scope of the present invention. Is intended. Further, since many modifications and variations will be apparent to practitioners skilled in this art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and thus all suitable modifications and variations are within the scope of the invention. is there.
100 タスクコンピューティング環境
104 プレゼンテーションプロセシングレイヤ104
106 リモートプロシジャコールメカニズムアプリケーションプログラムインターフェース
108 ミドルウエアプロセシングレイヤ
110 コンピュータシステム
112 サービスレイヤ
114 機能ソース実現レイヤ
115 サービス機能
116 セマンティックサービス記述
126 タスク
100
106 remote procedure call mechanism
Claims (17)
コンピュータ解釈可能な言語に従った、サービス機能を特定するパラメータのセマンティック記述と、ユーザによるサービスの起動を可能とさせるサービスグラウンディングとしての、セマンティックサービス記述(SSD)を表現するコンピュータ解釈可能な言語で表現されたSSDとインターフェースパラメータを含むサービスのインターフェースとの間の対応関係とを含むサービスのセマンティック記述を有するSSDを、サービスに関連付けるプロセスと、
SSDを発見するために複数の発見手段を介して1以上のSSDを利用可能なサービスとして動的に発見するプロセスと、
各サービスに関連する各SSDの意味論的記述に基づいて、サービスを動的に選別するプロセスと、
実行可能なタスクを連続的に提示するために、サービスの選択及びサービスの動的な選別に基づいて、タスクを動的に構成するためのユーザインターフェースを生成するプロセスと、
実行可能なセマンティックサービスワークフロー記述を、構成されたタスクの構成されたタスク記述として生成するプロセスと、
を有し、
前記実行可能なセマンティックサービスワークフロー記述を生成するプロセスは、
構成されたタスクのSSDに基づいて、構成されたタスクの記述のSSDプロセスモデルとして実行プランと、構成されたタスクのSSD全てのサービスグラウンディングのリストとを生成し、構成されたタスクのサービスワークフローを、構成されたタスク記述のプロファイル属性として抽出して、実行可能なサービスワークフロー記述に付加するプロセスを含み、
前記複数の発見手段が、一定のサービス記述を有する定常的に利用可能なサービスを発見するワンタイムサービス発見部としてネイティブサービス発見部を有する、
ことを特徴とする装置。 A device providing a plurality of computer function sources, each computer function source providing a service, in a computing environment of the device, in a computing environment in network communication with the device, or a combination thereof And the device has a controller for controlling the device according to a process, the process executed by the computer is:
According to a computer interpretable language, and semantic description of the parameters specifying the service function, as a service grounding to enable the activation of the service by the user, in a computer interpretable language to represent semantic service description (SSD) Associating an SSD with a service semantic description that includes the expressed SSD and the correspondence between the service interface including the interface parameters with the service;
A process of dynamically discovering one or more SSDs as available services via a plurality of discovery means to discover SSDs;
A process for dynamically selecting services based on the semantic description of each SSD associated with each service;
A process of generating a user interface for dynamically configuring tasks based on service selection and dynamic screening of services to continuously present executable tasks;
A process for generating an executable semantic service workflow description as a configured task description of the configured task;
Have
The process of generating the executable semantic service workflow description is:
Based on the SSD of the configured task, an execution plan is generated as an SSD process model of the description of the configured task, and a service grounding list of all the SSDs of the configured task is generated, and the service workflow of the configured task is generated. Including the process of extracting as a profile attribute of the configured task description and adding it to the executable service workflow description ,
The plurality of discovery means have a native service discovery unit as a one-time service discovery unit that discovers a regularly available service having a certain service description.
A device characterized by that.
ことを特徴とする請求項1記載の装置。 The apparatus according to claim 1, wherein the service workflow includes multiple SSDs in a task, the identity of the SSD in the task , link information describing the connectivity of the SSD in the task , or a combination thereof.
前記タスクパッケージファイルは、クロスコンピューティング環境実行ファイルである
ことを特徴とする請求項1記載の装置。 The controller process further comprises generating a task package file having an executable semantic service workflow description of the configured task, an SSD and an index for the service of the configured task;
The apparatus according to claim 1, wherein the task package file is a cross-computing environment execution file.
ことを特徴とする請求項3記載の装置。 4. The apparatus of claim 3, wherein the task package file follows a zip format.
ことを特徴とする請求項3記載の装置。 4. The apparatus of claim 3, wherein the controller process further comprises a process of restoring a task configured with a user interface for editing, execution, or a combination of both according to the task package file. .
ウェブサービスインターフェースを介してタスクパッケージファイル中の関連するSSDを受け入れ、前記受け入れた関連するSSDを利用可能な発見されたサービスとして登録する、編集及び実行を含む現在のタスク構成に関するテンポラリサービス発見部、
一定のサービス記述を有する定常的に利用可能なサービスを発見するワンタイムサービス発見部としてのネイティブサービス発見部、
アプリケーションからのソケット公表サービスメッセージに従う装置にローカルなサービス発見部、
第三者発見部、又は
それらの組み合わせ、
を有する、
構成されたタスクのサービスに関連する前記SSDを発見するための複数の発見手段に基づいて、構成されたタスクのサービスを発見するプロセスと、
構成されたタスク記述中のプロファイル属性に基づいて、構成されたタスクに包含されるサービスを、ユーザインターフェースを介して提示するプロセスと、
を有することを特徴とする請求項5記載の装置。 The process of restoring the configured task is:
A temporary service discovery unit for the current task configuration including editing and execution, which accepts an associated SSD in a task package file via a web service interface and registers the received associated SSD as an available discovered service;
Native service discovery unit as a one-time service discovery unit that discovers regularly available services with a certain service description,
A service discovery unit local to the device that follows the socket announcement service message from the application,
A third party discovery department, or a combination thereof,
Having
A process of discovering a service of a configured task based on a plurality of discovery means for discovering the SSD associated with the service of the configured task;
A process of presenting, via a user interface, services included in the configured task based on profile attributes in the configured task description;
6. The apparatus of claim 5, comprising:
ことを特徴とする請求項1記載の装置。 Temporary service discovery for current task configuration including editing and execution, wherein the plurality of discovery means accepts an SSD associated with a service via a web service interface and registers the accepted SSD as an available discovered service The apparatus according to claim 1, further comprising: a section.
ことを特徴とする請求項1記載の装置。 Configured task description service grounding for the controller process to translate for each service between the semantically described parameters and service interface parameters of the service in the configured task description SSD process model The apparatus according to claim 1, further comprising: a process for executing a task by using and managing a sequence for executing a service through an SSD process model of a configured task description.
ことを特徴とする請求項1記載の装置。 The service in which the discovered SSD is discovered based on the association between the discovered service and the user and the user's situation by examining the semantic description of the SSD service and / or based on the discovery means that discovered the SSD The apparatus of claim 1, further comprising a process of dynamically sorting as:
ことを特徴とする請求項9記載の装置。 The apparatus of claim 9 , wherein the screening follows a resource description framework data query language (RDQL) query.
ことを特徴とする請求項1記載の装置。 The apparatus of claim 1, wherein the computer interpretable language for expressing the SSD is a web ontology language (OWL) based web service ontology (OWL-S) language.
サービスは、各サービスの機能特性を決定したSSDに基づくコンパチビリティに従って選別される
ことを特徴とする請求項1記載の装置。 Each SSD determines the functional characteristics of each service according to an ontology,
The apparatus according to claim 1, wherein the services are selected according to the compatibility based on the SSD that determines the functional characteristics of each service.
ユーザインターフェースを生成することは、自然言語文に従って自然言語サービス名に基づいて選択され選別されたサービスのタスクを構成することをサポートすることを含む
ことを特徴とする請求項12記載の装置。 The association of an SSD with a service assigns a name to a service as an element of a natural language sentence, supports the possibility of constructing a service mapping to the constructability of a natural language element as a natural language sentence,
13. The apparatus of claim 12 , wherein generating a user interface includes supporting configuring a task of a service selected and screened based on a natural language service name according to a natural language sentence.
第1グラフィカルユーザインターフェースウインドウで、発見されたSSDの選択可能な図形表示を、ツリー構造に従う利用可能なサービスとして表示し、
或るプロセスに従って1以上のサービスをタスクにリアルタイムに動的に構成することをサポートする第2グラフィカルユーザインターフェースウインドウを提示し、該プロセスは、
発見されたサービスを第1のウインドウでユーザにより選択させ、
選択された発見されたサービスに関連する他のコンパチブルなサービスの選択可能な図形表示を自動的に表示し、
コンパチブルなサービスをユーザにより選択させ、
発見されたサービス及びコンパチブルなサービスをタスクとして選択するユーザに従って第2グラフィカルユーザインターフェースウインドウで指示されたサービスグラフをリアルタイムで動的に表示し、
タスクを実行するためにタスク実行に関する選択可能な図形表示を表示する
ことを特徴とする請求項13記載の装置。 The user interface is a computer display screen graphical user interface, the graphical user interface comprising:
In the first graphical user interface window, a selectable graphic display of the discovered SSD is displayed as an available service according to a tree structure;
Presenting a second graphical user interface window that supports dynamically configuring one or more services to tasks in real time according to a process, the process comprising:
Let the user select a discovered service in the first window,
Automatically displays a selectable graphical representation of other compatible services related to the selected discovered service,
Let users select compatible services,
Dynamically displaying in real time the service graph indicated in the second graphical user interface window according to the user selecting the discovered and compatible services as tasks;
14. The apparatus of claim 13 , wherein a selectable graphical display for task execution is displayed to execute the task.
ことを特徴とする請求項14記載の装置。 The apparatus of claim 14, wherein the displayed and discovered services are organized in a first graphical user interface window according to the functional characteristics of the discovered services.
コンピュータ解釈可能な言語に従った、サービス機能を特定するパラメータのセマンティック記述と、ユーザによるサービスの起動を可能とさせるサービスグラウンディングとしての、セマンティックサービス記述(SSD)を表現するコンピュータ解釈可能な言語で表現されたSSDとインターフェースパラメータを含むサービスのインターフェースとの間の対応関係とを含むサービスのセマンティック記述を有するSSDを、サービスに関連付けるステップと、
SSDを発見するために複数の発見手段を介して1以上のSSDを利用可能なサービスとして動的に発見するステップと、
各サービスに関連する各SSDの意味論的記述に基づいて、サービスを動的に選別するステップと、
実行可能なタスクを連続的に提示するために、サービスの選択及びサービスの動的な選別に基づいてタスクを動的に構成するためのユーザインターフェースを生成するステップと、
構成されたタスク用に、実行可能なセマンティックサービスワークフロー記述を生成するステップと、
を有し、
前記実行可能なセマンティックサービスワークフロー記述を生成するステップは、
構成されたタスクのSSDに基づいて、構成されたタスクの記述のSSDプロセスモデルとして実行プランと、構成されたタスクのSSD全てのサービスグラウンディングのリストとを生成し、構成されたタスクのサービスワークフローを、構成されたタスク記述のプロファイル属性として抽出して、実行可能なサービスワークフロー記述に付加するステップを含み、
前記複数の発見手段が、一定のサービス記述を有する定常的に利用可能なサービスを発見するワンタイムサービス発見部としてネイティブサービス発見部を有する、
ことを特徴とする方法。 A method performed by a computer to provide a plurality of computer function sources, each computer function source providing a service, in a computing environment of the device, in a computing environment in network communication with the device, or Present in their combination, the method is
According to a computer interpretable language, and semantic description of the parameters specifying the service function, as a service grounding to enable the activation of the service by the user, in a computer interpretable language to represent semantic service description (SSD) Associating the service with an SSD having a semantic description of the service including the represented SSD and the correspondence between the service interface including the interface parameters;
Dynamically discovering one or more SSDs as available services via a plurality of discovery means to discover SSDs;
Dynamically screening services based on the semantic description of each SSD associated with each service;
Generating a user interface for dynamically configuring tasks based on service selection and dynamic selection of services to continuously present executable tasks;
Generating an executable semantic service workflow description for the configured task;
I have a,
Generating the executable semantic service workflow description comprises:
Based on the SSD of the configured task, an execution plan is generated as an SSD process model of the description of the configured task, and a service grounding list of all the SSDs of the configured task is generated, and the service workflow of the configured task is generated. Extracting as a profile attribute of the configured task description and adding it to the executable service workflow description ,
The plurality of discovery means have a native service discovery unit as a one-time service discovery unit that discovers a regularly available service having a certain service description.
A method characterized by that.
コンピュータ解釈可能な言語に従った、サービス機能を特定するパラメータのセマンティック記述と、ユーザによるサービスの起動を可能とさせるサービスグラウンディングとしての、セマンティックサービス記述(SSD)を表現するコンピュータ解釈可能な言語で表現されたSSDとインターフェースパラメータを含むサービスのインターフェースとの間の対応関係とを含むサービスのセマンティック記述を有するSSDを、サービスに関連付ける手段と、
SSDを発見するために複数の発見手段を介して1以上のSSDを利用可能なサービスとして動的に発見する手段と、
各サービスに関連する各SSDの意味論的記述に基づいて、サービスを動的に選別する手段と、
可能なタスクを連続的に提示するために、サービスを選択すること及びサービスを動的に選別することに基づいてタスクを動的に構成するためのユーザインターフェースを生成する手段と、
実行可能なセマンティックサービスワークフロー記述を、構成されたタスクの構成されたタスク記述として生成する手段と、
を有し、
前記実行可能なセマンティックサービスワークフロー記述を生成する手段は、
構成されたタスクのSSDに基づいて、構成されたタスクの記述のSSDプロセスモデルとして実行プランと、構成されたタスクのSSD全てのサービスグラウンディングのリストとを生成し、構成されたタスクのサービスワークフローを、構成されたタスク記述のプロファイル属性として抽出して、実行可能なサービスワークフロー記述に付加する手段を含み、
前記複数の発見手段が、一定のサービス記述を有する定常的に利用可能なサービスを発見するワンタイムサービス発見部としてネイティブサービス発見部を有する、 ことを特徴とする装置。 A device providing a plurality of computer function sources, each computer function source providing a service, in a computing environment of the device, in a computing environment in network communication with the device, or a combination thereof Present in the device
According to a computer interpretable language, and semantic description of the parameters specifying the service function, as a service grounding to enable the activation of the service by the user, in a computer interpretable language to represent semantic service description (SSD) Means for associating the service with an SSD having a semantic description of the service including the represented SSD and the correspondence between the service interface including the interface parameters;
Means for dynamically discovering one or more SSDs as available services via a plurality of discovery means to discover SSDs;
Means for dynamically selecting services based on the semantic description of each SSD associated with each service;
Means for generating a user interface for dynamically configuring tasks based on selecting services and dynamically selecting services to continuously present possible tasks;
Means for generating an executable semantic service workflow description as a configured task description of the configured task;
I have a,
The means for generating the executable semantic service workflow description comprises:
Based on the SSD of the configured task, an execution plan is generated as an SSD process model of the description of the configured task, and a service grounding list of all the SSDs of the configured task is generated, and the service workflow of the configured task is generated. Means for extracting as a profile attribute of a configured task description and adding it to an executable service workflow description ,
The apparatus, wherein the plurality of discovery means include a native service discovery unit as a one-time service discovery unit that discovers a regularly available service having a fixed service description .
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71495205P | 2005-09-08 | 2005-09-08 | |
US60/714,952 | 2005-09-08 | ||
US11/512,405 | 2006-08-30 | ||
US11/512,405 US8117280B2 (en) | 2003-12-12 | 2006-08-30 | Task computing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007087382A JP2007087382A (en) | 2007-04-05 |
JP5650877B2 true JP5650877B2 (en) | 2015-01-07 |
Family
ID=37974265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006244780A Expired - Fee Related JP5650877B2 (en) | 2005-09-08 | 2006-09-08 | Apparatus and method for providing a plurality of computing function sources |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5650877B2 (en) |
-
2006
- 2006-09-08 JP JP2006244780A patent/JP5650877B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007087382A (en) | 2007-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117280B2 (en) | Task computing | |
JP5205965B2 (en) | Computer system, server processing apparatus, terminal apparatus and method | |
US11003630B2 (en) | Remote access of metadata for collaborative documents | |
KR101076904B1 (en) | Programming interface for a computer platform | |
US8561069B2 (en) | Task computing | |
CN102253827B (en) | Mashup infrastructure with learning mechanism | |
US20110010613A1 (en) | System and method for building mixed mode execution environment for component applications | |
CN100461109C (en) | Semantic Task Computing | |
MX2007015887A (en) | Data centric workflows. | |
US20150347098A1 (en) | Extending a development environment with add-ins | |
Cardoso et al. | PuReWidgets: a programming toolkit for interactive public display applications | |
JP5650877B2 (en) | Apparatus and method for providing a plurality of computing function sources | |
GB2370658A (en) | A modular software framework | |
Gnanasekar et al. | Towards Development of QoS Based Data and Service Oriented Mashup Platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111028 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120612 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120912 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121018 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20130111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141114 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5650877 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |