JP2024004586A - information processing program - Google Patents

information processing program Download PDF

Info

Publication number
JP2024004586A
JP2024004586A JP2022104253A JP2022104253A JP2024004586A JP 2024004586 A JP2024004586 A JP 2024004586A JP 2022104253 A JP2022104253 A JP 2022104253A JP 2022104253 A JP2022104253 A JP 2022104253A JP 2024004586 A JP2024004586 A JP 2024004586A
Authority
JP
Japan
Prior art keywords
command
information processing
terminal
processing program
application
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.)
Granted
Application number
JP2022104253A
Other languages
Japanese (ja)
Other versions
JP7208689B1 (en
Inventor
洸陽 白川
Koyo Shirakawa
友康 平野
Tomoyasu Hirano
伸太郎 板本
Shintaro Sakamoto
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.)
TELEPORT INC
Original Assignee
TELEPORT 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 TELEPORT INC filed Critical TELEPORT INC
Priority to JP2022104253A priority Critical patent/JP7208689B1/en
Application granted granted Critical
Publication of JP7208689B1 publication Critical patent/JP7208689B1/en
Publication of JP2024004586A publication Critical patent/JP2024004586A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing program that can partially control the environment of another person's application.
SOLUTION: An information processing program causes a computer of a second device to execute receiving a command generated via a communication system operating in a first device using a real-time communication protocol, analyzing the received command, and operating a component containing information for executing a function provided in the second device on the basis of the analyzed command.
SELECTED DRAWING: Figure 1
COPYRIGHT: (C)2024,JPO&INPIT

Description

本開示は、情報処理プログラムに関する。 The present disclosure relates to an information processing program.

オンライン会議システムが知られている。この種のオンライン会議システムにおいて、画面共有機能も知られている。画面共有機能は、オンライン会議に参加している1人のユーザの端末の画面をオンライン会議に参加している他のユーザの端末の画面にも表示させる機能である。このような画面共有機能により、例えば1人のユーザが何等かのアプリケーションを操作しながら他のユーザに説明をするといったことをすることができる。 Online conference systems are known. In this type of online conference system, a screen sharing function is also known. The screen sharing function is a function that causes the screen of one user's terminal participating in the online conference to be displayed on the terminal screens of other users participating in the online conference. Such a screen sharing function allows, for example, one user to provide an explanation to other users while operating some application.

特表2009-541901号公報Special Publication No. 2009-541901

ここで、画面共有機能は、あくまでも他のユーザと画面が共有されるだけである。このため、あるユーザが共有している画面において起動しているアプリケーションを他のユーザが操作することはできない。また、画面共有のためには、あるユーザの端末において起動している画面のデータを動画像のデータとして他の端末に伝送する必要がある。このため、遅延が生じやすい。遅延を低減するための1つの対応として、あるユーザの端末において起動しているアプリケーションにおける操作を他のユーザの端末においても同じように起動しているアプリケーションにも反映させることが考えられる。 Here, the screen sharing function only allows the screen to be shared with other users. Therefore, other users cannot operate an application running on a screen shared by a certain user. Furthermore, in order to share a screen, it is necessary to transmit data of a screen running on a certain user's terminal to another terminal as moving image data. For this reason, delays are likely to occur. One possible measure to reduce the delay is to reflect an operation in an application running on a certain user's terminal to an application running on another user's terminal in the same way.

本開示は、他者のアプリケーションの環境を部分的にコントロールできる情報処理プログラムを提供する。 The present disclosure provides an information processing program that can partially control the environment of another person's application.

本発明の一態様の情報処理プログラムは、第1の機器において動作中の通信システムを介して生成されたコマンドをリアルタイム通信のプロトコルを利用して受信することと、受信されたコマンドを解析することと、解析したコマンドに基づき、第2の機器に備えられた機能を実行するための情報を含むコンポーネントを操作することとを第2の機器のコンピュータに実行させる。 An information processing program according to one aspect of the present invention receives a command generated via a communication system operating in a first device using a real-time communication protocol, and analyzes the received command. and, based on the analyzed command, causes the computer of the second device to operate a component including information for executing a function provided in the second device.

本開示によれば、他者のアプリケーションの環境を部分的にコントロールすることが可能となる。 According to the present disclosure, it is possible to partially control the environment of another person's application.

図1は、実施形態に係る通信システムの一例を示す図である。FIG. 1 is a diagram illustrating an example of a communication system according to an embodiment. 図2は、端末のハードウェア構成の一例を示す図である。FIG. 2 is a diagram showing an example of the hardware configuration of a terminal. 図3は、サーバのハードウェア構成の一例を示す図である。FIG. 3 is a diagram showing an example of the hardware configuration of the server. 図4は、IoT機器のハードウェア構成の一例を示す図である。FIG. 4 is a diagram illustrating an example of the hardware configuration of an IoT device. 図5は、実施形態における通信システムの動作を説明するための図である。FIG. 5 is a diagram for explaining the operation of the communication system in the embodiment. 図6は、オンライン会議中に表示される画面の一例を示す図である。FIG. 6 is a diagram showing an example of a screen displayed during an online conference. 図7は、実施形態における1つのカードの概念図である。FIG. 7 is a conceptual diagram of one card in the embodiment. 図8は、アクションとコンポーネントとの関係の具体例を示す図である。FIG. 8 is a diagram showing a specific example of the relationship between actions and components.

