JP4958122B2 - 情報処理装置、実行方法および実行用プログラム - Google Patents

情報処理装置、実行方法および実行用プログラム Download PDF

Info

Publication number
JP4958122B2
JP4958122B2 JP2009118654A JP2009118654A JP4958122B2 JP 4958122 B2 JP4958122 B2 JP 4958122B2 JP 2009118654 A JP2009118654 A JP 2009118654A JP 2009118654 A JP2009118654 A JP 2009118654A JP 4958122 B2 JP4958122 B2 JP 4958122B2
Authority
JP
Japan
Prior art keywords
message
execution
software component
component
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009118654A
Other languages
English (en)
Other versions
JP2010267122A (ja
Inventor
雅人 野口
淑朗 神山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2009118654A priority Critical patent/JP4958122B2/ja
Priority to KR1020100033970A priority patent/KR20100123600A/ko
Priority to US12/775,913 priority patent/US8683491B2/en
Publication of JP2010267122A publication Critical patent/JP2010267122A/ja
Priority to US13/525,716 priority patent/US9092245B2/en
Application granted granted Critical
Publication of JP4958122B2 publication Critical patent/JP4958122B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置、実行方法および実行用プログラムに関する。
アプリケーションに必要な機能をコンポーネントとして分解し、複数のコンポーネントを組み合わせることによりアプリケーションの構築を容易に短期間で行う、マッシュアップという手法が増えている。マッシュアップ・アプリケーションでは、単に複数のコンポーネントの画面を同時に表示するだけでなく、コンポーネント間での連携を定義して、アプリケーション上での操作を効率よく行うことができるようになる。
特開2008−146232
モバイル・デバイスなどのネットワーク、メモリ、およびCPUの能力が低いプラットフォームでは、アプリケーションの起動時に複数のコンポーネントのプログラム・コードをロードしてインスタンスを生成すると、負荷が大きくなってしまうことがある。この負荷を軽減するため、アプリケーション起動時に各コンポーネントの本体をロードしないで、アイコンまたは折り畳み可能なセクション等の形で表示画面に配置し、各コンポーネントをユーザの要求に応じて選択的に開いて、ロード、および初期化することを可能にする場合がある。一方、コンポーネント間連携を実現するためには、コンポーネント間でメッセージの送受信を行う必要があり、この送受信には通常コンポーネントのプログラム・コードをロードしておく必要があるため、前記の負荷軽減の手法と背反する。
上記課題を解決するために、本発明の第1の態様においては、コンピュータ上でソフトウエア・コンポーネントを実行するための実行用プログラムであって、当該実行用プログラムは、コンピュータを、別のソフトウエア・コンポーネントから送信されたソフトウエア・コンポーネント宛のデータ及びイベントの少なくとも一方であるメッセージを格納するメッセージ格納部と、ソフトウエア・コンポーネントの実行指示を入力部から受け取ったことに応じて、ソフトウエア・コンポーネント本体の実行コードをコンピュータ上にロードして実行させて、ソフトウエア・コンポーネントの実行指示前にメッセージ格納部に格納されたメッセージを処理させる実行処理部と、して機能させる実行用プログラムと、これに関する情報処理装置および方法とを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
図1は、本実施形態に係る情報処理装置100の構成を示す。 図2は、本実施形態に係る情報処理装置100のフローチャートの一例を示す。 図3は、本実施形態に係る実行処理部130による実行処理ステップS230のフローチャートの一例を示す。 図4は、本実施形態に係るメッセージ処理部160によるメッセージ処理ステップS260のフローチャートの一例を示す。 図5は、本実施形態に係るマッシュアップ・アプリケーションの表示画面の一例である表示画面500を示す。 図6は、本実施形態に係るメッセージ格納部110、実行処理部130、およびメッセージ処理部160を実現するためのコンポーネント・スタブ610と、ソフトウエア・コンポーネントの一例であるコンポーネント620とを示す。 図7Aは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の一例を示す。 図7Bは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の一例を示す。 図7Cは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の一例を示す。 図7Dは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の一例を示す。 図8Aは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の他の一例を示す。 図8Bは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の他の一例を示す。 図8Cは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の他の一例を示す。 図8Dは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の他の一例を示す。 図9は、本実施形態に係る情報処理装置100のレイアウト・コンテナおよびレイアウト・ペインの擬似プログラム・コードの一例を示す。 図10は、本実施形態に係るコンポーネント本体の擬似プログラム・コードの一例を示す。 図11は、本実施形態に係る情報処理装置100のコンポーネント・フレームの擬似プログラム・コードの一例を示す。 図12は、本実施形態に係る情報処理装置100のコンポーネント・ベース・モジュールの擬似プログラム・コードの一例を示す。 図13は、本実施形態に係るコンピュータ1900のハードウエア構成の一例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る情報処理装置100の構成を示す。情報処理装置100は、一例としてコンピュータ上で実行用プログラムを実行することにより実現される。情報処理装置100は、メッセージ格納部110、コンポーネント本体格納部120、実行処理部130、表示部140、入力部150、およびメッセージ処理部160を備える。
メッセージ格納部110は、ソフトウエア・コンポーネント宛のメッセージを格納する。ここで、ソフトウエア・コンポーネントは、例えば、電話帳アプリケーション、および位置情報表示アプリケーション等のガジェットまたはウィジェットと呼ばれる各種アプリケーションであってもよい。また、メッセージは、ソフトウエア・コンポーネント宛の情報であり、例えば、あるコンポーネントから他のコンポーネントへと直接的または間接的に送信するデータおよび/またはイベント等であってもよい。
コンポーネント本体格納部120は、ソフトウエア・コンポーネント本体の実行コードを格納する。コンポーネント本体格納部120は、情報処理装置100を動作させるコンピュータ上の記憶装置により実現されてもよく、コンピュータがネットワークを介してアクセスするリモート・コンピュータまたはサーバ上の記憶装置により実現されてもよい。
実行処理部130は、ソフトウエア・コンポーネントの実行指示を受け取ったことに応じて、ソフトウエア・コンポーネント本体の実行コードをコンピュータ上にロードして実行させて、ソフトウエア・コンポーネントの実行指示前にメッセージ格納部110に格納されたメッセージを処理させる。ここで、実行処理部130は、ソフトウエア・コンポーネント本体の実行開始時の処理パラメータとして、メッセージの内容をソフトウエア・コンポーネント本体に与えてもよい。これに代えて、実行処理部130は、ソフトウエア・コンポーネント本体の実行を開始してからメッセージを供給してもよい。
表示部140は、コンピュータの表示画面上に、ソフトウエア・コンポーネントに対応付けられたオブジェクトを表示する。ここで、オブジェクトは、セクション、アイコン、およびタブ等の表現(representative)またはインジケータ(indicia)、および、それらを操作することで表示・非表示の状態が切り替わるペイン(表示領域)を持つ。表示部140は、オブジェクトに対応するソフトウエア・コンポーネントをそれぞれペイン上に配置して、ペインの表示・非表示に連動して表示・非表示の状態を切り替える。
入力部150は、コンピュータの表示画面上で、ユーザがオブジェクトを操作したことを検知して、実行処理部130に通知する。ここで、オブジェクトの操作は、例えば、表示されたオブジェクト上でのクリック、表示されたオブジェクトのドラッグおよびドロップ、並びにクライアント・デバイス上のキー入力のうちの少なくとも1つであってもよい。実行処理部130は、ユーザがオブジェクトを操作したことに応じて、オブジェクトに対応付けられたソフトウエア・コンポーネント本体の実行コードをロードして実行させてもよい。
メッセージ処理部160は、ソフトウエア・コンポーネント宛のメッセージを受け取って、オブジェクトの表示を、当該メッセージを受信したことを示す表示に変更する。ここで、メッセージ処理部160がオブジェクトの表示を変更するときに、当該オブジェクトに対応するソフトウエア・コンポーネント本体の実行コードがロードおよび/または実行されていなくてもよい。メッセージ処理部160は、ソフトウエア・コンポーネント宛のメッセージを受け取って、ソフトウエア・コンポーネント本体の実行コードがロードされていないことを条件として、オブジェクトの表示を、当該メッセージを受信したことを示す表示に変更してもよい。
図2は、本実施形態に係る情報処理装置100のフローチャートの一例を示す。まず、表示部140は、コンピュータの表示画面上に、それぞれがソフトウエア・コンポーネントに対応付けられた複数のオブジェクトを表示する(S210)。そのときに、表示部140は、当該オブジェクトの一部または全部を非表示の状態にしてもよい。
次に、入力部150は、ユーザがいずれかのオブジェクトを操作したか否かを検知する(S220)。ステップS220においてオブジェクトの操作が検知された場合、入力部150は実行処理部130に実行指示を送る。実行処理部130は、当該実行指示に応じて実行処理を行う(S230)。表示部140は、実行指示を受けたソフトウエア・コンポーネントについて当該オブジェクトの表示を変更する(S240)。表示部140は、ソフトウエア・コンポーネントの実行画面をオブジェクトの一部として表示してもよい。また、ステップS240において、表示部140は当該オブジェクトの一部の表示・非表示の状態を変更してもよい。
次に、メッセージ処理部160は、メッセージを受信したか否かを判定する(S250)。ステップS250においてメッセージを受信したと判定した場合、メッセージ処理部160はメッセージの処理を行う(S260)。
次に、ステップS220に処理が戻される。続いて、ステップS220〜S260の処理が繰り返される。
図3は、本実施形態に係る実行処理部130による実行処理ステップS230のフローチャートの一例を示す。まず、実行処理部130は、操作が検知されたオブジェクトに対応するソフトウエア・コンポーネント本体の実行コードが既にロードされて実行されているか否かを判定する(S310)。ステップS310において、ソフトウエア・コンポーネント本体の実行コードが既に実行されていると判定された場合、実行処理部130は実行処理ステップS230の処理を終了する。
ステップS310において、ソフトウエア・コンポーネント本体の実行コードが実行されていないと判定された場合(S310:No)、実行処理部130は、コンポーネント本体格納部120からソフトウエア・コンポーネント本体の実行コードをロードする(S320)。続いて、実行処理部130は、ソフトウエア・コンポーネント本体の実行コードを実行させる(S330)。
続いて、実行処理部130は、メッセージ格納部110に格納されたメッセージをソフトウエア・コンポーネント本体に処理させる(S340)。続いて、実行処理部130は、ソフトウエア・コンポーネント本体に処理させたメッセージをクリアする(S350)。複数のソフトウエア・コンポーネントがメッセージ格納部110を共有する場合、実行処理部130は、ステップS340においてソフトウエア・コンポーネント本体に処理させたメッセージのみをクリアしてもよい。
図4は、本実施形態に係るメッセージ処理部160によるメッセージ処理ステップS260のフローチャートの一例を示す。メッセージ処理部160は、ソフトウエア・コンポーネント宛のメッセージを受け取って、対応するソフトウエア・コンポーネント本体の実行コードが既にロードされているか否かを判定する(S410)。
ソフトウエア・コンポーネント本体の実行コードがロードされていないと判定された場合(S410:No)には、当該メッセージをメッセージ格納部に格納する(S420)。複数のソフトウエア・コンポーネントがメッセージ格納部110を共有する場合、メッセージ格納部110は、ソフトウエア・コンポーネント毎に対応付けて当該ソフトウエア・コンポーネント宛のメッセージを格納してもよい。続いて、メッセージ処理部160は、ソフトウエア・コンポーネント宛のメッセージを受け取って、オブジェクトの表示を、当該メッセージを受け取ったことを示す表示に変更する(S430)。メッセージ処理部160は、変更された表示を、予め設定された時間の後に、当該メッセージを受け取る前の表示に戻してもよい。
また、メッセージ処理部160は、ソフトウエア・コンポーネントの処理に必要な全てのメッセージを受け取って、オブジェクトの表示を当該全てのメッセージを受信したことを示す表示に変更してもよい。これにより、メッセージ処理部160は、ソフトウエア・コンポーネント宛のメッセージが蓄積していることをユーザにわかりやすく示すことができる。
また、メッセージ処理部160は、新たに受け取ったソフトウエア・コンポーネント宛のメッセージにおける予め定められた箇所の内容が、既にメッセージ格納部に格納されたメッセージにおける対応する箇所の内容と異なる場合に、オブジェクトの表示を異なる内容のメッセージを受信したことを示す表示に変更してもよい。こうすると、新たに受け取ったメッセージが、既に受け取ったメッセージと同一である場合、メッセージ処理部160は表示を変更しないので、ユーザに対して新たな内容のメッセージが受信されたことを提示できる。
ソフトウエア・コンポーネント本体の実行コードが既にロードされていると判定された場合(S410:Yes)には、メッセージ処理部160は当該メッセージを当該ソフトウエア・コンポーネント本体へ転送する(S440)。
図5は、本実施形態に係るマッシュアップ・アプリケーションの表示画面の一例である表示画面500を示す。マッシュアップ・アプリケーションは、コンピュータによって実行される、複数のソフトウエア・コンポーネントを連携させた全体アプリケーションの一例である。レイアウト・コンテナ510は、レイアウト・コンテナ510を表示画面500内に表示する表示部140を実現する。レイアウト・コンテナ510は、複数のコンポーネントまたはコンポーネント・スタブのそれぞれについて、オブジェクトの一例であるセクション・タイトル512A〜Bおよびレイアウト・ペイン514A〜Bを、表示されたレイアウト・コンテナ510内に表示させる。
レイアウト・コンテナ510は、メッセージ処理部160の機能を実現することにより、メッセージを受けたときに、対応するコンポーネントのセクション・タイトル512A〜Bをハイライト表示等の強調表示をしてもよい。これによりレイアウト・コンテナ510は、表示されている複数のセクション・タイトル内の特定のセクション・タイトル512A〜Bをユーザに知らせることができる。また、レイアウト・コンテナ510は、レイアウト・ペイン514A〜Bを表示状態または非表示の状態にする。例えば、図2において、"Contact List"セクション・タイトル512Aに対応するレイアウト・ペイン514Aは、表示状態である。一方、"Click To Dial"セクション・タイトル512Bに対応するレイアウト・ペイン514Bは、非表示の状態である。
ここで、セクション・タイトル512A〜Bをユーザがクリックすると、実行処理部130は、対応するコンポーネント本体の実行コードが既にロードされて実行されているか否かを判定する。対応するコンポーネント本体の実行コードが実行されていないと判定すると、実行処理部130は、対応するコンポーネント本体の実行コードをロードし実行する。
さらに、レイアウト・コンテナ510によって実現される表示部140は、ユーザがセクション・タイトル512A〜Bをクリックしたことに応じて、当該セクション・タイトルに対応するレイアウト・ペイン514A〜Bの表示・非表示の状態を切り替えるセクション・リストを表示する。これに代えて、表示部140は、ユーザがアイコンをクリックすると、当該アイコンに対応するレイアウト・ペインを表示するアイコン・パネルを表示してもよい。また、表示部140は、ユーザがタブをクリックすると、当該タブに対応するレイアウト・ペインを表示するタブパネルを表示してもよい。
図6は、本実施形態に係るメッセージ格納部110、実行処理部130、およびメッセージ処理部160を実現するためのコンポーネント・スタブ610と、ソフトウエア・コンポーネントの一例であるコンポーネント620とを示す。コンポーネント・スタブ610は、コンポーネント・フレーム612と、コンポーネント・ベース614とを含む。
コンポーネント・フレーム612は、対応するコンポーネント本体の送信イベント定義、および受信イベント定義を行う。送信/受信イベントとは、対応するコンポーネントがメッセージを送信/受信したときに発生するイベントである。
コンポーネント・ベース614は、実行処理部130の機能を実現することによりマッシュアップ・アプリケーションの実行中において、一のコンポーネントの実行指示を受け取ったことに応じて、当該コンポーネント本体の実行コードをコンピュータ上にロードして実行させてもよい。ここで、コンポーネント・ベース614は、コンポーネント本体の実行コードを実行させるときに、当該コンポーネント本体を初期化してもよい。また、コンポーネント・ベース614は、コンポーネント本体を初期化するときに、当該コンポーネント本体をインスタンス化してもよい。コンポーネント・ベース614は、メッセージ格納部110内に格納されたメッセージを対応するコンポーネント本体に処理させてもよい.また,その後に、メッセージ格納部110内に格納された処理済のメッセージをクリアしてもよい。
更に、コンポーネント・ベース614は、メッセージ処理部160の機能を実現することにより、メッセージ616を受信し、メッセージ616をメッセージ格納部110内に格納し、レイアウト・コンテナへメッセージ616の受信を通知してもよい。ここで、メッセージ616は、他のコンポーネントにより送信されてもよく、またはOSおよび/またはハードウエア等の送信元により送信されてもよい。
コンポーネント・ベース614によって実現される実行処理部130がコンポーネント本体のインスタンスを生成してコンポーネント・スタブ610に組み込むと、コンポーネント・スタブ610は、コンポーネント620として機能するようになる。コンポーネント620は、コンポーネント・フレーム612、コンポーネント本体のインスタンス622、およびコンポーネント・ベース624を含む。ここで、コンポーネント本体のインスタンス622は、コンポーネント・フレーム612の送信/受信イベント定義に従って、メッセージ626を送信してもよい。
コンポーネント・ベース624は、メッセージ628を受信し、メッセージ628をコンポーネント本体のインスタンス622に転送し、レイアウト・コンテナ510へメッセージ628の受信を通知してもよい。ここで、コンポーネント・ベース624は、コンポーネント・フレーム612の送信/受信イベント定義に従って、メッセージ628をコンポーネント本体のインスタンス622へ転送してもよい。
図7A、図7B、図7C、および図7Dは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の一例を示す。レイアウト・コンテナ710Aは、マッシュアップ・アプリケーションが起動されて表示画面720Aが表示された状態におけるレイアウト・コンテナの一例である。レイアウト・コンテナ710Aは、"Contact List"コンポーネントに対応するコンポーネント・スタブ712、"Click To Dial"コンポーネントに対応するコンポーネント・スタブ714、およびその他のコンポーネントに対応するコンポーネント・スタブを有している。この時点では、いずれのコンポーネント本体の実行コードもロードされておらず、いずれのコンポーネント本体も初期化されていない。
次に、ユーザが表示画面720A内の"Contact List"コンポーネントに対応するセクション・タイトル722をクリックすると、入力部150は、この操作を検知する。続いて、コンポーネント・スタブ712のコンポーネント・ベースによって実現される実行処理部130は、対応する"Contact List"コンポーネントの本体の実行コードが既にロードされているか否かを判定する。この時点では、"Contact List"コンポーネントの本体の実行コードはロードされていないので、実行処理部130は"Contact List" コンポーネントの本体の実行コードをロードして実行させて、"Contact List"コンポーネントの本体を初期化する。この結果、実行処理部130は、コンポーネント・スタブ712を、コンポーネント716に変更するので、レイアウト・コンテナ710Aは、レイアウト・コンテナ710Bに変更される。
次に、レイアウト・コンテナ710Aによって実現される表示部140は、"Contact List"セクション・タイトル722に対応する非表示の状態のレイアウト・ペイン724を表示状態とし、表示画面720Aを表示画面720Bに変更する。この時点では、"Click To Dial"コンポーネントの本体の実行コードはロードされておらず、対応するコンポーネント本体も初期化されていない。
ここで、ユーザがレイアウト・ペイン724内のアイテムを選択すると、対応するコンポーネント716は、予め"Contact List"コンポーネントのアイテム選択イベントを受信するように定義されている"Click To Dial"コンポーネントのコンポーネント・スタブ714にメッセージ717を送信する。ここで、メッセージ717は、選択されたアイテムに対応する氏名および電話番号等の情報を含んでいてもよい。
次に、コンポーネント・スタブ714のコンポーネント・ベースによって実現されるメッセージ処理部160は、メッセージ717を受信したと判定する。続いて、メッセージ処理部160は、"Click To Dial"コンポーネントの本体の実行コードがロードされていないと判定し、メッセージ717をメッセージ格納部110内に格納する。これにより、レイアウト・コンテナ710Bは、レイアウト・コンテナ710Cへと遷移する。
次に、コンポーネント・スタブ714のコンポーネント・ベースによって実現されるメッセージ処理部160は、メッセージ717の受信を示すことを目的として、メッセージ717に対応する"Click To Dial"セクション・タイトル726をハイライト表示させる。これにより、表示画面720Bは、表示画面720Cに変更される。この時点でも、"Click To Dial"コンポーネントの本体の実行コードはロードされておらず、対応するコンポーネント本体も初期化されていない。
ここで、ユーザが表示画面720C内の"Click To Dial"セクション・タイトル726をクリックすると、入力部150は、この操作を検知する。続いて、コンポーネント・スタブ714のコンポーネント・ベースによって実現される実行処理部130は、対応する"Click To Dial"コンポーネントの本体が既に実行されているか否かを判定する。この時点では、"Click To Dial" コンポーネントの本体は実行されていないので、実行処理部130は、"Click To Dial"コンポーネントの本体の実行コードをロードして実行させる。この結果、実行処理部130は、コンポーネント・スタブ714をコンポーネント718に変更するので、レイアウト・コンテナ710Cは、レイアウト・コンテナ710Dに変更される。
次に、実行処理部130は、 "Click To Dial"コンポーネントの本体を初期化して、既にメッセージ格納部110内に格納されたメッセージ717を、"Click To Dial"コンポーネントの本体に処理させる。また、実行処理部130は、メッセージ717を、メッセージ格納部110からクリアする。ここで、"Click To Dial"コンポーネントの本体は、実行開始時の処理パラメータとして、メッセージ717内の氏名および電話番号等の情報を受け取ってもよい。続いて、レイアウト・コンテナ710Dによって実現される表示部140は、"Click To Dial"セクション・タイトル726に対応する非表示の状態のレイアウト・ペイン728を表示状態とし、表示画面720Cを表示画面720Dに変更する。このように、コンポーネント本体の実行コードをロードして実行する前に、メッセージ格納部110が当該コンポーネント本体に対応するコンポーネント宛のメッセージ717を一時的に保存することにより、情報処理装置100は、マッシュアップ・アプリケーション起動時に各コンポーネントに対応するコンポーネント本体の実行コードをロードする負荷を軽減しつつ、コンポーネント間連携を実現する。
図8A、図8B、図8C、および図8Dは、本実施形態に係るレイアウト・コンテナおよび対応する表示画面の他の一例を示す。図8Aの表示画面820Aにおいて、レイアウト・コンテナ810A〜Dによって実現される表示部140は、複数のコンポーネント・スタブにそれぞれ対応する複数のアイコンを並べて表示している点で、図7Aと異なる。
また、図8Cの表示画面820Cにおいて、メッセージ処理部160は、"Click To Dial"アイコン822を振動させている点で図7Cと異なる。
図9は、本実施形態に係る情報処理装置100のレイアウト・コンテナおよびレイアウト・ペインの擬似プログラム・コードの一例を示す。レイアウト・ペインの擬似プログラム・コード内の関数onOpenは、図2のステップS230で実行処理部130が行う処理の一部分に対応する。図10は、本実施形態に係るコンポーネント本体の擬似プログラム・コードの一例を示す。図10内のコンポーネント本体の擬似プログラム・コード内の関数createは、図2のステップS230で実行処理部130が行う処理の一部分に対応する。
図11は、本実施形態に係る情報処理装置100のコンポーネント・フレームの擬似プログラム・コードの一例を示す。コンポーネント・フレームを定義することにより、ソフトウエア・コンポーネントの作成者は、当該ソフトウエア・コンポーネントが送受信するメッセージを簡便に定義することができる。こうすると、対応するコンポーネントがどのメッセージを送信するか、およびどのメッセージを受信するかを簡単に定義することができる。
図12は、本実施形態に係る情報処理装置100のコンポーネント・ベース・モジュールの擬似プログラム・コードの一例を示す。メッセージ処理部160および実行処理部130は、複数のソフトウエア・コンポーネントに対して共通のコンポーネント・ベース・モジュールをコンピュータ上で動作させることにより実現されてもよい。こうすると、情報処理装置100は、複数のソフトウエア・コンポーネントに対して、1つのコンポーネント・ベース・モジュールをコンピュータのメモリ上にロードすればよいので、メモリ使用量を節約できる。また、それぞれのソフトウエア・コンポーネントに対して別々にコンポーネント・ベースに対応するプログラムを作成しなくてもよくなり、開発効率が上がる。
また、メッセージ処理部160は、ソフトウエア・コンポーネント本体の実行コードがロードされたことに応じて、ソフトウエア・コンポーネント宛のメッセージをメッセージ格納部110に格納するメッセージ受信ルーチンを、当該メッセージをソフトウエア・コンポーネント本体へ転送するメッセージ受信ルーチンに入れ替えることができる。これにより、ソフトウエア・コンポーネントは、受信したメッセージを、外部から直接送られたメッセージとして処理することができる。なお、図9〜12の擬似プログラム・コードは、一例としてJavaScript(登録商標)言語を使用して記述されているが、他の任意のプログラム言語で記述されてもよい。
図13は、本実施形態に係るコンピュータ1900のハードウエア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びDVDドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、DVDドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。DVDドライブ2060は、DVD2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウエアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、DVD2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900を情報処理装置100として機能させるプログラムは、メッセージ格納モジュール、コンポーネント本体格納モジュール、実行処理モジュール、入力モジュール、表示モジュール、およびメッセージ処理モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、メッセージ格納部110、コンポーネント本体格納部120、実行処理部130、表示部140、入力部150、およびメッセージ処理部160としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウエア資源とが協働した具体的手段であるメッセージ格納部110、コンポーネント本体格納部120、実行処理部130、表示部140、入力部150、およびメッセージ処理部160として機能する。そして、これらの具体的手段によって、コンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の情報処理装置100が構築される。
一例では、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はDVD2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、DVDドライブ2060(DVD2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、DVD2095の他に、CD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
また、本明細書においては、マッシュアップ・アプリケーションを全体アプリケーションの一例として説明した。しかしながら、全体アプリケーションは、例えば、ユーザがアイコンをクリックすると、当該アイコンに関連付けられたアプリケーションを起動するアプリケーション・ランチャー等であってもよい。
100 情報処理装置、110 メッセージ格納部、120 コンポーネント本体格納部、130 実行処理部、140 表示部、150 入力部、160 メッセージ処理部、500 表示画面、510 レイアウト・コンテナ、512A〜B セクション・タイトル、514A〜B レイアウト・ペイン、610 コンポーネント・スタブ、612 コンポーネント・フレーム、614 コンポーネント・ベース、616 メッセージ、620 コンポーネント、622 インスタンス、624 コンポーネント・ベース、626 メッセージ、628 メッセージ、710A〜D レイアウト・コンテナ、712 コンポーネント・スタブ、714 コンポーネント・スタブ、716 コンポーネント、717 メッセージ、718 コンポーネント、720A〜D 表示画面、722 セクション・タイトル、724 レイアウト・ペイン、726 セクション・タイトル、728 レイアウト・ペイン、810A〜D レイアウト・コンテナ、820A〜D 表示画面、822 アイコン、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 DVDドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 DVD

Claims (13)

  1. コンピュータ上でソフトウエア・コンポーネントを実行させるための実行用プログラムであって、
    当該実行用プログラムは、前記コンピュータを、
    別のソフトウエア・コンポーネントから送信された前記ソフトウエア・コンポーネント宛のデータ及びイベントの少なくとも一方であるメッセージを格納するメッセージ格納部と、
    前記ソフトウエア・コンポーネントの実行指示を入力部から受け取ったことに応じて、前記ソフトウエア・コンポーネントの本体の実行コードを前記コンピュータ上にロードして実行させて、前記ソフトウエア・コンポーネントの実行指示前に前記メッセージ格納部に格納された前記メッセージを処理させる実行処理部と、
    して機能させる実行用プログラム。
  2. 当該コンピュータは、複数の前記ソフトウエア・コンポーネントを連携させた全体アプリケーションを実行し、
    前記実行処理部は、前記全体アプリケーションの実行中において一の前記ソフトウエア・コンポーネントの実行指示を受け取ったことに応じて、前記一のソフトウエア・コンポーネントの本体の実行コードを前記コンピュータ上にロードして、前記一のソフトウエア・コンポーネントを初期化して実行させる
    請求項1に記載の実行用プログラム。
  3. 当該実行用プログラムは、前記コンピュータを、前記コンピュータの表示画面上に、前記ソフトウエア・コンポーネントに対応付けられたオブジェクトを表示する表示部として更に機能させ、
    前記実行処理部は、ユーザが前記オブジェクトを操作したことに応じて、前記オブジェクトに対応付けられた前記ソフトウエア・コンポーネントの本体の実行コードをロードして実行させる
    請求項1に記載の実行用プログラム。
  4. 当該実行用プログラムは、前記コンピュータを、前記ソフトウエア・コンポーネント宛のメッセージを受け取って、前記オブジェクトの表示を、当該メッセージを受信したことを示す表示に変更するメッセージ処理部として更に機能させる請求項3に記載の実行用プログラム。
  5. 前記メッセージ処理部は、前記ソフトウエア・コンポーネント宛のメッセージを受け取って、前記ソフトウエア・コンポーネントの本体の実行コードがロードされていないことを条件として、前記オブジェクトの表示を、当該メッセージを受信したことを示す表示に変更する請求項4に記載の実行用プログラム。
  6. 前記メッセージ処理部は、前記ソフトウエア・コンポーネントの処理に必要な全てのメッセージを受け取って、前記オブジェクトの表示を当該全てのメッセージを受信したことを示す表示に変更する請求項4または5に記載の実行用プログラム。
  7. 前記メッセージ処理部は、新たに受け取った前記ソフトウエア・コンポーネント宛のメッセージにおける予め定められた箇所の内容が、既に前記メッセージ格納部に格納されたメッセージにおける対応する箇所の内容と異なる場合に、前記オブジェクトの表示を異なる内容のメッセージを受信したことを示す表示に変更する請求項4から6のいずれか1項に記載の実行用プログラム。
  8. 前記メッセージ処理部は、前記ソフトウエア・コンポーネント宛のメッセージを受け取って、前記オブジェクトの表示を、当該メッセージを受け取ったことを示す表示に変更し、予め設定された時間の後に、当該メッセージを受け取る前の表示に戻す請求項4から7のいずれか1項に記載の実行用プログラム。
  9. 前記メッセージ処理部は、前記ソフトウエア・コンポーネント宛のメッセージを受け取って、前記ソフトウエア・コンポーネントの本体の実行コードが既にロードされている場合には当該メッセージを前記ソフトウエア・コンポーネントの本体へ転送し、前記ソフトウエア・コンポーネントの本体の実行コードがロードされていない場合には当該メッセージを前記メッセージ格納部に格納する請求項4から8のいずれか1項に記載の実行用プログラム。
  10. 前記メッセージ処理部は、前記ソフトウエア・コンポーネントの本体の実行コードがロードされたことに応じて、前記ソフトウエア・コンポーネント宛のメッセージを前記メッセージ格納部に格納するメッセージ受信ルーチンを、当該メッセージを前記ソフトウエア・コンポーネントの本体へ転送するメッセージ受信ルーチンに入れ替える請求項4から9のいずれか1項に記載の実行用プログラム。
  11. 前記メッセージ処理部および前記実行処理部は、複数の前記ソフトウエア・コンポーネントに対して共通のコンポーネント・ベース・モジュールを前記コンピュータ上で動作させることにより実現される請求項4から10のいずれか1項に記載の実行用プログラム。
  12. ソフトウエア・コンポーネントを実行する情報処理装置であって、
    別のソフトウエア・コンポーネントから送信された前記ソフトウエア・コンポーネント宛のデータ及びイベントの少なくとも一方であるメッセージを格納するメッセージ格納部と、
    前記ソフトウエア・コンポーネントの実行指示を入力部から受け取ったことに応じて、前記ソフトウエア・コンポーネントの本体の実行コードを当該情報処理装置上にロードして実行させて、前記ソフトウエア・コンポーネントの実行指示前に前記メッセージ格納部に格納された前記メッセージを処理させる実行処理部と、
    を備える情報処理装置。
  13. コンピュータ上でソフトウエア・コンポーネントを実行させる実行方法であって、
    前記コンピュータが、別のソフトウエア・コンポーネントから送信された前記ソフトウエア・コンポーネント宛のデータ及びイベントの少なくとも一方であるメッセージをメッセージ格納部に格納する段階と、
    前記ソフトウエア・コンポーネントの実行指示を入力部から受け取ったことに応じて、前記コンピュータが前記ソフトウエア・コンポーネントの本体の実行コードをロードして実行して、前記ソフトウエア・コンポーネントの実行指示前に前記メッセージ格納部に格納された前記メッセージを処理する段階と、
    を備える実行方法。
JP2009118654A 2009-05-15 2009-05-15 情報処理装置、実行方法および実行用プログラム Expired - Fee Related JP4958122B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009118654A JP4958122B2 (ja) 2009-05-15 2009-05-15 情報処理装置、実行方法および実行用プログラム
KR1020100033970A KR20100123600A (ko) 2009-05-15 2010-04-13 정보 처리 장치, 실행 방법 및 실행용 프로그램
US12/775,913 US8683491B2 (en) 2009-05-15 2010-05-07 Information processing apparatus, execution method, and object program
US13/525,716 US9092245B2 (en) 2009-05-15 2012-06-18 Information processing apparatus, execution method, and object program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009118654A JP4958122B2 (ja) 2009-05-15 2009-05-15 情報処理装置、実行方法および実行用プログラム

Publications (2)

Publication Number Publication Date
JP2010267122A JP2010267122A (ja) 2010-11-25
JP4958122B2 true JP4958122B2 (ja) 2012-06-20

Family

ID=43069562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009118654A Expired - Fee Related JP4958122B2 (ja) 2009-05-15 2009-05-15 情報処理装置、実行方法および実行用プログラム

Country Status (3)

Country Link
US (2) US8683491B2 (ja)
JP (1) JP4958122B2 (ja)
KR (1) KR20100123600A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547926B2 (en) 2009-04-24 2017-01-17 International Business Machines Corporation Displaying nodes visually offset from associated components

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226665B1 (en) * 1996-09-19 2001-05-01 Microsoft Corporation Application execution environment for a small device with partial program loading by a resident operating system
US6971109B1 (en) * 1998-07-24 2005-11-29 Micron Technology, Inc. Integrated application management system
GB2340266B (en) * 1998-07-31 2003-03-12 Sony Uk Ltd Data processing
JP2001136556A (ja) * 1999-11-05 2001-05-18 Hitachi Kokusai Electric Inc メッセージ受信機
JP2003241879A (ja) * 2002-02-14 2003-08-29 Sharp Corp 情報処理システム
SG176315A1 (en) * 2003-12-01 2011-12-29 Research In Motion Ltd Previewing a new event on a small screen device
JP2006031491A (ja) * 2004-07-20 2006-02-02 Hitachi Ltd アプリケーション間連携システム
US8005943B2 (en) * 2005-10-12 2011-08-23 Computer Associates Think, Inc. Performance monitoring of network applications
JP4869894B2 (ja) * 2006-12-07 2012-02-08 株式会社ソニー・コンピュータエンタテインメント コンテンツ表示方法、コンテンツ表示装置、およびマルチプロセッサシステム
US8099737B2 (en) * 2007-06-05 2012-01-17 Oracle International Corporation Event processing finite state engine and language
US7937714B2 (en) * 2007-10-25 2011-05-03 International Business Machines Corporation Processing event notifications with an event sink
JP5276882B2 (ja) 2008-03-31 2013-08-28 芦森工業株式会社 シートベルト用リトラクタ
US9135091B2 (en) * 2009-04-03 2015-09-15 Microsoft Technology Licensing, Llc Communicating events or data between application components

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547926B2 (en) 2009-04-24 2017-01-17 International Business Machines Corporation Displaying nodes visually offset from associated components
US10268346B2 (en) 2009-04-24 2019-04-23 International Business Machines Corporation Displaying nodes visually offset from associated components
US10503369B2 (en) 2009-04-24 2019-12-10 International Business Machines Corporation Displaying nodes visually offset from associated components
US10534501B2 (en) 2009-04-24 2020-01-14 International Business Machines Corporation Displaying nodes visually offset from associated components
US11073966B2 (en) 2009-04-24 2021-07-27 International Business Machines Corporation Displaying nodes visually offset from associated components

Also Published As

Publication number Publication date
US9092245B2 (en) 2015-07-28
US20120324477A1 (en) 2012-12-20
JP2010267122A (ja) 2010-11-25
US20100293556A1 (en) 2010-11-18
KR20100123600A (ko) 2010-11-24
US8683491B2 (en) 2014-03-25

Similar Documents

Publication Publication Date Title
US20240095043A1 (en) Execution of sub-application processes within application program
JP4748819B2 (ja) クライアントプログラム、端末、方法、サーバシステムおよびサーバプログラム
US8132106B2 (en) Providing a document preview
US9690875B2 (en) Providing search results for mobile computing devices
JP2000040084A (ja) モジュラ―記憶方法及びその装置
CN109325195A (zh) 浏览器的渲染方法和系统、计算机设备、计算机存储介质
JP5682996B2 (ja) クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法
US9069432B2 (en) Copy and paste buffer
US9325717B1 (en) Web-store restriction of external libraries
JP2006048645A (ja) ドキュメントにコンテキスト情報を埋め込むための方法およびシステム
JP2020067977A (ja) 情報処理装置およびプログラム
CN108108392B (zh) 商品数据管理方法、装置、计算机设备及存储介质
JP2014123249A (ja) 情報処理装置、プログラム、及び情報処理方法
JP4958122B2 (ja) 情報処理装置、実行方法および実行用プログラム
WO2018057401A1 (en) Preserve input focus while scrolling in a virtualized dataset
CN114791984B (zh) 导航树显示方法、导航树显示装置和电子设备
CN113031947B (zh) 在界面设计工具中使用的配置数据管理方法和装置
JP2020050324A (ja) 業務支援システムおよび業務支援方法
CN115390720A (zh) 包括自动文档滚动的机器人过程自动化(rpa)
CN113961298A (zh) 一种页面切换方法、装置、设备及介质
CN112783390A (zh) 一种意向页面的显示方法、装置和电子设备
US7694301B1 (en) Method and system for supporting input/output for a virtual machine
JP6141136B2 (ja) 装置及びプログラム
JP5963313B2 (ja) 情報処理装置、方法、及び、プログラム
US20170192526A1 (en) Input Service Providing Multiple Input Processors

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111101

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120313

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees