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

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

Info

Publication number
JP2007114902A
JP2007114902A JP2005303713A JP2005303713A JP2007114902A JP 2007114902 A JP2007114902 A JP 2007114902A JP 2005303713 A JP2005303713 A JP 2005303713A JP 2005303713 A JP2005303713 A JP 2005303713A JP 2007114902 A JP2007114902 A JP 2007114902A
Authority
JP
Japan
Prior art keywords
processing
data
synchronous
threads
component
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.)
Pending
Application number
JP2005303713A
Other languages
English (en)
Inventor
Hiroki Tanioka
広樹 谷岡
Kenichi Yamamoto
健一 山本
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.)
JustSystems Corp
Original Assignee
JustSystems 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 JustSystems Corp filed Critical JustSystems Corp
Priority to JP2005303713A priority Critical patent/JP2007114902A/ja
Publication of JP2007114902A publication Critical patent/JP2007114902A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】アプリケーションサーバフレームワークにおける同期実行・非同期実行制御を容易にして利用し易くする。
【解決手段】コントローラ211は、同期処理の実行と非同期処理の実行のうち少なくとも一方で処理することを指示されたデータをアプリケーション201から入力する。そして、入力されたデータから同期処理のデータを抽出する。そして、同期処理のデータが抽出された場合、同期処理のデータを同期処理し、同期処理された同期処理のデータと非同期処理のデータのうち少なくとも一方を、各データの処理に対応したコンポーネント220で実行させる。
【選択図】図2

Description

この発明は、コンポーネントにおける処理を制御する情報処理装置、情報処理方法および情報処理プログラムに関する。
近年、コンポーネントの開発効率を高めることを目的として、HPC(ハイパフォーマンスコンピューティング)環境の提供を視野に入れた開発環境の提供が進んでいる。この開発環境として、サーバ・クライアントにより呼び出されるアプリケーションサーバフレームワークがある。
このフレームワークは、厳密にはJAVA(登録商標)プログラムの生成および管理を行う超Lightweightコンテナというものに分類されており、単独で各種アプリケーションを構築するのではなく、EJBを用いたWebアプリケーションフレームワークやデスクトップアプリケーションの場合は、SwingなどのAPIと組み合わせて利用するのが一般的である。このフレームワークは、J2EEの機能に依存しているわけではないので、クライアントマシン上で動作するスタンドアロンアプリケーションやアプレットなどから利用することも可能である。
こういった問題点を解決するため、従来技術として、JAVA(登録商標)の開発環境であるJ2 SE5(Java 2 Platform Standard Edition 5.0)では、Concurrency UtilitiesというAPI群が用意され、これによりある程度の簡略化は実現されていた。
また、一般にデザインパターンと呼ばれるアルゴリズムのパターン群が広く知られており、これらはプログラミングにおける典型的な問題の効率的な解決策を示している。さらに、先述したHPC環境も視野に入れたデザインパターンも存在している(たとえば、非特許文献1参照。)。
結城浩、「Java言語で学ぶデザインパターン入門 マルチスレッド編」、p.149−163、2002年
しかしながら、以上のようなフレームワークを採用する場合、いくつかの問題が挙げられる。まず、MPI(Message Passing Interface)やサーバ・クライアントモデルのネットワークアプリケーション開発などでは、同期実行・非同期実行の制御機構が必要となる。しかし、非同期実行を行うためには、アプリケーション開発者は、別スレッドを作成し、その別スレッドの上で何らかの処理を行う必要があった。また、処理結果をアプリケーションに出力するためのリスナー(Listener)までを作成する必要があり、手間がかかっていた。
また、コンポーネント(Component)の開発者は、同時生成されるインスタンスの数を意識してコンポーネントを開発する必要があり手間であった。また、コンポーネントの利用者は、コンポーネントの開発者が想定した範囲を超えた利用ができなかった。
分散ネットワークを実現するためには、アプリケーション開発者はネットワーク関連のプログラミング知識を必要とされ、難しかった。また、分散ネットワーク環境に、処理速度の遅いマシンと速いマシンが混在すると、全体として処理速度の遅いマシンに足を引っ張られることになり、全体としてのパフォーマンスが低下するという問題があった。
この発明は、上述した従来技術による問題点を解消するため、利用しやすくパフォーマンスの高いフレームワークを備えた情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1の発明にかかる情報処理装置は、同期処理の実行と非同期処理の実行のうち少なくとも一方で処理することを指示されたデータを入力する入力手段と、前記入力手段によって入力されたデータから同期処理のデータを抽出する抽出手段と、前記抽出手段によって同期処理のデータが抽出された場合、前記同期処理を実行する処理手段と、前記処理手段によって実行された同期処理のデータと前記抽出手段によって抽出された非同期処理のデータのうち少なくとも一方を、各処理のデータに対応したコンポーネントで実行させる制御手段と、を備えたことを特徴とする。
この請求項1の発明によれば、同期実行・非同期実行の処理をフレームワーク側で吸収することにより、同一のコンポーネントを必要に応じて同期実行・非同期実行を呼び分けることができる。
また、請求項2の発明にかかる情報処理装置は、請求項1に記載の発明において、前記データは、複数のスレッドにより処理され、前記処理手段は、前記複数のスレッドをそれぞれ保持し、各入力データをそれぞれのタイミングにおいて各スレッドに対応した
コンポーネントに実行させることを特徴とする。
この請求項2の発明によれば、プーリングするコンポーネントのインスタンスの数をコンポーネント毎のプロパティファイルで制御できる。これにより、コンポーネントの利用者は、実装に依存せずにインスタンスの数を制御することができる。
また、請求項3の発明にかかる情報処理装置は、請求項1または2に記載の発明において、前記データは、複数のスレッドにより処理され、前記処理手段は、前記複数のスレッドをそれぞれ保持し、各前記データをそれぞれのタイミングにおいて各前記データに対応したサーバに送り、前記サーバからは受信した前記データの実行結果を受け取ることを特徴とする。
請求項3の発明によれば、同期・非同期の制御をスタンドアローンに近い構成でネットワーク対応することができる。また、サーバ側のコンポーネントをスタンドアローンと同様に分散して処理することができる。
請求項4の発明にかかる情報処理方法は、同期処理の実行と非同期処理の実行のうち少なくとも一方で処理することを指示されたデータを入力する入力工程と、前記入力工程によって入力されたデータから同期処理のデータを抽出する抽出工程と、前記抽出工程によって同期処理のデータが抽出された場合、前記同期処理のを実行する処理工程と、前記処理工程によって実行された同期処理のデータと前記抽出工程によって抽出された非同期処理のデータのうち少なくとも一方を、各処理のデータに対応したコンポーネントで実行させる制御工程と、含むことを特徴とする。
この請求項4の発明によれば、同期実行・非同期実行の処理をフレームワーク側で吸収することにより、同一のコンポーネントを必要に応じて同期実行・非同期実行を呼び分けることができる。
請求項5の発明にかかる情報処理方法は、請求項4に記載の情報処理方法において、前記データは、複数のスレッドにより処理され、前記処理工程は、前記複数のスレッドをそれぞれ保持し、各入力データをそれぞれのタイミングにおいて各スレッドに対応したコンポーネントに実行させることを特徴とする。
この請求項5の発明によれば、プーリングするコンポーネントのインスタンスの数をコンポーネント毎のプロパティファイルで制御できる。これにより、コンポーネントの利用者は、実装に依存せずにインスタンスの数を制御することができる。
請求項6の発明にかかる情報処理方法は、請求項4または5に記載の情報処理方法において、前記データは、複数のスレッドにより処理され、前記処理工程は、前記複数のスレッドをそれぞれ保持し、各前記データをそれぞれのタイミングにおいて各前記データに対応したサーバに送り、前記サーバからは受信した前記データの実行結果を受け取ることを特徴とする。
請求項6の発明によれば、同期・非同期の制御をスタンドアローンに近い構成でネットワーク対応することができる。また、サーバ側のコンポーネントをスタンドアローンと同様に分散して処理することができる。
請求項7の発明にかかる情報処理プログラムによれば、請求項4〜6に記載の情報処理方法をコンピュータに実行させることができる。
本発明にかかる情報処理装置、情報処理方法および情報処理プログラムによれば、同期処理・非同期処理の制御にあたって余計な処理を必要とせず、利用しやすくパフォーマンスの高いフレームワークを提供することができるという効果を奏する。
以下に添付図面を参照して、この発明による情報処理装置、情報処理方法および情報処理プログラムの実施の形態を詳細に説明する。
(実施の形態)
図1は、この発明の実施の形態による情報処理装置のハードウエア構成の一例を示すブロック図である。図中、CPU101は装置全体を制御する。ROM102は基本入出力プログラムを記憶する。RAM103はCPU101のワークエリアとして使用される。また、HDD(ハードディスクドライブ)104はCPU101の制御にしたがってHD(ハードディスク)105に対するデータのリード/ライトを制御する。HD105はHDD104の制御にしたがって書き込まれたデータを記憶する。
また、FDD(フレキシブルディスクドライブ)106はCPU101の制御にしたがってFD(フレキシブルディスク)107に対するデータのリード/ライトを制御する。FD107は、着脱自在であり、FDD106の制御にしたがって書き込まれたデータを記憶する。また、CD−RWドライブ108はCPU101の制御にしたがってCD−RW(または、CD−R、CD−ROM)109に対するデータのリード/ライトを制御する。CD−RW109は着脱自在であり、CD−RWドライブ108の制御にしたがって書き込まれたデータを記憶する。
また、ディスプレイ110はカーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示する。キーボード111は文字、数値、各種指示などの入力のための複数のキーを備える。マウス112は各種指示の選択や実行、処理対象の選択、マウスポインタの移動などを行う。
また、ネットワークI/F113は、通信ケーブル114を介してLANやWANなどのネットワークに接続され、当該ネットワークとCPU101とのインターフェースとして機能する。バス120は上記各部を接続する。
図2は、同期・非同期を管理するための待ち行列の制御機構の構成を説明するブロック図である。このシステムは、指示処理部200、フレームワーク210、コンポーネント220によって構成されている。指示処理部200からのコンポーネント220への処理要求をフレームワーク210が管理する形になっている。図2において、指示処理部200、フレームワーク210、コンポーネント220は、それぞれ機能的な構成を示しており、図1に示したCPU101が、ROM102から読み出されてプログラムに基づいて、RAM103をワークエリアとして使用することにより実行する。
指示処理部200は、アプリケーション201およびリスナー202によって構成されている。アプリケーション201は、フレームワーク210にデータを出力する。そして、フレームワーク210を介して実行された結果が戻ってくるので、リスナー202は、その結果を受け取ってアプリケーション201に通知する。
フレームワーク210は、コントローラ211、キュー212、リスナー213によって構成される。コントローラ211は、APIによって構成され、アプリケーション201からのデータを受け取る。データは複数のスレッドにより構成される。コントローラ211は、受け取ったスレッドをキュー212に入力し、順次コンポーネント220に出力する。キュー212は、コントローラ211からのスレッドを保持する。同期の場合は一定のタイミングが経過したら、非同期の場合はリスナー213からのフィードバックが入力されたら、コンポーネント220に出力する。
コンポーネント220は、処理を受け取って実行する。非同期処理の場合は、処理後にリスナー213に、処理の終了を通知する。そして、リスナー213が、リスナー202に通知する。同期処理の場合は、リスナー212がタイミングを管理し、コントローラ211に通知する。
コントローラ211は、同期・非同期用APIを介して適切にスレッド管理を実行する。同期呼び出しは、非同期処理を同期化することで実現する。同期呼び出しの場合は、結果をリスナー213へコールバックする。同期呼び出しの場合:結果をコントローラ211でフックしてアプリケーション201へ返す。
図3は、同期・非同期を管理するための待ち行列の制御処理を説明するフローチャートである。図3を用いて、図2のフレームワーク210の制御処理を説明する。まず、アプリケーション201からの処理の呼び出しにより、処理が開始する。コントローラ211は、この呼び出しを受けて、非同期処理のためにキュー212にプッシュ(push)処理を実行する(ステップS301)。なお、ここではキュー212のうち、非同期処理の待ち行列にプッシュする。
次に、この処理が同期処理か否かを判定する(ステップS302)。同期処理でない場合(ステップS302:No)、処理をキュー212から取り出し、FIFOを用いることによりポップ(pop)処理を実行する(ステップS303)。なお、ここではキュー212のうち、非同期処理の待ち行列にプッシュされていたスレッドの処理をプッシュする。同期処理の場合(ステップS302:Yes)、同期化のため、キュー212にプッシュ処理を実行する(ステップS305)。なお、ここではキュー212のうち、同期処理の待ち行列にプッシュする。
そして、キュー212において、処理が行列の先頭であるか否かを判定する(ステップS306)。行列の先頭の場合(ステップS306:Yes)、ステップS303に進む。行列の先頭でない場合(ステップS306:No)、終了通知まで待機して、LIFOを用いることによりポップ処理を実行する(ステップS307)。なお、ここではキュー212のうち、同期処理の待ち行列にプッシュされていた処理の実行をポップする。そして、ステップS306に戻る。ステップS303の実行後、取り出した処理をコンポーネント220で実行し、結果を返す(ステップS304)。それにより、一連の処理を終了する。終了後、結果が出力される。
以上のように、同期実行・非同期実行の処理をフレームワーク側で吸収することにより、アプリケーションの開発者は同一のコンポーネントを必要に応じて同期実行・非同期実行を呼び分けることができるようになる。これは、フレームワーク210の内部で、別スレッドの管理や入力データの待ち行列の管理を行うことにより実現されている。フレームワーク210では、すべての処理は非同期に行われるが、非同期処理をフックすることにより、同期実行をサポートしている。
図4は、コンポーネントのインスタンスをプーリングする機構の構成を説明するブロック図である。このシステムは、指示処理部400、フレームワーク410、コンポーネント420、コンポーネント421によって構成されている。図2と異なり、コンポーネントが1つではなく複数を含む構成となっており、この複数のコンポーネントにそれぞれ処理させる。指示処理部400からのコンポーネント420およびコンポーネント421への処理要求をフレームワーク410が管理する。図4において、指示処理部400、フレームワーク410、コンポーネント420、コンポーネント421は、それぞれ機能的な構成を示しており、図1に示したCPU101が、ROM102から読み出されてプログラムに基づいて、RAM103をワークエリアとして使用することにより実行する。
指示処理部400は、アプリケーション401およびリスナー402によって構成されている。アプリケーション401は、フレームワーク410にデータを出力する。そして、フレームワーク410を介して実行された結果が戻ってくるので、リスナー402は、その結果を受け取ってアプリケーション401に通知する。
フレームワーク410は、コントローラ411、キュー412、ダイレクトリスナー413、ソートリスナー414によって構成される。コントローラ411は、APIによって構成され、アプリケーション401からのデータを受け取る。データは複数のスレッドにより構成される。コントローラ411は、受け取ったスレッドをキュー412に入力する。キュー412は、コントローラ411によって入力されたスレッドを保持する。
そして、スレッドがキュー412からコンポーネント420またはコンポーネント421に出力される。図4の場合、インスタンスは複数設定されており、インスタンス数に応じた数のコンポーネントが生成されるので、スレッドも、コンポーネント420〜421のそれぞれ対応したところに出力される。設定されたインスタンス数のコンポーネントが生成されプーリングされる。また、キュー412に積まれたスレッドは、各コンポーネントにより自律的に処理される。
コンポーネント420〜421は、スレッドを受け取り、処理を実行する。非同期処理の場合は、処理後にソートリスナー413に、処理の終了を通知する。そして、ソートリスナー413が、リスナー402に通知する。ダイレクトリスナー412は、処理結果を終了順でリスナー402へコールバックする。ソートリスナー413は、処理結果を依頼順(順番保証)でリスナー402へコールバックする。
図5は、コンポーネントのインスタンスをプーリングする制御処理を説明するフローチャートである。図5を用いて、図4のフレームワーク410の制御処理を説明する。まず、データを非同期処理のためにキュー412にプッシュする(ステップS501)。次に、このデータが同期処理か否かを判定する(ステップS502)。同期処理でない場合(ステップS502:No)、ステップS504に進む。同期処理の場合(ステップS502:Yes)、キュー412において待ち行列を用いて同期化処理を実行する(ステップS503)。
次に、キュー412から処理を取り出し、FIFOでプッシュされていた処理をポップする(ステップS504)。そして待機中スレッドで処理を実行する(ステップS505)。そして、処理を実行して結果を返す(ステップS506)。すなわち、コンポーネント420〜421のうち各データに対応するところでスレッドの処理を実行する。結果は、ソートリスナー414に返される。次に、処理結果について、キャッシュソートを実行して出力する(ステップS507)。そして、一連の処理を終了する。終了後、結果が出力される。
以上のように、フレームワーク410により生成されたコンポーネントは、フレームワーク410内にプーリングされることにより、MPI(Message Passing Interface)やサーバ・クライアントモデルのネットワークアプリケーションなどにおいて効率的に処理できる。フレームワーク410では、プーリングするコンポーネントのインスタンスの数をコンポーネント毎のプロパティファイルで制御できる。これにより、コンポーネントの利用者は、実装に依存せずにインスタンスの数を制御できる。
図6は、分散ネットワークを実現するためのエージェント機構の構成を説明するブロック図である。このシステムは、指示処理部600、クライアントフレームワーク610、分散フレームワーク620、分散フレームワーク630によって構成されている。指示処理部600からの分散フレームワーク620および分散フレームワーク630への処理要求を、クライアントフレームワーク610が管理する。図6において、指示処理部600、クライアントフレームワーク610、分散フレームワーク620、分散フレームワーク630は、それぞれ機能的な構成を示しており、図1に示したCPU101が、ROM102から読み出されてプログラムに基づいて、RAM103をワークエリアとして使用することにより実行する。
指示処理部600は、アプリケーション601およびリスナー602によって構成されている。アプリケーション601は、クライアントフレームワーク610にデータを出力する。そして、クライアントフレームワーク610を介して実行された結果が戻ってくるので、リスナー602は、その結果を受け取ってアプリケーション601に通知する。
クライアントフレームワーク610は、コントローラ611、キュー612、ダイレクトリスナー613、ソートリスナー614によって構成される。コントローラ611は、APIによって構成され、アプリケーション601からのデータを受け取る。データは複数の処理のデータにより構成される。コントローラ611は、受け取った処理をキュー612に入力し、順次分散フレームワーク620および分散フレームワーク630に出力する。キュー612は、コントローラ611によって入力された処理のデータを保持する。そして、処理が、キュー612から分散フレームワーク620または分散フレームワーク630の処理に対応するところに出力される。
分散フレームワーク620および630は、処理を受け取って実行する。分散フレームワーク620は、サーバ621、コンポーネント622〜623によって構成されている。分散フレームワーク630も同様の構成である。サーバ621は、キュー612から処理要求を受け取り、コンポーネント622〜623の対応するものに出力する。コンポーネント622〜623は、それぞれ処理を実行してサーバ621に返す。そして、処理の終了をリスナー613に返す。そして、リスナー613は、処理結果を受け取るとリスナー602に通知する。
この図6に示した分散ネットワークを実現するためのエージェント機構の処理は、図5に示したフローチャートと同様である。図5においては複数のコンポーネントへの処理を制御していたが、ここでは複数のサーバに対して制御を実行する。各サーバにおいてはそれぞれ複数のコンポーネントを持つ場合があり、各サーバにおいて処理を制御する。
このように、スタンドアローンとほとんど同じ構成でネットワーク対応が可能である。また、サーバ側のコンポーネントをスタンドアローンと同様に分散可能である。クライアント側では、クライアント側でのAPI実装の変更は最小限にする。一方、サーバ側では、スタンドアローン構成と同じものをサーバ起動する。
以上のように、ネットワーク関連処理をすべてクライアントフレームワーク610および分散フレームワーク620〜630側で吸収する。それにより、アプリケーション601の開発者は同一のコンポーネントを必要に応じてスタンドアローンとしても、分散ネットワークとしても処理することができる。また、コンポーネント622〜623毎に入力データをキュー612で一括管理することにより、処理性能が異なるマシンが混在する環境においても、優れたパフォーマンスを示すことができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
以上のように、本発明にかかる情報処理装置、情報処理方法および情報処理プログラムは、パフォーマンスの高いナレッジコンポーネントの利用にあたって有用である。
この発明の実施の形態による情報処理装置のハードウエア構成の一例を示すブロック図である。 同期・非同期を管理するための待ち行列の制御機構の構成を説明するブロック図である。 同期・非同期を管理するための待ち行列の制御処理を説明するフローチャートである。 コンポーネントのインスタンスをプーリングする機構の構成を説明するブロック図である。 コンポーネントのインスタンスをプーリングする制御処理を説明するフローチャートである。 分散ネットワークを実現するためのエージェント機構の構成を説明するブロック図である。
符号の説明
101 CPU
102 ROM
103 RAM
104 HDD
105 HD
106 FDD
107 FD
108 CD−RWドライブ
109 CD−RW
110 ディスプレイ
111 キーボード
112 マウス
113 ネットワークI/F
114 通信ケーブル
120 バス
200 指示処理部
201 アプリケーション
210 フレームワーク
211 コントローラ
212 キュー
220 コンポーネント

