JP6354854B2 - 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム - Google Patents

情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム Download PDF

Info

Publication number
JP6354854B2
JP6354854B2 JP2016560258A JP2016560258A JP6354854B2 JP 6354854 B2 JP6354854 B2 JP 6354854B2 JP 2016560258 A JP2016560258 A JP 2016560258A JP 2016560258 A JP2016560258 A JP 2016560258A JP 6354854 B2 JP6354854 B2 JP 6354854B2
Authority
JP
Japan
Prior art keywords
information processing
communication
display
devices
information
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
JP2016560258A
Other languages
English (en)
Other versions
JPWO2016080428A1 (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2016080428A1 publication Critical patent/JPWO2016080428A1/ja
Application granted granted Critical
Publication of JP6354854B2 publication Critical patent/JP6354854B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラムに関する。
上記技術分野において、特許文献1には、擬似的なデバイスドライバやコアドライバを設けることによって、ローカル端末にUSBバス接続されたデバイスをリモートコンピュータから自装置にUSBバス接続したデバイスのように制御する技術が開示されている。
特開2008−210115号公報
しかしながら、上記文献に記載の技術では、擬似的なデバイスドライバやコアドライバを設けて代理する構成なので、遠隔にある表示デバイスの画面を共有しながら、遠隔にある複数の操作デバイスに対する操作を統合することができなかった。
本発明の目的は、上述の課題を解決する技術を提供することにある。
上記目的を達成するため、本発明に係る情報処理システムは、
複数の通信端末にそれぞれが接続された複数の操作デバイスと、
前記複数の操作デバイスに対する操作の情報を入力する操作統合手段と、
通信機能を有する表示デバイスと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御手段と、
前記表示デバイスに前記画面を表示させる表示制御手段と、
を備える。
上記目的を達成するため、本発明に係る情報処理方法は、
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を入力する操作統合ステップと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
通信機能を有する前記表示デバイスに前記画面を表示させる表示制御ステップと、
を含む。
上記目的を達成するため、本発明に係る情報処理装置は、
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合手段と、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御手段と、
通信機能を有する前記表示デバイスに前記画面を表示させる表示制御手段と、
を備える。
上記目的を達成するため、本発明に係る情報処理装置の制御方法は、
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合ステップと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
通信機能を有する表示デバイスに前記画面を表示させる表示制御ステップと、
を含む。
上記目的を達成するため、本発明に係る情報処理装置の制御プログラムは、
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合ステップと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
通信機能を有する表示デバイスに前記画面を表示させる表示制御ステップと、
をコンピュータに実行させる。
本発明によれば、遠隔にある表示デバイスの画面を共有しながら、遠隔にある複数の操作デバイスの操作を統合することができる。
本発明の第1実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第2実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第2実施形態に係る情報処理システムのソフトウェア構成を示す図である。 本発明の第2実施形態に係るUSBハブ接続の概念を示す図である。 本発明の第2実施形態に係るUSBハブ接続における情報の流れを示す図である。 本発明の第2実施形態に係る通信メッセージの構成を示す図である。 本発明の第2実施形態に係る通信データ構成を示す図である。 本発明の第2実施形態に係る情報処理システムにおけるデータ伝送を示す図である。 本発明の第2実施形態に係るHDMI(登録商標)デバイス接続の概念を示す図である。 本発明の第2実施形態に係るHDMI(登録商標)デバイス接続における情報の流れを示す図である。 前提技術に係る情報処理システムの概念を示す図である。 前提技術に係る情報処理システムのソフトウェア構成を示す図である。 本発明の第2実施形態に係る情報処理装置の機能構成を示すブロック図である。 本発明の第2実施形態に係るアプリケーションデータベースの構成を示す図である。 本発明の第2実施形態に係る共有デバイス登録テーブルの構成を示す図である。 本発明の第2実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。 本発明の第2実施形態に係る情報処理装置の処理手順を示すフローチャートである。 本発明の第2実施形態に係る共有デバイス登録処理の手順を示すフローチャートである。 本発明の第3実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第3実施形態に係る情報処理システムのソフトウェア構成を示す図である。 本発明の第4実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第4実施形態に係る情報処理システムの他の構成を示すブロック図である。 本発明の第4実施形態に係る情報処理システムのソフトウェア構成を示す図である。 本発明の第4実施形態に係る設定履歴データベースの構成を示す図である。 本発明の第4実施形態に係る設定制御フローの処理手順を示すフローチャートである。 本発明の第5実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第5実施形態に係る情報処理システムの他の構成を示すブロック図である。 本発明の第5実施形態に係るワークフローデータベースの構成を示す図である。 本発明の第6実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の第6実施形態に係る情報処理システムのソフトウェア構成を示す図である。 本発明の第6実施形態に係る設定履歴データベースの構成を示す図である。 本発明の第6実施形態に係るワークフローの処理手順を示すフローチャートである。 本発明の第7実施形態に係る情報処理システムにおけるデータ伝送を示す図である。 本発明の第7実施形態に係る情報処理システムにおける他のデータ伝送を示す図である。
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
[第1実施形態]
本発明の第1実施形態としての情報処理システム100について、図1を用いて説明する。情報処理システム100は、デバイスに対する操作を統合し表示を共有するシステムである。
図1に示すように、情報処理システム100は、複数の操作デバイス113、114と、操作統合部101と、通信機能を有する表示デバイス115と、制御部102と、表示制御部103と、を含む。複数の操作デバイス113、114は、複数の通信端末111、112にそれぞれが接続される。操作統合部101は、複数の操作デバイス113,114に対する操作の情報を入力する。制御部102は、複数の操作デバイス113,114からの操作の情報に応じ。表示制御部103は、表示デバイス115に画面を表示させる。
本実施形態によれば、遠隔にある表示デバイスの画面を共有しながら、遠隔にある複数の操作デバイスの操作を統合することができる。
[第2実施形態]
次に、本発明の第2実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、PC(Personal Computer)に通信を介して接続された遠隔の操作デバイスや遠隔の表示デバイスにおいて、操作統合を行なう。遠隔の操作デバイスとしては、例えば、通信端末にUSB(Universal Serial Bus)接続されたキーボードやポインティングデバイスが含まれ、遠隔の表示デバイスとしては、通信機能を有してHDMI(登録商標)(High-Definition Multimedia Interface)接続されたモニタ、あるいは、スマホやタブレットの表示画面であってもよい。
《情報処理システム》
本実施形態の情報処理システムを説明する前に、本実施形態の特徴を明瞭にするために前提技術に係る情報処理システムについて説明する。
(前提技術)
図4Aは、前提技術に係る情報処理システム400の概念を示す図である。
図4Aの情報処理システム400は、PCにおけるクラスドライバ432を含むデバイスドライバによって、USBあるいはHDMI(登録商標),VGAなどによるデバイス接続を制御する。そして、デバイスドライバの機器側に、操作機器の統合のためにUSB_HUB433を設け、表示機器(モニタ)の共有のためにモニタ分配機434を設ける。それぞれに分配されたバスが複数の操作機器やモニタに接続されて、機器共有を実現する。なお、操作機器としてキーボードとマウスとを接続するためには、USBの先にさらにUSB_HUB421、422を接続して分配する。
このように、図4Aにおいて、共有機器はバスの許容長により制限される。また、リモートデスクトップやデスクトップの仮想化(DaaS:Desktop-as-a-Service)では、操作統合ができない。また、TV会議における画面共有では、PC1台をシエアしあい、操作統合して資料を作ることも実現されていなかった。
図4Bは、前提技術に係る情報処理システム400のソフトウェア構成を示す図である。
図4Bにおいて、起動されたアプリケーション431から周辺機器への入出力命令があると、クラスドライバ432において、デバイスの種類に応じて異なるプロトコルが選択される。次に、それぞれのバスドライバにおいて、USBあるいはHDMI(登録商標)によって固有のプロトコルが選択される。
バスドライバのプロトコルに従う信号は、USB_HUB433あるいはモニタ分配機434により分配されて、ホストコントローラドライバを制御する。ホストコントローラドライバは、ホストコントローラICによるそれぞれの物理バスのシリアル通信を制御する。
ここで、クラスドライバ432、バスドライバ、ホストコントローラドライバの3層が、典型的なデバイスドライバを構成する。
このように、前提技術においては、1人のPC画面を仮想化して、その人が遠隔利用したり、会議ソフトウェアにおいては、1人のPC画面を複数のスクリーンへ投影したりしていた。したがって、遠隔機器を用いてアプリケーションをリアルタイムに共有して操作を簡易統合する発想は無かった。
《本実施形態の情報処理システム》
本実施形態の情報処理システムにおいては、前提技術のように、PCが手もとにあり、物理的なUSB_HUBとモニタ分配機とを介して接続できる範囲で、機器共有および操作統合を行なっていた状態から、遠隔地において周辺機器をつないで、簡単に機器共有および操作統合を実現する。
(システム構成)
図2Aは、本実施形態に係る情報処理システム200の構成を示すブロック図である。
図2Aの情報処理システム200は、情報処理装置230としてのPCにおけるクラスドライバ232(デバイスマネージャとして動作する)とバスドライバとによって、USBあるいはHDMI(登録商標),VGAなどによるデバイス接続を制御する。ここで、クラスドライバ232とバスドライバとを仮想HUB233、あるいは、仮想モニタ分配機234となるように構成する。
仮想HUB233、あるいは、仮想モニタ分配機234で分配されるそれぞれのメッセージは、ネットワークを介して遠隔の通信端末または通信機能部220のホストコントローラドライバとの間で伝送される。なお、操作機器としてキーボードとマウスとを接続するためには、通信端末220に仮想USB_HUB221、222を設けて分配する。
デバイス210としては、例えば、キーボード211,214と、マウス212,215と、通信機能付きモニタ213,216が接続されて、それぞれが操作統合または表示共有を実現する。
なお、図2Aにおいては、2台のモニタによる画面共有の構成を示しているが、1台のモニタを見ながら複数の操作統合(キーボード、マウス)をすることが可能である。
(ソフトウェア構成)
図2Bは、本実施形態に係る情報処理システム200のソフトウェア構成を示す図である。
図2Bにおいて、起動されたアプリケーション231から周辺機器への入出力命令があると、クラスドライバ232において、デバイスの種類に応じて異なるプロトコルが選択される。次に、それぞれのバスドライバにおいて、USBあるいはHDMI(登録商標)によって固有のプロトコルが選択される。ここで、クラスドライバ232の異なるプロトコルのそれぞれに対してバス分岐に対応する複数のバスドライバを起動することによって、仮想HUB233あるいは仮想モニタ分配機234として動作する。
ネットワークを介して、通信端末あるいは通信機能部においては、各バスドライバに対応してホストコントローラドライバが機能される。ここで、クラスドライバ232、バスドライバ、ホストコントローラドライバの3層が、典型的なデバイスドライバを構成するため、デバイスドライバはネットワークの通信により分断されている。なお、本実施形態においては、バスドライバとホストコントローラドライバとの間を通信で遠隔に延長したが、遠隔のデバイス制御と通信制御とを効率的に行える、他のドライバ間あるいはドライバ内を通信による分断としてもよい。
各デバイスをバス接続するためのホストコントローラにおいても、ハブドライバが複数のホストコントローラに分配することにより、仮想USB_HUB221,222が構成される。ホストコントローラにバス接続するデバイス211〜216は、図2Aと同様である。
このように、本実施形態の情報処理システムにおいては、ソフト化と機能分割とにより、遠隔地において周辺機器をつないで、簡単に機器共有および操作統合を実現する。
《USBハブ接続の概念》
図2Cは、本実施形態に係るUSBハブ接続の概念を示す図である。なお、図2Bにおいては、常備のソフトウェアであるOS(Operating System)やBIOS(Basic Input/Output System)などの図示を省略している。
図2Cには、情報処理装置としてのホスト230と、遠隔にあって、ホスト230とネットワーク240を介して接続するUSBハブ221(222)と、複数のUSBデバイス211、212(214、215)と、が図示されている。
ホスト230は、ソフトウェアとして、アプリケーションソフトウェア231と、デバイスドライバの一部としてのクラスドライバ232と、操作機器に対応するクラスドライバ232から分配される複数のUSBバスドライバと、を有する。クラスドライバ232から分配される複数のUSBバスドライバが、仮想HUB233を構成する。
アプリケーションソフトウェア231は、あらかじめホスト230が提供するサービス、あるいは、ユーザが開発したサービスを提供するためのソフトウェアである。クラスドライバ232は、アプリケーションソフトウェア231が要求した入出力ファイル操作を解釈して、対象デバイスに対応するプロトコルを選択する。本例ではUSBデバイス211,212に対する入出力ファイルのアクセスなので、USBのプロトコルに応じたコマンドやデータフォーマットに従うデータの送受信を準備する。すなわち、ネットワーク240を介して送受信する制御情報やデータを定義する構造体を生成する。複数のバスドライバは、通信部240を介して複数のUSBハブ221、222のホストコントローラドライバ225にそれぞれ接続する。
USBハブ221(222)は、ホストコントローラドライバ225と、複数のSIEに分岐するUSBバスインタフェース226とを有する。ホストコントローラドライバ225は、複数のUSBケーブルに分岐するための機能を有する。また、複数のSIEは、それぞれ、複数のUSBケーブル261,262を介して、複数のUSBデバイス211,212の各SIEと接続される。
USBデバイス(キーボード)211は、ソフトウェアとして、USBハブ221のUSBバスインタフェース226とUSBケーブル261を介して接続して、信号をやり取りするUSBデバイス211のUSBバスインタフェース217を有する。また、USBデバイス211は、デバイス情報や制御情報を含むディスクリプタを記憶するFIFO(First-in First-out)0からなるエンドポイント0218と、入出力データを記憶するFIFO1〜nからなるエンドポイント1〜n219とを有する。
かかる接続により、USBハブ221とUSBデバイス211(212)とは、お互いのUSBバスインタフェース226、および217により物理レベルの通信を実行する。また、クラスドライバ232、USBバスドライバ、ネットワーク240およびホストコントローラドライバ225を介したシステムレベルのコントロール転送により、デフォルトパイプ251を介してアプリケーションソフトウェア231とエンドポイント0(218)との間で、基本処理としての制御通信を実現する。また、アプリケーションレベルのデータ転送では、データパイプ群252を介してアプリケーションソフトウェア231とエンドポイント1〜n(219)との間で、デバイスクラスの各メソッドとしてのデータ通信を実現する。
以上のように、ネットワーク240を介した、ホスト230のバスドライバとUSBハブ221のホストコントローラドライバ225とのネットワーク通信と、USBケーブルを介した、USBバスインタフェース226と217間のシリアル通信とから、統一された通信チャネル(パイプ)を形成することができる。
なお、USBインタフェース226とUSBデバイス(マウス)212との間の処理も、デバイスが異なるのみで同様であるので、説明を省略する。
(情報の流れ)
図2Dは、本実施形態に係るUSBハブ接続における情報の流れを示す図である。なお、図2Dには、主要な記憶領域を示し、細部の構成は省略している。なお、図2Dにおいては、デバイスドライバの内、ホストコントローラドライバの処理を、ホストとしての情報処理装置230と遠隔のUSBハブ221とに通信を介して分離して、情報処理装置230からUSBデバイス211(212)を直接接続しているように制御する例を示す。しかしながら、デバイスドライバのどの階層で分離するかは、情報処理装置230およびUSBハブ221の性能や、通信環境により選択するのが望ましい。
情報処理装置230には、入出力ファイル構造体234と、デバイス制御情報235、USBバッファ236と、通信構造体237と、が確保される。入出力ファイル構造体234は、アプリケーションソフトウェア231が入出力ファイル操作を指示した時に確保され、例えば、ファイル格納先やデバイス種別、入出力プロトコルなどに対応して所定の処理を行なう関数群と、デバイス情報と、入出力バッファと、を含む。デバイス制御情報235は、送受信される制御コマンド群と、現在の転送モードと、ステータスと、を含む。ここで、制御コマンド群には、USBデバイスへの入出力を制御するための制御コマンドの外に、通信に関わる設定や通信エラーへの対処などを制御する制御コマンドを含む。なお、デバイス制御情報235は、入出力ファイル構造体234のデバイス情報に一体化されていてもよい。USBバッファ236は、クラスドライバ232およびバスドライバが入出力ファイル構造体234の関数群の処理に応じて、デバイス種別がUSBデバイスの場合に確保される、エンドポイントにそれぞれ対応するバッファを有する。通信構造体237は、クラスドライバ232およびバスドライバが入出力ファイル構造体234の関数群の処理に応じて、デバイスがネットワークを介した遠隔にある場合に確保される構造体である。通信構造体237は、通信に関連するプロトコルやメッセージフォーマット、通信速度などを設定するための関数群と、送信する制御コマンドと、受信したステータスと、送信データを一時記憶する送信バッファと、受信データを一時記憶する受信バッファと、を含む。なお、USBバッファ236は必須ではない。入出力ファイル構造体234の入出力バッファと、通信構造体237の送信バッファおよび受信バッファとの間で、直接、データ転送が行なわれてもよい。また、通信により分離されるデバイスドライバの階層が上位であれば、制御コマンドやステータスは独自に通信される必要はなく、送受信データの中に含まれていればよい。
USBハブ221には、通信構造体227と、デバイス制御情報228と、USBバッファ229と、が確保される。通信構造体227は、アプリケーションソフトウェア231が確保した通信構造体237に対応付けられた構造体である。通信構造体227は、通信に関連するプロトコルやメッセージフォーマット、通信速度などを設定するための関数群と、受信した制御コマンドと、送信するステータスと、受信データを一時記憶する受信バッファと、送信データを一時記憶する送信バッファと、を含む。デバイス制御情報228は、送受信される制御コマンド群と、現在の転送モードと、ステータスと、を含む。ここで、制御コマンド群のそれぞれは、その制御コマンドを実行するUSBコマンド列に変換する制御フローに対応付けられる。また、制御コマンド群には、USBデバイスへの入出力を制御するための制御コマンドの外に、通信に関わる設定や通信エラーへの対処などを制御する制御コマンドを含む。USBバッファ229は、デバイス種別がUSBデバイスの場合に確保される、USBデバイス211(212)のエンドポイントにそれぞれ対応するバッファを有する。
USBデバイス211(212)には、エンドポイントとして、デバイス種別に応じてFIFO0〜FIFOnが準備されている。
(通信メッセージ)
図2Eは、本実施形態に係る通信メッセージの構成を示す図である。なお、通信メッセージのフォーマットは、図2Eに限定されるものではない。
図2Eには、デフォルトパイプ251である制御チャネルで送受信される制御メッセージ270と、データパイプ群252となるデータチャネルで送受信されるデータメッセージ280とが図示されている。
制御メッセージ270の内、ホスト230から通信端末からなるUSBハブ221に送信される制御メッセージは、IPアドレス271と、伝送先エリア/伝送元エリア272と、通信データ273と、誤り訂正の例えばCRC274と、を有する。IPアドレス271としては、送信先の通信端末アドレスと送信元のホストアドレスとがセットされる。伝送先エリア/伝送元エリア272としては、伝送先エリアにUSBデバイス211(212)のFIFO0が、伝送元エリアにホスト230のUSBバッファ0が、指示される。また、通信データ273としては、ホスト230が割り当てたデバイスアドレスやUSBデバイス211(212)の制御コマンドが伝送される。
制御メッセージ270の内、通信端末からなるUSBハブ221からホスト230に送信される制御メッセージは、IPアドレス275と、伝送先エリア/伝送元エリア276と、通信データ277と、誤り訂正の例えばCRC278と、を有する。IPアドレス275としては、送信先のホストアドレスと送信元の通信端末アドレスとがセットされる。伝送先エリア/伝送元エリア276としては、伝送先エリアにホスト230のUSBバッファ0が、伝送元エリアにUSBデバイス211(212)のFIFO0が、指示される。また、通信データ277としては、USBデバイス211(212)のデバイスディスクリプタやデバイスステータスが伝送される。
データメッセージ280の内、ホスト230から通信端末からなるUSBハブ221に送信されるデータメッセージは、IPアドレス281と、伝送先エリア/伝送元エリア282と、通信データ283と、誤り訂正の例えばCRC284と、を有する。IPアドレス281としては、送信先の通信端末アドレスと送信元のホストアドレスとがセットされる。伝送先エリア/伝送元エリア282としては、伝送先エリアにUSBデバイス210のFIFO1〜nが、伝送元エリアにホスト230のUSBバッファ1〜nが、対応付けられて指示される。また、通信データ283としては、1つまたは複数のバルクOUTデータが伝送される。
データメッセージ280の内、通信端末からなるUSBハブ221からホスト230に送信されるデータメッセージは、IPアドレス285と、伝送先エリア/伝送元エリア286と、通信データ287と、誤り訂正の例えばCRC288と、を有する。IPアドレス285としては、送信先のホストアドレスと送信元の通信端末アドレスとがセットされる。伝送先エリア/伝送元エリア286としては、伝送先エリアにホスト230のUSBバッファ1〜nが、伝送元エリアにUSBデバイス210のFIFO1〜nが、対応付けられて指示される。また、通信データ287としては、1つまたは複数のバルクINデータが伝送される。
なお、コントロール転送、バルク転送の外に、インタラプト転送やアイソクロナス転送があるが、データメッセージの構成としては、“SETUP”ステージが省略されるが同様であるので、それらのメッセージの説明を省略する。
このように、カプセリングしたIPアドレスとしては、ホスト230と通信端末からなる221との間のネットワーク通信であるが、データは、ホスト230にアプリケーションソフトウェア231が確保させたUSBバッファと、USBデバイス211(212)のエンドポイントであるFIFOとの間で伝送される。
(通信データ構成例)
図2Fは、本実施形態に係る通信データ構成を示す図である。図2Fにおいては、図2Eにおける、カブセル化のためのIPアドレスなどは省かれている。なお、図2Fには、本実施形態を実現する通信データ構成の一例を示すが、これに限定されるわけではない。例えば、デバイスドライバの上位層における通信データとして、関数のパラメータ(引数)を送受信することや、さらに、関数自体を送受信することなどもできる。
図2Fには、基本的な通信データ構成273/277と、USBの場合の通信データ構成273と、他のHDMI(登録商標)やSCSIの場合の通信データ構成277が示されている。
通信データ構成273/277は、デバイス特定情報を有する。デバイス特定情報は、デバイス種類と、接続バス種類と、デバイス識別子と、を含む。通信データ構成273/277は、接続バスにおける転送モードと、接続バスを介して転送すべき情報と、を有する。転送すべき情報には、コマンドやステータスやデータを含む。
USBの場合の通信データ構成273は、デバイス特定情報として、デバイス種類である産業機器と、接続バスであるUSBと、デバイス識別子であるIE001と、を有する。USBの場合の通信データ構成273は、転送モードとしてUSBコントロール転送と、転送情報としてUSBリクエストやデバイスディスクリプタを含む。かかる構成によれば、従来のUSB接続による最大127台という制限を考慮する必要はなくなる。
他のHDMI(登録商標)やSCSIの場合の通信データ構成277は、デバイス特定情報として、モニタ、HDMI(登録商標)、MT0002や、CD、SCSI、CD0005を有する。また、転送モード2としてHDMI(登録商標)制御やSCSI制御、転送情報としてDDC/CEDやコマンド/レスポンスを含む。
(データ伝送例)
図2Gは、本実施形態に係る情報処理システム200におけるデータ伝送を示す図である。なお、図2Gは、USBデバイスにおけるL2レベルの通信を示すが、通信はさらに下位レベルであっても上位レベルであってもよい。
図2Gは、USB接続されたUSBデバイスのディスクリプタ取得手順を示すシーケンス図である。
デバイス210に設定されているディスクリプタは、GET_DESCRIPTORなどのUSBリクエストにより取得される。USBリクエストは、それぞれコントロール転送によりデバイス210とやり取りされる。各コントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。デバイス210から取得したディスクリプタはIPヘッダやTCPヘッダでIPカプセリングして、携帯端末からなるUSBハブ221から情報処理装置230に送信される。
ここで、情報処理装置230のアプリケーションインタフェースを構成するクラスドライバ232およびバスドライバは、アプリケーション231のデバイス入出力要求に応じて、まず接続デバイスを確認するためコントロール転送とGET DESCRIPTORのUSBリクエストとを生成して、通信制御部に渡す。
IPヘッダやTCPヘッダでIPカプセリングされたコントロール転送とGET DESCRIPTORのUSBリクエストとは、通信端末からなるUSBハブ221の通信制御部で受信されてIPアンカプセリングされる。コントロール転送とGET DESCRIPTORのUSBリクエストとは、ホストコントローラドライバ225に渡される。ホストコントローラドライバ225は、コントロール転送とGET DESCRIPTORのUSBリクエストとに基づいて、デバイス210へのUSBバスにおける各パケットを生成するようUSBバスインタフェース(不図示)に指示する。
ホストコントローラドライバ225は、デバイス210から受信した、データ・ステージで受信したデータ・パケットをデバイスディスクリプタとして抽出し、コントロール転送とデバイスディスクリプタとして、通信制御部に渡す。IPヘッダやTCPヘッダでIPカプセリングされたコントロール転送とデバイスディスクリプタとは、通信端末からなるUSBハブ221の通信制御部から情報処理装置230の通信制御部に送信される。
情報処理装置の通信制御部は、アンカプセリングしたコントロール転送とデバイスディスクリプタを、アプリケーションインタフェースを構成するバスドライバおよびクラスドライバ232に渡すと、クラスドライバ232はアプリケーション231のデバイス入出力要求に応答して、接続デバイス情報を通知する。
以下、他のコントロール転送や、バルク転送、インタラプト転送、アイソロナス転送においても、同様のデータ伝送が行なわれる。なお、ホストコントローラドライバ225とUSBバスインタフェース226とが一体にされたソフトウェアであってもよい。
《HDMI(登録商標)デバイス接続の概念》
図3Aは、本実施形態に係るHDMI(登録商標)デバイス接続の概念を示す図である。なお、図3Aにおいて、図2Cと同じ構成要素には同じ参照番号を付して説明を省略する。
ホスト230は、ソフトウェアとして、アプリケーションソフトウェア231と、デバイスドライバの一部としてのクラスドライバ232と、操作機器に対応するクラスドライバ232から分配される複数のHDMI(登録商標)バスドライバと、を有する。クラスドライバ232から分配される複数のHDMI(登録商標)バスドライバが、仮想モニタ分配機234を構成する。
情報処理装置としてのホスト230には、ネットワーク240を介してHDMI(登録商標)デバイス213(216)が接続される。HDMI(登録商標)デバイス213(216)は、ホストコントローラドライバ325を有し、ホスト230と直接通信を行ないデバイスの制御をする。また、HDMI(登録商標)ケーブルによる物理的な接続は無く、ホストコントローラドライバ325は、HDMI(登録商標)バッファとエンドポイントとのデータ交換を、HDMI(登録商標)バスインタフェース317を介して、直接、実行する。
HDMI(登録商標)デバイス213(216)は、ソフトウェアとして、ホストコントローラドライバ325と信号をやり取りするHDMI(登録商標)デバイス213(216)のHDMI(登録商標)バスインタフェース317を有する。また、HDMI(登録商標)デバイス213(216)は、デバイス情報や制御情報を含むディスクリプタを記憶する制御情報のエンドポイント318と、入出力データを記憶するエンドポイント319とを有する。
かかる接続により、アプリケーションインタフェースを構成するクラスドライバ232とHDMI(登録商標)バスドライバ、ネットワーク240およびホストコントローラドライバ325を介したシステムレベルのコントロール転送により、制御パイプ(DDC:ディスプレイ・データ・チャネル/CEC:コンシューマエレクトロニクス・コントロール)351を介してアプリケーションソフトウェア231とエンドポイント318との間で、基本処理としての制御通信を実現する。また、アプリケーションレベルのデータ転送では、データパイプ群352を介してアプリケーションソフトウェア231とエンドポイント319との間で、デバイスクラスの各メソッドとしてのTMDSデータ通信を実現する。
以上のように、ネットワーク240を介した、ホスト230のHDMI(登録商標)デバイス213バスドライバとHDMI(登録商標)デバイス213(216)のホストコントローラドライバ325とのネットワーク通信と、ホストコントローラドライバ325とHDMI(登録商標)バスインタフェース317とのシリアル通信とから、統一された通信チャネル(パイプ)を形成することができる。
このような構成とすることにより、遠隔に直接、ネットワーク接続されたHDMI(登録商標)デバイスに対し、情報処理装置に接続した場合と同じ操作ができる。
(情報の流れ)
図3Bは、本実施形態に係るHDMI(登録商標)デバイス接続における情報の流れを示す図である。なお、図2Dと同様の構成要素には同じ参照番号を付して、説明を省略する。
情報処理装置230において、生成されるバッファはHDMI(登録商標)バッファ336であり、制御バッファと3つのデータバッファとからなる。同様に、HDMI(登録商標)デバイス213(216)におけるデバイスバッファもHDMI(登録商標)バッファ329であり、制御バッファと3つのデータバッファとからなる。
なお、通信メッセージなどの構成は、図2E〜図2Gと類似であるので、詳細な説明を省略する。
《情報処理装置の機能構成》
図5は、本実施形態に係る情報処理装置230の機能構成を示すブロック図である。なお、図5には、本実施形態の動作に関連の深い機能構成部を図示し、情報処理装置230が有する通常の機能構成部は図示していない。例えば、情報処理装置230がパーソナルコンピュータ(以下、PC)の場合の種々の処理機能については示していない。
情報処理装置230は、通信制御部501と、アプリケーション起動部502と、アプリケーション実行部503と、アプリケーションインタフェース504と、を備える。また、情報処理装置230の内部あるいは外部にアプリケーションデータベース(図中、アプリケーションDB)510を備える。
通信制御部501は、ネットワーク240を介する通信端末220やデバイスの通信機能部との通信を制御する。アプリケーション起動部502は、ユーザ指示あるいはクラウドサーバ指示により、アプリケーションデータベース510からアプリケーションを選択して起動する。アプリケーション実行部503は、機器共有や操作統合を実現するために使用される共有デバイス登録テーブル531を有し、アプリケーション起動部502により起動されたアプリケーションを実行する。
アプリケーションインタフェース504は、クラスドライバを実行する実行部232と、仮想HUB233と、仮想モニタ分配機234と、を含む、仮想HUB233と仮想モニタ分配機234とは、通信パイプに対応する数のバスドライバを起動する。アプリケーションデータベース510は、複数のアプリケーション511、および、デバイスドライバの一部である複数のアプリケーションインタフェース512を格納する。
(アプリケーションデータベース)
図6は、本実施形態に係るアプリケーションデータベース510の構成を示す図である。図6には複数のアプリケーション511の構成を示す。
複数のアプリケーション511は、アプリケーションID601に対応付けて、このアプリケーションが操作統合可か(602)、画面共有可か(603)、アプリケーションプログラム604、を記憶する。なお、操作統合可か(602)、画面共有可か(603)は、アプリケーションプログラム604の中に埋め込まれていてもよい。
(共有デバイス登録テーブル)
図7は、本実施形態に係る共有デバイス登録テーブル531の構成を示す図である。共有デバイス登録テーブル531は、機器共有や操作共有を実現するためにアプリケーション実行部503によって使用される。
共有デバイス登録テーブル531は、接続されて使用可となっている共有デバイス701のそれぞれに対応付けて、クラスドライバID702、仮想HUBに接続するかの情報703、仮想モニタ分配機に接続するかの情報704、を記憶する。仮想HUBに接続するかの情報703、および、仮想モニタ分配機に接続するかの情報704は、使用するか否か(○は使用、×は不使用)とバスドライバIDとを記憶する。
《情報処理装置のハードウェア構成》
図8は、本実施形態に係る情報処理装置230のハードウェア構成を示すブロック図である。
図8で、CPU(Central Processing Unit)810は演算制御用のプロセッサであり、プログラムを実行することで図5の情報処理装置230の機能構成部を実現する。ROM(Read Only Memory)820は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部401は、ネットワーク240を介して通信端末220と通信する。なお、CPU810は1つに限定されず、複数のCPUであっても、あるいは画像処理用のGPU(Graphics Processing Unit)を含んでもよい。また、通信制御部501は、CPU810とは独立したCPUを有して、RAM(Random Access Memory)840の領域に送受信データを書き込みあるいは読み出しするのが望ましい。また、RAM840とストレージ850との間でデータを転送するDMAC(Direct Memory Access Controller)を設けるのが望ましい(図示なし)。したがって、CPU810は、RAM840にデータが受信あるいは転送されたことを認識してデータを処理する。また、CPU810は、処理結果をRAM840に準備し、後の送信あるいは転送は通信制御部501やDMACに任せる。
RAM840は、CPU810が一時記憶のワークエリアとして使用するランダムアクセスメモリである。RAM840には、本実施形態の実現に必要なデータを記憶する領域が確保されている。起動アプリケーションID841は、現在起動しているアプリケーションの識別子である。操作統合/画面共有フラグ842は、現在起動しているアプリケーションにおいて操作統合や画面共有が行なわれているか否かのフラグである。共有デバイス登録テーブル531は、図7に示したテーブルである。送受信データ844は、通信制御部501を介して送受信するデータである。
ストレージ850には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。アプリケーション511は、登録されたアプリケーションである。アプリケーションインタフェース512は、クラスドライバとバスドライバを含む情報処理装置230で実行されているドライバである。
ストレージ850には、以下のプログラムが格納される。情報処理装置制御プログラムは、本情報処理装置230の全体を制御する基礎プログラムである。アプリケーションインタフェース852は、アプリケーションインタフェース512から読み出されて情報処理装置230で実行されているクラスドライバとバスドライバを含むドライバである。アプリケーションプログラム853は、アプリケーション511から読み出されて実行されているアプリケーションである。
なお、図8のRAM840やストレージ850には、情報処理装置230が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
《情報処理装置の処理手順》
図9は、本実施形態に係る情報処理装置230の処理手順を示すフローチャートである。このフローチャートは、図8のCPU810がRAM840を用いて実行し、図5の機能構成部を実現する。
情報処理装置230は、ステップS901において、アプリケーションを起動する。次に、情報処理装置230は、ステップS903において、起動したアプリケーションがデバイス共有を行なうか否かを判定する。起動したアプリケーションがデバイス共有を行なう場合、情報処理装置230は、ステップS905において、共有フラグをセットする。次に、情報処理装置230は、ステップS907において、共有するデバイスが接続され使用可能か否かを判定する。共有するデバイスが接続され使用可能な場合、情報処理装置230は、ステップS909において、共有デバイスの登録処理を実行する。
共有デバイスの登録処理後、情報処理装置230は、ステップS911において、共有デバイスの切り離しあるいは使用不可を判定する。共有デバイスの切り離しあるいは使用不可の場合、情報処理装置230は、ステップS913において、共有デバイスをシステムから削除する。
情報処理装置230は、ステップS915において、アプリケーションの終了か否かを判定する。終了でなければ、情報処理装置230は、ステップS907に戻って、さらに、共有デバイスの接続を判定する。
(共有デバイス登録処理)
図10は、本実施形態に係る共有デバイス登録処理(S909)の手順を示すフローチャートである。
情報処理装置230は、ステップS1001において、接続され使用可能となった共有デバイスの種類を判別する。かかるデバイスの種類の判別は、遠隔からの通信を介したデバイスディスクリプタの取得により実現する。情報処理装置230は、ステップS1003において、デバイスの種類に対応するクラスドライバを起動する。次に、情報処理装置230は、ステップS1005において、デバイスを接続するバスに対応するバスドライバを起動して、クラスドライバと関連付ける。
情報処理装置230は、ステップS1007において、起動したクラスドライバとバスドライバとにより、通信先の通信端末や通信機能部のホストコントローラドライバの起動を指示する。そして、情報処理装置230は、ステップS1009において、通信先の共有ドライバの対する設定がOKか否かを判定する。OKの応答があれば、情報処理装置230は、ステップS1011において、正常登録処理を行なう。OKでなければ、情報処理装置230は、タイムアウトになるまでステップS1009の判定を繰り返す。タイムアウトになれば、情報処理装置230は、ステップS1013からS1015に進んで、エラー処理を行なう。
本実施形態によれば、PCに通信を介して接続された遠隔の操作デバイスや遠隔の表示デバイスにおいて操作統合をすることができる。
[第3実施形態]
次に、本発明の第3実施形態に係る通信処理システムについて説明する。本実施形態に係る通信処理システムは、上記第2実施形態と比べると、クラウドサーバに構築された仮想PCに通信を介して接続するデバイスを共有する点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
《情報処理システムの構成》
図11は、本実施形態に係る情報処理システム1100の構成を示すブロック図である。なお、図11において、図2Aと同様の構成要素には同じ参照番号を付して、説明を省略する。
図11において、情報処理装置1130は、クラウドサーバに構築された仮想PCである。仮想モニタ分配機1134は、IP/MAC通信により通信端末あるいは通信機能部1120と通信する。この時に、サーバ側/ローカル側のグラフィックアクセラレータを活用して画面生成することができ、その生成画面を仮想モニタ分配機1134につないで、分配する。
(ソフトウェア構成)
図12は、本実施形態に係る情報処理システム1100のソフトウェア構成を示す図である。なお、図12において、図2Bと同様の構成要素には同じ参照番号を付して、説明を省略する。
図12には、サーバ側/ローカル側のグラフィックアクセラレータ1230が追加され、アプリケーション231による画面生成に利用される。
本実施形態によれば、仮想PCに通信を介して接続された遠隔の操作デバイスや遠隔の表示デバイスにおいて操作統合をすることができる。
[第4実施形態]
次に、本発明の第4実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態、第3実施形態と比べると、操作統合のために接続してうまくいった機器と、その設定情報とをデータベースに格納して保存し、保存情報を利用する点で異なる。その他の構成および動作は、第2実施形態、第3実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
《情報処理システムの構成》
図13Aは、本実施形態に係る情報処理システム1301の構成を示すブロック図である。なお、図13Aにおいて、図2Aまたは図11と同じ構成要素には同じ参照番号を付して、説明を省略する。
図13Aには、設定履歴データベース1330が設けられている。設定履歴データベース1330には、表示共有しているモニタの設定情報1331と、操作を統合する操作機器(キーボード、マウス)の設定情報1332と、の履歴が蓄積され、新たな機器共有においては設定履歴データベース1330から接続機器とうまくいった設定とを見付けて利用する。また、図13Aにおいては、IP/MAC通信1135におけるジッタや通信帯域の不足による通信エラーを、通信バッファ(FIFO)を設けることで防ぐ処理1320も追加されている。
図13Bは、本実施形態に係る情報処理システム1302の構成を示すブロック図である。なお、図13Bにおいて、図2A、図11または図13Aと同じ構成要素には同じ参照番号を付して、説明を省略する。
図13Bでは、設定履歴データベース1330に、さらに、通信バッファ(FIFO)の容量を含む通信の設定1333の履歴を蓄積し、新たな機器共有においては設定履歴データベース1330から接続機器とうまくいった設定に加えて、適切な通信の設定を見付けて利用する(リソースフィードバック1334)。
(ソフトウェア構成)
図14は、本実施形態に係る情報処理システム1301,1302のソフトウェア構成を示す図である。なお、図14において、図2Bまたは図12と同じ構成要素には同じ参照番号を付して、説明を省略する。
図14においては、設定履歴データベース1330に設定情報の履歴を蓄積し、新たな機器共有においては設定履歴データベース1330からうまくいった設定情報を見付けるための、ミドルウェア1430として設定制御フロー1431が設けられ、アプリケーション231の効率的な実行を支援する。
(設定履歴データベース)
図15は、本実施形態に係る設定履歴データベース1330の構成を示す図である。なお、設定履歴データベース1330は、情報処理装置の中にあっても、情報処理装置の外のクラウドサーバが有していてもよい。
設定履歴データベース1330は、アプリケーションID1501に対応付けて、今までの履歴として、複数の操作機器1502、複数の共有画面機器1503、通信バッファ1504、の組み合わせを記憶する。複数の操作機器1502と複数の共有画面機器1503には、機器種類と共有設定情報とを記憶する。また、通信バッファ1504には、設定位置と容量とを記憶する。そして、それらの組み合わせによるシステムの評価値1505を記憶する。かかる評価値1501により、好適な組み合わせが選択される。
《設定制御フローの処理手順》
図16は、本実施形態に係る設定制御フローの処理手順を示すフローチャートである。このフローチャートは、情報処理装置が実行してもよいが、基本的にはクラウドサーバが実行するのが望ましい。
クラウドサーバは、ステップS1611において、アプリケーションの共有を開始したか否かを判定する。共有を開始したと判定した場合、クラウドサーバは、ステップS1613において、設定履歴データベース1330から好適な接続機器と設定とを検索する。そして、クラウドサーバは、ステップS1615において、接続機器に対して選択された設定情報を設定する。
アプリケーションが共有を開始してないと判定した場合、クラウドサーバは、ステップS1621において、アプリケーションの共有を終了したか否かを判定する。共有が終了したと判定した場合、クラウドサーバは、ステップS1623において、接続機器と設定を評価する。評価の基準は種々あるが、最も単純なものは通信エラーの有無である。そして、クラウドサーバは、ステップS1625において、接続機器と設定を評価値と共に設定履歴データベース1330に格納する。
アプリケーションによる共有開始でも共有終了でもなければ、クラウドサーバは、ステップS1621において、他の処理をする。
なお、図16には、通信の設定は説明しなかったが、接続機器と設定に追加すれば処理は同様である。
本実施形態によれば、共有操作のために接続してうまくいった機器と、その設定情報とを保存して再利用することができる。
[第5実施形態]
次に、本発明の第5実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態乃至第4実施形態と比べると、複数のユーザが使用する共有デバイスを遠隔に接続する点で異なる。その他の構成および動作は、第2実施形態から第4実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
《情報処理システムの構成》
図17Aは、本実施形態に係る情報処理システム1701の構成を示すブロック図である。なお、図17Aにおいて、図2A、図11、図13Aまたは図13Bと同様の構成要素には同じ参照番号を付して、説明を省略する。
図17Aにおいては、通信端末と通信機能部1721の仮想USB_HUB1722に、複数のユーザが共有して利用する共有プリンタ1711と共有書画カメラ1712とが接続されている。かかる接続においては、仮想USB_HUB1722の帯域が不足する可能性が高くなる。あるいは、通信のトラフィックを考慮すると、仮想USB_HUB1722に近いモニタの通信帯域にも影響が出ることが考えられる。
図17Aにおいては、このようなシステム構成の偏りの中で、機器共有を安定的に達成する機器設定や通信の設定として、うまくいった情報を設定履歴データベース1730に蓄積して利用する。
なお、通信トラフィックの偏りで、モニタの通信帯域が不足して通信バッファ(FIFO)では解決できない場合、画像データの圧縮率を高める、あるいは、間引くことが考えられる。この場合には、モニタの表示画面の品質に関わるので、ユーザに問い合わせるのが望ましい。
図17Bは、本実施形態に係る情報処理システム1701の構成を示すブロック図である。なお、図17Bにおいて、図2A、図11、図13A、図13Bまたは図17Aと同様の構成要素には同じ参照番号を付して、説明を省略する。
図17Bは、上記通信トラフィックの偏りを無くす方法の1つとして、通信端末と通信機能部1723に、共有プリンタ1711と共有書画カメラ1712とを、キーボードやマウスとは別の仮想USB_HUB1724を使用して、別通信経路で接続する。
(設定履歴データベース)
図18は、本実施形態に係る設定履歴データベース1730の構成を示す図である。なお、図18において、図15と同様の構成要素には同じ参照番号を付して、説明を省略する。
設定履歴データベース1730は、共有プリンタ1711や共有書画カメラ1712などの他の共有機器1706と、それらの組み合わせ時の通信バッファ1704と、データ圧縮率1707と、を記憶する。通信バッファ1704には、例えば、図18では、モニタ間の同期や操作機器間やモニタとの同期などの必要の有無が記憶されている。かかる同期は、特に、TV会議システムにおいて必要となる。
本実施形態によれば、複数のユーザが使用する、遠隔に接続された共有デバイスにおいても好適に操作統合の制御を行ない、接続してうまくいった機器と、その設定情報とを保存して再利用することができる。
[第6実施形態]
次に、本発明の第6実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態乃至第5実施形態と比べると、共有機器をどのように利用するかのワークフローを有する点で異なる。その他の構成および動作は、第2実施形態から第5実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
《情報処理システムの構成》
図19は、本実施形態に係る情報処理システム1900の構成を示すブロック図である。なお、図19において、図2A、図11、図13A、図13B、図17Aまたは図17Bと同様の構成要素には同じ参照番号を付して、説明を省略する。
図19は、例えば、共有プリンタ1711や共有書画カメラ1712を複数のユーザ(AさんとBさん)が利用する場合のスケジューリング、あるいは、共有プリンタ1711や共有書画カメラ1712のステータス(空きや使用中など)を制御する、作業支援ワークフロー/操作支援ワークフローを有する。これらの作業支援ワークフロー/操作支援ワークフローは、ワークフローデータベース1930の履歴が蓄積されて、有効に利用される。
なお、ワークフローデータベース1930は、設定履歴データベース1730と一体であってもよい。
(ソフトウェア構成)
図20は、本実施形態に係る情報処理システム1900のソフトウェア構成を示す図である。なお、図20において、図2B、図12または図14と同じ構成要素には同じ参照番号を付して、説明を省略する。
図20においては、ワークフローデータベース1930にワークフローの履歴を蓄積し、新たな機器共有においてはワークフローデータベース1930からうまくいったワークフローを見付けるための、ミドルウェア2030として設定制御フロー2031とワークフロー2032が設けられ、アプリケーション231の効率的な実行を支援する。
(ワークフローデータベース)
図21は、本実施形態に係るワークフローデータベース1930の構成を示す図である。
ワークフローデータベース1930は、アプリケーションID2101に対応付けて、今までの操作機器2102、システムの利用者2103、ワークフロー2104、を記憶する。そして、それらの組み合わせの評価値2105を記憶する。この評価値2105に基づいて、好適なワークフローが利用される。
《ワークフローの処理手順》
図22は、本実施形態に係るワークフローの処理手順を示すフローチャートである。このワークフローは共有機器の利用スケジュールの一例である。このフローチャートは、情報処理装置が実行してもよいが、基本的にはクラウドサーバが実行するのが望ましい。
クラウドサーバは、ステップS2201において、共有機器情報を取得する。次に、クラウドサーバは、ステップS2203において、共有機器の利用者情報を取得する。そして、クラウドサーバは、ステップS2205において、共有機器の利用スケジュールを設定する。
クラウドサーバは、ステップS2207において、利用スケジュールに従って、共有機器利用を管理する。クラウドサーバは、ステップS2209において、利用スケジュールの変更があるか否かを判定する。利用スケジュールの変更がある場合、クラウドサーバは、ステップS2205に戻って、新たな利用スケジュールを設定して処理を継続する。
利用スケジュールの変更がない場合、クラウドサーバは、ステップS2211において、共有機器や利用者の変更があるか否かを判定する。共有機器や利用者の変更がある場合、クラウドサーバは、ステップS2201に戻って、新たな共有機器や利用者を取得して処理を継続する。
共有機器や利用者の変更がない場合、クラウドサーバは、ステップS2213において、機器共有の終了か否かを判定する。機器共有の終了でない場合、クラウドサーバは、ステップS2207に戻って、利用スケジュールによる共有機器利用の管理を継続する。
本実施形態によれば、共有機器の利用スケジュールなどにおいても好適に共有操作の制御を行ない、そのワークフローを保存して再利用することができる。
[第7実施形態]
次に、本発明の第7実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第2実施形態乃至第6実施形態と比べると、情報処理装置230(仮想PC)とデバイスが接続された通信端末220との間で異なるデータが通信される点で異なる。すなわち、本実施形態においては、情報処理装置230のアプリケーションIFと通信端末220のホストコントローラIFとが、第2実施形態と異なる部分で分離されている。例えば、ホストコントローラチップ(HC)を含めて全体のデバイスドライバをソフトウェアで実現した場合に、特に、ホストコントローラドライバとホストコントローラチップとの組を種々の階層で通信効率や通信速度を考慮して分割する。そして、分割された階層間の情報を情報処理装置230と通信端末220間でネットワーク通信するよう設計する。その他の構成および動作は、第2実施形態から第6実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
(データ伝送例)
図23は、本実施形態に係る情報処理システムにおけるデータ伝送を示す図である。なお、図23は、図2Gと同様に、USB接続されたUSBデバイスのディスクリプタ取得手順を示す図である。したがって、図23において、図2Gと同様の構成要素には同じ参照番号を付して、説明は省略する。
デバイス210に設定されているディスクリプタは、GET_DESCRIPTORなどのUSBリクエストにより取得される。コントロール転送であるUSBリクエストのUSBプロトコルを含むフレームは、情報処理装置230とデバイス210間でやり取りされる。各コントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。デバイス210から取得したディスクリプタはIPヘッダやTCPヘッダでIPカプセリングされたフレームに挿入されて、携帯端末220から情報処理装置230に送信される。
ここで、情報処理装置230のアプリケーションインタフェース2332は、アプリケーション231のデバイス入出力要求に応じて、まず接続デバイスを確認するためGET DESCRIPTORのUSBリクエストのUSBプロトコルを含むフレームを生成して、通信制御部401に渡す。
IPヘッダやTCPヘッダでIPカプセリングされたGET DESCRIPTORのUSBリクエストを含むフレームは、通信端末220の通信制御部501で受信されてIPアンカプセリングされる。GET DESCRIPTORのUSBリクエストは、ホストコントローラインタフェース2325に渡される。ホストコントローラインタフェース2325は、GET DESCRIPTORのUSBリクエストのUSBプロトコルを含むフレームに基づいて、デバイス210へのUSBバスにおける各パケットを転送するようUSBバスインタフェース226(不図示)に指示する。
ホストコントローラインタフェース2325は、デバイス210からデータ・ステージにおいて受信したデータ・パケットをデバイスディスクリプタ2363として含むフレームを、通信制御部501に渡す。IPヘッダやTCPヘッダでIPカプセリングされたデバイスディスクリプタ2363を含むフレームは、通信端末220の通信制御部501から情報処理装置230の通信制御部401に送信される。
情報処理装置の通信制御部401は、アンカプセリングしたデバイスディスクリプタ2363を含むフレームをアプリケーションインタフェース2332に渡すと、アプリケーションインタフェース2332はアプリケーション231のデバイス入出力要求に応答して、接続デバイス情報を通知する。
以下、他のコントロール転送や、バルク転送、インタラプト転送、アイソロナス転送においても、同様のデータ伝送が行なわれる。なお、ホストコントローラインタフェース2325とUSBバスインタフェース226とが一体にされたソフトウェアであってもよい。
図24は、本実施形態に係る情報処理システムにおける他のデータ伝送を示す図である。なお、図24は、図2Gおよび図23と同様に、USB接続されたUSBデバイスのディスクリプタ取得手順を示す図である。したがって、図24において、図2Gおよび図23と同様の構成要素には同じ参照番号を付して、説明は省略する。
デバイス210に設定されているディスクリプタは、GET_DESCRIPTORなどのUSBリクエストにより取得される。USBリクエストのUSBプロトコルを含むコントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。コントロール転送であるUSBリクエストのUSBプロトコルを含むセット・ステージと、データ・ステージと、ステータス・ステージとは、それぞれ、情報処理装置230とデバイス210間でやり取りされる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。デバイス210から取得したディスクリプタはIPヘッダやTCPヘッダでIPカプセリングされたデータ・ステージに挿入されて、携帯端末220から情報処理装置230に送信される。
ここで、情報処理装置230のアプリケーションインタフェース2432は、アプリケーション231のデバイス入出力要求に応じて、まず接続デバイスを確認するためGET DESCRIPTORのUSBリクエストのUSBプロトコルを含むセット・ステージを生成して、通信制御部401に渡す。
IPヘッダやTCPヘッダでIPカプセリングされたGET DESCRIPTORのUSBリクエストを含むセット・ステージは、通信端末220の通信制御部501で受信されてIPアンカプセリングされる。GET DESCRIPTORのUSBリクエストは、ホストコントローラインタフェース2425に渡される。ホストコントローラインタフェース2425は、GET DESCRIPTORのUSBリクエストのUSBプロトコルを含むセット・ステージに基づいて、デバイス210へのUSBバスにおける各パケットを転送するようUSBバスインタフェース226(不図示)に指示する。
ホストコントローラインタフェース2425は、デバイス210からデータ・ステージにおいて受信したデータ・パケットをデバイスディスクリプタ2463として含むデータ・ステージを、通信制御部501に渡す。IPヘッダやTCPヘッダでIPカプセリングされたデバイスディスクリプタ2463を含むデータ・ステージは、通信端末220の通信制御部501から情報処理装置230の通信制御部401に送信される。
情報処理装置の通信制御部401は、アンカプセリングしたデバイスディスクリプタ2463を含むデータ・ステージをアプリケーションインタフェース2432に渡すと、アプリケーションインタフェース2432はアプリケーション231のデバイス入出力要求に応答して、接続デバイス情報を通知する。
また、ホストコントローラインタフェース2425は、デバイス210からステータス・ステージで受信したデータ・パケットをステータスデータ2464として含むステータス・ステージを、通信制御部501に渡す。IPヘッダやTCPヘッダでIPカプセリングされたステータスデータ2464を含むステータス・ステージは、通信端末220の通信制御部501から情報処理装置230の通信制御部401に送信される。
情報処理装置の通信制御部401は、アンカプセリングしたステータスデータ2464を含むステータス・ステージをアプリケーションインタフェース2432に渡すと、アプリケーションインタフェース2432はアプリケーション231のデバイス入出力要求に応答して、接続デバイス情報を通知する。
なお、上記説明では、アプリケーションインタフェース2432においては、ハンドシェイク・パケットについて判定していないが、アプリケーションインタフェース2432が各ステージにおけるハンドシェイク・パケットを確認する構成であってもよい。
以下、他のコントロール転送や、バルク転送、インタラプト転送、アイソロナス転送においても、同様のデータ伝送が行なわれる。なお、ホストコントローラインタフェース2425とUSBバスインタフェース226とが一体にされたソフトウェアであってもよい。
本実施形態によれば、情報処理装置(仮想PC)と通信端末間の通信が互いのドライバを分割したフレーム単位の通信であってもステージ単位の通信であっても、USBデバイスを遠隔の通信端末に接続した時にも、情報処理装置に直接接続した場合と同じ操作ができる。
[他の実施形態]
なお、上記実施形態においては、USB、HDMI(登録商標)によるデバイスの接続例を示したが、SCSIなどの他の接続であっても同様の効果を奏する。さらに、デバイスを近距離無線、例えば、赤外線通信、WiFi、Bluetooth(登録商標)などで接続する場合にも適用でき、同様の効果を奏する。
また、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の範疇に含まれる。
なお、この出願は、同日出願された日本国特許出願(特願2014−235108,特願2014−235109、特願2014−235111)と関連し、その開示の全てをここに取り込む。
この出願は、2014年11月19日に出願された日本国特許出願 特願2014−235110号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (16)

  1. 遠隔にある複数の通信端末にそれぞれが接続された複数の操作デバイスと、
    前記複数の操作デバイスに対する操作の情報を入力する操作統合手段と、
    仮想分配による通信機能を有する複数の表示デバイスと、
    前記複数の表示デバイスの表示を仮想共有する前記複数の操作デバイスからの操作の情報に基づき、前記操作統合手段によって前記複数の操作デバイスに対する操作が統合された情報をリアルタイム表示する画面の生成を制御する制御手段と、
    前記表示デバイスに前記画面を表示させる表示制御手段と、
    を備える情報処理システム。
  2. 前記表示制御手段は、通信機能を有する複数の前記表示デバイスに前記画面を表示させる表示共有手段を有する請求項1に記載の情報処理システム。
  3. 前記操作統合手段は、操作デバイス用のクラスドライバと、前記操作デバイス用のクラスドライバと協働する、操作デバイスの数に対応する数の操作デバイス用のバスドライバとを含み、
    前記表示共有手段は、表示デバイス用のクラスドライバと、前記表示デバイス用のクラスドライバと協働する、表示デバイスの数に対応する数の表示デバイス用のバスドライバとを含む、請求項2に記載の情報処理システム。
  4. 前記通信端末は、
    接続されたデバイスを制御するデバイス制御手段と、
    前記デバイス制御手段とのインタフェースを行なうデバイスインタフェース手段と、
    を有し、
    アプリケーションと、前記アプリケーションの下で複数の操作デバイスに対する操作を入力する前記操作統合手段と、前記アプリケーション応じた画面を表示するよう制御する前記制御手段と、前記アプリケーションの下で複数の表示デバイスに前記画面を表示させる前記表示共有手段とを、前記通信端末または前記通信機能と通信する情報処理装置が有する、請求項2または3に記載の情報処理システム。
  5. 前記情報処理装置はクラウドサーバの仮想PC(Personal Computer)であって、
    前記表示共有手段は、前記情報処理装置または前記表示デバイスが有するグラフィックアクセレータが生成した画像の表示を共有させる請求項4に記載の情報処理システム。
  6. 前記情報処理装置と前記通信端末との間の通信帯域を調整するための通信バッファを備える請求項4または5に記載の情報処理システム。
  7. 前記複数の操作デバイスの操作と前記複数の表示デバイスの表示とを、前記通信バッファの容量を調整することによって同期させる同期手段をさらに備える請求項6に記載の情報処理システム。
  8. 前記操作デバイスおよびそのデバイスドライバの設定と、前記表示デバイスとそのデバイスドライバの設定とを格納する設定格納手段を備える請求項2乃至7のいずれか1項に記載の情報処理システム。
  9. 前記設定格納手段は、さらに、通信の設定および通信帯域を調整するための通信バッファの容量を格納する請求項8に記載の情報処理システム。
  10. 前記通信端末に接続するデバイスの通信容量が通信帯域を超える場合に、前記表示デバイスの通信データを圧縮する圧縮手段を備える請求項1乃至9のいずれか1項に記載の情報処理システム。
  11. 複数ユーザが共有するデバイスを、前記操作デバイスの通信経路および前記表示デバイスの通信経路と独立した通信経路で接続する通信手段を備える請求項1乃至10のいずれか1項に記載の情報処理システム。
  12. 前記通信端末に接続するデバイスのステータスに応じて、前記デバイスを用いた作業を支援するワークフローをミドルウェアとして実行する実行手段と、
    前記ワークフローを検索可能に格納するワークフロー格納手段と、
    をさらに備える請求項1乃至11のいずれか1項に記載の情報処理システム。
  13. 遠隔にある複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を入力する操作統合ステップと、
    前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
    仮想分配による通信機能を有する複数の表示デバイスに前記画面を表示させる表示制御ステップと、
    を含む情報処理方法。
  14. 遠隔にある複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合手段と、
    数の表示デバイスの表示を仮想共有する前記複数の操作デバイスからの操作の情報に基づき、前記操作統合手段によって前記複数の操作デバイスに対する操作が統合された情報をリアルタイム表示する画面の生成を制御する制御手段と、
    仮想分配による通信機能を有する複数の表示デバイスに前記画面を表示させる表示制御手段と、
    を備える情報処理装置。
  15. 遠隔にある複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合ステップと、
    数の表示デバイスの表示を仮想共有する前記複数の操作デバイスからの操作の情報に基づき、前記操作統合ステップによって前記複数の操作デバイスに対する操作が統合された情報をリアルタイム表示する画面の生成を制御する制御ステップと、
    仮想分配による通信機能を有する複数の表示デバイスに前記画面を表示させる表示制御ステップと、
    を含む情報処理装置の制御方法。
  16. 遠隔にある複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合ステップと、
    数の表示デバイスの表示を仮想共有する前記複数の操作デバイスからの操作の情報に基づき、前記操作統合ステップによって前記複数の操作デバイスに対する操作が統合された情報をリアルタイム表示する画面の生成を制御する制御ステップと、
    仮想分配による通信機能を有する複数の表示デバイスに前記画面を表示させる表示制御ステップと、
    をコンピュータに実行させる情報処理装置の制御プログラム。
JP2016560258A 2014-11-19 2015-11-18 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム Active JP6354854B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014235110 2014-11-19
JP2014235110 2014-11-19
PCT/JP2015/082361 WO2016080428A1 (ja) 2014-11-19 2015-11-18 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2016080428A1 JPWO2016080428A1 (ja) 2017-08-17
JP6354854B2 true JP6354854B2 (ja) 2018-07-11

Family

ID=56013963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016560258A Active JP6354854B2 (ja) 2014-11-19 2015-11-18 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム

Country Status (4)

Country Link
US (1) US10372632B2 (ja)
EP (1) EP3223161A1 (ja)
JP (1) JP6354854B2 (ja)
WO (1) WO2016080428A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114296675A (zh) * 2020-08-05 2022-04-08 腾讯科技(深圳)有限公司 投屏状态确定方法、装置、设备及计算机可读存储介质
KR102185800B1 (ko) * 2020-08-31 2020-12-02 (주)인스웨이브시스템즈 디바이스 공유를 통한 업무 지원 시스템 및 방법과 멀티 플랫폼 애플리케이션 개발 시스템

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636222B1 (en) * 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
TWI234134B (en) * 2000-04-14 2005-06-11 Koninkl Philips Electronics Nv Display driver with double calibration means
JP2001325206A (ja) 2000-05-12 2001-11-22 Canon Inc 表示装置、表示システム及びコンピュータ読み取り可能な記憶媒体
US20110058036A1 (en) * 2000-11-17 2011-03-10 E-Watch, Inc. Bandwidth management and control
US7369099B2 (en) * 2002-06-07 2008-05-06 Nec-Mitsubishi Electric Visual Systems Corporation Multi-display control system and image display apparatus
US7576919B2 (en) * 2003-12-01 2009-08-18 Andreas Durner Electronic spectacles, in particular night vision spectacles
JP4389605B2 (ja) * 2004-02-26 2009-12-24 日本電気株式会社 マルチキャスト情報配信システムおよびマルチキャスト情報配信方法
JP4412492B2 (ja) * 2005-09-26 2010-02-10 日本電気株式会社 リモート制御システム、リモート制御方法及びリモート制御プログラム
US7752556B2 (en) * 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
JP2007318470A (ja) 2006-05-26 2007-12-06 Sony Corp サーバ装置、送信順序決定方法およびコンテンツ配信システム
JP2008210115A (ja) 2007-02-26 2008-09-11 Nec Corp リモートコンピュータ上でローカル端末のusbデバイスを操作するシステム、その方法及びそのプログラム
US8610650B2 (en) * 2009-05-20 2013-12-17 Dialog Semiconductor Gmbh Advanced multi line addressing
JP2011023992A (ja) * 2009-07-16 2011-02-03 Hitachi Consumer Electronics Co Ltd コンテンツ配信システム、再生装置、及び配信サーバ
JP6019653B2 (ja) 2012-03-24 2016-11-02 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
US9246970B2 (en) * 2014-02-14 2016-01-26 GM Global Technology Operations LLC System and method for compensating for delay and jitter
US9406025B2 (en) * 2014-06-04 2016-08-02 International Business Machines Corporation Touch prediction for visual displays

Also Published As

Publication number Publication date
US20170322892A1 (en) 2017-11-09
EP3223161A1 (en) 2017-09-27
JPWO2016080428A1 (ja) 2017-08-17
WO2016080428A1 (ja) 2016-05-26
US10372632B2 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
US10397627B2 (en) Desktop-cloud-based media control method and device
KR101335247B1 (ko) 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템
TWI334716B (en) Computer network architecture and method of providing display data
TWI537827B (zh) 應用軟體試用系統、方法及其伺服器與使用者裝置
JP3172006U (ja) スマートフォン・ディスプレイの画面転送コントロール装置
WO2017124842A1 (zh) 一种截图的方法及装置
JP2015513805A (ja) 電子デバイス通信のための方法および装置
KR20140143793A (ko) 유니버셜 직렬 버스 디바이스들에 대한 데이터 재지향
EP2849080B1 (en) Image display method and device
JP2008210115A (ja) リモートコンピュータ上でローカル端末のusbデバイスを操作するシステム、その方法及びそのプログラム
WO2016142713A1 (en) System for connecting external displays to a mobile device
WO2015176648A1 (zh) 将智能终端上的数据传输至电视终端的方法、装置
JP2008089886A (ja) 無線伝送方法
CN104349177A (zh) 一种在桌面云下转向播放多媒体文件的方法、虚拟机及系统
JP6354854B2 (ja) 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
US8984540B2 (en) Multi-user computer system
TW201701152A (zh) 網路伺服系統
JP6399105B2 (ja) 情報処理システム、情報処理方法、情報処理装置および制御プログラム
CN113617020A (zh) 游戏控制方法、装置、存储介质、服务器以及终端
US20170357608A1 (en) Information processing system, information processing method, and information processing device
WO2022111732A1 (zh) 一种终端设备的应用控制方法及其相关设备
TWI598817B (zh) 多用戶電腦系統
CN113132779A (zh) 音量按键消息的处理方法及显示设备
JP2017010192A (ja) デバイス制御装置、その制御方法、およびデバイス制御システム
JP2012042753A (ja) 情報処理装置、表示装置、画像伝送システム、制御方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180425

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: 20180515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180528

R150 Certificate of patent or registration of utility model

Ref document number: 6354854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350