JPWO2004036423A1 - 情報処理装置、情報処理方法、情報処理プログラムならびに媒体 - Google Patents
情報処理装置、情報処理方法、情報処理プログラムならびに媒体 Download PDFInfo
- Publication number
- JPWO2004036423A1 JPWO2004036423A1 JP2004544934A JP2004544934A JPWO2004036423A1 JP WO2004036423 A1 JPWO2004036423 A1 JP WO2004036423A1 JP 2004544934 A JP2004544934 A JP 2004544934A JP 2004544934 A JP2004544934 A JP 2004544934A JP WO2004036423 A1 JPWO2004036423 A1 JP WO2004036423A1
- Authority
- JP
- Japan
- Prior art keywords
- time
- information
- information processing
- processing apparatus
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72451—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to schedules, e.g. using calendar applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
Abstract
Description
これは、従来の処理モデルでは、ある条件下において実現すべき処理を個々に規定していたものが、計算機リソースの遍在化によりネットワークモデルへのシフトを余技なくされつつあることによる。その結果、ユーザの利便性を高めるためにどのような手法でネットワーク上に散在するリソースを結びつけることができるかということが課題になっている。
状況依存型の処理をどのように実現するかについて、一つの解になるのは時間を軸とした考え方である。
例えば、マルチメディアオブジェクト間での処理を、同期を取りながら実現する場合や、あるいは、画像や音声といったメディアに対する処理をアプリケーション起動時間に応じて変化させるといったことを実現する場合にも、時間概念の導入は重要な要素である。
このときのポイントは、どのように時間概念を処理モデルに導入するか、とその対象となる処理単位間での連携をどのように実現するか、ということである。
時間概念の導入方法といった前者に対する取組みは、一般的に従来の情報処理モデルに対し時間という属性を導入することにより、対象となるデータの次元数を増やし、対象となるデータを時間軸にて扱うためのモデルを提供することに集約される。ここでは時間概念を扱うことが可能なデータモデル、典型的には時制データベースにみられる単一のアプリケーションをどのように実現するかにそのフォーカスが向けられ、その応用例は数多い。
しかし、後者の対象となる処理単位間での連携をどのように実現するかについては、時間概念をもつデータ処理単位があたかも自律的に連携するようなオープンなシステムをどのように実現できるかということであり、従来この点においては、明らかにはなっていない。
たとえば、時間依存型の情報処理を行うモデルの従来例として、以下の特開平8−30427号公報に記載されるようなグラフィカルユーザインタフェース(GUI)装置がある。
これは、オブジェクトが使用可能である時間帯を示す時間帯情報を記憶し、計算機システムが、システムの状態として現在の時刻を元に、記憶されている時間帯情報を比較参照することで、上記オブジェクトの使用可能性を判定するものである。特許文献1に開示された技術は、これを用いてユーザに対する無駄な入力操作の軽減を可能にするGUI装置を実現するものである。
上記従来例においては、該当するユーザインタフェース(UI)オブジェクトの使用可能性を判断するのみであり、使用不可の場合にはそのUIコンポーネントを表示しないようにするだけである。
加えて、「判断時の時刻」がその有効可能性の判定条件として参照されるだけであるため、処理が継続的に実行されている場合にオブジェクトの使用期限が有効から無効になるタイミングでの処理をどのように行うかといった視点が欠如している。
また、上記従来例ではオブジェクト自体の表示の有無を制御することにより、表示そのものが行われないことによる操作の抑制という効果は期待できるものの、単純な機能のオン、オフに基づく処理では例えば時間に依存して処理内容や、サービス内容が変わるようなUI機能を実現するには充分ではない。
また、狭い画面表示領域など限定されたハードウェア資源しかもたないような小型携帯端末においては、効率的な表示および操作をどのように実現するかということが重要である。特に、機能のオフの状態であるにも関わらず特定の画面領域などハードウェア資源を占有される場合があるのは望ましくない。
さらに、小型携帯端末は、一般的にハードウェア上の制約から、例えば表示領域が狭く、解像度が粗いと共に、使用できるボタンの数が限定されている場合や、システム的な制約から一度に表示できるUIコンポーネントの数が限定される、などの場合がある。
このような小型携帯端末に対しては、時間に依存してUIあるいはハードウェアボタンに割り当てられる処理を変更することは、その利用性の向上を図る点で有効である。例えば、極端な場合ではボタン一つ分の領域・機能しかハードウェア資源が使えないときにでも、時間に応じてそのボタンに最適な処理をアサインすることで、例えば携帯電話を使用している時間により、キーに配置されている処理内容を変化させるといった処理が可能になる。
また、ハードウェアボタンに割り当てられる処理を変更する場合への対応としては、機能オフの状態において、表示そのものを行わないという選択肢もある。しかし、このような場合においても、実際の使用時においてはなんらかの不具合でそれが使えないのか、あるいは、システム的に使用不許可なのかをユーザに対し識別させるための情報を補完することが必要であり、これが実際には不可欠な機能となる。
また、上記従来例では現在時刻によりオブジェクトの振る舞いを変更するとしか記載がないため、それ以上のことは想定される処理の範囲外である。
一般的には、現在時刻に依存して表示内容を変える処理を行う場合には、予めシステム設計者が所望の時刻に所望の処理を行うプログラムを個別に用意する必要がある。したがって、時間に応じて処理を変える汎用的な仕組みを実現するのは容易でない。
つまり、操作の内容や表現方法に時間制約を与え、それに基づく情報処理を行うモデルにおいて各オブジェクト間での連携をどのように実現するか、を具体的に解決する必要がある。
この発明のさらに他の目的は、時間情報に基づく処理を行うことにより、その処理や意味をも含めた振る舞いを変更し、ユーザに対し適切な情報提示を行うことが可能なユーザインターフェースを実現可能な情報処理装置および方法、情報処理プログラム、媒体を提供することである。
この発明のある局面に従うと、情報処理装置であって、少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに対して、時間情報に基づく処理を行いオブジェクトの要素あるいは操作を決定するための決定手段と、決定手段により決定された処理内容に基づいた処理を行う実行手段と、オブジェクトを記憶し、動作およびその状態に関する管理を行うためのオブジェクト管理手段とを備える。
好ましくは、外部情報に基づくイベント条件を登録・保持し、条件に合致した場合に発生するイベントを、オブジェクト管理手段に対し通知するイベント通知手段をさらに備え、イベント通知手段とオブジェクト管理手段は、それぞれイベント入出力操作を行うためのインタフェース手段を含み、実行手段は、イベント入出力操作によるイベント駆動に基づき処理を変更する。
好ましくは、決定手段は、オブジェクトの要素あるいは操作の内容を決定後、決定結果に基づくオブジェクトを新たに生成するためのオブジェクト生成手段を有し、生成されたオブジェクトに基づく処理を実行手段にて行う。
好ましくは、情報処理装置において処理対象となるオブジェクトは、オブジェクトの要素あるいは操作の内容を複数用意し、かつ、当該複数の要素あるいは操作の内容を単一のオブジェクト内に全て内包し、時間情報を処理することによりその内容を選択的に決定する。
好ましくは、情報処理装置において処理される対象となるオブジェクトは、オブジェクトの要素あるいは操作の内容を外部参照の形式にて記述することが可能であり、決定手段は、オブジェクトの要素あるいは操作の内容を決定する際に外部参照にて解決すべき項目がある場合には、オブジェクト管理手段に対し要求を行うことでその解決を行い、処理内容を決定する。
好ましくは、オブジェクト管理手段は、記憶手段と、記憶手段の記憶領域内に格納されたオブジェクトを検索するための検索手段と、ネットワークを通じて情報を取得するための通信手段とを有し、決定手段からの要求により、管理下あるいはネットワークを通じて必要な情報を検索、取得し、その内容を決定手段へ通知することにより、外部参照項目を解決して処理内容を決定する。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段が時間情報を適合することにより、はじめて要素あるいはその操作に関する具体的な値や方法が決定される表現形式を有する。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段により起動時刻が適合されることにより、要素あるいは操作に関するデータ値や方法が決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段により仮想的な起動時刻が適合されることにより、条件に基づく要素あるいは操作に関するデータ値や方法が適合され決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトは、要素あるいはその操作の内容が時間に関する関数の形式にて記述され、決定手段が時間情報を適合することにより、要素あるいはその操作に関するデータ値や方法が決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定手段が時間情報を適合するタイミングにて適切な処理を選択する。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作のそれぞれに対し、時間的な直交がない限りにおいて複数の時間制約に基づく記述を同時に含む記述が可能であり、決定手段が時間情報を適合するタイミングにて適切な処理を選択する。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に関する時間制約は、当該要素あるいは操作を無効にする条件として記述される。
好ましくは、決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間制約を満足する項目が存在しない場合、オブジェクト管理手段に対し通知を行うと共に、当該オブジェクトに関する以降の処理を停止する。
好ましくは、決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間に関する条件を満足する項目が存在しない場合、オブジェクト管理手段に対し通知を行うと共に、オブジェクト管理手段において適切に選択されたオブジェクトに基づく処理を実行する。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は異なるスケール指定における記述の混在を許し、決定手段が、当該オブジェクトの要素あるいは操作に課される時間制約のスケールの単一時間軸への転写を行うことで実際の処理を選択する手段を備える。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は絶対時間指定、相対時間指定あるいはインターバル指定など異なる指定方式における記述の混在を許し、決定手段が当該オブジェクトの要素あるいは操作に課される時間制約の記述形式に関し、予め決定された優先度を用いることで実際の処理を選択する手段を備える。
好ましくは、情報処理装置において処理対象となるオブジェクトは、任意の時間制約オブジェクトを親として生成された場合に、親オブジェクトにて定義される要素および操作に関する性質と共にそれぞれに課される時間制約をも継承する。
好ましくは、情報処理装置の処理対象となるオブジェクトは、親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約をも継承し、当該要素および操作に関する処理をオーバーライドする場合には、親オブジェクトへその権限委譲を問い合わせることにより、実行許可を行う。
好ましくは、情報処理装置の処理対象となるオブジェクトは、親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照することにより、親オブジェクトの一部処理に依存する処理を記述する。
好ましくは、情報処理装置の処理対象となるオブジェクトは、オブジェクト間での依存性の高い処理について、親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照するときに、親オブジェクトへ許可を求める。
好ましくは、情報処理装置の処理対象となるオブジェクトは、親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約をオフセット指定により再配置することでオブジェクト間での連携処理タイミングを操作する。
好ましくは、実行手段は、決定手段により決定されたオブジェクトの要素あるいは操作の内容に基づき処理を行う際の切り替えタイミングにおいて、使用者に対し処理の変更情報を提示するための情報提示手段を有し、時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、オブジェクトの挙動の変化に関する情報を使用者に対し提示する。
好ましくは、オブジェクト管理手段は、決定手段によるオブジェクトに関する要素または操作内容の決定タイミングをイベント通知手段に対し事前に登録することにより、以降の決定動作タイミングに関するスケジューリングを行う。
好ましくは、オブジェクト管理手段は、決定手段によるオブジェクトに関する要素または操作内容の決定タイミングのイベント通知手段に対する登録を規定時間より先行するタイミングにてイベント発火するように登録するための登録手段を有し、イベント通知手段からのイベント受信後、決定手段によるオブジェクトの要素あるいは操作の内容変更を行うタイミングに先行し、オブジェクトの挙動の変化に関する情報を使用者に対し提示する。
好ましくは、情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、適合される時間情報に応じてコンポーネントの表示の方法を変化させる。
好ましくは、情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、適合される時間情報に応じて該コンポーネントに与えられる操作の方法を変化させる。
好ましくは、情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、コンポーネントの表示をアニメーションにて変化させることにより、オブジェクトの挙動の変化を使用者に対し提示する。
好ましくは、情報処理装置は、時間情報に基づき要素あるいは操作を記述可能なオブジェクトと、時間情報に依存しないオブジェクトを混在させた情報処理を行う手段を有する。
この発明の他の局面に従うと、情報処理方法であって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オプジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備える。
この発明のさらに他の局面に従うと、情報処理プログラムであって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップと、をコンピュータに実行させる。
この発明のさらに他の局面に従うと、コンピュータ読み取り可能な記録媒体であって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップと、をコンピュータに実行させるための情報処理プログラムを記録する。
本発明の情報処理装置、方法、情報処理プログラムおよび媒体は、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させることによる適応的な情報処理を実現する。
また、その実施態様によっては、その処理対象となるオブジェクトはその要素あるいは操作内容のそれぞれに対し、様々な時間スケールや指定方式を混在させ異なる時間制約を設定することが可能であり、オブジェクト起動時間に応じて操作の意味そのものを変えるなどの柔軟な処理を記述できる情報処理装置、方法および媒体を実現可能である。
また、その実施態様によっては、単一のオブジェクト内にそれらの異なる時間制約下での処理を内包することができるため、通信機能をもたない家電機器についても時間情報に基づくオブジェクト処理を実現可能である。
加えて、その実施態様によっては、あるオブジェクトの時間制約情報を含めた振る舞いをほかのオブジェクトに対し参照させる、あるいは継承させることが可能であり、これによりあるオブジェクトの振る舞いは別のオブジェクトの時間制約に依存するといった依存モデルやオブジェクト間での連携モデルをシステム的に構築することが可能である。
また、その実施態様によっては、リアルタイム情報に加えて仮想時間情報をその入力源にする情報処理装置、方法および媒体を実現可能であり、これはオブジェクト処理のデバッグプロセスにおいてコンテンツ/サービス開発者に対する便宜を図る点で効果的である。
また、その実施態様によっては、ネットワークサービスをも時間制約条件下で連携させることが可能であり、時間指向サービスとその運用を加味したシステマティックなサービスとその連携を行う環境を構築することが可能になる。
加えて、その実施態様によっては、時間制約を満たす形で選択された要素あるいは操作内容に基づくオブジェクトを再合成し、それを用いた処理を行うことで処理のオーバーヘッド分を解消し、特定の処理に関する実行パフォーマンスを向上させるといった効果が期待できる。
また、その実施態様によっては、時間情報にその性質が依存するオブジェクトとそれ以外の通常のオブジェクト指向システムにおけるオブジェクトを混在させた処理系を実現可能である。
さらには、本発明の情報処理装置、方法、情報処理プログラムおよび媒体は、その実施態様によっては、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させる処理をイベント駆動形式にて行う情報処理を実現する。
また、その実施態様によっては、使用者やアプリケーション、端末などその使用局面に関するセンシング情報を入力源として組み合わせることにより、より細かいサービスに立脚した形での情報処理が可能である。
さらには、その実施態様によっては、オブジェクトに関する処理の要素あるいは操作の具体的内容の変更タイミングにおいてそれを使用者に対し通知するといった提示型情報処理を実現可能である。
また、その実施態様によっては、オブジェクトの要素あるいは操作の具体的内容の変更に関する通知を行うタイミングを実際のオブジェクト処理に先行して提示することにより、実際に処理が行われることを予告する内容の表示画面出力や音声出力処理を行うことが可能である。
加えて、その実施態様によっては、UIコンポーネントを時間情報を含むオブジェクトとして実現する場合に表示そのものや操作の内容が時間により変化するUI要素を実現するだけでなく、その変化のタイミングにおいてアニメーション処理を介在させるなど使用者に対しその変化を効果的に提示する処理を実現可能である。
さらには、その実施態様によっては、オブジェクトの処理決定タイミングを事前にスケジューリングすることで例えばある時間になると画面表示や操作の意味を使用者の明示的な命令や、アクションを必要とせずともあたかも自動的に変更するような時間イベント駆動型UIコンポーネントおよびUIシステムを実現することが可能である。
図2は、時間制約を課すオブジェクトの記述の例を示す図である。
図3は、オブジェクトの要素あるいは操作のそれぞれに対し別の時間制約を課すオブジェクトの記述の例を示す図である。
図4は、オブジェクトに外部参照が含まれるオブジェクトの記述の例を示す図である。
図5は、本発明における情報処理装置100で行われる処理に関するオブジェクト処理アルゴリズムを示す流れ図である。
図6は、絶対時間指定とインターバル指定といった異なる指定方法を同一項目上に混在して与える場合の概念図である。
図7は、図5内ステップS12の詳細アルゴリズムを示す流れ図である。
図8は、本発明の実施の形態2に係る情報処理装置200の構成を説明するための概略ブロック図である。
図9は、情報処理装置200が行うイベント駆動アルゴリズムを示す流れ図である。
図10は、図8にて示される構成の情報処理装置200が従うイベント駆動アルゴリズムを示す流れ図である。
図11は、本発明における情報処理装置300で実現されるUIに関する機能ブロック図である。
図12は、実施の形態3におけるアプリケーション構成要素を示す図である。
図13は、実施の形態3におけるUIイベント処理の流れを示すフローチャートである。
図14は、コンテンツの内容(絵)が起動時間によって変化する例を示す概念図である。
図15A〜図15Cは、図14の処理を実現するときの時間依存関数を示す図である。
図16A〜図16Dは、ネットワークサービスの表示例を示す図である。
図17Aおよび図17Bは、ネットワークサービスの表示例を示す図である。
図18は、図5内ステップS19の詳細アルゴリズムを示すフローチャートである。
図19Aおよび図19Bは、携帯電話上で動作するアプリケーション例を示す図である。
図20Aおよび図20Bは、携帯電話上で動作するアプリケーション例を示す図である。
[実施の形態1]
図1は、本発明の情報処理装置100の構成を説明するための概略ブロック図である。
情報処理装置100は、少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに関する処理を実現するための、オブジェクト管理部101と決定部120と実行部130とを備える。
以下、それぞれについて説明する。
情報処理装置100の処理対象となる「オブジェクト」は、時間情報あるいはそれを処理することによって与えられる情報を基に、その内部の要素あるいは操作を決定することができ、その時間情報を元にした処理を実行あるいは判断した結果をオブジェクトの要素あるいは操作、あるいはオブジェクト自身に対し反映する。
ここで、「時間情報」は、情報処理装置100が識別可能な形式にて記述される情報であり、単に付加的な情報として使用される場合には一般的にオブジェクトとして定義される本質的な構成要素である内部要素あるいは操作の具体的処理からは疎な形式にて付与される。たとえば、典型的な記述方法は、XML(eXtensible Markup Language)を用い、属性形式にて記述される。
ただし、時間情報をその要素あるいは操作を構成する密な内容として利用する場合にはその限りではない。このような例としては、1)オブジェクトに関連する操作が、時間情報を一変数として与えられた関数として定義される場合や、2)帯域保証など要素に対する操作そのものが、ある規定された期間の間確実に処理されなければならないような、操作そのものに時間情報が深く組み込まれているような場合である。
なお、本発明の処理対象となるオブジェクトに関する詳細は後述する。
オブジェクト管理部101は、上述のオブジェクトそのもの、あるいはそれに関連する情報を内部データベース領域内に格納・記憶するための記憶部102と、該当する条件に合致するオブジェクトを記憶領域内から検索するための検索部103と、現在処理実行中のオブジェクトに関する動作およびその状態に関する管理を行うための管理処理部104と、ネットワーク上の情報を取得するための通信部105とを備える。
ここで、オブジェクト管理部101は、上述の時間情報を含むオブジェクトを管理し、実行系において適切なオブジェクトの選択・実行を司る主体として機能する。
プログラムの実行時において、ハードディスク(HD)、フラッシュ(Flash)メモリ、メモリカードなどの外部記憶領域(図示せず)からプログラムが主記憶内に読み出されると、管理処理部104はプログラムの構成要素であるオブジェクトを包括的に管理するための情報を記憶部102に格納する。
記憶部102では、物理メモリ上に存在するオブジェクトコードのメモリアドレスや識別情報(ID)、各種内部データへのインデックス、現在選択処理されている要素/操作に関するステータス情報と、他のオブジェクトへの依存関係を示すリンク情報など、オブジェクトの状態管理に反映されるに充分な管理情報が格納される。
記憶部102により格納された情報は、管理処理部104により適宜アクセスされ、必要な管理情報の参照/更新が随時実行される。管理処理部104はオブジェクトに関する全ての情報管理を行い、記憶部102を用いて必要な情報を格納する。
プログラムの実行過程において処理される対象となるオブジェクトは、その情報が管理処理部104により決定部120に対し随時送信され、以降の過程において処理が決定される。この意味において管理処理部104は、プログラムの実行対象となるオブジェクトの抽出と決定部120への送信を適切なタイミングにて行う機構を有する。
検索部103は、管理処理部104の上位サービスとして位置付けられ、記憶部102内に格納されているオブジェクト管理情報データベース(DB)から必要なオブジェクトの情報を参照する際に用いられる。オブジェクトに記述された処理を実行する過程において他のオブジェクトを参照する、あるいは他のオブジェクトに記述された処理へのスイッチを行う必要がある場合には、検索部103により対象オブジェクトを検索する。
検索部103は、制約条件として与えられた時間制約下で有効なオブジェクト候補を検索する機能をも有し、関連のあるオブジェクトを抽出する。制約条件を満足する複数の候補が存在する場合には選択ルールに基づきその順位付け、あるいは抽出が行われる。このような選択ルールの一例としては、あるオブジェクトに対し、親子関係をもつ場合などは依存関係が強い順に抽出および順位付けが行われるといったルールが挙げられる。
このような複数の選択ルールからなるルールセットは、オブジェクトを処理する文脈によって異なるため、外部から導入できるようにしておくことが重要である。このため、ルールセットは外部から導入される形が望ましいが、所与のものとして与えられている場合を含み、そのポリシーは管理処理部104が管理する。すなわち管理処理部104が検索部103を用いてオブジェクト検索を行う際には、検索ルールそのものは与えられているものとして扱われる。
記憶部102内に情報が格納されていないオブジェクトの解決を行う場合、検索部103は通信部105を用いてネットワークを通じてオブジェクトの情報を検索/取得し、その取得された情報を管理処理部104に通知する。検索部103が通信部105を用いて収集する情報は、必ずしも処理対象となるオブジェクトそのものでなくてもよく、広義の意味でのデータがその検索対象となっていてもよい。それはオブジェクト内部の記述にて解決されるべき情報の与え方に依存する。
管理処理部104は、プログラム実行に必要なオブジェクトを参照/抽出し、逐次、後述する決定部120に対しその情報を送信する。決定部120内の判断部121に対して送られる情報は、処理対象となるオブジェクトへのポインタであり、以降の処理における判断事項は決定部120に委ねられる。
決定部120は、オブジェクト管理部101からの指示により、受信オブジェクト、加えてその構成要素に関連付けられた時間情報を参照し、それを判断することにより、対象となるオブジェクトの要素あるいは操作の具体的な内容を決定する。
決定部120は、オブジェクトの要素あるいは操作の具体的な内容を関連付けられた時間情報を判定することにより、実際の動作および振る舞いを決定するための判断部121と、判断部121の出力から具体的な操作内容の確定を行うための操作部122と、判断部121あるいは操作部122の出力をもとに新たにオブジェクトを生成するための生成部123とを備える。
判断部121と操作部122には時計124が接続される。判断部121において、オブジェクトの要素あるいは操作の項目に関し与えられた時間情報を処理した結果、あるいは直接的に時間情報との間で比較・照合を行うことで適切な処理が選択される。
オブジェクトの要素あるいは操作の項目のそれぞれに直接的に時間設定、すなわち時間制約が与えられている場合には、判断部121は、その制約条件を満足する項目をそれぞれ選択し、操作部122に対し、その結果を出力する。
処理対象となるオブジェクトが、間接的に他のオブジェクトの時間制約を参照している場合、例えば、別のオブジェクトの時間制約を継承している場合などには、判断部121は、管理処理部104に対し必要なオブジェクトの時間制約を問い合わせることにより、処理すべき制約条件を参照した後に適切な処理を選択する。この場合オブジェクトの時間制約を解決するために、判断部121と管理処理部104の間の再帰的な手続きにて参照が行われる可能性がある。
操作部122は、判断部121からの入力をもとに、具体的に確定した処理の実行対象部を後述の実行部130に対し送信する。オブジェクトを構成する要素あるいは操作に関する記述に時間依存の変数が含まれている場合(時変数オブジェクト、後述)には、判断部121によって選択された処理手続きに加え、操作部122は、時計124を用いてその時間情報を時間依存変数部に適合することにより具体的な実行対象処理を決定し、それを実行部130に対し送信する。
生成部123は、判断部121および操作部122により選択されたオブジェクトを構成する要素あるいは操作の具体的処理内容を元にオブジェクトを再合成する。このようにして元オブジェクトに対するサブセットとしてのオブジェクトを新規生成し、オブジェクト管理部101における管理処理部104に対しその情報を通知、記憶部102に対し格納することにより、特定の処理に関する実行パフォーマンスを向上させることができるという効果がある。あるいは、時計124を用いてその時間情報を時間依存変数部に適合することにより、具体的な実行処理を決定した後のオブジェクトを領域内に確保しておくことによる、処理のオーバーヘッド分を解消したより効率的なオブジェクトの利用という効果もある。
生成部123により再合成されたオブジェクトは、元オブジェクトとの間での関連性に関する情報が保持される必要があるため、生成部123は、その管理に必要な情報をオブジェクト管理部101内の管理処理部104に対し送信する。すなわち、「管理に必要な情報」とは、新規作成されたオブジェクトコードのメモリアドレス、元の参照されるオブジェクトのIDやどの要素あるいは操作が選択されているかを示す内部構造データへのインデックス、適合時間などである。
管理処理部104は、生成部123からの新規オブジェクト生成情報を元にオブジェクト管理部101内でそれを統合し、オブジェクトのキャッシュとして利用すべく、それを管理する。
判断部121は、該当するオブジェクト内部に記述される要素あるいは操作に関する処理の選択・決定後に、それに関する情報をオブジェクト管理部101内の管理処理部104に対しフィードバックする。これによりオブジェクト管理部101内の管理処理部104は、どのような処理が時間情報を元に選択・起動されているかを認識し、この判断部121からのフィードバック情報を元に該当オブジェクトのステータス情報を更新する。
また、判断部121は、オブジェクトを構成する要素あるいは操作の具体的処理内容を決定する際に、外部参照あるいはリンク情報などを解決する必要がある場合、すなわち解決すべき情報が処理すべきオブジェクト記述内に含まれる場合に、オブジェクト管理部101内の管理処理部104に対し、必要となるオブジェクトあるいはデータに対する要求を行う。
管理処理部104は、判断部121からの要求に基づき、検索部103を用いて記憶部102あるいは通信部105を通じて必要な情報を取得し、取得情報を判断部121に対し受け渡す。判断部121は、オブジェクト管理部内の検索部103から与えられた情報を元に、具体的な処理内容を確定する。このときオブジェクトに関する要素あるいは操作の具体的内容を確定させるに必要な情報が得られない場合には、オブジェクト管理部101内でエラーとして判断し、エラー処理に移行する。
判断部121、操作部122に接続される時計124は、典型的にはリアルタイムクロック(RTC)であるが必ずしもその必要はなく、時間情報を与える対象であれば構わない。これは仮想時間での利用を考慮し、このときは規定時間に対する情報処理装置のアクションを事前にテストするために利用される。
判断部121に渡されるオブジェクトが、時制オブジェクトあるいは時変数オブジェクトでない、一般的なオブジェクトであった場合、あるいは生成部123により生成され、時間情報に基づく判断を行う必要がないオブジェクトであった場合には、判断部121は何も行う必要はない。これは一般的なオブジェクト指向に基づく情報処理装置との間での互換性を保持する共に、複数種のオブジェクトの混在を許容できることを意味する。
実行部130は、決定部120により決定されたオブジェクトの処理内容に基づき実際の情報処理を行うためのユニットである。実行部130は、解釈部131と実行処理部132と情報提示部133とを備える。
解釈部131は、決定部120内の操作部122からの出力としての実行対象コードを機械語へデコードし、実行処理部132にてそれを実行する。
実行部130は、その必要性に応じて出力部140に対し、実行処理部132経由で表示処理を含めた出力処理を行う。
情報提示部133は、オブジェクトの要素あるいは操作の具体的操作内容の変更が発生した場合に、その情報を使用者に対し提示するための機構である。情報提示部133は、決定部120内の判断部121および操作部122からの処理内容決定情報を別途取得することで、情報提示を行うか否かを判断すると共に、その提示内容に関する処理を行う。
情報提示部133により処理される情報は、決定部120により変更される処理の内容を提示するなど、使用者に対する情報提供のための便宜を図るためのものである。このような情報提供のための処理は、情報提示部133から別途解釈部131経由で実行処理部132にて実行され、出力部140に出力される。情報提示部133は、そのために判断部121および操作部122からの処理内容決定情報を逐次その内部に保持し、処理変更があった場合に通知される処理決定情報との間で比較を行うことで、提示すべき情報の有無を判断する。この比較はオブジェクト内の要素あるいは処理のそれぞれに対し同様に行われることはもちろん、一部オブジェクト間での遷移を比較対象とすることも可能である。このとき、このような比較のためには少なくとも2オブジェクトの前後関係を判断するための情報を随時保持する構成になっていればよい。
情報提示部133による出力の形態は予め設定しておくことも可能であるし、あるいは、処理内容に付加する形式で記述しその情報を操作部122から情報提示部133へ送信した上で情報提示部133がその内容をデコードし、実際の出力形態を決定することも可能である。
情報提示部133により決定される出力の形態は、必ずしもその変更内容を含めたテキストを表示するのみならず、例えば、画面上に配置されるあるコンポーネントが時間に従いその処理が変更されたことを示すために点滅処理を実現するもの、あるいは表示色を変化させるだけのものでもよい。出力部140の他の使い方としては音声出力にて使用者にその変更を通知するものも含まれる。この例では、実際に変更される処理内容と情報提示部による処理は密に結合されているが、その関連は疎な結合であってもよい。この場合文脈の一致の確認は使用者に対し委ねられる事項である。
(情報処理装置の処理対象のオブジェクト)
以下、情報処理装置100の処理対象となるオブジェクトに関する詳細な説明を示す。
なお、以下の説明では、本発明を、情報処理装置100の動作に基づいて説明するが、本発明の形態としては、情報処理装置100で実施される方法として実現してもよいし、このように実施される方法をコンピュータに実行させるためのプログラム、またそのプログラムを記録した媒体として実現されてもよい。
処理対象となるオブジェクトは、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能な情報単位を意味する。
「要素」は、変数あるいは一般的な用語でのプロパティ(属性)であり、動的あるいは静的変数を含み、オブジェクト指向におけるインスタンス変数あるいはインスタンスそのものをも包含する。
「操作」は、手続きであり、データに対するオペレーションを規定する。オブジェクト指向においては「メソッド」を意味するが、情報処理装置100の処理対象となるオブジェクトは、必ずしもデータに依存する形でカプセル化されたオブジェクトにおけるメソッドに限定されるものではない。これは、時間に関するよりオープンな換作の実現を意味し、時間に関する処理を外部に委ねられるなど必ずしも一般的なオブジェクト指向に基づくオブジェクトあるいはメソッドの概念に限定されないことを意味する。
なお、ここで注意すべきは、情報処理装置100の処理対象となる時間概念を含むオブジェクトは、それを含まないオブジェクトとの間でその実行時における排他性を有しない点であり、詳細は以下で示される。
情報処理装置100において処理対象となるオブジェクトは、それが含む要素あるいは操作に対し独自に時間に関する情報が設定される。
かかる時間情報は、以下の2通りの場合が存在する。第1は、その処理あるいは変数が有効である期間を示すための時間制約である場合(時制オブジェクト)である。また、第2は、この時間情報は、オブジェクトの要素あるいは操作はその内容記述自体が時間情報をその一変数にとる形式にて定義され、時間項に対し時間情報を直接適用することにより、実際の処理を決定するための記述形式(時変数オブジェクト)による場合である。
前者の時制オブジェクトについては、要素あるいは操作に対し、それらが有効な時間、期限を記述することにより、実行時においてその処理の有効時間の判定を行うことによる処理を実現する。後者の時変数オブジェクトは、要素あるいは操作の記述部に時間依存項を設けることで、実行時においてその時間項を適合することにより、具体的な操作内容を確定するものである。
ある局面においては時間依存項のドメインを規定することにより時間制約を実現することができることから、時間項に基づく時間依存処理記述は直接前者の時制オブジェクト概念をも包括的に包含することが可能である。もちろん、時間制約と時間項はその記述方法が分離できるため、オブジェクト内に同時に記述することは可能である。
情報処理装置100において処理対象となる時制オブジェクトは、任意の時制オブジェクトを親として生成された場合にその親オブジェクトに含まれる要素あるいは操作をそのそれぞれに課せられる時間制約を含め継承する。この生成された子オブジェクトは権限が与えられる限りにおいて、親オブジェクトの性質をそのままの形で継承可能である。しかし、権限はオブジェクト作成者のアクセスコントロール設定に基づきシステマティックに決定されるものである。このため、権限を持たない第三者が任意の時制オブジェクトのコピーを無断で使用する、あるいは時間制約をオリジナルのものから改変することを未然に防止する。
一般には、子オブジェクトにおける要素あるいは操作に基づく実際の処理過程において、親オブジェクトの情報が参照され、継承される対象となる処理に対するアクセス権を確認することにより継承可能性が確認される。ここで、親となるオブジェクトに対し必要なレベルでの権限委譲を要求するメソッドを時制オブジェクト内に付帯させることでその実行許可確認を行う。継承される単位はオブジェクトそのものあるいは個別の要素および操作毎で可能であり、個別項目において時間的多態を実現するその中の特定の時間制約下での要素および操作はその対象にはならない。
ただし、時制オブジェクトの要素あるいは操作に関するオーバーライド(この場合はプロパティに対するものも含む)については、親オブジェクトに対し権限委譲を要求し、時間制約をその許可を得た後でオーバーライドすることは可能である。そのとき、親オブジェクトの要素あるいは操作の時間制約に対する整合性は実行時において判断され、例えば、子オブジェクトにてオーバーライドされた要素あるいは操作に関する処理が優先して選択される。任意の時制オブジェクトは、権限委譲のプロセスを経た後に参照元となる時制オブジェクトの要素あるいは操作に付加される時間制約のみを参照または継承可能であり、これを用いて親オブジェクトの一部処理に依存する処理を記述可能である。
時制オブジェクトの継承・参照に関連する処理は、決定部120内における判断部121とオブジェクト管理部101内における管理処理部104との間で権限委譲や参照に関する処理が行われる。この中では、例えば、参照元となるオブジェクトの時間制約を所与のものとし、それに対するオフセットを指定することにより、参照元オブジェクトとの間の時間的な連携を行うようなオブジェクトの処理を実現可能である。
このとき処理対象となるオブジェクトの時間制約は参照元となるオブジェクトの時間制約に対するリンク情報とオフセットからなり、時間オフセットは相対的な時間指定に基づく方式にて記述される。
図2は、時間制約を課すオブジェクトの記述の例を示す図である。図2に示す記述では、説明の便宜性からXMLを用いて例示するが、当該オブジェクトが特定の形式で実現されている場合には、その実装依存形式にて記述されていてもよい。
図2におけるオブジェクト記述例は、オブジェクト全体を修飾する時間制約を含むオブジェクトに関するものであり、時間制約はその有効時間を設定するためのタグを対象に付加することにより実現される。
図2における要素trobjectは時間記述属性をもち、effective_begin属性により、オブジェクトが有効になる時間を指定し、effective_end属性によりオブジェクトが無効化される時間を指定する。
図2内における時間指定形式は、ISO8601に従うシンタックスにて記述を行っているが、実行系においては限定された記述文法をサポートしていれば充分である。上記の時間記述属性はそのオブジェクトに関するアクションを実際に開始、あるいは終了する時刻を示すものではないことに注意する必要がある。
また、オブジェクトの時間制約を記述するためのフレームワークとしてSMIL2.0仕様におけるTiming and Synchronization Moduleに記載されるコンストラクタと同じ要素、属性の名前と値を用いて時間制約を記述することは充分可能である。この記述は、利用面における便宜を図る点で有効である。
ただし、セマンティクスは特定の名前空間に従属する形式にて用いられる。なお、ありそうもない時間制約を付加することにより、指定の処理を一時的に無効にするといった効果がある。
図3は、オブジェクトの要素あるいは操作のそれぞれに対し別の時間制約を課すオブジェクトの記述の例を示す図である。
情報処理装置100において処理対象となるオブジェクトは、その要素および操作のそれぞれに対し異なる時間制約を付加することが可能である。これにより、それぞれの要素あるいは操作毎に時間に関する多態性を実現する。
例えば、図3におけるid要素およびname要素は、それぞれ記号a1と記号a2、記号a3と記号a4で示すように異なる時間制約に基づくため、同一のオブジェクト内に混在した記述が可能である。そして、決定部120において実行時に適切なプロパティが選択される。
同様に、処理を規定するmethods要素内においても、記号b1とb2で示すように異なる時間制約が付加されており、混在が可能であると同時に決定部120において実行時に適切な処理が選択される。
図3の記載においては、バイナリ形式を含む処理コードをも含め、オブジェクトを構成する要素を単一のオブジェクトに含む例が示される。なお、単一オブジェクト内に全ての関連要素が含まれる場合においても、名前空間指定が正規に付加されていることが望ましい。
オブジェクト内の要素あるいは操作のそれぞれは、判断部121によりオブジェクト処理の実行時適切に選択され、その選択された処理に関する実行コードが実行部130に対し送られる。同一の要素あるいは操作に対し時間制約が与えられた複数要素に関し、その時間制約についてオーバーラップするものがあるとき、判断部121はそれを検出し、管理処理部104へと通知することで必要なエラー処理を起動する。
図4は、オブジェクトの要素あるいは操作に関し、時間制約に基づく複数の記述を含むと同時に、オブジェクトに外部参照が含まれるオブジェクトの記述の例を示す図である。
記号c1あるいはc2において記述される操作内容は、それぞれ排他的な時間制約が付加されており、同一オブジェクト内にその記述を共存させることが可能になっていると同時に、その処理内容がネットワーク上のサービスへの参照を明示的に与える形式になっている。
この例において付加される時間制約は、オブジェクト処理側の処理を決定するための制約条件であり、実際には別途ネットワーク上で提供されるサービスに付加される時間制約とは異なる。
外部参照によるアクセスの必要性がある場合には、決定部120からオブジェクト管理部101へと通知を行い、通信部105にてデータの検索、取得が実施される。
図5は、本発明における情報処理装置100で行われる処理に関するオブジェクト処理アルゴリズムを示す流れ図である。
最初にプログラムが記憶部102の主記憶内に読み出されると、管理処理部104は、そのプログラムの構成要素であるオブジェクトに関する管理情報を記憶部102に格納する(ステップS11)。
管理処理部104は、ステップS12にて、プログラム実行時に逐次処理対象となるオブジェクトあるいはその実行に必要となるデータを管理処理部104自身、あるいは判断部121からの要求に応じて検索部103、記憶部102および通信部105を用いて検索、抽出する。ステップS12のアルゴリズム詳細については後述する。
ステップS12の結果、必要となるオブジェクトの情報あるいはデータが取得できなかったか否かがステップS13にて判定され、情報が取得できなかった場合にはステップS25にてエラー処理が行われ、その後プログラムを終了する。
ステップS25における処理には例外処理を行う場合も含まれる。
ステップS12にてオブジェクトあるいは必要なデータが取得された後にはそれらがステップS14にてオブジェクト管理部101から決定部120へと送信され、具体的な処理の決定が行われる。
ステップS15において、判断部121はオブジェクトの振る舞いを決定するために他の情報が必要である限りにおいて、処理をステップS12へと遷移させ、必要な情報の抽出(「解決処理」)を試みる。例えば、オブジェクトがその内部に複数の外部参照を含む構成になっている場合や、他の時間制約オブジェクトの時間制約を継承あるいは参照している場合などがこれに該当し、複数の情報を必要とする場合においてはそれらが全て解決されるまでステップS12からステップS15までのループを繰り返す。
なお、これらは単一のオブジェクトに関する情報取得プロセスであるが、複数のオブジェクトに関する処理を並行して行うような構成であってもよい。
オブジェクトに記述される処理の確定に必要な情報が全て解決されたときにステップS16へ遷移し、対象となるオブジェクトの要素あるいは操作に関する処理が時制オブジェクトに関するものか否かが判定される。時制オブジェクト、すなわち時間制約条件が対象オブジェクトの要素あるいは操作のそれぞれに付加されている場合にはそれらの全てに関し、時間情報とのマッチングによる判定がステップS17以降にて行われる。
ステップS16において判定を行うべき対象が時制オブジェクトでない場合においては、次に対象となるオブジェクトの要素あるいは操作に関する処理が時変数オブジェクトのそれであるか否かがステップS18にて判定される。ステップS18において処理対象が時変数オブジェクトでなかった場合にはそのまま一般的なオブジェクト処理を実行手段にて行うべく、ステップS20へ遷移させる。
これは情報処理装置100での処理は、時間情報に依存しない通常のオブジェクト指向モデルにおけるオブジェクトを共存させることが可能であることを意味し、それは時間制約が与えられないオブジェクトとして判断されることにより実現される。
ステップS16にて処理対象が時制オブジェクトの場合には、ステップS17へ遷移し、処理対象オブジェクトにおける要素あるいは処理に閲し、複数の時間スケールの存在確認が行われる。
複数のスケール記述が同一項目に対し与えられている場合にはステップS23へ遷移し、単一時間軸への変換が行われる。複数の時間スケールを同一オブジェクト内あるいは同一項目上に混在することは与えられる選択肢のそれぞれが時間的に疎になっている場合において可能である。また、時間スケールだけではなく、絶対時間指定とインターバル指定、あるいは相対時間指定といった異なる指定方法を同一項目上に混在して与えることも可能である。この解決のための処理はステップS19内にて行われる。なお、ステップS19での詳細アルゴリズムは後述する。
ステップS23にてスケール変換が行われた後、あるいはステップS17にて時間スケールの解決を行う必要がなかった場合において、ステップS19へ遷移し、時制オブジェクト内の要素あるいは操作に対する記述を時間情報とマッチングすることにより時間制約を満足する処理を選択する。
制約を満足できる処理が候補集合内に存在しない場合には、ステップS22からステップS25へ遷移し、エラー処理あるいは例外処理を行った後、処理を終了する。この他、ステップS25におけるエラー処理においては別途エラー通知のみオブジェクト管理部110へ送信し、以降においてオブジェクト管理部110から送信されるオブジェクトにより規定される処理を行う構成になっていてもよい。これはその処理の実行時点では時間制約を満足できなかったものの、ある条件によっては、実行可能な選択肢が存在する可能性がある場合に有効である。例えばこれにより、あと数秒待てば条件を満足できるものがある、といった場合に情報提示を行うと共に処理をサスペンドする、といった処理を実現できる。
ステップS22において、制約を満足できる処理が候補集合内に存在し選択処理が行われた後にはステップS18へと遷移する。ステップS18において時変数オブジェクトとして解決すべき要素あるいは操作が対象オブジェクトに含まれているか否かを判断し、含まれている場合にステップS24へ遷移し、その時間項への適用を行う。
含まれていなければ、ステップS20にて既に時間制約を満足する処理が選択された時制オブジェクトに関する処理、あるいは時間情報とは無関係のオブジェクトに記述される処理をステップS20にて実行する。
ステップS24において、解決されるオブジェクトの要素あるいは操作は、その内容記述自体が時間情報をその一変数にとる形式にて時間項tを含む関数として定義されるものである。これらに関する操作の例としては、そのインスタンシエートされる時間が暗号化鍵あるいは関数を決定する要素の一つになるような暗号化関数、時間により位相が異なるような非線形的な性質をもつメソッドや起動時間により表示される色が変化するメソッドなどである。一方、要素の例としては時間により初期値が変化するようなインスタンス変数など適合時間に依存してその挙動が変化する処理そのものを代数的な形式にて記述するものがある。
このオブジェクトの要素あるいは操作を定義する記述形式は必ずしも連続関数になっている必要はなく、システム設計に携わる者が自由に記述・設計することが許容される。たとえば、オブジェクトの操作を定義するメソッドの記述形式は一定間隔毎のtに関する階段関数になっていてもよい。なお関数出力に対する時間変数tが依存するドメインはよく定義されている(well−defined)ことが望ましく、この場合に時間tにおける適用の可能性検証を行うことが可能である。これはすなわち、先の時制オブジェクトにおいての時間制約の検証を包含する機能を時変数オブジェクト検証方法において実現可能であることを意味し、端的には時変数オブジェクトとして処理された後の出力の値を参照することにより、その処理の使用に関する妥当性を評価することが可能である(もっとも単純には時間情報を適合することにより、返される関数出力の値が0なら不適合、1なら適合といった2値の評価関数として構成されてもよい)。この場合は操作部122により時間が適合された後の関数出力を再評価するためのルールセットが管理処理部104にて整備された上で関数出力が操作部122から判断部121へと一度フィードバックされた上でその妥当性評価が行われる。また、時変数オブジェクトの記述様式においてはネットワーク上のサービスを時間依存形式にてその利用可能性を含めて参照するものであってもよい。実現例については後述する。
ステップS24においては、オブジェクトを構成する要素あるいは操作に関する記述に含まれる時間依存の変数に時間情報を適用することにより、実際の要素あるいは操作の内容を操作部122にて確定する。時間依存変数に適用される基本的な時間情報は、RTCからの現在時刻情報である。ただし、時変数オブジェクトの動作検証を行うためなどには、仮想的な時間情報をその入力にすることが有効な方法であり、この場合、決定部120に接続される時計が外部からの操作を受ける形でその出力情報を制御できる、あるいは外部から別途時計情報を決定部120に入力することで容易に実現可能である。
ステップS26においては、ステップS24における時変数オブジェクトの各項目に対する時間情報の適用を行った後に、その妥当性検証が行われる。これは端的には、適用した時間に対する時間項tのドメインが無効であるような場合の確認を行うためのものである。そして、適合時間が関数の時間項tのドメインを満足できなかった場合には、処理はステップS25へと遷移し、エラー処理が行われる。
一方、ドメイン内にtが収まっている場合には、そのままその適用後の結果をもってステップS20にて該当オブジェクトに記述される処理を実行する。
以降ステップS21にて、プログラムの実行過程において次の処理対象オブジェクトが管理処理部104の制御下に存在している場合には、そのオブジェクトに関する処理を決定部120との間で行うべく、ステップS12へ遷移する。
すべての規定処理の実行を終えたときプログラム実行は終了する。
図6は、時制オブジェクトの内部記述において絶対時間指定とインターバル指定といった異なる指定方法を同一項目に混在して与える場合の概念図である。図6においては時制オブジェクト内に記述される特定の要素に対する時間制約が異なる2つの指定方法により記述されるものとして仮定する。
上部の長い矢印は絶対時間指定に基づき定義されている時間制約であり、その下部の断続的に続く4本の矢印はインターバル時間指定に基づく時間制約を意味するものであり、同じプロパティに対するものである。
時間指定の方法が異なる場合には時間制約に関するオーバーラップ期間が発生する可能性があり、図6の場合もそれに該当する。このとき、判断部121は管理処理部104に対し記述方法に関する優先度確認を行い、記述に関するコンフリクトの解決を行う。インターバル指定方法にて与えられる処理は回帰性があるため、一例としてはその処理の重要度から絶対時間指定より低い優先度が与えられ、この情報を判断部121が取得・判断することで有効なプロパティが選択されることになる。優先度の与え方に関するルールは処理系に依存し、その混在を許容する場合においてはそれらの間での優先度を予め確定しておくことが必要である。
図7は、図5内ステップS12の詳細アルゴリズムを示す流れ図である。
図5におけるステップS12の開始後、ネットワーク上でのオブジェクトあるいはデータの検索が明示的に指定されているか否かをステップS30にて判定する。
ネットワークにおける情報検索が指定されている場合には、ステップS34にて通信部105を用いてネットワーク上のオブジェクトあるいはデータの検索を行う。
ネットワークにおける情報検索が指定されていない場合には、まずステップS31へ遷移し、記憶部102内に格納されているオブジェクトあるいはデータに対し検索を行う。その結果、所望のオブジェクトあるいはデータを抽出できなかった場合には、ステップS33にてその判定を行った後、ステップS34へ遷移し外部のネットワークに対するオブジェクトあるいはデータの検索を行う。
記憶部102内に所望のデータを確認した場合には、そのままステップS12の処理を終了し、図5におけるステップS13へと遷移する。
図7にて示される流れ図に従う動作を行うことにより、外部参照を含むオブジェクトなど複数の資源をネットワークを用いて連携させ、それらについて時間制約をされるデータをローカル記憶領域である記憶部102あるいはネットワークを通じて取得する、あるいはネットワーク上のサービスをオブジェクト内に記述することが可能になる。
図18は、図5内ステップS19の詳細アルゴリズムを示す流れ図である。ステップS191において、複数の時間指定方法が与えられているがかチェックされる。複数の時間指定方法が与えられている場合においてはステップS192において各記述形式の解釈を行った後にステップS193において各方式に関する優先度を確定し、そうでない場合はステップS、194へ遷移し、時間制約を満足する処理候補集合を抽出する。ステップS193における優先度確定処理に関しては、例えばインターバル指定を絶対時間指定と混在させた場合、インターバル指定処理はある時間毎に周期的に繰り返される反復性を有することから絶対時間指定を優先して選択するように優先度の調整を行うといった処理がこれに該当する。これら優先度調整に関するルールセットは所与である場合の他、外部から導入することが可能であり、そのポリシー管理は管理処理部104が行い、適用されるルールセットは判断部121にて行われる処理の決定において利用される。本来オブジェクトにより規定される処理は文脈依存性が高いため、それに柔軟に対応することが求められる。例えば前述以外の一例として、QoSサービスを提供するような処理については、絶対時間指定された処理に比較してインターバル指定される処理が特に単位時間あたりのサービスの保証の面で優先される必要があり、様々な文脈に対し適切なルールを選択できる仕組みを実現する。
ステップS194においては上記優先度を加味した情報及び与えられた時間情報を参照することにより、オブジェクトの要素あるいは操作において時間制約を満足する処理候補集合を抽出する。
上記図1にて示される構成の情報処理装置100の処理が、図5にて示される流れ図に従う動作を行うことにより、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させることによる適応的な情報処理が実現可能である。
また、その処理対象となるオブジェクトは、その要素あるいは操作内容のそれぞれに対し、様々な時間スケールや指定方式を混在させ異なる時間制約を設定することが可能であり、オブジェクト起動時間に応じて操作の意味そのものを変えるなどの柔軟な処理を記述できる情報処理装置100を実現可能である。これは、例えば一つのボタンに時間に応じて異なる意味を持たせることができるなど、限定された資源しかもたない端末や家電機器に対する効果が期待できる。
さらには単一のオブジェクト内にそれらの異なる時間制約下での処理を内包することができるため、通信機能をもたない家電機器についても時間情報に基づく処理を実現可能である。
加えて、あるオブジェクトの時間制約情報を含めた振る舞いをほかのオブジェクトに対し参照させる、あるいは継承させることが可能であり、これによりあるオブジェクトの振る舞いは別のオブジェクトの時間制約に依存するといった依存モデルやオブジェクト間での連携モデルをシステム的に構築することが可能である。
また、リアルタイム情報に加えて仮想時間情報をその入力源にする情報処理装置100を実現可能であり、これはコンテンツ/サービス開発者に対する便宜を図る点で効果的である。
またネットワークサービスをも時間制約条件下で連携させることが可能であり、分散処理に対する親和性が高い。加えて、時間制約を満たす形で選択された要素あるいは操作内容に基づくオブジェクトを再合成し、それを用いた処理を行うことで処理のオーバーヘッド分を解消し、特定の処理に関する実行パフォーマンスを向上させるといった効果が期待できる。さらには、時間情報にその性質が依存するオブジェクトとそうでない通常のオブジェクト指向システムにおけるオブジェクトを混在させた処理系を実現可能である。
[実施の形態2]
次に、実施の形態2の情報処理装置200について図を参照して説明する。
なお、以下の説明でも、本発明を、情報処理装置200の動作に基づいて説明するが、本発明の形態としては、情報処理装置200で実施される方法として実現してもよいし、このように実施される方法をコンピュターに実行させるためのプログラム、またそのプログラムを記録した媒体として実現されてもよい。
図8は、本発明の実施の形態2に係る情報処理装置200の構成を説明するための概略ブロック図である。
図8における情報処理装置200は、実施の形態1における情報処理装置100の構成に加えて、イベント通知部110を備える。
情報処理装置200のその他の基本的な構成は、実施の形態1における情報処理装置100と同じであり、同一部分には同一符号を付してその説明は繰り返さない。
図8を参照して、イベント通知部110は、センサなどの外部情報に基づくイベント条件を登録・保持し、条件に合致した場合に発生するイベントを、オブジェクト管理部101に対し通知するユニットであり、検知部111と通知処理部112と登録部113とを備える。
検知部111は、複数の外部センサ群114および時計124との間で接続され、登録部113内に登録されたイベント発火条件に基づき外部イベント発生の検知を行い、登録された条件に合致するイベントが発生した場合にその情報を通知処理部112に対し通知する。
複数のセンサ群114に加えて時計124を用いることで、時間イベントとの組み合わせでイベント条件を定義可能である。例えば、ある基準時点における赤外線センサが示すステータス情報によりイベントが発火する、ある時点においてボタンコンポーネントが、使用者によりプレスされている/いないといった状態を加味することで異なるイベントが発火する、あるいはボタンコンポーネントの状態がプレスされてから5秒間同じステータスを保持していた場合に初めてイベントが発火するなど、イベントは複数条件の組み合わせに基づき汎用的に定義される。
センサの接続については個別にオン/オフが可能であり、その前提においてイベント条件設定はセンサの接続情報を反映する形で行われる。
通知処理部112は、発火したイベントに関する情報をオブジェクト管理部101における管理処理部104に対し通知する。それによりオブジェクト管理部101はイベント駆動の形にて予め用意していたオブジェクト関連処理を、イベント駆動の形にて起動する。
登録部113は、イベント通知を行う条件に関する設定の登録・保持を行うための機構であり、その設定はオブジェクト管理部101内の管理処理部104により行われる。これは、特定のオブジェクトをイベント駆動の形で起動するという使用形態では、起動される対象を管理する主体においてその情報が登録されることが自然であることによる。
ただし、使用者がイベント条件と起動する対象としてのオブジェクトを明示的に関連付けるという操作を行うことは可能である。そのためには、使用者がイベント登録を行うと共に起動対象オブジェクトとの関連付けをも指定できるように、外部からの入力を受けるインターフェイス機構を、イベント通知部110とオブジェクト管理部101との間に設け(図示せず)、選択的に、このインタフェース機構とイベント通知部110およびオブジェクト管理部101との間で相互に情報の交換を行えるようにすればよい。
管理処理部104においては、発火イベントに対応する形で予め用意されたオブジェクトを、判断部121へ送信することによりイベント駆動形式にて起動する。ただし、管理処理部104は、直接の処理対象のオブジェクトだけでなく、イベント発火に関連して起動されるオブジェクトに関する情報をも判断部121へ対し送信する。この情報は、操作部122を経由し、実行部130内の情報提示部133へ送信されることにより、イベント発火に伴う、オブジェクトの要素あるいは操作の具体的内容の変更情報として使用者に対する変化を通知するための情報処理に利用される。
情報提示部133は、その内部に蓄積している過去のオブジェクトに関する処理に関する情報との比較を行い、提示すべき情報の有無とその具体的処理を決定し、解釈部131、実行処理部132を用いて実際の情報提示処理が行われる。
なお、管理処理部104は登録部113に対し、本来のイベント発火タイミングより先行するタイミングにて、イベント発火条件を調整すると共に該イベント発火タイミングが通知処理部112から管理処理部104へ通知されてから実際のオブジェクト起動までの遅延制御を行うための機能を有する。これは情報提示部133へ対し通知される起動対象オブジェクトの要素あるいは操作の具体的内容の変更情報の送信と密接な関係があり、情報提示部133にて実行される処理を先行して行うためにイベントのタイミング先行登録・イベント発火時遅延制御が管理処理部104にて行われる。
これにより、オブジェクトの要素あるいは操作の具体的内容の変更を通知するタイミングを実際のオブジェクト処理に先行して提示することが可能になる。そこで、例えば、画面上に配置されるオブジェクトの形状が実際に変更される規定時間前に点滅を始めて使用者に対する注意を喚起することや、「あと…秒で操作内容が変更されます」といった内容の表示画面出力や音声出力処理を行うこと、ひいてはUIコンポーネントを時制オブジェクトとして実現している場合に表示そのものや操作の内容が時間により変化するUI要素を実現するだけでなく、その変化のタイミングにおいてアニメーション処理を介在させ、使用者に対しその変化を通知することが可能である。
決定部120における判断部121は、イベント発火後に管理処理部104により送信された処理対象オブジェクトの要素あるいは操作を決定後、その決定された処理に付加される時間制約条件を参照することにより、次のオブジェクト処理の決定タイミングを予測することができる。これをイベント発生タイミングとして、判断部121は、管理処理部104を用いて登録部113へ登録しておくことで、次以降のオブジェクトの処理決定タイミングを事前にスケジューリングしておくといった使い方が可能である。
この効果として、ある時制オブジェクトの有効期限が満了になった時点で、次のオブジェクト処理を選択し、実行するといった時間イベント駆動型情報処理が実現可能となる。例えば、画面に表示中のUIコンポーネントがある時間になるとその表示や操作の意味を使用者の明示的な命令やアクションを必要とせずともあたかも自動的に変更するような処理が可能である。
図9は、図8にて示される構成の情報処理装置200が行うイベント駆動アルゴリズムを示す流れ図である。
図9に示すアルゴリズムは、図5にて示される実施の形態1におけるアルゴリズムに追加する形で構成される。
すなわち、イベント通知部110内にある登録部113に登録済みのイベントが発火した場合、ステップS41にて、イベント通知部110内の検知部111によりイベントが検知される。その後ステップS42へ遷移し、その検知されたイベントが登録部113に登録済みのものか否かが判定され、登録済みのイベントを同定した場合にはステップS43へと進み、そうでなければそのまま停止状態へと遷移する(ステップS44)。
ステップS43においては、その発火したイベントの情報をオブジェクト管理部101内の管理処理部104へ対し通知すると同時に、管理処理部104はイベント発火に関連して起動されるオブジェクトに関する情報を判断部121へ対し送信する。この情報は実行部130内の情報提示部133にて使用される。以後は、図5におけるステップS13へと遷移する。
図10は、図8にて示される構成の情報処理装置200が従うイベント駆動アルゴリズムを示す流れ図である。
図10に示すアルゴリズムは、図5にて示される実施の形態1におけるアルゴリズムにおけるステップS20を置き換える形で実行され、決定部120および実行部130にて実行される処理に関する。したがって、以下の説明では、適宜、図5も参照して説明を行う。
まず、図5の流れ図におけるステップS20の処理開始後、ステップS51にて、判断部121による次以降のオブジェクト処理に関する時間イベント発生タイミングをイベントとして登録部113へ登録する。これにより、イベント駆動動作の確認と設定が行われる。
ステップS51にて行われるイベント登録は複数のオブジェクトに対しオブジェクトの要素あるいは操作毎に複数の時間イベントとして登録することが許容され、ステップS52に登録すべきイベントが残っている限りにおいてステップS51へと遷移しイベント登録を繰り返す。ただし、このような登録の繰返しは、イベント登録可能数の上限やハードウェア等を含めた制約をみたす限りにおいて行われる。
ステップS53において、管理処理部104はイベント発火に関連して起動されるオブジェクトに関する情報を、判断部121、操作部122を経由し実行部130内の情報提示部133へ通知する。この通知にはイベント発火に伴う、オブジェクトの要素あるいは操作の具体的内容の変更情報が含まれる。
ステップS54において、オブジェクトの実際の処理に先行する処理の必要性が検証され、先行処理が必要な場合にはステップS55にて処理が行われる。この処理としては、情報提示部133による使用者への変更提示処理や、管理処理部104による実際のオブジェクト起動までの遅延制御/同期などのプリプロセス処理が相当する。
プリプロセス処理後、あるいはその必要がない場合にはステップS56にてオブジェクトにより規定される本来の処理が実行される。
その後、ステップS57にて後処理の必要性が検証され、後処理が必要な場合にはステップS58にてその処理が実行される。この処理としては、情報提示部133に格納されるオブジェクトの要素あるいは操作に関する処理内容決定情報の更新などが挙げられる。
この処理の後、図5におけるステップS21へと遷移する。
図8にて示される構成の情報処理装置200が、図5、図9、図10にて示される流れ図に従う動作を行うことにより、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させると同時にその処理をイベント駆動形式にて行う情報処理が実現可能である。
また使用者やアプリケーション、端末などその使用局面に関するセンシング情報を入力源として組み合わせることにより、より細かいサービスに立脚した形での情報処理が可能である。
さらにはオブジェクトに関する処理の要素あるいは操作の具体的内容の変更タイミングにおいてそれを使用者に対し通知するといった提示型情報処理を実現可能である。
また、イベント発生タイミングを先行させることで登録オブジェクトの要素あるいは操作の具体的内容の変さらに関する通知を行うタイミングを実際のオブジェクト処理に先行して提示することが可能になり、例えば、画面上に配置されるオブジェクトの形状が実際に変更される規定時間前に点滅を始めて使用者に対する注意を喚起することや、「あと…秒で操作内容が変更されます」といった内容の表示画面出力や音声出力処理を行うことが可能である。
ひいてはUIコンポーネントを時制オブジェクトとして実現している場合に表示そのものや操作の内容が時間により変化するUI要素を実現するだけでなく、その変化のタイミングにおいてアニメーション処理を介在させるなど使用者に対しその変化を効果的に提示する処理が実現可能である。
さらには、オブジェクトの処理決定タイミングを事前にスケジューリングしておくといった使い方が可能であるため、例えば、ある時間になると使用者の明示的な命令やアクションを必要とせずとも画面表示や操作の意味をあたかも自動的に変更するような時間イベント駆動型UIコンポーネントを実現することが可能である。
[実施の形態3]
次に、実施の形態3の情報処理装置300について図を参照して説明する。
このような情報処理装置300により、以下で説明するようなユーザインタフェース(UI)が実現される。
まず、情報処理装置300により実現されるUIに関する補足説明として、UIの特徴について記す。UIは、対象となるアプリケーションに対し密接な関係をもつものであり、一般的にその表示あるいは操作内容はアプリケーションに深く依存する。そのためその処理は予めシステム設計者が所望の処理を行うプログラムを個別に作成するアプローチが一般的である。
これは、システムとユーザの間のインタラクションパターンが、全てシステム管理者の制御下にあるという前提によるものであるが、ネットワーク化の進展に伴い遍在化したネットワークサービスを検索して利用するといった環境下においては、システム設計者がすべての適切なUIパターンを網羅するといったことはその範疇にない。
このため、今後ますます増大していくネットワークサービスを利用していく際に、適切なインタラクションを取捨選択することのできるフレームワークとしてユーザの利便性を図っていく必要がある。ユーザとシステムとの間の最適なインタラクションを、時間をキーとして選択することは、粒度の高いコネクションの中から適切な情報提示/操作を与えるといった方法において一つの解を与えるものである。
(情報処理装置300の構成)
図11は、本発明における情報処理装置300で実現されるUIに関する機能ブロック図である。
なお、以下の説明でも、本発明を、情報処理装置300の動作に基づいて説明するが、本発明の形態としては、情報処理装置300で実施される方法として実現してもよいし、このように実施される方法をコンピュターに実行させるためのプログラム、またそのプログラムを記録した媒体として実現されてもよい。
図11における情報処理装置300は、図8に示した実施の形態2における情報処理装置200を元に、より上位のサービスを実現すべく構成される。
情報処理装置300の基本的な構成は、実施の形態2における情報処理装置200と同じであり、同一部分には同一符号を付してその説明は繰り返さない。
したがって、以下では図8記載の情報処理装置200と異なる内容およびその補完部分に関し、説明を行う。
図11を参照して、入力部150は、画面上に表示されたUIに対するユーザ操作を取得するためのユニットであり、マウスやキーボード、感圧パッドといった入力デバイスがそれに該当する。入力部150は、ユーザが行った操作の内容をイベント通知部110内通知部111に対し送信する。
イベント通知部110は、時計124および外部センサ114や入力部150、出力部140からの出力イベント発生時に、それをアプリケーション管理部160に対し通知するユニットである。イベント通知部110は、検知部111と通知処理部112と登録部113とを備える。
検知部111は、時計124および複数の外部センサ114、入力部150、出力部140と接続され、登録部113内に登録されたイベント発火条件に基づき外部イベント発生の検知を行う。検知部111は、登録された条件に合致するイベントが発生した場合に、その情報を通知処理部112に対し通知する。
通知処理部112は、発火したイベントに関する情報をアプリケーション管理部160に対し伝達する。センシングの際には時間との組み合わせ、加えて入力イベントや出力イベントとの組み合わせでイベント条件は定義可能である。UIを構成する場合には入出力イベントそのもの、あるいは入出力イベントと時間の組み合わせでほとんどの条件が設定される。
キーボードやマウス上のユーザの入力動作は、入力部150からのイベントとして通知部120を介してアプリケーション管理部160、正確にはその中のウィンドウサーバ161に対して送信される。さらに、ウィンドウサーバ161から、その後適切なアプリケーションに対しイベントが送信される。
入力部150からのイベント発生時には、ユーザが何を行ったかを記録した情報、たとえば、その時点でのカーソルの位置やどのウィンドウが影響を受けたかなどの情報と、他の関連した情報も含めて送信される。
例えば、”key−down”イベントは、ユーザがキーボード上のキーを押したときに生成され、”key−up”イベントはキーが離されたときに生成される。”mouse−down”イベント、”mouse−dragged”イベント、”mouse−up”イベントは、それぞれユーザが、マウスボタンを押したとき、マウスをドラッグしたとき、または、マウスボタンを離したとき、各イベントは一つのユーザのアクションを記録する。
例えば、key−downイベントには、押されたキーの情報が、mouse−upイベントには離されたマウスボタンの情報がそのアクションが行われた際の位置座標とあわせて通知される。
入出力イベントと時間の組み合わせにより発生するイベントは、例えば該当する入出力イベント発生時に時計カウンタが起動することにより、カウンタの値が設定された値と等しくなった(ダウンカウンタで値が0になった場合も含む)タイミングで発火する。これは入出力操作を時間と組み合わせたプリミティブなイベントを、イベント通知部110内で記述できることを意味する。しかし、時間に関する条件は、イベント通知以降のプロセスにおいて処理することができ、必ずしもプリミティブなイベント条件の形をとる必要はない。
各種センサの接続については検知部111において個別にオン/オフが可能である。
通知処理部112は、発火したイベント情報をアプリケーション管理部160におけるウィンドウサーバ161に対し通知する。
ウィンドウサーバ161の主たる機能は、アプリケーションに対し描画できるウインドウリソースを提供することとイベントを適切なアプリケーションに送信すべく処理することである。各アプリケーションは、ウィンドウサーバ161と通信を行うことにより、ウィンドウサーバが管理するスクリーン領域の内部に描画できるウインドウリソースを確保する。ウインドウサーバ161は、情報処理装置300の中で発生するイベントを監視し、それらをアプリケーションに対し受け渡す制御に対し責任を負う。
イベント発生時に、ウィンドウサーバ161は、アプリ管理処理部162を用いて管理下にあるアプリケーション情報を取得し、スクリーン領域の内部でウィンドウフォーカスがあたっているウィンドウ、すなわちアプリケーションを特定し、メッセージを送信すべき実体となるオブジェクトを特定する。ウィンドウサーバ161は、オブジェクトの特定の後、イベントディスパッチャ163を用いてイベントをその対象となるオブジェクトに対し、オブジェクト管理部101管理処理部104を介したアクセスを行うことにより、メッセージング処理を行う。
イベントディスパッチャ163は、アプリケーション毎にどのようなイベント情報を通知すべきかに加え、その通知に関する優先順位を内部テーブル管理する。イベントディスパッチャ163は、イベント発生時において、内部テーブルを参照することにより、対象オブジェクトに対するメッセージング処理を決定する。
イベントディスパッチャ163は、アプリケーションに対し通知するイベント情報を格納すると共に、より上位のイベント管理を行う。これはアプリケーションの文脈に応じて、下位イベントを通知するイベント通知部110によるプリミティブイベントサービスを組み合わせ、アプリケーションに則した形のイベントとして管理する。例えば、入力部150からのmouse−draggedイベントがイベントディスパッチャ163に渡された場合に、アプリケーションによってはマウスがドラッグされた状態で、そのまま3秒経過後に操作内容の意味を示す文字列を画面上に表示する必要があるときには、イベントディスパッチャはmouse−draggedイベントが通知されてきた時点で、登録部113に対し3秒後に起動するタイマイベントを登録する。勿論実装上は、この3秒タイマの満了後にステータスチェックを行い、マウスの状態がdraggedであることを確認する方法にて処理してもよい。
アプリケーションはイベントを受け取り、それに応じた処理を行い、また別のイベントを待つ。イベントが生成される限り、アプリケーションはイベントを取り続け、イベント形式で送られてくるユーザアクションに基づき処理が行われる。なお、アプリケーションを構成するオブジェクトの構成要素については後述する。
アプリケーション管理部160からのメッセージングにより、オブジェクト管理部101は、アプリケーションを構成するオブジェクトに関する処理をイベント駆動の形にて起動する。イベント通知部110内の登録部113へのイベント条件設定登録は、アプリケーション管理部160内のウィンドウサーバ161のほか、オブジェクト管理部101内の管理処理部104により行われてもよい。これは特定のオブジェクトをイベント駆動の形で起動すべく統一されたシステムにおいて実現される。
(情報補完部126)
次に、決定部120中の情報補完部126について説明する。
情報補完部126は、イベント駆動型の構成をとる上で、情報提示部133にとって代わる機構として設けられている。
情報補完部126は、オブジェクト要素あるいは動作に関する挙動の変化を随時観測する機構であり、情報提示部133にあったオブジェクト処理機能を集約し、プリプロセス処理を実現するものとして、決定部120に設けられる。
情報補完部126は、判断部121および操作部122からの処理内容決定情報と管理処理部104にて管理されるオブジェクトの情報とを参照し、その変化を追跡する。オブジェクトの処理に変化があり、かつその変化に応じて起動すべき処理が処理対象元オブジェクトに規定されている場合には、その変化内容を管理処理部104に対して送信すると共にそれに基づく処理が起動される。
一方、処理対象オブジェクトの変化に応じて起動すべき別のオブジェクトが規定されている場合には、情報補完部126はオブジェクト間での関連性の有無を管理処理部104からの情報にて参照し、変化に応じて起動されるオブジェクトが存在するときには、管理処理部104に対し起動すべき対象となるオブジェクト識別子を与えることによりそのオブジェクトにて定義される処理を行う。
これにより、例えば、規定時間になったときに変化するオブジェクトの内容を別のウィンドウにて表示させる、あるいはユーザに対しオブジェクトの挙動に対する変化情報を提示する。
この情報補完部126によって実現される処理は主なる処理手続きとは別のプロセスとして処理されるため、複数の実行手段が存在する場合にはその処理を並行して行えるメリットがある。実行手段が単一の場合には情報補完部により起動されるオブジェクト処理はメインとなる処理手続きから、一旦サブルーチンコールあるいはフックされる形で実行され、その処理後にメイン処理へ戻るように設定される。
図12は、実施の形態3におけるアプリケーション構成要素を示す図である。
アプリケーションは階層的なオブジェクト構成を有し、この構成にてUIが実現される。
各アプリケーションは単一のアプリケーションオブジェクトと複数のウィンドウオブジェクト、さらに個々のウインドウオブジェクトに従属する複数のビューオブジェクトをもつ。アプリケーションオブジェクトが複数のウインドウオブジェクトをもつ場合はアプリケーションが複数のウインドウやパネルを必要とする場合に対応する。一例としては、設定パネルと描画ウインドウを同時に表示させるような場合である。勿論アプリケーションオブジェクトに従属するウインドウオブジェクトが一つの場合であってもかまわない。
各ウィンドウの下には複数のビューオブジェクトが存在し、これはウィンドウに従属する個々のオブジェクトに相当し、図12の例ではUI部品がこれに該当する。
オブジェクトは全て時間情報に準じた処理を記述でき、それぞれ時間に応じて要素あるいは操作を変化させることが可能である。すなわち、階層的な構成をとるその何れのレイヤに属するオブジェクトについても同じスキームで時間に応じて振る舞いを変化させることが可能である。この階層的なオブジェクト構成によりUIが実現される。
(イベントの通知、受け渡しの方法)
図13は、実施の形態3におけるUIイベント処理の流れを示すフローチャートである。
図13を参照して、イベント通知部110内にある登録部113に登録済みのプリミティブなイベントが発火した時(ステップS600)に、ステップS602にて、イベント通知部110内の検知部111によりイベントが検知される。その後ステップS604へ遷移し、その検知されたイベントが登録部113に登録済みのものか否かが判定され、登録済みのイベントを同定した場合にはステップS608へと進み、そうでなければそのまま停止状態へと遷移する(ステップS606)。
ステップS604において、イベントが登録済みの場合は、ウィンドウサーバ161にそれが通知される(ステップS608)。
アプリケーション管理部160中のアプリ管理処理部162にテーブルにて管理されるアプリ情報に基づいて、ウィンドウサーバ161にてディスパッチ先のアプリケーションが決定される(ステップS610)。そのとき、アプリケーションオブジェクトの処理として、別のイベントを必要とする場合(ステップS612)、例えばあるアプリ起動後5秒後に別の処理を行う必要がある場合には必要なイベントをプリミティブイベントの組み合わせとして分割し(ステップS614)、登録部113が処理可能な形式にてイベントを登録する(ステップS616)。これらのイベント登録処理は共通のオブジェクト操作の枠組みにて実現される。まず、ステップS618にて処理を継続するかどうかが判断され、次に起動すべきイベント登録のみを行う必要があり、継続的な処理を必要としない場合にはその処理は停止状態となり(ステップS642)、継続的に処理を行うことが可能な場合には続いては再びS612にて異なるイベント条件のチェックが行われる。さらなる追加イベント登録を行う必要がなく、かつ並行的に処理が可能な状態にある場合には引き続きウインドウオブジェクトの選択が行われる(ステップS620)。
ウインドウオブジェクトの処理としても共通のオブジェクト換作の枠組みにて追加イベント登録の処理が行われる。即ち、ウインドウオブジェクトの処理として別のイベントを起動する必要がある場合(ステップS622)、必要なイベントをプリミティブイベントの組み合わせとして分割し(ステップS624)、登録部113が処理可能な形式にてイベントを登録する(ステップS626)。ステップS628にて処理を継続するかどうかが判断され、次に起動すべきイベント登録のみを行う必要がある場合など継続的な処理が実行できない場合にはその処理は停止状態となり(ステップS642)、継続的に処理を行うことが可能な場合には続いては再びS622にて異なるイベント条件の有無チェックが行われる。さらなる追加イベント登録を行う必要がなく、かつ並行的に処理が可能な状態にある場合には引き続きビューオブジェクトの選択が行われる(ステップS630)。ここでもビューオブジェクトの処理として、共通のオブジェクト操作の枠組みにて追加イベント登録の処理が行われる。即ち、ビューオブジェクトの処理として別のイベントを起動する必要がある場合(ステップS632)、必要なイベントをプリミティブイベントの組み合わせとして分割し(ステップS634)、登録部113が処理可能な形式にてイベントを登録する(ステップS636)。ステップS638にて処理を継続するかどうかが判断され、次に起動すべきイベント登録のみを行う必要がある場合など継続的な処理が実行できない場合にはその処理は停止状態となり(ステップS642)、継続的に処理を行うことが可能な場合には続いては再びS632にて異なるイベント条件の有無チェックが行われる。さらなる追加イベント登録を行う必要がなく、かつ並行的に処理が可能な状態にある場合には引き続きオブジェクトにより定義される操作が行われる(ステップS640)。
これにより、アプリの挙動を変化させることや、あるパネルだけクローズする、あるUI部品だけ変化させるといった仕組みを、同じ枠組みの中で具体化できる。
図14はコンテンツ(画像)の表示が時間によって変化する例を示す概念図であり、風景画像オブジェクトに関する表示色の描画パターンが時間情報により与えられる例を示す。図14により示される例としての画像コンテンツは背景/雲/山のコンテンツ要素から構成され、それぞれの要素に対し時間に関する制約条件が課せられる。
図15A〜図15Cは、図14のコンテンツ表示を行う際に各要素の表示を定義する時間依存関数の例を示す図であり、コンテンツの各要素の色情報を構成するRGBのレベルが時間tに従属する関数形にて定義される。すなわちR成分、G成分、B成分毎に関数が用意され、適合する時間情報tによりコンテンツ表示の際に必要な色信号としてのRGBの値が関数値として決定され、それに従い各コンテンツ要素の色が時間情報に応じて変化する。
図15A〜図15Cではコンテンツの背景(空)のオブジェクトに関する表示パターンを定義した例を示している。
朝はゆるやかに赤みかかった朝焼けを示す色になり、昼になるにつれて段々と育成分が強くなり、夕刻付近になると夕焼けを示す樫から段々と暗い赤に遷移し、夜は暗くなるような連続的な遷移を示す関数として定義しており、与えられる時間情報に応じてその表示を変化させる。それにより、時間に応じてコンテンツの表示を変化させられることができる。上記に示すコンテンツの表示の変化はビューワアプリケーションの起動時間に因るものであってもいいし、時間に応じて自動的に表示が変化するものであってもよい。前者の場合には図1の機能ブロック構成にて判断部121が時刻情報を適合することにより、実現できる。後者の場合には、継続的にコンテンツ表示を変化させるために、図8および図11の機能ブロック図にて実現される情報処理装置において、図10にて示されるイベント駆動アルゴリズムにてオブジェクトの処理決定タイミングをスケジューリングすることにて実現可能である。
これをUI部品に応用することにより、特定のUIの表示を時間に応じて変化させることができる。また、本発明では上記の場合に限定されず、時間依存関数の形でデータの要素が決定されるような構成をとる情報処理装置に対し、一般的に適用可能である。
図16A〜図16Dは、ネットワークサービスの表示および換作例を示す図であり、起動時間によりサービスが有効な場合の表示とそうでない場合とで表示が変化するモデルを示している。
図16Aはサービス有効期間中にネットワークサービスへアクセスした場合に利用者に提示される画面表示例であり、例として株価表示サービス(Stock Quote Service)を取り上げている。該サービスをサービス提供時間内に利用するときにはその適用時点での株価が表示される。左下段に配置されるコンテンツ画像は時間に依存して表示が変化する形式にて表現されたコンテンツ画像(図14)であり、通常のサービス時間内にはサービスが有効であることを示すために、昼間の明るい空を示す画像が表示される。右上段に配置されるボックス内にはより本例をわかりやすくするために現在時刻が表示されているものとする。
図16Bは、サービス提供期間外におけるアクセスに対応する表示例を示す。利用者に提示される画面として、サービスが使えないことを示す表示がされると共に、左下段に配置されるコンテンツ画像の表示(夜の表示)により、サービスが有効な期間でないことが利用者に対し提示される。
図16Cは、サービスが提供されていない時間であることを示す表示場所へポインタを動かすと、利用者に対する補完情報として次にサービスが有効になる時間が表示される例を示す。サービスを提供するオブジェクトとして本来定義される情報はサービスそのものを受けるために必要な引数列とそのアクセスポインタ(URI)及び有効時間がその典型的なものであり、情報補完部126が関連オブジェクトに関する情報を管理処理部104への参照を行うことで、サービスが次に有効になる時間情報を取得し、利用者に対し補足的な情報提示を行う。これにより、利用者に対する情報提示に関する便宜を図ることが可能になる。
図16Dは、サービスが提供されていない時間であることを補完情報として提示する図16Cから、さらにサービスが有効になるタイミングをイベント登録してやることにより、その時間になったときにすぐにサービス要求を出せるように設定を行う例を示す。情報補完部126は関連オブジェクトに関する情報を管理処理部104へ参照し、サービスが次に有効になる時間情報を取得し、利用者に対し補足的な情報提示を行う過程において利用者に対し、次のサービス有効時間になったときに即座にサービスを受けることができるようイベント登録を行うよう利用者に対し提示する。この場合、情報管理部104を経由することにより、該当するサービスオブジェクトに関連するイベント登録を行う。
図17A〜図17Bは、ネットワークサービスの表示および操作例を示す図であり、サービスが起動時間において有効でない場合において表示が変化するモデルを示す。
図17Aは、サービスが提供される時間が近付いてきた場合の例であり、情報補完部126が情報管理部104へ参照することにより、関連オブジェクトに関する情報からサービスが有効になるタイミングを判断し、次のサービス起動へ残り時間が情報補完部126内に保持/管理される閥値を下回った場合にサービスがあと少しで利用可能であることが表示される。また、左下段に配置されるコンテンツ画像がアニメーションを開始することで、利用者に対しサービスの有効タイミングが近くなってきたことを通知する。このコンテンツ画像や文字の表示の変更動作については別途情報管理部104経由で次に表示を変更するタイミングを規定するといった用途も可能である。
図17Bは、同サービスが提供される時間が近付いてきた場合の例であり、左下段に配置されるコンテンツ画像がアニメーションにより、段々そのサービスがつかえるタイミングに近付いてきたことを空が明るくなってきたことによる類似にて示すと共に、サービス開始までの残り時間が画面上に表示される。これはサービスが実際に利用可能になる時刻になったときに即座にその表示や動作に反映するだけでは実際には十分でなく、事前に通知を行うことにより利用者の便宜を図ることができるメリットがある。
[実施の形態4]
図11にて示される情報処理装置300により実現される別の実施の形態を図19A〜図19B、図20A〜図20Bを元に説明する。
図19A〜図19Bは、携帯電話上で動作するプログラム(オブジェクト)が利用される際に時間情報を適合することにより、その表示と操作の内容が変化する例である。図19A〜図19Bにて示される表示の元になるアプリケーションは出退勤管理を携帯電話から行うことができるアプリケーションである。
図19Aは、出退勤アプリケーションの朝の出社時間帯における画面を示す例である。アプリケーションを起動している現在時刻が19の上段にリアルタイム表示されると共に、中段には出退勤登録すべき対象となる人物の氏名とそのコード番号が認証情報として入力される(これは最初に登録処理を行うことで常に携帯電話上で自動入力されるものとして扱う)。下段にはデバイスのキーとの一対一マッピングを示す操作の内容が表示され、この場合画面左のキーがキャンセル、Fキーが出勤登録、右のキーがメニューに戻るように操作がアサインされている。以後、9時から就業時間であることを仮定すると、図19Aの表示タイミングは朝の8時20分であり、そのとき現在時刻の情報を元に決定部120においてFキーにアサインされる操作としての出勤処理が判断部121により選択判断され、実行部130による処理として、Fキーに出社登録のために外部サーバに対し送信されるメッセージング形式およびデータが規定されるとともに利用者に対するキー機能表示を変化させる(メッセージ送信先として必要となるサーバなど、外部ネットワーク構成については説明しない)。図19Aのタイミングにおいて利用者はFキーを押すことにより、出社登録処理を通信により外部サーバに対し行う。
出退勤サービスに従属するサービスの有効期間を参照することにより、適応的にキーにアサインされる操作や表示を変更することができる。これは例えば携帯電話のようなデバイスにおいてキーのアサインを時間に応じて適応的に変化させることによりリソースを有効に活用できるといった点でメリットがあると共に、ともすれば特定の機能がどのキーあるいはどのキーの組み合わせにて実現されるかといったより操作の複雑化を招く恐れがあるトピックに対し、操作の簡略化と可視性を高めることができるひとつの方法として有効である。また、携帯電話デバイス内でできるだけの処理を行うことで実際に通信すべきデータ量やトラフィックを削減できるといった効果もある。
図19Bは、出退勤アプリケーションの朝の出社時間帯における画面を示す例であるが、出社規定時間である9暗が近くなってきた場合の画面例を示す。図19Bにおける時間表示は8時59分40秒であり、このとき上段に配置される現在時刻は点滅して表示され、下段に表示されるFキーの機能に関する情報は点滅するともに拡大して表示される。この表示の変化は利用者に対する注意を喚起すると共に換作を促す意味で有効である。この表示変更は予めイベント通知部110に対し時間イベントの形で登録し、その登録済みイベント駆動に基づき情報補完部126が表示を変化させることにより実現可能であるい点滅を開始するタイミングや点滅インターバル、ならびに文字の拡大/縮小レベルなどは予めアプリケーションに依存するものとして別途オブジェクトの処理の内部に規定しておく必要があるが、その起動タイミングをイベント登録しておくことでシステムの実装に依存しない形での実現が可能である。ちなみに点滅表示のかわりにアニメーション動作にて利用者の注意を喚起することは充分可能である。
図20Aおよび図20Bは出退勤アプリケーションの別画面を示す例である。
図20Aは出社規定時間を過ぎた場合の画面例を示し、図20Bは夕刻時における画面例を示すものである。
図20Aの表示タイミングは出社規定時刻を超過しており、時間情報を参照することでサービスが有効期間でないことを判断し、Fキーに対し割り当てられていた出社登録処理から表示も含めてFキーに割り当てられていた処理をイベント駆動にて変更する。
図20Bの場合はその時刻が夕刻であることから退社登録処理をFキーに割り当てると同時に利用者に対する表示も変更する。どのタイミングで表示ならびに操作を変更するかについてはアプリケーション依存であり、イベント登録形式にて規定することで包括的なメカニズムにて実現可能ではあるが、予めシステムが判断タイミングを固定的に規定する形で実現することも可能である。情報処理装置300、このような処理を実施させるためのプログラム、このプログラム記録した媒体により実現されるUI装置は、ユーザの操作をその時間に適切な最適に適応させた形で適応的な情報提供のメカニズムを実現する。
すなわち、UI表示が時間によって変化する、あるいはUI換作の方法が時間によって変化する処理を行うことが可能である。これは直接的な操作へのマッピングを変更する他にも例えばキーの押下操作あるいはマウスのシングルクリック操作を、ある時間においてはマウスのダブルクリック操作と同じ扱いにするというような、操作への間接的なマッピングが可能である。また、指定の時間が近づくにつれて段々表示が遅くなる、文字の点滅速度がはやくなるといった処理を行うこともできる。加えて、一般的なUI出力の一部として音声を扱うことも可能である。起動時間により、予め登録済みの音声出力を行うことや、特定の時間になったときにイベント駆動の形で時間情報に応じて適応的に音声出力処理を行うことが可能である。時変数オブジェクトとして出力パターンを定義することにより、時間に応じて出力周波数を変化させることができる。また携帯電話においては予め時間に応じて着呼音を変更するように登録、設定するといった用途へ適用可能であり、例えば一日のうち数時間毎、あるいは4暗から5暗まで特定の着呼時の呼び出し音声を変更するといった応用が可能である。この具体的な応用例としては夜には呼び出し音量を低くするという用途への適用である。
情報処理装置300、このような処理を実施させるためのプログラム、このプログラム記録した媒体により実現されるUI装置は、その要素あるいは操作内容に時間情報を含むオブジェクトとしてUI部品が実現されるときに、UIがもつ性質を時間情報を元に変化させることでユーザとシステムの間の適応的なインタラクションを実現する。これはUI部品の表示を時間に応じて変化させる、UI部品に割り当てられているユーザ操作の意味を変化させる、ことを含む。
さらには、オブジェクトに関する処理の要素あるいは操作の具体的内容の変更タイミングにおいてそれを使用者に対し通知するといった提示型情報処理を実現可能である。
また、オブジェクトの要素あるいは操作の具体的内容の変さらに関する通知を行うタイミングを実際のオブジェクト処理に先行して提示することにより、例えば、画面上に配置されるオブジェクトの形状が実際に変更される規定時間前に点滅を始めて使用者に対する注意を喚起することや、「あと…秒で操作内容が変更されます」といった内容の表示画面出力や音声出力処理を行うことが可能である。加えてUIコンポーネントを時間情報を含むオブジェクトとして実現する場合に表示そのものや操作の内容が時間により変化するUI要素を実現するだけでなく、その変化のタイミングにおいてアニメーション処理を介在させるなど使用者に対しその変化を効果的に提示する処理を実現可能である。
さらには、オブジェクトの処理決定タイミングを事前にスケジューリングすることで例えばある時間になると画面表示や操作の意味を使用者の明示的な命令やアクションを必要とせずともあたかも自動的に変更するような時間イベント駆動型UIコンポーネントおよびUIシステムを実現することが可能である。
また、本発明の情報処理装置300、方法は、汎用的なコンピュータにて構築することができる。このときには、本発明における決定部120および実行部130およびオブジェクト管理部101およびイベント通知部110をコンピュータ上で実現し、情報処理プログラムを実行することによりその機能を実現する。該制御プログラムは、リムーバブルディスク、フラッシュメモリ、フロッピー(R)ディスク、メモリカードなどの外部記憶装置に導入することが可能であり、したがって本発明はコンピュータにおいて実行可能な情報処理プログラムを記録した記録媒体を含む。
この発明を詳細に説明し示してきたが、これは例示のためのみであって、限定となってはならず、発明の精神と範囲は添付の請求の範囲によってのみ限定されることが明らかに理解されるであろう。
本発明の目的は、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、その表示や意味をも含めた性質を時間情報に基づく処理を行うことで変更することによって、適応的な情報処理を行うことを可能にする情報処理装置および方法、情報処理プログラム、媒体を提供することである。
この発明のさらに他の目的は、時間情報に基づく処理を行うことにより、その処理や意味をも含めた振る舞いを変更し、ユーザに対し適切な情報提示を行うことが可能なユーザインターフェースを実現可能な情報処理装置および方法、情報処理プログラム、媒体を提供することである。
この発明のある局面に従うと、情報処理装置であって、少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに対して、時間情報に基づく処理を行いオブジェクトの要素あるいは操作を決定するための決定手段と、決定手段により決定された処理内容に基づいた処理を行う実行手段と、オブジェクトを記憶し、動作およびその状態に関する管理を行うためのオブジェクト管理手段とを備え、処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定手段が時間情報を適合するタイミングにて適切な処理を選択する。
好ましくは、外部情報に基づくイベント条件を登録・保持し、条件に合致した場合に発生するイベントを、オブジェクト管理手段に対し通知するイベント通知手段をさらに備え、イベント通知手段とオブジェクト管理手段は、それぞれイベント入出力操作を行うためのインタフェース手段を含み、実行手段は、イベント入出力操作によるイベント駆動に基づき処理を変更する。
好ましくは、決定手段は、時間情報を適合し具体的なオブジェクトの要素あるいは操作の内容に関する処理を決定した後、決定結果に基づくオブジェクトを新たに生成するためのオブジェクト生成手段を有し、生成されたオブジェクトに基づく処理を実行手段にて行う。
好ましくは、情報処理装置において処理対象となるオブジェクトは、オブジェクトの要素あるいは操作の内容を複数用意し、かつ、当該複数の要素あるいは操作の内容を単一のオブジェクト内に全て内包し、時間情報を処理することによりその内容を選択的に決定する。
好ましくは、情報処理装置において処理される対象となるオブジェクトは、オブジェクトの要素あるいは操作の内容を外部参照の形式にて記述することが可能
であり、決定手段は、オブジェクトの要素あるいは操作の内容を決定する際に外部参照にて解決すべき項目がある場合には、オブジェクト管理手段に対し要求を行うことでその解決を行い、処理内容を決定する。
好ましくは、オブジェクト管理手段は、記憶手段と、記憶手段の記憶領域内に格納されたオブジェクトを検索するための検索手段と、ネットワークを通じて情報を取得するための通信手段とを有し、決定手段からの要求により、管理下あるいはネットワークを通じて必要な情報を検索、取得し、その内容を決定手段へ通知することにより、外部参照項目を解決して処理内容を決定する。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段が時間情報を適合することにより、はじめて要素あるいはその操作に関する具体的な値や方法が決定される表現形式を有する。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段により起動時刻が適合されることにより、要素あるいは操作に関するデータ値や方法が決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段により仮想的な起動時刻が適合されることにより、条件に基づく要素あるいは操作に関するデータ値や方法が適合され決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトは、要素あるいはその操作の内容が時間に関する関数の形式にて記述され、決定手段が時間情報を適合することにより、要素あるいはその操作に関するデータ値や方法が決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作のそれぞれに対し、時間的な直交がない限りにおいて複数の時間制約に基づく記述を同時に含む記述が可能であり、決定手段が時間情報を適合するタイミングにて適切な処理を選択
タフェースを実現し、適合される時間情報に応じて該コンポーネントに与えられる操作の方法を変化させる。
好ましくは、情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、コンポーネントの表示をアニメーションにて変化させることにより、オブジェクトの挙動の変化を使用者に対し提示する。
好ましくは、情報処理装置は、時間情報に基づき要素あるいは操作を記述可能なオブジェクトと、時間情報に依存しないオブジェクトを混在させた情報処理を行う手段を有する。
この発明の他の局面に従うと、情報処理方法であって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備え、処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定するステップは、時間情報を適合するタイミングにて適切な処理を選択するステップを含む。
この発明のさらに他の局面に従うと、情報処理プログラムであって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備え、処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定するステップは、時間情報を適合するタイミングにて適切な処理を選択するステップを含む処理をコンピュータに実行させる。
この発明のさらに他の局面に従うと、コンピュータ読み取り可能な記録媒体であって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することに
より、適応的な情報処理を行うステップとを備え、処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定するステップは、時間情報を適合するタイミングにて適切な処理を選択するステップを含む処理をコンピュータに実行させるための情報処理プログラムを記録する。
本発明の情報処理装置、方法、情報処理プログラムおよび媒体は、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させることによる適応的な情報処理を実現する。
また、その実施態様によっては、その処理対象となるオブジェクトはその要素あるいは操作内容のそれぞれに対し、様々な時間スケールや指定方式を混在させ異なる時間制約を設定することが可能であり、オブジェクト起動時間に応じて操作の意味そのものを変えるなどの柔軟な処理を記述できる情報処理装置、方法および媒体を実現可能である。
また、その実施態様によっては、単一のオブジェクト内にそれらの異なる時間制約下での処理を内包することができるため、通信機能をもたない家電機器についても時間情報に基づくオブジェクト処理を実現可能である。
加えて、その実施態様によっては、あるオブジェクトの時間制約情報を含めた振る舞いをほかのオブジェクトに対し参照させる、あるいは継承させることが可能であり、これによりあるオブジェクトの振る舞いは別のオブジェクトの時間制約に依存するといった依存モデルやオブジェクト間での連携モデルをシステム的に構築することが可能である。
また、その実施態様によっては、リアルタイム情報に加えて仮想時間情報をその入力源にする情報処理装置、方法および媒体を実現可能であり、これはオブジェクト処理のデバッグプロセスにおいてコンテンツ/サービス開発者に対する便宜を図る点で効果的である。
また、その実施態様によっては、ネットワークサービスをも時間制約条件下で連携させることが可能であり、時間指向サービスとその運用を加味したシステマティックなサービスとその連携を行う環境を構築することが可能になる。
加えて、その実施態様によっては、時間制約を満たす形で選択された要素あるいは操作内容に基づくオブジェクトを再合成し、それを用いた処理を行うことで処理のオーバーヘッド分を解消し、特定の処理に関する実行パフォーマンスを向上させるといった効果が期待できる。
Claims (32)
- 少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに対して、時間情報に基づく処理を行い前記オブジェクトの要素あるいは操作を決定するための決定手段と、
前記決定手段により決定された処理内容に基づいた処理を行う実行手段と、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行うためのオブジェクト管理手段とを備える、情報処理装置。 - 外部情報に基づくイベント条件を登録・保持し、条件に合致した場合に発生するイベントを、前記オブジェクト管理手段に対し通知するイベント通知手段をさらに備え、
前記イベント通知手段と前記オブジェクト管理手段は、それぞれイベント入出力操作を行うためのインタフェース手段を含み、
前記実行手段は、前記イベント入出力操作によるイベント駆動に基づき処理を変更する、請求項1記載の情報処理装置。 - 前記決定手段は、オブジェクトの要素あるいは操作の内容を決定後、決定結果に基づくオブジェクトを新たに生成するためのオブジェクト生成手段を有し、
生成された前記オブジェクトに基づく処理を実行手段にて行うことを特徴とする、請求項1記載の情報処理装置。 - 前記情報処理装置において処理対象となるオブジェクトは、前記オブジェクトの要素あるいは操作の内容を複数用意し、かつ、当該複数の要素あるいは操作の内容を単一のオブジェクト内に全て内包し、時間情報を処理することによりその内容を選択的に決定することを特徴とする、請求項1に記載の情報処理装置。
- 前記情報処理装置において処理される対象となるオブジェクトは、前記オブジェクトの要素あるいは操作の内容を外部参照の形式にて記述することが可能であり、
前記決定手段は、オブジェクトの要素あるいは操作の内容を決定する際に外部参照にて解決すべき項目がある場合には、前記オブジェクト管理手段に対し要求を行うことでその解決を行い、処理内容を決定することを特徴とする、請求項1に記載の情報処理装置。 - 前記オブジェクト管理手段は、
記憶手段と、
前記記憶手段の記憶領域内に格納されたオブジェクトを検索するための検索手段と、
ネットワークを通じて情報を取得するための通信手段とを有し、
前記決定手段からの要求により、管理下あるいはネットワークを通じて必要な情報を検索、取得し、その内容を前記決定手段へ通知することにより、外部参照項目を解決して処理内容を決定することを特徴とする、請求項5記載の情報処理装置。 - 前記情報処理装置において処理対象となるオブジェクトは、前記決定手段が時間情報を適合することにより、はじめて要素あるいはその操作に関する具体的な値や方法が決定される表現形式を有することを特徴とする、請求項1に記載の情報処理装置。
- 前記情報処理装置において処理対象となるオブジェクトは、前記決定手段により起動時刻が適合されることにより、要素あるいは操作に関するデータ値や方法が決定されることを特徴とする、請求項1に記載の情報処理装置。
- 前記情報処理装置において処理対象となるオブジェクトは、前記決定手段により仮想的な起動時刻が適合されることにより、条件に基づく要素あるいは操作に関するデータ値や方法が適合され決定されることを特徴とする、請求項1に記載の情報処理装置。
- 前記情報処理装置において処理対象となるオブジェクトは、要素あるいはその操作の内容が時間に関する関数の形式にて記述され、前記決定手段が時間情報を適合することにより、要素あるいはその操作に関するデータ値や方法が決定されることを特徴とする、請求項9に記載の情報処理装置。
- 前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、
前記決定手段が時間情報を適合するタイミングにて適切な処理を選択することを特徴とする、請求項1に記載の情報処理装置。 - 前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作のそれぞれに対し、時間的な直交がない限りにおいて複数の時間制約に基づく記述を同時に含む記述が可能であり、
前記決定手段が時間情報を適合するタイミングにて適切な処理を選択することを特徴とする、請求項1に記載の情報処理装置。 - 前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に関する時間制約は、当該要素あるいは操作を無効にする条件として記述されることを特徴とする、請求項1に記載の情報処理装置。
- 前記決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間制約を満足する項目が存在しない場合、前記オブジェクト管理手段に対し通知を行うと共に、当該オブジェクトに関する以降の処理を停止することを特徴とする、請求項1に記載の情報処理装置。
- 前記決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間に関する条件を満足する項目が存在しない場合、前記オブジェクト管理手段に対し通知を行うと共に、前記オブジェクト管理手段において適切に選択されたオブジェクトに基づく処理を実行することを特徴とする、請求項1に記載の情報処理装置。
- 前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は異なるスケール指定における記述の混在が可能であり、
前記決定手段が、当該オブジェクトの要素あるいは操作に課される時間制約のスケールの単一時間軸への転写を行うことで実際の処理を選択する手段を備えることを特徴とする、請求項12に記載の情報処理装置。 - 前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は絶対時間指定、相対時間指定あるいはインターバル指定など異なる指定方式における記述の混在が可能であり、
前記決定手段が当該オブジェクトの要素あるいは操作に課される時間制約の記述形式に関し、予め決定された優先度を用いることで実際の処理を選択する手段を備えることを特徴とする、請求項12に記載の情報処理装置。 - 前記情報処理装置において処理対象となるオブジェクトは、任意の時間制約オブジェクトを親として生成された場合に、親オブジェクトにて定義される要素および操作に関する性質と共にそれぞれに課される時間制約をも継承することを特徴とする、請求項5に記載の情報処理装置。
- 前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの前記時間制約をも継承し、当該要素および操作に関する処理をオーバーライドする場合には、前記親オブジェクトへその権限委譲を問い合わせることにより、実行許可を行うことを特徴とする、請求項18に記載の情報処理装置。
- 前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照することにより、前記親オブジェクトの一部処理に依存する処理を記述することを特徴とする、請求項18記載の情報処理装置。
- 前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照するときに、前記親オブジェクトへ許可を求めることを特徴とする、請求項20に記載の情報処理装置。
- 前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約をオフセット指定により再配置することでオブジェクト間での連携処理タイミングを操作することを特徴とする、請求項19〜21のいずれか1項に記載の情報処理装置。
- 前記実行手段は、前記決定手段により決定されたオブジェクトの要素あるいは操作の内容に基づき処理を行う際の切り替えタイミングにおいて、使用者に対し処理の変更情報を提示するための情報提示手段を有し、
時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、オブジェクトの挙動の変化に関する情報を使用者に対し提示することを特徴とする、請求項1に記載の情報処理装置。 - 前記オブジェクト管理手段は、前記決定手段によるオブジェクトに関する要素または操作内容の決定タイミングをイベント通知手段に対し事前に登録することにより、以降の決定動作タイミングに関するスケジューリングを行うことを特徴とする、請求項2に記載の情報処理装置。
- 前記オブジェクト管理手段は、前記決定手段によるオブジェクトに関する要素または操作内容の決定タイミングの前記イベント通知手段に対する登録を規定時間より先行するタイミングにてイベント発火するように登録するための登録手段を有し、
前記イベント通知手段からのイベント受信後、前記決定手段によるオブジェクトの要素あるいは操作の内容変更を行うタイミングに先行し、前記オブジェクトの挙動の変化に関する情報を使用者に対し提示することを特徴とする、請求項24に記載の情報処理装置。 - 前記情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、適合される時間情報に応じてコンポーネントの表示の方法を変化させることを特徴とする、請求項7に記載の情報処理装置。
- 前記情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、
適合される時間情報に応じて該コンポーネントに与えられる操作の方法を変化させることを特徴とする、請求項7に記載の情報処理装置。 - 前記情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、
時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、コンポーネントの表示をアニメーションにて変化させることにより、前記オブジェクトの挙動の変化を使用者に対し提示することを特徴とする、請求項27記載の情報処理装置。 - 前記情報処理装置は、時間情報に基づき要素あるいは操作を記述可能なオブジェクトと、時間情報に依存しないオブジェクトを混在させた情報処理を行う手段を有することを特徴とする、請求項1に記載の情報処理装置。
- 少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、
決定された処理内容に基づき、情報処理を行うステップと、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備える、情報処理方法。 - 少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、
決定された処理内容に基づき、情報処理を行うステップと、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップと、をコンピュータに実行させるための情報処理プログラム。 - 少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、
決定された処理内容に基づき、情報処理を行うステップと、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップと、をコンピュータに実行させるための情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002300645 | 2002-10-15 | ||
JP2002300645 | 2002-10-15 | ||
PCT/JP2003/013091 WO2004036423A1 (ja) | 2002-10-15 | 2003-10-10 | 情報処理装置、情報処理方法、情報処理プログラムならびに媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2004036423A1 true JPWO2004036423A1 (ja) | 2006-02-16 |
Family
ID=32104989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004544934A Pending JPWO2004036423A1 (ja) | 2002-10-15 | 2003-10-10 | 情報処理装置、情報処理方法、情報処理プログラムならびに媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20060074696A1 (ja) |
JP (1) | JPWO2004036423A1 (ja) |
AU (1) | AU2003275549A1 (ja) |
WO (1) | WO2004036423A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7490295B2 (en) | 2004-06-25 | 2009-02-10 | Apple Inc. | Layer for accessing user interface elements |
US20060253807A1 (en) * | 2005-04-05 | 2006-11-09 | Hirokazu So | Recording medium and data processing device |
JP5166682B2 (ja) * | 2005-08-12 | 2013-03-21 | ソニーモバイルコミュニケーションズ株式会社 | 端末制御方法、端末装置及びプログラム |
US20090116379A1 (en) * | 2007-11-02 | 2009-05-07 | At&T Knowledge Ventures, Lp | Insufficient bandwidth notification for transmission of multimedia program |
US20090178143A1 (en) * | 2008-01-07 | 2009-07-09 | Diginome, Inc. | Method and System for Embedding Information in Computer Data |
US9191285B1 (en) * | 2012-03-14 | 2015-11-17 | Domo, Inc. | Automatic web service monitoring |
CN103905598A (zh) * | 2012-12-31 | 2014-07-02 | 华为技术有限公司 | 铃声处理方法及装置 |
JP2015191300A (ja) * | 2014-03-27 | 2015-11-02 | キャンバスマップル株式会社 | 携帯情報端末、コンピュータプログラム、および動作制御システム |
US11539787B2 (en) * | 2020-04-30 | 2022-12-27 | T-Mobile Usa, Inc. | 5G enabled massively distributed on-demand personal cloud system and method |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62232039A (ja) * | 1986-04-02 | 1987-10-12 | Hitachi Ltd | タイマ管理制御装置 |
JP2861619B2 (ja) * | 1991-07-12 | 1999-02-24 | 松下電器産業株式会社 | 情報提示装置及び提示情報作成装置 |
JPH06139079A (ja) * | 1992-10-30 | 1994-05-20 | Sony Corp | 実時間処理システム制御方法およびその装置 |
JP3548459B2 (ja) * | 1998-11-20 | 2004-07-28 | 富士通株式会社 | 案内情報提示装置,案内情報提示処理方法,案内情報提示プログラムを記録した記録媒体,案内用スクリプト生成装置,案内情報提供装置,案内情報提供方法および案内情報提供プログラム記録媒体 |
US6677858B1 (en) * | 1999-02-26 | 2004-01-13 | Reveo, Inc. | Internet-based method of and system for monitoring space-time coordinate information and biophysiological state information collected from an animate object along a course through the space-time continuum |
JP2000295524A (ja) * | 1999-04-01 | 2000-10-20 | Sony Corp | 編集装置および方法 |
US6522347B1 (en) * | 2000-01-18 | 2003-02-18 | Seiko Epson Corporation | Display apparatus, portable information processing apparatus, information recording medium, and electronic apparatus |
JP2002055852A (ja) * | 2000-08-07 | 2002-02-20 | Nec Corp | オブジェクトの生成・消滅情報管理方式 |
US6988128B1 (en) * | 2000-09-27 | 2006-01-17 | International Business Machines Corporation | Calendar events and calendar-driven application technique |
US6828989B2 (en) * | 2000-12-29 | 2004-12-07 | Microsoft Corporation | Graphically represented dynamic time strip for displaying user-accessible time-dependent data objects |
US6938101B2 (en) * | 2001-01-29 | 2005-08-30 | Universal Electronics Inc. | Hand held device having a browser application |
AU2002303319A1 (en) * | 2001-04-12 | 2002-10-28 | Valaran Corporation | Method and service for storing records containing executable objects |
US20040078797A1 (en) * | 2002-10-03 | 2004-04-22 | Hsin-Chi Liao | Method for arranging object event timing on a web page |
-
2003
- 2003-10-10 US US10/531,209 patent/US20060074696A1/en not_active Abandoned
- 2003-10-10 AU AU2003275549A patent/AU2003275549A1/en not_active Abandoned
- 2003-10-10 JP JP2004544934A patent/JPWO2004036423A1/ja active Pending
- 2003-10-10 WO PCT/JP2003/013091 patent/WO2004036423A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2004036423A1 (ja) | 2004-04-29 |
AU2003275549A1 (en) | 2004-05-04 |
US20060074696A1 (en) | 2006-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hess et al. | Building applications for ubiquitous computing environments | |
CN101329636B (zh) | 虚拟化窗口信息的方法和设备 | |
US7603443B2 (en) | Generic method for defining resource configuration profiles in provisioning systems | |
US9588752B2 (en) | Performing unattended software installation | |
CN100461109C (zh) | 语义任务计算 | |
US7721303B2 (en) | System for management of interactions between users and software applications in a web environment | |
JP5373900B2 (ja) | カスタマイズを伴うコンピュータアプリケーションパッケージ | |
US20070299713A1 (en) | Capture of process knowledge for user activities | |
US20120324376A1 (en) | Apparatus for implementing web-based user interface for communication terminal and method thereof | |
WO2010113160A1 (en) | A method and system for emulating desktop software applications in a mobile communication network | |
CN101937339A (zh) | Widget管理方法及客户端 | |
WO2018045489A1 (zh) | 一种数据采集方法、装置及系统 | |
CN114064024A (zh) | 微应用的开发方法、装置、设备、存储介质及程序产品 | |
CN109716736A (zh) | 应用数据共享和决策服务平台 | |
CN104168667A (zh) | 数据获取的方法、装置及系统 | |
CN105765533A (zh) | 用于固件虚拟化的方法和装置 | |
CN108399331A (zh) | 应用进程试用方法和系统 | |
US20180101574A1 (en) | Searching index information for application data | |
CN104699503A (zh) | 一种替换安卓系统中函数的执行逻辑的方法及装置 | |
JPWO2004036423A1 (ja) | 情報処理装置、情報処理方法、情報処理プログラムならびに媒体 | |
KR20220083838A (ko) | 미러 이미지 파일을 생성하는 방법 및 장치, 그리고 컴퓨터로 판독 가능한 저장 매체 | |
CN102348135A (zh) | 基于智能电视多用户定制各自应用列表的方法和智能电视 | |
CN111316230A (zh) | 一种补丁包生成方法及设备 | |
CN114546563A (zh) | 一种多租户页面访问控制方法和系统 | |
US10642627B2 (en) | Systems, methods, and devices for context-aware applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061006 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090424 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090602 |