Claims (7)

  1. 同期処理の実行と非同期処理の実行のうち少なくとも一方で処理することを指示されたデータを入力する入力手段と、
    前記入力手段によって入力されたデータから同期処理のデータを抽出する抽出手段と、
    前記抽出手段によって同期処理のデータが抽出された場合、前記同期処理を実行する処理手段と、
    前記処理手段によって実行された同期処理のデータと前記抽出手段によって抽出された非同期処理のデータのうち少なくとも一方を、各データの処理に対応したコンポーネントで実行させる制御手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記データは、複数のスレッドにより処理され、前記処理手段は、前記複数のスレッドをそれぞれ保持し、各入力データをそれぞれのタイミングにおいて各スレッドに対応したコンポーネントに実行させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記データは、複数のスレッドにより処理され、前記処理手段は、前記複数のスレッドをそれぞれ保持し、各前記データをそれぞれのタイミングにおいて各前記データに対応したサーバに送り、前記サーバからは受信した前記データの実行結果を受け取ることを特徴とする請求項1または2に記載の情報処理装置。
  4. 同期処理の実行と非同期処理の実行のうち少なくとも一方で処理することを指示されたデータを入力する入力工程と、
    前記入力工程によって入力されたデータから同期処理の処理のデータを抽出する抽出工程と、
    前記抽出工程によって同期処理のデータが抽出された場合、前記同期処理を実行する処理工程と、
    前記処理工程によって同期処理された同期処理のデータと前記抽出工程によって抽出された非同期処理のデータのうち少なくとも一方を、各処理のデータに対応したコンポーネントで実行させる制御工程と、
    を含むことを特徴とする情報処理方法。
  5. 前記データは、複数のスレッドにより処理され、前記処理工程は、前記複数のスレッド
    をそれぞれ保持し、各入力データをそれぞれのタイミングにおいて各スレッドに対応した
    コンポーネントに実行させることを特徴とする請求項4に記載の情報処理方法。
  6. 前記データは、複数のスレッドにより処理され、前記処理工程は、前記複数のスレッドをそれぞれ保持し、各前記データをそれぞれのタイミングにおいて各前記データに対応したサーバに送り、前記サーバからは受信した前記データの実行結果を受け取ることを特徴とする請求項4または5に記載の情報処理方法。
  7. 請求項4〜6のいずれか一つに記載の情報処理方法をコンピュータに実行させることを特徴とする情報処理プログラム。
