JP5061360B2 - リモートコントロール・フレームワーク - Google Patents
リモートコントロール・フレームワーク Download PDFInfo
- Publication number
- JP5061360B2 JP5061360B2 JP2008518964A JP2008518964A JP5061360B2 JP 5061360 B2 JP5061360 B2 JP 5061360B2 JP 2008518964 A JP2008518964 A JP 2008518964A JP 2008518964 A JP2008518964 A JP 2008518964A JP 5061360 B2 JP5061360 B2 JP 5061360B2
- Authority
- JP
- Japan
- Prior art keywords
- target
- bearer
- command
- target client
- api
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 45
- 238000013507 mapping Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 10
- 230000001419 dependent effect Effects 0.000 claims 1
- 230000004044 response Effects 0.000 description 62
- 230000006870 function Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 19
- 230000009471 action Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 10
- 239000008186 active pharmaceutical agent Substances 0.000 description 9
- 239000011800 void material Substances 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 230000032258 transport Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000002604 ultrasonography Methods 0.000 description 2
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 1
- 102100021677 Baculoviral IAP repeat-containing protein 2 Human genes 0.000 description 1
- 102100040104 DNA-directed RNA polymerase III subunit RPC9 Human genes 0.000 description 1
- 101000896157 Homo sapiens Baculoviral IAP repeat-containing protein 2 Proteins 0.000 description 1
- 101001104144 Homo sapiens DNA-directed RNA polymerase III subunit RPC9 Proteins 0.000 description 1
- 241001417495 Serranidae Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 235000019801 trisodium phosphate Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C23/00—Non-electrical signal transmission systems, e.g. optical systems
- G08C23/04—Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/237—Communication with additional data server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42226—Reprogrammable remote control devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/40—Remote control systems using repeaters, converters, gateways
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/40—Remote control systems using repeaters, converters, gateways
- G08C2201/41—Remote control of gateways
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/90—Additional features
- G08C2201/93—Remote control using other portable devices, e.g. mobile phone, PDA, laptop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72415—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Selective Calling Equipment (AREA)
- Telephonic Communication Services (AREA)
Description
・不可能である場合;飛行機又は船等の乗り物の場合。
・困難である場合:通常、壁又は天井の高い位置に取り付けられる空調装置等の機器の場合。
・使用環境に不適切であると考えられる物理的変更又は努力を必要とするため不便である場合;テレビ、DVD及び音楽プレーヤ等の最近の音響映像機器及びオーディオ機器の場合。
・リモートコントロールデバイスは、それらにより制御され、近接して接続される機器と共に製造・販売されていた。通信には、プロプライエタリ信号及びプロトコルが使用された。これは、赤外線装置にも当てはまる。赤外線データ協会(IrDA、非特許文献1を参照)により開発された赤外線通信に対する規格が存在するが、リモートコントロールはそれを利用していない。実際には、「種々の符号化システムが使用されており、一般に、異なる製造業者は異なるコード及び異なるデータ送信速度を使用する」とある(非特許文献2より)。
・リモートコントロール機器が供給されたが、それらは全て専用の拡張不可能なデバイスであった。リモートコントロール機器は、固定の機能セットを有し、製造時に組み込まれた機能以外の機能を実行できなかった。
・同様に、リモートコントロールされる全ての機器は、特にそのために設計される必要があった。それら機器の機能は固定され、機器の製造時に組み込まれた機能以外の機能を実行できなかった。
・Bluetooth(非特許文献3のBluetooth Special Interest Groupのウェブサイトを参照)。これは、特定の状況で使用されるように設計された種々のプロファイルにおいて実装される低電力の狭域無線ネットワーキングプロトコルである。Bluetoothの最も一般的な用途の1つは、移動電話の無線ヘッドセットにおいて、ヘッドセットが移動電話をリモートコントロールすることを可能にするハンズフリープロファイル又はヘッドセットプロファイルを利用することである。
・Firewire/IEEE1394(非特許文献4の1394 Trade Associationのウェブサイト又は非特許文献5のThe Institute of Electrical and Electronic Engineers High Performance Serial Bus Bridges Working Group P1394.1を参照)。これは、回線を介して実行する高速シリアルプロトコルであり、マルチメディア機器のリモートコントロールに益々使用されてきている。規格は、Digital Remote Control Command Setを含む。
・ANSI/CEA−2027;これは、比較的新しい規格であり、全米家電協会(CEA)により2004年7月に完成された。これは、IP(インターネットプロトコル)を使用してホームネットワークを介して相互接続されるオーディオ/ビデオ機器の制御に使用されるインタフェースを規定する。
・Bluetooth(多くの可能なプロファイルのうちの任意の1つを使用する)。
・IPを使用する信号伝送方法を使用する無線イーサネット(登録商標、802.11)。
・赤外線(プロプライエタリ及びIrDA)。
・プロプライエタリRF解決策。
・IEEE1394コマンドセット又はANSI/CEA−2027を利用するIEEE1394(Firewire)。
・USB−OTG(On-The-Go)を含むUSB(Universal Serial Bus)。
・RS−232シリアルプロトコルを含む他の有線解決策。
・USB及び単純なシリアルを含む固定配線と、
・赤外線と、
・超音波と、
・Bluetooth及び802.11無線ネットワーキングを含むがそれらに限定されないRFと、
を含むがそれらに限定されない複数のベアラのうち少なくとも1つを介して送出されたコマンドを使用して、1つ以上のコントローラデバイスが前記1つ以上のターゲットデバイスをリモートコントロールできるようにする方法が提供される。
1)入力コマンドに対して、コマンドを受信するべきターゲットアプリケーションを判定する。
2)出力コマンドに対して、リモートコントロールアプリケーションがベアラ及び機器の指定に失敗した場合に制御されるデフォルトベアラ及び機器を判定する。デフォルトベアラを判定するためにユーザ又は機器により使用される機構(例えば、ある種のControl Panel)が多く存在することは、当業者には認識されるだろう。
3)制御される機器を指定するリモートコントロールアプリケーションにより送出される出力コマンドに対して、ゲートキーパとして動作する。ベアラより上のレベルでの通信を許可又は拒否する。
・AVCTP(Audio Video Control Transmission Protocol)。
・AVDTP(Audio-Video Distribution Transport Protocol)。
・AVRCP(Audio Video Remote Control Profile)。
・L2CAP(Logical Link Controller and Adaptation Protocol)。
・RTP(Real Time Protocol)。
・SBC(Sub Band Codec)。
・Media Player appは、マルチメディアフレームワーク(MMF)を使用してAVDTPを介してBluetoothヘッドセットにオーディオを送出する。MMFは、MMF Client API及びMMF Controller Plug-inにより表される。Media Player appはRemConターゲットであり、AVRCPを介してヘッドセットからリモートコントロールコマンド(次のトラック、一時停止等)を受信する。
・Remote Controller appはRemConコントローラであり、AVRCPを介してリモートデバイスにリモートコントロールコマンドを送出する。
・DevSoundは、RemConコントローラと考えられる。これは、Audio Policy Serverを介してリモートの音量を直接設定する方法である(すなわち、メディアの音量はシステムプロパティと考えられ、Media Player app毎に処理されない)。
・RemCon Target API及びRemCon Controller APIは上述のコマンド拡張性を含む。
・RemConサーバは、上述のメッセージルーティングポリシー及びベアラ拡張性フレームワークを含む。
デバイス上で実行するRemConサーバのインスタンスが最大1つ存在する。それは非常駐サーバである。すなわち、それは常に使用されているわけではなく、リソースを節約するためにクライアントがいない場合にはシャットダウンする。
ベアラはRemConに対するプラグインとして実装され、全てのベアラは標準インタフェースをインスタンス化する。
・AVRCPはRemConに対するベアラプラグインとして配信される。
・AVCTPはBluetoothプロトコルモジュールの一部として配信される。
また、その特定の実現例は、上述の参照シリアルベアラと関連付けられる。
a)それら構成要素と協働し、
b)可能な限り、任意の他の考えられるベアラと協働するように、すなわちベアラアグノスティックの状態でいるように設計される。
コントローラエンティティは、リモートターゲットにメッセージを送出し、提供される応答に対応する。
コントローラクライアントと同様に、同時に動作するターゲットクライアントが2つ以上存在する可能性がある。ベアラプロトコルが入力コマンドの対象となるターゲットを必ずしもカプセル化しないため、ターゲットの動作はコントローラの動作より不確実である。特定の入力コマンドに対応する必要があるターゲットは、実行時に変更されるだけでなく、ターゲット(クライアント)が制御又は知識さえも有さないように変更される。図示する目的で、ユーザがMP3プレーヤアプリケーションを使用して音楽を聴いており、電話がかかってきてユーザが電話をとる場合、ターゲットアプリケーション(ヘッドセットにより開始される音量制御変更のための)はMP3プレーヤアプリケーションから電話機アプリケーションに変更される。デバイスのユーザインタフェース(UI)が「マルチメディア音量」と「通話音量」との区別を保持する場合、それらアプリケーションの各々は、それ自体のスクリーン上の表示を更新するために音量制御変更をリスンする必要がある。
(a)デバイスの読み出し専用メモリ(ROM)におけるアプリケーションの順序。
(b)アプリケーションがフォアグラウンドであるか否か。
(c)ユーザ動作の最近の履歴。
(d)アプリケーションの相対的に考えられる重要さ(例えば、電話機アプリケーションの場合、通話がアクティブである時期が最も重要である)。
(e)音楽の大音量部分が開始されたことをMP3プレーヤが認識した場合、音量低下コマンドは他のアプリケーションではなくMP3プレーヤに命令した可能性が高い。
(f)一般にユーザが再生リストの特定のトラックの開始後すぐに「次のトラック」を実行したことをMP3プレーヤが記憶・認識した場合、ユーザは次のトラックもスキップすることを意図する可能性が高い。
(g)ユーザがトラックに対する「ユーザ評価」を提供するサービスのウェブからストリームされた音楽を聴いており、他のユーザがよくないと考えるトラックに対して「次のトラック」を選択する場合、そのユーザも同じように考えるだろう。
TSPは、以下の3つの決定を担う。
1.各入力コマンドに対して、どのターゲットにコマンドを配信するか。
2.コネクションレスモードのコントローラに対して、どのリモートターゲットに出力コマンドを配信するか(すなわち、どのベアラ/ベアラリモートアドレスにコマンドを配信するか)。
3.コネクション指向モードのコントローラに対して、特定のコマンドを特定のリモートに送出するというコントローラの要求を許可するか又は拒否するか。
システムには、TSPインスタンスが1つのみ存在する。従って、多くのベアラからの入力事象は、非同期APIを介してTSPに送出される前にRemConにキュー登録される。ターゲットに対しては、コマンドが「アドレス指定」されると、選択されたターゲットクライアントの各々が未解決の受信要求を有する場合、コマンドはそれら選択されたターゲットクライアントに提供される。
フレームワークは、例えば種々のデバイス製造業者に特有のAPIをサポートするために、Core APIの拡張機能をサポートする。コントローラクライアントは、コマンドを送出する時にコマンドが送出される際に介するベアラを必ずしも認識しない。従って、ベアラ特有の形式へのコマンドのパッケージ化は「サーバ側」で実行される。
(a)「新しい」メッセージ、並びにそれらメッセージを送出及び受信するAPIに一意の識別子を提供するクライアント側DLL(ダイナミックリンクライブラリ)。
(b)既存の各ベアラプラグインに対する「コンバータ」プラグイン。サーバはそれらプラグインを管理し、ベアラ特有の形式に及びベアラ特有の形式からメッセージを変換するというベアラからの要求に対応する。
コンバータはプラグインであり、以下の2つの間の変換を担う。
(a)1つのクライアント側APIのメッセージ形式(Core APIであるか又は拡張機能である)。
(b)1つのベアラのメッセージ形式。
a)拡張APIが複数のベアラをサポートしないことを選択し、
b)ベアラプロトコルが拡張機能をサポートできない可能性があるからである。
(a)RemConサーバ。
(b)クライアント側APIの3つのダイナミックリンクライブラリ(DLL)。
・RemCon Core API。
・RemCon中間クライアント側(拡張機能に対するフレームワーク)。
・RemCon内部クライアント側。
(c)Song Title API及びAbsolute Volume APIを供給する拡張API(ExtraApi1)。
(d)TargetSelectorPlug-in TSPに対する基本DLL。
(e)参照TSP。
(f)BearerPlug-in ベアラプラグインに対する基本DLL、参照SerialBearer及びAVRCP Bearer。
(g)ConverterPlug-in コンバータプラグインに対する基本DLL。
・Converter(Core, Serial)。
・Converter(ExtApi1, Serial)。
・Converter(Core, AVRCP)。
・Converter(ExtApi1, AVRCP)。
●class CRemConServer : pulic CPolicyServer, public MRemConTargetSelectorPluginObserver
CRemConServerは、RemConサーバに対する具体的なサーバの種類である。
サーバは、コマンドキューを有し、制御する。サーバは、RemConの中心であり、全てのメッセージのルーティングを処理する。
CRemConSessionは、具体的なサーバ側のセッションの種類である。
付加されたクライアント側RRemConハンドル毎に1つのインスタンスが作成される。
CBearerManagerは1つであり、CRemConServerに所有される。
CBearerManagerは、インスタント化の際に全てのベアラプラグインをロードする。CBearerManagerは、ベアラに対するインタフェースである。
ここで、ベアラAPIの設計及び参照シリアルベアラの設計を説明する。尚、各ベアラは、可能な各APIにおいて全てのメッセージをサポートするように要求される。メッセージを送出しようとした場合にKErrNotSupportedを返すことによりそれを行なうことを許可されるが、単純にメッセージを無視又はドロップすることは許可されない。実際には、APIを識別するUIDはベアラにより使用され、適切なコンバータにメッセージを転送する。そのAPIに対するコンバータが存在しない場合、KErrNotSupportedが適切な応答である。コンバータが見つけられるが特定のメッセージをサポートしない(ベアラ固有の理由により)場合、KErrNotSupportedが応答として返される。
概要
ベアラはプラグインとなる。ベアラはコンバータプラグイン(原則的に、各ベアラは拡張API毎に1つ及びCore APIに対して1つ有する)を使用して、ベアラプロトコル特有のメッセージ形式とクライアントが使用しやすいベアラアグノスティックのメッセージ形式との間で各メッセージを変換する。コンバータプラグインが特定の1組のベアラ/APIに供給されない場合、そのベアラはそのAPIに属するメッセージを送出又は受信できない。
(a)ベアラがトランスポートを介して要求を送出しようとした後。
(b)ベアラがメッセージに対する責任があると仮定された時、すなわちベアラが要求を送出したか又は送出のために要求をキュー登録した時。
(c)応答が到着した時。
(尚、「@」で開始する行はAPIパラメータを記録するか又は状態を返す。)
●class CRemConBearerPlug-in : public CBase
virtual void ConnectRequest(const TRemConAddress& aAddr) = 0;
RemConにより呼び出され、ベアラを別の相手に接続する。
@param aAddr リモートアドレス情報。
RemConにより呼び出され、ベアラを別の相手から切断する。
@param aAddr リモートアドレス情報。
virtual TInt SendCommand(TUid aInterfaceUid,
TUint aOperationId,
TUint aTransactionId,
RBuf8& aData,
const TRemConAddress& aAddr) = 0;
virtual TInt SendResponse(TUid aInterfaceUid,
TUint aOperationId,
TUint aTransactionId,
RBuf8& aData,
const TRemConAddress& aAddr) = 0;
RemConにより呼び出され、接続においてメッセージを送出する。ベアラは、返すことにより同期的に要求の完了(すなわち、メッセージを送出したか又は送出するためにメッセージをキュー登録したこと)を示す必要がある。
@param aInterfaceUid クライアントAPIインタフェースのUID。
@param aOperationId API内の動作ID。
@param aTransactionId そのコマンド又は応答が属するトランザクションの識別子。
@param aData API別のメッセージデータ。ベアラがKErrNoneを返す場合、RemConはベアラがその所有権を取得したと考える。
@param aAddr リモートアドレス情報。
@return Error。
virtual TInt GetResponse(TUid& aInterfaceUid,
TUint& aTransactionId,
TUint& aOperationId,
RBuf8& aCommandData,
TRemConAddress& aAddr) = 0;
virtual TInt GetCommand(TUid& aInterfaceUid,
TUint& aTransactionId,
TUint& aOperationId,
RBuf8& aCommandData,
TRemConAddress& aAddr) = 0;
RemConにより呼び出され、NewCommand又はNewResponseを使用してベアラにより先に通知されたメッセージを取得する。
@param aInterfaceUid クライアントAPIインタフェースのUID。
@param aOperationId API内の動作ID。
@param aTransactionId コマンド又は応答のトランザクションID。
@param aData API別のメッセージデータ。所有権はベアラにより返される。
@param aAddr リモートアドレス情報。
これはRemConにより呼び出され、コントローラクライアントが存在するか(aControllerPresent)及びターゲットクライアントが存在するか(aTargetPresent)を示す。
これは、以下の時に呼び出される:
(a)コントローラクライアントの数が0から1に又は1から0に変更された時。
(b)ターゲットクライアントの数が0から1に又は1から0に変更された時。
aControllerPresentは、コントローラが存在する場合に真値であり、存在しない場合はEFalseである。作成者は、ETrueと比較しないことが分かる。このAPIは、AVRCPベアラによるサービス発見プロトコル(SDP)レコードの作成及び破壊を容易にするために提供される。RemConは失敗に関心がないため、戻り値の種類はvoidである。
@return トランスポートを使用(接続、送出、受信)する必要がある機能。
RemConは、任意の予想されるトランスポートを使用するのに十分な機能を有するが、コントローラクライアントが機能を有するかをチェックする必要がある。このAPIは、RemConがコントローラクライアントの要求を監視できるように呼び出される。コネクション指向コントローラの場合、クライアントが自身をベアラと関連付けようとした時にチェックが行なわれる。コネクションレスコントローラの場合、TSPがクライアントの送信のために特定のベアラを選択した後にチェックが行なわれる。
CRemConBearerPlug-inは、この種のオブジェクトに対する参照を有する。その参照は、要求の完了をRemConに対して信号伝送するために使用される。
入力接続が確立された時にベアラにより呼び出される。
@param aAddr リモートアドレス情報。
@return Error。
接続がリモートエンドから切断された時にベアラにより呼び出される。
@param aAddr リモートアドレス情報。
ベアラにより呼び出され、出力接続要求の完了を示す(CRemConBearerPlug-in::Connect)。
@param aAddr リモートアドレス情報。
@param aError エラー。
@return Error これがKErrNoneでない場合、ベアラは接続をドロップする。
ベアラにより呼び出され、切断要求の完了を示す(CRemConBearerPlug-in::Disconnect)。
@param aAddr リモートアドレス情報。
@param aError エラー。
・virtual TInt MrcboNewResponse(const TRemConAddress& aAddr) = 0;
・virtual TInt MrcboNewCommand(const TRemConAddress& aAddr) = 0;
新しいメッセージがキューにおいて入手可能であり、RemConにより取得される時、ベアラにより呼び出される。RemConは、GetResponse又はGetCommandを呼び出す。
@param aAddr リモートアドレス情報。
コンバータのアクセス機構。与えられる2つのUIDは、コンバータを一意に識別するために使用される。コンバータは、RemConにより管理され、単にそのインタフェースを介してベアラによりアクセスされる。
@param aBearerUid ベアラの実装のUID。
@param aInterfaceUid インタフェースのUID。
シリアルベアラは、ベアラインタフェースの具象実装である。CRemConSerialBearerは、CRemConBearerPlug-inから派生する。CRemConSerialBearerは、シリアル回線でデータを受信及び送出するためにRComm::Read及びRComm::Writeを使用するActive Objectsを有する。それらは、観察者インタフェースを介して完了したことを通知する。
●概要
TSPはプラグインである。
●virtual void AddressOutgoingCommand(TUid aInterfaceUid, TUint aOperationId, const TClientInfo& aSender, TSglQue<TRemConAddress>& aConnections, TSglQue<TBearerSecurity>& aBearerSecurity) = 0;
これはRemConにより呼び出され、所定の出力(すなわち、コネクションレスコントローラからの)コマンド(aInterfaceUid/aOperationId)をアドレス指定する。aConnectionsは、渡される時は空である。TSPは、0個以上のTRemoteAddressesを追加し、RemConのOutgoingCommandAddressedを呼び出す。TSPはこれを非同期的に行なってもよい。RemConは、関連する接続情報と共にコマンドを所定のベアラに向ける。
これは、コネクション指向コントローラがコマンドを送出しようとした時にRemConにより呼び出される。TSPは、ETrue(送出可能)又はEFalse(送出不可能)を有するOutgoingCommandPermittedを呼び出す。
これはRemConにより呼び出され、所定の入力コマンドをアドレス指定する。aClientsは、渡される時、現在のターゲットクライアントの集合を含む。TSPは、0個以上の項目を追加又は0個以上の項目をその収集データから除去し、RemConのIncomingCommandAddressedを呼び出す。TSPは、これを非同期的に行なってもよい。TSPは、クライアントアプリケーションを自由に開始でき、適切なTClientInfo(少なくともクライアントアプリケーションのプロセスIDと共に読み込まれる)をその収集データに自由に追加できる。RemConは、所定のクライアントのいずれかが依然として存在することを仮定せずにそれら所定のクライアントにコマンドを向ける。
RemConにより実装される。
TSPにより呼び出され、先のAddressOutgoingCommand要求が応じられたことを示す。(参照により渡された配列は、適切に読み込まれる。)1つのAddressOutgoingCommandのみが常に未解決であってもよいが、2つ以上のAddressOutgoingCommand及びAddressIncomingCommandが同時に未解決であってもよい。
TSPにより呼び出され、PermitOutgoingCommandの最新の呼び出しにより表されるコントローラの送出が許可されるか否かを決定したことを示す。
TSPにより呼び出され、先のAddressIncomingCommand要求が応じられたことを示す(参照により渡された配列は、適切に読み込まれる)。尚、1つのAddressIncomingCommandのみが常に未解決であってもよいが、2つ以上のAddressOutgoingCommand及びAddressIncomingCommandが同時に未解決であってもよい。
これは、クライアントセッションのプロセスID及び現在の送出メッセージをラップする単純な種類であり、セキュリティの目的で使用されてもよい。
●概要
RemConクライアント側は、コマンド及び応答の送出及び受信をサポートする。これは拡張可能である。図3に示すように3つの層を有する:
1.RRemConを含む単一のDLLから成るサーバに最近接する「内部」クライアント側
2.単一のDLLから成り、(a)内部クライアント側から適切な「外部」DLLに入力されるメッセージを渡し、(b)基本APIインターフェースに抽象インタフェースを提供し、(c)最後のクライアントに中央セッションの作成及び制御点を提供する「中間」層
3.実際のAPI DLLから成る「外部」層。Core API DLL及び「拡張API1」DLL(曲名及び絶対音量メッセージをサポートする)は、この層で提供される。第3者は、この層に更なるAPIを追加してもよい。この層の各DLLは、「API UID」により一意に識別される。
「中間」クライアント側は、サーバに最近接する。「中間」クライアント側は、単一のRクラス、RRemCon及びいくつかの補助の種類から成る。
RRemConは、RemConサーバのクライアント側のセッションの種類に対する抽象ベースクラスである。これは、システムのデバッグビルドにのみサーバヒープ障害デバッグAPIを提供するために使用される。ここでは、それらについては詳細に示さない。以下のAPIは、派生した具象クラスのインスタンスから入手可能である。
RemConサーバのバージョンを返す。このAPIは、Connectの前に呼び出される唯一のAPI(Closeを除く)である。
これは、標準セッションハンドル接続メソッドである。ハンドルの作成が成功した場合、更なるIPCコールがRemConサーバに対して行なわれ、クライアントの「種類」をターゲット又はコントローラとして設定する。
Sendは、コマンドに対する応答を送出するために「ターゲット」により使用され、コマンドを送出するために「コントローラ」により使用される。
非同期的なSend要求の完了に対するクライアントの関心を消去する。
Receiveは、コマンドを受信するためにターゲットにより使用され、コマンドに対する応答を受信するためにコントローラにより使用される。
非同期的なReceive要求の完了に対するクライアントの関心を消去する。
全てのベアラ上の現在存在する接続に対する同期ゲッタである。TRemConAddressは、ベアラ(実装UIDにより)及びベアラ別の接続情報を示す。接続が配列にある場合、接続はRemConのベアラレベルの接続として存在する。接続が配列に存在しない場合、接続はシステムのベアラレベルの接続として存在しない。他の状態は該当しない。成功時、クライアントはキュー中の項目を破壊する役割を果たす。
ベアラ接続の状態の変化に対する通知。完了時、クライアントは、実際の接続を検査するためにGetConnectionsを使用するのが好ましい。
ベアラ接続状態変更通知の完了に対するクライアントの関心を消去する。
これは具体的なコントローラセッションの種類である。
所定のアドレスを使用してコントローラをコネクション指向にする。このアドレスはセッションから全てのコマンドを送出するために使用され、全ての応答はそのリモートから入力される(あるいは、対応するベアラにより生成される)。クライアントに関わるセキュリティ関連の問題が存在しないと仮定すると、RemConはそれに従ってGoConnectionOrientedを完了する。これは、RemCon自体が行なう唯一のセキュリティチェックであり、コネクション指向クライアントとベアラとの間にある全てのものである。各コマンドは、送出時にTSPにより「許可」される。
所定のリモートを使用してコントローラをコネクションレスにする。TSPは、送出される各コマンドをアドレス指定するために使用される。
コントローラクライアントは、このAPIを呼び出し、GoConnectionOrientedに先に登録されたTRemConAddressを使用してベアラレベルの接続を作成しようとしてもよい。このAPIは、コネクション指向コントローラによってのみ使用される。
「ベアラ接続」要求の完了に対するクライアントの関心を消去する。
コントローラクライアントは、このAPIを呼び出し、GoConnectionOrientedに先に登録されたTRemConAddressを使用してベアラレベルの接続を破壊しようとしてもよい。このAPIは、コネクション指向コントローラによってのみ使用される。
「ベアラ切断」要求の完了に対するクライアントの関心を消去する。
これは、具体的なターゲットセッションの種類である。
これは、UID(ベアラの実装UID)及び小さなバッファをラップする単純な種類であり、ベアラ別の接続情報を保持する。
class CRemConInterfaceSelector : public CBase
これは具象クラスである。これは、RRemConController及びRRemConTargetセッションを所有し、各々に対してセッション上にReceive要求を保持するActive Objectを所有する。このクラスは、RemConとのクライアントの対話の中心である。クライアントは、CRemConInterfaceSelectorをインスタンス化する。所望のAPIインタフェースのインスタンスが作成され、CRemConInterfaceSelectorにより所有される。インスタンスは、コントローラとターゲットセッションとの少なくともいずれかを開き(セレクタのAPIを介して)、(a)インタフェースを使用してコマンドを送出し且つ応答を待つか又は(b)インタフェースを使用してコマンドを待ち且つ応答を送出する。
コントローラセッションを開くためにクライアントにより使用される。これは、デフォルトをコネクションレスにする。
ターゲットセッションを開くためにクライアントにより使用される。
RRemCon* APIをラップするために他のAPIが提供される。
これは、Core APIを含むAPIインタフェースに対するベースクラスである。
virtual void MrcibNewResponse(TUint aOperationId, const TDesC8& aData) = 0;
virtual void MrcibNewCommand(TUint aOperationId, const TDesC8& aData) = 0;
これらは、適切な種類のメッセージがCRemConInterfaceBaseのインスタンス化に属するインタフェースUIDと共に入力された時に中間層により呼び出される。
提供される構成要素は、'Core' API外部層DLLを含む。これは、CRemConInterfaceBaseの実装を提供し、1つはコントローラクライアントに対するものであり、1つはターゲットクライアントに対するものである。また、Song Title/Absolute Volume APIを提供するためにテスト「拡張」外部層DLLを提供する。
コンバータは、インタフェースを実装するプラグインであり、ステートレスである。
・ベアラ特有の形式からインタフェース特有の形式に変換する第1の機能。
・逆方向に変換する第2の機能。
virtual TInt InterfaceToBearer(TUid aInterfaceUid, TUint aOperationId, const TDesC8& aData, TRemConMessageType aMsgType, TDes8& aBearerData) const = 0;
ベアラにより呼び出され、インタフェース特有のデータ(インタフェースUID、動作ID、メッセージの種類及びデータ)をベアラ特有の(パッケージ化)形式に変換する。
ベアラにより呼び出され、ベアラ特有のデータ(パッケージ化された)をインタフェース特有のデータ(インタフェースUID、動作ID、メッセージの種類及びデータ)に変換する。
RemConにより呼び出され、そのコンバータがそのインタフェースとそのベアラとの変換を行なうかを見つける。
RemConにより呼び出され、そのコンバータがそのインタフェースとそのベアラとの変換を行なうかを見つける。aInterfaceDataは、ベアラ特有の形式のインタフェース識別子である。
●クライアントスタートアップコードの例
クライアントは以下を行なう義務がある:
CRemConInterfaceSelector* iInterfaceSelector = CRemConInterfaceSelector::NewL();
クライアントは、使用したいインタフェースのインスタンスを作成する必要がある。例えば、ターゲットとしての役割を果たし且つCore APIを使用したいアプリケーションの場合:
CRemConCoreApiTarget* iCoreIf = CRemConCoreApiTarget::NewL(*iInterfaceSelector, *this);
式中、「this」はMRemConCoreApiTargetObserverを実装する。iCoreIfはインタフェースセレクタにより所有されており、インタフェースセレクタはクライアントにより所有される。
iInterfaceSelector->OpenControllerL();
コントローラセッションは、コネクションレスモードで開かれる(送出されるコマンドはTSPによりルーティングされる)。コントローラをコネクション指向にするために、以下が後続してもよい:
TRemConAddress addr;
addr.BearerUid() = TUid::Uid(0x1020453C);
//ベアラ特有の接続データ無し
iInterfaceSelector->GoConnectionOrientedL(addr);
クライアントはこの時点でベアラレベルの接続を確立し、第1のコマンドの送出を迅速にすることを要望する:
TRequestStatus stat;
iInterfaceSelector->ConnectBearer(stat);
User::WaitForRequest(stat);
上記例において、実装UID 0x1020453Cのベアラが使用される。これはテストシリアルベアラである。コネクション指向コントローラにより送出されるコマンドは、この呼出しにおいて与えられる特定の接続に向けられる。ターゲットセッションを開くために、以下が呼び出される:
iInterfaceSelector->OpenTargetL();
サーバ側
RemConサーバは、第1のセッション(コントローラ又はターゲット)の接続によりサーバ自体のプロセスにおいて開始される。サーバが既に実行している場合、単純にセッションが接続される。
(a)任意の要求されたシステムロギングオブジェクト又はプラグイン(Symbianの共通オブジェクトモジュール等)のフレームワークオブジェクト等の必要とされる任意のオペレーティングシステムオブジェクト。
(b)シャットダウンタイマ。これは、接続されたセッションが存在しない時にサーバを終了するために使用される。これは、最後のセッションが閉じた時にのみ開始される。
(c)GetConnections及びNotifyConnectionsChange APIをサポートする1つの接続履歴オブジェクト。
(d)CBearerManagerの1つのインスタンス。ベアラマネージャの作成により、全てのベアラプラグインが列挙され且つインスタンス化される(ConstructLにおいて)。これにより、コネクション指向ベアラは入力接続のリスニングを開始する。テストシリアル(コネクションレス)ベアラは、COMポートを開き、出力接続を行なうのを要求されたかのように迅速にConnectCompleteにより呼び戻す。システムにベアラの実装が存在しない場合、RemConは混乱する。これは、有効なデバイス構成である場合にRemConが実装される必要がなかったからである。
(e)メッセージをログ記録するために使用されるCMessageQueueの5つのインスタンス。各々は、TSPによるアドレス指定又は許可の付与を保留する出力コマンド;送出された出力コマンド(リモートからの応答を保留にする);TSPによるアドレス指定を保留する入力コマンド;通知されるクライアントReceive要求を保留する入力メッセージ;コントローラセッションに配信された入力コマンド(コントローラからの応答を待つ)に対して存在する。
(f)コンバータマネージャの1つのインスタンス。これは、各コンバータの1つのインスタンスを作成する。
(g)TSPの1つのインスタンス。システムにおいて、TSPインタフェースの実装が正確に1つ存在しない場合、RemConは混乱する。TSPは、希望する任意のインスタンス化を実行してもよいが、RemConは、コマンドをアドレス指定するために使用されるオブジェクトを正常に返す以外のことを行なうことを予想していない。
(a)リモートエンドからのベアラを介する接続に対する変更。入力接続が発生した場合、RemConはベアラにより伝えられる。接続がリモートでドロップされた場合、RemConは伝えられる。RemConはその情報を使用してクライアント通知を完了する。
(b)特定の接続のベアラに対するRemConが開始した接続又は切断要求の完了。RemConは、リモートでトリガされた接続変更と同様の方法でそれらを処理する。接続及び切断要求は、クライアントにより開始される。RemConが特定の接続を介してメッセージを送出したい時、RemConは最初にそれが存在するかをチェックしない(ベアラが存在する場合)。すなわち、Remconはベアラにメッセージを提供し、そのメッセージを処理するためにベアラをそのままにしておく。
(c)ベアラからの入力メッセージ。
(d)入力クライアント要求。クライアントがセッションを閉じ、それが最後のセッションである場合、サーバはシャットダウンを開始する。通常の「シャットダウン」の例を以下に説明する。クライアントがメッセージを送信しようとする場合、メッセージは、TSPによりアドレス指定されるか又はクライアントにより明示的にアドレス指定される(コネクション指向である場合)。
RemConから切断するために、クライアントは、インタフェースオブジェクト及びインタフェースセレクタを削除する必要がある。最後の開いているセッションを閉じることにより、サーバのシャットダウンがトリガされる。
(a)ベアラマネージャが破壊される。これにより、ベアラ上の全ての未解決の要求が取り消され、同期をとって破壊される。ベアラの破壊は、容易に動作するように構成され、接続を閉じ、サービスプロバイダ上のそれ自体の要求を適切に取り消す。
(b)この時、シャットダウンタイマは安全に破壊される。
(c)メッセージの配列が破壊される。
(d)TSPが破壊される。しかし、TSPにより現在アドレス指定されている入力コマンドがある場合、TSPに未解決の要求が存在する可能性がある。従って、TSPは、未解決の要求を取り消し、同時にTSP自体を完全に除去するように構成される。
(e)コンバータマネージャが破壊される。これは全てのコンバータインスタンスを破壊する。
(f)接続履歴オブジェクトが破壊される。
(g)作成されたオペレーティングシステムオブジェクトが更に破壊される。
出力コマンドの例は、インスタンス化されたインタフェースにより提供されるAPIを使用して、コントローラクライアントがコマンドを送出することにより開始してもよい。例えば:
TRequestStatus stat;
iCoreIf->Play(stat);
User::WaitForRequest(stat);
Core APIは、Play(例えば)要求を一般的な「動作ID」及び関連するデータ(例えば、再生速度)に変換してもよい。Core APIは、そのインタフェースUIDを有する中間層にそのデータを渡す。中間層は、メッセージをサーバに送出するためにコントローラセッションを使用する。
この例は、ベアラが入力コマンドをRemConに配信することにより開始する。RemConは、リモートアドレス、インタフェースUID、動作ID、関連するデータ及びメッセージの種類(コマンド又は応答)を含むCRemConMessageを作成する。このメッセージは、「入力保留アドレス」キューに配置され、アドレス指定のためにTSPに送出される。
次に、所望のAPIのコントローラインタフェースのインスタンスが作成される(この例においては、Core API)。
このコードは、これがMRemConCoreApiControllerObserverを実装する種類のオブジェクトであるのが前提である。このミックスインは、入力応答(コマンドに対する)が配信される方法を判定する。この時、contの所有権はselにある。
この時点で、コントローラセッションはコネクションレスである。送出されたコマンドはTSPによりアドレス指定される。制御されるベアラ及びリモートが周知である場合、次のコードが使用されてもよい:
TRemConAddress addr;
addr.BearerUid() = xxx; //xxx=ベアラのUID
addr.Addr() = yyy; //yyy=ベアラ特有の形式のリモートのアドレス
sel->GoConnectionOrientedL(addr);
GoConnectionOrientedLが成功すると、アプリケーションはコネクション指向になり、コントローラセッションは指定された単一のリモートとの通信専用になる。TSPは、特定のコマンドをアドレス指定をしないが、送出される各コマンドを依然として許可又は拒否する。尚、リモートとのベアラレベルの接続はこの動作により確立されない。
コネクション指向になると、送出される第1のコマンドの待ち時間を短縮するために、以下のように、リモートとのベアラレベルの接続を明示的にセットアップできる:
TRequestStatus stat;
sel->ConnectBearer(stat);
User::WaitForRequest(stat);
これが行なわれない場合、第1の(及び任意の後続する)コマンドが送出された時、サーバは必要に応じて接続を確立しようとする。ConnectBearerは、待ち時間を短縮するために1つの能力として提供される。
TRequestStatus stat;
sel->DisconnectBearer(stat);
User::WaitForRequest(stat);
尚、ベアラレベルの接続は任意に制御されるべきではない。アプリケーションが現在「コネクション指向」であるベアラレベルの接続のみを制御できる。これは、ConnectBearer及びDisconnectBearerのTRemConAddressパラメータが欠如している理由である。
IMPORT_C TInt GetConnections(TSglQue<TRemConAddress>& aConnections);
IMPORT_C void NotifyConnectionsChange(TRequestStatus& aStatus);
IMPORT_C TInt NotifyConnectionsChangeCancel();
GetConnectionsは、システム中に現在存在する全ての接続を供給する。NotifyConnectionsChangeは、その設定が変更された時期のみを示す。
contは、以下のようにコマンドを送出するために使用される。
TRequestStatus stat;
cont->Play(stat);
User::WaitForRequest(stat);
応答はMRemConCoreApiControllerObserverインタフェースを介して配信される。
リモートコントロールシステムの介入を無くすために、全ての未解決の非同期的な要求は取り消されるべきであり、インタフェースセレクタは削除されるべきである。
●セットアップ
これは、コネクション指向の概念がないこと以外はコントローラのセットアップに非常に類似する。ターゲットはミックスインを実装し、インタフェースセレクタは、そのミックスインを介して、入力コマンドを配信し且つ応答を送出するためのオブジェクトをインスタンス化する。全ての入力コマンドは、TSPによりアドレス指定される。出力応答は、元のコマンドを発信したリモートに対して明示的にアドレス指定される。
CRemConCoreApiTarget* targ = CRemConCoreApiTarget::NewL(*this, *sel);
この時、targの所有権はselにある。
●コマンドの受信及び応答の送出
入力コマンドは、MRemConCoreApiTargetObserverミックスインを介して(上記例においては)提供される。
cont->PlayResponse(stat, response);
User::WaitForRequest(stat);
常に、1つの応答のみが未解決である。コマンドが迅速に入力されると、それらコマンドに対する応答をキュー登録する必要がある。しかし、ターゲットに配信される各コマンドにはサーバのヒープに割り当てられたメモリが関与し、それはクライアントの終了時又は応答の送出時にのみ解放される。
リモートコントロールシステムの介入を無くすために、全ての未解決の非同期的な要求は取り消されるべきであり、インタフェースセレクタは削除されるべきである。
外部層DLLのジョブは以下の通りである。
(a)使用し易いAPIをクライアントに提供すること。
(b)クライアントAPIのフィールド/項目とDLLの内部データ形式(動作ID及び動作別データのフィールドのレイアウトの双方を含む)との変換を行なうこと。
(c)必要なだけ上述のものを発表し、(i)クライアントにAPIを使用する権限を与え、(ii)コンバータの作成者に権限を与えること。
・remconinterfacebase.libにリンクする静的DLLを作成する。
・APIに対して新しいUIDを割り当てる。
・CRemConInterfaceBaseから得られる新しいAPIのコントローラ及びターゲットの種類の各々に対してクラスを定義する。
・NewL及びデストラクタメソッド、並びにエクスポートされた公開メソッドを提供する−コントローラの場合はコマンドを送出し、ターゲットの場合は応答を送出する。
・入力応答及びコマンドのそれぞれを通知されるクライアントに対して、コントローラ及びターゲットの各々の観察者のミックスインを定義する。
・各インタフェースにおいて、CRemConInterfaceBase::MrcibNewMessageは、入力メッセージを復号化し且つ適切なミックスインメソッドを呼び出すために実装される。
・動作識別子及びAPIの各メッセージの形式を指定する。それらはコンバータを形成するために使用される。
クライアントが外部層DLLを使用してメッセージを送出する場合、ベアラは以下の情報を受信する。メッセージを発信したAPIのUID、メッセージの動作ID及び任意の動作別データを含む記述子である。動作別データのデータ形式とベアラにより要求される形式とを変換することがコンバータのジョブである。
(a)サーバは、現在接続されている(すなわち、サーバに接続されている)どのターゲットクライアントに対して、以下の入力コマンド(インタフェースUID及び動作ID、並びにターゲットクライアントのセキュアIDを含むターゲットクライアントに関する情報の集合を有する)を配信すべきか。
(b)サーバは、どのリモートに対して、以下の出力コマンド(インタフェースUID及び動作ID、セキュアID及びRMessage2を含んでコマンドを送出しようとするコントローラクライアントに関する情報、並びにベアラに対するTSecurityPolicyの集合を有する)を配信すべきか。
・リモートコントロールされるアプリケーションの作成を容易にすること。既存のリモートコントロール解決策が1つのベアラ技術と常に結び付けられるため、従来、アプリケーションが関係する特定のベアラ技術を利用するように開発されない限り、一般的なリモートコントロールのためのアプリケーションを提供できなかった。
・デバイスの製造時には応じることができなかった新しい技術を使用するアフターマーケットアクセサリをリリースするというデバイスの製造業者の能力。本発明なしでは、そのようなアクセサリは新しいバージョンの制御可能なアプリケーションと共に出荷する必要があるだろう。
・複数の制御可能なアプリケーションをデバイス上で同時に実行する能力。2つ以上のアプリケーションが存在する場合、その能力は複数の可能なターゲットアプリケーションのうちの1つを選択する機構を提供する。
Claims (27)
- 少なくとも1つのコントローラデバイスがターゲットデバイスをリモートコントロールできるようにする方法であって、前記ターゲットデバイスで、
複数のベアラのうち少なくとも1つを介し、少なくとも1つの対応するプロトコルで前記少なくとも1つのコントローラデバイスから少なくとも1つのコマンドを受信することと;
前記少なくとも1つのコマンドの各々に対し、前記ターゲットデバイスにおけるターゲットクライアントアプリケーションの組のうちの1つ以上を決定することと;
前記少なくとも1つのコマンドをターゲットクライアントアプリケーション・プログラミング・インタフェース(API)を通じて前記ターゲットデバイスの前記1つ以上のターゲットクライアントアプリケーションにルーティングすることであって、前記ターゲットクライアントAPIは前記ターゲットクライアントアプリケーションに前記複数のベアラに依存しないインタフェースを提供する、前記ルーティングすることと;
を含む、方法。 - 前記少なくとも1つのコマンドを受信することは、複数のベアラを介し、複数の対応するプロトコルで複数のターゲットデバイスから複数のコマンドを受信することを含む、請求項1記載の方法。
- 前記少なくとも1つのコマンドはベアラの種類に依存しない、請求項1又は2記載の方法。
- 前記ターゲットデバイスは、別のターゲットデバイスにコマンドを送信するコントローラデバイスとしても動作することが可能である、請求項1から3のいずれか1項に記載の方法。
- 前記少なくとも1つのコントローラデバイスは、別のコントローラデバイスからコマンドを受信する別のターゲットデバイスとしても動作することが可能である、請求項1から4のいずれか1項に記載の方法。
- 前記少なくとも1つの対応するプロトコルは、前記ターゲットデバイスのリモートコントロール・インタフェースによって利用され、各プロトコルの組は、特定の種類のベアラに対する少なくとも1つのプラグインモジュールを含む、請求項1から5のいずれか1項に記載の方法。
- 追加のベアラに対する追加のプラグインモジュールを製造後に追加可能であることをさらに含む、請求項1から6のいずれか1項に記載の方法。
- 前記ターゲットデバイスが複数のターゲットクライアントアプリケーションを同時に実行しているとき、少なくとも1つ以上の前記複数のターゲットクライアントアプリケーションは異なるコントローラデバイスからコマンドを受信できる、請求項1から7のいずれか1項に記載の方法。
- 前記ターゲットデバイスが複数のアプリケーションを実行しているとき、前記少なくとも1つのコマンドの各々に対し、前記複数のターゲットクライアントアプリケーションをターゲットセレクタが決定する、請求項1から8のいずれか1項に記載の方法。
- 同時に実行している前記複数のターゲットクライアントアプリケーションがオーディオアプリケーションを含むとき、オーディオを現在再生しているオーディオアプリケーションへ前記少なくとも1つのコマンドをルーティングする、請求項8又は9記載の方法。
- 前記ターゲットセレクタはプラグインである、請求項9記載の方法。
- 前記リモートコントロール・インタフェースは前記ターゲットデバイス内のサーバとして構成される、請求項6から11のいずれか1項に記載の方法。
- 前記サーバは、非常駐サーバとして構成される請求項12記載の方法。
- 前記ターゲットセレクタは前記サーバ内に構成される、請求項9に従属する請求項12記載の方法。
- コマンドを、
a.前記ターゲットデバイスの読み出し専用メモリ(ROM)におけるターゲットクライアントアプリケーションの順序と、
b.ターゲットクライアントアプリケーションがフォアグラウンドであるかと、
c.ユーザ動作の最近の履歴と、
d.ターゲットクライアントアプリケーションの相対的に考えられる重要さと、
の少なくとも1つの要素に依存してターゲットクライアントアプリケーションにマッピングする、請求項1から14のいずれか1項に記載の方法。 - 前記複数のターゲットクライアントアプリケーションの決定は、コネクションレス動作(コマンドはデバイスの製造業者により決定される前記ターゲットデバイス内でルーティングされる)及びコネクション指向動作(前記複数のターゲットクライアントアプリケーションが各コマンドで指定される)の少なくとも1つに対して実行される、請求項1から15のいずれか1項に記載の方法。
- 少なくとも1つの前記ターゲットデバイスと、少なくとも1つのコントローラデバイスは、移動電話を含む、請求項1から16のいずれか1項に記載の方法。
- 少なくとも1つのコントローラデバイスがターゲットデバイスをリモートコントロールできるようにする装置であって、
1つ以上のプロセッサと、
リモートコントロール・インタフェースと、
1つ以上のコンピュータプログラムコードを含む少なくとも1つのメモリと、
を備え、前記1つ以上のコンピュータプログラムコードが前記プロセッサによって実行されると以下の動作:
前記リモートコントロール・インタフェースで、複数のベアラのうち少なくとも1つを介し、少なくとも1つの対応するプロトコルで前記少なくとも1つのコントローラデバイスから少なくとも1つのコマンドを受信することと;
前記少なくとも1つのコマンドの各々に対し、ターゲットクライアントアプリケーションの組のうちの1つ以上を決定することと;
前記少なくとも1つのコマンドをターゲットクライアントアプリケーション・プログラミング・インタフェース(API)を通じて前記ターゲットデバイスの前記1つ以上のターゲットクライアントアプリケーションにルーティングすることであって、前記ターゲットクライアントAPIは前記ターゲットクライアントアプリケーションに前記複数のベアラに依存しないインタフェースを提供する、前記ルーティングすることと;
を前記装置に実行させる、装置。 - 前記ターゲットデバイスは、別のターゲットデバイスにコマンドを送信するコントローラデバイスとしても動作することが可能である、請求項18に記載の装置。
- 各プロトコルの組は、特定の種類のベアラに固有の対する少なくとも1つのプラグインモジュールを含み、前記動作は、前記リモートコントロール・インタフェースで、追加のベアラに対する追加のプラグインモジュールを製造後に追加することをさらに含む、請求項18又は19に記載の装置。
- 前記動作は、コマンドを、
a.前記ターゲットデバイスの読み出し専用メモリ(ROM)におけるターゲットクライアントアプリケーションの順序と、
b.ターゲットクライアントアプリケーションがフォアグラウンドであるかと、
c.ユーザ動作の最近の履歴と、
d.ターゲットクライアントアプリケーションの相対的に考えられる重要さと、
の少なくとも1つの要素に依存してターゲットクライアントアプリケーションにマッピングすること、
を含む、請求項18から20のいずれか1項に記載の装置。 - 前記動作は、コネクションレス動作(コマンドは前記デバイスの製造業者により決定される前記ターゲットデバイス内でシステムによりルーティングされる)及びコネクション指向動作(前記複数のターゲットクライアントアプリケーションが各コマンドでは前記ベアラ及び前記コントローラに対する任意の関連するアドレス指定情報を指定すされる)の少なくとも1つに対して前記1つ以上のターゲットクライアントアプリケーションを決定することを含む、請求項18から21のいずれか1項に記載の装置。
- 少なくとも1つのコントローラデバイスがターゲットデバイスをリモートコントロールできるようにするコンピュータプログラムコードを含む、コンピュータプログラムであって、
前記コンピュータプログラムコードが1つ以上のプロセッサによって実行されると以下の動作:
前記リモートコントロール・インタフェースで、複数のベアラのうち少なくとも1つを介し、少なくとも1つの対応するプロトコルで前記少なくとも1つのコントローラデバイスから少なくとも1つのコマンドを受信することと;
前記少なくとも1つのコマンドの各々に対し、ターゲットクライアントアプリケーションの組のうちの1つ以上を決定することと;
前記少なくとも1つのコマンドをターゲットクライアントアプリケーション・プログラミング・インタフェース(API)を通じて前記ターゲットデバイスの前記1つ以上のターゲットクライアントアプリケーションにルーティングすることであって、前記ターゲットクライアントAPIは前記ターゲットクライアントアプリケーションに前記複数のベアラに依存しないインタフェースを提供する、前記ルーティングすることと;
を前記ターゲットデバイスに実行させる、コンピュータプログラム。 - 前記動作は、前記ターゲットデバイスに、別のターゲットデバイスにコマンドを送信するコントローラデバイスとしても動作可能とすることを含む、請求項23に記載のコンピュータプログラム。
- 各プロトコルの組は、特定の種類のベアラに固有の対する少なくとも1つのプラグインモジュールを含み、前記動作は、追加のベアラに対する追加のプラグインモジュールを製造後に追加することをさらに含む、請求項23又は24に記載のコンピュータプログラム。
- 前記動作は、コマンドを、
a.前記ターゲットデバイスの読み出し専用メモリ(ROM)におけるターゲットクライアントアプリケーションの順序と、
b.ターゲットクライアントアプリケーションがフォアグラウンドであるかと、
c.ユーザ動作の最近の履歴と、
d.ターゲットクライアントアプリケーションの相対的に考えられる重要さと、
の少なくとも1つの要素に依存してターゲットクライアントアプリケーションにマッピングすること、
をさらに含む、請求項23から25のいずれか1項に記載のコンピュータプログラム。 - 前記動作は、コネクションレス動作(コマンドは前記デバイスの製造業者により決定される前記ターゲットデバイス内でシステムによりルーティングされる)及びコネクション指向動作(前記複数のターゲットクライアントアプリケーションが各コマンドでは前記ベアラ及び前記コントローラに対する任意の関連するアドレス指定情報を指定すされる)の少なくとも1つに対して前記1つ以上のターゲットクライアントアプリケーションを決定することを含む、請求項23から26のいずれか1項に記載のコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0513312A GB2427733A (en) | 2005-06-29 | 2005-06-29 | Remote control |
GB0513312.9 | 2005-06-29 | ||
PCT/GB2006/002395 WO2007000605A1 (en) | 2005-06-29 | 2006-06-29 | Remote control framework |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012027286A Division JP5479513B2 (ja) | 2005-06-29 | 2012-02-10 | リモートコントロール・フレームワーク |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009500886A JP2009500886A (ja) | 2009-01-08 |
JP5061360B2 true JP5061360B2 (ja) | 2012-10-31 |
Family
ID=34856376
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008518964A Expired - Fee Related JP5061360B2 (ja) | 2005-06-29 | 2006-06-29 | リモートコントロール・フレームワーク |
JP2012027286A Expired - Fee Related JP5479513B2 (ja) | 2005-06-29 | 2012-02-10 | リモートコントロール・フレームワーク |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012027286A Expired - Fee Related JP5479513B2 (ja) | 2005-06-29 | 2012-02-10 | リモートコントロール・フレームワーク |
Country Status (7)
Country | Link |
---|---|
US (4) | US9406219B2 (ja) |
EP (4) | EP3680874A1 (ja) |
JP (2) | JP5061360B2 (ja) |
CN (1) | CN100580731C (ja) |
GB (1) | GB2427733A (ja) |
HK (1) | HK1199669A1 (ja) |
WO (1) | WO2007000605A1 (ja) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015340A1 (en) * | 2003-06-27 | 2005-01-20 | Oracle International Corporation | Method and apparatus for supporting service enablers via service request handholding |
US7873716B2 (en) | 2003-06-27 | 2011-01-18 | Oracle International Corporation | Method and apparatus for supporting service enablers via service request composition |
US8458703B2 (en) | 2008-06-26 | 2013-06-04 | Oracle International Corporation | Application requesting management function based on metadata for managing enabler or dependency |
US9245236B2 (en) * | 2006-02-16 | 2016-01-26 | Oracle International Corporation | Factorization of concerns to build a SDP (service delivery platform) |
US9038082B2 (en) | 2004-05-28 | 2015-05-19 | Oracle International Corporation | Resource abstraction via enabler and metadata |
US7860490B2 (en) * | 2004-12-01 | 2010-12-28 | Oracle International Corporation | Methods and systems for exposing access network capabilities using an enabler proxy |
US8966498B2 (en) * | 2008-01-24 | 2015-02-24 | Oracle International Corporation | Integrating operational and business support systems with a service delivery platform |
US8073810B2 (en) * | 2007-10-29 | 2011-12-06 | Oracle International Corporation | Shared view of customers across business support systems (BSS) and a service delivery platform (SDP) |
US9565297B2 (en) | 2004-05-28 | 2017-02-07 | Oracle International Corporation | True convergence with end to end identity management |
US8321498B2 (en) * | 2005-03-01 | 2012-11-27 | Oracle International Corporation | Policy interface description framework |
US20060116912A1 (en) * | 2004-12-01 | 2006-06-01 | Oracle International Corporation | Managing account-holder information using policies |
US8032920B2 (en) * | 2004-12-27 | 2011-10-04 | Oracle International Corporation | Policies as workflows |
GB2427733A (en) | 2005-06-29 | 2007-01-03 | Symbian Software Ltd | Remote control |
US8914493B2 (en) | 2008-03-10 | 2014-12-16 | Oracle International Corporation | Presence-based event driven architecture |
US8103363B2 (en) * | 2007-01-31 | 2012-01-24 | Hewlett-Packard Development Company, L.P. | Device control system |
US8214503B2 (en) | 2007-03-23 | 2012-07-03 | Oracle International Corporation | Factoring out dialog control and call control |
JP4459253B2 (ja) * | 2007-05-29 | 2010-04-28 | 株式会社東芝 | 通信端末 |
JP4978349B2 (ja) * | 2007-07-10 | 2012-07-18 | 富士通東芝モバイルコミュニケーションズ株式会社 | 情報処理装置 |
US8472589B1 (en) * | 2007-09-28 | 2013-06-25 | Sprint Communications Company L.P. | Locally storing voicemails and communicating them to other wireless mobile devices |
US8539097B2 (en) * | 2007-11-14 | 2013-09-17 | Oracle International Corporation | Intelligent message processing |
US8161171B2 (en) * | 2007-11-20 | 2012-04-17 | Oracle International Corporation | Session initiation protocol-based internet protocol television |
US20090181613A1 (en) * | 2008-01-14 | 2009-07-16 | Jyi-Yuan Chen | Wireless control system and method thereof |
US9654515B2 (en) | 2008-01-23 | 2017-05-16 | Oracle International Corporation | Service oriented architecture-based SCIM platform |
US8589338B2 (en) * | 2008-01-24 | 2013-11-19 | Oracle International Corporation | Service-oriented architecture (SOA) management of data repository |
US8401022B2 (en) * | 2008-02-08 | 2013-03-19 | Oracle International Corporation | Pragmatic approaches to IMS |
WO2009153967A1 (ja) * | 2008-06-17 | 2009-12-23 | パナソニック株式会社 | サーバ装置、サーバ処理方法およびプログラム |
US10819530B2 (en) * | 2008-08-21 | 2020-10-27 | Oracle International Corporation | Charging enabler |
JP4883132B2 (ja) * | 2009-04-28 | 2012-02-22 | 株式会社デンソー | 音出力制御装置 |
US8879547B2 (en) * | 2009-06-02 | 2014-11-04 | Oracle International Corporation | Telephony application services |
US8583830B2 (en) * | 2009-11-19 | 2013-11-12 | Oracle International Corporation | Inter-working with a walled garden floor-controlled system |
US20110125913A1 (en) * | 2009-11-20 | 2011-05-26 | Oracle International Corporation | Interface for Communication Session Continuation |
US8533773B2 (en) * | 2009-11-20 | 2013-09-10 | Oracle International Corporation | Methods and systems for implementing service level consolidated user information management |
US9269060B2 (en) * | 2009-11-20 | 2016-02-23 | Oracle International Corporation | Methods and systems for generating metadata describing dependencies for composable elements |
US20110125909A1 (en) * | 2009-11-20 | 2011-05-26 | Oracle International Corporation | In-Session Continuation of a Streaming Media Session |
US9509790B2 (en) * | 2009-12-16 | 2016-11-29 | Oracle International Corporation | Global presence |
US9503407B2 (en) | 2009-12-16 | 2016-11-22 | Oracle International Corporation | Message forwarding |
US9519425B1 (en) * | 2010-06-28 | 2016-12-13 | EMC IP Holding Company, LLC | Techniques for device user interfaces |
US8607295B2 (en) | 2011-07-06 | 2013-12-10 | Symphony Advanced Media | Media content synchronized advertising platform methods |
US20130210358A1 (en) * | 2012-02-13 | 2013-08-15 | Htc Corporation | Application Control Method and Mobile Electronic Device thereof |
US20130339859A1 (en) | 2012-06-15 | 2013-12-19 | Muzik LLC | Interactive networked headphones |
US20180048750A1 (en) * | 2012-06-15 | 2018-02-15 | Muzik, Llc | Audio/video wearable computer system with integrated projector |
CN102810247A (zh) * | 2012-08-24 | 2012-12-05 | 贾琳 | 一种红外遥控模块及其遥控方法 |
JP6061597B2 (ja) * | 2012-09-28 | 2017-01-18 | 大和ハウス工業株式会社 | エネルギー監視システム、エネルギー監視方法及び端末 |
KR101987226B1 (ko) * | 2012-11-20 | 2019-06-11 | 엘지이노텍 주식회사 | 통신 모듈을 포함하는 게이트웨이 시스템 및 게이트웨이 시스템의 구동방법 |
US11075996B2 (en) * | 2013-10-15 | 2021-07-27 | Red Hat Israel, Ltd. | Remote dashboard console |
CN104570967B (zh) * | 2013-10-17 | 2017-06-20 | 北大方正集团有限公司 | 基于Android系统的远程控制方法及系统 |
KR101594874B1 (ko) * | 2014-07-16 | 2016-02-17 | 삼성전자주식회사 | 전자 장치, 외부 장치 및 전자 장치의 외부 장치 전원 제어방법 |
US10127240B2 (en) * | 2014-10-17 | 2018-11-13 | Zestfinance, Inc. | API for implementing scoring functions |
US10079797B2 (en) | 2014-10-29 | 2018-09-18 | Vmware, Inc. | Methods, systems and apparatus to remotely start a virtual machine |
EP3384477A1 (en) * | 2015-12-02 | 2018-10-10 | Koninklijke Philips N.V. | Control device for a domestic appliance system |
CN105681878A (zh) * | 2016-01-15 | 2016-06-15 | 南京熊猫电子股份有限公司 | 一种通过智能手机控制智能机顶盒的装置及其方法 |
WO2018069952A1 (ja) * | 2016-10-11 | 2018-04-19 | 株式会社オプティム | 遠隔制御システム、遠隔制御方法、およびプログラム |
WO2019028179A1 (en) | 2017-08-02 | 2019-02-07 | Zestfinance, Inc. | SYSTEMS AND METHODS FOR PROVIDING DISAPPEARED IMPACT INFORMATION OF AUTOMATIC LEARNING MODEL |
EP3762869A4 (en) | 2018-03-09 | 2022-07-27 | Zestfinance, Inc. | SYSTEMS AND METHODS FOR PROVIDING ASSESSMENT OF A MACHINE LEARNING MODEL THROUGH DECOMPOSITION |
CA3098838A1 (en) | 2018-05-04 | 2019-11-07 | Zestfinance, Inc. | Systems and methods for enriching modeling tools and infrastructure with semantics |
US20200026976A1 (en) * | 2018-07-17 | 2020-01-23 | iT SpeeX LLC | Method, System, and Computer Program Product for Harmonizing Industrial Machines with an Intelligent Industrial Assistant Having a Set of Predefined Commands |
CN109040303A (zh) * | 2018-09-07 | 2018-12-18 | 山东交通学院 | 一种基于物联网通信及控制装置、系统及方法 |
US11816541B2 (en) | 2019-02-15 | 2023-11-14 | Zestfinance, Inc. | Systems and methods for decomposition of differentiable and non-differentiable models |
EP3942384A4 (en) | 2019-03-18 | 2022-05-04 | Zestfinance, Inc. | SYSTEMS AND PROCEDURES FOR MODEL FAIRNESS |
US10751612B1 (en) * | 2019-04-05 | 2020-08-25 | Sony Interactive Entertainment LLC | Media multi-tasking using remote device |
CN111475318B (zh) * | 2020-04-29 | 2021-02-23 | 中国人民解放军军事科学院国防科技创新研究院 | 一种支持多用户访问的串口通信装置、方法及系统 |
US11720962B2 (en) | 2020-11-24 | 2023-08-08 | Zestfinance, Inc. | Systems and methods for generating gradient-boosted models with improved fairness |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US613809A (en) | 1898-07-01 | 1898-11-08 | Tesla Nikola | Method of and apparatus for controlling mechanism of moving vessels or vehicles |
US5650775A (en) | 1989-07-06 | 1997-07-22 | U.S. Philips Corporation | Control system for controlling consumer apparatus |
ES2095835T3 (es) * | 1989-07-06 | 1997-03-01 | Koninkl Philips Electronics Nv | Sistema de control para controlar aparatos de consumo, particularmente aparatos de audio y/o video y aparatos de consumo para utilizacion en sistema de control de este tipo. |
JPH08265856A (ja) | 1995-03-27 | 1996-10-11 | Oki Electric Ind Co Ltd | 無線インタフェースカード |
US5650831A (en) * | 1995-07-17 | 1997-07-22 | Gateway 2000, Inc. | Adjustable power remote control drive |
JPH09259515A (ja) | 1996-03-19 | 1997-10-03 | Fujitsu Ltd | Avコントローラ |
JPH1127761A (ja) | 1997-06-30 | 1999-01-29 | Dainippon Printing Co Ltd | リモートコントロール装置 |
US6144888A (en) * | 1997-11-10 | 2000-11-07 | Maya Design Group | Modular system and architecture for device control |
US7894474B1 (en) * | 1999-09-10 | 2011-02-22 | Koninklijke Philips Electronics N.V. | Remote control of an electronic device through downloading of a control interface of the electronic device in a mobile station |
US6498567B1 (en) * | 1999-12-20 | 2002-12-24 | Xerox Corporation | Generic handheld remote control device |
US6748278B1 (en) | 2000-03-13 | 2004-06-08 | Microsoft Corporation | Remote controlled system with computer-based remote control facilitator |
JP2002051069A (ja) | 2000-08-07 | 2002-02-15 | Nippon Telegr & Teleph Corp <Ntt> | ゲートウェイ装置 |
JP2002101476A (ja) | 2000-09-25 | 2002-04-05 | Toshiba Corp | 情報処理装置 |
ATE292311T1 (de) * | 2000-12-10 | 2005-04-15 | Vkr Holding As | Fernsteuerungseinrichtung und verfahren zur konfiguration einer solchen fernsteuerungseinrichtung |
CN1219361C (zh) * | 2001-03-28 | 2005-09-14 | 国际商业机器公司 | 用于红外接口的蓝牙适配器及相关的通信方法 |
KR20020089631A (ko) | 2001-05-23 | 2002-11-30 | (주)오픈브레인테크 | 블루투스 헤드셋을 통한 온라인 음악 배포 시스템 |
US7536182B2 (en) * | 2001-09-18 | 2009-05-19 | Nec Corporation | Method and system for extending the capabilities of handheld devices using local resources |
JP4003474B2 (ja) * | 2002-02-15 | 2007-11-07 | 松下電工株式会社 | 照明装置 |
JP2003347956A (ja) | 2002-05-28 | 2003-12-05 | Toshiba Corp | オーディオ出力装置およびその制御方法 |
US7034713B2 (en) * | 2002-07-08 | 2006-04-25 | Yu-Chung Yang | Autonomous and universal remote control scheme |
JP2004080085A (ja) | 2002-08-09 | 2004-03-11 | Olympus Corp | 制御装置 |
US6998955B2 (en) * | 2002-08-09 | 2006-02-14 | Ballew Michael A | Virtual electronic remote control device |
JP3872052B2 (ja) * | 2002-10-30 | 2007-01-24 | 埼玉日本電気株式会社 | リモコン機能付き携帯電話機、そのリモートコントロール方法及びシステム |
US7987489B2 (en) * | 2003-01-07 | 2011-07-26 | Openpeak Inc. | Legacy device bridge for residential or non-residential networks |
US7325238B2 (en) * | 2003-03-21 | 2008-01-29 | Microsoft Corporation | Interface for determining the source of user input |
FR2857211A1 (fr) * | 2003-07-04 | 2005-01-07 | France Telecom | Systeme de controle d'environnement et d'assistance pour habitation |
SE528570C2 (sv) * | 2004-04-08 | 2006-12-19 | Abb Research Ltd | Metod, anordning och system för att upprätta en trådlös förbindelse mellan en bärbar datoranordning med en första applikation till andra anordningar med hjälp av en andra applikation |
KR100621593B1 (ko) * | 2004-09-24 | 2006-09-19 | 삼성전자주식회사 | 다중양식의 입력을 이용하는 통합 원격 제어 장치 및 방법 |
KR100664925B1 (ko) * | 2004-09-24 | 2007-01-04 | 삼성전자주식회사 | 다중 기기를 제어하는 통합 원격 제어 장치 및 방법 |
US20060224575A1 (en) * | 2005-03-30 | 2006-10-05 | Microsoft Corporation | System and method for dynamic creation and management of lists on a distance user interface |
GB2427733A (en) | 2005-06-29 | 2007-01-03 | Symbian Software Ltd | Remote control |
US20070258718A1 (en) * | 2006-05-05 | 2007-11-08 | Alcatel | Method and system for extending internet protocol remote control to non-internet protocol devices |
US7952467B2 (en) * | 2006-09-29 | 2011-05-31 | Sony Corporation | System and method for informing user how to use universal remote control |
KR101333846B1 (ko) * | 2006-11-07 | 2013-12-19 | 소니 주식회사 | 통신 시스템, 송신 장치, 수신 장치, 송신 방법, 수신 방법, 통신 방법, 기록 매체 및 통신 케이블 |
US7788395B2 (en) * | 2007-02-14 | 2010-08-31 | Microsoft Corporation | Adaptive media playback |
WO2008119043A1 (en) * | 2007-03-27 | 2008-10-02 | Armida Technologies | Wireless integrated security controller |
WO2008134991A1 (de) * | 2007-05-03 | 2008-11-13 | Siemens Aktiengesellschaft | Verfahren zum aufbau einer drahtlosen kommunikationsverbindung zwischen einer automatisierungskomponente und einem mobilen bedienterminal |
-
2005
- 2005-06-29 GB GB0513312A patent/GB2427733A/en not_active Withdrawn
-
2006
- 2006-06-29 JP JP2008518964A patent/JP5061360B2/ja not_active Expired - Fee Related
- 2006-06-29 EP EP20156321.0A patent/EP3680874A1/en not_active Withdrawn
- 2006-06-29 US US11/994,016 patent/US9406219B2/en not_active Expired - Fee Related
- 2006-06-29 CN CN200680023929A patent/CN100580731C/zh not_active Expired - Fee Related
- 2006-06-29 EP EP15193193.8A patent/EP3032512B1/en active Active
- 2006-06-29 EP EP06755673.8A patent/EP1899935B1/en not_active Not-in-force
- 2006-06-29 WO PCT/GB2006/002395 patent/WO2007000605A1/en active Application Filing
- 2006-06-29 EP EP14163440.2A patent/EP2752830A2/en not_active Withdrawn
-
2012
- 2012-02-10 JP JP2012027286A patent/JP5479513B2/ja not_active Expired - Fee Related
-
2014
- 2014-12-31 HK HK14113141.5A patent/HK1199669A1/xx unknown
-
2016
- 2016-06-30 US US15/198,586 patent/US9922550B2/en not_active Expired - Fee Related
-
2018
- 2018-02-28 US US15/907,649 patent/US10607479B2/en active Active
-
2020
- 2020-02-14 US US16/791,620 patent/US20200184805A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP3032512A1 (en) | 2016-06-15 |
US20090015433A1 (en) | 2009-01-15 |
WO2007000605A1 (en) | 2007-01-04 |
US9406219B2 (en) | 2016-08-02 |
US20200184805A1 (en) | 2020-06-11 |
GB0513312D0 (en) | 2005-08-03 |
JP2012120240A (ja) | 2012-06-21 |
JP5479513B2 (ja) | 2014-04-23 |
US20190272740A1 (en) | 2019-09-05 |
EP1899935B1 (en) | 2016-01-20 |
HK1199669A1 (en) | 2015-07-10 |
EP3032512B1 (en) | 2020-11-11 |
US20170046946A1 (en) | 2017-02-16 |
EP2752830A2 (en) | 2014-07-09 |
GB2427733A (en) | 2007-01-03 |
EP3680874A1 (en) | 2020-07-15 |
CN100580731C (zh) | 2010-01-13 |
US9922550B2 (en) | 2018-03-20 |
CN101213582A (zh) | 2008-07-02 |
US10607479B2 (en) | 2020-03-31 |
JP2009500886A (ja) | 2009-01-08 |
EP1899935A1 (en) | 2008-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5061360B2 (ja) | リモートコントロール・フレームワーク | |
US7257821B2 (en) | Accessing an in home network through the internet | |
US9667435B2 (en) | Remote audio | |
US9038061B2 (en) | System and method for managing an application or software component for use in a device to be controlled in a home network | |
WO2017165105A1 (en) | Universal internet of things (iot) smart translator | |
CN107222326B (zh) | 用于设备间服务的访问方法、配置方法及装置 | |
WO2011095038A1 (zh) | 实现终端间资源共享的方法、资源处理系统及终端 | |
TW201502787A (zh) | 使用配件協定經由無線傳輸之主機與配件裝置間之通信 | |
US20090180398A1 (en) | Method and apparatus for facilitating interaction between the services provided by respective networked devices | |
US8176343B2 (en) | Method for providing information for power management of devices on a network | |
CN108337306A (zh) | 设备寻找方法、装置、系统、终端及存储介质 | |
EP1734443A1 (en) | Access to a mobile device from another device | |
US20080229324A1 (en) | System and method for sharing e-service resource of digital home | |
JP3225101U (ja) | 赤外線音声コントロールシステム及び赤外線音声コントロール装置 | |
KR100578549B1 (ko) | 유무선 네트워크 환경에서 복합 서비스 자동인식/수행시스템 및 그 방법 | |
KR20050078548A (ko) | 홈 네트워크 서빙 노드에서의 원격 소프트웨어 업그레이드방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090309 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090319 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090319 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111011 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120106 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120116 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120210 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120417 |
|
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: 20120618 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120713 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5061360 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150817 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150817 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150817 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |