図面 (/)

技術 情報処理装置及びプログラム

出願人 株式会社リコー
発明者 堀誠二郎
出願日 2016年4月27日 (4年7ヶ月経過) 出願番号 2016-089776
公開日 2016年9月15日 (4年2ヶ月経過) 公開番号 2016-167295
状態 特許登録済
技術分野 ストアードプログラム
主要キーワード 呼び出し機構 ポート番 プロキシモジュール 約束事 APIモジュール 拡張モジュール ガジェット 予測性
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年9月15日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

他のプログラムに機能を提供するプログラムにおいて機能拡張簡便性及び安全性を向上させる。

解決手段

情報処理装置は、機能の識別情報が指定された機能の実行要求の受信に応じ、当該識別情報に係る機能を実行する第一の機能実行手段と、第一の機能実行手段とは異なるプロセスにおいて機能し、識別情報に基づいて第一の機能実行手段より転送された実行要求に指定されている識別情報に係る機能を実行する第二の機能実行手段とを有する。第一の機能実行手段は、受信された機能の実行要求に指定されている識別情報がプログラムモジュール追加機能を示す場合は、当該実行要求に指定されているプログラムモジュールを第二の機能実行手段に追加し、第二の機能実行手段は、第一の機能実行手段より転送された実行要求に指定された識別情報に係る機能を、当該第二の機能実行手段に追加されたプログラムモジュールに実行させる。

概要

背景

従来、ウィジェット(Widget)若しくはデスクトップウィジェット、又はガジェット(Gadget)等と呼ばれる、簡易アプリケーションインターネット等を介して提供されている。以下、このようなアプリケーションの呼称を「ウィジェット」として統一する。

一般的なウィジェットは、Webページと同様に、HTML(HyperText Markup Language)若しくはXML(eXtensible Markup Language)、及びJavaScript(登録商標)若しくはVBScript等(以下、単に「スクリプト」として総称する。)を利用して実装されており、Webブラウザベースプラットフォーム上で実行される。したがって、ウィジェットのみによって提供される機能は、HTTP通信を介した情報の取得や、GUI(Graphical User Interface)の提供等に限られている。なお、Webブラウザベースのプラットフォームとは、Webブラウザの基盤機能を有するプラットフォーム(以下、「ウィジェットランタイム」という。)をいう。Webブラウザの基盤機能とは、クライアントとしてHTTP通信を実行する機能、HTML又はXML等を解釈して画面を描画する機能、及びスクリプトを解釈して実行する機能等をいう。

ウィジェットランタイムの中には、より高度な機能を提供可能なウィジェットを実装可能とするために、エージェントの備える機能をウィジェットに利用可能としている。

ここでいうエージェントとは、WebAPIを介して機能を提供するプログラムをいう。具体的には、エージェントは、HTTPリクエストに応じ、当該HTTPリクエストにおいて指定されたURL(Uniform Resource Locator)に対応する機能を提供するプログラムをいう。すなわち、WebAPIとは、URLの指定によって機能の実行要求受け付けるAPI(Application Program Interface)をいう。

図1は、ウィジェット、ウィジェットランタイム、及びエージェントの関係を説明するための図である。

図1において、ウィジェット501aは、ウィジェットランタイム502に対してURL(A)を指定して、機能Aの実行要求を行っている。ウィジェット501bは、ウィジェットランタイム502に対してURL(B)を指定して、機能Bの実行要求を行っている。ウィジェットランタイム502は、URL(A)の指定に応じ、URL(A)が指定されたHTTPリクエストをエージェント503に送信する。ウィジェットランタイム502は、また、URL(B)の指定に応じ、URL(B)が指定されたHTTPリクエストをエージェント503に送信する。

エージェント503は、URL(A)が指定されたHTTPリクエストを受信すると、機能Aを実行する。エージェント503は、また、URL(B)が指定されたHTTPリクエストを受信すると、機能Bを実行する。

なお、エージェント503は、ウィジェット及びウィジェットランタイムと同じPC(Personal Computer)等にインストールされる。また、エージェント503は、例えば、Java(登録商標)等、高度な処理が可能なプログラミング言語によって実装される。したがって、図1に示されるような構成によれば、ウィジェット501a又は502aは、HTML又はXML、及びスクリプト等では実装できない高度な機能A又は機能Bをユーザに提供することができる。

概要

他のプログラムに機能を提供するプログラムにおいて機能拡張簡便性及び安全性を向上させる。情報処理装置は、機能の識別情報が指定された機能の実行要求の受信に応じ、当該識別情報に係る機能を実行する第一の機能実行手段と、第一の機能実行手段とは異なるプロセスにおいて機能し、識別情報に基づいて第一の機能実行手段より転送された実行要求に指定されている識別情報に係る機能を実行する第二の機能実行手段とを有する。第一の機能実行手段は、受信された機能の実行要求に指定されている識別情報がプログラムモジュール追加機能を示す場合は、当該実行要求に指定されているプログラムモジュールを第二の機能実行手段に追加し、第二の機能実行手段は、第一の機能実行手段より転送された実行要求に指定された識別情報に係る機能を、当該第二の機能実行手段に追加されたプログラムモジュールに実行させる。

目的

ここでいうエージェントとは、WebAPIを介して機能を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

機能の識別情報が指定された機能の実行要求の受信に応じ、当該識別情報に係る機能を実行する第一の機能実行手段と、前記第一の機能実行手段とは異なるプロセスにおいて機能し、前記識別情報に基づいて前記第一の機能実行手段より転送された実行要求に指定されている前記識別情報に係る機能を実行する第二の機能実行手段とを有し、前記第一の機能実行手段は、受信された機能の実行要求に指定されている前記識別情報がプログラムモジュール追加機能を示す場合は、当該実行要求に指定されている前記プログラムモジュールを前記第二の機能実行手段に追加し、前記第二の機能実行手段は、前記第一の機能実行手段より転送された前記実行要求に指定された前記識別情報に係る機能を、当該第二の機能実行手段に追加された前記プログラムモジュールに実行させる情報処理装置

請求項2

