(57)【要約】情報処理装置（１００）は、少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに対して、時間情報に基づく処理を行いオブジェクトの要素あるいは操作を決定するための決定部（１２０）と、決定手段により決定された処理内容に基づいた処理を行う実行部（１３０）と、オブジェクトを記憶し、動作およびその状態に関する管理を行うためのオブジェクト管理部（１０１）とを備える。オブジェクトは、時間情報を元にした処理を実行あるいは判断した結果をオブジェクトの要素あるいは操作、あるいはオブジェクト自身に対し反映する。
2004036423.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに対して、時間情報に基づく処理を行い前記オブジェクトの要素あるいは操作を決定するための決定手段と、
前記決定手段により決定された処理内容に基づいた処理を行う実行手段と、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行うためのオブジェクト管理手段とを備える、情報処理装置。
【請求項２】
外部情報に基づくイベント条件を登録・保持し、条件に合致した場合に発生するイベントを、前記オブジェクト管理手段に対し通知するイベント通知手段をさらに備え、
前記イベント通知手段と前記オブジェクト管理手段は、それぞれイベント入出力操作を行うためのインタフェース手段を含み、
前記実行手段は、前記イベント入出力操作によるイベント駆動に基づき処理を変更する、請求項１記載の情報処理装置。
【請求項３】
前記決定手段は、オブジェクトの要素あるいは操作の内容を決定後、決定結果に基づくオブジェクトを新たに生成するためのオブジェクト生成手段を有し、
生成された前記オブジェクトに基づく処理を実行手段にて行うことを特徴とする、請求項１記載の情報処理装置。
【請求項４】
前記情報処理装置において処理対象となるオブジェクトは、前記オブジェクトの要素あるいは操作の内容を複数用意し、かつ、当該複数の要素あるいは操作の内容を単一のオブジェクト内に全て内包し、時間情報を処理することによりその内容を選択的に決定することを特徴とする、請求項１に記載の情報処理装置。
【請求項５】
前記情報処理装置において処理される対象となるオブジェクトは、前記オブジェクトの要素あるいは操作の内容を外部参照の形式にて記述することが可能であり、
前記決定手段は、オブジェクトの要素あるいは操作の内容を決定する際に外部参照にて解決すべき項目がある場合には、前記オブジェクト管理手段に対し要求を行うことでその解決を行い、処理内容を決定することを特徴とする、請求項１に記載の情報処理装置。
【請求項６】
前記オブジェクト管理手段は、
記憶手段と、
前記記憶手段の記憶領域内に格納されたオブジェクトを検索するための検索手段と、
ネットワークを通じて情報を取得するための通信手段とを有し、
前記決定手段からの要求により、管理下あるいはネットワークを通じて必要な情報を検索、取得し、その内容を前記決定手段へ通知することにより、外部参照項目を解決して処理内容を決定することを特徴とする、請求項５記載の情報処理装置。
【請求項７】
前記情報処理装置において処理対象となるオブジェクトは、前記決定手段が時間情報を適合することにより、はじめて要素あるいはその操作に関する具体的な値や方法が決定される表現形式を有することを特徴とする、請求項１に記載の情報処理装置。
【請求項８】
前記情報処理装置において処理対象となるオブジェクトは、前記決定手段により起動時刻が適合されることにより、要素あるいは操作に関するデータ値や方法が決定されることを特徴とする、請求項１に記載の情報処理装置。
【請求項９】
前記情報処理装置において処理対象となるオブジェクトは、前記決定手段により仮想的な起動時刻が適合されることにより、条件に基づく要素あるいは操作に関するデータ値や方法が適合され決定されることを特徴とする、請求項１に記載の情報処理装置。
【請求項１０】
前記情報処理装置において処理対象となるオブジェクトは、要素あるいはその操作の内容が時間に関する関数の形式にて記述され、前記決定手段が時間情報を適合することにより、要素あるいはその操作に関するデータ値や方法が決定されることを特徴とする、請求項９に記載の情報処理装置。
【請求項１１】
前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、
前記決定手段が時間情報を適合するタイミングにて適切な処理を選択することを特徴とする、請求項１に記載の情報処理装置。
【請求項１２】
前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作のそれぞれに対し、時間的な直交がない限りにおいて複数の時間制約に基づく記述を同時に含む記述が可能であり、
前記決定手段が時間情報を適合するタイミングにて適切な処理を選択することを特徴とする、請求項１に記載の情報処理装置。
【請求項１３】
前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に関する時間制約は、当該要素あるいは操作を無効にする条件として記述されることを特徴とする、請求項１に記載の情報処理装置。
【請求項１４】
前記決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間制約を満足する項目が存在しない場合、前記オブジェクト管理手段に対し通知を行うと共に、当該オブジェクトに関する以降の処理を停止することを特徴とする、請求項１に記載の情報処理装置。
【請求項１５】
前記決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間に関する条件を満足する項目が存在しない場合、前記オブジェクト管理手段に対し通知を行うと共に、前記オブジェクト管理手段において適切に選択されたオブジェクトに基づく処理を実行することを特徴とする、請求項１に記載の情報処理装置。
【請求項１６】
前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は異なるスケール指定における記述の混在が可能であり、
前記決定手段が、当該オブジェクトの要素あるいは操作に課される時間制約のスケールの単一時間軸への転写を行うことで実際の処理を選択する手段を備えることを特徴とする、請求項１２に記載の情報処理装置。
【請求項１７】
前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は絶対時間指定、相対時間指定あるいはインターバル指定など異なる指定方式における記述の混在が可能であり、
前記決定手段が当該オブジェクトの要素あるいは操作に課される時間制約の記述形式に関し、予め決定された優先度を用いることで実際の処理を選択する手段を備えることを特徴とする、請求項１２に記載の情報処理装置。
【請求項１８】
前記情報処理装置において処理対象となるオブジェクトは、任意の時間制約オブジェクトを親として生成された場合に、親オブジェクトにて定義される要素および操作に関する性質と共にそれぞれに課される時間制約をも継承することを特徴とする、請求項５に記載の情報処理装置。
【請求項１９】
前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの前記時間制約をも継承し、当該要素および操作に関する処理をオーバーライドする場合には、前記親オブジェクトへその権限委譲を問い合わせることにより、実行許可を行うことを特徴とする、請求項１８に記載の情報処理装置。
【請求項２０】
前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照することにより、前記親オブジェクトの一部処理に依存する処理を記述することを特徴とする、請求項１８記載の情報処理装置。
【請求項２１】
前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照するときに、前記親オブジェクトへ許可を求めることを特徴とする、請求項２０に記載の情報処理装置。
【請求項２２】
前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約をオフセット指定により再配置することでオブジェクト間での連携処理タイミングを操作することを特徴とする、請求項１９〜２１のいずれか１項に記載の情報処理装置。
【請求項２３】
前記実行手段は、前記決定手段により決定されたオブジェクトの要素あるいは操作の内容に基づき処理を行う際の切り替えタイミングにおいて、使用者に対し処理の変更情報を提示するための情報提示手段を有し、
時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、オブジェクトの挙動の変化に関する情報を使用者に対し提示することを特徴とする、請求項１に記載の情報処理装置。
【請求項２４】
前記オブジェクト管理手段は、前記決定手段によるオブジェクトに関する要素または操作内容の決定タイミングをイベント通知手段に対し事前に登録することにより、以降の決定動作タイミングに関するスケジューリングを行うことを特徴とする、請求項２に記載の情報処理装置。
【請求項２５】
前記オブジェクト管理手段は、前記決定手段によるオブジェクトに関する要素または操作内容の決定タイミングの前記イベント通知手段に対する登録を規定時間より先行するタイミングにてイベント発火するように登録するための登録手段を有し、
前記イベント通知手段からのイベント受信後、前記決定手段によるオブジェクトの要素あるいは操作の内容変更を行うタイミングに先行し、前記オブジェクトの挙動の変化に関する情報を使用者に対し提示することを特徴とする、請求項２４に記載の情報処理装置。
【請求項２６】
前記情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、適合される時間情報に応じてコンポーネントの表示の方法を変化させることを特徴とする、請求項７に記載の情報処理装置。
【請求項２７】
前記情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、
適合される時間情報に応じて該コンポーネントに与えられる操作の方法を変化させることを特徴とする、請求項７に記載の情報処理装置。
【請求項２８】
前記情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、
時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、コンポーネントの表示をアニメーションにて変化させることにより、前記オブジェクトの挙動の変化を使用者に対し提示することを特徴とする、請求項２７記載の情報処理装置。
【請求項２９】
前記情報処理装置は、時間情報に基づき要素あるいは操作を記述可能なオブジェクトと、時間情報に依存しないオブジェクトを混在させた情報処理を行う手段を有することを特徴とする、請求項１に記載の情報処理装置。
【請求項３０】
少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、
決定された処理内容に基づき、情報処理を行うステップと、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備える、情報処理方法。
【請求項３１】
少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、
決定された処理内容に基づき、情報処理を行うステップと、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップと、をコンピュータに実行させるための情報処理プログラム。
【請求項３２】
少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、
決定された処理内容に基づき、情報処理を行うステップと、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップと、をコンピュータに実行させるための情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】  本発明は特に時間情報に基づく処理を行うことで性質を変化させることが可能なオブジェクトに関する情報処理装置および方法、情報処理方法ならびに媒体に関する。
【背景技術】  近年のネットワーク技術の拡大と普及に際し、ネットワーク上でアクセス可能なデータあるいはサービスがその場所・空間を問わず至るところで使用できる状況が高まりつつある。このような中で、状況依存型の処理の必要性が増加してきている。
これは、従来の処理モデルでは、ある条件下において実現すべき処理を個々に規定していたものが、計算機リソースの遍在化によりネットワークモデルへのシフトを余技なくされつつあることによる。その結果、ユーザの利便性を高めるためにどのような手法でネットワーク上に散在するリソースを結びつけることができるかということが課題になっている。
状況依存型の処理をどのように実現するかについて、一つの解になるのは時間を軸とした考え方である。
例えば、マルチメディアオブジェクト間での処理を、同期を取りながら実現する場合や、あるいは、画像や音声といったメディアに対する処理をアプリケーション起動時間に応じて変化させるといったことを実現する場合にも、時間概念の導入は重要な要素である。
このときのポイントは、どのように時間概念を処理モデルに導入するか、とその対象となる処理単位間での連携をどのように実現するか、ということである。
時間概念の導入方法といった前者に対する取組みは、一般的に従来の情報処理モデルに対し時間という属性を導入することにより、対象となるデータの次元数を増やし、対象となるデータを時間軸にて扱うためのモデルを提供することに集約される。ここでは時間概念を扱うことが可能なデータモデル、典型的には時制データベースにみられる単一のアプリケーションをどのように実現するかにそのフォーカスが向けられ、その応用例は数多い。
しかし、後者の対象となる処理単位間での連携をどのように実現するかについては、時間概念をもつデータ処理単位があたかも自律的に連携するようなオープンなシステムをどのように実現できるかということであり、従来この点においては、明らかにはなっていない。
たとえば、時間依存型の情報処理を行うモデルの従来例として、以下の特開平８−３０４２７号公報に記載されるようなグラフィカルユーザインタフェース（ＧＵＩ）装置がある。
これは、オブジェクトが使用可能である時間帯を示す時間帯情報を記憶し、計算機システムが、システムの状態として現在の時刻を元に、記憶されている時間帯情報を比較参照することで、上記オブジェクトの使用可能性を判定するものである。特許文献１に開示された技術は、これを用いてユーザに対する無駄な入力操作の軽減を可能にするＧＵＩ装置を実現するものである。
上記従来例においては、該当するユーザインタフェース（ＵＩ）オブジェクトの使用可能性を判断するのみであり、使用不可の場合にはそのＵＩコンポーネントを表示しないようにするだけである。
加えて、「判断時の時刻」がその有効可能性の判定条件として参照されるだけであるため、処理が継続的に実行されている場合にオブジェクトの使用期限が有効から無効になるタイミングでの処理をどのように行うかといった視点が欠如している。
また、上記従来例ではオブジェクト自体の表示の有無を制御することにより、表示そのものが行われないことによる操作の抑制という効果は期待できるものの、単純な機能のオン、オフに基づく処理では例えば時間に依存して処理内容や、サービス内容が変わるようなＵＩ機能を実現するには充分ではない。
また、狭い画面表示領域など限定されたハードウェア資源しかもたないような小型携帯端末においては、効率的な表示および操作をどのように実現するかということが重要である。特に、機能のオフの状態であるにも関わらず特定の画面領域などハードウェア資源を占有される場合があるのは望ましくない。
さらに、小型携帯端末は、一般的にハードウェア上の制約から、例えば表示領域が狭く、解像度が粗いと共に、使用できるボタンの数が限定されている場合や、システム的な制約から一度に表示できるＵＩコンポーネントの数が限定される、などの場合がある。
このような小型携帯端末に対しては、時間に依存してＵＩあるいはハードウェアボタンに割り当てられる処理を変更することは、その利用性の向上を図る点で有効である。例えば、極端な場合ではボタン一つ分の領域・機能しかハードウェア資源が使えないときにでも、時間に応じてそのボタンに最適な処理をアサインすることで、例えば携帯電話を使用している時間により、キーに配置されている処理内容を変化させるといった処理が可能になる。
また、ハードウェアボタンに割り当てられる処理を変更する場合への対応としては、機能オフの状態において、表示そのものを行わないという選択肢もある。しかし、このような場合においても、実際の使用時においてはなんらかの不具合でそれが使えないのか、あるいは、システム的に使用不許可なのかをユーザに対し識別させるための情報を補完することが必要であり、これが実際には不可欠な機能となる。
また、上記従来例では現在時刻によりオブジェクトの振る舞いを変更するとしか記載がないため、それ以上のことは想定される処理の範囲外である。
一般的には、現在時刻に依存して表示内容を変える処理を行う場合には、予めシステム設計者が所望の時刻に所望の処理を行うプログラムを個別に用意する必要がある。したがって、時間に応じて処理を変える汎用的な仕組みを実現するのは容易でない。
つまり、操作の内容や表現方法に時間制約を与え、それに基づく情報処理を行うモデルにおいて各オブジェクト間での連携をどのように実現するか、を具体的に解決する必要がある。
【発明の開示】
本発明の目的は、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、その表示や意味をも含めた性質を時間情報に基づく処理を行うことで変更することによって、適応的な情報処理を行うことを可能にする情報処理装置および方法、情報処理プログラム、媒体を提供することである。
この発明のさらに他の目的は、時間情報に基づく処理を行うことにより、その処理や意味をも含めた振る舞いを変更し、ユーザに対し適切な情報提示を行うことが可能なユーザインターフェースを実現可能な情報処理装置および方法、情報処理プログラム、媒体を提供することである。
この発明のある局面に従うと、情報処理装置であって、少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに対して、時間情報に基づく処理を行いオブジェクトの要素あるいは操作を決定するための決定手段と、決定手段により決定された処理内容に基づいた処理を行う実行手段と、オブジェクトを記憶し、動作およびその状態に関する管理を行うためのオブジェクト管理手段とを備える。
好ましくは、外部情報に基づくイベント条件を登録・保持し、条件に合致した場合に発生するイベントを、オブジェクト管理手段に対し通知するイベント通知手段をさらに備え、イベント通知手段とオブジェクト管理手段は、それぞれイベント入出力操作を行うためのインタフェース手段を含み、実行手段は、イベント入出力操作によるイベント駆動に基づき処理を変更する。
好ましくは、決定手段は、オブジェクトの要素あるいは操作の内容を決定後、決定結果に基づくオブジェクトを新たに生成するためのオブジェクト生成手段を有し、生成されたオブジェクトに基づく処理を実行手段にて行う。
好ましくは、情報処理装置において処理対象となるオブジェクトは、オブジェクトの要素あるいは操作の内容を複数用意し、かつ、当該複数の要素あるいは操作の内容を単一のオブジェクト内に全て内包し、時間情報を処理することによりその内容を選択的に決定する。
好ましくは、情報処理装置において処理される対象となるオブジェクトは、オブジェクトの要素あるいは操作の内容を外部参照の形式にて記述することが可能であり、決定手段は、オブジェクトの要素あるいは操作の内容を決定する際に外部参照にて解決すべき項目がある場合には、オブジェクト管理手段に対し要求を行うことでその解決を行い、処理内容を決定する。
好ましくは、オブジェクト管理手段は、記憶手段と、記憶手段の記憶領域内に格納されたオブジェクトを検索するための検索手段と、ネットワークを通じて情報を取得するための通信手段とを有し、決定手段からの要求により、管理下あるいはネットワークを通じて必要な情報を検索、取得し、その内容を決定手段へ通知することにより、外部参照項目を解決して処理内容を決定する。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段が時間情報を適合することにより、はじめて要素あるいはその操作に関する具体的な値や方法が決定される表現形式を有する。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段により起動時刻が適合されることにより、要素あるいは操作に関するデータ値や方法が決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段により仮想的な起動時刻が適合されることにより、条件に基づく要素あるいは操作に関するデータ値や方法が適合され決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトは、要素あるいはその操作の内容が時間に関する関数の形式にて記述され、決定手段が時間情報を適合することにより、要素あるいはその操作に関するデータ値や方法が決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定手段が時間情報を適合するタイミングにて適切な処理を選択する。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作のそれぞれに対し、時間的な直交がない限りにおいて複数の時間制約に基づく記述を同時に含む記述が可能であり、決定手段が時間情報を適合するタイミングにて適切な処理を選択する。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に関する時間制約は、当該要素あるいは操作を無効にする条件として記述される。
好ましくは、決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間制約を満足する項目が存在しない場合、オブジェクト管理手段に対し通知を行うと共に、当該オブジェクトに関する以降の処理を停止する。
好ましくは、決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間に関する条件を満足する項目が存在しない場合、オブジェクト管理手段に対し通知を行うと共に、オブジェクト管理手段において適切に選択されたオブジェクトに基づく処理を実行する。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は異なるスケール指定における記述の混在を許し、決定手段が、当該オブジェクトの要素あるいは操作に課される時間制約のスケールの単一時間軸への転写を行うことで実際の処理を選択する手段を備える。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は絶対時間指定、相対時間指定あるいはインターバル指定など異なる指定方式における記述の混在を許し、決定手段が当該オブジェクトの要素あるいは操作に課される時間制約の記述形式に関し、予め決定された優先度を用いることで実際の処理を選択する手段を備える。
好ましくは、情報処理装置において処理対象となるオブジェクトは、任意の時間制約オブジェクトを親として生成された場合に、親オブジェクトにて定義される要素および操作に関する性質と共にそれぞれに課される時間制約をも継承する。
好ましくは、情報処理装置の処理対象となるオブジェクトは、親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約をも継承し、当該要素および操作に関する処理をオーバーライドする場合には、親オブジェクトへその権限委譲を問い合わせることにより、実行許可を行う。
好ましくは、情報処理装置の処理対象となるオブジェクトは、親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照することにより、親オブジェクトの一部処理に依存する処理を記述する。
好ましくは、情報処理装置の処理対象となるオブジェクトは、オブジェクト間での依存性の高い処理について、親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照するときに、親オブジェクトへ許可を求める。
好ましくは、情報処理装置の処理対象となるオブジェクトは、親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約をオフセット指定により再配置することでオブジェクト間での連携処理タイミングを操作する。
好ましくは、実行手段は、決定手段により決定されたオブジェクトの要素あるいは操作の内容に基づき処理を行う際の切り替えタイミングにおいて、使用者に対し処理の変更情報を提示するための情報提示手段を有し、時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、オブジェクトの挙動の変化に関する情報を使用者に対し提示する。
好ましくは、オブジェクト管理手段は、決定手段によるオブジェクトに関する要素または操作内容の決定タイミングをイベント通知手段に対し事前に登録することにより、以降の決定動作タイミングに関するスケジューリングを行う。
好ましくは、オブジェクト管理手段は、決定手段によるオブジェクトに関する要素または操作内容の決定タイミングのイベント通知手段に対する登録を規定時間より先行するタイミングにてイベント発火するように登録するための登録手段を有し、イベント通知手段からのイベント受信後、決定手段によるオブジェクトの要素あるいは操作の内容変更を行うタイミングに先行し、オブジェクトの挙動の変化に関する情報を使用者に対し提示する。
好ましくは、情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、適合される時間情報に応じてコンポーネントの表示の方法を変化させる。
好ましくは、情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、適合される時間情報に応じて該コンポーネントに与えられる操作の方法を変化させる。
好ましくは、情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、コンポーネントの表示をアニメーションにて変化させることにより、オブジェクトの挙動の変化を使用者に対し提示する。
好ましくは、情報処理装置は、時間情報に基づき要素あるいは操作を記述可能なオブジェクトと、時間情報に依存しないオブジェクトを混在させた情報処理を行う手段を有する。
この発明の他の局面に従うと、情報処理方法であって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オプジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備える。
この発明のさらに他の局面に従うと、情報処理プログラムであって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップと、をコンピュータに実行させる。
この発明のさらに他の局面に従うと、コンピュータ読み取り可能な記録媒体であって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップと、をコンピュータに実行させるための情報処理プログラムを記録する。
本発明の情報処理装置、方法、情報処理プログラムおよび媒体は、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させることによる適応的な情報処理を実現する。
また、その実施態様によっては、その処理対象となるオブジェクトはその要素あるいは操作内容のそれぞれに対し、様々な時間スケールや指定方式を混在させ異なる時間制約を設定することが可能であり、オブジェクト起動時間に応じて操作の意味そのものを変えるなどの柔軟な処理を記述できる情報処理装置、方法および媒体を実現可能である。
また、その実施態様によっては、単一のオブジェクト内にそれらの異なる時間制約下での処理を内包することができるため、通信機能をもたない家電機器についても時間情報に基づくオブジェクト処理を実現可能である。
加えて、その実施態様によっては、あるオブジェクトの時間制約情報を含めた振る舞いをほかのオブジェクトに対し参照させる、あるいは継承させることが可能であり、これによりあるオブジェクトの振る舞いは別のオブジェクトの時間制約に依存するといった依存モデルやオブジェクト間での連携モデルをシステム的に構築することが可能である。
また、その実施態様によっては、リアルタイム情報に加えて仮想時間情報をその入力源にする情報処理装置、方法および媒体を実現可能であり、これはオブジェクト処理のデバッグプロセスにおいてコンテンツ／サービス開発者に対する便宜を図る点で効果的である。
また、その実施態様によっては、ネットワークサービスをも時間制約条件下で連携させることが可能であり、時間指向サービスとその運用を加味したシステマティックなサービスとその連携を行う環境を構築することが可能になる。
加えて、その実施態様によっては、時間制約を満たす形で選択された要素あるいは操作内容に基づくオブジェクトを再合成し、それを用いた処理を行うことで処理のオーバーヘッド分を解消し、特定の処理に関する実行パフォーマンスを向上させるといった効果が期待できる。
また、その実施態様によっては、時間情報にその性質が依存するオブジェクトとそれ以外の通常のオブジェクト指向システムにおけるオブジェクトを混在させた処理系を実現可能である。
さらには、本発明の情報処理装置、方法、情報処理プログラムおよび媒体は、その実施態様によっては、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させる処理をイベント駆動形式にて行う情報処理を実現する。
また、その実施態様によっては、使用者やアプリケーション、端末などその使用局面に関するセンシング情報を入力源として組み合わせることにより、より細かいサービスに立脚した形での情報処理が可能である。
さらには、その実施態様によっては、オブジェクトに関する処理の要素あるいは操作の具体的内容の変更タイミングにおいてそれを使用者に対し通知するといった提示型情報処理を実現可能である。
また、その実施態様によっては、オブジェクトの要素あるいは操作の具体的内容の変更に関する通知を行うタイミングを実際のオブジェクト処理に先行して提示することにより、実際に処理が行われることを予告する内容の表示画面出力や音声出力処理を行うことが可能である。
加えて、その実施態様によっては、ＵＩコンポーネントを時間情報を含むオブジェクトとして実現する場合に表示そのものや操作の内容が時間により変化するＵＩ要素を実現するだけでなく、その変化のタイミングにおいてアニメーション処理を介在させるなど使用者に対しその変化を効果的に提示する処理を実現可能である。
さらには、その実施態様によっては、オブジェクトの処理決定タイミングを事前にスケジューリングすることで例えばある時間になると画面表示や操作の意味を使用者の明示的な命令や、アクションを必要とせずともあたかも自動的に変更するような時間イベント駆動型ＵＩコンポーネントおよびＵＩシステムを実現することが可能である。
【図面の簡単な説明】  図１は、本発明の情報処理装置１００の構成を説明するための概略ブロック図である。
図２は、時間制約を課すオブジェクトの記述の例を示す図である。
図３は、オブジェクトの要素あるいは操作のそれぞれに対し別の時間制約を課すオブジェクトの記述の例を示す図である。
図４は、オブジェクトに外部参照が含まれるオブジェクトの記述の例を示す図である。
図５は、本発明における情報処理装置１００で行われる処理に関するオブジェクト処理アルゴリズムを示す流れ図である。
図６は、絶対時間指定とインターバル指定といった異なる指定方法を同一項目上に混在して与える場合の概念図である。
図７は、図５内ステップＳ１２の詳細アルゴリズムを示す流れ図である。
図８は、本発明の実施の形態２に係る情報処理装置２００の構成を説明するための概略ブロック図である。
図９は、情報処理装置２００が行うイベント駆動アルゴリズムを示す流れ図である。
図１０は、図８にて示される構成の情報処理装置２００が従うイベント駆動アルゴリズムを示す流れ図である。
図１１は、本発明における情報処理装置３００で実現されるＵＩに関する機能ブロック図である。
図１２は、実施の形態３におけるアプリケーション構成要素を示す図である。
図１３は、実施の形態３におけるＵＩイベント処理の流れを示すフローチャートである。
図１４は、コンテンツの内容（絵）が起動時間によって変化する例を示す概念図である。
図１５Ａ〜図１５Ｃは、図１４の処理を実現するときの時間依存関数を示す図である。
図１６Ａ〜図１６Ｄは、ネットワークサービスの表示例を示す図である。
図１７Ａおよび図１７Ｂは、ネットワークサービスの表示例を示す図である。
図１８は、図５内ステップＳ１９の詳細アルゴリズムを示すフローチャートである。
図１９Ａおよび図１９Ｂは、携帯電話上で動作するアプリケーション例を示す図である。
図２０Ａおよび図２０Ｂは、携帯電話上で動作するアプリケーション例を示す図である。
【発明を実施するための最良の形態】  以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
［実施の形態１］
図１は、本発明の情報処理装置１００の構成を説明するための概略ブロック図である。
情報処理装置１００は、少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに関する処理を実現するための、オブジェクト管理部１０１と決定部１２０と実行部１３０とを備える。
以下、それぞれについて説明する。
情報処理装置１００の処理対象となる「オブジェクト」は、時間情報あるいはそれを処理することによって与えられる情報を基に、その内部の要素あるいは操作を決定することができ、その時間情報を元にした処理を実行あるいは判断した結果をオブジェクトの要素あるいは操作、あるいはオブジェクト自身に対し反映する。
ここで、「時間情報」は、情報処理装置１００が識別可能な形式にて記述される情報であり、単に付加的な情報として使用される場合には一般的にオブジェクトとして定義される本質的な構成要素である内部要素あるいは操作の具体的処理からは疎な形式にて付与される。たとえば、典型的な記述方法は、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を用い、属性形式にて記述される。
ただし、時間情報をその要素あるいは操作を構成する密な内容として利用する場合にはその限りではない。このような例としては、１）オブジェクトに関連する操作が、時間情報を一変数として与えられた関数として定義される場合や、２）帯域保証など要素に対する操作そのものが、ある規定された期間の間確実に処理されなければならないような、操作そのものに時間情報が深く組み込まれているような場合である。
なお、本発明の処理対象となるオブジェクトに関する詳細は後述する。
オブジェクト管理部１０１は、上述のオブジェクトそのもの、あるいはそれに関連する情報を内部データベース領域内に格納・記憶するための記憶部１０２と、該当する条件に合致するオブジェクトを記憶領域内から検索するための検索部１０３と、現在処理実行中のオブジェクトに関する動作およびその状態に関する管理を行うための管理処理部１０４と、ネットワーク上の情報を取得するための通信部１０５とを備える。
ここで、オブジェクト管理部１０１は、上述の時間情報を含むオブジェクトを管理し、実行系において適切なオブジェクトの選択・実行を司る主体として機能する。
プログラムの実行時において、ハードディスク（ＨＤ）、フラッシュ（Ｆｌａｓｈ）メモリ、メモリカードなどの外部記憶領域（図示せず）からプログラムが主記憶内に読み出されると、管理処理部１０４はプログラムの構成要素であるオブジェクトを包括的に管理するための情報を記憶部１０２に格納する。
記憶部１０２では、物理メモリ上に存在するオブジェクトコードのメモリアドレスや識別情報（ＩＤ）、各種内部データへのインデックス、現在選択処理されている要素／操作に関するステータス情報と、他のオブジェクトへの依存関係を示すリンク情報など、オブジェクトの状態管理に反映されるに充分な管理情報が格納される。
記憶部１０２により格納された情報は、管理処理部１０４により適宜アクセスされ、必要な管理情報の参照／更新が随時実行される。管理処理部１０４はオブジェクトに関する全ての情報管理を行い、記憶部１０２を用いて必要な情報を格納する。
プログラムの実行過程において処理される対象となるオブジェクトは、その情報が管理処理部１０４により決定部１２０に対し随時送信され、以降の過程において処理が決定される。この意味において管理処理部１０４は、プログラムの実行対象となるオブジェクトの抽出と決定部１２０への送信を適切なタイミングにて行う機構を有する。
検索部１０３は、管理処理部１０４の上位サービスとして位置付けられ、記憶部１０２内に格納されているオブジェクト管理情報データベース（ＤＢ）から必要なオブジェクトの情報を参照する際に用いられる。オブジェクトに記述された処理を実行する過程において他のオブジェクトを参照する、あるいは他のオブジェクトに記述された処理へのスイッチを行う必要がある場合には、検索部１０３により対象オブジェクトを検索する。
検索部１０３は、制約条件として与えられた時間制約下で有効なオブジェクト候補を検索する機能をも有し、関連のあるオブジェクトを抽出する。制約条件を満足する複数の候補が存在する場合には選択ルールに基づきその順位付け、あるいは抽出が行われる。このような選択ルールの一例としては、あるオブジェクトに対し、親子関係をもつ場合などは依存関係が強い順に抽出および順位付けが行われるといったルールが挙げられる。
このような複数の選択ルールからなるルールセットは、オブジェクトを処理する文脈によって異なるため、外部から導入できるようにしておくことが重要である。このため、ルールセットは外部から導入される形が望ましいが、所与のものとして与えられている場合を含み、そのポリシーは管理処理部１０４が管理する。すなわち管理処理部１０４が検索部１０３を用いてオブジェクト検索を行う際には、検索ルールそのものは与えられているものとして扱われる。
記憶部１０２内に情報が格納されていないオブジェクトの解決を行う場合、検索部１０３は通信部１０５を用いてネットワークを通じてオブジェクトの情報を検索／取得し、その取得された情報を管理処理部１０４に通知する。検索部１０３が通信部１０５を用いて収集する情報は、必ずしも処理対象となるオブジェクトそのものでなくてもよく、広義の意味でのデータがその検索対象となっていてもよい。それはオブジェクト内部の記述にて解決されるべき情報の与え方に依存する。
管理処理部１０４は、プログラム実行に必要なオブジェクトを参照／抽出し、逐次、後述する決定部１２０に対しその情報を送信する。決定部１２０内の判断部１２１に対して送られる情報は、処理対象となるオブジェクトへのポインタであり、以降の処理における判断事項は決定部１２０に委ねられる。
決定部１２０は、オブジェクト管理部１０１からの指示により、受信オブジェクト、加えてその構成要素に関連付けられた時間情報を参照し、それを判断することにより、対象となるオブジェクトの要素あるいは操作の具体的な内容を決定する。
決定部１２０は、オブジェクトの要素あるいは操作の具体的な内容を関連付けられた時間情報を判定することにより、実際の動作および振る舞いを決定するための判断部１２１と、判断部１２１の出力から具体的な操作内容の確定を行うための操作部１２２と、判断部１２１あるいは操作部１２２の出力をもとに新たにオブジェクトを生成するための生成部１２３とを備える。
判断部１２１と操作部１２２には時計１２４が接続される。判断部１２１において、オブジェクトの要素あるいは操作の項目に関し与えられた時間情報を処理した結果、あるいは直接的に時間情報との間で比較・照合を行うことで適切な処理が選択される。
オブジェクトの要素あるいは操作の項目のそれぞれに直接的に時間設定、すなわち時間制約が与えられている場合には、判断部１２１は、その制約条件を満足する項目をそれぞれ選択し、操作部１２２に対し、その結果を出力する。
処理対象となるオブジェクトが、間接的に他のオブジェクトの時間制約を参照している場合、例えば、別のオブジェクトの時間制約を継承している場合などには、判断部１２１は、管理処理部１０４に対し必要なオブジェクトの時間制約を問い合わせることにより、処理すべき制約条件を参照した後に適切な処理を選択する。この場合オブジェクトの時間制約を解決するために、判断部１２１と管理処理部１０４の間の再帰的な手続きにて参照が行われる可能性がある。
操作部１２２は、判断部１２１からの入力をもとに、具体的に確定した処理の実行対象部を後述の実行部１３０に対し送信する。オブジェクトを構成する要素あるいは操作に関する記述に時間依存の変数が含まれている場合（時変数オブジェクト、後述）には、判断部１２１によって選択された処理手続きに加え、操作部１２２は、時計１２４を用いてその時間情報を時間依存変数部に適合することにより具体的な実行対象処理を決定し、それを実行部１３０に対し送信する。
生成部１２３は、判断部１２１および操作部１２２により選択されたオブジェクトを構成する要素あるいは操作の具体的処理内容を元にオブジェクトを再合成する。このようにして元オブジェクトに対するサブセットとしてのオブジェクトを新規生成し、オブジェクト管理部１０１における管理処理部１０４に対しその情報を通知、記憶部１０２に対し格納することにより、特定の処理に関する実行パフォーマンスを向上させることができるという効果がある。あるいは、時計１２４を用いてその時間情報を時間依存変数部に適合することにより、具体的な実行処理を決定した後のオブジェクトを領域内に確保しておくことによる、処理のオーバーヘッド分を解消したより効率的なオブジェクトの利用という効果もある。
生成部１２３により再合成されたオブジェクトは、元オブジェクトとの間での関連性に関する情報が保持される必要があるため、生成部１２３は、その管理に必要な情報をオブジェクト管理部１０１内の管理処理部１０４に対し送信する。すなわち、「管理に必要な情報」とは、新規作成されたオブジェクトコードのメモリアドレス、元の参照されるオブジェクトのＩＤやどの要素あるいは操作が選択されているかを示す内部構造データへのインデックス、適合時間などである。
管理処理部１０４は、生成部１２３からの新規オブジェクト生成情報を元にオブジェクト管理部１０１内でそれを統合し、オブジェクトのキャッシュとして利用すべく、それを管理する。
判断部１２１は、該当するオブジェクト内部に記述される要素あるいは操作に関する処理の選択・決定後に、それに関する情報をオブジェクト管理部１０１内の管理処理部１０４に対しフィードバックする。これによりオブジェクト管理部１０１内の管理処理部１０４は、どのような処理が時間情報を元に選択・起動されているかを認識し、この判断部１２１からのフィードバック情報を元に該当オブジェクトのステータス情報を更新する。
また、判断部１２１は、オブジェクトを構成する要素あるいは操作の具体的処理内容を決定する際に、外部参照あるいはリンク情報などを解決する必要がある場合、すなわち解決すべき情報が処理すべきオブジェクト記述内に含まれる場合に、オブジェクト管理部１０１内の管理処理部１０４に対し、必要となるオブジェクトあるいはデータに対する要求を行う。
管理処理部１０４は、判断部１２１からの要求に基づき、検索部１０３を用いて記憶部１０２あるいは通信部１０５を通じて必要な情報を取得し、取得情報を判断部１２１に対し受け渡す。判断部１２１は、オブジェクト管理部内の検索部１０３から与えられた情報を元に、具体的な処理内容を確定する。このときオブジェクトに関する要素あるいは操作の具体的内容を確定させるに必要な情報が得られない場合には、オブジェクト管理部１０１内でエラーとして判断し、エラー処理に移行する。
判断部１２１、操作部１２２に接続される時計１２４は、典型的にはリアルタイムクロック（ＲＴＣ）であるが必ずしもその必要はなく、時間情報を与える対象であれば構わない。これは仮想時間での利用を考慮し、このときは規定時間に対する情報処理装置のアクションを事前にテストするために利用される。
判断部１２１に渡されるオブジェクトが、時制オブジェクトあるいは時変数オブジェクトでない、一般的なオブジェクトであった場合、あるいは生成部１２３により生成され、時間情報に基づく判断を行う必要がないオブジェクトであった場合には、判断部１２１は何も行う必要はない。これは一般的なオブジェクト指向に基づく情報処理装置との間での互換性を保持する共に、複数種のオブジェクトの混在を許容できることを意味する。
実行部１３０は、決定部１２０により決定されたオブジェクトの処理内容に基づき実際の情報処理を行うためのユニットである。実行部１３０は、解釈部１３１と実行処理部１３２と情報提示部１３３とを備える。
解釈部１３１は、決定部１２０内の操作部１２２からの出力としての実行対象コードを機械語へデコードし、実行処理部１３２にてそれを実行する。
実行部１３０は、その必要性に応じて出力部１４０に対し、実行処理部１３２経由で表示処理を含めた出力処理を行う。
情報提示部１３３は、オブジェクトの要素あるいは操作の具体的操作内容の変更が発生した場合に、その情報を使用者に対し提示するための機構である。情報提示部１３３は、決定部１２０内の判断部１２１および操作部１２２からの処理内容決定情報を別途取得することで、情報提示を行うか否かを判断すると共に、その提示内容に関する処理を行う。
情報提示部１３３により処理される情報は、決定部１２０により変更される処理の内容を提示するなど、使用者に対する情報提供のための便宜を図るためのものである。このような情報提供のための処理は、情報提示部１３３から別途解釈部１３１経由で実行処理部１３２にて実行され、出力部１４０に出力される。情報提示部１３３は、そのために判断部１２１および操作部１２２からの処理内容決定情報を逐次その内部に保持し、処理変更があった場合に通知される処理決定情報との間で比較を行うことで、提示すべき情報の有無を判断する。この比較はオブジェクト内の要素あるいは処理のそれぞれに対し同様に行われることはもちろん、一部オブジェクト間での遷移を比較対象とすることも可能である。このとき、このような比較のためには少なくとも２オブジェクトの前後関係を判断するための情報を随時保持する構成になっていればよい。
情報提示部１３３による出力の形態は予め設定しておくことも可能であるし、あるいは、処理内容に付加する形式で記述しその情報を操作部１２２から情報提示部１３３へ送信した上で情報提示部１３３がその内容をデコードし、実際の出力形態を決定することも可能である。
情報提示部１３３により決定される出力の形態は、必ずしもその変更内容を含めたテキストを表示するのみならず、例えば、画面上に配置されるあるコンポーネントが時間に従いその処理が変更されたことを示すために点滅処理を実現するもの、あるいは表示色を変化させるだけのものでもよい。出力部１４０の他の使い方としては音声出力にて使用者にその変更を通知するものも含まれる。この例では、実際に変更される処理内容と情報提示部による処理は密に結合されているが、その関連は疎な結合であってもよい。この場合文脈の一致の確認は使用者に対し委ねられる事項である。
（情報処理装置の処理対象のオブジェクト）
以下、情報処理装置１００の処理対象となるオブジェクトに関する詳細な説明を示す。
なお、以下の説明では、本発明を、情報処理装置１００の動作に基づいて説明するが、本発明の形態としては、情報処理装置１００で実施される方法として実現してもよいし、このように実施される方法をコンピュータに実行させるためのプログラム、またそのプログラムを記録した媒体として実現されてもよい。
処理対象となるオブジェクトは、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能な情報単位を意味する。
「要素」は、変数あるいは一般的な用語でのプロパティ（属性）であり、動的あるいは静的変数を含み、オブジェクト指向におけるインスタンス変数あるいはインスタンスそのものをも包含する。
「操作」は、手続きであり、データに対するオペレーションを規定する。オブジェクト指向においては「メソッド」を意味するが、情報処理装置１００の処理対象となるオブジェクトは、必ずしもデータに依存する形でカプセル化されたオブジェクトにおけるメソッドに限定されるものではない。これは、時間に関するよりオープンな換作の実現を意味し、時間に関する処理を外部に委ねられるなど必ずしも一般的なオブジェクト指向に基づくオブジェクトあるいはメソッドの概念に限定されないことを意味する。
なお、ここで注意すべきは、情報処理装置１００の処理対象となる時間概念を含むオブジェクトは、それを含まないオブジェクトとの間でその実行時における排他性を有しない点であり、詳細は以下で示される。
情報処理装置１００において処理対象となるオブジェクトは、それが含む要素あるいは操作に対し独自に時間に関する情報が設定される。
かかる時間情報は、以下の２通りの場合が存在する。第１は、その処理あるいは変数が有効である期間を示すための時間制約である場合（時制オブジェクト）である。また、第２は、この時間情報は、オブジェクトの要素あるいは操作はその内容記述自体が時間情報をその一変数にとる形式にて定義され、時間項に対し時間情報を直接適用することにより、実際の処理を決定するための記述形式（時変数オブジェクト）による場合である。
前者の時制オブジェクトについては、要素あるいは操作に対し、それらが有効な時間、期限を記述することにより、実行時においてその処理の有効時間の判定を行うことによる処理を実現する。後者の時変数オブジェクトは、要素あるいは操作の記述部に時間依存項を設けることで、実行時においてその時間項を適合することにより、具体的な操作内容を確定するものである。
ある局面においては時間依存項のドメインを規定することにより時間制約を実現することができることから、時間項に基づく時間依存処理記述は直接前者の時制オブジェクト概念をも包括的に包含することが可能である。もちろん、時間制約と時間項はその記述方法が分離できるため、オブジェクト内に同時に記述することは可能である。
情報処理装置１００において処理対象となる時制オブジェクトは、任意の時制オブジェクトを親として生成された場合にその親オブジェクトに含まれる要素あるいは操作をそのそれぞれに課せられる時間制約を含め継承する。この生成された子オブジェクトは権限が与えられる限りにおいて、親オブジェクトの性質をそのままの形で継承可能である。しかし、権限はオブジェクト作成者のアクセスコントロール設定に基づきシステマティックに決定されるものである。このため、権限を持たない第三者が任意の時制オブジェクトのコピーを無断で使用する、あるいは時間制約をオリジナルのものから改変することを未然に防止する。
一般には、子オブジェクトにおける要素あるいは操作に基づく実際の処理過程において、親オブジェクトの情報が参照され、継承される対象となる処理に対するアクセス権を確認することにより継承可能性が確認される。ここで、親となるオブジェクトに対し必要なレベルでの権限委譲を要求するメソッドを時制オブジェクト内に付帯させることでその実行許可確認を行う。継承される単位はオブジェクトそのものあるいは個別の要素および操作毎で可能であり、個別項目において時間的多態を実現するその中の特定の時間制約下での要素および操作はその対象にはならない。
ただし、時制オブジェクトの要素あるいは操作に関するオーバーライド（この場合はプロパティに対するものも含む）については、親オブジェクトに対し権限委譲を要求し、時間制約をその許可を得た後でオーバーライドすることは可能である。そのとき、親オブジェクトの要素あるいは操作の時間制約に対する整合性は実行時において判断され、例えば、子オブジェクトにてオーバーライドされた要素あるいは操作に関する処理が優先して選択される。任意の時制オブジェクトは、権限委譲のプロセスを経た後に参照元となる時制オブジェクトの要素あるいは操作に付加される時間制約のみを参照または継承可能であり、これを用いて親オブジェクトの一部処理に依存する処理を記述可能である。
時制オブジェクトの継承・参照に関連する処理は、決定部１２０内における判断部１２１とオブジェクト管理部１０１内における管理処理部１０４との間で権限委譲や参照に関する処理が行われる。この中では、例えば、参照元となるオブジェクトの時間制約を所与のものとし、それに対するオフセットを指定することにより、参照元オブジェクトとの間の時間的な連携を行うようなオブジェクトの処理を実現可能である。
このとき処理対象となるオブジェクトの時間制約は参照元となるオブジェクトの時間制約に対するリンク情報とオフセットからなり、時間オフセットは相対的な時間指定に基づく方式にて記述される。
図２は、時間制約を課すオブジェクトの記述の例を示す図である。図２に示す記述では、説明の便宜性からＸＭＬを用いて例示するが、当該オブジェクトが特定の形式で実現されている場合には、その実装依存形式にて記述されていてもよい。
図２におけるオブジェクト記述例は、オブジェクト全体を修飾する時間制約を含むオブジェクトに関するものであり、時間制約はその有効時間を設定するためのタグを対象に付加することにより実現される。
図２における要素ｔｒｏｂｊｅｃｔは時間記述属性をもち、ｅｆｆｅｃｔｉｖｅ＿ｂｅｇｉｎ属性により、オブジェクトが有効になる時間を指定し、ｅｆｆｅｃｔｉｖｅ＿ｅｎｄ属性によりオブジェクトが無効化される時間を指定する。
図２内における時間指定形式は、ＩＳＯ８６０１に従うシンタックスにて記述を行っているが、実行系においては限定された記述文法をサポートしていれば充分である。上記の時間記述属性はそのオブジェクトに関するアクションを実際に開始、あるいは終了する時刻を示すものではないことに注意する必要がある。
また、オブジェクトの時間制約を記述するためのフレームワークとしてＳＭＩＬ２．０仕様におけるＴｉｍｉｎｇ  ａｎｄ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  Ｍｏｄｕｌｅに記載されるコンストラクタと同じ要素、属性の名前と値を用いて時間制約を記述することは充分可能である。この記述は、利用面における便宜を図る点で有効である。
ただし、セマンティクスは特定の名前空間に従属する形式にて用いられる。なお、ありそうもない時間制約を付加することにより、指定の処理を一時的に無効にするといった効果がある。
図３は、オブジェクトの要素あるいは操作のそれぞれに対し別の時間制約を課すオブジェクトの記述の例を示す図である。
情報処理装置１００において処理対象となるオブジェクトは、その要素および操作のそれぞれに対し異なる時間制約を付加することが可能である。これにより、それぞれの要素あるいは操作毎に時間に関する多態性を実現する。
例えば、図３におけるｉｄ要素およびｎａｍｅ要素は、それぞれ記号ａ１と記号ａ２、記号ａ３と記号ａ４で示すように異なる時間制約に基づくため、同一のオブジェクト内に混在した記述が可能である。そして、決定部１２０において実行時に適切なプロパティが選択される。
同様に、処理を規定するｍｅｔｈｏｄｓ要素内においても、記号ｂ１とｂ２で示すように異なる時間制約が付加されており、混在が可能であると同時に決定部１２０において実行時に適切な処理が選択される。
図３の記載においては、バイナリ形式を含む処理コードをも含め、オブジェクトを構成する要素を単一のオブジェクトに含む例が示される。なお、単一オブジェクト内に全ての関連要素が含まれる場合においても、名前空間指定が正規に付加されていることが望ましい。
オブジェクト内の要素あるいは操作のそれぞれは、判断部１２１によりオブジェクト処理の実行時適切に選択され、その選択された処理に関する実行コードが実行部１３０に対し送られる。同一の要素あるいは操作に対し時間制約が与えられた複数要素に関し、その時間制約についてオーバーラップするものがあるとき、判断部１２１はそれを検出し、管理処理部１０４へと通知することで必要なエラー処理を起動する。
図４は、オブジェクトの要素あるいは操作に関し、時間制約に基づく複数の記述を含むと同時に、オブジェクトに外部参照が含まれるオブジェクトの記述の例を示す図である。
記号ｃ１あるいはｃ２において記述される操作内容は、それぞれ排他的な時間制約が付加されており、同一オブジェクト内にその記述を共存させることが可能になっていると同時に、その処理内容がネットワーク上のサービスへの参照を明示的に与える形式になっている。
この例において付加される時間制約は、オブジェクト処理側の処理を決定するための制約条件であり、実際には別途ネットワーク上で提供されるサービスに付加される時間制約とは異なる。
外部参照によるアクセスの必要性がある場合には、決定部１２０からオブジェクト管理部１０１へと通知を行い、通信部１０５にてデータの検索、取得が実施される。
図５は、本発明における情報処理装置１００で行われる処理に関するオブジェクト処理アルゴリズムを示す流れ図である。
最初にプログラムが記憶部１０２の主記憶内に読み出されると、管理処理部１０４は、そのプログラムの構成要素であるオブジェクトに関する管理情報を記憶部１０２に格納する（ステップＳ１１）。
管理処理部１０４は、ステップＳ１２にて、プログラム実行時に逐次処理対象となるオブジェクトあるいはその実行に必要となるデータを管理処理部１０４自身、あるいは判断部１２１からの要求に応じて検索部１０３、記憶部１０２および通信部１０５を用いて検索、抽出する。ステップＳ１２のアルゴリズム詳細については後述する。
ステップＳ１２の結果、必要となるオブジェクトの情報あるいはデータが取得できなかったか否かがステップＳ１３にて判定され、情報が取得できなかった場合にはステップＳ２５にてエラー処理が行われ、その後プログラムを終了する。
ステップＳ２５における処理には例外処理を行う場合も含まれる。
ステップＳ１２にてオブジェクトあるいは必要なデータが取得された後にはそれらがステップＳ１４にてオブジェクト管理部１０１から決定部１２０へと送信され、具体的な処理の決定が行われる。
ステップＳ１５において、判断部１２１はオブジェクトの振る舞いを決定するために他の情報が必要である限りにおいて、処理をステップＳ１２へと遷移させ、必要な情報の抽出（「解決処理」）を試みる。例えば、オブジェクトがその内部に複数の外部参照を含む構成になっている場合や、他の時間制約オブジェクトの時間制約を継承あるいは参照している場合などがこれに該当し、複数の情報を必要とする場合においてはそれらが全て解決されるまでステップＳ１２からステップＳ１５までのループを繰り返す。
なお、これらは単一のオブジェクトに関する情報取得プロセスであるが、複数のオブジェクトに関する処理を並行して行うような構成であってもよい。
オブジェクトに記述される処理の確定に必要な情報が全て解決されたときにステップＳ１６へ遷移し、対象となるオブジェクトの要素あるいは操作に関する処理が時制オブジェクトに関するものか否かが判定される。時制オブジェクト、すなわち時間制約条件が対象オブジェクトの要素あるいは操作のそれぞれに付加されている場合にはそれらの全てに関し、時間情報とのマッチングによる判定がステップＳ１７以降にて行われる。
ステップＳ１６において判定を行うべき対象が時制オブジェクトでない場合においては、次に対象となるオブジェクトの要素あるいは操作に関する処理が時変数オブジェクトのそれであるか否かがステップＳ１８にて判定される。ステップＳ１８において処理対象が時変数オブジェクトでなかった場合にはそのまま一般的なオブジェクト処理を実行手段にて行うべく、ステップＳ２０へ遷移させる。
これは情報処理装置１００での処理は、時間情報に依存しない通常のオブジェクト指向モデルにおけるオブジェクトを共存させることが可能であることを意味し、それは時間制約が与えられないオブジェクトとして判断されることにより実現される。
ステップＳ１６にて処理対象が時制オブジェクトの場合には、ステップＳ１７へ遷移し、処理対象オブジェクトにおける要素あるいは処理に閲し、複数の時間スケールの存在確認が行われる。
複数のスケール記述が同一項目に対し与えられている場合にはステップＳ２３へ遷移し、単一時間軸への変換が行われる。複数の時間スケールを同一オブジェクト内あるいは同一項目上に混在することは与えられる選択肢のそれぞれが時間的に疎になっている場合において可能である。また、時間スケールだけではなく、絶対時間指定とインターバル指定、あるいは相対時間指定といった異なる指定方法を同一項目上に混在して与えることも可能である。この解決のための処理はステップＳ１９内にて行われる。なお、ステップＳ１９での詳細アルゴリズムは後述する。
ステップＳ２３にてスケール変換が行われた後、あるいはステップＳ１７にて時間スケールの解決を行う必要がなかった場合において、ステップＳ１９へ遷移し、時制オブジェクト内の要素あるいは操作に対する記述を時間情報とマッチングすることにより時間制約を満足する処理を選択する。
制約を満足できる処理が候補集合内に存在しない場合には、ステップＳ２２からステップＳ２５へ遷移し、エラー処理あるいは例外処理を行った後、処理を終了する。この他、ステップＳ２５におけるエラー処理においては別途エラー通知のみオブジェクト管理部１１０へ送信し、以降においてオブジェクト管理部１１０から送信されるオブジェクトにより規定される処理を行う構成になっていてもよい。これはその処理の実行時点では時間制約を満足できなかったものの、ある条件によっては、実行可能な選択肢が存在する可能性がある場合に有効である。例えばこれにより、あと数秒待てば条件を満足できるものがある、といった場合に情報提示を行うと共に処理をサスペンドする、といった処理を実現できる。
ステップＳ２２において、制約を満足できる処理が候補集合内に存在し選択処理が行われた後にはステップＳ１８へと遷移する。ステップＳ１８において時変数オブジェクトとして解決すべき要素あるいは操作が対象オブジェクトに含まれているか否かを判断し、含まれている場合にステップＳ２４へ遷移し、その時間項への適用を行う。
含まれていなければ、ステップＳ２０にて既に時間制約を満足する処理が選択された時制オブジェクトに関する処理、あるいは時間情報とは無関係のオブジェクトに記述される処理をステップＳ２０にて実行する。
ステップＳ２４において、解決されるオブジェクトの要素あるいは操作は、その内容記述自体が時間情報をその一変数にとる形式にて時間項ｔを含む関数として定義されるものである。これらに関する操作の例としては、そのインスタンシエートされる時間が暗号化鍵あるいは関数を決定する要素の一つになるような暗号化関数、時間により位相が異なるような非線形的な性質をもつメソッドや起動時間により表示される色が変化するメソッドなどである。一方、要素の例としては時間により初期値が変化するようなインスタンス変数など適合時間に依存してその挙動が変化する処理そのものを代数的な形式にて記述するものがある。
このオブジェクトの要素あるいは操作を定義する記述形式は必ずしも連続関数になっている必要はなく、システム設計に携わる者が自由に記述・設計することが許容される。たとえば、オブジェクトの操作を定義するメソッドの記述形式は一定間隔毎のｔに関する階段関数になっていてもよい。なお関数出力に対する時間変数ｔが依存するドメインはよく定義されている（ｗｅｌｌ−ｄｅｆｉｎｅｄ）ことが望ましく、この場合に時間ｔにおける適用の可能性検証を行うことが可能である。これはすなわち、先の時制オブジェクトにおいての時間制約の検証を包含する機能を時変数オブジェクト検証方法において実現可能であることを意味し、端的には時変数オブジェクトとして処理された後の出力の値を参照することにより、その処理の使用に関する妥当性を評価することが可能である（もっとも単純には時間情報を適合することにより、返される関数出力の値が０なら不適合、１なら適合といった２値の評価関数として構成されてもよい）。この場合は操作部１２２により時間が適合された後の関数出力を再評価するためのルールセットが管理処理部１０４にて整備された上で関数出力が操作部１２２から判断部１２１へと一度フィードバックされた上でその妥当性評価が行われる。また、時変数オブジェクトの記述様式においてはネットワーク上のサービスを時間依存形式にてその利用可能性を含めて参照するものであってもよい。実現例については後述する。
ステップＳ２４においては、オブジェクトを構成する要素あるいは操作に関する記述に含まれる時間依存の変数に時間情報を適用することにより、実際の要素あるいは操作の内容を操作部１２２にて確定する。時間依存変数に適用される基本的な時間情報は、ＲＴＣからの現在時刻情報である。ただし、時変数オブジェクトの動作検証を行うためなどには、仮想的な時間情報をその入力にすることが有効な方法であり、この場合、決定部１２０に接続される時計が外部からの操作を受ける形でその出力情報を制御できる、あるいは外部から別途時計情報を決定部１２０に入力することで容易に実現可能である。
ステップＳ２６においては、ステップＳ２４における時変数オブジェクトの各項目に対する時間情報の適用を行った後に、その妥当性検証が行われる。これは端的には、適用した時間に対する時間項ｔのドメインが無効であるような場合の確認を行うためのものである。そして、適合時間が関数の時間項ｔのドメインを満足できなかった場合には、処理はステップＳ２５へと遷移し、エラー処理が行われる。
一方、ドメイン内にｔが収まっている場合には、そのままその適用後の結果をもってステップＳ２０にて該当オブジェクトに記述される処理を実行する。
以降ステップＳ２１にて、プログラムの実行過程において次の処理対象オブジェクトが管理処理部１０４の制御下に存在している場合には、そのオブジェクトに関する処理を決定部１２０との間で行うべく、ステップＳ１２へ遷移する。
すべての規定処理の実行を終えたときプログラム実行は終了する。
図６は、時制オブジェクトの内部記述において絶対時間指定とインターバル指定といった異なる指定方法を同一項目に混在して与える場合の概念図である。図６においては時制オブジェクト内に記述される特定の要素に対する時間制約が異なる２つの指定方法により記述されるものとして仮定する。
上部の長い矢印は絶対時間指定に基づき定義されている時間制約であり、その下部の断続的に続く４本の矢印はインターバル時間指定に基づく時間制約を意味するものであり、同じプロパティに対するものである。
時間指定の方法が異なる場合には時間制約に関するオーバーラップ期間が発生する可能性があり、図６の場合もそれに該当する。このとき、判断部１２１は管理処理部１０４に対し記述方法に関する優先度確認を行い、記述に関するコンフリクトの解決を行う。インターバル指定方法にて与えられる処理は回帰性があるため、一例としてはその処理の重要度から絶対時間指定より低い優先度が与えられ、この情報を判断部１２１が取得・判断することで有効なプロパティが選択されることになる。優先度の与え方に関するルールは処理系に依存し、その混在を許容する場合においてはそれらの間での優先度を予め確定しておくことが必要である。
図７は、図５内ステップＳ１２の詳細アルゴリズムを示す流れ図である。
図５におけるステップＳ１２の開始後、ネットワーク上でのオブジェクトあるいはデータの検索が明示的に指定されているか否かをステップＳ３０にて判定する。
ネットワークにおける情報検索が指定されている場合には、ステップＳ３４にて通信部１０５を用いてネットワーク上のオブジェクトあるいはデータの検索を行う。
ネットワークにおける情報検索が指定されていない場合には、まずステップＳ３１へ遷移し、記憶部１０２内に格納されているオブジェクトあるいはデータに対し検索を行う。その結果、所望のオブジェクトあるいはデータを抽出できなかった場合には、ステップＳ３３にてその判定を行った後、ステップＳ３４へ遷移し外部のネットワークに対するオブジェクトあるいはデータの検索を行う。
記憶部１０２内に所望のデータを確認した場合には、そのままステップＳ１２の処理を終了し、図５におけるステップＳ１３へと遷移する。
図７にて示される流れ図に従う動作を行うことにより、外部参照を含むオブジェクトなど複数の資源をネットワークを用いて連携させ、それらについて時間制約をされるデータをローカル記憶領域である記憶部１０２あるいはネットワークを通じて取得する、あるいはネットワーク上のサービスをオブジェクト内に記述することが可能になる。
図１８は、図５内ステップＳ１９の詳細アルゴリズムを示す流れ図である。ステップＳ１９１において、複数の時間指定方法が与えられているがかチェックされる。複数の時間指定方法が与えられている場合においてはステップＳ１９２において各記述形式の解釈を行った後にステップＳ１９３において各方式に関する優先度を確定し、そうでない場合はステップＳ、１９４へ遷移し、時間制約を満足する処理候補集合を抽出する。ステップＳ１９３における優先度確定処理に関しては、例えばインターバル指定を絶対時間指定と混在させた場合、インターバル指定処理はある時間毎に周期的に繰り返される反復性を有することから絶対時間指定を優先して選択するように優先度の調整を行うといった処理がこれに該当する。これら優先度調整に関するルールセットは所与である場合の他、外部から導入することが可能であり、そのポリシー管理は管理処理部１０４が行い、適用されるルールセットは判断部１２１にて行われる処理の決定において利用される。本来オブジェクトにより規定される処理は文脈依存性が高いため、それに柔軟に対応することが求められる。例えば前述以外の一例として、ＱｏＳサービスを提供するような処理については、絶対時間指定された処理に比較してインターバル指定される処理が特に単位時間あたりのサービスの保証の面で優先される必要があり、様々な文脈に対し適切なルールを選択できる仕組みを実現する。
ステップＳ１９４においては上記優先度を加味した情報及び与えられた時間情報を参照することにより、オブジェクトの要素あるいは操作において時間制約を満足する処理候補集合を抽出する。
上記図１にて示される構成の情報処理装置１００の処理が、図５にて示される流れ図に従う動作を行うことにより、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させることによる適応的な情報処理が実現可能である。
また、その処理対象となるオブジェクトは、その要素あるいは操作内容のそれぞれに対し、様々な時間スケールや指定方式を混在させ異なる時間制約を設定することが可能であり、オブジェクト起動時間に応じて操作の意味そのものを変えるなどの柔軟な処理を記述できる情報処理装置１００を実現可能である。これは、例えば一つのボタンに時間に応じて異なる意味を持たせることができるなど、限定された資源しかもたない端末や家電機器に対する効果が期待できる。
さらには単一のオブジェクト内にそれらの異なる時間制約下での処理を内包することができるため、通信機能をもたない家電機器についても時間情報に基づく処理を実現可能である。
加えて、あるオブジェクトの時間制約情報を含めた振る舞いをほかのオブジェクトに対し参照させる、あるいは継承させることが可能であり、これによりあるオブジェクトの振る舞いは別のオブジェクトの時間制約に依存するといった依存モデルやオブジェクト間での連携モデルをシステム的に構築することが可能である。
また、リアルタイム情報に加えて仮想時間情報をその入力源にする情報処理装置１００を実現可能であり、これはコンテンツ／サービス開発者に対する便宜を図る点で効果的である。
またネットワークサービスをも時間制約条件下で連携させることが可能であり、分散処理に対する親和性が高い。加えて、時間制約を満たす形で選択された要素あるいは操作内容に基づくオブジェクトを再合成し、それを用いた処理を行うことで処理のオーバーヘッド分を解消し、特定の処理に関する実行パフォーマンスを向上させるといった効果が期待できる。さらには、時間情報にその性質が依存するオブジェクトとそうでない通常のオブジェクト指向システムにおけるオブジェクトを混在させた処理系を実現可能である。
［実施の形態２］
次に、実施の形態２の情報処理装置２００について図を参照して説明する。
なお、以下の説明でも、本発明を、情報処理装置２００の動作に基づいて説明するが、本発明の形態としては、情報処理装置２００で実施される方法として実現してもよいし、このように実施される方法をコンピュターに実行させるためのプログラム、またそのプログラムを記録した媒体として実現されてもよい。
図８は、本発明の実施の形態２に係る情報処理装置２００の構成を説明するための概略ブロック図である。
図８における情報処理装置２００は、実施の形態１における情報処理装置１００の構成に加えて、イベント通知部１１０を備える。
情報処理装置２００のその他の基本的な構成は、実施の形態１における情報処理装置１００と同じであり、同一部分には同一符号を付してその説明は繰り返さない。
図８を参照して、イベント通知部１１０は、センサなどの外部情報に基づくイベント条件を登録・保持し、条件に合致した場合に発生するイベントを、オブジェクト管理部１０１に対し通知するユニットであり、検知部１１１と通知処理部１１２と登録部１１３とを備える。
検知部１１１は、複数の外部センサ群１１４および時計１２４との間で接続され、登録部１１３内に登録されたイベント発火条件に基づき外部イベント発生の検知を行い、登録された条件に合致するイベントが発生した場合にその情報を通知処理部１１２に対し通知する。
複数のセンサ群１１４に加えて時計１２４を用いることで、時間イベントとの組み合わせでイベント条件を定義可能である。例えば、ある基準時点における赤外線センサが示すステータス情報によりイベントが発火する、ある時点においてボタンコンポーネントが、使用者によりプレスされている／いないといった状態を加味することで異なるイベントが発火する、あるいはボタンコンポーネントの状態がプレスされてから５秒間同じステータスを保持していた場合に初めてイベントが発火するなど、イベントは複数条件の組み合わせに基づき汎用的に定義される。
センサの接続については個別にオン／オフが可能であり、その前提においてイベント条件設定はセンサの接続情報を反映する形で行われる。
通知処理部１１２は、発火したイベントに関する情報をオブジェクト管理部１０１における管理処理部１０４に対し通知する。それによりオブジェクト管理部１０１はイベント駆動の形にて予め用意していたオブジェクト関連処理を、イベント駆動の形にて起動する。
登録部１１３は、イベント通知を行う条件に関する設定の登録・保持を行うための機構であり、その設定はオブジェクト管理部１０１内の管理処理部１０４により行われる。これは、特定のオブジェクトをイベント駆動の形で起動するという使用形態では、起動される対象を管理する主体においてその情報が登録されることが自然であることによる。
ただし、使用者がイベント条件と起動する対象としてのオブジェクトを明示的に関連付けるという操作を行うことは可能である。そのためには、使用者がイベント登録を行うと共に起動対象オブジェクトとの関連付けをも指定できるように、外部からの入力を受けるインターフェイス機構を、イベント通知部１１０とオブジェクト管理部１０１との間に設け（図示せず）、選択的に、このインタフェース機構とイベント通知部１１０およびオブジェクト管理部１０１との間で相互に情報の交換を行えるようにすればよい。
管理処理部１０４においては、発火イベントに対応する形で予め用意されたオブジェクトを、判断部１２１へ送信することによりイベント駆動形式にて起動する。ただし、管理処理部１０４は、直接の処理対象のオブジェクトだけでなく、イベント発火に関連して起動されるオブジェクトに関する情報をも判断部１２１へ対し送信する。この情報は、操作部１２２を経由し、実行部１３０内の情報提示部１３３へ送信されることにより、イベント発火に伴う、オブジェクトの要素あるいは操作の具体的内容の変更情報として使用者に対する変化を通知するための情報処理に利用される。
情報提示部１３３は、その内部に蓄積している過去のオブジェクトに関する処理に関する情報との比較を行い、提示すべき情報の有無とその具体的処理を決定し、解釈部１３１、実行処理部１３２を用いて実際の情報提示処理が行われる。
なお、管理処理部１０４は登録部１１３に対し、本来のイベント発火タイミングより先行するタイミングにて、イベント発火条件を調整すると共に該イベント発火タイミングが通知処理部１１２から管理処理部１０４へ通知されてから実際のオブジェクト起動までの遅延制御を行うための機能を有する。これは情報提示部１３３へ対し通知される起動対象オブジェクトの要素あるいは操作の具体的内容の変更情報の送信と密接な関係があり、情報提示部１３３にて実行される処理を先行して行うためにイベントのタイミング先行登録・イベント発火時遅延制御が管理処理部１０４にて行われる。
これにより、オブジェクトの要素あるいは操作の具体的内容の変更を通知するタイミングを実際のオブジェクト処理に先行して提示することが可能になる。そこで、例えば、画面上に配置されるオブジェクトの形状が実際に変更される規定時間前に点滅を始めて使用者に対する注意を喚起することや、「あと…秒で操作内容が変更されます」といった内容の表示画面出力や音声出力処理を行うこと、ひいてはＵＩコンポーネントを時制オブジェクトとして実現している場合に表示そのものや操作の内容が時間により変化するＵＩ要素を実現するだけでなく、その変化のタイミングにおいてアニメーション処理を介在させ、使用者に対しその変化を通知することが可能である。
決定部１２０における判断部１２１は、イベント発火後に管理処理部１０４により送信された処理対象オブジェクトの要素あるいは操作を決定後、その決定された処理に付加される時間制約条件を参照することにより、次のオブジェクト処理の決定タイミングを予測することができる。これをイベント発生タイミングとして、判断部１２１は、管理処理部１０４を用いて登録部１１３へ登録しておくことで、次以降のオブジェクトの処理決定タイミングを事前にスケジューリングしておくといった使い方が可能である。
この効果として、ある時制オブジェクトの有効期限が満了になった時点で、次のオブジェクト処理を選択し、実行するといった時間イベント駆動型情報処理が実現可能となる。例えば、画面に表示中のＵＩコンポーネントがある時間になるとその表示や操作の意味を使用者の明示的な命令やアクションを必要とせずともあたかも自動的に変更するような処理が可能である。
図９は、図８にて示される構成の情報処理装置２００が行うイベント駆動アルゴリズムを示す流れ図である。
図９に示すアルゴリズムは、図５にて示される実施の形態１におけるアルゴリズムに追加する形で構成される。
すなわち、イベント通知部１１０内にある登録部１１３に登録済みのイベントが発火した場合、ステップＳ４１にて、イベント通知部１１０内の検知部１１１によりイベントが検知される。その後ステップＳ４２へ遷移し、その検知されたイベントが登録部１１３に登録済みのものか否かが判定され、登録済みのイベントを同定した場合にはステップＳ４３へと進み、そうでなければそのまま停止状態へと遷移する（ステップＳ４４）。
ステップＳ４３においては、その発火したイベントの情報をオブジェクト管理部１０１内の管理処理部１０４へ対し通知すると同時に、管理処理部１０４はイベント発火に関連して起動されるオブジェクトに関する情報を判断部１２１へ対し送信する。この情報は実行部１３０内の情報提示部１３３にて使用される。以後は、図５におけるステップＳ１３へと遷移する。
図１０は、図８にて示される構成の情報処理装置２００が従うイベント駆動アルゴリズムを示す流れ図である。
図１０に示すアルゴリズムは、図５にて示される実施の形態１におけるアルゴリズムにおけるステップＳ２０を置き換える形で実行され、決定部１２０および実行部１３０にて実行される処理に関する。したがって、以下の説明では、適宜、図５も参照して説明を行う。
まず、図５の流れ図におけるステップＳ２０の処理開始後、ステップＳ５１にて、判断部１２１による次以降のオブジェクト処理に関する時間イベント発生タイミングをイベントとして登録部１１３へ登録する。これにより、イベント駆動動作の確認と設定が行われる。
ステップＳ５１にて行われるイベント登録は複数のオブジェクトに対しオブジェクトの要素あるいは操作毎に複数の時間イベントとして登録することが許容され、ステップＳ５２に登録すべきイベントが残っている限りにおいてステップＳ５１へと遷移しイベント登録を繰り返す。ただし、このような登録の繰返しは、イベント登録可能数の上限やハードウェア等を含めた制約をみたす限りにおいて行われる。
ステップＳ５３において、管理処理部１０４はイベント発火に関連して起動されるオブジェクトに関する情報を、判断部１２１、操作部１２２を経由し実行部１３０内の情報提示部１３３へ通知する。この通知にはイベント発火に伴う、オブジェクトの要素あるいは操作の具体的内容の変更情報が含まれる。
ステップＳ５４において、オブジェクトの実際の処理に先行する処理の必要性が検証され、先行処理が必要な場合にはステップＳ５５にて処理が行われる。この処理としては、情報提示部１３３による使用者への変更提示処理や、管理処理部１０４による実際のオブジェクト起動までの遅延制御／同期などのプリプロセス処理が相当する。
プリプロセス処理後、あるいはその必要がない場合にはステップＳ５６にてオブジェクトにより規定される本来の処理が実行される。
その後、ステップＳ５７にて後処理の必要性が検証され、後処理が必要な場合にはステップＳ５８にてその処理が実行される。この処理としては、情報提示部１３３に格納されるオブジェクトの要素あるいは操作に関する処理内容決定情報の更新などが挙げられる。
この処理の後、図５におけるステップＳ２１へと遷移する。
図８にて示される構成の情報処理装置２００が、図５、図９、図１０にて示される流れ図に従う動作を行うことにより、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させると同時にその処理をイベント駆動形式にて行う情報処理が実現可能である。
また使用者やアプリケーション、端末などその使用局面に関するセンシング情報を入力源として組み合わせることにより、より細かいサービスに立脚した形での情報処理が可能である。
さらにはオブジェクトに関する処理の要素あるいは操作の具体的内容の変更タイミングにおいてそれを使用者に対し通知するといった提示型情報処理を実現可能である。
また、イベント発生タイミングを先行させることで登録オブジェクトの要素あるいは操作の具体的内容の変さらに関する通知を行うタイミングを実際のオブジェクト処理に先行して提示することが可能になり、例えば、画面上に配置されるオブジェクトの形状が実際に変更される規定時間前に点滅を始めて使用者に対する注意を喚起することや、「あと…秒で操作内容が変更されます」といった内容の表示画面出力や音声出力処理を行うことが可能である。
ひいてはＵＩコンポーネントを時制オブジェクトとして実現している場合に表示そのものや操作の内容が時間により変化するＵＩ要素を実現するだけでなく、その変化のタイミングにおいてアニメーション処理を介在させるなど使用者に対しその変化を効果的に提示する処理が実現可能である。
さらには、オブジェクトの処理決定タイミングを事前にスケジューリングしておくといった使い方が可能であるため、例えば、ある時間になると使用者の明示的な命令やアクションを必要とせずとも画面表示や操作の意味をあたかも自動的に変更するような時間イベント駆動型ＵＩコンポーネントを実現することが可能である。
［実施の形態３］
次に、実施の形態３の情報処理装置３００について図を参照して説明する。
このような情報処理装置３００により、以下で説明するようなユーザインタフェース（ＵＩ）が実現される。
まず、情報処理装置３００により実現されるＵＩに関する補足説明として、ＵＩの特徴について記す。ＵＩは、対象となるアプリケーションに対し密接な関係をもつものであり、一般的にその表示あるいは操作内容はアプリケーションに深く依存する。そのためその処理は予めシステム設計者が所望の処理を行うプログラムを個別に作成するアプローチが一般的である。
これは、システムとユーザの間のインタラクションパターンが、全てシステム管理者の制御下にあるという前提によるものであるが、ネットワーク化の進展に伴い遍在化したネットワークサービスを検索して利用するといった環境下においては、システム設計者がすべての適切なＵＩパターンを網羅するといったことはその範疇にない。
このため、今後ますます増大していくネットワークサービスを利用していく際に、適切なインタラクションを取捨選択することのできるフレームワークとしてユーザの利便性を図っていく必要がある。ユーザとシステムとの間の最適なインタラクションを、時間をキーとして選択することは、粒度の高いコネクションの中から適切な情報提示／操作を与えるといった方法において一つの解を与えるものである。
（情報処理装置３００の構成）
図１１は、本発明における情報処理装置３００で実現されるＵＩに関する機能ブロック図である。
なお、以下の説明でも、本発明を、情報処理装置３００の動作に基づいて説明するが、本発明の形態としては、情報処理装置３００で実施される方法として実現してもよいし、このように実施される方法をコンピュターに実行させるためのプログラム、またそのプログラムを記録した媒体として実現されてもよい。
図１１における情報処理装置３００は、図８に示した実施の形態２における情報処理装置２００を元に、より上位のサービスを実現すべく構成される。
情報処理装置３００の基本的な構成は、実施の形態２における情報処理装置２００と同じであり、同一部分には同一符号を付してその説明は繰り返さない。
したがって、以下では図８記載の情報処理装置２００と異なる内容およびその補完部分に関し、説明を行う。
図１１を参照して、入力部１５０は、画面上に表示されたＵＩに対するユーザ操作を取得するためのユニットであり、マウスやキーボード、感圧パッドといった入力デバイスがそれに該当する。入力部１５０は、ユーザが行った操作の内容をイベント通知部１１０内通知部１１１に対し送信する。
イベント通知部１１０は、時計１２４および外部センサ１１４や入力部１５０、出力部１４０からの出力イベント発生時に、それをアプリケーション管理部１６０に対し通知するユニットである。イベント通知部１１０は、検知部１１１と通知処理部１１２と登録部１１３とを備える。
検知部１１１は、時計１２４および複数の外部センサ１１４、入力部１５０、出力部１４０と接続され、登録部１１３内に登録されたイベント発火条件に基づき外部イベント発生の検知を行う。検知部１１１は、登録された条件に合致するイベントが発生した場合に、その情報を通知処理部１１２に対し通知する。
通知処理部１１２は、発火したイベントに関する情報をアプリケーション管理部１６０に対し伝達する。センシングの際には時間との組み合わせ、加えて入力イベントや出力イベントとの組み合わせでイベント条件は定義可能である。ＵＩを構成する場合には入出力イベントそのもの、あるいは入出力イベントと時間の組み合わせでほとんどの条件が設定される。
キーボードやマウス上のユーザの入力動作は、入力部１５０からのイベントとして通知部１２０を介してアプリケーション管理部１６０、正確にはその中のウィンドウサーバ１６１に対して送信される。さらに、ウィンドウサーバ１６１から、その後適切なアプリケーションに対しイベントが送信される。
入力部１５０からのイベント発生時には、ユーザが何を行ったかを記録した情報、たとえば、その時点でのカーソルの位置やどのウィンドウが影響を受けたかなどの情報と、他の関連した情報も含めて送信される。
例えば、”ｋｅｙ−ｄｏｗｎ”イベントは、ユーザがキーボード上のキーを押したときに生成され、”ｋｅｙ−ｕｐ”イベントはキーが離されたときに生成される。”ｍｏｕｓｅ−ｄｏｗｎ”イベント、”ｍｏｕｓｅ−ｄｒａｇｇｅｄ”イベント、”ｍｏｕｓｅ−ｕｐ”イベントは、それぞれユーザが、マウスボタンを押したとき、マウスをドラッグしたとき、または、マウスボタンを離したとき、各イベントは一つのユーザのアクションを記録する。
例えば、ｋｅｙ−ｄｏｗｎイベントには、押されたキーの情報が、ｍｏｕｓｅ−ｕｐイベントには離されたマウスボタンの情報がそのアクションが行われた際の位置座標とあわせて通知される。
入出力イベントと時間の組み合わせにより発生するイベントは、例えば該当する入出力イベント発生時に時計カウンタが起動することにより、カウンタの値が設定された値と等しくなった（ダウンカウンタで値が０になった場合も含む）タイミングで発火する。これは入出力操作を時間と組み合わせたプリミティブなイベントを、イベント通知部１１０内で記述できることを意味する。しかし、時間に関する条件は、イベント通知以降のプロセスにおいて処理することができ、必ずしもプリミティブなイベント条件の形をとる必要はない。
各種センサの接続については検知部１１１において個別にオン／オフが可能である。
通知処理部１１２は、発火したイベント情報をアプリケーション管理部１６０におけるウィンドウサーバ１６１に対し通知する。
ウィンドウサーバ１６１の主たる機能は、アプリケーションに対し描画できるウインドウリソースを提供することとイベントを適切なアプリケーションに送信すべく処理することである。各アプリケーションは、ウィンドウサーバ１６１と通信を行うことにより、ウィンドウサーバが管理するスクリーン領域の内部に描画できるウインドウリソースを確保する。ウインドウサーバ１６１は、情報処理装置３００の中で発生するイベントを監視し、それらをアプリケーションに対し受け渡す制御に対し責任を負う。
イベント発生時に、ウィンドウサーバ１６１は、アプリ管理処理部１６２を用いて管理下にあるアプリケーション情報を取得し、スクリーン領域の内部でウィンドウフォーカスがあたっているウィンドウ、すなわちアプリケーションを特定し、メッセージを送信すべき実体となるオブジェクトを特定する。ウィンドウサーバ１６１は、オブジェクトの特定の後、イベントディスパッチャ１６３を用いてイベントをその対象となるオブジェクトに対し、オブジェクト管理部１０１管理処理部１０４を介したアクセスを行うことにより、メッセージング処理を行う。
イベントディスパッチャ１６３は、アプリケーション毎にどのようなイベント情報を通知すべきかに加え、その通知に関する優先順位を内部テーブル管理する。イベントディスパッチャ１６３は、イベント発生時において、内部テーブルを参照することにより、対象オブジェクトに対するメッセージング処理を決定する。
イベントディスパッチャ１６３は、アプリケーションに対し通知するイベント情報を格納すると共に、より上位のイベント管理を行う。これはアプリケーションの文脈に応じて、下位イベントを通知するイベント通知部１１０によるプリミティブイベントサービスを組み合わせ、アプリケーションに則した形のイベントとして管理する。例えば、入力部１５０からのｍｏｕｓｅ−ｄｒａｇｇｅｄイベントがイベントディスパッチャ１６３に渡された場合に、アプリケーションによってはマウスがドラッグされた状態で、そのまま３秒経過後に操作内容の意味を示す文字列を画面上に表示する必要があるときには、イベントディスパッチャはｍｏｕｓｅ−ｄｒａｇｇｅｄイベントが通知されてきた時点で、登録部１１３に対し３秒後に起動するタイマイベントを登録する。勿論実装上は、この３秒タイマの満了後にステータスチェックを行い、マウスの状態がｄｒａｇｇｅｄであることを確認する方法にて処理してもよい。
アプリケーションはイベントを受け取り、それに応じた処理を行い、また別のイベントを待つ。イベントが生成される限り、アプリケーションはイベントを取り続け、イベント形式で送られてくるユーザアクションに基づき処理が行われる。なお、アプリケーションを構成するオブジェクトの構成要素については後述する。
アプリケーション管理部１６０からのメッセージングにより、オブジェクト管理部１０１は、アプリケーションを構成するオブジェクトに関する処理をイベント駆動の形にて起動する。イベント通知部１１０内の登録部１１３へのイベント条件設定登録は、アプリケーション管理部１６０内のウィンドウサーバ１６１のほか、オブジェクト管理部１０１内の管理処理部１０４により行われてもよい。これは特定のオブジェクトをイベント駆動の形で起動すべく統一されたシステムにおいて実現される。
（情報補完部１２６）
次に、決定部１２０中の情報補完部１２６について説明する。
情報補完部１２６は、イベント駆動型の構成をとる上で、情報提示部１３３にとって代わる機構として設けられている。
情報補完部１２６は、オブジェクト要素あるいは動作に関する挙動の変化を随時観測する機構であり、情報提示部１３３にあったオブジェクト処理機能を集約し、プリプロセス処理を実現するものとして、決定部１２０に設けられる。
情報補完部１２６は、判断部１２１および操作部１２２からの処理内容決定情報と管理処理部１０４にて管理されるオブジェクトの情報とを参照し、その変化を追跡する。オブジェクトの処理に変化があり、かつその変化に応じて起動すべき処理が処理対象元オブジェクトに規定されている場合には、その変化内容を管理処理部１０４に対して送信すると共にそれに基づく処理が起動される。
一方、処理対象オブジェクトの変化に応じて起動すべき別のオブジェクトが規定されている場合には、情報補完部１２６はオブジェクト間での関連性の有無を管理処理部１０４からの情報にて参照し、変化に応じて起動されるオブジェクトが存在するときには、管理処理部１０４に対し起動すべき対象となるオブジェクト識別子を与えることによりそのオブジェクトにて定義される処理を行う。
これにより、例えば、規定時間になったときに変化するオブジェクトの内容を別のウィンドウにて表示させる、あるいはユーザに対しオブジェクトの挙動に対する変化情報を提示する。
この情報補完部１２６によって実現される処理は主なる処理手続きとは別のプロセスとして処理されるため、複数の実行手段が存在する場合にはその処理を並行して行えるメリットがある。実行手段が単一の場合には情報補完部により起動されるオブジェクト処理はメインとなる処理手続きから、一旦サブルーチンコールあるいはフックされる形で実行され、その処理後にメイン処理へ戻るように設定される。
図１２は、実施の形態３におけるアプリケーション構成要素を示す図である。
アプリケーションは階層的なオブジェクト構成を有し、この構成にてＵＩが実現される。
各アプリケーションは単一のアプリケーションオブジェクトと複数のウィンドウオブジェクト、さらに個々のウインドウオブジェクトに従属する複数のビューオブジェクトをもつ。アプリケーションオブジェクトが複数のウインドウオブジェクトをもつ場合はアプリケーションが複数のウインドウやパネルを必要とする場合に対応する。一例としては、設定パネルと描画ウインドウを同時に表示させるような場合である。勿論アプリケーションオブジェクトに従属するウインドウオブジェクトが一つの場合であってもかまわない。
各ウィンドウの下には複数のビューオブジェクトが存在し、これはウィンドウに従属する個々のオブジェクトに相当し、図１２の例ではＵＩ部品がこれに該当する。
オブジェクトは全て時間情報に準じた処理を記述でき、それぞれ時間に応じて要素あるいは操作を変化させることが可能である。すなわち、階層的な構成をとるその何れのレイヤに属するオブジェクトについても同じスキームで時間に応じて振る舞いを変化させることが可能である。この階層的なオブジェクト構成によりＵＩが実現される。
（イベントの通知、受け渡しの方法）
図１３は、実施の形態３におけるＵＩイベント処理の流れを示すフローチャートである。
図１３を参照して、イベント通知部１１０内にある登録部１１３に登録済みのプリミティブなイベントが発火した時（ステップＳ６００）に、ステップＳ６０２にて、イベント通知部１１０内の検知部１１１によりイベントが検知される。その後ステップＳ６０４へ遷移し、その検知されたイベントが登録部１１３に登録済みのものか否かが判定され、登録済みのイベントを同定した場合にはステップＳ６０８へと進み、そうでなければそのまま停止状態へと遷移する（ステップＳ６０６）。
ステップＳ６０４において、イベントが登録済みの場合は、ウィンドウサーバ１６１にそれが通知される（ステップＳ６０８）。
アプリケーション管理部１６０中のアプリ管理処理部１６２にテーブルにて管理されるアプリ情報に基づいて、ウィンドウサーバ１６１にてディスパッチ先のアプリケーションが決定される（ステップＳ６１０）。そのとき、アプリケーションオブジェクトの処理として、別のイベントを必要とする場合（ステップＳ６１２）、例えばあるアプリ起動後５秒後に別の処理を行う必要がある場合には必要なイベントをプリミティブイベントの組み合わせとして分割し（ステップＳ６１４）、登録部１１３が処理可能な形式にてイベントを登録する（ステップＳ６１６）。これらのイベント登録処理は共通のオブジェクト操作の枠組みにて実現される。まず、ステップＳ６１８にて処理を継続するかどうかが判断され、次に起動すべきイベント登録のみを行う必要があり、継続的な処理を必要としない場合にはその処理は停止状態となり（ステップＳ６４２）、継続的に処理を行うことが可能な場合には続いては再びＳ６１２にて異なるイベント条件のチェックが行われる。さらなる追加イベント登録を行う必要がなく、かつ並行的に処理が可能な状態にある場合には引き続きウインドウオブジェクトの選択が行われる（ステップＳ６２０）。
ウインドウオブジェクトの処理としても共通のオブジェクト換作の枠組みにて追加イベント登録の処理が行われる。即ち、ウインドウオブジェクトの処理として別のイベントを起動する必要がある場合（ステップＳ６２２）、必要なイベントをプリミティブイベントの組み合わせとして分割し（ステップＳ６２４）、登録部１１３が処理可能な形式にてイベントを登録する（ステップＳ６２６）。ステップＳ６２８にて処理を継続するかどうかが判断され、次に起動すべきイベント登録のみを行う必要がある場合など継続的な処理が実行できない場合にはその処理は停止状態となり（ステップＳ６４２）、継続的に処理を行うことが可能な場合には続いては再びＳ６２２にて異なるイベント条件の有無チェックが行われる。さらなる追加イベント登録を行う必要がなく、かつ並行的に処理が可能な状態にある場合には引き続きビューオブジェクトの選択が行われる（ステップＳ６３０）。ここでもビューオブジェクトの処理として、共通のオブジェクト操作の枠組みにて追加イベント登録の処理が行われる。即ち、ビューオブジェクトの処理として別のイベントを起動する必要がある場合（ステップＳ６３２）、必要なイベントをプリミティブイベントの組み合わせとして分割し（ステップＳ６３４）、登録部１１３が処理可能な形式にてイベントを登録する（ステップＳ６３６）。ステップＳ６３８にて処理を継続するかどうかが判断され、次に起動すべきイベント登録のみを行う必要がある場合など継続的な処理が実行できない場合にはその処理は停止状態となり（ステップＳ６４２）、継続的に処理を行うことが可能な場合には続いては再びＳ６３２にて異なるイベント条件の有無チェックが行われる。さらなる追加イベント登録を行う必要がなく、かつ並行的に処理が可能な状態にある場合には引き続きオブジェクトにより定義される操作が行われる（ステップＳ６４０）。
これにより、アプリの挙動を変化させることや、あるパネルだけクローズする、あるＵＩ部品だけ変化させるといった仕組みを、同じ枠組みの中で具体化できる。
図１４はコンテンツ（画像）の表示が時間によって変化する例を示す概念図であり、風景画像オブジェクトに関する表示色の描画パターンが時間情報により与えられる例を示す。図１４により示される例としての画像コンテンツは背景／雲／山のコンテンツ要素から構成され、それぞれの要素に対し時間に関する制約条件が課せられる。
図１５Ａ〜図１５Ｃは、図１４のコンテンツ表示を行う際に各要素の表示を定義する時間依存関数の例を示す図であり、コンテンツの各要素の色情報を構成するＲＧＢのレベルが時間ｔに従属する関数形にて定義される。すなわちＲ成分、Ｇ成分、Ｂ成分毎に関数が用意され、適合する時間情報ｔによりコンテンツ表示の際に必要な色信号としてのＲＧＢの値が関数値として決定され、それに従い各コンテンツ要素の色が時間情報に応じて変化する。
図１５Ａ〜図１５Ｃではコンテンツの背景（空）のオブジェクトに関する表示パターンを定義した例を示している。
朝はゆるやかに赤みかかった朝焼けを示す色になり、昼になるにつれて段々と育成分が強くなり、夕刻付近になると夕焼けを示す樫から段々と暗い赤に遷移し、夜は暗くなるような連続的な遷移を示す関数として定義しており、与えられる時間情報に応じてその表示を変化させる。それにより、時間に応じてコンテンツの表示を変化させられることができる。上記に示すコンテンツの表示の変化はビューワアプリケーションの起動時間に因るものであってもいいし、時間に応じて自動的に表示が変化するものであってもよい。前者の場合には図１の機能ブロック構成にて判断部１２１が時刻情報を適合することにより、実現できる。後者の場合には、継続的にコンテンツ表示を変化させるために、図８および図１１の機能ブロック図にて実現される情報処理装置において、図１０にて示されるイベント駆動アルゴリズムにてオブジェクトの処理決定タイミングをスケジューリングすることにて実現可能である。
これをＵＩ部品に応用することにより、特定のＵＩの表示を時間に応じて変化させることができる。また、本発明では上記の場合に限定されず、時間依存関数の形でデータの要素が決定されるような構成をとる情報処理装置に対し、一般的に適用可能である。
図１６Ａ〜図１６Ｄは、ネットワークサービスの表示および換作例を示す図であり、起動時間によりサービスが有効な場合の表示とそうでない場合とで表示が変化するモデルを示している。
図１６Ａはサービス有効期間中にネットワークサービスへアクセスした場合に利用者に提示される画面表示例であり、例として株価表示サービス（Ｓｔｏｃｋ  Ｑｕｏｔｅ  Ｓｅｒｖｉｃｅ）を取り上げている。該サービスをサービス提供時間内に利用するときにはその適用時点での株価が表示される。左下段に配置されるコンテンツ画像は時間に依存して表示が変化する形式にて表現されたコンテンツ画像（図１４）であり、通常のサービス時間内にはサービスが有効であることを示すために、昼間の明るい空を示す画像が表示される。右上段に配置されるボックス内にはより本例をわかりやすくするために現在時刻が表示されているものとする。
図１６Ｂは、サービス提供期間外におけるアクセスに対応する表示例を示す。利用者に提示される画面として、サービスが使えないことを示す表示がされると共に、左下段に配置されるコンテンツ画像の表示（夜の表示）により、サービスが有効な期間でないことが利用者に対し提示される。
図１６Ｃは、サービスが提供されていない時間であることを示す表示場所へポインタを動かすと、利用者に対する補完情報として次にサービスが有効になる時間が表示される例を示す。サービスを提供するオブジェクトとして本来定義される情報はサービスそのものを受けるために必要な引数列とそのアクセスポインタ（ＵＲＩ）及び有効時間がその典型的なものであり、情報補完部１２６が関連オブジェクトに関する情報を管理処理部１０４への参照を行うことで、サービスが次に有効になる時間情報を取得し、利用者に対し補足的な情報提示を行う。これにより、利用者に対する情報提示に関する便宜を図ることが可能になる。
図１６Ｄは、サービスが提供されていない時間であることを補完情報として提示する図１６Ｃから、さらにサービスが有効になるタイミングをイベント登録してやることにより、その時間になったときにすぐにサービス要求を出せるように設定を行う例を示す。情報補完部１２６は関連オブジェクトに関する情報を管理処理部１０４へ参照し、サービスが次に有効になる時間情報を取得し、利用者に対し補足的な情報提示を行う過程において利用者に対し、次のサービス有効時間になったときに即座にサービスを受けることができるようイベント登録を行うよう利用者に対し提示する。この場合、情報管理部１０４を経由することにより、該当するサービスオブジェクトに関連するイベント登録を行う。
図１７Ａ〜図１７Ｂは、ネットワークサービスの表示および操作例を示す図であり、サービスが起動時間において有効でない場合において表示が変化するモデルを示す。
図１７Ａは、サービスが提供される時間が近付いてきた場合の例であり、情報補完部１２６が情報管理部１０４へ参照することにより、関連オブジェクトに関する情報からサービスが有効になるタイミングを判断し、次のサービス起動へ残り時間が情報補完部１２６内に保持／管理される閥値を下回った場合にサービスがあと少しで利用可能であることが表示される。また、左下段に配置されるコンテンツ画像がアニメーションを開始することで、利用者に対しサービスの有効タイミングが近くなってきたことを通知する。このコンテンツ画像や文字の表示の変更動作については別途情報管理部１０４経由で次に表示を変更するタイミングを規定するといった用途も可能である。
図１７Ｂは、同サービスが提供される時間が近付いてきた場合の例であり、左下段に配置されるコンテンツ画像がアニメーションにより、段々そのサービスがつかえるタイミングに近付いてきたことを空が明るくなってきたことによる類似にて示すと共に、サービス開始までの残り時間が画面上に表示される。これはサービスが実際に利用可能になる時刻になったときに即座にその表示や動作に反映するだけでは実際には十分でなく、事前に通知を行うことにより利用者の便宜を図ることができるメリットがある。
［実施の形態４］
図１１にて示される情報処理装置３００により実現される別の実施の形態を図１９Ａ〜図１９Ｂ、図２０Ａ〜図２０Ｂを元に説明する。
図１９Ａ〜図１９Ｂは、携帯電話上で動作するプログラム（オブジェクト）が利用される際に時間情報を適合することにより、その表示と操作の内容が変化する例である。図１９Ａ〜図１９Ｂにて示される表示の元になるアプリケーションは出退勤管理を携帯電話から行うことができるアプリケーションである。
図１９Ａは、出退勤アプリケーションの朝の出社時間帯における画面を示す例である。アプリケーションを起動している現在時刻が１９の上段にリアルタイム表示されると共に、中段には出退勤登録すべき対象となる人物の氏名とそのコード番号が認証情報として入力される（これは最初に登録処理を行うことで常に携帯電話上で自動入力されるものとして扱う）。下段にはデバイスのキーとの一対一マッピングを示す操作の内容が表示され、この場合画面左のキーがキャンセル、Ｆキーが出勤登録、右のキーがメニューに戻るように操作がアサインされている。以後、９時から就業時間であることを仮定すると、図１９Ａの表示タイミングは朝の８時２０分であり、そのとき現在時刻の情報を元に決定部１２０においてＦキーにアサインされる操作としての出勤処理が判断部１２１により選択判断され、実行部１３０による処理として、Ｆキーに出社登録のために外部サーバに対し送信されるメッセージング形式およびデータが規定されるとともに利用者に対するキー機能表示を変化させる（メッセージ送信先として必要となるサーバなど、外部ネットワーク構成については説明しない）。図１９Ａのタイミングにおいて利用者はＦキーを押すことにより、出社登録処理を通信により外部サーバに対し行う。
出退勤サービスに従属するサービスの有効期間を参照することにより、適応的にキーにアサインされる操作や表示を変更することができる。これは例えば携帯電話のようなデバイスにおいてキーのアサインを時間に応じて適応的に変化させることによりリソースを有効に活用できるといった点でメリットがあると共に、ともすれば特定の機能がどのキーあるいはどのキーの組み合わせにて実現されるかといったより操作の複雑化を招く恐れがあるトピックに対し、操作の簡略化と可視性を高めることができるひとつの方法として有効である。また、携帯電話デバイス内でできるだけの処理を行うことで実際に通信すべきデータ量やトラフィックを削減できるといった効果もある。
図１９Ｂは、出退勤アプリケーションの朝の出社時間帯における画面を示す例であるが、出社規定時間である９暗が近くなってきた場合の画面例を示す。図１９Ｂにおける時間表示は８時５９分４０秒であり、このとき上段に配置される現在時刻は点滅して表示され、下段に表示されるＦキーの機能に関する情報は点滅するともに拡大して表示される。この表示の変化は利用者に対する注意を喚起すると共に換作を促す意味で有効である。この表示変更は予めイベント通知部１１０に対し時間イベントの形で登録し、その登録済みイベント駆動に基づき情報補完部１２６が表示を変化させることにより実現可能であるい点滅を開始するタイミングや点滅インターバル、ならびに文字の拡大／縮小レベルなどは予めアプリケーションに依存するものとして別途オブジェクトの処理の内部に規定しておく必要があるが、その起動タイミングをイベント登録しておくことでシステムの実装に依存しない形での実現が可能である。ちなみに点滅表示のかわりにアニメーション動作にて利用者の注意を喚起することは充分可能である。
図２０Ａおよび図２０Ｂは出退勤アプリケーションの別画面を示す例である。
図２０Ａは出社規定時間を過ぎた場合の画面例を示し、図２０Ｂは夕刻時における画面例を示すものである。
図２０Ａの表示タイミングは出社規定時刻を超過しており、時間情報を参照することでサービスが有効期間でないことを判断し、Ｆキーに対し割り当てられていた出社登録処理から表示も含めてＦキーに割り当てられていた処理をイベント駆動にて変更する。
図２０Ｂの場合はその時刻が夕刻であることから退社登録処理をＦキーに割り当てると同時に利用者に対する表示も変更する。どのタイミングで表示ならびに操作を変更するかについてはアプリケーション依存であり、イベント登録形式にて規定することで包括的なメカニズムにて実現可能ではあるが、予めシステムが判断タイミングを固定的に規定する形で実現することも可能である。情報処理装置３００、このような処理を実施させるためのプログラム、このプログラム記録した媒体により実現されるＵＩ装置は、ユーザの操作をその時間に適切な最適に適応させた形で適応的な情報提供のメカニズムを実現する。
すなわち、ＵＩ表示が時間によって変化する、あるいはＵＩ換作の方法が時間によって変化する処理を行うことが可能である。これは直接的な操作へのマッピングを変更する他にも例えばキーの押下操作あるいはマウスのシングルクリック操作を、ある時間においてはマウスのダブルクリック操作と同じ扱いにするというような、操作への間接的なマッピングが可能である。また、指定の時間が近づくにつれて段々表示が遅くなる、文字の点滅速度がはやくなるといった処理を行うこともできる。加えて、一般的なＵＩ出力の一部として音声を扱うことも可能である。起動時間により、予め登録済みの音声出力を行うことや、特定の時間になったときにイベント駆動の形で時間情報に応じて適応的に音声出力処理を行うことが可能である。時変数オブジェクトとして出力パターンを定義することにより、時間に応じて出力周波数を変化させることができる。また携帯電話においては予め時間に応じて着呼音を変更するように登録、設定するといった用途へ適用可能であり、例えば一日のうち数時間毎、あるいは４暗から５暗まで特定の着呼時の呼び出し音声を変更するといった応用が可能である。この具体的な応用例としては夜には呼び出し音量を低くするという用途への適用である。
情報処理装置３００、このような処理を実施させるためのプログラム、このプログラム記録した媒体により実現されるＵＩ装置は、その要素あるいは操作内容に時間情報を含むオブジェクトとしてＵＩ部品が実現されるときに、ＵＩがもつ性質を時間情報を元に変化させることでユーザとシステムの間の適応的なインタラクションを実現する。これはＵＩ部品の表示を時間に応じて変化させる、ＵＩ部品に割り当てられているユーザ操作の意味を変化させる、ことを含む。
さらには、オブジェクトに関する処理の要素あるいは操作の具体的内容の変更タイミングにおいてそれを使用者に対し通知するといった提示型情報処理を実現可能である。
また、オブジェクトの要素あるいは操作の具体的内容の変さらに関する通知を行うタイミングを実際のオブジェクト処理に先行して提示することにより、例えば、画面上に配置されるオブジェクトの形状が実際に変更される規定時間前に点滅を始めて使用者に対する注意を喚起することや、「あと…秒で操作内容が変更されます」といった内容の表示画面出力や音声出力処理を行うことが可能である。加えてＵＩコンポーネントを時間情報を含むオブジェクトとして実現する場合に表示そのものや操作の内容が時間により変化するＵＩ要素を実現するだけでなく、その変化のタイミングにおいてアニメーション処理を介在させるなど使用者に対しその変化を効果的に提示する処理を実現可能である。
さらには、オブジェクトの処理決定タイミングを事前にスケジューリングすることで例えばある時間になると画面表示や操作の意味を使用者の明示的な命令やアクションを必要とせずともあたかも自動的に変更するような時間イベント駆動型ＵＩコンポーネントおよびＵＩシステムを実現することが可能である。
また、本発明の情報処理装置３００、方法は、汎用的なコンピュータにて構築することができる。このときには、本発明における決定部１２０および実行部１３０およびオブジェクト管理部１０１およびイベント通知部１１０をコンピュータ上で実現し、情報処理プログラムを実行することによりその機能を実現する。該制御プログラムは、リムーバブルディスク、フラッシュメモリ、フロッピー（Ｒ）ディスク、メモリカードなどの外部記憶装置に導入することが可能であり、したがって本発明はコンピュータにおいて実行可能な情報処理プログラムを記録した記録媒体を含む。
この発明を詳細に説明し示してきたが、これは例示のためのみであって、限定となってはならず、発明の精神と範囲は添付の請求の範囲によってのみ限定されることが明らかに理解されるであろう。
【図１】
2004036423.tif 000003
【図２】
2004036423.tif 000004
【図３】
2004036423.tif 000005
【図４】
2004036423.tif 000006
【図５】
2004036423.tif 000007
【図６】
2004036423.tif 000008
【図７】
2004036423.tif 000009
【図８】
2004036423.tif 000010
【図９】
2004036423.tif 000011
【図１０】
2004036423.tif 000012
【図１１】
2004036423.tif 000013
【図１２】
2004036423.tif 000014
【図１３】
2004036423.tif 000015
【図１４】
2004036423.tif 000016
2004036423.tif 000017
2004036423.tif 000018
2004036423.tif 000019
【図１８】
2004036423.tif 000020
2004036423.tif 000021
2004036423.tif 000022
【手続補正書】
【提出日】平成16年7月23日(2004.7.23)
【手続補正００１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】特許請求の範囲
【請求項１】少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに対して、時間情報に基づく処理を行い前記オブジェクトの要素あるいは操作を決定するための決定手段と、
前記決定手段により決定された処理内容に基づいた処理を行う実行手段と、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行うためのオブジェクト管理手段とを備え、
処理対象となる前記オブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、
前記決定手段が時間情報を適合するタイミングにて適切な処理を選択する、情報処理装置。
【請求項２】外部情報に基づくイベント条件を登録・保持し、条件に合致した場合に発生するイベントを、前記オブジェクト管理手段に対し通知するイベント通知手段をさらに備え、
前記イベント通知手段と前記オブジェクト管理手段は、それぞれイベント入出力操作を行うためのインタフェース手段を含み、
前記実行手段は、前記イベント入出力操作によるイベント駆動に基づき処理を変更する、請求項１記載の情報処理装置。
【請求項３】前記決定手段は、時間情報を適合し具体的なオブジェクトの要素あるいは操作の内容に関する処理を決定した後、決定結果に基づくオブジェクトを新たに生成するためのオブジェクト生成手段を有し、
生成された前記オブジェクトに基づく処理を実行手段にて行うことを特徴とする、請求項１記載の情報処理装置。
【請求項４】前記情報処理装置において処理対象となるオブジェクトは、前記オブジェクトの要素あるいは操作の内容を複数用意し、かつ、当該複数の要素あるいは操作の内容を単一のオブジェクト内に全て内包し、時間情報を処理することによりその内容を選択的に決定することを特徴とする、請求項１に記載の情報処理装置。
【請求項５】前記情報処理装置において処理される対象となるオブジェクトは、前記オブジェクトの要素あるいは操作の内容を外部参照の形式にて記述することが可能であり、
前記決定手段は、オブジェクトの要素あるいは操作の内容を決定する際に外部参照にて解決すべき項目がある場合には、前記オブジェクト管理手段に対し要求を行うことでその解決を行い、処理内容を決定することを特徴とする、請求項１に記載の情報処理装置。
【請求項６】前記オブジェクト管理手段は、
記憶手段と、
前記記憶手段の記憶領域内に格納されたオブジェクトを検索するための検索手段と、
ネットワークを通じて情報を取得するための通信手段とを有し、
前記決定手段からの要求により、管理下あるいはネットワークを通じて必要な情報を検索、取得し、その内容を前記決定手段へ通知することにより、外部参照項目を解決して処理内容を決定することを特徴とする、請求項５記載の情報処理装置。
【請求項７】前記情報処理装置において処理対象となるオブジェクトは、前記決定手段が時間情報を適合することにより、はじめて要素あるいはその操作に関する具体的な値や方法が決定される表現形式を有することを特徴とする、請求項１に記載の情報処理装置。
【請求項８】前記情報処理装置において処理対象となるオブジェクトは、前記決定手段により起動時刻が適合されることにより、要素あるいは操作に関するデータ値や方法が決定されることを特徴とする、請求項１に記載の情報処理装置。
【請求項９】前記情報処理装置において処理対象となるオブジェクトは、前記決定手段により仮想的な起動時刻が適合されることにより、条件に基づく要素あるいは操作に関するデータ値や方法が適合され決定されることを特徴とする、請求項１に記載の情報処理装置。
【請求項１０】前記情報処理装置において処理対象となるオブジェクトは、要素あるいはその操作の内容が時間に関する関数の形式にて記述され、前記決定手段が時間情報を適合することにより、要素あるいはその操作に関するデータ値や方法が決定されることを特徴とする、請求項９に記載の情報処理装置。
【請求項１１】（削除）
【請求項１２】前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作のそれぞれに対し、時間的な直交がない限りにおいて複数の時間制約に基づく記述を同時に含む記述が可能であり、
前記決定手段が時間情報を適合するタイミングにて適切な処理を選択することを特徴とする、請求項１に記載の情報処理装置。
【請求項１３】前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に関する時間制約は、当該要素あるいは操作を無効にする条件として記述されることを特徴とする、請求項１に記載の情報処理装置。
【請求項１４】前記決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間制約を満足する項目が存在しない場合、前記オブジェクト管理手段に対し通知を行うと共に、当該オブジェクトに関する以降の処理を停止することを特徴とする、請求項１に記載の情報処理装置。
【請求項１５】前記決定手段は、処理対象となるオブジェクトに関する要素または操作内容の決定時において、時間に関する条件を満足する項目が存在しない場合、前記オブジェクト管理手段に対し通知を行うと共に、前記オブジェクト管理手段において適切に選択されたオブジェクトに基づく処理を実行することを特徴とする、請求項１に記載の情報処理装置。
【請求項１６】前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は異なるスケール指定における記述の混在が可能であり、
前記決定手段が、当該オブジェクトの要素あるいは操作に課される時間制約のスケールの単一時間軸への転写を行うことで実際の処理を選択する手段を備えることを特徴とする、請求項１２に記載の情報処理装置。
【請求項１７】前記情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作に課される幾つかの時間制約は絶対時間指定、相対時間指定あるいはインターバル指定など異なる指定方式における記述の混在が可能であり、
前記決定手段が当該オブジェクトの要素あるいは操作に課される時間制約の記述形式に関し、予め決定された優先度を用いることで実際の処理を選択する手段を備えることを特徴とする、請求項１２に記載の情報処理装置。
【請求項１８】前記情報処理装置において処理対象となるオブジェクトは、任意の時間制約オブジェクトを親として生成された場合に、親オブジェクトにて定義される要素および操作に関する性質と共にそれぞれに課される時間制約をも継承することを特徴とする、請求項５に記載の情報処理装置。
【請求項１９】前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの前記時間制約をも継承し、当該要素および操作に関する処理をオーバーライドする場合には、前記親オブジェクトへその権限委譲を問い合わせることにより、実行許可を行うことを特徴とする、請求項１８に記載の情報処理装置。
【請求項２０】前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照することにより、前記親オブジェクトの一部処理に依存する処理を記述することを特徴とする、請求項１８記載の情報処理装置。
【請求項２１】前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約のみを個別に継承あるいは参照するときに、前記親オブジェクトへ許可を求めることを特徴とする、請求項２０に記載の情報処理装置。
【請求項２２】前記情報処理装置の処理対象となるオブジェクトは、前記親オブジェクトにて定義される要素および操作に関するそれぞれの時間制約をオフセット指定により再配置することでオブジェクト間での連携処理タイミングを操作することを特徴とする、請求項１９〜２１のいずれか１項に記載の情報処理装置。
【請求項２３】前記実行手段は、前記決定手段により決定されたオブジェクトの要素あるいは操作の内容に基づき処理を行う際の切り替えタイミングにおいて、使用者に対し処理の変更情報を提示するための情報提示手段を有し、
時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、オブジェクトの挙動の変化に関する情報を使用者に対し提示することを特徴とする、請求項１に記載の情報処理装置。
【請求項２４】前記オブジェクト管理手段は、前記決定手段によるオブジェクトに関する要素または操作内容の決定タイミングをイベント通知手段に対し事前に登録することにより、以降の決定動作タイミングに関するスケジューリングを行うことを特徴とする、請求項２に記載の情報処理装置。
【請求項２５】前記オブジェクト管理手段は、前記決定手段によるオブジェクトに関する要素または操作内容の決定タイミングの前記イベント通知手段に対する登録を規定時間より先行するタイミングにてイベント発火するように登録するための登録手段を有し、
前記イベント通知手段からのイベント受信後、前記決定手段によるオブジェクトの要素あるいは操作の内容変更を行うタイミングに先行し、前記オブジェクトの挙動の変化に関する情報を使用者に対し提示することを特徴とする、請求項２４に記載の情報処理装置。
【請求項２６】前記情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、適合される時間情報に応じてコンポーネントの表示の方法を変化させることを特徴とする、請求項７に記載の情報処理装置。
【請求項２７】前記情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、
適合される時間情報に応じて該コンポーネントに与えられる操作の方法を変化させることを特徴とする、請求項７に記載の情報処理装置。
【請求項２８】前記情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、
時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、コンポーネントの表示をアニメーションにて変化させることにより、前記オブジェクトの挙動の変化を使用者に対し提示することを特徴とする、請求項２７記載の情報処理装置。
【請求項２９】前記情報処理装置は、時間情報に基づき要素あるいは操作を記述可能なオブジェクトと、時間情報に依存しないオブジェクトを混在させた情報処理を行う手段を有することを特徴とする、請求項１に記載の情報処理装置。
【請求項３０】少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、
決定された処理内容に基づき、情報処理を行うステップと、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備え、
処理対象となる前記オブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、
前記決定するステップは、時間情報を適合するタイミングにて適切な処理を選択するステップを含む、情報処理方法。
【請求項３１】少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、
決定された処理内容に基づき、情報処理を行うステップと、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備え、
処理対象となる前記オブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、
前記決定するステップは、時間情報を適合するタイミングにて適切な処理を選択するステップを含む処理をコンピュータに実行させるための情報処理プログラム。
【請求項３２】少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、
決定された処理内容に基づき、情報処理を行うステップと、
前記オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備え、
処理対象となる前記オブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、
前記決定するステップは、時間情報を適合するタイミングにて適切な処理を選択するステップを含む処理をコンピュータに実行させるための情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。