以下、図面を参照して実施形態を説明する。図1は、実施形態に係る通信システムの一例を示す図である。図1に示すように、通信システム1は、端末100a、100b、100cと、サーバ200と、IoT(Internet of Things)機器300とを有している。端末100aと、端末100bと、端末100cと、サーバ200と、IoT機器300とは、相互にリアルタイム通信ができる環境にある。端末100aと、端末100bと、端末100cと、サーバ200と、IoT機器300との間のリアルタイム通信は、例えばブラウザ型ウェブ通信システムにおいて用いられるリアルタイム通信のプロトコルであるWebRTC(Web Real-Time Communication)によって実現され得る。WebRTCの方式は、図1で示したピア・ツー・ピア(pear to pear)方式に限らず、SFU(Selective Forwarding Unit)方式及びMCU(Multipoint Control Unit)方式であってもよい。 Hereinafter, embodiments will be described with reference to the drawings. FIG. 1 is a diagram illustrating an example of a communication system according to an embodiment. As shown in FIG. 1, the communication system 1 includes terminals 100a, 100b, and 100c, a server 200, and an IoT (Internet of Things) device 300. The terminal 100a, the terminal 100b, the terminal 100c, the server 200, and the IoT device 300 are in an environment where they can communicate with each other in real time. Real-time communication between the terminal 100a, the terminal 100b, the terminal 100c, the server 200, and the IoT device 300 is performed using WebRTC (Web Real-Time Communication), which is a real-time communication protocol used in a browser-type web communication system, for example. This can be realized by The WebRTC method is not limited to the peer-to-peer method shown in FIG. 1, but may also be an SFU (Selective Forwarding Unit) method or an MCU (Multipoint Control Unit) method.

端末100a、100b、100cは、例えばパーソナルコンピュータ(PC)、タブレット端末、スマートフォンといった端末である。以下、端末100a、100b、100cは同じ構成を有する端末100として説明される。図2は、端末100のハードウェア構成の一例を示す図である。図2に示すように、端末100は、プロセッサ101と、ROM102と、RAM103と、ストレージ104と、入力インタフェース105と、出力インタフェース106と、通信装置107とをハードウェアとして有している。 The terminals 100a, 100b, and 100c are, for example, a personal computer (PC), a tablet terminal, or a smartphone. Hereinafter, the terminals 100a, 100b, and 100c will be explained as terminals 100 having the same configuration. FIG. 2 is a diagram showing an example of the hardware configuration of the terminal 100. As shown in FIG. 2, the terminal 100 includes a processor 101, a ROM 102, a RAM 103, a storage 104, an input interface 105, an output interface 106, and a communication device 107 as hardware.

プロセッサ101は、端末100の全体的な動作を制御するプロセッサである。プロセッサ101は、例えばストレージ104に記憶されている各種のアプリケーションプログラム(アプリ)を実行することによって、各種の処理を実行し得る。プロセッサ101は、例えばCPU(Central Processing Unit)である。プロセッサ101は、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等であってもよい。プロセッサ101は、単一のCPU等であってもよいし、複数のCPU等であってもよい。 Processor 101 is a processor that controls the overall operation of terminal 100. The processor 101 can perform various processes by executing various application programs (apps) stored in the storage 104, for example. The processor 101 is, for example, a CPU (Central Processing Unit). The processor 101 may be an MPU (Micro-Processing Unit), a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or the like. The processor 101 may be a single CPU or the like, or may be a plurality of CPUs.

ROM(Read Only Memory)102は、不揮発性のメモリである。ROM102は、端末100の起動プログラム等を記憶している。RAM(Random Access Memory)103は、揮発性のメモリである。RAM103は、例えばプロセッサ101における処理の際の作業メモリとして用いられる。 ROM (Read Only Memory) 102 is a nonvolatile memory. The ROM 102 stores a startup program for the terminal 100 and the like. RAM (Random Access Memory) 103 is volatile memory. The RAM 103 is used, for example, as a working memory during processing in the processor 101.