前記第二の機能実行手段は、前記プログラムモジュールの追加に応じ、当該プログラムモジュールの機能に対する識別情報を取得して、当該識別情報を当該プログラムモジュールに対応付けて記憶部に記憶し、前記第一の機能実行手段より転送された実行要求に指定されている前記識別情報に対応付けられている前記プログラムモジュールに機能を実行させる請求項1記載の情報処理装置。

請求項3

前記第二の機能実行手段は、前記プログラムモジュールの追加に応じて当該プログラムモジュールより取得された前記識別情報を前記第一の機能実行手段に通知し、前記第一の機能実行手段は、前記第二の機能実行手段より通知された前記識別情報を、前記第二の機能実行手段に対応付けて記憶部に記憶し、受信された機能の実行要求に指定された前記識別情報が、前記第二の機能実行手段に対応付けられている場合に、当該実行要求を前記第二の機能実行手段に転送する請求項2記載の情報処理装置。

請求項4

コンピュータを、機能の識別情報が指定された機能の実行要求の受信に応じ、当該識別情報に係る機能を実行する第一の機能実行手段と、前記第一の機能実行手段とは異なるプロセスにおいて機能し、前記識別情報に基づいて前記第一の機能実行手段より転送された実行要求に指定されている前記識別情報に係る機能を実行する第二の機能実行手段として機能させ、前記第一の機能実行手段は、受信された機能の実行要求に指定されている前記識別情報がプログラムモジュールの追加機能を示す場合は、当該実行要求に指定されている前記プログラムモジュールを前記第二の機能実行手段に追加し、前記第二の機能実行手段は、前記第一の機能実行手段より転送された前記実行要求に指定された前記識別情報に係る機能を、当該第二の機能実行手段に追加された前記プログラムモジュールに実行させるプログラム

技術分野

0001

本発明は、情報処理装置及びプログラムに関する。

背景技術

0002

従来、ウィジェット(Widget)若しくはデスクトップウィジェット、又はガジェット(Gadget)等と呼ばれる、簡易アプリケーションインターネット等を介して提供されている。以下、このようなアプリケーションの呼称を「ウィジェット」として統一する。

0003

一般的なウィジェットは、Webページと同様に、HTML(HyperText Markup Language)若しくはXML(eXtensible Markup Language)、及びJavaScript(登録商標)若しくはVBScript等(以下、単に「スクリプト」として総称する。)を利用して実装されており、Webブラウザベースプラットフォーム上で実行される。したがって、ウィジェットのみによって提供される機能は、HTTP通信を介した情報の取得や、GUI(Graphical User Interface)の提供等に限られている。なお、Webブラウザベースのプラットフォームとは、Webブラウザの基盤機能を有するプラットフォーム(以下、「ウィジェットランタイム」という。)をいう。Webブラウザの基盤機能とは、クライアントとしてHTTP通信を実行する機能、HTML又はXML等を解釈して画面を描画する機能、及びスクリプトを解釈して実行する機能等をいう。

0004

ウィジェットランタイムの中には、より高度な機能を提供可能なウィジェットを実装可能とするために、エージェントの備える機能をウィジェットに利用可能としている。

0005

ここでいうエージェントとは、WebAPIを介して機能を提供するプログラムをいう。具体的には、エージェントは、HTTPリクエストに応じ、当該HTTPリクエストにおいて指定されたURL(Uniform Resource Locator)に対応する機能を提供するプログラムをいう。すなわち、WebAPIとは、URLの指定によって機能の実行要求受け付けるAPI(Application Program Interface)をいう。

0006

図1は、ウィジェット、ウィジェットランタイム、及びエージェントの関係を説明するための図である。

0007

図1において、ウィジェット501aは、ウィジェットランタイム502に対してURL(A)を指定して、機能Aの実行要求を行っている。ウィジェット501bは、ウィジェットランタイム502に対してURL(B)を指定して、機能Bの実行要求を行っている。ウィジェットランタイム502は、URL(A)の指定に応じ、URL(A)が指定されたHTTPリクエストをエージェント503に送信する。ウィジェットランタイム502は、また、URL(B)の指定に応じ、URL(B)が指定されたHTTPリクエストをエージェント503に送信する。

0008

エージェント503は、URL(A)が指定されたHTTPリクエストを受信すると、機能Aを実行する。エージェント503は、また、URL(B)が指定されたHTTPリクエストを受信すると、機能Bを実行する。

0009

なお、エージェント503は、ウィジェット及びウィジェットランタイムと同じPC(Personal Computer)等にインストールされる。また、エージェント503は、例えば、Java(登録商標)等、高度な処理が可能なプログラミング言語によって実装される。したがって、図1に示されるような構成によれば、ウィジェット501a又は502aは、HTML又はXML、及びスクリプト等では実装できない高度な機能A又は機能Bをユーザに提供することができる。

発明が解決しようとする課題

0010

しかしながら、従来、エージェントの機能は、エージェントの内部に固定的に実装されていた。従って、ウィジェットに固有な新たな機能を提供したい場合、エージェントに関して機能強化を行い、エージェントの再インストール等が必要とされた。また、新たな機能を提供するウィジェットの配布時には、機能強化が行われたエージェントの配布も必要とされ、ユーザにとって、当該ウィジェットの導入の難易度が高くなってしまう。その結果、当該ウィジェットの導入が敬遠され、開発者にとっては、せっかく開発したウィジェットがあまり利用されないという状況が発生する可能性が有る。

0011

また、機能強化に伴うバグ等により、これまで安定して動作していたエージェントの動作が不安定になる可能性もある。その結果、機能強化とは無関係なウィジェットまで、当該バグの影響を受け、動作が不安定となってしまう可能性がある。

0012

本発明は、上記の点に鑑みてなされたものであって、他のプログラムに機能を提供するプログラムに関して機能拡張簡便性及び安全性を向上させることを目的とする。

課題を解決するための手段

0013