JP2005303713A 2005-10-18 2005-10-18 情報処理装置、情報処理方法および情報処理プログラム Pending JP2007114902A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005303713A JP2007114902A (ja) 2005-10-18 2005-10-18 情報処理装置、情報処理方法および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005303713A JP2007114902A (ja) 2005-10-18 2005-10-18 情報処理装置、情報処理方法および情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2007114902A true JP2007114902A (ja) 2007-05-10

Family

ID=38097034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005303713A Pending JP2007114902A (ja) 2005-10-18 2005-10-18 情報処理装置、情報処理方法および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP2007114902A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015210791A (ja) * 2014-04-30 2015-11-24 富士通株式会社 分散処理装置、分散処理システム、および分散処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124330A (ja) * 1996-07-03 1998-05-15 Siemens Ag オブジェクト指向コンピューティングシステムのプログラマインタフェースシステムおよび該システムをもつオブジェクトコードを有する記憶媒体
WO2002054263A1 (fr) * 2000-12-28 2002-07-11 Future System Consulting Corp. Systeme de structure
JP2005004771A (ja) * 2003-06-13 2005-01-06 Microsoft Corp 非同期コンポーネントをアプリケーションフレームワークアグノスティックにするメカニズム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124330A (ja) * 1996-07-03 1998-05-15 Siemens Ag オブジェクト指向コンピューティングシステムのプログラマインタフェースシステムおよび該システムをもつオブジェクトコードを有する記憶媒体
WO2002054263A1 (fr) * 2000-12-28 2002-07-11 Future System Consulting Corp. Systeme de structure
JP2005004771A (ja) * 2003-06-13 2005-01-06 Microsoft Corp 非同期コンポーネントをアプリケーションフレームワークアグノスティックにするメカニズム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015210791A (ja) * 2014-04-30 2015-11-24 富士通株式会社 分散処理装置、分散処理システム、および分散処理プログラム