ストレージ104は、例えばハードディスクドライブ、ソリッドステートドライブ、フラッシュメモリといったストレージである。ストレージ104は、OS(Operating System)を記憶している。また、ストレージ104は、プロセッサ101によって実行される各種のプログラムを記憶している。このプログラムは、例えばWebブラウザ、各種のアプリを含む。また、アプリは、端末100に予めインストールされているものであってもよいし、サーバ200等からダウンロードされるものであってもよい。実施形態におけるアプリには、少なくとも1つのアクションが定義されている。それぞれのアクションには、少なくとも1つのコンポーネントが対応づけられている。コンポーネントは、対応するアクションの実施に係る機能と対応するアクションの実施に係るUIの少なくとも1つを含む。コンポーネントを構成する機能とUIの組み合わせは、ユーザによって適宜にカスタマイズされ得る。さらに、実施形態におけるアプリは、少なくとも1つのアクションが定義された「カード型アプリケーション」として構成されてもよい。「カード型アプリケーション」は、1つのアプリケーションの中に構築された異なる1つ以上の仮想化されたアプリケーションであって、アクションの実施に係る機能と対応するアクションの実施に係るUIとの少なくとも1つを含むコンポーネントを記録したアプリケーションである。「カード型アプリケーション」が構築されるアプリケーションは、例えばSNS(Social Networking Service)アプリケーション、オンライン会議アプリケーションといった各種の通信を伴うアプリケーションであり得る。また、コンポーネントを構成する機能とUIの組み合わせは、ユーザによって適宜にカスタマイズされ得る。例えば、「スライドカード」は、スライドショーを実行するための各種のアクションが定義づけられたアプリケーションプログラムである。カード型アプリケーションが構築されたアプリケーションの実行時に表示されるアプリケーションの表示画面は、「カード型」の表示領域を内包している。ユーザは、「カード型」の表示領域を選択することで、その表示領域に対応づけられたアクションを実行させることができる。以下、カード型アプリケーションを単に「カード」と言う。 The storage 104 is, for example, a hard disk drive, a solid state drive, or a flash memory. The storage 104 stores an OS (Operating System). Furthermore, the storage 104 stores various programs executed by the processor 101. This program includes, for example, a web browser and various applications. Further, the application may be installed in advance on the terminal 100, or may be downloaded from the server 200 or the like. At least one action is defined in the application in the embodiment. At least one component is associated with each action. The component includes at least one of a function related to the implementation of the corresponding action and a UI related to the implementation of the corresponding action. The combination of functions and UI that constitute a component can be customized as appropriate by the user. Furthermore, the application in the embodiment may be configured as a "card-type application" in which at least one action is defined. A "card-type application" is one or more different virtualized applications built within one application, and includes at least one function related to the implementation of an action and a UI related to the corresponding action implementation. This is an application that records components that include . The application on which the "card type application" is constructed may be an application that involves various types of communication, such as an SNS (Social Networking Service) application or an online conference application. Furthermore, the combination of functions and UIs that make up the components can be customized as appropriate by the user. For example, "slide card" is an application program in which various actions for executing a slide show are defined. The display screen of the application that is displayed when the application for which the card-type application has been constructed is executed includes a "card-type" display area. By selecting a "card type" display area, the user can execute an action associated with that display area. Hereinafter, the card-type application will be simply referred to as a "card."

入力インタフェース105は、タッチパネル、キーボード、マウス等の入力装置を含む。入力インタフェース105の入力装置の操作がされた場合、操作内容に応じた信号がプロセッサ101に入力される。プロセッサ101は、この信号に応じて各種の処理を行う。 The input interface 105 includes input devices such as a touch panel, a keyboard, and a mouse. When the input device of the input interface 105 is operated, a signal corresponding to the content of the operation is input to the processor 101. Processor 101 performs various processes in response to this signal.

出力インタフェース106は、ディスプレイ、プリンタ等の出力装置を含む。出力装置には、各種の情報が出力される。例えば、ディスプレイには、各種の画面が表示される。 The output interface 106 includes an output device such as a display and a printer. Various information is output to the output device. For example, various screens are displayed on the display.

通信装置107は、端末100がサーバ200、IoT機器300といった外部の機器と通信するための通信装置である。通信装置107は、有線通信のための通信装置であってもよいし、無線通信のための通信装置であってもよい。 The communication device 107 is a communication device for the terminal 100 to communicate with external devices such as the server 200 and the IoT device 300. The communication device 107 may be a communication device for wired communication or a communication device for wireless communication.

サーバ200は、例えばオンライン会議用のサーバであり、端末100a、100b、100cの間のオンライン会議中の各種のサービスを提供する。実施形態において、サーバ200は、端末100a、100b、100cの何れかから送信されるコマンドを受けたときにそのコマンドを他の端末に送信するといった処理を実行する。図3は、サーバ200のハードウェア構成の一例を示す図である。図3に示すように、サーバ200は、プロセッサ201と、ROM202と、RAM203と、ストレージ204と、通信装置205とをハードウェアとして有している。サーバ200は、入力インタフェースと、出力インタフェースといった要素を有していてもよい。ここで、サーバ200は、オンライン会議用のサーバに限るものではない。 The server 200 is, for example, a server for online conferences, and provides various services during online conferences between the terminals 100a, 100b, and 100c. In the embodiment, when the server 200 receives a command sent from one of the terminals 100a, 100b, and 100c, it executes processing such as sending the command to the other terminal. FIG. 3 is a diagram showing an example of the hardware configuration of the server 200. As shown in FIG. 3, the server 200 includes a processor 201, a ROM 202, a RAM 203, a storage 204, and a communication device 205 as hardware. The server 200 may have elements such as an input interface and an output interface. Here, the server 200 is not limited to a server for online conferences.

プロセッサ201は、サーバ200の全体的な動作を制御するプロセッサである。プロセッサ201は、例えばストレージ204に記憶されている各種のプログラムを実行することによって、各種の処理を実行し得る。プロセッサ201は、例えばCPUである。プロセッサ201は、MPU、GPU、ASIC、FPGA等であってもよい。プロセッサ201は、単一のCPU等であってもよいし、複数のCPU等であってもよい。 Processor 201 is a processor that controls the overall operation of server 200. The processor 201 can perform various processes by executing various programs stored in the storage 204, for example. Processor 201 is, for example, a CPU. Processor 201 may be an MPU, GPU, ASIC, FPGA, or the like. The processor 201 may be a single CPU or the like, or may be a plurality of CPUs.