そこで上記課題を解決するため、情報処理装置は、機能の識別情報が指定された機能の実行要求の受信に応じ、当該識別情報に係る機能を実行する第一の機能実行手段と、前記第一の機能実行手段とは異なるプロセスにおいて機能し、前記識別情報に基づいて前記第一の機能実行手段より転送された実行要求に指定されている前記識別情報に係る機能を実行する第二の機能実行手段とを有し、前記第一の機能実行手段は、受信された機能の実行要求に指定されている前記識別情報がプログラムモジュール追加機能を示す場合は、当該実行要求に指定されている前記プログラムモジュールを前記第二の機能実行手段に追加し、前記第二の機能実行手段は、前記第一の機能実行手段より転送された前記実行要求に指定された前記識別情報に係る機能を、当該第二の機能実行手段に追加された前記プログラムモジュールに実行させる。

発明の効果

0014

他のプログラムに機能を提供するプログラムに関して機能拡張の簡便性及び安全性を向上させることができる。

図面の簡単な説明

0015

ウィジェット、ウィジェットランタイム、及びエージェントの関係を説明するための図である。
本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。
情報処理装置の基本機能に関するソフトウェア構成例を示す図である。
プログラムモジュールの機能に対するインタフェースをWebAPIとして公開するための処理手順の第一の例を説明するためのシーケンス図である。
プログラムモジュールの機能に対するインタフェースをWebAPIとして公開するための処理手順の第二の例を説明するためのシーケンス図である。
拡張モジュールが有するプログラムモジュールの追加機能の利用形態の一例を示す図である。
ウィジェットからのプログラムモジュールの追加要求に応じて実行される処理概要を説明するためのシーケンス図である。
ウィジェットからのプログラムモジュールの追加要求に応じて実行される処理手順の第一の例を説明するためのシーケンス図である。
ウィジェットからのプログラムモジュールの追加要求に応じて実行される処理手順の第二の例を説明するためのシーケンス図である。
拡張エージェントにおけるプログラムモジュールの実行要求に応じて実行される処理手順の一例を説明するためのシーケンス図である。

実施例

0016

以下、図面に基づいて本発明の実施の形態を説明する。図2は、本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。図2の情報処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。

0017

情報処理装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。

0018

メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報処理装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。

0019

図3は、情報処理装置の基本機能に関するソフトウェア構成例を示す図である。図3において、情報処理装置10は、ウィジェット11、ウィジェットランタイム12、及びエージェント13等を含む。

0020

ウィジェット11は、一般的に、ウィジェット(Widget)若しくはデスクトップウィジェット、又はガジェット(Gadget)等と呼ばれる、簡易なアプリケーションプログラムである。ウィジェット11は、例えば、HTML(HyperText Markup Language)若しくはXML(eXtensible Markup Language)、及びJavaScript(登録商標)若しくはVBScript(以下、単に「スクリプト」として総称する。)等を利用して実装される。

0021

ウィジェットランタイム12は、ウィジェット11の実行環境を実現するソフトウェアプログラムである。ウィジェットランタイム12は、クライアントとしてHTTP通信を実行する機能、HTML又はXML等を解釈して画面を描画する機能、及びスクリプトを解釈して実行する機能等、一般的なWebブラウザが有している機能を備える。ウィジェットランタイム12は、斯かる機能によって、ウィジェット11の画面の表示、ウィジェット11に定義されたスクリプトの実行等を行う。

0022

エージェント13は、WebAPIを介して機能を提供するプログラム群である。具体的には、エージェント13は、クライアントからのHTTPリクエストに応じ、当該HTTPリクエストにおいて指定されたURL(Uniform Resource Locator)に対応する機能を提供する。すなわち、WebAPIとは、URLを機能の識別情報として、機能の実行要求を受け付けるAPI(Application Program Interface)をいう。

0023

本実施の形態では、ウィジェット11よりURLの指定を受け付けるウィジェットランタイム12が、エージェント13に対するクライアントに相当する。

0024

図3において、エージェント13は、一以上のプログラムモジュール131、モジュールプラットフォーム132、及びモジュールランタイム133等を含む。

0025

各プログラムモジュール131は、それぞれに固有の機能を実行するプログラムモジュールである。同図には、プログラムモジュール131の一例として、Aモジュール131a、Bモジュール131b、WebAPIモジュール131w、及び拡張モジュール131e等が例示されている。このうち、WebAPIモジュール131w及び拡張モジュール131eは、特別な機能及び役割を有するプログラムモジュール131である。

0026

WebAPIモジュール131wは、他のプログラムモジュール131の機能に対するインタフェースを、WebAPIとして公開する役割を担う。具体的には、WebAPIモジュール131wは、所定のポート番号のポートを開設し、当該ポート宛のHTTPリクエストに指定されたURLに対応するプログラムモジュール131を呼び出す。すなわち、各プログラムモジュール131には、URLが割り当てられ、WebAPIモジュール131wは、各プログラムモジュール131のURLを、各プログラムモジュール131に対応付けて管理する。

0027

拡張モジュール131eは、エージェント13には実装されていない機能を実現するプログラムモジュール131の追加機能を実現するプログラムモジュール131である。プログラムモジュール131の追加の意味については、後述される。拡張モジュール131eによって、エージェント13の機能拡張が簡便かつ安全に行われる。

0028

モジュールランタイム133は、モジュールの実行環境を提供する。モジュールランタイム133の一例として、Java(登録商標)VM(Virtual Machine)が挙げられる。

0029

モジュールプラットフォーム132は、モジュールランタイム133が提供する実行環境におけるプログラムのモジュール化又は部品化を容易にするためのプラットフォームである。モジュールプラットフォーム132の一例として、OSGi(Open Services Gateway Initiative)プラットフォームが挙げられる。OSGiプラットフォームとは、OSGiアライアンスによる標準化技術であり、Java(登録商標)言語に基づいたオープンソフトウェア部品化技術に基づいて作成されたプログラムモジュール131の実行環境を提供するソフトウェアプラットフォームである。OSGiプラットフォーム上において、Java(登録商標)言語のプログラムモジュールは「バンドル」と呼ばれるソフトウェア部品の形で実装される。一つのバンドルは、それぞれ独立して動的に(情報処理装置10の再起動を要することなく)インストール可能である。したがって、モジュールプラットフォーム132として、OSGiプラットフォームが採用される場合、本実施の形態における各プログラムモジュール131は、バンドルとして実装される。

0030