Similar Documents

Publication Publication Date Title
US7546607B2 (en) Native code exposing virtual machine managed object
US20150095763A1 (en) Browser emulator system
US10201750B2 (en) Method and apparatus of preloading browser game on client
TWI521357B (zh) 經由網頁瀏覽器輸入內容至應用程式
JP7324831B2 (ja) ディープラーニングフレームワークにおける演算子の展開方法、展開装置及び電子機器
US7966572B2 (en) User interface transition
US20120084672A1 (en) Methods and systems for sharing images synchronized across a distributed computing interface
US9069432B2 (en) Copy and paste buffer
EP2256629A2 (en) Apparatus, method and program for processing information
US7823071B2 (en) User interface start page
US10735793B1 (en) Recording and playing back image variations
Verdú et al. Performance scalability analysis of javascript applications with web workers
WO2007023068A1 (en) Mechanism for generating dynamic content without a web server
EP3637257A1 (en) View switching
JP2007114902A (ja) 情報処理装置、情報処理方法および情報処理プログラム
US20020147860A1 (en) Method, apparatus, and program for generating Java full thread dumps from a remote JVM
CN113835835B (zh) 一种创建一致性组的方法、装置、及计算机可读存储介质
US20180373512A1 (en) Method and device for simulating synchronous blocking in asynchronous environment, storage medium, server and terminal
JP5669638B2 (ja) 文書管理装置、文書管理方法、プログラム。
Kwon et al. Framework separated migration for web applications
Mangukiya Laravel: A framework for building PHP Apps
González et al. PoS (ISGC 2012) 036 Virtual Machines & Volunteer Computing: Experience from LHC@ Home: Test4Theory project
JP2009053767A (ja) プログラム解析装置、および、プログラム解析方法
US20180341717A1 (en) Providing instant preview of cloud based file
JP2015524591A (ja) 実行可能コード・データのロック・フリー・ストリーミング

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A977 Report on retrieval

Effective date: 20100308

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100713