ROM202は、不揮発性のメモリである。ROM202は、サーバ200の起動プログラム等を記憶している。RAM203は、揮発性のメモリである。RAM203は、例えばプロセッサ201における処理の際の作業メモリとして用いられる。 ROM 202 is a nonvolatile memory. The ROM 202 stores a startup program for the server 200 and the like. RAM 203 is volatile memory. The RAM 203 is used, for example, as a working memory during processing in the processor 201.

ストレージ204は、例えばハードディスクドライブ、ソリッドステートドライブ、フラッシュメモリといったストレージである。ストレージ204は、OSを記憶している。また、ストレージ204は、プロセッサ201によって実行される各種のプログラムを記憶している。このプログラムは、例えばオンライン会議の制御プログラムといったサーバ毎のプログラム、端末100a、100b、100cにおいて実行され得る各種のWeb API(Application Program Interface)といったものを含む。さらに、このプログラムは、例えば端末100a、100b、100cのWebブラウザ上で動作する各種のWebアプリケーションを含む。実施形態においてストレージ204に記憶されるWeb API及びWebアプリケーションも端末100a、100b、100cにおいて実行されるアプリと同様に少なくとも1つのアクションが定義されている。それぞれのアクションには、対応するアクションによって実施される機能が対応づけられている。さらに、実施形態におけるオンライン会議の制御プログラムといったサーバ毎のプログラム及びWebアプリケーションは、それ自体が別のアプリケーションに含まれる「カード」として構築されてもよいし、「カード」を内包していてもよい。 The storage 204 is, for example, a hard disk drive, a solid state drive, or a flash memory. The storage 204 stores an OS. Furthermore, the storage 204 stores various programs executed by the processor 201. These programs include programs for each server, such as an online conference control program, and various Web APIs (Application Program Interfaces) that can be executed on the terminals 100a, 100b, and 100c. Furthermore, this program includes various web applications that run on the web browsers of the terminals 100a, 100b, and 100c, for example. In the embodiment, the Web API and Web application stored in the storage 204 also have at least one action defined in the same manner as the applications executed on the terminals 100a, 100b, and 100c. Each action is associated with a function performed by the corresponding action. Furthermore, the program for each server and the web application, such as the online conference control program in the embodiment, may itself be constructed as a "card" included in another application, or may include a "card". .

通信装置205は、サーバ200が端末100a、100b、100c、IoT機器300といった外部の機器と通信するための通信装置である。通信装置205は、有線通信のための通信装置であってもよいし、無線通信のための通信装置であってもよい。 The communication device 205 is a communication device for the server 200 to communicate with external devices such as the terminals 100a, 100b, 100c, and the IoT device 300. The communication device 205 may be a communication device for wired communication or a communication device for wireless communication.

IoT機器300は、ネットワーク接続できる種々の機器である。図4は、IoT機器300のハードウェア構成の一例を示す図である。図4に示すように、IoT機器300は、プロセッサ301と、ROM302と、RAM303と、機能実行部304と、通信装置305とをハードウェアとして有している。IoT機器300は、入力インタフェースと、出力インタフェースといった要素を有していてもよい。 The IoT device 300 is a variety of devices that can be connected to a network. FIG. 4 is a diagram illustrating an example of the hardware configuration of the IoT device 300. As shown in FIG. 4, the IoT device 300 includes a processor 301, a ROM 302, a RAM 303, a function execution unit 304, and a communication device 305 as hardware. The IoT device 300 may include elements such as an input interface and an output interface.

プロセッサ301は、IoT機器300の全体的な動作を制御するプロセッサである。プロセッサ301は、例えばROM303に記憶されているファームウェアに従って各種の処理を実行し得る。プロセッサ301は、例えばCPUである。プロセッサ301は、MPU、GPU、ASIC、FPGA等であってもよい。プロセッサ301は、単一のCPU等であってもよいし、複数のCPU等であってもよい。 The processor 301 is a processor that controls the overall operation of the IoT device 300. The processor 301 can execute various processes according to firmware stored in the ROM 303, for example. Processor 301 is, for example, a CPU. Processor 301 may be an MPU, GPU, ASIC, FPGA, or the like. The processor 301 may be a single CPU or the like, or may be a plurality of CPUs.

ROM302は、不揮発性のメモリである。ROM202は、IoT機器300のファームウェア等を記憶している。RAM303は、揮発性のメモリである。RAM303は、例えばプロセッサ301における処理の際の作業メモリとして用いられる。 ROM 302 is a nonvolatile memory. The ROM 202 stores firmware and the like of the IoT device 300. RAM 303 is volatile memory. The RAM 303 is used, for example, as a working memory during processing in the processor 301.

機能実行部304は、IoT機器300毎に定められた機能を実行するための要素である。例えばIoT機器300が遠隔操作ロボットアームであれば、機能実行部304は、ロボットアーム、センサ等を含む。また、例えばIoT機器300がカメラであれば、機能実行部304は、イメージセンサ等を含む。機能実行部304の機能は、前述したコンポーネントにおける機能と対応している。なお、機能実行部304も、「カード」を含み得る。例えば、機能実行部304の制御プログラムにカードが構築され得る。制御プログラムは、ROM302に記憶されてもよい。 The function execution unit 304 is an element for executing a function determined for each IoT device 300. For example, if the IoT device 300 is a remote control robot arm, the function execution unit 304 includes a robot arm, a sensor, and the like. Further, for example, if the IoT device 300 is a camera, the function execution unit 304 includes an image sensor or the like. The functions of the function execution unit 304 correspond to the functions of the components described above. Note that the function execution unit 304 may also include a "card." For example, a card may be constructed in the control program of the function execution unit 304. The control program may be stored in ROM 302.