なお、図3において、ウィジェットランタイム12及びエージェント13は、相互に異なるプロセスとして動作する。ウィジェット11は、ウィジェットランタイム12のプロセス上で起動される。各プログラムモジュール131は、エージェント13上のプロセス上で、スレッドとして起動される。

0031

以下、情報処理装置10において実行される処理手順について説明する。図4は、プログラムモジュールの機能に対するインタフェースをWebAPIとして公開するための処理手順の第一の例を説明するためのシーケンス図である。例えば、図4の処理は、エージェント13のプロセスの起動時に実行される。

0032

テップS101において、モジュールプラットフォーム132は、モジュールプラットフォーム132に登録されている各プログラムモジュール131に対して、起動指示を行う。起動とは、例えば、各プログラムモジュール131をスレッドとして起動させることである。

0033

各プログラムモジュール131は、起動指示に応じ、当該プログラムモジュール131の機能を識別するURLと、当該機能に関するアドレス情報(例えば、ポインタ等)とをWebAPIモジュール131wに通知する(S102)。当該通知は、例えば、WebAPIモジュール131wが有する所定のメソッドを呼び出すことにより行われる。なお、URLは、当該プログラムモジュール131の機能に対するインタフェースをエージェント13の外部に公開するために利用される識別情報である。

0034

アドレス情報(ポインタ等)は、エージェント13の内部において、プログラムモジュール131の呼び出し機構の実装上の都合により、必要となる識別情報である。URLは、静的な情報であり、アドレス情報は、動的な識別情報であるともいえる。アドレス情報は、プログラムモジュール131が起動されるたびに変化する可能性が有るからである。

0035

例えば、拡張モジュール131eからは、「/exmodule」といったURLが通知される。すなわち、ここで通知されるURLは、WebAPIモジュール131wが規定するルートのURLに対する相対パスである。本実施の形態において、WebAPIモジュール131wが規定するルートのURLは、「<host>:<port>/platform」であるとする。<host>は、実際には、具体的なホスト名又はIPアドレスによって置換される。<port>は、実際には、具体的なポート番号によって置換される。

0036

続いて、WebAPIモジュール131wは、通知されたURLとアドレス情報とを対応付けて、メモリ装置103に記憶しておく(S103)。その結果、当該URLに係るプログラムモジュール131のインタフェースは、WebAPIとして公開されたことになる。WebAPIモジュール131wは、当該URLが指定されたHTTPリクエストの受信に応じ、当該URLに対応するアドレス情報に基づいて、当該URLに対応するプログラムモジュール131を呼び出すことができるからである。

0037

なお、例えば、拡張モジュール131eのWebAPIに対するURLは、エージェント13の外部に対しては、「<host>:<port>/platform/exmodule」として公開される。換言すれば、ウィジェット11が、拡張モジュール131eの機能を利用したい場合、URLとして「<host>:<port>/platform/exmodule」が指定されたHTTPリクエストを、WebAPIモジュール131wに対して送信すればよい。

0038

続いて、WebAPIモジュール131wは、各プログラムモジュール131に対して応答返却する(S104)。各プログラムモジュール131は、モジュールプラットフォーム132に応答を返却する(S105)。

0039

続いて、図4に対する変形例について説明する。図5は、プログラムモジュールの機能に対するインタフェースをWebAPIとして公開するための処理手順の第二の例を説明するためのシーケンス図である。図5中、図4と同一又は対応するステップには、図4と同じステップ番号又は図4のステップ番号に対して枝番が付与されたステップ番号を付し、その説明は適宜省略する。

0040

図5では、ステップS102及びS104におけるWebAPIモジュール131wと各プログラムモジュール131とのやり取りが、モジュールプラットフォーム132によって仲介される例が示されている。

0041

すなわち、各プログラムモジュール131の機能に対するURLと、当該機能に関するアドレス情報とは、モジュールプラットフォーム132を介して、各プログラムモジュール131からWebAPIモジュール131wに通知される(S102−1、S102−2)。

0042

また、WebAPIモジュール131wからの応答は、モジュールプラットフォーム132を介して、各プログラムモジュール131へ返却される(S104−1、S104−2)。

0043

図5に示される処理手順によれば、各プログラムモジュール131について、WebAPIモジュール131wへの依存度を低減させることができる。すなわち、各プログラムモジュール131は、WebAPIモジュール131wの存在を意識することなく、自らの機能に対するインタフェースをWebAPIとして公開することができる。

0044

なお、新たなプログラムモジュール131がモジュールプラットフォーム132上に追加された場合、追加されたタイミングで当該プログラムモジュール131に関して、図4又は図5において説明した処理が実行される。その結果、当該プログラムモジュール131のインタフェースは、自動的にWebAPIとして公開される。

0045

続いて、拡張モジュール131eの機能について説明する。上記したように、拡張モジュール131eは、プログラムモジュール131の追加機能を有する。当該追加機能は、例えば、次のように利用される。

0046

図6は、拡張モジュールが有するプログラムモジュールの追加機能の利用形態の一例を示す図である。

0047

図6において、ウィジェット11aは、エージェント13が有していない機能を実現するプログラムモジュール131であるCモジュール131cの機能を必要とするウィジェット11である。この場合、例えば、ウィジェット11aの配布時には、ウィジェット11aと共にCモジュール131cが配布されることが考えられる。ウィジェット11の配布形態の一例として、例えば、所定のサイトからのウィジェット11のダウンロードが挙げられる。

0048

ウィジェット11aは、起動されると、プログラムモジュール131の追加機能に対応するURL(すなわち、拡張モジュール131eに対するURL)と、Cモジュール131cの保存先ファイルパス名とを指定して、ウィジェットランタイム12にWebAPIの呼び出しを要求する(S201)。なお、Cモジュール131cの保存先のファイルパス名の代わりに、Cモジュール131cを特定可能なURLが指定されてもよい。

0049

ウィジェットランタイム12は、プログラムモジュール131の追加機能に対応するURL及び当該ファイルパス名が指定されたHTTPリクエストを、WebAPIモジュール131w宛に送信する(S202)。WebAPIモジュール131wは、当該URLに対応するプログラムモジュール131を呼び出す。上述したように、プログラムモジュール131の追加機能を示すURLに対応するプログラムモジュール131は、拡張モジュール131eである。したがって、ここでは、拡張モジュール131eが呼び出される(S203)。