【手続補正００２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
本発明の目的は、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、その表示や意味をも含めた性質を時間情報に基づく処理を行うことで変更することによって、適応的な情報処理を行うことを可能にする情報処理装置および方法、情報処理プログラム、媒体を提供することである。
この発明のさらに他の目的は、時間情報に基づく処理を行うことにより、その処理や意味をも含めた振る舞いを変更し、ユーザに対し適切な情報提示を行うことが可能なユーザインターフェースを実現可能な情報処理装置および方法、情報処理プログラム、媒体を提供することである。
この発明のある局面に従うと、情報処理装置であって、少なくとも時間に関する情報に基づき要素あるいは操作を記述可能なオブジェクトに対して、時間情報に基づく処理を行いオブジェクトの要素あるいは操作を決定するための決定手段と、決定手段により決定された処理内容に基づいた処理を行う実行手段と、オブジェクトを記憶し、動作およびその状態に関する管理を行うためのオブジェクト管理手段とを備え、処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定手段が時間情報を適合するタイミングにて適切な処理を選択する。
好ましくは、外部情報に基づくイベント条件を登録・保持し、条件に合致した場合に発生するイベントを、オブジェクト管理手段に対し通知するイベント通知手段をさらに備え、イベント通知手段とオブジェクト管理手段は、それぞれイベント入出力操作を行うためのインタフェース手段を含み、実行手段は、イベント入出力操作によるイベント駆動に基づき処理を変更する。
好ましくは、決定手段は、時間情報を適合し具体的なオブジェクトの要素あるいは操作の内容に関する処理を決定した後、決定結果に基づくオブジェクトを新たに生成するためのオブジェクト生成手段を有し、生成されたオブジェクトに基づく処理を実行手段にて行う。
好ましくは、情報処理装置において処理対象となるオブジェクトは、オブジェクトの要素あるいは操作の内容を複数用意し、かつ、当該複数の要素あるいは操作の内容を単一のオブジェクト内に全て内包し、時間情報を処理することによりその内容を選択的に決定する。
好ましくは、情報処理装置において処理される対象となるオブジェクトは、オブジェクトの要素あるいは操作の内容を外部参照の形式にて記述することが可能
【手続補正００３】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
であり、決定手段は、オブジェクトの要素あるいは操作の内容を決定する際に外部参照にて解決すべき項目がある場合には、オブジェクト管理手段に対し要求を行うことでその解決を行い、処理内容を決定する。
好ましくは、オブジェクト管理手段は、記憶手段と、記憶手段の記憶領域内に格納されたオブジェクトを検索するための検索手段と、ネットワークを通じて情報を取得するための通信手段とを有し、決定手段からの要求により、管理下あるいはネットワークを通じて必要な情報を検索、取得し、その内容を決定手段へ通知することにより、外部参照項目を解決して処理内容を決定する。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段が時間情報を適合することにより、はじめて要素あるいはその操作に関する具体的な値や方法が決定される表現形式を有する。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段により起動時刻が適合されることにより、要素あるいは操作に関するデータ値や方法が決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトは、決定手段により仮想的な起動時刻が適合されることにより、条件に基づく要素あるいは操作に関するデータ値や方法が適合され決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトは、要素あるいはその操作の内容が時間に関する関数の形式にて記述され、決定手段が時間情報を適合することにより、要素あるいはその操作に関するデータ値や方法が決定される。
好ましくは、情報処理装置において処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作のそれぞれに対し、時間的な直交がない限りにおいて複数の時間制約に基づく記述を同時に含む記述が可能であり、決定手段が時間情報を適合するタイミングにて適切な処理を選択
【手続補正００４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
タフェースを実現し、適合される時間情報に応じて該コンポーネントに与えられる操作の方法を変化させる。
好ましくは、情報処理装置において処理対象となるオブジェクトはユーザインタフェースを実現し、時間の経過に応じてオブジェクトの挙動が変化するタイミングにおいて、コンポーネントの表示をアニメーションにて変化させることにより、オブジェクトの挙動の変化を使用者に対し提示する。
好ましくは、情報処理装置は、時間情報に基づき要素あるいは操作を記述可能なオブジェクトと、時間情報に依存しないオブジェクトを混在させた情報処理を行う手段を有する。
この発明の他の局面に従うと、情報処理方法であって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備え、処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定するステップは、時間情報を適合するタイミングにて適切な処理を選択するステップを含む。
この発明のさらに他の局面に従うと、情報処理プログラムであって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することにより、適応的な情報処理を行うステップとを備え、処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定するステップは、時間情報を適合するタイミングにて適切な処理を選択するステップを含む処理をコンピュータに実行させる。
この発明のさらに他の局面に従うと、コンピュータ読み取り可能な記録媒体であって、少なくとも時間に関する情報に基づき、要素あるいは操作を記述可能なオブジェクトに関し、時間情報に基づき該オブジェクトの要素あるいは操作の内容を決定するステップと、決定された処理内容に基づき、情報処理を行うステップと、オブジェクトを記憶し、動作およびその状態に関する管理を行い、オブジェクトに記述された要素あるいは操作の内容を時間情報に基づき変更することに
【手続補正００５】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
より、適応的な情報処理を行うステップとを備え、処理対象となるオブジェクトにおいて定義される要素および操作は、一意に識別される要素あるいは操作毎に、それぞれ異なる時間制約条件を課すことが可能であり、決定するステップは、時間情報を適合するタイミングにて適切な処理を選択するステップを含む処理をコンピュータに実行させるための情報処理プログラムを記録する。
本発明の情報処理装置、方法、情報処理プログラムおよび媒体は、その要素あるいは操作内容に時間情報を含むオブジェクトの性質を時間に関し変化させることによる適応的な情報処理を実現する。
また、その実施態様によっては、その処理対象となるオブジェクトはその要素あるいは操作内容のそれぞれに対し、様々な時間スケールや指定方式を混在させ異なる時間制約を設定することが可能であり、オブジェクト起動時間に応じて操作の意味そのものを変えるなどの柔軟な処理を記述できる情報処理装置、方法および媒体を実現可能である。
また、その実施態様によっては、単一のオブジェクト内にそれらの異なる時間制約下での処理を内包することができるため、通信機能をもたない家電機器についても時間情報に基づくオブジェクト処理を実現可能である。
加えて、その実施態様によっては、あるオブジェクトの時間制約情報を含めた振る舞いをほかのオブジェクトに対し参照させる、あるいは継承させることが可能であり、これによりあるオブジェクトの振る舞いは別のオブジェクトの時間制約に依存するといった依存モデルやオブジェクト間での連携モデルをシステム的に構築することが可能である。
また、その実施態様によっては、リアルタイム情報に加えて仮想時間情報をその入力源にする情報処理装置、方法および媒体を実現可能であり、これはオブジェクト処理のデバッグプロセスにおいてコンテンツ／サービス開発者に対する便宜を図る点で効果的である。
また、その実施態様によっては、ネットワークサービスをも時間制約条件下で連携させることが可能であり、時間指向サービスとその運用を加味したシステマティックなサービスとその連携を行う環境を構築することが可能になる。
加えて、その実施態様によっては、時間制約を満たす形で選択された要素あるいは操作内容に基づくオブジェクトを再合成し、それを用いた処理を行うことで処理のオーバーヘッド分を解消し、特定の処理に関する実行パフォーマンスを向上させるといった効果が期待できる。
【国際調査報告】
2004036423.tif 000023
2004036423.tif 000024
2004036423.tif 000025
2004036423.tif 000026