通信装置305は、IoT機器300が端末100a、100b、100c、サーバ200といった外部の機器と通信するための通信装置である。通信装置205は、有線通信のための通信装置であってもよいし、無線通信のための通信装置であってもよい。 The communication device 305 is a communication device for the IoT device 300 to communicate with external devices such as the terminals 100a, 100b, 100c, and the server 200. The communication device 205 may be a communication device for wired communication or a communication device for wireless communication.

次に、通信システム1の動作を説明する。図5は、実施形態における通信システム1の動作を説明するための図である。例えば、ユーザU1とユーザU2とは、オンライン会議中である。例えば、ユーザU1は、端末100aを用いてサーバ200により指定されたURLにアクセスし、ウェブブラウザ上にオンライン会議の画面を表示させている。同様に、ユーザU2は、端末100bを用いてサーバ200により指定されたURLにアクセスし、ウェブブラウザ上にオンライン会議の画面を表示させている。 Next, the operation of the communication system 1 will be explained. FIG. 5 is a diagram for explaining the operation of the communication system 1 in the embodiment. For example, user U1 and user U2 are in an online conference. For example, the user U1 uses the terminal 100a to access a URL specified by the server 200 and displays an online conference screen on the web browser. Similarly, the user U2 uses the terminal 100b to access the URL specified by the server 200 and displays the online conference screen on the web browser.

図6は、オンライン会議中に表示される画面の一例を示す図である。図6に示すように、実施形態では、オンライン会議の画面400上にそれぞれのユーザの画像を表示するための領域401に加えて、カードのための領域402が割り当てられている。図6では、領域402は、カード型の表示領域として、スライドカード402a、表計算カード402b、ドキュメントビューワカード402cを内包している。なお、領域402に表示させるカードは、端末100a、100bのユーザによって適宜に選択され得る。何れかのユーザによって指定されたカードは、他のユーザのオンライン会議の画面400上にも表示される。したがって、端末100aと端末100bとには同じカードが実行できるように構成されているものとする。一方で、端末100aと端末100bとに個別にカードの実行権限が与えられてもよい。この場合、端末100aで実行できるカードの機能の一部を端末100bが実行できないといった制限を課すこともできる。 FIG. 6 is a diagram showing an example of a screen displayed during an online conference. As shown in FIG. 6, in the embodiment, in addition to an area 401 for displaying each user's image on an online conference screen 400, an area 402 for cards is allocated. In FIG. 6, the area 402 includes a slide card 402a, a spreadsheet card 402b, and a document viewer card 402c as a card-type display area. Note that the cards to be displayed in the area 402 can be selected as appropriate by the users of the terminals 100a and 100b. A card specified by any user is also displayed on the online conference screen 400 of other users. Therefore, it is assumed that the terminal 100a and the terminal 100b are configured so that the same card can be executed. On the other hand, the terminal 100a and the terminal 100b may be individually given card execution authority. In this case, a restriction may be imposed such that the terminal 100b cannot execute some of the card functions that can be executed by the terminal 100a.

例えば、ユーザU1がカードの領域402においてスライドカード402aを起動したとする。このとき、ユーザU1の端末100aからサーバ200にコマンドが送信される。サーバ200は、WebRTCのRTM(Real-time messaging)機能により、コマンドをユーザU2の端末100bに送信する。なお、例ではコマンドは、サーバ200経由で送信されるとされている。しかしながら、コマンドは、必ずしもサーバ200経由で送信されなくてもよい。コマンドは、例えば、端末同士の直接通信で送信されてもよいし、端末とIoT機器との直接通信で送信されてもよいし、端末から別の端末経由でIoT機器に送信されてもよい。 For example, assume that user U1 activates slide card 402a in card area 402. At this time, a command is transmitted from the terminal 100a of the user U1 to the server 200. The server 200 transmits the command to the terminal 100b of the user U2 using the RTM (Real-time messaging) function of WebRTC. Note that in the example, the command is sent via the server 200. However, the commands do not necessarily have to be sent via server 200. For example, the command may be transmitted through direct communication between terminals, between a terminal and an IoT device, or from a terminal to an IoT device via another terminal.

端末100bのウェブブラウザは、コマンドの内容を解析する。ここでは、例えばスライドカードの起動のコマンドであると解析される。このとき、端末100bのウェブブラウザは、表示中のオンライン会議の画面におけるカードのための領域402においてスライドカード402aを起動するためのアクションを実行する。これにより、端末100aで起動されたスライドと同じスライドが端末100bにおいても共有される。ここで、スライドカードは端末100aと端末100bの双方で起動されているため、端末100bのユーザU2もスライドに対する操作をすることができる。スライドカードの起動コマンドに前述した端末100bの実行権限に関するコマンドが含められてもよい。実行権限に関するコマンドは、例えば端末100bからのスライドに対する操作を禁止するコマンドであり得る。 The web browser of the terminal 100b analyzes the contents of the command. Here, it is analyzed as a command to start a slide card, for example. At this time, the web browser of the terminal 100b executes an action to activate the slide card 402a in the card area 402 on the online conference screen being displayed. As a result, the same slide activated on the terminal 100a is also shared on the terminal 100b. Here, since the slide card is activated on both the terminal 100a and the terminal 100b, the user U2 of the terminal 100b can also operate the slide. The activation command of the slide card may include a command related to the execution authority of the terminal 100b described above. The command regarding execution authority may be, for example, a command that prohibits operations on slides from the terminal 100b.