0050

拡張モジュール131eは、呼び出しに応じ、拡張エージェント13aを起動させる(S204)。拡張エージェント13aは、モジュールプラットフォーム132及びモジュールランタイム133に関して、エージェント13と同じプログラムを用いて、エージェント13とは異なるプロセスとして起動される。したがって、拡張エージェント13aは、エージェント13と同様に、モジュールプラットフォーム132a及びモジュールランタイム133aを含む。

0051

但し、図6に示されるように、拡張モジュール131eが基本構成として有するプログラムモジュール131は、プロキシモジュール131pである。プロキシモジュール131pは、拡張モジュール131eと協調して(S205)、Cモジュール131cを、拡張エージェント13aのモジュールプラットフォーム132aに登録する(S206)。プロキシモジュール131pは、また、拡張モジュール131eと協調して、Cモジュール131cの機能に対するインタフェースをWebAPIとして公開するための処理を行う。

0052

このように、Cモジュール131cは、エージェント13ではなく、拡張エージェント13aに登録される。ウィジェット11の都合でプログラムモジュール131を拡張エージェント13aに追加可能となることで、ウィジェット11の実装上の制限を超えた機能の実現が可能となる。ここで、Cモジュール131cがエージェント13ではなく、拡張エージェント13aに登録されるのは、次のような理由による。

0053

すなわち、プログラムモジュール131の自由な追加が許容されると、テストが不十分なプログラムモジュール131等、動作の安定性保証されていないプログラムモジュール131も、エージェント13に登録される可能性がある。このようなプログラムモジュール131がエージェント13に登録されると、当該プログラムモジュール131の不具合メモリ消費等によって、エージェント13内の他のプログラムモジュール131の動作にも悪影響が及ぶ可能性がある。エージェント13に含まれる各プログラムモジュール131は、同一のプロセス上で動作するため、いずれかのプログラムモジュール131による不正動作によって当該プロセスが終了してしまうと、他のプログラムモジュール131も動作不能となってしまうからである。

0054

そこで、本実施の形態では、ウィジェット11から追加が要求されたプログラムモジュール131に関しては、エージェント13とは別プロセスの拡張エージェント13aに登録されるのである。そうすることで、エージェント13のプロセスの安定性又は安全性を確保することができる。

0055

図6において説明した、ウィジェット11によるプログラムモジュール131の追加要求に応じて実行される処理について、シーケンス図を用いて説明する。

0056

図7は、ウィジェットからのプログラムモジュールの追加要求に応じて実行される処理概要を説明するためのシーケンス図である。括弧内のステップ番号は、図6において対応するステップのステップ番号を示す。図7においても、新たなプログラムモジュール131の追加を要求するウィジェット11は、ウィジェット11aであるとする。また、新たなプログラムモジュール131は、Cモジュール131cであるとする。なお、図7においては、WebAPIモジュール131w、拡張モジュール131e、及びプロキシモジュール131pは、エージェント13又は拡張エージェント13aとして抽象化されて示されている。

0057

ウィジェット11aは、起動されると、プログラムモジュール131の追加機能に対応するURLと、Cモジュール131cの保存先のファイルパス名とを指定して、ウィジェットランタイム12にWebAPIの呼び出しを要求する(S301)。ここでは、当該URLとして、「<host>:<port>/platoform/exmodule」が指定される。なお、Cモジュール131cは、必ずしもウィジェット11aと共に配布されなくてもよい。図6は、Cモジュール131cの配布形態の一例を示したものに過ぎない。

0058

続いて、ウィジェットランタイム12は、当該URL及び当該ファイルパス名が指定されたHTTPリクエストを、エージェント13に送信する(S302)。当該HTTPリクエストに応じ、エージェント13は、拡張エージェント13aをプロセスとして起動させる(S303)。

0059

続いて、エージェント13は、Cモジュール131cのファイルパス名を指定して、Cモジュール131cの追加要求を拡張エージェント13aに対して送信する(S304)。当該追加要求に応じ、拡張エージェント13aは、Cモジュール131cを拡張エージェント13a上のプログラムモジュール131として登録する。続いて、拡張エージェント13aは、Cモジュール131cの追加の完了を示す応答を返信する(S305)。

0060

続いて、エージェント13は、Cモジュール131cの起動要求を拡張エージェント13aに送信する(S306)。当該起動要求に応じ、拡張エージェント13aは、Cモジュール131cをスレッドとして起動させる。Cモジュール131cの起動に応じて、拡張エージェント13a上では、図4又は図5において説明したような処理が、Cモジュール131cに関して実行される。すなわち、Cモジュール131cより、Cモジュール131cの機能に対するURLと、当該機能に関するアドレス情報とが拡張エージェント13aに対して通知される。当該URLと当該アドレス情報との対応関係は、拡張エージェント13aにおいて管理される。

0061

続いて、拡張エージェント13aは、当該URLを指定して、Cモジュール131cの機能に関して、WebAPIの登録要求をエージェント13に送信する(S307)。エージェント13は、当該URLと当該拡張エージェント13aに関する識別情報とを対応付けてメモリ装置103に記憶する(S308)。その結果、Cモジュール131cのインタフェースは、WebAPIとして公開されたことになる。すなわち、エージェント13は、当該URLが指定されたHTTPリクエストの受信に応じ、当該URLに対応する識別情報に係る拡張エージェント13aを呼び出すことができる。この際、拡張エージェント13aには、当該URLが通知される。拡張エージェント13aは、当該URLとアドレス情報とを対応付けて管理している。したがって、拡張エージェント13aは、当該URLに対応するアドレス情報に基づいて、Cモジュール131cを呼び出すことができる。

0062

続いて、エージェント13は、Cモジュール131cのインタフェースがWebAPIとして登録されたことを示す応答を、拡張エージェント13aに返信する(S308)。当該応答に応じ、拡張エージェント13aは、Cモジュール131cの起動が完了したことを示す応答を、エージェント13に返信する(S309)。

0063

続いて、エージェント13は、Cモジュール131cの追加の完了を示すHTTPレスポンスをウィジェットランタイム12に返信する(S310)。ウィジェットランタイム12は、Cモジュール131cの追加の完了を示す応答をウィジェット11aに返却する(S311)。

0064

続いて、図7処理内容をエージェント13内又は拡張エージェント13a内のプログラムモジュール131のレベル細分化して説明する。

0065

図8は、ウィジェットからのプログラムモジュールの追加要求に応じて実行される処理手順の第一の例を説明するためのシーケンス図である。括弧内のステップ番号は、図7において対応するステップのステップ番号を示す。なお、図8では、便宜上、ウィジェットランタイム12は省略されている。すなわち、図8において、ウィジェット11aと、WebAPIモジュール131wとの通信は、厳密には、ウィジェットランタイム12を経由して行われる。

0066

ステップS401において、WebAPIモジュール131wは、起動されたウィジェット11aからの要求に基づいて送信された、プログラムモジュール131の追加機能に対応するURLと、Cモジュール131cの保存先のファイルパス名とが指定されたHTTPリクエストを受信する(S401)。WebAPIモジュール131wは、プログラムモジュール131の追加機能に対応するURLに対応付けられているアドレス情報に基づいて、拡張モジュール131eを呼び出す(S402)。この際、拡張モジュール131eには、Cモジュール131cのファイルパス名が通知される。

0067

続いて、拡張モジュール131eは、モジュールプラットフォーム132aを含む拡張エージェント13aをプロセスとして起動させる(S403)。続いて、拡張モジュール131eは、Cモジュール131cのファイルパス名を指定して、Cモジュール131cの追加要求をモジュールプラットフォーム132aに対して送信する(S404)。当該追加要求に応じ、モジュールプラットフォーム132aは、Cモジュール131cをモジュールプラットフォーム132a上のプログラムモジュール131として登録する。登録に応じて、Cモジュール131cに対してIDが割り当てられる。当該IDを、以下「登録ID」という。ここでは、登録IDとして、「001」が割り当てられたこととする。モジュールプラットフォーム132aは、登録ID(「001」)を含む応答を、拡張モジュール131eに返信する(S405)。

0068

拡張モジュール131eは、当該登録IDに基づいて、Cモジュール131cのルートURLを生成する。例えば、「/exmodule/001」が、当該ルートURLとして生成される。すなわち、拡張モジュール131eのURLの相対パス(「/exmodule」)に対して、Cモジュール131cの登録IDが追加された文字列が、Cモジュール131cのルートURLとされる。なお、Cモジュール131cのルートURLとは、Cモジュール131cの機能ではなく、Cモジュール131c自体を示すURLである。ルートURLは、例えば、Cモジュール131cの削除が行われる場合に、削除対象のCモジュール131cを特定するために用いられる。

0069

拡張モジュール131eは、当該ルートURLをWebAPIとして登録することを、当該ルートURLと、拡張モジュール131eが有するプログラムモジュール131の追加機能に関するアドレス情報(例えば、ポインタ等)とを指定して、WebAPIモジュール131aに要求する(S406)。

0070

続いて、WebAPIモジュール131wは、Cモジュール131cのルートURLと、拡張モジュール131eが有するプログラムモジュール131の追加機能に関するアドレス情報とを対応付けて、例えば、メモリ装置103に記憶する(S407)。これによって、ルートURLは、WebAPIとして公開される。なお、エージェント13の外部に対しては、Cモジュール131cのルートURLの絶対パスは、「<host>:<port>/platform/exmodule/001」となる。

0071

続いて、WebAPIモジュール131wは、ルートURLがWebAPIとして登録されたことを示す応答を拡張モジュール131eに返信する(S408)。

0072

なお、ここまででWebAPIとして登録又は公開されたのは、Cモジュール131cのルートURLであって、Cモジュール131cの機能に対するURLではない。したがって、例えば、ウィジェット11aは、この段階では、Cモジュール131cの機能を呼び出すことはできない。

0073

続いて、拡張モジュール131eは、Cモジュール131cの登録ID(「001」)を指定して、Cモジュール131cの起動要求をモジュールプラットフォーム132aに送信する(S409)。当該起動要求に応じ、モジュールプラットフォーム132aは、当該登録IDに基づいて特定されるCモジュール131cをスレッドとして起動させる(S410)。

0074

Cモジュール131cは、起動されると、図4のステップS102と同様に、当該Cモジュール131cの機能に対するURLと、当該機能に関するアドレス情報(例えば、ポインタ等)とをプロキシモジュール131pに通知する(S411)。プロキシモジュール131pは、当該URLと、当該アドレス情報とを対応付けて、例えば、メモリ装置103に記憶する。ここでは、Cモジュール131cの機能に対するURLの相対パスは、「/001/functionC」であるとする。当該URLは、Cモジュール131cの登録IDに対して、「functionC」が付加されたものである。Cモジュール131cの機能に対する本来的な識別子は、「functionC」である。登録IDが付加されることにより、Cモジュール131cと他のモジュールとのURLの重複が回避される可能性を高めることができる。基本的に登録IDは、重複しないからである。

0075

但し、当該URLに対して、登録IDが付加されなくてもよい。この場合、プロキシモジュール131pによって、URLの重複の有無がチェックされてもよい。URLの重複が検出された場合、プロキシモジュール131pは、別のURLの指定をCモジュール131cに対して要求してもよいし、プロキシモジュール131pが、別のURLを自動的に生成してもよい。

0076

なお、プロキシモジュール131pは、拡張エージェント13a内のプログラムモジュール131からは、WebAPIモジュール131wと同様に見える。すなわち、プロキシモジュール131pは、拡張エージェント13a内のプログラムモジュール131に対して、WebAPIモジュール131wと同じインタフェース(メソッド)を公開する。したがって、Cモジュール131cも含めて各プログラムモジュール131は、自らが起動された環境が、モジュールプラットフォーム132であるのか又はモジュールプラットフォーム131aであるのかを意識することなく、所定のメソッドを呼び出せばよい。そうすることで、各プログラムモジュール131は、WebAPIモジュール131w又はプロキシモジュール131pに、当該プログラムモジュール131の機能に対するURLと、当該機能に関するアドレス情報とを通知することができる。

0077

