JP6013366B2 - 仮想化組み込み装置 - Google Patents

仮想化組み込み装置 Download PDF

Info

Publication number
JP6013366B2
JP6013366B2 JP2013547609A JP2013547609A JP6013366B2 JP 6013366 B2 JP6013366 B2 JP 6013366B2 JP 2013547609 A JP2013547609 A JP 2013547609A JP 2013547609 A JP2013547609 A JP 2013547609A JP 6013366 B2 JP6013366 B2 JP 6013366B2
Authority
JP
Japan
Prior art keywords
embedded
virtual
embedded device
input
virtual device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013547609A
Other languages
English (en)
Other versions
JP2014501423A (ja
Inventor
フォティア ドミニク
フォティア ドミニク
シグロア プーナム
シグロア プーナム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014501423A publication Critical patent/JP2014501423A/ja
Application granted granted Critical
Publication of JP6013366B2 publication Critical patent/JP6013366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、仮想化組み込み装置に関する。
組み込み装置は、今日では、家庭、職場、ショッピングモール等において、どこにでもある。組み込み装置は、ケーブルサービス用のセットトップボックスから、ゲーム機、冷蔵庫、病院の設備、電力監視装置、小売キオスク、情報ブース等に至るまですべてのものに含まれている。組み込み装置は、デスクトップコンピュータのコンポーネントと同様、典型的には、中央処理ユニット(CPU)、メモリ、ストレージ、時にはグラフィックス処理ユニット(GPU)および装置の目的に特定な周辺装置を含む。例えば、デジタルビデオ記録(DVR)セットトップボックスはチューナ周辺装置を含むことができ、一方で、病院のX線装置はX線撮影の周辺装置を含むことができる。
組み込み装置は有能であるが、多くの場合、目的が制限されている。組み込み装置メーカーは、製品の原価(COG)と装置を構築するために使用された材料の原価(BOM)を減らすために、多くの場合、いくつかのトレードオフに至る。組み込み装置の更新は、多くのユーザが行うことに慣れていないタスクであるファームウェアのフラッシングすることを含む場合がある。よって、組み込み装置は多くの場合に単一の目的のために一度販売されて、メーカーが新機能やまたは高速な処理を可能にしたい場合、メーカーは新しいバージョンである交換用の組み込み装置をユーザに販売することを多くの場合、試みる。
装置がもはや特定の目的を果たさなくなったときユーザは装置を多くの場合、処分するので、組み込み装置は多くの廃棄物を生むことになる。例えば、DVRは、より多くのストレージ容量を有する新しいDVRで置き換えられ、または、病院は、超音波機械を、カラープリンタや三次元イメージングを含むものに置き換えるかもしれない。組み込み装置でエラーが発見された場合、問題を伴うインスタンスのすべてを識別して、エラーを修正するファームウェアの更新を提供することは、時間がかかり、難しい。よって、組み込み装置の管理および制御が多くの場合に問題となっている。また、いくつかの装置の設定および組み込みは通常ユーザの技術レベルを超えることがあり、高価な技術者が装置の初期セットアップに時間を取られることがある。
本明細書に記載されている装置仮想化システムは、装置の少なくとも一部の機能がサーバまたは他のコンピューティング装置に対してオフロード可能に、組み込み装置のアプリケーション固有周辺装置から組み込み装置の一般的なコンピュータ処理タスクを分離する。極端な例では、システムを使用した仮想組み込み装置は、まさに、別の場所で実行している仮想化サーバに通信される入力と出力を提供するユーザの場所で実行しているリモート周辺装置のセットである。装置仮想化システムは、仮想組み込み装置の管理、設定および制御を大幅に簡素化する。装置のソフトウェアの多くが仮想化サーバ上で実行されるので、情報技術(IT)担当者は、仮想化サーバを管理し、いずれかの更新を適用し、発生した問題を診断するために割り当てられ得る。さらに、1つのサーバまたはサーバグループ、ユーザの多種多様な仮想化された組み込み装置の多種多様な仮想化サービスを提供するために使用され得る。IT担当者は、更新を適用し、設定上の問題を診断し、ユーザの環境で動作するように装置のセットアップを支援すること等ができる。
また、問題が識別された時、装置メーカーは、装置を仮想化するデータセンターへの入力および出力を監視することにより、はるかに多い台数の装置のへのアクセスが可能となる。これは問題のテストおよび診断を大いに簡素化する。また、メーカーは、ユーザの場所へはるかに安い装置を出荷することができ、仮想化された組み込み装置にその中核となる機能を与える仮想化サーバが提供するサービスの加入モデルに基づいてユーザに課金することができる。これにより、ユーザは、メンテナンスやファームウェア更新をフラッシングすることの技術的な煩雑さ無しで、定期的な更新の恩恵を受けることができる。複数の場所で安く、スリムダウンされた装置を組み込むことによって、複数のユーザはまた、単一の仮想化された装置の処理能力を共有してコストを節約することができる。したがって、このシステムは、組み込み装置の有用性を高め、今日の組み込み装置よりも長い寿命とより広い様々な使用を可能とすることができる。
この概要は、以下の詳細な説明でさらに説明される簡略化された形態で概念の選択を紹介するために設けられている。この概要は、特許請求される主題の重要な特徴または主要な特徴を特定することを意図しておらず、特許請求された主題の範囲を限定するために使用されることを意図していない。
一実施形態における装置仮想化システムのコンポーネントを示すブロック図である。 一実施形態におけるリモート処理のための仮想組み込み装置で情報を取得する装置仮想化システムの処理を示すフロー図である。 一実施形態における共通の仮想化施設で仮想装置情報を処理する装置仮想化システムの処理を示すフロー図である。 一実施形態でおける装置仮想化システムの例示的な動作環境を示すブロック図である。
本明細書には、組み込み装置の一般的なコンピュータ処理タスクを組み込み装置のアプリケーション固有周辺装置から分離して、装置の少なくとも一部の機能がサーバまたは他のコンピューティング装置(すなわち、仮想装置)にオフロードされることを可能とする装置仮想化システムが記載されている。極端な例では、システムを使用した仮想組み込み装置は、まさに、別の場所で実行している仮想化サーバに通信される入力と出力を提供するユーザの場所で実行しているリモート周辺装置のセットである。例えば、データセンターは、いくつかの仮想組み込み装置のための処理およびストレージ能力を提供できる。一例として、DVR機能を備えたセットトップボックスを考える。今日、DVRは、装置に組み込まれたローカルハードディスクドライブに基づ一定量のストレージを有している。DVRは、ハードディスクドライブがいっぱいになり始めた場合に、古い記録番組を削除し始めおよび/または新しいものの記録を避けるようにプログラムされている。今日のDVRは、単一の目的を有する自己完結型の装置である。DVRを仮想化することにより、いくつかのコンポーネントおよび機能は、データセンターまたは他の場所に移動され得る。例えば、装置のためのストレージと処理能力がデータセンターにオフロードされ、一方で、家庭内にはチューナおよびオーディオ/ビジュアル装置への接続をそのまま残る。ユーザは、仮想化されたDVRがストレージスペースの不足にならないようなデータセンター内の事実上無制限のストレージのために支払うことができるであろう。
また、この装置仮想化システムは、仮想組み込み装置の管理、設定および管理を大幅に簡素化する。装置のソフトウェアの多くが仮想化サーバ上で実行されるので、情報技術(IT)担当者は、仮想化サーバを管理し、いずれかの更新を適用し、発生した問題を診断するために割り当てられ得る。さらに、1つのサーバまたはサーバグループ、ユーザの多種多様性のために多種多様な仮想化された組み込み装置の仮想化サービスを提供するために使用され得る。IT担当者は、更新の適用や、設定上の問題の診断や、ユーザの環境で動作するように装置の設定の支援等を行うことができる。また、問題が識別されると、装置メーカーは、装置を仮想化するデータセンターへの入力および出力を監視することにより、多数の装置アクセスすることができる。これは大いにテストと問題の診断を簡素化する。また、メーカーは、ユーザの場所にはるかに安い装置を出荷することができ、仮想化された組み込み装置にその中核となる機能を付与する仮想化サーバによって提供するサービスの加入モデルに基づいて、ユーザに課金することができる。これにより、ユーザは、メンテナンスやファームウェア更新をフラッシングすることの技術的な煩雑さ無しに定期的な更新の恩恵を受けることができる。複数の場所で、安くスリムダウンされた装置を設置することによって、複数のユーザはまた、単一の仮想化された装置の処理能力を共有することができ、コストを節約することができる。例えば、病院は、医師に様々な場所で、1つの病院に位置する単一の共有磁気共鳴イメージング(MRI)または他の診断機からの出力を提供する表示装置を提供することができる。よって、システムは、組み込み装置の有用性を高め、今日の組み込み装置よりも長い寿命とより広い様々な使用を可能とすることができる。
装置仮想化システムは、サーバの能力、汎用性、場所およびコスト構造を活用して様々な組み込み装置の機能を提供する。多くの企業は、現在、今日、組み込み装置のいくつかタスクを実行することに適しているデータセンターを構築している。いくつかの実施形態において、仮想組み込み装置はハンドヘルド画面またはモニタを備えながら、全体の処理能力がどこかの離れた仮想サーバに常駐している。ユーザに対して、それらは本当の組み込み装置または仮想装置を使用しているかのように、シームレスである。医師/看護師が自分自身で簡単に運ぶことができるハンドヘルドスキャナのみを有していながら、例えば、離れた場所のどこかに位置している、MRI、超音波、または他の医療診断機を考えてみる。この診断機は、同時に複数のリクエストを処理できるようにするのに十分有能である。この方法は、複数の病院によって共有され、単一のチームによって維持された1つだけの有能なマシンが1か所にあり、メンテナンスのコストも同様に共有される故に、メンテナンスのコストが下がる。装置のための仮想化は、デスクトップクライアントおよびサーバのようなオペレーティングシステムレベルで仮想化することによって達成される。複数の分散装置とは対照的に、いずれかの更新は中央の装置にプッシュされる。これは仮想マシンを使用するのではなく、まさに、それ自体が仮想化のすべての利点を得ることができるように組み込み装置を仮想化している。これは何度も改良された物理的装置を販売するのではなく、装置のためのサービスベースのモデルを可能にする。例えば、この装置からただ1つの特定のサービスを使用する必要があるどんな病院の場合でも、彼らはまさにその1つのサービスのために支払うことができる。
いくつかの実施形態において、各組み込み装置は、すべての処理能力がリモート仮想マシンにプッシュされダム端末のようなものである。これは、組み込み装置が今日に比べて多くの情報を処理するように見え、仮想マシンがデスクトップ、サーバ、メインフレームと同じくらい有能であり得るので、装置メーカーは処理能力だけでなく、フットプリントを心配する必要がなくなることを意味する。システムは、装置がデスクトップのクライアントとサーバとより同様に管理され得ることを可能とする。システムは、今日の組み込み装置に特化した知識を構築するのではなく、すべての装置のためのアプローチの一般化と標準化を可能にする。これは、より一貫性のある装置経験を構築するのに役立ち、ダム端末レベルで制御され得る解像度/表示および特定の周辺装置の変更だけで装置間に亘るアプリケーションを記述することを容易にし得る。この点で、組み込み装置は、デスクトップクライアントとサーバのように、よりシームレスである。1つの装置のために書かれたアプリケーションは、多くの組み込み装置のためにシームレス且つ相互に活用できる。これらの組み込み装置の後ろに座っている仮想マシンは、任意のアプリケーション、オペレーティングシステム、またはセキュリティパッチの更新を識別し、それらを、設定したポリシーに基づいてユーザの許可の有り/無し、ダウンロードするおよび/またはスケジュールに組み込むことができる。これは、装置経験を、メーカーからのどの装置が使用されているかに関係なく、シンプルで、シームレスで、統合され、有能で、装置間の標準なものとなす。複数の異なるメーカー、彼らが生み出した経験と、彼らが仮想マシンのサポートおよびサービスを提供し得る処理能力とに基づいて市場を依然と制御することができる。これは、各装置の多くがクラウド内に存在する装置のためのサービスベースのモデルを使用して、より大きな柔軟性を可能にする。
仮想装置は、広く多様な目的を果たすことができる。例えば、システムを実装するテレビは、データセンターにビデオデータの処理をオフロードすることができる。ビデオの再生は、ストレージフォーマットからの再生フォーマットへビデオおよびオーディオのデータを解凍して翻訳する1つまたは複数のコーデックの使用を典型的に含む。コーデックは時間の経過とともに変化して、更なる圧縮や、追加機能等(例えば、多くのスピーカチャンネル、三次元データ等)を追加する。組み込み装置は多くの場合、コーデックの更新に追いつくこと困難であり、特定タイプのコンテンツの再生ができなくなる可能性がある。今日では、これはメーカーがする場合、ファームウェアの更新を介して処理され、または、メーカーがしない場合、新しい装置の購入で処理されている。装置仮想化システムは、頻繁に自動的に新しいコーデックおよび/またはその他の改良によって更新されるリモートデータセンタまたは他の場所で処理を行うことができる。
また、この装置仮想化システムは、追加のリモートサービスに加入することで、1つの組み込み装置が潜在的に複数の機能のために使用きるようになる。例えば、ゲーム機は、光学ドライブや、家庭でゲームをプレイするためのユーザのAV装置への接続を含むことができる。ユーザは、ゲーム機の光学ドライブを使用してムービーを再生する機能や、インターネットを閲覧する機能等の追加サービスに対して後で支払うことができる。装置は、これらのサービスのためのハードウェアを含み、付加機能を追加するために離れて格納された処理およびロジック回路を活用できる。ユーザはゲーム機等の装置を使用するための支払いを停止することができ、ユーザのための装置目的が時間の経過とともに変わる。
図1は、一実施形態における装置仮想化システムのコンポーネントを示すブロック図である。システム100は、リモート入力コンポーネント110、リモート出力コンポーネント120、装置識別コンポーネント130、通信コンポーネント140、仮想装置処理コンポーネント150、仮想装置ストレージコンポーネント160およびアプリケーション固有ソフトウェアコンポーネント170を含む。これらのコンポーネント各々はそれぞれ、本明細書でさらに詳細に記載されている。
モート入力コンポーネント110は、組み込み装置に組み込まれた1つまたは複数の入力装置から、組み込み装置における入力を取得する。入力のタイプは、組み込み装置の目的に応じて変化する。DVRについては、入力は、テレビ番組を表す圧縮されたオーディオビジュアルデータの形式でのチューナ入力、または、ユーザが番組を記録しもしくはチャンネルを変更することを要求するためのリモコンから入力を含むことができる。病院のX線装置についは、入力は、X線イメージングデータを含むことができる。組み込み装置の数や種類は相当にあり、当業者は、リモート入力コンポーネント110への入力を提供することができる多くのタイプの装置を認識するであろう。しかし、従来のシステムとは異なり、リモート入力コンポーネント110は、通信コンポーネント140を介してリモート仮想化装置へ伝送するために、入力をパケージ化する。
リモート出力コンポーネント120は、組み込み装置における出力を受信し、出力を、ユーザまたは他のコンポーネントに提供する。出力は、画面またはモニタへの表示等のビジュアル出力、スピーカを通して音声の再生等のオーディオ出力、ロボットアームや他の周辺装置で対象物を移動するような機械出力等を含むことができる。出力のタイプは、組み込み装置の目的によって変化する。リモート出力コンポーネント120は、通信コンポーネント140を経由して、リモート仮想化装置により処理した後出力を受信する。従来の組み込み装置とは異なり、入力の処理の一部または全部はリモート仮想化装置で起こり、そして、ローカル組み込み装置は、入力を取得し、出力を提供することを主に担当している。
装置識別コンポーネント130は、特定の組み込み装置を識別し、仮想装置がいずれかのアプリケーション固有処理を提供できるように、仮想装置処理コンポーネント150に通知する。仮想化装置は、様々な組み込み装置の処理および/またはストレージを行うことができ、そして装置識別コンポーネント130は、仮想化装置が処理を実行するための組み込み装置の種類およびインスタンスの両方を仮想化装置が理解することができるようにする。装置のタイプは、仮想化装置がいずれかの特別な処理を実行するために、アプリケーション固有ソフトウェアコンポーネント170を介していずれかのアプリケーション固有ソフトウェアコードを読み込むことを助ける。装置のインスタンスは、特定の組み込み装置に仮想装置のサービスを要求する権限があるかどうかを仮想装置が判断するための加入または支払いの状態を監視することを援助することができる。
通信コンポーネント140は、組み込み装置と仮想装置の間の通信チャネルを提供する。チャネルは、インターネット等の公衆ネットワーク、同様に、企業ローカルエリアネットワーク(LAN)等のプライベートネットワークを含むことができる。チャネルは、伝送制御プロトコル(TCP)またはユーザデータグラムプロトコル(UDP)等のデータを転送するための周知の様々なプロトコルを使用することができる。通信コンポーネント140は、装置との接続を生成するために組み込み装置に組み込まれたハードウェアと、その接続を監視すること及び受信した出力を処理することのための少量の低頻度で変更されるソフトウェアを含んでいてもよい。
仮想装置処理コンポーネント150は、組み込み装置の目的に関連する動作を実行するための仮想装置での処理リソースを提供する。例えば、組み込み装置が冷蔵庫である場合、処理コンポーネント150は、温度を監視し、指定された温度に到達するまで動作するように圧縮機に指示することができる。仮想装置処理コンポーネント150は、装置識別コンポーネント130から装置識別の情報を受信し、アプリケーション固有ソフトウェアコンポーネント170を呼び出し、識別された組み込み装置の動作に特定ないずれかのアプリケーションソフトウェアコードを読み込む。アプリケーションソフトウェアコードが更新されたバージョンに置き換えられた場合、仮想装置処理コンポーネント150は、処理を行う前にアプリケーションソフトウェアコードを透過的に更新し、または自動的にもしくは仮想化装置を管理するIT担当者により決定された他のメンテナンスタスクを行うことができる。
仮想装置処理コンポーネント150はまた、加入または他の基盤上で柔軟な処理リソースを提供しているMICROSOFT(登録商標)AZURE(登録商標)やAmazonEC2(登録商標)等のクラウドコンピューティングサービスへの処理タスクをエクスポートすることができる。全体のシステム100は、ユーザのサイトでのローカル組み込み装置が、入力を取得して出力を提供する一方でクラウドプラットフォームが処理、ストレージおよびその他のリソースを提供するように、クラウドプラットフォーム上に構築され得る。これは非常にスケーラブルなモデルを作成し、新たな組み込み装置をリリースするメーカーにとって価格の低下になる。組み込み装置自体を安くすることとオンラインサービスのための高価な構築コストを回避することの両方により、メーカーは、特定の問題の解決に焦点を当てることができる。装置/ソリューションの人気が大きくなるにつれて、メーカーは、より多くの組み込み装置を迅速に作成し、スムーズに拡張するクラウドプラットフォームのリソースをより多く利用することができる。
仮想装置ストレージコンポーネント160は、組み込み装置に代わってデータを永続的に格納するためストレージリソースを仮想化装置にて提供する。ストレージリソースは、1つまたは複数のメモリ内のデータ構造、ファイル、ファイルシステム、ハードディスクドライブ、外部ストレージ、データベース、ストレージエリアネットワーク(SAN)、クラウドベースのストレージサービス、または組み込み装置での通信の間でデータを永続的に格納するためのその他の機能を含むことができる。例えば、組み込み装置がDVRまたはバックアップ装置等のコンテンツへのアクセスを提供する場合、仮想装置ストレージコンポーネント160は、オーディオビジュアルファイルを格納し、または組み込み装置に代わってデータをバックアップしてもよい。ユーザは固定サイズの従来のバックアップ装置を購入するより、むしろ、ユーザが必要とするまたは支払いたいだけのストレージをユーザに提供する仮想装置と通信するバックアップ装置を購入することができる。時間が経つにつれて、ユーザのニーズは、多かれ少なかれストレージが必要とされるように変更される場合があるが、ユーザは、同じ組み込み装置の有用性を取得し、ニーズの変化に基づいてユーザの加入プランを調整し続けることができる。
アプリケーション固有ソフトウェアコンポーネント170は、アプリケーションのために組み込み装置が設計されている当該アプリケーションに固有のいずれかのプロセスを管理する。コンポーネント170はソフトウェアコードおよびハードウェアコンポーネントを含み、これらは仮想化装置の位置で且つ組み込み装置から離れた位置で一元的に組み込まれて使用され得る。アプリケーション固有ソフトウェアコンポーネント170ソフトウェアコードを表す場合、ソフトウェアコードは、様々な場所に存在する様々な組み込み装置アクセスすることまたはその知識がなくても仮想化装置にてソフトウェアを更新することによって、一元的に更新され管理され得る。更新した後の次回にユーザが組み込み装置を使用すると、ユーザは、装置が新しい機能で更新されていること、または仮想化装置で発生した更新に基づいてエラーが修正されていることを単に発見することができる。特定の仮想サーバは、必要に応じて複数のアプリケーション固有ソフトウェアコンポーネント170を格納し読み込むことにより、様々なタイプの組み込み装置および目的のための処理およびストレージのサービスを提供することができる。
装置仮想化システムが実装されるコンピューティング装置は、中央処理装置、メモリ、入力装置(例えば、キーボードおよびポインティング装置)、出力装置(例えば、表示装置)およびストレージ(例えば、ディスクドライブまたは他の不揮発性ストレージ媒体)を含むことができる。メモリおよびストレージの装置は、システムの実装または有効化のコンピュータ実行可能命令(例えば、ソフトウェア)を用いて符号化され得るコンピュータ読み取り可能なストレージ媒体である。また、データ構造およびメッセージ構造は、通信リンク上の信号等のデータ伝送媒体を介して格納または伝送され得る。種々の通信リンクは、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、ポイントツーポイントダイヤルアップ接続、携帯電話ネットワーク等として使用され得る。
システムの実施形態は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能家庭用電化製品、デジタルカメラ、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散型コンピューティング環境、セットトップボックス、システムオンチップ(SOCに)等を含む様々な動作環境で実施され得る。コンピュータシステムは、携帯電話、パーソナルデジタルアシスタント、スマートホン、パーソナルコンピュータ、プログラマブル家庭用電化製品、デジタルカメラ等であってもよい。
システムは、1つまたは複数のコンピュータまたは他の装置によって実行されるプログラムモジュール等のコンピュータ実行可能命令の一般的文脈で説明され得る。一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、プログラムモジュールの機能は、様々な実施形態において望まれるように組み合わせまたは分散させられ得る。
図2は、一実施形態におけるリモート処理のための仮想組み込み装置で情報を取得する装置仮想化システムの処理を示すフロー図である。ブロック210に始まり、システムは、組み込み装置に取り付けられた1つまたは複数のセンサまたは周辺装置からの入力を、組み込み装置において受信する。組み込み装置はセンサの入力を仮想装置へ提供し、当該仮想装置は、データセンターや他の集中化された場所内に配置され、または、組み込み装置と同じ場所に置かれて組み込み装置及び潜在的に1つまたは複数の他の組み込み装置に、処理、ストレージもしくはその他のリソースを提供するコンピューティングシステム上に配置されている。組み込み装置は、仮想装置への入力を提供し且つ仮想装置からの出力を受信するために、インターネットまたはプライベートネットワークを介して、仮想装置に接続され得る。組み込み装置内に設置したセンサまたは周辺装置は、組み込み装置を周囲の環境から1つ以上の種類の入力データを取得し、仮想装置への入力を提供する。例えば、データは、チューナ入力、温度入力、音声入力、ビデオ入力、機械的な入力等を含むことができる。
続いてブロック220にて、システムは、入力をそれから受信た組み込み装置を識別する。組み込み装置は、読み取り専用メモリ(ROM)または他のローカルストレージ内に格納された装置のタイプおよび/またはインスタンスを識別する装置識別子を含むことができる。タイプは組み込み装置の目的を指定することができ、一方で、インスタンスはシリアル番号または同一タイプの装置を区別するための他の実質的に一意の識別子を指定することができる。組み込み装置は、仮想装置が受信した入力を処理する方法を知見するように、仮想装置に装置識別子を提供する。
続いてブロック230にて、システムは処理のために仮想装置に装置識別を送信する。組み込み装置は、接続されたネットワークを介して装置識別子を送信して、セットアップ段階を実行し、該セットアップ段階の間に、組み込み装置は仮想装置との通信のチャネルを開き、1つまたは複数の連続する通信で使用するために一度自身を識別して、仮想装置へ入力を提供し且つ仮想装置からの出力を受信する。受信した装置識別に基づいて、仮想装置は、組み込み装置からの入力を処理するためのいずれかのアプリケーション固有命令を読み込む。
続いてブロック240にて、システムは、処理のために仮想装置へ受信した入力を送信する。仮想装置は、受信した入力についていずれかのアプリケーション固有処理を行い、結果またはその他の出力を生成する。処理のタイプは、利用可能な組み込み装置のタイプのように広く変化することができる。DVRの記録の取得のために、仮想装置は、組み込み装置からチューナ入力を受信し、入力を圧縮/符号化し、入力を仮想装置に関連付けられたストレージ内に格納することができる。DVRの再生の実行ために、仮想装置は、再生、一時停止および早送り等の制御要求を受信し、組み込み装置のディスプレイ上に再生され得る出力として符号化されたオーディオビジュアルデータを提供することができる。実質的に組み込み装置自体上のすべての機能を著しいハードウェアコストで実行する今日の装置と比較して、組み込み装置が処理および他のリソースの消費のかなりの量を仮想装置へオフロードする最終結果を伴って、他のタイプの装置は、仮想装置からの処理の異なるタイプを要求することができる。
続いてブロック250にて、システムは、組み込み装置にて仮想装置からのリモート処理結果を受信する。リモート処理結果は、送信された入力の処理の失敗または成功したかどうかを示す結果コードと、同様に、仮想装置により実行された処理の結果としての仮想装置によって提供されるいずれかの出力を含むことができる。いくつかのケースでは、仮想装置は組み込み装置の代わりに単にデータを格納し、処理結果は仮想装置から組み込み装置によって要求されたデータを含むことができる。他のケースでは、処理結果は、組み込み装置の代わりに仮想装置によって実行された実質的な演算の結果を含むことができる。
続いてブロック260にて、システムは組み込み装置にて、仮想装置から受信した出力を提供している。出力は、画面またはスピーカのセットで再生されるオーディオビジュアルデータ、ロボットアーム等の機械的周辺装置へ提供される機械的なデータ、以前に仮想装置に格納されたバックアップされたバイナリデータ、またはいずれかの他のタイプのデータを含むことができる。ブロック260の後、これらのステップは終了する。
図3は、一実施形態における共通の仮想化施設での仮想装置の情報を処理するための装置仮想化システムの処理を示すフロー図である。ブロック310に始まり、システムは、仮想装置において、組み込み装置の機能を実行するための処理または他のリソースに関して仮想装置に依存する組み込み装置を識別する情報を受信する。組み込み装置は、受信した入力と一緒に、装置のタイプおよび/またはインスタンスを識別する装置識別子を送信することができる。タイプは組み込み装置の目的を指定することができ、一方で、インスタンスはシリアル番号または同一タイプの装置を区別するための他の実質的に一意の識別子を指定することができる。仮想装置は組み込み装置の装置タイプを判定し、仮想装置に関連付けられたデータストアからのアプリケーション固有処理情報を読み込む。組み込み装置のメーカーは、最初に、仮想装置のオペレータに組み込み装置を管理するためのアプリケーション固有ソフトウェアコードまたは他の情報を提供し得るとともに、時間をかけて、エラーを修正するかまたは機能をアップグレードするための定期的な更新を提供することができる。
続いてブロック320にて、システムは、受信した装置情報に基づいて組み込み装置に関連したアプリケーション固有情報を読み込む。仮想装置は、当該仮想装置が様々な組み込み装置の代わりに動作するための様々なアプリケーション固有処理命令を含むストレージを伴うデータストアを含むことができる。仮想装置は、組み込み装置がいくつかのコンポーネントおよびコストを低減または除去できるように、組み込み装置に処理、ストレージまたはその他のリソースを提供することができる。
続いてブロック330にて、システムは組み込み入力を、組み込み装置に組み込まれている1つまたは複数の周辺装置から、仮想装置にて、受信する。受信した入力は、以前に組み込み装置で処理されていたが、それに代えて仮想装置で処理される入力を形成する。入力は、チューナ入力、温度入力、音声入力、ビデオ入力、機械的な入力等を含むことができる。組み込み装置は、仮想装置に組み込み装置を接続するネットワーク上1つまたは複数の入力メッセージを送信し、仮想装置は、入力を受信し、指定された処理を実行する。
続いてブロック340にて、システムは、仮想装置にて、アプリケーション固有情報に基づいて受信した組み込み入力を処理する。処理は、仮想装置の代わりのデータの格納、入力の計算の実行、他のソース(例えば、公共データベース)から追加データの収集等を含んでいてもよい。仮想装置は、組み込み装置によって提供された入力を遂行するために、プロセッサ、ストレージおよびその他のリソースを提供している。これは、組み込み装置に、これらのリソースを省略するか、または、リソースの単純なバージョンを使用して、組み込み装置コストを削減し、組み込み装置の設定および保守を単純化することを可能にする。
続いてブロック350にて、システムは、組み込み入力の処理の1つまたは複数の結果を識別する。その結果は、エラーコード、成功コード、出力データ、得られた情報等を含むことができる。仮想装置の処理は、以前には過去のシステム内の組み込み装置にて生成されたであろう出力を生成する。それから、仮想装置は、組み込み装置がそれ自体で処理のすべてを実行していないことに組み込み装置のユーザが気付かないことがあり得るように、生成された出力を組み込み装置に提供する。装置仮想化システムは、様々なコンピューティング装置の間の高速ネットワーク接続のほぼユビキタス可用性によって部分的に可能となる。
続いてブロック360にて、システムは、組み込み装置のユーザに提供するための出力として仮想装置から組み込み装置へ識別結果を送信する。その結果は、モニタ上で再生する組み込み装置用のビデオデータ、スピーカで再生する音声データ、組み込み装置の機械的な周辺装置を制御するための機械的データ等を含むことができる。ブロック360の後、これらのステップは終了する。
図4は、一実施形態における装置仮想化システムの例示的な動作環境を示すブロック図である。図は、組み込み装置410とネットワーク440により接続された仮想装置450とを含む。組み込み装置410は、家庭、小規模オフィスに、または、ローカル情報を含み且つユーザがある或る目的を遂行するために組み込み装置410を購入した他の環境に設置してもよい。組み込み装置410は、組み込み装置からデータを収集し、組み込み装置410のローカル環境にデータを戻す、1つまたは複数の組み込み入力周辺装置420および1つまたは複数の組み込まれた出力周辺装置430を含む。組み込み装置410と仮想装置450を接続するネットワーク440は、仮想装置450が組み込み装置410の代わりに1つまたは複数の機能を実行し、遅滞なくユーザにデータを返すことができるように十分に高速なインターネットまたは他のネットワークも含むことができる。
仮想装置450はデータセンターもしくは他の処理施設内に離れて配置されてもよく、または、組み込み装置410の位置でサーバもしくは他の利用可能なリソースであってもよい。仮想装置450は、従来の組み込み装置410によって実行される1つまたは複数の機能を実行するために組み込み装置410によって使用される少なくとも1つの仮想リソース460を含む。仮想リソース460は、プロセッサ、ストレージ、ネットワーク装置、または組み込み装置410に代わって動作するその他のリソースおよび、潜在的に他の組み込み装置(図示せず)を含むことができる。仮想装置450は、組み込み装置410に関連付けられたアプリケーションコードの一元管理を可能にし、同様に、仮想リソース460と組み込み装置410の安価なコンポーネントコストの共有を可能にする。
いくつかの実施形態において、装置仮想化システムは、ソフトウェアコードまたは組み込み装置に関連するその他の情報をテストすることで組み込み装置メーカーを支援する仮想装置を使用して1つまたは複数の組み込み装置をシミュレートする。メーカーは、ハードウェアの複雑なテストベンチを設定するよりも、むしろ組み込み装置の入力および出力をシミュレートし、エラーとパフォーマンスの問題のために仮想装置(複数可)を監視することによって、多くの装置に対してシステムの拡張性を含む多くのシナリオをテストすることができる。システムは、物理的な装置で再生することは難しいだろう現実世界のシナリオのテストやレクリエーションを大幅に簡素化する。
いくつかの実施形態において、装置仮想化システムは、仮想装置または装置が利用できる共有データに基づいて装置メーカーにレポートを提供する。組み込み装置用のストレージの多くが仮想装置で一元化されるため、装置メーカーは、以前の組み込み装置で入手することは困難であろう豊富なデータをマイニングすることができる。
例えば、装置、最も頻繁に使用する機能およびその他の重要な情報を各ユーザが設定している方法は、すべての仮想装置に関連付けられた中央データストアにアクセスして、利用可能である。また、メーカーは、発生するような組み込み装置のリクエストのジャーナリングとロギングを通して追加データの収集を要求することができる。このように、メーカーは、最も一般的に使用される機能、一般的な設定、一般的な問題等に関する情報を判定することができる。
いくつかの実施形態において、装置仮想化システムは、仮想装置の使用のために装置メーカーに補償するために加入モデルを、組み込み装置のユーザに提供する。例えば、仮想装置は、ユーザが購入した加入ティアに基づいてストレージの大きさを変更できる処理または品質を提供することができる。ユーザは、メーカーに仮想装置上でさまざまな機能を有効にさせるより機能豊富な加入プランへ移すことによって、組み込み装置からのより多くの機能を得ることができる。
いくつかの実施形態において、装置仮想化システムは、仮想装置にて、組み込み装置のメンテナンスおよび更新から組み込み装置のユーザを軽減する自動更新を実行する。仮想装置で使用されるソフトウェアおよび他の情報を更新することにより、組み込み装置の動作が変わり、ユーザは提供されたいずれかの更新からメリットを得る。
以上のことから、装置仮想化システムの特定の実施形態は、例示の目的のために本明細書に記載されていることが理解されるであろうが、その種々の変更が本発明の精神および範囲から逸脱することなく行うことができる。従って、本発明は、添付の特許請求の範囲による以外は限定されない。

Claims (14)

  1. 組み込み装置の代わりに動作する仮想装置にて、リモート処理のために前記組み込み装置における情報をキャプチャするコンピュータ実装方法であって、当該方法は、
    組み込み装置において、前記組み込み装置に取り付けられた1つもしくは複数のセンサまたは周辺装置から入力を受信するステップと、
    前記入力を信した前記組み込み装置を識別するステップであり、前記組み込み装置を識別するステップは、前記組み込み装置のタイプおよびインスタンス識別子を判定することを含み、前記インスタンス識別子は、同一タイプの装置の異なるインスタンスを区別する、ステップと、
    装置識別を前記仮想装置に処理のために送信するステップと、
    前記受信した入力を前記仮想装置に処理のために送信するステップと、
    前記組み込み装置において、リモート処理結果を前記仮想装置から受信するステップと、
    前記組み込み装置において、前記仮想装置から受信した出力を提供するステップと
    を備え、前記各ステップは少なくとも1つのプロセッサによって実行される
    方法。
  2. 組み込み装置の入力を受信するステップは、前記組み込み装置の周囲の環境から1つまたは複数のタイプの入力データをキャプチャし、かつ前記入力を前記仮想装置に提供することを含む請求項1に記載の方法。
  3. 前記装置識別を前記仮想装置へ送信するステップは、前記仮想装置が前記組み込み装置からの入力をリモートで処理できるように、前記組み込み装置を前記仮想装置に接続するネットワークを介して前記識別を送信することを含む請求項1に記載の方法。
  4. 前記装置識別を前記仮想装置へ送信するステップは、セットアップ段階を実行し前記仮想装置に入力を提供すること及び前記仮想装置から出力を受信することのための1つ以上の後続の通信に使用する前記仮想装置との通信のチャネルを開くことを含む請求項1に記載の方法。
  5. 前記受信した入力を送信するステップは、前記仮想装置が前記受信した入力上アプリケーション固有処理を実行し、かつ前記組み込み装置に提供するための結果を生成することを要求することを含む請求項1に記載の方法。
  6. リモート処理結果を受信するステップは、前記送信した入力を処理することが失敗したかまたは成功したかどうかを示す結果コードを受信することを含む請求項1に記載の方法。
  7. リモート処理結果を受信するステップは、前記組み込み装置のユーザへの表示のための出力を受信することを含む請求項1に記載の方法。
  8. 出力を提供するステップは、前記出力を、前記組み込み装置の周囲の環境において動作を実行する前記組み込み装置の1つまたは複数の出力周辺装置に提供することを含む請求項1に記載の方法。
  9. 組み込み装置の少なくとも一部の機能を仮想装置にオフロードすることによって前記組み込み装置を仮想化するコンピュータシステムであって、当該システムは、
    以下のコンポーネント内に具現化されたソフトウェア命令を実行するように構成されたプロセッサおよびメモリを含み、前記コンポーネントは、
    み込み装置に組み込まれた1つまたは複数の入力装置からの前記組み込み装置における入力をキャプチャするリモート入力コンポーネントと、
    み込み装置における出力を受信し、かつ前記出力をユーザまたは他のコンポーネントに提供するリモート出力コンポーネントと、
    前記仮想装置がアプリケーション固有処理を提供することができるように、特定の組み込み装置を識別し、かつ仮想装置処理コンポーネントに通知する装置識別コンポーネントであり、前記組み込み装置を識別することは、前記組み込み装置のタイプおよびインスタンス識別子を判定することを含み、前記インスタンス識別子は、同一タイプの装置の異なるインスタンスを区別する、装置識別コンポーネントと、
    前記組み込み装置と前記仮想装置との間の通信チャネルを提供する通信コンポーネントと、
    記組み込み装置の目的に関連する動作を実行するために前記仮想装置における処理リソースを提供する仮想装置処理コンポーネントと、
    記組み込み装置の代わりにデータを永続的に格納するために前記仮想装置におけるストレージリソースを提供する仮想装置ストレージコンポーネントと、
    そのアプリケーション用に前記組み込み装置設計されたアプリケーションに固有である1つまたは複数のプロセスを管理するアプリケーション固有ソフトウェアコンポーネントと
    有する、
    ステム。
  10. 前記リモート入力コンポーネントは、前記通信コンポーネントを介した、前記入力を処理するリモート仮想装置への送信のために、受信した入力をパケージ化する請求項に記載のシステム。
  11. 前記装置識別コンポーネントは、前記仮想装置加入または支払いの状態を監視ることを可能とし、前記組み込み装置が前記仮想装置から1つまたは複数の識別されたサービスを要求することを許可されているかどうかを判定する請求項に記載のシステム。
  12. 前記通信コンポーネントは、前記仮想装置との接続を生成するために前記組み込み装置に組み込まれたハードウェアと、前記接続を監視し、かつ前記仮想装置から受信された出力を処理する少量の変更頻度の低いソフトウェアとを含む請求項に記載のシステム。
  13. 前記仮想装置処理コンポーネントは、装置識別情報を前記装置識別コンポーネントから受信し、かつ前記アプリケーション固有ソフトウェアコンポーネントを起動し、前記識別された組み込み装置の前記動作に固有のアプリケーションソフトウェアコードをロードする請求項に記載のシステム。
  14. 前記アプリケーション固有ソフトウェアコンポーネントは、前記仮想装置の位置において一元的に且つ前記組み込み装置からリモート、組み込まれ使用されるソフトウェアコードを含み、前記ソフトウェアコードは、前記組み込み装置を介することなく前記仮想装置において前記ソフトウェアコードを更新することにより、一元的に更新され、かつ管理されることができるようにされる、請求項に記載のシステム。
JP2013547609A 2010-12-28 2011-12-27 仮想化組み込み装置 Active JP6013366B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/979,392 2010-12-28
US12/979,392 US9043754B2 (en) 2010-12-28 2010-12-28 Virtualizing embedded devices
PCT/US2011/067364 WO2012092257A2 (en) 2010-12-28 2011-12-27 Virtualizing embedded devices

Publications (2)

Publication Number Publication Date
JP2014501423A JP2014501423A (ja) 2014-01-20
JP6013366B2 true JP6013366B2 (ja) 2016-10-25

Family

ID=46318619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013547609A Active JP6013366B2 (ja) 2010-12-28 2011-12-27 仮想化組み込み装置

Country Status (9)

Country Link
US (1) US9043754B2 (ja)
EP (1) EP2659382A4 (ja)
JP (1) JP6013366B2 (ja)
KR (1) KR101831478B1 (ja)
CN (1) CN102609297B (ja)
AR (1) AR084641A1 (ja)
HK (1) HK1174406A1 (ja)
TW (1) TWI536169B (ja)
WO (1) WO2012092257A2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8640097B2 (en) * 2009-03-16 2014-01-28 Microsoft Corporation Hosted application platform with extensible media format
US9172924B1 (en) 2011-04-04 2015-10-27 Verint Systems Inc. Systems and methods for sharing encoder output
US10063430B2 (en) * 2011-09-09 2018-08-28 Cloudon Ltd. Systems and methods for workspace interaction with cloud-based applications
US9606629B2 (en) 2011-09-09 2017-03-28 Cloudon Ltd. Systems and methods for gesture interaction with cloud-based applications
US9965151B2 (en) 2011-09-09 2018-05-08 Cloudon Ltd. Systems and methods for graphical user interface interaction with cloud-based applications
US9886189B2 (en) 2011-09-09 2018-02-06 Cloudon Ltd. Systems and methods for object-based interaction with cloud-based applications
US8782472B2 (en) * 2011-10-28 2014-07-15 Dell Products L.P. Troubleshooting system using device snapshots
US9141325B2 (en) 2013-02-01 2015-09-22 Amadeus S.A.S. Communications management
CA2996140C (en) * 2013-02-01 2022-05-24 Amadeus S.A.S. Communications management
DK3809265T3 (da) * 2013-02-01 2022-07-04 Amadeus Sas Kommunikationsstyring
CN103942078B (zh) * 2014-04-30 2017-11-17 华为技术有限公司 一种加载驱动程序的方法及嵌入式设备
WO2015179603A1 (en) 2014-05-22 2015-11-26 Citrix Systems, Inc. Providing testing environments using virtualization
US9986040B2 (en) 2015-07-21 2018-05-29 Amadeus S.A.S. Communications management system with a separate peripherals server
US10169203B2 (en) * 2015-10-14 2019-01-01 At&T Intellectual Property I, L.P. Test simulation for software defined networking environments
CN106445640B (zh) * 2016-10-20 2019-06-18 南京南瑞继保电气有限公司 一种嵌入式虚拟装置运行方法和系统
CN107545172B (zh) * 2017-07-12 2020-06-09 新华三技术有限公司 授权资源管理方法、装置及机器可读存储介质
JP2020052812A (ja) * 2018-09-27 2020-04-02 横河電機株式会社 エンジニアリングシステム及びエンジニアリング方法
CN111371622A (zh) * 2020-03-13 2020-07-03 黄东 一种多网隔离、选择切换装置及网络资源配置方法
US11736348B2 (en) * 2021-06-28 2023-08-22 Dell Products L.P. System and method for network services based functionality provisioning in a VDI environment

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076400B2 (en) * 2000-02-14 2006-07-11 Nextnine Ltd. Support network
EP1187015A3 (en) 2000-05-09 2003-01-29 Yipee!, Inc. Internet-enabled embedded device
KR20020034347A (ko) 2000-11-01 2002-05-09 강태구 서버-씬 클라이언트 시스템
US6836796B2 (en) 2001-03-16 2004-12-28 Digi International, Inc. System and method to manage network-enabled embedded devices operating under various protocols
JP2002286483A (ja) * 2001-03-22 2002-10-03 Seiko Epson Corp ナビゲーション装置、ナビゲーション装置用サーバー及び携帯用情報端末
US7017004B1 (en) * 2002-03-29 2006-03-21 Microsoft Corporation System and method for updating contents of a flash ROM
KR20040081988A (ko) 2003-03-17 2004-09-23 장승환 운동기구의 네트워크 통합 운영 시스템
US8555273B1 (en) * 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7539631B1 (en) 2003-10-06 2009-05-26 Microsoft Corporation Method, system and program for providing subscription-based virtual computing services
US7685257B2 (en) * 2003-11-10 2010-03-23 Sun Microsystems, Inc. Portable thin client for the enterprise workspace
US20070072599A1 (en) 2005-09-27 2007-03-29 Romine Christopher M Device manufacturing using the device's embedded wireless technology
US20070219059A1 (en) * 2006-03-17 2007-09-20 Schwartz Mark H Method and system for continuous monitoring and training of exercise
US20080133767A1 (en) * 2006-11-22 2008-06-05 Metis Enterprise Technologies Llc Real-time multicast peer-to-peer video streaming platform
US20080320081A1 (en) 2007-06-19 2008-12-25 Microsoft Corporation Service componentization and composition architecture
CN101138489A (zh) 2007-10-16 2008-03-12 孙启玉 远程随身健康实时诊测系统及其使用方法
US20090222497A1 (en) * 2008-02-29 2009-09-03 Schlumberger Technology Corp. Method, system and apparatus for remote software upgrade of an embedded device
US9459927B2 (en) * 2008-05-22 2016-10-04 Alcatel Lucent Central office based virtual personal computer
US10657466B2 (en) 2008-05-29 2020-05-19 Red Hat, Inc. Building custom appliances in a cloud-based network
US8250215B2 (en) 2008-08-12 2012-08-21 Sap Ag Method and system for intelligently leveraging cloud computing resources
US9052958B2 (en) 2008-11-21 2015-06-09 Samsung Electronics Co., Ltd. Extending the capability of computing devices by using dynamically scalable external resources
US20110191787A1 (en) * 2010-02-02 2011-08-04 Sun Microsystems, Inc. System and method for providing sensor data from embedded device to software development environment

Also Published As

Publication number Publication date
WO2012092257A3 (en) 2012-12-06
US9043754B2 (en) 2015-05-26
JP2014501423A (ja) 2014-01-20
WO2012092257A2 (en) 2012-07-05
CN102609297B (zh) 2016-08-17
KR20130132887A (ko) 2013-12-05
CN102609297A (zh) 2012-07-25
AR084641A1 (es) 2013-05-29
EP2659382A4 (en) 2017-07-19
TWI536169B (zh) 2016-06-01
EP2659382A2 (en) 2013-11-06
HK1174406A1 (zh) 2013-06-07
KR101831478B1 (ko) 2018-04-04
US20120167044A1 (en) 2012-06-28
TW201229764A (en) 2012-07-16

Similar Documents

Publication Publication Date Title
JP6013366B2 (ja) 仮想化組み込み装置
US11909820B2 (en) Method and apparatus for execution of applications in a cloud system
JP6305110B2 (ja) 撮像装置、及び撮像システム
CN108854055A (zh) 用于远程显示器的基于云的虚拟化图形处理方法和系统
CN104823180B (zh) 分布式跨平台用户界面和应用投影
US8943130B2 (en) Method and apparatus for transferring material
KR101320280B1 (ko) 시스템 및 유형의 디지털 저장 매체
WO2019071680A1 (zh) 一种插件加载的方法和装置
EP2754058A1 (en) Storage and communication de-duplication
WO2019071678A1 (zh) 一种直播的方法和装置
US20170340965A1 (en) Information processing device, data acquisition method, and program
WO2013189374A2 (zh) 一种传输媒体数据的方法及虚拟桌面服务器
US9792418B2 (en) Secure connected digital media platform
US11838589B2 (en) Port-connected television upgrader device
US20120011014A1 (en) Media purchase techniques
TWI498747B (zh) 基於雲端運算技術之影像處理系統
JP6230453B2 (ja) 撮像装置及びその制御方法
CN103999046B (zh) 支持用于多媒体内容的浏览器的服务
WO2019071679A1 (zh) 一种直播的方法和装置
TWI611304B (zh) 媒體影子檔案與系統
US9063799B1 (en) Method for encapsulating functions for application programming interfaces in a cloud environment
JP2002095071A (ja) ネットワークシステム及び機器制御方法
JP2006065871A (ja) 家電機器ネットワークシステム
US11930243B2 (en) Peripheral device registration in and migration between environments
JP4243033B2 (ja) コンテンツ再生制御装置

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130905

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141205

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160921

R150 Certificate of patent or registration of utility model

Ref document number: 6013366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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