図7は、実施形態における1つのカードの概念図である。図7に示すように、1つのカードには、少なくとも1つのアクションが対応づけられている。そして、1つのアクションには、少なくとも1つのコンポーネントが対応づけられている。例えば、図7のアクションAには、機能とUIとによって構成されるコンポーネント1が対応づけられている。この場合、コマンドによってアクションAの実行が指示された場合には、コンポーネント1の機能とUIとの少なくとも一方が用いられてアクションAが実行される。同様に、アクションBには、機能とUIとによって構成されるコンポーネント1と、UIだけによって構成されるコンポーネント2とが対応づけられている。この場合、コマンドによってアクションBの実行が指示された場合には、コンポーネント1の機能とUI及びコンポーネント2のUIが用いられてアクションBが実行される。 FIG. 7 is a conceptual diagram of one card in the embodiment. As shown in FIG. 7, one card is associated with at least one action. At least one component is associated with one action. For example, action A in FIG. 7 is associated with component 1, which is composed of a function and a UI. In this case, when execution of action A is instructed by a command, action A is executed using at least one of the function of component 1 and the UI. Similarly, action B is associated with a component 1 consisting of a function and a UI, and a component 2 consisting only of a UI. In this case, when execution of action B is instructed by a command, action B is executed using the function and UI of component 1 and the UI of component 2.

図8は、アクションとコンポーネントとの関係の具体例を示す図である。図8は、例えばスライドカードにおけるアクションとコンポーネントの関係を示している。 FIG. 8 is a diagram showing a specific example of the relationship between actions and components. FIG. 8 shows, for example, the relationship between actions and components in a slide card.

例えば、ユーザU1が端末100aのウェブブラウザ上においてスライドカードを起動したとする。このとき、端末100aからサーバ200を経由してコマンドが送信される。このコマンドに基づいて、端末100bは、スライドカードの起動に係るアクションAとして、スライドカードの画面をウェブブラウザの前面に固定で大きく表示する処理を行う。 For example, assume that the user U1 activates a slide card on the web browser of the terminal 100a. At this time, a command is transmitted from the terminal 100a via the server 200. Based on this command, the terminal 100b performs a process of displaying the slide card screen fixedly and in a large size in front of the web browser as action A related to activating the slide card.

続いて、ユーザU1がプレゼンテーションのためにスライドのページを進めて購入履歴の表を表示させたとする。このときも、端末100aからサーバ200を経由してコマンドが送信される。このコマンドに基づいて、端末100bは、アクションBとして、スライドに購入履歴を表示する。例えば、端末100bは、アクションBとして、スライドのページを進める処理を行う。また、端末100bは、アクションBとして、購入履歴の表を表示する処理を行う。 Next, assume that the user U1 advances the slide page to display a purchase history table for a presentation. Also at this time, a command is transmitted from the terminal 100a via the server 200. Based on this command, the terminal 100b displays the purchase history on a slide as action B. For example, as action B, the terminal 100b performs processing to advance the slide page. Furthermore, as action B, the terminal 100b performs a process of displaying a purchase history table.

また、コマンドの内容の解析の結果、例えば端末100aから送信されたコマンドが端末100bに関連するWeb APIの実行コマンドを含むときには、端末100bは、図5に示すように、必要なWeb APIをコールする。同様に、例えば端末100aから送信されたコマンドが端末100bにインストールされた特定のアプリケーションに関わるコマンドを含むときには、端末100bは、コマンドによって指定されたアプリケーションにおいて指定された処理を実行する。同様に、例えば端末100aから送信されたコマンドがIoT機器300の動作に関わるコマンドを含むときには、IoT機器300は、コマンドによって指定された機能を実行する。さらに、カードに関わるコマンド又は端末100bにインストールされた特定のアプリケーション関わるコマンドによって、他のIoT機器300に対するコマンドを発する必要が生じたときには、端末100bからIoT機器300に対してコマンドが送信される。そして、IoT機器300は、コマンドによって指定された機能を実行する。この場合、IoT機器300は、ウェブブラウザ上で動作できるカードを含んでいなくてよい。 Further, as a result of analyzing the contents of the command, for example, if the command sent from the terminal 100a includes an execution command of a Web API related to the terminal 100b, the terminal 100b calls the necessary Web API, as shown in FIG. do. Similarly, for example, when a command sent from the terminal 100a includes a command related to a specific application installed on the terminal 100b, the terminal 100b executes the process specified in the application specified by the command. Similarly, for example, when a command transmitted from the terminal 100a includes a command related to the operation of the IoT device 300, the IoT device 300 executes the function specified by the command. Furthermore, when it becomes necessary to issue a command to another IoT device 300 due to a command related to a card or a command related to a specific application installed on the terminal 100b, the command is sent from the terminal 100b to the IoT device 300. The IoT device 300 then executes the function specified by the command. In this case, IoT device 300 does not need to include a card that can operate on a web browser.