続いて、プロキシモジュール131pは、Cモジュール131cの機能に対するURL(「/001/functionC」)を指定して、Cモジュール131cの機能に関して、WebAPIとしての登録要求を拡張モジュール131eに送信する(S412)。この際、プロキシモジュール131pに対する通信用の識別子が、当該URLと共にプロキシモジュール131pに通知されてもよい。プロキシモジュール131pに対する通信用の識別子とは、プロキシモジュール131pと、拡張モジュール131eとの通信において、拡張モジュール131eが、プロキシモジュール131pを識別するための識別子である。当該識別子の実体は、当該通信のプロトコルに依存する。但し、拡張モジュール131eにとって、当該識別子が既知である場合、当該識別子は通知されなくてもよい。なお、プロキシモジュール131pと拡張モジュール131eとの通信は、例えば、RMI(Remote Method Invocation)に基づいて行われてもよい。または、HTTPやSOAP(Simple Object Access Protocol)等、プログラム言語非依存通信プロトコルに基づいて行われてもよい。

0078

なお、ステップS412において、Cモジュール131cのアドレス情報が通知されないのは、当該アドレス情報は、拡張エージェント13aのプロセス内において有効な値であり、エージェント13内においては、無効な値であるからである。

0079

続いて、拡張モジュール131eは、Cモジュール131cの機能に関して、WebAPIとしての登録をWebAPIモジュール131wに要求する(S413)。当該要求には、ステップS412において通知されたCモジュール131cの機能に対するURLに対して拡張モジュール131eのURLが付加されたURLと、拡張モジュール131eの仲介機能に関するアドレス情報とが指定される。本実施の形態において、Cモジュール131cの機能に対するURLに対して拡張モジュール131eのURLを付加したURLとは、「exmodule/001/functionC」である。以下、当該URLを、Cモジュール131cの機能に対するURLという。

0080

WebAPIモジュール131wは、Cモジュール131cの機能に対するURLと、拡張モジュール131eの仲介機能に関するアドレス情報とを対応付けて、例えば、メモリ装置103に記憶する。なお、拡張モジュール131eの仲介機能とは、WebAPIモジュール131wが受け付けたHTTPリクエストを、拡張エージェント13a内のプログラムモジュール131に仲介又は転送する機能をいう。上記したように、拡張モジュール131eは、当該仲介機能とは別に、プログラムモジュール131の追加機能を有する。当該追加機能のアドレス情報は、WebAPIモジュール131wによって、当該追加機能に対するURLに対応付けられて記憶されている。ステップS413では、当該追加機能と、当該仲介機能とを区別可能するために、当該仲介機能のアドレス情報として、当該追加機能とは異なるアドレス情報が、WebAPIモジュール131wに通知される。

0081

なお、例えば、Cモジュール131cのWebAPIに対するURLは、エージェント13の外部に対しては、「<host>:<port>/platform/exmodule/001/functionC」として公開される。当該URLは、Cモジュール131cのルートURLに対して、「/functionC」が付加されたものである。

0082

続いて、WebAPIモジュール131wは、通知されたURLに係る機能に対するインタフェースがWebAPIとして登録されたことを示す応答を、拡張モジュール131eに返却する(S415)。

0083

拡張モジュール131eは、Cモジュール131cの機能に対するインタフェースがWebAPIとして登録されたことを示す応答を、プロキシモジュール131pに返信する(S416)。続いて、プロキシモジュール131pは、Cモジュール131cの機能に対するインタフェースがWebAPIとして登録されたことを示す応答を、Cモジュール131cに対して返却する(S417)。Cモジュール131cは、ステップS410における起動指示に対する応答を、モジュールプラットフォーム132aに対して行う(S418)。モジュールプラットフォーム132aは、ステップS409における、Cモジュール131cの起動要求に対する応答を、拡張モジュール131eに対して返信する(S419)。

0084

拡張モジュール131eは、ステップS402における、Cモジュール131cの追加要求に対する応答を、WebAPIモジュール131wに返却する(S420)。WebAPIモジュール131wは、Cモジュール131cのルートURLを含む応答を、ウィジェットランタイム12経由で、ウィジェット11aに返信する(S421)。その後、ウィジェット11aは、当該ルートURLに基づいて、Cモジュール131cの削除や、Cモジュール131cの機能の呼び出しを行うことができる。

0085

続いて、図8に対する変形例について説明する。図9は、ウィジェットからのプログラムモジュールの追加要求に応じて実行される処理手順の第二の例を説明するためのシーケンス図である。図9中、図8と同一又は対応するステップには、図8と同じステップ番号又は図8のステップ番号に対して枝番が付与されたステップ番号を付し、その説明は適宜省略する。

0086

図8図9との関係は、図4図5との関係と同様である。すなわち、図9では、各プログラムモジュール131間のやり取りが、モジュールプラットフォーム132又はモジュールプラットフォーム132aによって仲介されている。

0087

具体的には、ステップS406、S408、S413、及びS415に関して、WebAPIモジュール131wと拡張モジュール131eとのやり取りは、モジュールプラットフォーム132によって仲介されている。

0088

また、ステップS411及びS417に関して、Cモジュール131cとプロキシモジュール131pとのやり取りは、モジュールプラットフォーム132aによって仲介されている。

0089

その他の点は、図8と同様である。

0090

続いて、ウィジェット11aが、Cモジュール131cの機能を呼び出す際に実行される処理について説明する。

0091

図10は、拡張エージェントにおけるプログラムモジュールの実行要求に応じて実行される処理手順の一例を説明するためのシーケンス図である。

0092

ステップS501において、ウィジェット11aは、Cモジュール131cの実行要求をウィジェットランタイム12に入力する。当該実行要求には、Cモジュール131cの機能に対するURL(「<host>:<port>/platform/exmodule/001/functionC」)が指定される。

0093

なお、図8又は図9のステップS421において、ウィジェット11aには、Cモジュール131cのルートURLしか返信されていない。すなわち、Cモジュール131cの機能に対するURLは返信されていない。それにも拘わらず、ウィジェット11aがCモジュール131cの機能に対するURLを指定できるのは、ウィジェット11aは、当初よりCモジュール131cの利用を予定して実装されているからである。すなわち、ウィジェット11aは、Cモジュール131cの機能の識別子が「functionC」であることを知っており、当該識別子を、Cモジュール131cのルートURLに付加されたものが、Cモジュール131cの機能に対するURLになるという規則又は約束事を知っているからである。なお、ステップS421において、Cモジュール131cの機能に対するURLが返信されてもよい。

