JP6084023B2 - 情報処理装置、プログラム及び制御方法 - Google Patents

情報処理装置、プログラム及び制御方法 Download PDF

Info

Publication number
JP6084023B2
JP6084023B2 JP2012270699A JP2012270699A JP6084023B2 JP 6084023 B2 JP6084023 B2 JP 6084023B2 JP 2012270699 A JP2012270699 A JP 2012270699A JP 2012270699 A JP2012270699 A JP 2012270699A JP 6084023 B2 JP6084023 B2 JP 6084023B2
Authority
JP
Japan
Prior art keywords
address
library
list
communication method
communication
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.)
Active
Application number
JP2012270699A
Other languages
English (en)
Other versions
JP2014116856A (ja
JP2014116856A5 (ja
Inventor
嘉仁 七海
嘉仁 七海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012270699A priority Critical patent/JP6084023B2/ja
Priority to US14/076,540 priority patent/US10523630B2/en
Publication of JP2014116856A publication Critical patent/JP2014116856A/ja
Publication of JP2014116856A5 publication Critical patent/JP2014116856A5/ja
Application granted granted Critical
Publication of JP6084023B2 publication Critical patent/JP6084023B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は外部装置に通信する技術に関する。
インターネット技術を利用したコンテンツ管理システムが普及してきている。ユーザは、クライアントからインターネットを介してサーバが開設しているWebページ上のコンテンツを操作することができる。クライアントはサーバのリソースをアドレスで指定しアクセスする。
特許文献1は、登録済みアドレスと自分のアドレスを比較し、一致したかどうかで処理を変える技術について開示している。また、特許文献1は図5に示すようにアドレスとしてIPアドレスによる表記を開示している。
特開平11−237998
登録アドレスから情報処理装置と外部情報処理装置の通信方法を特定できる環境を想定する。
ここで、アドレスの表記形式は例えば、IPアドレスによる表記や名前(ドメイン名・ホスト名)による表記など複数の表記形式がある。よって単純な文字列比較だけでは、登録アドレスと入力アドレスが同一の場所を指しているのか特定できない場合がある。このような場合に先の想定した環境では通信方法を特定できない虞がある。
本発明はこのような問題点に鑑みてなされたもので、ユーザにとって通信方法をより容易に特定可能にすることを目的とする。
上記の目的を達成するための本発明に係る情報処理装置は、
通信方法を特定するための第1のアドレスをDNSサーバに問い合せることで第2のアドレスを取得する取得手段と、
前記第1のアドレスと前記第2のアドレスを一覧に登録する登録手段と、
通信先としてユーザから第3のアドレスを受け付ける受付手段と、
前記第3のアドレスが前記一覧に含まれているか否かを判断する判断手段と、
前記判断手段の判断に基づいて通信方法を特定し、特定された前記通信方法を用いて外部情報処理装置と通信する通信手段と、を有することを特徴とする。
本発明によれば、ユーザにとって通信方法を容易に特定できる。
システム構成、及びハードウェア構成の一例を示す図である。 情報処理装置のソフトウェアの構成の一例を示す図である。 メインUIの一例を示す図である。 ライブラリ登録設定画面の一例を示す図である。 ライブラリ情報のデータ構造の一例を示す図である。 リソース特定処理の一例を示す図である。 プラグインAのライブラリ判別処理の一例を示す図である。 プラグインBのライブラリ判別処理の一例を示す図である。 ショートカットのデータ構造の一例を示す図である。 ライブラリ情報設定処理の一例を示す図である。 プラグインAのライブラリ識別処理の一例を示す図である。 プラグインBのライブラリ識別処理の一例を示す図である。 ライブラリ情報のデータ構造の一例を示す図である。 リソース特定処理の一例を示す図である。 リソース特定処理の一例を示す図である。 入力アドレスをDNS問い合せする処理の一例を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
なお、本明細書ではURLやファイルパスなどのファイル及びフォルダの所在を特定できる情報をまとめてアドレスと記載する。すなわち、アドレスは後述する情報処理装置101上のファイルパスを指すこともあれば、情報処理装置101がネットワーク等を介して通信可能な外部情報処理装置のファイルやフォルダの所在を特定できる(URLを含む)情報を指すこともある。また、情報処理装置101上のフォルダ及び情報処理装置101がネットワーク等を介して通信可能な外部情報処理装置のフォルダをライブラリと呼ぶ。
また、本明細書では一例として、プラグイン構造を持ち、プラグインモジュールを追加することで、様々な文書管理サーバへ通信可能なアプリケーションを想定する。また、プラグインモジュールごとに通信方法が異なる場合を想定する。
ここで本明細書の通信方法とは情報処理装置101が外部情報処理装置とファイル(あるいはデータ)をやりとりするための方法を意味する。
このようなアプリケーションにおいて、サーバリソースを一意に特定可能なアドレスを用いて、文書管理サーバへアクセスしようとする。そのとき、同じアドレス(例えば:http://xxx/yyy/zzz)であっても、サーバが提供している通信方法がWebDAVやREST,SOAPなどと異なることがある場合を想定している。
<第1の実施形態>
[システム構成、及びハードウェア構成]
本実施形態に係るシステムの構成、及びハードウェア構成について図1を用いて説明する。図1は、システム構成、及びハードウェア構成の一例を示す図である。図1(a)を用いてシステム構成を説明する。情報処理装置(コンピュータ)101はネットワークに接続されており、ネットワークを介してインターネットに接続されている。ネットワーク/インターネットにはDNSサーバ110、文書管理サーバ111及び文書管理サーバ112が接続されている。また本実施形態における情報処理装置101は、1台のみを示しているが、複数台であってもよい。また、ネットワーク、及びインターネットは、例えば、TCP/IPプロトコルなどをサポートする通信回線網であり有線・無線は問わない。
さらに情報処理装置101は、各種のユニット(102〜107)を含んで構成される。本明細書ではDNSサーバ110、文書管理サーバ111及び文書管理サーバ112も情報処理装置101と同じ構成である。
図1(b)を用いて具体的に説明する。CPU(Central Processing Unit)102は、各種のプログラムを実行し、プログラムに従って様々な機能を実現するユニットである。ROM(Read Only Memory)104は、各種のプログラムやデータ等を記憶するユニットである。RAM(Random Access Memory)103は、各種の情報を記憶するユニットである。また、RAM103は、CPU102の一時的な作業記憶領域としても利用されるユニットである。例えば、CPU102は、ROM104に記憶されているプログラムやデータをRAM103にロードしてプログラムを実行する。
Input/Outputインターフェース105は、情報処理装置101に接続されているディスプレイ(不図示)にデータを送信する他、ポインティングデバイス(不図示)からデータを受信するユニットである。
NIC(Network Interface Card)106は、情報処理装置101をネットワークに接続するためのユニットである。上述したユニットは、バス107を介してデータの送受信を行うことが可能に構成されている。
[ソフトウェア構成(全般)]
次に、情報処理装置101のソフトウェアの構成について図2を用いて説明する。図2は、情報処理装置101のソフトウェアの構成の一例を示す図である。
図2に示されるクライアントアプリ200における機能を実現するプログラムは、情報処理装置101のROM104等に記憶されている。即ち、CPU102がRAM103にプログラムをロードして実行することで、装置の機能及び後述するフローチャートに係る処理が実現される。なお、装置の機能及び後述するフローチャートに係る処理の全部又は一部については専用のハードウェアを用いて実現してもよい。
[ソフトウェア構成(OS)]
次に、OS(Operating System)212について説明する。OS212は公知の一般的なOSの機能(メモリ管理、リソース管理、アプリケーション管理等)を提供する。OS212は、ショートカットやメニュー画面を介してユーザからのアプリケーション起動要求を受けると、アプリケーションに対して実行要求を出す。これによりアプリケーションは起動処理を開始する。
[ソフトウェア構成(クライアントアプリ)]
次に、クライアントアプリ200におけるソフトウェアの構成について説明する。クライアントアプリ200は、各種のモジュール(201〜211)を含んで構成される。
メイン制御部201は、クライアントアプリ200を制御し、後述する各モジュール部に対する指示、管理を行う。情報表示部202は、メイン制御部201からの指示に従い、クライアントアプリ200のUIをユーザに提供する。プラグイン管理部203は、クライアントアプリ200の起動時に所定のフォルダ下に配置されたプラグイン部群(ここではプラグイン部A206とプラグイン部B209)を判別し、管理する。なお本例では、プラグイン部A206とプラグイン部B209で説明しているが、同様の構成のプラグインを所定のフォルダ下に配置・削除すれば、プラグインを追加・削除することが出来る。
ライブラリ判別部205は、情報表示部(202)に入力された値からライブラリ判別を行う。
プラグイン部A206は、各種のモジュール(207、208)を含んで構成される。プラグイン部Aライブラリ判別部207は、プラグイン部A206固有のライブラリ判別を行う。プラグイン部Aライブラリアクセス部208は、外部文書管理システムへのアクセス部である。また各プラグインはプラグインを一意に判別のためにライブラリ種別というプロパティ値を保持する。プラグイン部A206のライブラリ種別は“AAA Library”である。
プラグイン部B209は、プラグイン部A206と同じ構成で成り立ち、各種のモジュール(210、211)を含んで構成される。プラグイン部Bライブラリ判別部210は、プラグイン部B209固有のライブラリ判別を行う。プラグイン部Bライブラリアクセス部211は、外部文書管理システムへのアクセス部である。プラグイン部B209のライブラリ種別は“BBB Library”である。
図3は、クライアントアプリ200のメインUI300の一例を示す図である。メニューバー301は、クライアントアプリ200における設定値の入力を行うための項目(選択肢)を表示する。なお、クライアントアプリ200のUIがユーザ操作されることで、後述するライブラリ登録等が行われる。
また、クライアントアプリ200のUIの形態(位置、大きさ、範囲、配置、表示内容など)は、図に示す形態に限定されるものではなく、情報処理装置101の機能を実現することができる適宜の構成を採用することができる。
操作情報取得部(不図示)は、情報表示部202により表示されたクライアントアプリ200のUIがユーザ操作された情報を取得し、取得した情報をメイン制御部201に通知する。メイン制御部201は適宜後述する記憶部204に情報を記憶する。
記憶部204は、情報表示部202及び操作情報取得部を介して、換言するならばクライアントアプリ200のUIを介して、ユーザにより入力された設定値などを格納する。
Managementボタン302は、後述するライブラリ管理画面400を表示するためのボタンである。
ナビゲーションペイン303は、後述するライブラリ管理画面400で登録した登録済みライブラリをTree状に表示する。本例では、登録済みライブラリ1(”Library1”という登録名のライブラリ)304と登録済みライブラリ2(”My Library”という登録名のライブラリ)305がライブラリとして登録され、表示されていることを表している。
アドレスバー306は、ユーザが選択中のオブジェクトのアドレスを表示するテキストボックスである。さらにアドレスバー306にユーザがアドレスを入力することにより、そのアドレスに対応したリソース(フォルダやファイルを指す)を表示することもできる。なお、この時の処理については図6を用いて説明する際に詳細に述べる。
ファイルリストペイン307は、アドレスバーで入力されたアドレス、またはナビゲーションペイン303で選択されたフォルダオブジェクト下のフォルダやファイルを表示する。
プレビューペイン308は、ファイルリストペイン307で選択されたファイルのプレビュー画像を表示する。
プロパティペイン309は、ファイルリストペイン307で選択されたフォルダやファイルのプロパティ値を表示する。
図4(a)は、ライブラリ管理のUIを提供する画面の一例を示す図である。ライブラリ管理画面400は、ライブラリに関するシステム設定を行うための画面であり、ユーザによりManagementボタン302が押されると表示される。
登録ライブラリ一覧405は登録済みライブラリを一覧で表示する。
ライブラリ登録ボタン401は、ライブラリを登録するためのライブラリ選択画面(後述)を表示するためのボタンである。
登録情報変更ボタン402は、登録済みライブラリ(後述のライブラリ情報)を変更するためのボタンである。ユーザが登録ライブラリ一覧405で登録済みライブラリを選択し、登録情報変更ボタン402を押すと、登録ライブラリ情報変更画面(不図示)を表示し、ライブラリ情報を変更する。
登録解除ボタン403は、登録済みライブラリの登録を削除するためのボタンである。登録ライブラリ一覧405で登録済みライブラリを選択し、登録解除ボタン403を押すことで登録を削除することができる。
OKボタン404を押すと、ライブラリ管理画面400を閉じることができる。
図4(b)は、ライブラリ選択のUIを提供する画面の一例を示す図である。ライブラリ選択画面410は、ライブラリを登録するためにライブラリ種別を選択するための画面である。登録可能ライブラリ一覧411は、登録可能なライブラリ(プラグイン部群)がプラグイン管理部203により読み取られ、その結果が一覧で表示されている。ユーザにより登録可能ライブラリ一覧411でライブラリ種別を選択し、OKボタン412が押されると後述するライブラリ通信先設定画面420を表示する。キャンセルボタン413は、ライブラリ登録をキャンセルするためのボタンであり、キャンセルボタン413を押すと、ライブラリ管理画面400に戻る。
図4(c )は、ライブラリ通信先設定のUIを提供する画面の一例を示す図である。ライブラリ通信先設定画面420は、ライブラリの通信先を設定するための画面である。アドレス入力テキストボックス421は、登録ライブラリのアドレス(後述の503、506)を入力するためのテキストボックス(受付部分)である。登録名入力テキストボックス422は、ライブラリの登録名(後述の504、507)を入力するためのテキストボックスである。OKボタン423は、設定を決定するためのボタンである。ユーザによりOKボタン423が押されると、メイン制御部201は後述のライブラリ情報500として設定値を記憶部204に保存する。キャンセルボタン424は、設定をキャンセルするためのボタンである。なお、アドレスが異なれば同一のライブラリ種別を複数設定することが可能である。
[データ構造(ライブラリ情報500)]
次に、ライブラリ登録によって登録されるライブラリ情報のデータについて図5を用いて説明する。
図5は、ライブラリ情報500のデータの一例(ライブラリ登録情報XML501)を示す図である。ライブラリ種別502、505は、ライブラリ選択画面410の登録可能ライブラリ一覧411で選択したライブラリ種別に対応する。アドレス503、506は、ライブラリ通信先設定画面420のアドレス入力テキストボックスに入力した値に対応する。登録名504、507は、登録名入力テキストボックス422に入力した値に対応する。ライブラリ情報500は記憶部204で保持される。また登録情報A508(502、503、504)は、プラグイン部A206をライブラリとして登録した場合の例である。また、登録情報B509(505、506、507)は、プラグイン部B209をライブラリとして登録した場合の例である。
[リソース特定処理フロー]
図6は、クライアントアプリ200がアドレスに対応したリソースへアクセスする処理に係るフローチャートの一例を示す図である。情報処理装置101のクライアントアプリ200において、アドレスバー306にユーザが文字列(アドレス)を入力した時に、情報処理装置101のクライアントアプリ200がアドレスに対応したリソースへアクセスする処理も図6の処理に基づいて行われる。
S601では、ユーザによるアドレスバー306への文字入力をトリガーに、クライアントアプリ200のメイン制御部201は、操作情報取得部でアドレスバー306に入力された入力文字列を取得する。
S602では、メイン制御部201は、ライブラリ判別部205で入力文字列とライブラリ情報500のアドレス503、506を部分文字列比較する。ここで部分文字列比較で一致するとは、例えば、入力文字列(“http://xxx.yyy.zzz/hoge/hoge”)の場合、アドレス503(“http://xxx.yyy.zzz”)との比較結果は一致する(True)である。また、入力文字列(“http://192.168.0.1/hoge/hoge”)の場合、アドレス503(“http://xxx.yyy.zzz”)との比較結果は一致しない(False)である。
なお、ここで文字列比較の方法としてはプロトコル種別を除いた上で文字列比較又は部分文字列比較を行うように構成しても構わない。先の例で言えば具体的には“xxx.yyy.zzz”と“xxx.yyy.zzz/hoge/hoge”を比較したり、さらにはプロトコル種別に加えてフォルダを除いて“192.168.0.1”と“xxx.yyy.zzz”を比較したりするように構成しても構わない。
S603では、入力文字列とアドレス503の比較結果が一致(True)の場合、S604に処理を進め、他方、比較結果が一致しない(False)の場合、S607に処理を進める。
(以下、登録情報A508が一致した例で説明する)
S604では、メイン制御部201は、ライブラリ判別部205で一致したアドレス503のライブラリ種別502から対応したプラグイン部を判別する。登録情報A508の場合は、ライブラリ種別502は“AAA Library”であり、対応したプラグイン部は、プラグイン部A206だと判別される。
S605では、プラグイン部A206のプラグイン部Aライブラリアクセス部208は通信方法としてHTTPあるいはHTTPSを用いて文書管理サーバ111にアクセスし、入力文字列(アドレス)のリソース情報(フォルダやファイルに関する情報)を取得する。
ここでS604において、対応したプラグイン部がプラグイン部B209だと判別された場合について説明する。S605ではプラグイン部Bライブラリアクセス部211は通信方法としてSMBあるいはCIFSを用いて文書管理サーバ112にアクセスし、入力文字列(アドレス)のリソース情報(フォルダやファイルに関する情報)を取得する。
S606では、メイン制御部201は、取得したリソース情報をメインUI300に表示する。その際、メインUI300のナビゲーションペイン303では、対応した登録済みライブラリ304が選択状態になり、ファイルリストペイン307は、ツリー上の対応したリソースのオブジェクトが選択状態(強調表示)になる。さらにオブジェクトが文書ファイルの場合、プレビューペイン308に文書ファイルのプレビューが表示される。さらにプロパティペイン309では、オブジェクトのプロパティが表示される。
これにより複数のライブラリがツリー上に表示されていたとしても、入力されたアドレスからどのライブラリに対応するアドレスなのかユーザは簡単に特定できる効果がある。
S607では、S603で一致しない(False)になった場合、メイン制御部201は、ライブラリ情報500として登録されている数(ライブラリ登録情報XML501の場合、2回)だけ、S608〜610を繰り返し処理する。
S608では、メイン制御部201は、ライブラリ種別をライブラリ情報500から取得する。登録情報A508の場合は、ライブラリ種別502“AAA Library”であり、登録情報B509の場合は、ライブラリ種別505”BBB Library”である。
S609では、ライブラリ種別が”AAA Library”の場合、対応したプラグイン部A206が決定され、ライブラリ種別が”BBB Library”の場合、対応したプラグイン部B209が決定される。
S610では、各プラグイン(206、209)のライブラリ判別部(207、210)でライブラリ判別を行う。詳細なフローは後述する。
S611では、S610の比較結果が一致(True)の場合、S604に処理を進め、他方、比較結果が一致しない(False)の場合、S612に処理を進める。
S612では、メイン制御部201は、エラーを表示する。
なお、S603で一致しない(False)場合でかつS611で一致と判断した場合、S604からS606にかけてアドレスバーに表示するアドレスを入力文字列ではなく登録されたライブラリ情報のアドレスに変更しても構わない。
[プラグイン部Aライブラリ判別部207におけるライブラリ判別処理フロー]
次に、S610におけるプラグイン部A206のプラグイン部Aライブラリ判別部207におけるライブラリ判別処理について図7を用いて説明する。図7は、プラグイン部Aライブラリ判別部207におけるライブラリ判別処理フローチャートの一例を示す図である。
S701では、プラグイン部Aライブラリ判別部207は、入力文字列(ここでは、例として”http://192.168.0.1/hoge/hoge”で説明する)が、プラグインAとして許容できるかどうかを判別する。つまり、文書管理サーバ111にアクセスするアドレスとして適切かどうかを判別する。プラグイン部Aライブラリ判別部207では、入力文字列のPrefixが”http://” または”https://”であるかを判別している。一致した場合、S710に処理を進め、他方、一致しなかった場合、処理を終了する。
S710では、プラグイン部Aライブラリ判別部207は後述するS711のDNSサーバ110の問い合わせ結果のキャッシュがあるかどうかを判断する。あると判断した場合はS703に進み、ないと判断した場合はS702に進む。
S702では、プラグイン部Aライブラリ判別部207は、アドレス503(“http://xxx.yyy.zzz”)をDNSサーバ110に問い合わせする。(ここで、DNSサーバ110問い合わせ結果として”xxx.yyy.zzz”= ”192.168.0.1”とする) 。DNSサーバ110に問い合せることで異なる表記形式のアドレスを取得することが可能となる。
なお、DNSサーバ110に問い合わせても一定時間内に結果が返ってこない場合はタイムアウトしてS703の処理を行わずに終了する。この場合は後述するS703の判断の結果、アドレスは一致しないと判断したとみなされる。
S711では、プラグイン部Aライブラリ判別部207は、S702でDNSサーバ110に問い合せることで取得した異なる表記形式のアドレスをキャッシュする。
ここからは図7及び図8の処理で共通の事項を説明する。
本明細書ではDNSサーバ110からアドレスを取得する際にDNSサーバ110が一つのアドレスに対して複数の異なる表記形式のアドレスを有していても、複数の異なる表記形式のアドレスのうち情報処理装置101は一つのアドレスのみを取得する。これによりDNSサーバ110に問い合わせる処理を高速に行うことができる。しかし、複数の異なる表記形式のアドレスを全て取得するように構成しても構わない。
また、DNSサーバ110に問合せを試みた結果、DNSサーバ110と通信を確立できなかった場合は当然異なる表記形式のアドレスを取得できない。よって、DNSサーバ110と通信を確立できなかった場合はアドレスのキャッシュを行わない。ここで、通信を確立できなかったときに問い合わせようとしたアドレスと同じアドレスをDNSサーバ110に次回以降問合せる必要があるとする。この場合は再度DNSサーバ110との通信の確立を試みて、通信が確立した場合に異なる表記形式のアドレスの取得を試みることができる。すなわち、図7の処理であればS710でキャッシュがないと判断して、S702に進み再度DNSサーバ110に問合せを行う。
なお、DNSサーバ110に問合せを行っても異なる表記形式のアドレスが存在せず、異なる表記形式のアドレスを取得できなかった場合は異なる表記形式のアドレスを取得できなかったことを示す情報もキャッシュするように構成しても構わない。このように構成した場合では異なる表記形式のアドレスを取得できなかったことを示す情報がある場合はDNSサーバ110への問合せを行わない。また、この場合も図7の処理であれば後述するS703の判断の結果、アドレスは一致しないと判断したとみなされる。
これで図7及び図8の処理で共通の事項の説明を終える。
S703では、プラグイン部Aライブラリ判別部207は、入力文字列(”http://192.168.0.1/hoge/hoge”)と、DNSサーバ110問い合わせ結果を加味したアドレス503(“http:// 192.168.0.1”)の部分文字列比較を行い、一致(True),一致しない(False)を判別する。
[ライブラリ判別部210におけるライブラリ判別処理フロー]
次に、S610におけるプラグイン部B209のライブラリ判別部210におけるライブラリ判別処理について図8を用いて説明する。図8は、ライブラリ判別部210におけるライブラリ判別処理フローチャートの一例を示す図である。
S801では、プラグイン部Bライブラリ判別部210は、入力文字列(ここでは、例”¥¥192.168.0.2¥xxx¥yyy”で説明する)が、プラグイン部B209として許容できるかどうかを判別する。つまりは、文書管理サーバ112にアクセスするアドレスとして適切かどうかを判別する。プラグイン部Bライブラリ判別部210では、入力文字列のPrefixが”file:///” または”¥¥”、”*://”であるかを判別している。一致した場合、S802に処理を進め、他方、一致しなかった場合、処理を終了する。
S802では、プラグイン部Bライブラリ判別部210は、アドレス506(“file:///z:xxx”)がネットワーク割り当て行われているかどうかを情報処理装置101のOS212に確認する。すなわち、OSのドライブレター(この場合はzドライブ)に対してネットワークパスを割り振っているかどうかを確認する。ネットワーク割り当てが行われていれば、S803に処理をすすめ、割り当たっていなければ、S804に処理を進める。
S803では、プラグイン部Bライブラリ判別部210は、ネットワークリソース名をOSから取得する。(ここで、zドライブは”¥¥aaa.bbb.ccc”に割り当たっているとする)。
S810ではプラグイン部Aライブラリ判別部207は後述するS711のDNSサーバ110の問い合わせ結果のキャッシュがあるかどうかを判断する。あると判断した場合はS805に進み、ないと判断した場合はS804に進む。
S804では、プラグイン部Bライブラリ判別部210は、アドレス506(“”¥¥aaa.bbb.ccc¥xxx”)をDNSサーバ110に問い合わせする。(ここで、DNSサーバ110問い合わせ結果として”aaa.bbb.ccc”= ”192.168.0.2”とする。)
なお、DNSサーバ110に問い合わせても一定時間内に結果が返ってこない場合はタイムアウトしてS804の処理を行わずに終了する。この場合は後述するS805の判断の結果一致しないと判断したとみなされる。
S811では、プラグイン部Aライブラリ判別部207は、S804でDNSサーバ110に問い合せることで取得した異なる表記形式のアドレスをキャッシュする。
S805では、プラグイン部Bライブラリ判別部210は、入力文字列(”¥¥192.168.0.2¥xxx¥yyy”)と、DNSサーバ110問い合わせ結果を加味したアドレス503(“¥¥192.168.0.1¥xxx”)の部分文字列比較を行い、一致(True),一致しない(False)を判別する。
なお、ここで文字列比較の方法としてはS602で説明したように、プロトコル種別やPrefixを除いた上で文字列比較又は部分文字列比較を行うように構成しても構わない。あるいはプロトコル種別やPrefixに加えてフォルダを除いた上で文字列比較又は部分文字列比較を行うように構成しても構わない。
また、図6、7,8では、アドレスバー306へのユーザの文字入力をトリガーに処理が開始されたが、ユーザからのショートカットのダブルクリックをトリガーにしても同一の処理が行われる。
図9は、ショートカットファイルのデータ構造の一例を説明する図である。ショートカットファイル901はXMLフォーマットで内容が記述されており、アドレス902は文書管理サーバにアクセスするアドレスである。
ユーザがショートカットファイル901をダブルクリックすると、OSは、ショートカットファイルの拡張子を判別し、関連づけられたアプリケーション(ここではクライアントアプリ200)を起動する。クライアントアプリ200のメイン制御部201は、ショートカットファイル901からアドレス902を読み取り、S602へと処理を進める。以下は同様の処理が行われる。
以上のように、入力文字列とライブラリ情報500のアドレスの単純な文字列比較(S603)だけでなく、各プラグイン(206、209)のライブラリ判別部(207、210)で、プラグイン固有の比較処理を行うことにより、入力文字列が適切なURIかどうかを判別することが出来る。さらにURIに対する適切な通信方法(208、211)を決定することが出来る。このような処理により、より容易に文書管理サーバへ通信可能になるため、アプリケーションをより簡易に利用可能にすることができる。
<第2の実施形態>
本実施形態では、第1の実施形態と同一の構成については同一の符号を用い、その説明を適宜省略する。
ライブラリ通信先設定時に、図4(c)のライブラリ通信先設定画面420で、ユーザが登録ライブラリのアドレス、ライブラリの登録名を入力し、OKボタン423を押されたことをトリガーとし、以下ライブラリ情報設定処理が実行される。
[ライブラリ情報設定処理フロー]
情報処理装置101のクライアントアプリ200におけるライブラリ情報設定処理について図10を用いて説明する。図10は、クライアントアプリ200がライブラリ情報設定処理に係るフローチャートの一例を示す図である。
S1001では、ユーザによりOKボタン423が押されると、クライアントアプリ200のメイン制御部201は、図4(b)の登録可能ライブラリ一覧411で選択したライブラリ種別を取得する。(本例では、“AAA Library”また”BBB Library”である。)
S1002では、ライブラリ識別が”AAA Library”の場合、対応したプラグイン部A206が決定され、ライブラリ識別が”BBB Library”の場合、対応したプラグイン部B209が決定される。
S1003では、各プラグイン(206、209)のライブラリ判別部(207、210)でライブラリ識別を行う。詳細なフローは後述する。
[ライブラリ判別部207におけるライブラリ識別処理フロー]
次に、S1003におけるプラグイン部A206のライブラリ判別部207におけるライブラリ識別処理について図11を用いて説明する。図11は、ライブラリ判別部207におけるライブラリ識別処理フローチャートの一例を示す図である。
S1101では、プラグイン部Aライブラリ判別部207は、入力文字列(ここでは、”http://xxx.yyy.zzz”で説明する)をDNSサーバ110に問い合わせする。(ここで、DNSサーバ110問い合わせ結果として”xxx.yyy.zzz”= ”192.168.0.1”とする。)
S1102では、プラグイン部Aライブラリ判別部207は、後述のライブラリ情報1300(登録情報A1307)を保存する。
[ライブラリ判別部210におけるライブラリ識別処理フロー]
次に、S1003におけるプラグイン部B209のライブラリ判別部210におけるライブラリ識別処理について図12を用いて説明する。図12は、ライブラリ判別部210におけるライブラリ識別処理フローチャートの一例を示す図である。
S1201では、プラグイン部Bライブラリ判別部210は、入力文字列(ここでは、”file:///z:/xxx”で説明する)がネットワーク割り当て行われているかどうかをOSに確認する。ネットワーク割り当てが行われていれば、S1202に処理をすすめ、割り当たっていなければ、S1203に処理を進める。
S1202では、プラグイン部Bライブラリ判別部210は、ネットワークリソース名を取得する。(ここで、zドライブは”¥¥aaa.bbb.ccc”に割り当たっているとする)
S1203では、プラグイン部Bライブラリ判別部210は、(“¥¥aaa.bbb.ccc”)をDNSサーバ110に問い合わせする。(ここで、DNSサーバ110問い合わせ結果として”aaa.bbb.ccc”= ”192.168.0.2”とする。)
S1204では、プラグイン部Bライブラリ判別部210は、後述のライブラリ情報1300(登録情報B1308)を保存する。
[データ構造(ライブラリ情報1300)]
次に、ライブラリ登録によって登録されるライブラリ情報のデータについて図13を用いて説明する。
図13は、ライブラリ情報1300のデータの一例(ライブラリ登録情報XML1301)を示す図である。ライブラリ種別502、505は、ライブラリ選択画面410の登録可能ライブラリ一覧411で選択したライブラリ種別に対応する。登録名504、507は、登録名入力テキストボックス422に入力した値に対応する。アドレス1302は、ライブラリ通信先設定画面420のアドレス入力テキストボックスに入力した値に対応する。アドレス1303は、S1101で、DNSサーバ110問い合わせを行った結果の値に対応する。また、アドレス1304は、ライブラリ通信先設定画面420のアドレス入力テキストボックスに入力した値に対応する。アドレス1305は、S1202で、ネットワークリソース名問い合わせを行った結果の値に対応する。アドレス1306は、S1203で、DNSサーバ110問い合わせを行った結果の値に対応する。
ライブラリ情報1300は記憶部204で保持される。また登録情報A1307(502、1302、1303、504)は、プラグイン部A206をライブラリとして登録した場合の例である。また、登録情報B1308(505、1304、1305、1306、507)は、プラグイン部B209をライブラリとして登録した場合の例である。
[リソース特定処理フロー]
情報処理装置101のクライアントアプリ200において、アドレスバー306にユーザが文字列(アドレス)を入力した時に、情報処理装置101のクライアントアプリ200がアドレスに対応したリソースへアクセスする処理について図14を用いて説明する。図14は、クライアントアプリ200がアドレスに対応したリソースへアクセスする処理に係るフローチャートの一例を示す図である。
S1401では、メイン制御部201はライブラリ情報1300に対して見つかったアドレスの追加を行う。例えば”Library1”というライブラリに登録されているURLがhttp://xxx.yyy.zzzであり、DNSサーバ110からxxx.yyy.zzzの問い合わせ結果として192.168.0.1というIPアドレスを取得したとする。この場合は”Library1”のURLの候補として192.168.0.1を追加する。これによりライブラリ情報1300の更新が行われる。
以上のように、登録時に問い合わせを行い保持しておき、変更があった場合にライブラリ情報1300にアドレスを追加することにより、毎回DNSサーバ110問い合わせを行う必要がなくなるため、問い合わせ回数を減らすことができ、パフォーマンス向上に繋がる。
なお、ライブラリ情報1300の更新とは別に、ライブラリに登録されているURLやDNSサーバ110の問い合わせ結果をメモリ上でキャッシュするように構成しても構わない。特にDNSサーバ110の問い合わせ結果をメモリ上でキャッシュすることで、クライアントアプリ200を起動している間は、DNSサーバ110へ何度も問い合わせることを防ぐことができる。
<第3の実施形態>
本実施形態では、第1の実施形態と同一の構成については同一の符号を用い、その説明を適宜省略する。
[リソース特定処理フロー]
情報処理装置101のクライアントアプリ200において、アドレスバー306にユーザが文字列(アドレス)を入力した時に、情報処理装置101のクライアントアプリ200がアドレスに対応したリソースへアクセスする処理について図15を用いて説明する。図15は、クライアントアプリ200がアドレスに対応したリソースへアクセスする処理に係るフローチャートの一例を示す図である。
S1501では、メイン制御部201は、ユーザによるアドレスバー入力による入力文字列(直接入力)なのかどうかを判別する。ユーザによりアドレスバー入力が行われたと判断された場合は、S607へ処理を進め、その他の場合は、S1502に処理を進める。
S1502では、メイン制御部201は、ショートカット起動からの入力文字列判別なのかどうかを判別する。ショートカット起動からの場合は、S607へ処理を進め、その他の場合は、S612に処理を進める。
以上のように、ユーザによるアドレス入力からの問い合わせなのか、あるいはショートカット起動によるアドレス問い合わせなのかを判断し、それ以外の場合に比較処理を行わないことにより、各プラグインの比較処理を減らすことが出来るので、パフォーマンス向上に繋がる。
<第4の実施形態>
例えばユーザの使用方法によっては登録ライブラリに登録されたアドレスがIPアドレスによる表記であり、逆にアドレスバー306に入力されたアドレスが名前(ドメイン名・ホスト名)による表記である状況も存在しうる。本実施形態ではこのような状況でもライブラリを特定する方法について記載する。
なお、本実施形態では、第1の実施形態と同一の構成については同一の符号を用い、その説明を適宜省略する。
[リソース特定処理フロー]
図16を用いて具体的な処理について説明する。
S1601でアドレスバー306に入力されたアドレスをDNSサーバ110に問い合わせる。
S1602でアドレスバー306に入力されたアドレスとS1601でDNSサーバ110に問い合わせた結果取得したアドレスの2つのアドレスと登録済みライブラリ情報に含まれているアドレスを部分文字列比較する。
S1603で2つのアドレスのうち少なくとも1つのアドレスが登録済みライブラリ情報のアドレスと一致するかどうかを判断する。一致すると判断した場合はS604に進み、一致しないと判断した場合はS1604に進む。
S1604ではS610の比較の結果、一致するかどうかを判断する。
なお、図16による処理を行う際は図7のS703及び図8のS805の比較では2つのアドレスのうち少なくとも1つのアドレスが、S702又はS804のDNSサーバ110への問い合せの結果取得したアドレスと一致するのかどうかを判断する。
なお、アドレスバー306に入力されたアドレスをDNSサーバ110に問い合わせるタイミングは比較の前であればいつでも構わない。例えばS1601の代わりに図7のS702と図8のS804と同じタイミングで問い合わせても構わない。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
上述した実施形態の構成によれば、情報処理装置をより容易に利用可能にすることができる。

Claims (11)

  1. 通信方法を特定するための第1のアドレスをDNSサーバに問い合せることで第2のアドレスを取得する取得手段と、
    前記第1のアドレスと前記第2のアドレスを一覧に登録する登録手段と、
    通信先としてユーザから第3のアドレスを受け付ける受付手段と、
    前記第3のアドレスが前記一覧に含まれているか否かを判断する判断手段と、
    前記判断手段の判断に基づいて通信方法を特定し、特定された前記通信方法を用いて外部情報処理装置と通信する通信手段と、を有することを特徴とする情報処理装置。
  2. 前記取得手段は、前記第3のアドレスをDNSサーバに問い合せることで第4のアドレスを取得し、
    前記情報処理装置はさらに、前記第1のアドレスと前記第4のアドレスが一致するかを判断する第2の判断手段を有し、
    前記通信手段は、前記第2の判断手段がアドレスは一致すると判断した場合に通信方法を特定し、特定された前記通信方法を用いて通信することを特徴とする請求項1に記載の情報処理装置。
  3. 前記取得手段は、通信方法を特定するための第5のアドレスをDNSサーバに問い合せることで第6のアドレスを取得し、
    前記登録手段は、前記第1のアドレス及び前記第2のアドレスを第1の一覧として登録して、前記第5のアドレス及び前記第6のアドレスを第2の一覧として登録
    前記判断手段は前記第3のアドレスが前記第1の一覧又は前記第2の一覧に含まれているかを判断し、前記判断手段の判断の結果、前記第3のアドレスが前記第1の一覧に含まれている場合に1の通信方法を用いて通信して、前記第3のアドレスが前記第2の一覧に含まれている場合に2の通信方法を用いて通信することを特徴とする請求項1又は請求項2に記載の情報処理装置。
  4. 前記取得手段はアドレスのネットワークリソース名を取得して、取得したネットワークリソース名を用いてDNSサーバに問い合せることで前記第2のアドレスを取得することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  5. 前記取得手段が前記第2のアドレスを取得した場合に前記一覧を含む登録ライブラリ情報を更新する更新手段と、を有し、
    前記判断手段は前記登録ライブラリ情報に基づいて前記第3のアドレスが前記一覧に含まれているか否かを判断することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  6. コンピュータに、
    通信方法を特定するための第1のアドレスをDNSサーバに問い合せることで第2のアドレスを取得する取得工程と、
    前記第1のアドレスと前記第2のアドレスを一覧に登録する登録工程と、
    通信先としてユーザから第3のアドレスを受け付ける受付工程と、
    前記第3のアドレスが前記一覧に含まれているか否かを判断する判断工程と、
    前記判断工程の判断に基づいて通信方法を特定し、特定された前記通信方法を用いて外部コンピュータと通信する通信工程と、を実行させることを特徴とするプログラム。
  7. 前記取得工程は、前記第3のアドレスをDNSサーバに問い合せることで第4のアドレスを取得し、
    前記コンピュータにさらに、前記第1のアドレスと前記第4のアドレスが一致するかを判断する第2の判断工程を実行させ、
    前記通信工程は、前記第2の判断工程でアドレスは一致すると判断した場合に通信方法を特定し、特定された前記通信方法を用いて通信することを特徴とする請求項6に記載のプログラム。
  8. 前記取得工程は、通信方法を特定するための第5のアドレスをDNSサーバに問い合せることで第6のアドレスを取得し、
    前記登録工程は、前記第1のアドレス及び前記第2のアドレスを第1の一覧として登録して、前記第5のアドレス及び前記第6のアドレスを第2の一覧として登録し、
    前記判断工程は前記第3のアドレスが前記第1の一覧又は前記第2の一覧に含まれているかを判断し、
    前記通信工程は、前記判断工程の判断の結果、前記第3のアドレスが前記第1の一覧に含まれている場合に第1の通信方法を用いて通信して、前記第3のアドレスが前記第2の一覧に含まれている場合に第2の通信方法を用いて通信することを特徴とする請求項6又は請求項7に記載のプログラム。
  9. 前記取得工程はアドレスのネットワークリソース名を取得して、取得したネットワークリソース名を用いてDNSサーバに問い合せることで前記第2のアドレスを取得することを特徴とする請求項6乃至8のいずれか1項に記載のプログラム。
  10. 前記コンピュータにさらに、前記取得工程で前記第2のアドレスを取得した場合に前記一覧を含む登録ライブラリ情報を更新する更新工程、を実行させ、
    前記判断工程は前記登録ライブラリ情報に基づいて前記第3のアドレスが前記一覧に含まれているか否かを判断することを特徴とする請求項6乃至9のいずれか1項に記載のプログラム。
  11. 通信方法を特定するための第1のアドレスをDNSサーバに問い合せることで第2のアドレスを取得する取得工程と、
    前記第1のアドレスと前記第2のアドレスを一覧に登録する登録工程と、
    通信先としてユーザから第3のアドレスを受け付ける受付工程と、
    前記第3のアドレスが前記一覧に含まれているか否かを判断する判断工程と、
    前記判断工程の判断に基づいて通信方法を特定し、特定された前記通信方法を用いて外部情報処理装置と通信する通信工程と、を有することを特徴とする制御方法。
JP2012270699A 2012-11-14 2012-12-11 情報処理装置、プログラム及び制御方法 Active JP6084023B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012270699A JP6084023B2 (ja) 2012-11-14 2012-12-11 情報処理装置、プログラム及び制御方法
US14/076,540 US10523630B2 (en) 2012-11-14 2013-11-11 Information processing apparatus, storage medium, and control method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012250180 2012-11-14
JP2012250180 2012-11-14
JP2012270699A JP6084023B2 (ja) 2012-11-14 2012-12-11 情報処理装置、プログラム及び制御方法

Publications (3)

Publication Number Publication Date
JP2014116856A JP2014116856A (ja) 2014-06-26
JP2014116856A5 JP2014116856A5 (ja) 2016-02-12
JP6084023B2 true JP6084023B2 (ja) 2017-02-22

Family

ID=50682838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012270699A Active JP6084023B2 (ja) 2012-11-14 2012-12-11 情報処理装置、プログラム及び制御方法

Country Status (2)

Country Link
US (1) US10523630B2 (ja)
JP (1) JP6084023B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017094098A1 (ja) * 2015-12-01 2017-06-08 株式会社島津製作所 分析制御装置及び該分析制御装置用プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3275954B2 (ja) * 1998-02-20 2002-04-22 日本電気株式会社 サーバ多重化におけるサーバ登録方法
US7418504B2 (en) * 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
JP3596400B2 (ja) * 2000-01-21 2004-12-02 日本電気株式会社 Dnsサーバフィルタ
US7209959B1 (en) * 2000-04-04 2007-04-24 Wk Networks, Inc. Apparatus, system, and method for communicating to a network through a virtual domain providing anonymity to a client communicating on the network
JP3858860B2 (ja) * 2003-07-14 2006-12-20 村田機械株式会社 通信端末装置
JP4533227B2 (ja) * 2005-04-25 2010-09-01 キヤノン株式会社 データ処理装置、登録方法及びプログラム

Also Published As

Publication number Publication date
JP2014116856A (ja) 2014-06-26
US10523630B2 (en) 2019-12-31
US20140136731A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
CN106302842B (zh) 一种域名解析方法、装置及***
KR101247027B1 (ko) 장치를 위한 웹 서비스를 이용하는 트랜스 네트워크 로밍및 찾기
CN106797410A (zh) 域名解析方法和装置
CN109729187B (zh) 一种代理通信方法、***、装置及存储介质
JP6766110B2 (ja) 制御装置、制御方法、及びプログラム
CN112231603A (zh) 一种文件下载方法、服务器、客户端和存储介质
JP5550385B2 (ja) 画像処理装置及びその制御方法、並びに記憶媒体
JP6084023B2 (ja) 情報処理装置、プログラム及び制御方法
JP4903118B2 (ja) センシングデータを収集するためのwebサーバおよびプログラム
JP6523768B2 (ja) 名前解決装置、名前解決方法及び名前解決プログラム
JP6605149B2 (ja) 共有端末の検出方法及びその装置
JP2015114842A (ja) 情報処理装置及びその制御方法、プログラム
JPH11296456A (ja) サーバ統合用プロキシサーバ
JP3959386B2 (ja) 名前解決装置、名前解決システム、名前解決方法および名前解決プログラム
JP7073703B2 (ja) ゲートウェイ装置、クライアントサーバシステムおよびプログラム
US7773552B2 (en) Mobile communication system and mobile communication method
KR101963181B1 (ko) 웹 프록시를 통한 광고 전송 시스템 및 그 방법
JP2011039783A (ja) 接続制御装置及びプログラム
JP6536309B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP5450549B2 (ja) 情報処理システム、情報処理システムの制御方法、および、プログラム
JP2008227756A (ja) Ipアドレス管理システム
JP2005210513A (ja) ドメイン名別ビューアクセス制御方法及びdnsサーバシステム装置及びドメイン名別ビューアクセス制御プログラム及びドメイン名別ビューアクセス制御プログラムを格納した記憶媒体
JP6953797B2 (ja) 情報処理装置、情報処理システム及び情報処理プログラム
JP6613588B2 (ja) 画像データの送信装置および画像データを送受信するためのプログラム
JP6568002B2 (ja) 通信システム、及び通信方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160923

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161202

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170124

R151 Written notification of patent or utility model registration

Ref document number: 6084023

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151