以上説明したように実施形態によれば、第1の機器で発されたコマンドがリアルタイム通信のプロトコルを用いて、1つ以上の第2の機器に送信される。そして、それぞれの第2の機器は、受信したコマンドに基づいてそれぞれのコンポーネントを動作させる。このように、実施形態では、コマンドの共有によって第2の機器に第1の機器と同じ動作をさせることができる。これにより、例えば、オンライン会議の場においては、第1の機器のユーザが起動したアプリケーションにおける操作と同様の操作が第2の機器のアプリケーションにおいて起動したアプリケーションにも反映される。これにより、オンライン会議における画面の共有の操作をした場合と同様の動作が低遅延で実現され得る。このように、実施形態によれば、他者のアプリケーションの環境を部分的にコントロールすることが可能となる。 As described above, according to the embodiment, a command issued by a first device is transmitted to one or more second devices using a real-time communication protocol. Then, each second device operates its respective component based on the received command. In this way, in the embodiment, the second device can perform the same operation as the first device by sharing commands. As a result, for example, in an online conference, the same operation as in the application started by the user of the first device is also reflected in the application started in the application of the second device. As a result, an operation similar to the screen sharing operation in an online conference can be realized with low delay. In this way, according to the embodiment, it is possible to partially control the environment of another person's application.

また、実施形態ではコマンドによってコントロールされるのはカードが持つ機能又はUIの単位、WebAPIの単位、IoT機器の機能単位に限定される。つまり、実施形態ではリモートデスクトップ制御等とは異なり、他者の端末のコントロールがOS(オペレーティングシステム)レベルで行われるのではなく、部分的に行われるだけである。したがって、セキュリティも考慮される。 Furthermore, in the embodiment, what is controlled by the command is limited to the functions of the card, the UI unit, the Web API unit, and the functional unit of the IoT device. That is, in the embodiment, unlike remote desktop control or the like, control of another person's terminal is not performed at the OS (operating system) level, but only partially. Therefore, security is also considered.

また、ウェブアプリケーションに「カード」が内包されている形態であれば、それぞれの端末はウェブブラウザを有しているだけでカードを共有し得る。さらに、通信にピア・ツー・ピア方式が使用されていれば、端末間の通信はサーバを介さずに行われ得る一方で、リアルタイムのデータの協調が行われ得る。 Furthermore, if a "card" is included in the web application, each terminal can share the card simply by having a web browser. Furthermore, if a peer-to-peer method is used for communication, communication between terminals can be performed without going through a server, while real-time data coordination can occur.

1 通信システム、100,100a,100b,100c 端末、101 プロセッサ、102 ROM、103 RAM、104 ストレージ、105 入力インタフェース、106 出力インタフェース、107 通信装置、200 サーバ、201 プロセッサ、202 ROM、203 RAM、204 ストレージ、205 通信装置、300 IoT機器、301 プロセッサ、302 ROM 303 RAM、304 機能実行部、305 通信装置。 1 communication system, 100, 100a, 100b, 100c terminal, 101 processor, 102 ROM, 103 RAM, 104 storage, 105 input interface, 106 output interface, 107 communication device, 200 server, 201 processor, 202 ROM, 203 RAM, 204 storage, 205 communication device, 300 IoT device, 301 processor, 302 ROM 303 RAM, 304 function execution unit, 305 communication device.

本発明の一態様の情報処理プログラムは、第1の機器から送信されたコマンドをリアルタイム通信のプロトコルを利用して受信することと、受信されたコマンドを解析することと、解析したコマンドに基づき、第2の機器に備えられた機能を実行するための情報を含み、第1のアプリケーションに構築された仮想的な第2のアプリケーションに内包されるコンポーネントを操作することとを第2の機器のコンピュータに実行させる。 An information processing program according to one aspect of the present invention receives a command transmitted from a first device using a real-time communication protocol, analyzes the received command, and based on the analyzed command, The second device includes information for executing functions provided in the second device, and operates components included in a virtual second application built in the first application. Let the computer run it.

Claims (8)