0094

続いて、ウィジェットランタイム12は、当該URL宛にHTTPリクエストを送信する(S502)。当該HTTPリクエストは、WebAPIモジュール131wによって受信される。

0095

WebAPIモジュール131wは、当該URLに対応づけられてメモリ装置103に記憶されているアドレス情報に係る拡張モジュール131eに対して、Cモジュール131cの実行を要求する(S503)。当該実行要求には、当該URLが指定される。但し、当該URLの全てが指定されなくてもよい。例えば、「/001/functionC」のみが指定されてもよい。

0096

続いて、拡張モジュール131eは、指定されたURLを含む、Cモジュール131cの実行要求を、プロキシモジュール131pに送信(転送)する(S504)。続いて、プロキシモジュール131pは、当該URLに対応付けられてメモリ装置103に記憶されているアドレス情報に基づいて、Cモジュール131cを呼び出す(S505)。Cモジュール131cは、呼び出しに応じ、自らに実装されている機能を実現するための処理を実行する(S506)。続いて、Cモジュール131cは、機能の実行結果(成果物)をプロキシモジュール131pに返却する(S507)。

0097

プロキシモジュール131pは、当該実行結果を含む応答を機能モジュールに返信する(S508)。機能モジュールは、当該実行結果を含む応答をWebAPIモジュール131wに返却する(S509)。WebAPIモジュール131wは、当該実行結果を含むHTTPレスポンスを、ウィジェットランタイム12に返信する(S510)。ウィジェットランタイム12は、当該実行結果を含む応答を、ウィジェット11aに返却する(S511)。

0098

続いて、Cモジュール131cの削除について説明する。Cモジュール131cの削除命令は、例えば、Cモジュール131cのルートURLに対して、削除命令を示す所定の文字列(例えば、「DELETE」等)が指定されることによって表現される。本実施の形態では、「<host>:<port>/platform/exmodule/001/DELETE」によって、Cモジュール131cの削除命令が表現される。

0099

ウィジェット11aは、Cモジュール131cの削除を希望する際、URLとして、「<host>:<port>/platform/exmodule/001/DELETE」が指定されたHTTPリクエストを、ウィジェットランタイム12を介して送信する。

0100

WebAPIモジュール131wは、当該HTTPリクエストを受信すると、当該URLに含まれている「DELETE」に基づいて、当該HTTPリクエストが、「/exmodule/001」によって識別されるプログラムモジュール131の削除命令であることを解釈する。そこで、WebAPIモジュール131wは、「/exmodule/001」に対応付けられてメモリ装置103に記憶されているアドレス情報に係る拡張モジュール131eに対して、登録IDが「001」であるプログラムモジュール131の削除を要求する。拡張モジュール131eは、モジュールプラットフォーム132aに対して、登録IDが「001」であるプログラムモジュール131の削除を要求する。モジュールプラットフォーム132aは、登録IDが「001」であるCモジュール131cを削除する。すなわち、Cモジュール131cに関して、モジュールプラットフォーム132aに対する登録が解除される。

0101

なお、Cモジュール131c以外であって、拡張エージェント13aに追加された他のプログラムモジュール131についても、同様の手順で削除することができる。

0102

上述したように、本実施の形態によれば、エージェント13は、機能拡張用のインタフェース(プログラムモジュール131の追加機能に対するインタフェース)を備え、当該インタフェースの呼び出しに応じて、機能を拡張することができる。したがって、ウィジェット11に機能を提供するエージェント13に関して、機能拡張の簡便性を向上させることができる。

0103

また、機能拡張に係るプログラムモジュール131は、エージェント13とは別プロセスにおいて機能する拡張エージェント13aに追加される。したがって、複数のウィジェット11から同時に利用される可能性の高いエージェント13が、当該プログラムモジュール131の動作不正やメモリの消費等の影響を受ける可能性は低い。よって、ウィジェット11に機能を提供するエージェント13に関して、機能拡張の安全性を向上させることができる。

0104

また、プログラムモジュール131の機能に対するURLは、当該プログラムモジュール131より通知される(取得される)。換言すれば、プログラムモジュール131の機能に対するURLは、ランダムに割り当てられるものではなく、プログラムモジュール131より取得される識別子に基づいて、所定の規則に則して生成される。したがって、プログラムモジュール131を利用するウィジェット11にとって、プログラムモジュール131の機能に対するURLがどのような値であるかについて、予測性を高めることができる。

0105

なお、WebAPIモジュール131wは、メモリ装置103に記憶しているURLの一覧を、ウィジェット11に対して提供するインタフェースを有していてもよい。具体的には、当該一覧の提供機能に対するURLがWebAPIモジュール131wに対して割り当てられてもよい。WebAPIモジュール131wは、当該URLが指定されたHTTPリクエストが受信された場合は、メモリ装置103に記憶しているURLの一覧を返信する。ウィジェット11は、当該一覧の中から、例えばキーワード検索によって所望の機能に対するURLを特定することができる。その結果、ウィジェット11と機能(プログラムモジュール131)との関係を、疎又は動的なものとすることができる。

0106

なお、本実施の形態において、エージェント13は、第一の機能実行手段の一例である。拡張エージェント13aは、第二の機能実行手段の一例である。プログラムモジュール131の機能に対するURLは、機能毎に割り当てられた識別情報の一例である。

0107

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

0108

10情報処理装置
11ウィジェット
12 ウィジェットランタイム
13エージェント
13a拡張エージェント
100ドライブ装置
101記録媒体
102補助記憶装置
103メモリ装置
104 CPU
105インタフェース装置
106表示装置
107入力装置
131プログラムモジュール
132モジュールプラットフォーム
133 モジュールランタイム
131a Aモジュール
131b Bモジュール
131c Cモジュール
131e拡張モジュール
131pプロキシモジュール
131w WebAPIモジュール
B バス

先行技術

0109

特開2010−092376号公報

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