以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。同図において、情報処理装置10は、各種の電子機器20とLAN(Local Area Network)又はインターネット等のネットワーク(有線又は無線の別は問わない。)を介して接続可能である。
同図には、電子機器20の一例として、サーバ装置20a、表示装置20b、PC20c、デジタルカメラ20d、プロジェクタ20e、携帯電話20f、スマートフォン20g、及び画像形成装置20h等が示されている。各電子機器20は、情報処理装置10に対して電子データの入力元又は電子データの出力先として機能する点において共通する。例えば、出力先となる電子機器20は、入力先となる電子機器20によって情報処理装置10に入力(登録又は保存)された電子データの出力を行う。但し、各電子機器20が扱えるデータ形式は、必ずしも一致しない。そこで、情報処理装置10は、各電子機器20が扱えるデータ形式の違いを吸収するための処理を実行する。その結果、各電子機器20間において、電子データに関する連携関係が実現される。
サーバ装置20aは、例えば、インターネット上において、ファイル管理のクラウドサービスを提供するコンピュータである。例えば、サーバ装置20aにおいて管理されている電子データが、情報処理装置10にダウンロード(入力)される。
表示装置20bは、例えば、デジタルサイネージ(電子看板)である。表示装置20bは、主として電子データの出力先として機能する。すなわち、表示装置20bは、情報処理装置10において管理されている電子データを表示する。
PC20cは、電子データの入力元及び出力先として機能しうる。例えば、PC20cにインストールされているアプリケーションプログラムによって生成された電子データや、ネットワークを介してPC20cに入力された電子データ等が、情報処理装置10に入力される。また、情報処理装置10において管理されている電子データが、PC20cのディスプレイに表示される。
デジタルカメラ20dは、主として電子データの入力元として機能する。すなわち、デジタルカメラ20dが撮像した画像データが、情報処理装置10に入力される。
プロジェクタ20eは、主として電子データの出力先として機能する。すなわち、プロジェクタ20eは、情報処理装置10において管理されている電子データを投影する。
携帯電話20f及びスマートフォンd等は、電子データの入力元及び出力先として機能しうる。例えば、デジタルカメラ付きの携帯電話20f又はスマートフォンdであれば、デジタルカメラによって撮像した画像データが情報処理装置10に入力される。また、情報処理装置10において管理されている電子データが、携帯電話20f又はスマートフォンdのディスプレイに表示される。
画像形成装置20hは、例えば、スキャン機能、印刷機能、コピー機能、及びFAX機能等のうちの2以上の機能を有する複合機である。画像形成装置20hは、電子データの入力元及び出力先として機能する。例えば、画像形成装置20hにおいてスキャンされた画像データが情報処理装置10に入力される。また、情報処理装置10において管理されている電子データが、画像形成装置20hによって印刷されたり、FAX送信されたりする。
なお、本実施の形態において、各電子機器20と情報処理装置10との間の電子データの授受は、ファイル単位で行われることとする。以下、電子データを格納したファイルを「文書ファイル」という。但し、文書ファイルの内容は、文書に限定されない。図形や画像等が文書ファイルに含まれていてもよい。文書ファイルのデータ形式は、当該文書ファイルが格納する電子データの形式を意味する。
図2は、本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。図2の情報処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
情報処理装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報処理装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
図3は、本発明の実施の形態における情報処理装置及び電子機器の機能構成例を示す図である。同図において、情報処理装置10は、システム管理部11、機器判定部12、セッション管理部13、機器連携部14、データ変換部15、及び文書管理部16等を有する。これら各部は、情報処理装置10にインストールされたプログラムが、CPU104に実行させる処理により実現される。情報処理装置10は、また、コマンド変換テーブル121、セッション管理テーブル122、同期管理テーブル123、同期プログラム記憶部124、データ変換テーブル125、及び文書記憶部126等を有する。これら各テーブル又は記憶部は、メモリ装置103、補助記憶装置102、又は情報処理装置10とネットワークを介して接続される記憶装置を用いて実現可能である。
システム管理部11は、電子機器20との通信を制御したり、電子機器20からの要求又は通知等に応じた処理全体を制御したりする。
機器判定部12は、通信相手の電子機器20の種別の判定等を行う。機器判定部12は、また、電子機器20において表示中の文書ファイルの表示状態を変更するためのコマンドの解釈及び生成等を行う。表示状態の変更の一例として、表示対象(閲覧対象)のページの変更が挙げられる。
セッション管理部13は、文書記憶部126の一部を構成する共有フォルダにアクセスしている電子機器20ごとに、文書ファイルの表示状態を示す情報等を管理する。共有フォルダとは、複数の電子機器20に公開されているフォルダ(記憶領域)をいう。
機器連携部14は、電子機器20間の文書ファイルの表示状態に関する連携関係を管理する。文書ファイルの表示状態の連携とは、一方の電子機器20における表示状態が、他方の電子機器20に自動的に反映されることをいう。本実施の形態において、このような連携を、「同期」という。
データ変換部15は、電子機器20に転送される文書ファイルを、当該電子機器20において処理可能な(表示可能な)データ形式に変換する。文書管理部16は、文書記憶部126が記憶する文書ファイルに対するアクセスを制御する。
コマンド変換テーブル121には、電子機器20の種別ごとに、文書ファイルの表示状態の変更に用いられるコマンドの種別が設定されている。当該コマンドの種別は、電子機器20における表示アプリ22の種別に依存する。
セッション管理テーブル122には、共有フォルダにアクセスしている電子機器20ごとに、文書ファイルの表示状態を示す情報等が記録される。
同期管理テーブル123には、同期関係にある電子機器20群に含まれる電子機器20ごとに、機器識別情報等が記録される。したがって、同期管理テーブル123によって、同期関係にある電子機器20群を特定することができる。
同期プログラム記憶部124は、同期プログラムを記憶する。同期プログラムとは、共有フォルダにアクセスする電子機器20に導入(インストール)され、同期を実現するための処理を電子機器20に実行させるプログラムである。
データ変換テーブル125には、電子機器20の種別ごとに、当該種別に属する電子機器20が処理可能(表示可能)なデータ形式が設定されている。
文書記憶部126は、文書ファイル群を記憶する。
各電子機器20は、ブラウザアプリ21及び表示アプリ22等を有する。ブラウザアプリ21は、一般的なWebブラウザ等、指定されたURL(Uniform Resource Locator)にアクセスし、該アクセスに対して返信される応答に含まれる表示データ(HTML(HyperText Markup Language)データ)の表示等を電子機器20に実行させるプログラムである。表示アプリ22は、文書ファイルの表示を電子機器20に実行させるプログラムである。表示アプリ22は、電子機器20の種別によって異なる。また、例えば、PC20c等は、複数の表示アプリ22を有していてもよい。
以下、情報処理装置10等が実行する処理手順について説明する。図4及び図5は、共有フォルダにおいて管理されている文書ファイルの電子機器への表示処理の処理手順の一例を説明するためのシーケンス図である。同図では、スマートフォン20gにおいて共有フォルダの文書ファイルが閲覧される場合について説明する。
ステップS101において、スマートフォン20gは、ユーザによる指示入力に応じて、ブラウザアプリ21を起動する。続いて、スマートフォン20gのブラウザアプリ21は、情報処理装置10の共有フォルダに対するURL(Uniform Resource Locator)の入力をユーザより受け付ける(S102)。続いて、ブラウザアプリ21は、入力されたURL(すなわち、共有フォルダ)をアクセス先とするアクセス要求(HTTPリクエスト)を、情報処理装置10に送信する(S103)。なお、当該アクセス要求は、実質的には、情報処理装置10の共有フォルダに格納されている文書ファイルの一覧情報の取得要求に相当する。
情報処理装置10において、当該アクセス要求が受信されると、システム管理部11は、アクセス要求に指定されたURLが共有フォルダを示すことに応じて、アクセス要求元の電子機器20(スマートフォン20g)に関するデバイス情報の取得を行うことを判定する(S104)。そこで、システム管理部11は、デバイス情報の取得を機器判定部12に要求する(S105)。機器判定部12は、例えば、UPnP(Universal Plug and Play)に従った手順で、デバイス情報の取得要求をスマートフォン20gに送信する(S106)。スマートフォン20gは、UPnPに従った手順で、自機のデバイス情報を返信する(S107)。
図6は、デバイス情報の構成例を示す図である。同図に示されるように、UPnPによって取得されるデバイス情報は、DeviceId、friendlyName、manufacturerName、及びmodelName等を含む。DeviceId(以下、「デバイスID」という。)は、電子機器20ごとに固有のIDであり、機器識別情報の一例である。friendlyNameは、電子機器20の機種名である。manufacturerNameは、電子機器20の製造元の名前である。modelNameは、電子機器20の機体番号である。
デバイス情報に基づいて、当該デバイス情報に係る電子機器20の機器種別を判定することができる。本実施の形態において、機器種別とは、サーバ装置20a、表示装置20b、PC20c、デジタルカメラ20d、プロジェクタ20e、携帯電話20f、スマートフォン20g、又は画像形成装置20h等のいずれの種類の電子機器20であるかを示す情報である。すなわち、機器種別は、電子機器20の個体(機体)を識別する情報ではなく、電子機器20の機能又は用途等に基づく種別を示す情報である。したがって、複数のスマートフォン20gが有る場合、当該複数のスマートフォンに関して、機器種別は、同じ値(「スマートフォン」)となる。なお、本実施の形態において、機器種別は、デバイス情報の一部である機種名(friendlyName)とは異なる。前者は、電子機器20の機能及び用途等に基づいて電子機器20を分類した場合の種別であり、後者は、電子機器20のモデル(型)に近い概念である。
続いて、機器判定部12は、スマートフォン20gとのセッションを識別するためのセッションIDの取得をセッション管理部13に要求する(S108)。当該要求には、デバイスIDが指定される。当該要求に応じ、セッション管理部13は、セッションIDを生成し、生成されたセッションIDを、デバイスIDに関連付けてセッション管理テーブル122に記録する(S109)。
図7は、セッション管理テーブルの構成例を示す図である。同図において、セッション管理テーブル122は、共有フォルダにアクセス中である電子機器20とのセッションごとに、セッションID、デバイスID、機器種別、閲覧ファイルID、変換ファイルID、同期属性、状態、ページ数、及び閲覧ページ番号等を記憶する。
セッションID、デバイスID、及び機器種別は、上記した通りである。閲覧ファイルIDは、デバイスIDに係る電子機器20において、閲覧中の文書ファイルのファイルIDである。ファイルIDは、共有フォルダに格納されている各文書ファイルを識別可能な情報であれば、どのような形式の識別情報であってもよい。例えば、ファイル名がファイルIDとして用いられてもよい。変換ファイルIDは、閲覧ファイルIDに係る文書ファイルが、デバイスIDに係る電子機器20用にデータ形式が変換されたファイル(以下、「変換ファイル」という。)のファイルIDである。同期属性は、デバイスIDに係る電子機器20が、閲覧ファイルIDに係る文書ファイルの表示状態に関して他の電子機器20と同期している場合に、「親」であるか「子」であるかを示す情報である。同期属性に関して、「1」は「親」を示し、「0」は「子」を示す。すなわち、本実施の形態において、同期には、親子関係(又は主従関係)が存在する。子である電子機器20には、同期対象の文書ファイルに関して、親である電子機器20の閲覧状態(表示情報)が反映される。また、親は、同期対象の文書ファイルを操作可能であり、子は当該文書ファイルを操作することはできない。但し、子において文書ファイルの操作が可能とされてもよい。状態は、変換ファイルIDに係るファイルが、デバイスIDに係る電子機器20に転送済みであるか否かを示す情報である。ページ数は、変換ファイルのページ数である。閲覧ページ番号は、閲覧ファイルIDに係る文書ファイルに関して、デバイスIDに係る電子機器20において閲覧中のページのページ番号である。なお、閲覧ページ番号は、表示状態の変更を示す情報の一例である。
なお、ステップS109では、セッションID、デバイスID、及び機器種別が登録される。したがって、図7において、他の項目の値は、空である。
続いて、セッション管理部13は、セッションID、デバイスID、及び機器種別を指定して、同期の要否判定を機器連携部14に要求する(S110)。続いて、機器連携部14は、同期プログラム記憶部124に記憶されている同期プログラムをスマートフォン20gに導入(送信)する(S111)。当該同期プログラムは、スマートフォン20gに係るセッションIDが設定されて、スマートフォン20gに導入される。なお、同期プログラムが、ネイティブコード等、動作環境に依存する形式である場合、機器種別ごとに同期プログラムが作成されているとよい。
同期プログラムは、スマートフォン20gに導入されると、例えば、同期の要否を問い合わせる画面(以下、「同期確認画面」という。)をスマートフォン20gの表示装置(例えば、液晶パネル)に表示させる(S112)。ここでは、同期確認画面を介して、同期は行わない旨が入力されたこととする。同期プログラムは、当該入力に応じ、同期は不要であることを示す情報を、情報処理装置10の機器連携部14に送信する(S113)。
機器連携部14は、同期は不要であることを示す情報を受信すると、ステップS110における同期の要否判定の要求に対して、同期は不要であることをセッション管理部13に応答する(S114)。続いて、セッション管理部13は、ステップS109において生成したセッションIDを含む応答を機器判定部12に返信する(S115)。機器判定部12は、デバイス情報の取得の完了を示し、セッションIDを含む応答をシステム管理部11に返信する(S116)。続いて、システム管理部11は、共有フォルダに格納されている文書ファイルの一覧情報(ファイルIDの一覧等)を含む画面(以下、「文書一覧画面」という。)を表示させるHTMLデータを生成する(S117)。続いて、システム管理部11は、当該HTMLデータ及びセッションID等を含む応答(HTTPレスポンス)を、スマートフォン20gのブラウザアプリ21に返信する(S118)。
スマートフォン20gのブラウザアプリ21は、受信されたHTMLデータに基づいて、文書一覧画面をスマートフォン20gの表示装置に表示させる。
続いて、文書一覧画面において、任意の文書ファイルが閲覧対象として選択されると、ブラウザアプリ21は、ステップS117において返信されたセッションIDと、選択された文書ファイルのファイルIDとを指定して、当該文書ファイルの取得要求を情報処理装置10に送信する(S120)。当該取得要求が受信されると、システム管理部11は、当該取得要求に指定されているセッションID(以下、「対象セッションID」という。)及びファイルID(以下、「閲覧ファイルID」という。)を指定して、文書ファイルの取得を機器判定部12に要求する(S121)。
続いて、機器判定部12は、対象セッションIDに基づいて、文書ファイルの取得要求元の電子機器20の機器種別を判定する(S122)。具体的には、セッション管理テーブル122において、対象セッションIDに対して記録されている機器種別が、当該電子機器20の機器種別であると判定される。
続いて、機器判定部12は、閲覧ファイルIDと、判定された機器種別とを指定して、文書ファイルのデータ形式の変換をデータ変換部15に要求する(S123)。データ変換部15は、閲覧ファイルIDに係る文書ファイルの取得を文書管理部16に要求する(S124)。文書管理部16は、共有フォルダより閲覧ファイルIDに係る文書ファイルのコピーを取得し、データ変換部15に返信する(S125)。
続いて、データ変換部15は、データ変換テーブル125を参照して、ステップS123において指定された機器種別に対応するデータ形式に、当該文書ファイルのコピーを変換する(S126)。
図8は、データ変換テーブルの構成例を示す図である。同図において、データ変換テーブル125は、機器種別に対応付けて表示可能なデータ形式を記憶する。ステップS126において、閲覧ファイルIDに係る文書ファイルのコピーは、「スマートフォン」に対応するPDF形式に変換される。なお、共通フォルダに格納されている文書ファイルのデータ形式は、必ずしも共通ではない。したがって、データ変換部15は、変換元の文書ファイルのデータ形式と、変換先のデータ形式とに応じた変換処理を実行する。
なお、データ変換部15は、変換後に生成された文書ファイル(変換ファイル)を、文書管理部16を介して文書記憶部126に保存しておく。文書管理部16への登録によって、変換ファイルに対してファイルIDが割り当てられる。
続いて、データ変換部15は、変換ファイルのファイルID(以下、「変換ファイルID」という。)と変換ファイルのページ数とを含む応答を機器判定部12に返信する(S127)。続いて、機器判定部12は、閲覧ファイルID、変換ファイルID、及び変換ファイルのページ数をセッション管理部13に通知する(S128)。セッション管理部13は、当該閲覧ファイルID、当該変換ファイルID、及び当該ページ数等を、セッション管理テーブル122において対象セッションIDに対応するレコードに記録する。
図9は、セッション管理テーブルに対する閲覧ファイルID及び変換ファイルIDの登録例を示す図である。なお、閲覧ページ番号には、「1」が記録される。通常、最初のページ(すなわち、1ページ目)が閲覧対象とされるからである。また、変換ファイルIDに係る変換ファイルは、未だスマートフォン20gに転送されていない。したがって、状態には、「未」が記録される。
続いて、機器判定部12は、対象セッションIDに係る電子機器20のデバイスIDを指定して、当該電子機器20が、他の電子機器20と同期中であるか否かを機器連携部14に問い合わせる(S129)。機器連携部14は、指定されたデバイスIDに係る電子機器20が同期中であるか否かを判定する(S130)。ここでは、当該デバイスIDが登録された同期管理テーブル123が無い(生成されていない)ため、機器連携部14は、当該デバイスIDに係る電子機器20は同期中ではないと判定する。続いて、機器連携部14は、判定結果を含む応答を機器判定部12に返信する(S131)。
続いて、機器判定部12は、対象セッションIDを指定して、変換ファイルの取得をセッション管理部13に要求する(S132)。セッション管理部13は、セッション管理テーブル122において、対象セッションIDに対して登録されている変換ファイルIDを指定して、変換ファイルの取得を文書管理部16に要求する(S133)。文書管理部16は、指定された変換ファイルIDに対応する変換ファイルを文書記憶部126より取得し、当該変換ファイルを、セッション管理部13に返信する(S134)。
続いて、セッション管理部13は、変換ファイルを機器判定部12に返信する(S135)。この際、セッション管理部13は、セッション管理テーブル122において、対象セッションIDに対するレコードの状態の値を「未」から「済」に更新する。「済」は、変換ファイルIDに係る変換ファイルを転送済みであることを示す。
続いて、機器判定部12は、変換ファイルをシステム管理部11に返信する(S136)。システム管理部11は、スマートフォン20gに対して変換ファイルを返信する(S137)。
スマートフォン20gにおいて変換ファイルが受信されると、変換ファイルに対応した表示アプリ22が起動し、変換ファイルの1ページ目が表示される。なお、変換ファイルは、スマートフォン20g(の表示アプリ22)が表示可能なデータ形式に変換されているため、スマートフォン20gにおいて表示可能である。
続いて、スマートフォン20gにおいて変換ファイルが表示されている状態において、変換ファイルの表示対象のページが変更された(ページめくりが実行された)際に実行される処理手順について説明する。
図10は、ページめくりに応じて実行される処理手順の一例を説明するためのシーケンス図である。
ステップS151において、スマートフォン20gの表示アプリ22によって表示されている変換ファイルに関して、ページ変更の指示がユーザによって入力されると、表示アプリ22は、当該変換ファイルに関してページ変更コマンドを実行する。ページ変更コマンドの実行に応じて、表示アプリ22によって表示されるページは変更される。スマートフォン20gに導入されている同期プログラムは、当該ページ変更コマンドの実行を検知する(S152)。ページ変更コマンドの実行の検知は、例えば、同期プログラムが、電子機器20の画面を占有している、又は電子機器20の画面においてアクティブな状態となっている(操作対象とされている)ウィンドウを監視することにより行われる。
同期プログラムは、ページの変更コマンドの実行の検知に応じ、当該同期プログラムに設定されているセッションIDを指定して、当該ページ変更コマンドの内容を示す情報を、情報処理装置10に送信する(S153)。なお、ページ変更コマンドの内容は、表示アプリ22に応じて異なる。具体的には、PDFファイルを処理可能な表示アプリ22と、Wordファイルを処理可能な表示アプリ22とでは、ページ変更コマンドは異なる。ステップS153では、PDFファイルに関するページ変更コマンド(例えば、「ChangePage(ページ番号)」)を含む情報(以下、「ページ変更コマンド情報」という。)が、情報処理装置10に送信される。ページ変更コマンド情報は、例えば、ページ変更コマンドのコマンド名や、当該コマンドに指定されるパラメータ(例えば、ページ番号)等が、例えば、HTML形式又はXML形式等で記述された情報である。
ページ変更コマンド情報が情報処理装置10において受信されると、システム管理部11は、当該ページ変更コマンド情報及びセッションID(以下、「対象セッションID」という。)を機器判定部12に通知する(S154)。続いて、機器判定部12は、対象セッションIDに対してセッション管理テーブル122に記録されている機器種別を、当該ページ変更コマンド情報に係る電子機器20の機器種別として判定する(S155)。続いて、機器判定部12は、当該機器種別に基づいて、当該ページ変更コマンド情報を解釈する(S156)。ページ変更コマンド情報の解釈には、コマンド変換テーブル121が参照される。
図11は、コマンド変換テーブルの構成例を示す図である。同図に示されるように、コマンド変換テーブル121は、機器種別ごとに、対応するコマンド種別を記憶する。例えば、「スマートフォン」に関しては、「PDFコマンド」が対応することが記憶されている。したがって、機器判定部12は、通知されたページ変更コマンド情報に含まれるコマンドを、「PDFコマンド」であるとしてその意味を解釈する。その結果、機器判定部12は、ページが変更されたこと及び変更後のページ番号等をページ変更コマンド情報より抽出する。
続いて、機器判定部12は、ページ変更コマンド情報より抽出された変更後のページ番号を、対象セッションIDと共にセッション管理部13に通知する(S157)。セッション管理部13は、セッション管理テーブル122における、対象セッションIDに対する閲覧ページ番号の値を、通知されたページ番号(例えば、「2」)に更新する(S158)。続いて、セッション管理部13は、ページ番号等の通知に対する応答を行う(S159)。
続いて、機器判定部12は、対象セッションIDに係る電子機器20のデバイスIDを指定して、当該電子機器20が、他の電子機器20と同期中であるか否かを機器連携部14に問い合わせる(S160)。機器連携部14は、指定されたデバイスIDに係る電子機器20が同期中であるか否かを判定する(S161)。ここでは、当該デバイスIDが登録された同期管理テーブル123が無い(生成されていない)ため、機器連携部14は、当該デバイスIDに係る電子機器20は同期中ではないと判定する。続いて、機器連携部14は、判定結果を含む応答を機器判定部12に返信する(S162)。
続いて、機器判定部12は、システム管理部11に対して応答を行う(S163)。システム管理部11は、スマートフォン20gに対して応答を返信する(S164)。
このように、共有フォルダにおける文書ファイル(変換ファイル)がダウンロードされた電子機器20において、ページ変更等の操作が行われると、その旨が同期プログラムによって検知され、情報処理装置10に通知される。その結果、情報処理装置10は、当該電子機器20における文書ファイルの表示状態を把握することができる。
続いて、2以上の電子機器20における同期について説明する。図12〜図15は、電子機器間の同期の開始時の処理手順の一例を説明するためのシーケンス図である。なお、図12〜図15は、図4及び図5が実行されていない状態を前提として説明する。
図12において、ステップS201〜S212は、図4のステップS101〜S112と同様である。
ここでは、ステップS211において表示される同期確認画面を介して、「親」として同期を行う旨が入力されたこととする。同期プログラムは、当該入力に応じ、「親」として同期を行うことを示す情報を、情報処理装置10の機器連携部14に送信する(S213)。
機器連携部14は、「親」として同期を行うことを示す情報を受信すると、ステップS210において指定されたデバイスID(すなわち、スマートフォン20gのデバイスID)及び機器種別等を同期管理テーブル123に登録する(S214)。
図16は、同期管理テーブルの構成例を示す図である。同期管理テーブル123は、同期関係にある電子機器20の集合を管理するためのテーブルである。すなわち、同期管理テーブル123は、同期関係にある電子機器20の集合ごとに生成される。同期関係にあるとは、同期の親子関係を有することをいう。一つの同期関係に関して、基本的に「親」は一つであり、「子」は一以上である。したがって、同期管理テーブル123は、同期の「親」ごとに生成されるといえる。
同図において、同期管理テーブル123は、同期関係にある電子機器20ごとに、デバイスID、機器種別、及び同期属性等を記憶する。これらの項目の意味は、セッション管理テーブル122における同じ項目名の項目と同じである。
なお、ステップS214では、「親」として同期を行うことを示す情報に基づいて、スマートフォン20gを親とする同期管理テーブル123が生成され、当該同期管理テーブル123に対して、スマートフォン20gのデバイスID、機器種別、及び「親」を示す同期属性等が登録される。
続いて、機器連携部14は、ステップS210における同期の要否判定の要求に対する応答として、「親」として同期することをセッション管理部13に返信する(S215)。セッション管理部13は、当該応答に応じ、ステップS209においてセッション管理テーブル122に登録したレコード(すなわち、スマートフォン20gに対するレコード)の、同期属性に、「親」を示す「1」を記録する。
続くステップS216〜S219は、図4のステップS115〜S118と同様である。したがって、ステップS219の終了時点において、スマートフォン20gは、文書一覧画面が表示された状態となる。
この状態において、PC20cに対して、共有フォルダに対するアクセス指示が入力されたとする。PC20cのブラウザアプリ21は、共有フォルダのURLをアクセス先とするアクセス要求(HTTPリクエスト)を、情報処理装置10に送信する(図13:S231)。
ステップS232〜S240は、図12のステップS204〜S212と同様である。但し、ステップS211においてPC20cに導入される同期プログラムには、PC20cに係るセッションIDの他に、スマートフォン20gのデバイスIDが設定される。当該デバイスIDは、スマートフォン20gを親とする同期管理テーブル123の存在に基づいて同期プログラムに設定される。すなわち、機器連携部14は、同期プログラムの導入時において、同期管理テーブル123の存否を確認する。同期管理テーブル123が存在する場合、機器連携部14は、当該同期管理テーブル123において「親」として登録されている電子機器20のデバイスIDを導入対象の同期プログラムに設定する。したがって、同期管理テーブル123が複数存在する場合(すなわち、「親」として同期中の電子機器20が複数存在する場合)、同期プログラムには、複数のデバイスIDが設定される。
また、ステップS240において、同期プログラムは、例えば、図17に示されるような同期確認画面を表示させる。
図17は、同期確認画面の表示例を示す図である。同図において、同期確認画面500は、チェックボタン501、502、及び503、リストボックス504、並びにOKボタン505等を有する。
チェックボタン501は、「子」として同期することを選択させるチェックボタンである。例えば、チェックボタン501が選択されると、リストボックス504が操作可能な状態となる。リストボックス504には、「子」として同期する場合に、「親」を選択させるためのリストボックスであり、同期プログラムに設定されたデバイスIDの一覧が表示される。ここでは、スマートフォン20gのデバイスIDが表示される。
チェックボタン502は、「親」として同期することを選択させるチェックボタンである。例えば、図12のステップS212は、チェックボタン502が選択された場合に相当する。チェックボタン503は、同期はしないことを選択させるチェックボタンである。
ここでは、チェックボタン501が選択(チェック)され、リストボックス504においてスマートフォン20gのデバイスIDが選択された状態で、OKボタン505がクリックされたこととする。同期プログラムは、斯かる入力に応じ、「子」として同期を行うことを示す情報と、選択された「親」のデバイスIDとを、情報処理装置10の機器連携部14に送信する(S241)。
機器連携部14は、「子」として同期を行うことを示す情報と、「親」のデバイスIDとを受信すると、ステップS238において指定されたデバイスID(すなわち、PC20cのデバイスID)等を、「子」の情報として、当該「親」のデバイスIDに係る同期管理テーブル123に登録する(S242)。
図18は、子の情報が登録された同期管理テーブルの例を示す図である。同図には、スマートフォン20gが「親」として登録されている同期管理テーブル123に、PC20cのデバイスID、機器種別、及び同期属性(子)が追加された例が示されている。この状態の同期管理テーブル123によって、スマートフォン20gとPC20cと同期中であることが特定される。
続いて、機器連携部14は、ステップS238における同期の要否判定の要求に対する応答として、「子」として同期することをセッション管理部13に応答する(S243)。セッション管理部13は、当該応答に応じ、ステップS237においてセッション管理テーブル122に登録したレコード(すなわち、PC20cに対するレコード)の、同期属性に、「子」を示す「0」を記録する。この時点におけるセッション管理テーブル122は、例えば、図19に示されるような状態となる。
図19は、二つの電子機器の同期が開始された際のセッション管理テーブルの状態を示す図である。同図に示されるセッション管理テーブル122には、スマートフォン20g及びPC20cのそれぞれについて、セッションID、デバイスID、機器種別、及び同期属性が登録されている。
続くステップS244〜S247は、図12のS216〜S219と同様である。したがって、ステップS247の終了時点において、PC20cは、スマートフォン20gと同様に、文書一覧画面が表示された状態となる。
一方、PC20cに導入された同期プログラムは、「子」として同期を行う旨の入力に応じ、同期のためのポーリングを開始する(S261)。すなわち、当該同期プログラムは、「親」と同じ表示状態を得るための同期情報の問い合わせ(「親」の表示状態の問い合わせ)を行う。当該問い合わせには、当該同期プログラムに設定されたセッションIDが指定される。システム管理部11は、当該問い合わせを受信すると、当該問い合わせに指定されているセッションIDに関して記憶されている同期情報の有無を確認する。後述されるように、同期情報は、「親」の表示状態が変化した場合に、システム管理部11において保持される。ここでは、「親」であるスマートフォン20gにおいて、表示状態は変化していない(いずれかの文書ファイルは表示されていない)。したがって、システム管理部11は、当該問い合わせに指定されたセッションIDに対する同期情報は保持していない。そこで、システム管理部11は、同期情報は無いことを示す応答を、PC20cの同期プログラムに返信する(S262)。当該応答に応じ、同期プログラムは、次回のポーリングまで待機する。
スマートフォン20g及びPC20cのそれぞれにおいて文書一覧画面が表示されている状態において、スマートフォン20gにおいて任意の文書ファイルが閲覧対象として選択されたとする。そうすると、図14のステップS271〜S281において、図5のS120〜S130と同様の処理が実行される。
ステップS281においては、ステップS280の問い合わせに指定されたデバイスID(スマートフォン20gのデバイスID)が「親」として登録されている同期管理テーブル123(図18)が存在し、当該同期管理テーブル123には、「子」として登録されているデバイスID等が有る。したがって、機器連携部14は、当該デバイスIDに係る電子機器20は、同期中であると判定する。そこで、機器連携部14は、当該同期管理テーブル123に「子」として登録されている(同期属性が「0」である)デバイスID及び機器種別とを含み、同期中であることを示す応答を機器判定部12に返信する(S282)。なお、当該同期管理テーブル123に、「子」として登録されているデバイスID等が複数有る場合、複数のデバイスID等が、当該応答に含まれる。図18の例によれば、当該応答には、デバイスIDとして「XXX−1111−ZZZ」が含まれ、機器種別として「PC」が含まれる。
機器判定部12は、当該機器種別(「PC」)と、ステップS274において指定した閲覧ファイルIDとを指定して、文書ファイルのデータ形式の変換をデータ変換部15に要求する(S283)。データ変換部15は、閲覧ファイルIDに係る文書ファイルの取得を文書管理部16に要求する(S284)。文書管理部16は、共有フォルダより当該ファイルIDに係る文書ファイルのコピーを取得し、データ変換部15に返信する(S285)。
続いて、データ変換部15は、データ変換テーブル125(図8)を参照して、ステップS283において指定された機器種別(「PC」)に対応するデータ形式に、当該文書ファイルのコピーを変換する(S286)。データ変換部15は、変換後に生成された文書ファイル(変換ファイル)を、文書管理部16を介して文書記憶部126に保存しておく。文書管理部16への登録によって、変換ファイルに対してファイルIDが割り当てられる。
なお、図8においては、PCに対応するデータ形式として「Word」が設定された例が示されている。但し、PC20cは、インストールされているアプリケーションに応じて、様々なデータ形式のデータを表示等させることができる。したがって、複数のデータ形式を処理可能な電子機器20に関しては、例えば、変換元の文書ファイルのデータ形式に応じて、変換先のデータ形式が設定されてもよい。具体的には、変換元が文章、画像、又は図形等のいずれのデータ形式であるかに応じて、変換先のデータ形式が設定されてもよい。
続いて、データ変換部15は、変換ファイルのファイルID(変換ファイルID)と変換ファイルのページ数とを含む応答を機器判定部12に返信する(S287)。続いて、機器判定部12は、ステップS282の応答に含まれているデバイスID(「子(PC20c)」のデバイスID)と、閲覧ファイルIDと、ステップS287の応答に含まれている変換ファイルID及びページ数とをセッション管理部13に通知する(S288)。セッション管理部13は、当該閲覧ファイルID、当該変換ファイルID、及び当該ページ数等を、セッション管理テーブル122において、当該デバイスIDに対応するレコードに記録する。すなわち、「子」であるPC20cのレコードに対して、閲覧ファイルID、変換ファイルID、及びページ数等が登録される。その結果、セッション管理テーブル122は、例えば、図20に示されるような状態となる。
図20は、親及び子に関して閲覧ファイルの変換が終了した際のセッション管理テーブルの状態を示す図である。
同図に示されるセッション管理テーブル122において、セッションIDが「001」であるレコード(すなわち、スマートフォン20gに対するレコード)の閲覧ファイルID、変換ファイルID、状態、ページ数、及び閲覧ページ番号は、ステップS279に応じて登録されたものである。また、セッションIDが「002」であるレコード(すなわち、PC20cに対するレコード)の閲覧ファイルID、変換ファイルID、状態、ページ数、及び閲覧ページ番号は、ステップS288に応じて登録されたものである。なお、「親」と「子」とは、同じ文書ファイルを閲覧するため、二つのレコードの閲覧ファイルIDの値は一致している。一方、「親」用に変換されたファイルと、「子」用に変換されたファイルとは相互に異なるため、二つのレコードの変換ファイルIDは、相互に異なっている。
続くステップS289〜S294は、図5のステップS132〜S137と同様の処理である。すなわち、ステップS289〜S294が実行されることにより、ステップS277においてスマートフォン20g用に変換された変換ファイルが、スマートフォン20gに対して返信される。その結果、スマートフォン20gにおいて、当該変換ファイルに対応した表示アプリ22が起動し、当該変換ファイルの1ページ目が表示される。
なお、ステップS292の直前に、セッション管理部13は、セッション管理テーブル122において、スマートフォン20gに対応するレコードの状態を「済」に更新する。その結果、セッション管理テーブル122は、例えば、図21に示される状態となる。
図21は、親に対して変換ファイルが転送される際のセッション管理テーブルの更新例を示す図である。同図に示されるように、「親」であるスマートフォン20gのレコードの状態の値は、「済」に更新される。
ステップS294に続いて、システム管理部11は、スマートフォン20gのセッションID(以下、「親セッションID」という。)を指定して、同期情報の取得を機器判定部12に要求する(図15:S301)。続いて、機器判定部12は、親セッションIDと、ステップS282における機器連携部14からの応答に含まれている、「子」のデバイスID(以下、「子デバイスID」という。)を指定して、同期情報の取得をセッション管理部13に要求する(S302)。
セッション管理部13は、親セッションIDに係るレコードと、子デバイスIDに係るレコードとを比較する(S303)。より詳しくは、セッション管理部13は、親セッションIDに係るレコードと、子デバイスIDに係るレコードとの、状態及び閲覧ページ番号を比較する。図21の例では、親の状態が「済」であるのに対し、子の状態が「未」である。すなわち、親の状態と子の状態とが異なる。そこで、セッション管理部13は、「子」のレコードに記録されている変換ファイルIDを指定して、変換ファイルの取得を文書管理部16に要求する(S304)。文書管理部16は、変換ファイルIDに対応する変換ファイルを文書記憶部126より取得し、当該変換ファイルを、セッション管理部13に返信する(S305)。
セッション管理部13は、当該変換ファイルと、「子」のレコードに記録されているセッションID(以下、「子セッションID」という。)とを含む応答を機器判定部12に返信する(S306)。なお、この際、セッション管理部13は、セッション管理テーブル122において、子セッションIDに係るレコードの状態の値を「未」から「済」に更新する。その結果、セッション管理テーブル122は、例えば、図22に示されるような状態となる。
図22は、子に対して変換ファイルが転送される際のセッション管理テーブルの更新例を示す図である。同図に示されるように、「子」であるPC20cのレコードの状態の値は、「済」に更新される。
続いて、機器判定部12は、当該変換ファイルと子セッションIDとを含む応答をシステム管理部11に返信する(S307)。システム管理部11は、応答に含まれている子セッションIDと変換ファイルとを関連付けて保持しておく。なお、ステップS282において、機器連携部14より複数の「子」のデバイスIDが応答されている場合、ステップS303からS307は、複数の「子」に関して実行される。
その後、PC20cの同期プログラムより送信される、同期情報の問い合わせ(「親」の表示状態の問い合わせ)のポーリングが情報処理装置10において受信されると(S308)、システム管理部11は、当該問い合わせに指定されているセッションID(すなわち、PC20cとのセッションのセッションID)に関連付けられている変換ファイルを含む応答を、PC20cに対して返信する(S309)。
PC20cの同期プログラムは、当該変換ファイルを受信すると、当該変換ファイルのデータ形式に合った表示アプリ22を起動する。当該表示アプリ22は、当該変換ファイルを表示させる(S310)。ここで、PC20cが表示している変換ファイルのデータ形式と、スマートフォン20gが表示している変換ファイルのデータ形式とは相互に異なる。しかし、二つの変換ファイルは、共通の文書ファイルを変換元とするファイルである。したがって、PC20cにおける表示状態は、スマートフォン20gにおける表示状態と同様のものとなる。すなわち、PC20cとスマートフォン20gとの間に、同期関係が確立されたこととなる。
続いて、スマートフォン20gとPC20cとの間に同期関係が確立された状態において、スマートフォン20gにおいて変換ファイルに関してページめくりが実行された際に実行される処理手順について説明する。
図23は、同期中におけるページめくりに応じて実行される処理手順の第一の例を説明するためのシーケンス図である。
ステップS401〜S414の処理手順は、図10のステップS151〜S164と同様である。したがって、ステップS408では、スマートフォン20gに係るセッションIDに対する閲覧ページ番号の値が、通知されたページ番号(例えば、「2」)に更新される。
図24は、同期中における親のページめくりが反映されたセッション管理テーブルの例を示す図である。同図では、スマートフォン20gのレコードのページ番号の値が、「2」に更新されている。
なお、図23の前には、図12〜図15における処理手順が実行されている。すなわち、図18に示されるような同期管理テーブル123が生成されている。したがって、ステップS411において、機器判定部12は、ステップS410の問い合わせに指定されたデバイスID(スマートフォン20gのデバイスID)に係る電子機器20は、同期中であると判定する。そこで、機器連携部14は、当該同期管理テーブル123に「子」として登録されている(同期属性が「0」である)デバイスID及び機器種別を含み、同期中であることを示す応答を機器判定部12に返信する(S412)。
ステップS414に続いて、システム管理部11は、スマートフォン20gのセッションID(以下、「親セッションID」という。)を指定して、同期情報の取得を機器判定部12に要求する(S415)。続いて、機器判定部12は、親セッションIDと、ステップS412における機器連携部14からの応答に含まれている、「子」のデバイスID(以下、「子デバイスID」という。)を指定して、同期情報の取得をセッション管理部13に要求する(S416)。
セッション管理部13は、「親」セッションIDに係るレコードと、「子」デバイスIDに係るレコードとの状態及び閲覧ページ番号を比較する(S417)。図24の例では、「親」の閲覧ページ番号が「2」であるのに対し、「子」の閲覧ページ番号は「1」である。すなわち、「親」における閲覧ページ番号と「子」における閲覧ページ番号とが異なる。そこで、セッション管理部13は、「親」の閲覧ページ番号と「子」のレコードに記録されているセッションID(以下、「子セッションID」という。)とを含む応答を、機器判定部12に返信する(S418)。なお、この際、セッション管理部13は、セッション管理テーブル122において、子セッションIDに係るレコードのページ番号を、「親」と同じ値に更新する。
ページ番号を含む応答に応じ、機器判定部12は、ページ変更コマンド情報を生成する(S419)。ページ変更コマンド情報は、コマンド変換テーブル121を参照して生成される。図11のコマンド変換テーブル121には、「PC」に対応するコマンド種別は、「Word」に設定されている。したがって、機器判定部12は、Wordに対するページ変更コマンド(例えば、「SelectPage(ページ番号)」)を生成する。なお、PC20cは、インストールされているアプリケーションに応じて、様々なデータ形式のデータを表示等させることができる。したがって、複数のデータ形式を処理可能な電子機器20に関しては、例えば、セッション管理テーブル122において、変換ファイルのデータ形式を保持するようにし、当該データ形式に応じたアプリケーションに対応したページ変換コマンド情報が生成されるようにしてもよい。
続いて、機器判定部12は、当該ページ変更コマンド情報と子セッションIDとを含む応答をシステム管理部11に返信する(S420)。システム管理部11は、応答に含まれている子セッションIDとページ変更コマンド情報とを関連付けて保持しておく。なお、ステップS412において、機器連携部14より複数の「子」のデバイスIDが応答されている場合、ステップS417からS420は、複数の「子」に関して実行される。
その後、PC20cの同期プログラムより送信される、同期情報の問い合わせのポーリングが情報処理装置10において受信されると(S421)、システム管理部11は、当該問い合わせに指定されているセッションID(すなわち、PC20cとのセッションのセッションID)に関連付けられているページ変更コマンド情報を含む応答を、PC20cに対して返信する(S422)。
PC20cの同期プログラムは、当該ページ変更コマンド情報を受信すると、図15のステップS310において起動された表示アプリ22に対して、当該ページ変更コマンド情報に含まれているページ変更コマンドを発行する。その結果、表示アプリ22は、表示対象のページをページ変更コマンドに応じたページに変更する(S423)。
このように、二以上の電子機器20が同期関係にある場合、「親」の電子機器20において表示ページが変更されると、「子」の電子機器20における表示ページが自動的に変更される。すなわち、「子」の表示状態は、「親」の表示状態に追随するように自動的に更新される。その結果、「親」の表示状態と、「子」の表示状態とは同期する。
ところで、上記では、「親」及び「子」共に、ページという概念を有するデータ形式の文書ファイルを処理可能である例を説明した。但し、電子機器20によっては、例えば、JPEG(Joint Photographic Experts Group)形式のように、ページという概念を有さないデータ形式のデータを処理するものもある。本実施の形態では、表示装置20b、デジタルカメラ20d、及びプロジェクタ20eが、そのような電子機器20の一例である。
図12〜図15において説明した電子機器20間の同期の開始時の処理手順において、「子」がプロジェクタ20eである場合、図14のステップS286では、図8のデータ変換テーブル125に基づいて、閲覧ファイルIDに係る文書ファイルの1ページ目が、JPEG形式に変換される。すなわち、JPEG形式の変換ファイル(JPEGファイル)が生成される。そして、図15のステップS308〜S310では、当該JPEGファイルがプロジェクタ20eに転送されることにより、スマートフォン20gにおける表示内容が、プロジェクタ20eによって投影される。
この状態において、スマートフォン20gにおいてページめくりが行われた場合に実行される処理手順について説明する。
図25は、同期中におけるページめくりに応じて実行される処理手順の第二の例を説明するためのシーケンス図である。なお、図25の処理の開始時には、プロジェクタ20eをPC20cの代わりとして、図12〜図15の処理手順が実行されていることとする。したがって、スマートフォン20gには、閲覧ファイルIDに係る文書ファイルに基づく変換ファイルの1ページ目が表示されており、プロジェクタ20eは、当該文書ファイルの1ページ目に基づく変換ファイル(JPEGファイル)の画像を投影していることとする。
ステップS501〜S518の処理手順は、図23のステップS401〜S418と同様である。
ステップS518に続いて、機器判定部12は、コマンド変換テーブル121を参照して、ステップS518の応答に含まれるページ番号に係るページについて、改めて変換ファイルの生成が必要であることを判断する。すなわち、図11において、「プロジェクタ」には、「画像表示コマンド」が設定されている。本実施の形態において、「画像表示コマンド」は、ページめくり(ページ変更)の都度、新たな画像を表示させる必要があることを意味する。新たな画像を表示させるためには、新たな画像を格納したファイルの生成が必要となる。
そこで、機器判定部12は、ステップS518におけるセッション管理部13からの応答に含まれている子セッションIDを指定して、閲覧ファイルIDの取得をセッション管理部13に要求する(S519)。セッション管理部13は、セッション管理テーブル122において、当該子セッションIDに係るレコードに記録されている閲覧ファイルIDを含む応答を、機器判定部12に返信する(S520)。
続いて、機器判定部12は、当該閲覧ファイルIDと、ステップS512の応答に含まれている機器種別(「プロジェクタ」)と、ステップS518の応答に含まれているページ番号とを指定して、文書ファイルのデータ形式の変換をデータ変換部15に要求する(S521)。データ変換部15は、閲覧ファイルIDに係る文書ファイルの取得を文書管理部16に要求する(S522)。文書管理部16は、共有フォルダより当該ファイルIDに係る文書ファイルのコピーを取得し、データ変換部15に返信する(S523)。
続いて、データ変換部15は、データ変換テーブル125を参照して、ステップS521において指定された機器種別に対応するデータ形式に、当該文書ファイルのコピーを変換する(S524)。ここで、ステップS521において指定されたページ番号に係るページが、変換対象とされる。データ変換部15は、変換後に生成された文書ファイル(変換ファイル)を、文書管理部16を介して文書記憶部126に保存しておく。文書管理部16への登録によって、変換ファイルに対してファイルIDが割り当てられる。
続いて、データ変換部15は、変換ファイルのファイルID(変換ファイルID)と変換ファイルのページ数(ここでは、1ページ)とを機器判定部12に応答する(S525)。続いて、機器判定部12は、閲覧ファイルID、変換ファイルID、及び変換ファイルのページ数をセッション管理部13に通知する(S526)。セッション管理部13は、当該閲覧ファイルID、当該変換ファイルID、及び当該ページ数等を、セッション管理テーブル122において対象セッションIDに対応するレコードに記録する。
続くステップS527〜S530では、図5のステップS132〜S135と同様の処理手順によって、変換ファイルが機器判定部12に取得される。続いて、機器判定部12は、当該変換ファイルと子セッションIDとを含む応答をシステム管理部11に返信する(S531)。システム管理部11は、応答に含まれている子セッションIDと変換ファイルとを関連付けて保持しておく。
その後、プロジェクタ20eの同期プログラムより送信される、同期情報の問い合わせのポーリングが情報処理装置10において受信されると(S532)、システム管理部11は、当該問い合わせに指定されているセッションID(すなわち、プロジェクタ20eとのセッションのセッションID)に関連付けられている変換ファイルを含む応答を、プロジェクタ20eに対して返信する(S533)。
プロジェクタ20eの同期プログラムは、当該変換ファイルを受信すると、表示アプリ22に対して当該変換ファイルを入力する。当該表示アプリ22は、当該変換ファイルを表示させる(S533)。その結果、ユーザからは、スマートフォン20gにおけるページめくりに応じて、プロジェクタ20eが投影する画像が変更されたように見える。
なお、上記では、説明の便宜上、一つの「親」に対して一つの「子」が同期している例を示したが、一つの「親」に対して、複数の「子」が同期していてもよい。また、「親」が扱えるデータ形式と、「子」が扱えるデータ形式とが同じである場合、「親」に関して生成された変換ファイルのコピーが、「子」に対して転送されるようにしてもよい。また、同期関係は、機器種別が同じ電子機器20間において行われてもよい。
また、上記では、スマートフォン20gとPC20c又はプロジェクタ20eとの同期の例について説明したが、他の電子機器20同士において同期関係が構築されてもよい。
上述したように、本実施の形態によれば、情報処理装置10が管理する文書ファイルは、アクセス元の電子機器20(の表示アプリ22)に対応したデータ形式に変換されて当該電子機器20に転送される。したがって、複数種類の各電子機器20は、予め特別なプログラム等をインストールすることなく、情報処理装置10が管理する文書ファイルを表示等させることができる。
したがって、情報処理装置10が管理する文書ファイル(各種の電子機器20がアクセス可能なデータ)の操作性を向上させることができる。
また、電子機器20間において、文書ファイルの表示状態をほぼリアルタイムで同期させることができる。そして、表示状態の同期は、同じ種別の電子機器20に限られず、異なる種別の電子機器20間でも可能である。斯かる観点からも情報処理装置10が管理する文書ファイルの操作性を向上させることができる。
また、同期のための処理を電子機器20に実行させる同期プログラムは、共有フォルダに対するアクセスに応じて自動的に電子機器20に導入(インストール)される。したがって、ユーザが、予め同期のためのプログラムのインストール等を行う必要性を低減させることができる。
また、ページ変更コマンドの解釈や、ページ変更コマンドの生成は、情報処理装置10によって行われる。したがって、各電子機器20に導入される同期プログラムに関して、表示アプリ22に対する依存度を低下させることができる。
なお、本実施の形態において、機器判定部12は、判定手段の一例である。データ変換部15は、変換手段の一例である。データ変換テーブル125は、データ形式記憶手段の一例である。セッション管理テーブル122は、状態記憶手段の一例である。システム管理部11は、通信制御手段の一例である。コマンド変換テーブル121は、コマンド記憶手段の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。