第1の機器において動作中の通信システムを介して生成されたコマンドをリアルタイム通信のプロトコルを利用して受信することと、
受信されたコマンドを解析することと、
解析した前記コマンドに基づき、第2の機器に備えられた機能を実行するための情報を含むコンポーネントを操作することと、
を前記第2の機器のコンピュータに実行させるための情報処理プログラム。
receiving a command generated via a communication system operating in the first device using a real-time communication protocol;
parsing the received command;
Operating a component including information for executing a function provided in a second device based on the analyzed command;
An information processing program for causing a computer of the second device to execute.
前記コンポーネントは、前記機能に関わるユーザインタフェースの設定の情報をさらに含み、
解析した前記コマンドに基づく前記コンポーネントの操作として、前記ユーザインタフェースの設定を変更することをさらに前記第2の機器のコンピュータに実行させるための請求項1に記載の情報処理プログラム。
The component further includes information on user interface settings related to the function,
2. The information processing program according to claim 1, further causing the computer of the second device to change the settings of the user interface as the operation of the component based on the analyzed command.
前記コンポーネントは、第1のアプリケーションに構築された仮想的な第2のアプリケーションに内包される請求項2に記載の情報処理プログラム。 The information processing program according to claim 2, wherein the component is included in a virtual second application built in the first application. 前記第1のアプリケーションの実行画面には、前記コンポーネントを実行するためのカード型の表示領域が表示される請求項3に記載の情報処理プログラム。 4. The information processing program according to claim 3, wherein a card-shaped display area for executing the component is displayed on the execution screen of the first application. 前記コンポーネントは、ブラウザ型ウェブ通信システムにおいて実行されるアプリケーションプログラムである請求項2に記載の情報処理プログラム。 The information processing program according to claim 2, wherein the component is an application program executed in a browser-type web communication system. 前記コンポーネントは、前記第2の機器にインストールされたアプリケーションプログラムである請求項2に記載の情報処理プログラム。 The information processing program according to claim 2, wherein the component is an application program installed on the second device. 前記第2の機器は、IoT(Internet of Things)機器であり、
前記コンポーネントは、前記IoT機器の動作を制御するプログラムである請求項2に記載の情報処理プログラム。
The second device is an IoT (Internet of Things) device,
The information processing program according to claim 2, wherein the component is a program that controls operations of the IoT device.
前記第2の機器は、複数の機器であり、
前記コマンドは、複数の前記機器によって共有される請求項1乃至7の何れか1項に記載の情報処理プログラム。
The second device is a plurality of devices,
8. The information processing program according to claim 1, wherein the command is shared by a plurality of the devices.
JP2022104253A 2022-06-29 2022-06-29 Information processing program Active JP7208689B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022104253A JP7208689B1 (en) 2022-06-29 2022-06-29 Information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022104253A JP7208689B1 (en) 2022-06-29 2022-06-29 Information processing program

Publications (2)

Publication Number Publication Date
JP7208689B1 JP7208689B1 (en) 2023-01-19
JP2024004586A true JP2024004586A (en) 2024-01-17

Family

ID=84974440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022104253A Active JP7208689B1 (en) 2022-06-29 2022-06-29 Information processing program

Country Status (1)

Country Link
JP (1) JP7208689B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018198624A1 (en) * 2017-04-25 2018-11-01 三菱重工業株式会社 Management monitoring system
JP2019095998A (en) * 2017-11-21 2019-06-20 凸版印刷株式会社 Information sharing system
JP2020009262A (en) * 2018-07-10 2020-01-16 セイコーエプソン株式会社 Image sharing method, information processing device, and information processing system
JP2022008507A (en) * 2010-04-07 2022-01-13 アップル インコーポレイテッド Establishment of video conference during phone call
JP2022037082A (en) * 2017-06-23 2022-03-08 富士通株式会社 Information processing device, information processing method, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022008507A (en) * 2010-04-07 2022-01-13 アップル インコーポレイテッド Establishment of video conference during phone call
WO2018198624A1 (en) * 2017-04-25 2018-11-01 三菱重工業株式会社 Management monitoring system
JP2022037082A (en) * 2017-06-23 2022-03-08 富士通株式会社 Information processing device, information processing method, and program
JP2019095998A (en) * 2017-11-21 2019-06-20 凸版印刷株式会社 Information sharing system
JP2020009262A (en) * 2018-07-10 2020-01-16 セイコーエプソン株式会社 Image sharing method, information processing device, and information processing system

Also Published As

Publication number Publication date
JP7208689B1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
US10601633B2 (en) Virtual window screen renderings using application connectors
US9100383B2 (en) Simultaneous remote and local control of computer desktop
US8843858B2 (en) Optimization schemes for controlling user interfaces through gesture or touch
US10341268B2 (en) Method and device for implementing instant messaging
US9384503B2 (en) Terminal apparatus, advertisement display control apparatus, and advertisement display method
US20170024226A1 (en) Information processing method and electronic device
US9612730B2 (en) Viewing different window content with different attendees in desktop sharing
JP2018524661A (en) Virtual workspace viewport follow mode in collaborative systems
US20180113663A1 (en) Browser based display system for displaying image data
JP2018504657A (en) Tab-based browser content sharing
US9495064B2 (en) Information processing method and electronic device
EP3242197B1 (en) Desktop sharing method and mobile terminal
US20160028789A1 (en) Information processing apparatus, information processing system, and non-transitory computer readable medium
JP7208689B1 (en) Information processing program
CN109416638B (en) Customizable compact overlay window
US9886290B2 (en) Component loading based on user preferences
CN111708533B (en) Method and device for setting mouse display state in application thin client
CN108351888B (en) Generating deferrable data streams
KR102245042B1 (en) Terminal, method for contrlling thereof and recording medium on which a program for implemeting the method
US20120054313A1 (en) Interpreting web application content
CN114020396A (en) Display method of application program and data generation method of application program
US20160147741A1 (en) Techniques for providing a user interface incorporating sign language
US20070266111A1 (en) Web-internet operating system-the next dimension of internet logic
Lamberti et al. Migrating desktop applications to the internet: A novel virtualization paradigm based on web operating systems
JP6997096B2 (en) How and the system to execute functions to process data using the server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220629

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220707

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20220729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221111

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221226

R150 Certificate of patent or registration of utility model

Ref document number: 7208689

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150