JP5651072B2 - プラットフォームに依存しない情報処理システム、通信方法、及びそのコンピュータ・プログラム - Google Patents

プラットフォームに依存しない情報処理システム、通信方法、及びそのコンピュータ・プログラム Download PDF

Info

Publication number
JP5651072B2
JP5651072B2 JP2011126578A JP2011126578A JP5651072B2 JP 5651072 B2 JP5651072 B2 JP 5651072B2 JP 2011126578 A JP2011126578 A JP 2011126578A JP 2011126578 A JP2011126578 A JP 2011126578A JP 5651072 B2 JP5651072 B2 JP 5651072B2
Authority
JP
Japan
Prior art keywords
server
application
display
graphic image
request
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
Application number
JP2011126578A
Other languages
English (en)
Other versions
JP2012014688A5 (ja
JP2012014688A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012014688A publication Critical patent/JP2012014688A/ja
Publication of JP2012014688A5 publication Critical patent/JP2012014688A5/ja
Application granted granted Critical
Publication of JP5651072B2 publication Critical patent/JP5651072B2/ja
Expired - Fee Related 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は一般に情報技術に関し、より具体的にはプラットフォームに依存しない通信に関する。
ノートブック、携帯電話、携帯端末、ナビゲーション機器、ウェアラブル・コンピュータなどの携帯デバイスは、近年急速に発展してかなり普及している。今日、ユーザは携帯デバイス(携帯電話又は携帯端末(PDA)など)を介してインターネットにアクセスし、種々の携帯デバイスにそれぞれカスタマイズされたウェブページを読むことができる。携帯デバイスは、情報管理、音声/映像エンターテイメント、及び商取引などの種々のモバイル・アプリケーションを達成することができる。
現在の携帯デバイスには、幾つかの大きな制限がある。第1に、携帯デバイスのCPU及びメモリの制限が、その上でのアプリケーションの実行を不利に制限するので、携帯デバイス上で複雑なアップリケーションを実行することが困難になることがある。第2に、メモリの制限のために、ユーザがラップトップ/デスクトップにおいて通常行うように多くのアプリケーションを携帯デバイスにインストールすることは容易でない、換言すれば、携帯デバイスへの多くのアプリケーションのインストールは、ラップトップ/デスクトップへの多くのアプリケーションのインストールに比べて、満足できるものではない。第3に、今日の市場には、種々のオペレーティング・システム(OS)及びハードウェア仕様(特にCPU)を有する様々な携帯デバイスが存在し、典型的には種々のアプリケーションは特定のオペレーティング・システム及び携帯デバイス上でのみ実行可能である可能性がある。
従って、デバイス/OS/プラットフォームに依存しない情報処理システム、通信方法、及びコンピュータ・プログラムを提供して、ユーザに種々のアプリケーションを提供するための普遍的環境を提供することが有益である。
一態様において、本発明の一実施形態は、サーバとデバイスの間の通信方法であって、デバイスにより、選択されたアプリケーションの要求をサーバに送信することと、要求に応答して、サーバにより、選択されたアプリケーションの実行を表示するグラフィック・イメージをデバイスに送信することと、による方法を提供する。
さらにこの実施形態に対して、本方法は、サーバにより、デバイスが使用できる1つ又は複数のアプリケーションを有するリストを示すグラフィック・ユーザ・インタフェースを生成することと、ユーザがリストからアプリケーションを選択できるようにすることと、デバイスにより、ユーザが選択したアプリケーションへの入力を受け取ることとを更に含む。
さらにこの実施形態に対して、複数のデバイス・エミュレータをサーバ上に配置することができる。本方法は、サーバにより、選択されたアプリケーションに対応するデバイス・エミュレータを選択することと、サーバにより、対応するエミュレータを実行してグラフィック・イメージを生成することとをさらに含むことができる。
さらにこの実施形態に対して、表示装置をデバイスのために配置することができ、この表示装置は表示装置解像度を有する。サーバ・ベースの表示解像度に依存しないアプリケーションをサーバ上に配置することができる。本方法は、サーバにより、表示装置に対応するグラフィック・イメージ・レイアウトを、表示装置の解像度に基づいて選択することと、サーバ・ベースの解像度に依存しないアプリケーションを実行してグラフィック・イメージを生成することとをさらに含むことができる。
別の態様において、本発明の一実施形態は、第1のデバイスの要求に応答する情報処理システムを提供する。その要求はアプリケーションに対応するものとすることができる。情報処理システムは、複数のデバイスに対応して、複数のデバイスのそれぞれの機能及び表示をエミュレートする複数のデバイス・エミュレータと、第1のデバイスの要求を受け取り、その要求を第1のデバイスに対応するデバイス・エミュレータに伝送するデバイス・アプリケーション・ハンドラとをそなえることができ、ここで第1のデバイスに対応するデバイス・エミュレータはアプリケーションの実行を表示するグラフィック・イメージを生成し、デバイス・アプリケーション・ハンドラはグラフィック・イメージを第1のデバイスに送信する。
さらにこの実施形態に対して、サービス・ブローカをサービス・クラウドと第1のデバイスとの間に配置して、第1のデバイスからサービス・ブローカによって得られたデバイス情報に基づいて、第1のデバイスが使用できる1つ又は複数のアプリケーションを有するリストを第1のデバイスに送信することができる。
さらに別の態様において、本発明の一実施形態は、デバイスの要求に応答するサーバを提供する。この要求はアプリケーションに対応するものとすることができ、アプリケーションはサーバ・ベースの表示解像度に依存しないアプリケーションとすることができる。デバイスは表示装置を有することができ、表示装置は解像度を有することができる。サーバは、要求に応答してサーバ・ベースの表示解像度に依存しないアプリケーションの実行を表示するグラフィック・イメージを生成し、表示装置の解像度に基づいて表示装置に適合するようにグラフィック・イメージのサイズを調節するための対応するサーバ・ベースの表示解像度に依存しないアプリケーションと、デバイスの要求を受け取り、その要求を対応するサーバ・ベースの表示解像度に依存しないアプリケーションに送るためのデバイス・アプリケーション・ハンドラとを備えることができ、ここでデバイス・アプリケーション・ハンドラは調節されたグラフィック・イメージをデバイスに送信する。
さらに別の態様において本発明の一実施形態は、サーバにおいて、アプリケーションに関する要求に応答する方法を提供する。本方法は、要求に応答して、サーバにより、アプリケーションの実行を表示するグラフィック・イメージを生成することと、要求に応答するグラフィック・イメージを送信することとを含むことができる。要求はデバイスから送信することができ、グラフィック・イメージはデバイスに対して送信することができる。
上で略述した本発明のより具体的な説明を、添付の図面に示される特定の実施形態を参照することにより提供する。これらの図面は本発明の実施形態を示すものであり、それゆえに本発明の範囲を限定するものと考えるべきではないことを理解した上で、添付の図面を使用しながら付加的な特定性及び細部によって本発明を記述し説明することになる。
本発明の一実施形態によるシステムの例示的な図である。 本発明の一実施形態による情報処理システムの例示的な図である。 本発明の一実施形態による携帯デバイスの例示的な図である。 本発明の一実施形態によるサービス・クラウドの例示的な図である。 本発明の一実施形態によるデバイスに依存しない通信方法のフロー図を示す。 本発明の一実施形態によるデバイスに依存しない通信方法のフロー図を示す。 本発明の一実施形態によるデバイスに依存しない通信方法のフロー図を示す。 本発明の一実施形態によるデバイスに依存せず且つ解像度に依存しないアプリケーションの例示的な図である。 本発明の一実施形態によるデバイスに依存せず且つ解像度に依存しないアプリケーションを取得する方法のフロー図である。 本発明の一実施形態による、デバイスが使用できるアプリケーションのリストをデバイスに送信することの例示的な図である。
本明細書の全体を通じて、「1つの実施形態」、「一実施形態」、又は同様の用語への言及は、その実施形態に関連して説明する特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態に含まれていることを意味する。従って、「1つの実施形態において」、「一実施形態において」といった語句、又は同様の用語の出現は、本明細書の全体を通じて、必ずというわけではないが全て同一の実施形態を指すことがある。
当業者であれば認識するように、本発明は、システム、方法、又はコンピュータ・プログラムとして具体化することができる。従って、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又は本明細書で一般的に全て「回路」、「モジュール」、又は「システム」と呼ぶことができるソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形を取るものとすることができる。さらに、本発明は、媒体内に具体化されたコンピュータ使用可能プログラム・コードを有する表現の、任意の有形媒体内に具体化されたコンピュータ・プログラムの形態をとることができる。
1つ又は複数のコンピュータ使用可能媒体又はコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ使用可能媒体又はコンピュータ可読媒体は、例えば、これらに限定されるものではないが、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置、デバイス、或いは伝搬媒体とすることができる。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)として、以下のもの、すなわち、1つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶装置、インターネット又はイントラネットをサポートするような伝送媒体、又は磁気記憶装置が挙げられる。プログラムは、例えば紙又は他の媒体の光学走査を介して電子的に取り込み、次いで、必要に応じて、コンパイルするか、解釈するか、又は適切な他の方法で処理し、次いでコンピュータ・メモリに格納することができるため、コンピュータ使用可能媒体又はコンピュータ可読媒体は、プログラムが印刷された紙又は別の適切な媒体とすることさえ可能であることに留意されたい。本文書との関連においては、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置、若しくはデバイスにより、又はそれらと接続して使用するための、プログラムを含み、格納し、通信し、伝搬し、又は移送することが可能ないずれかの媒体とすることができる。コンピュータ使用可能媒体は、ベースバンド内に又は搬送波の一部分として、それにより具体化されたコンピュータ使用可能プログラム・コードを伴う伝搬データ信号を含むことができる。コンピュータ使用可能プログラム・コードは、これらに限られるものではないが、無線、有線、光ファイバ・ケーブル、RFなどを含むいずれかの適切な媒体を用いて伝送することができる。
本発明の操作を実行するためのコンピュータ・プログラム・コードは、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組み合わせで書くことができる。プログラム・コードは、ユーザのコンピュータ上で完全に実行するか、ユーザのコンピュータ上で部分的に実行するか、独立型のソフトウェア・パッケージとして実行するか、ユーザのコンピュータ上で部分的に実行し遠隔コンピュータ上で部分的に実行するか、又は、遠隔コンピュータ若しくはサーバ上で完全に実行することができる。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域エリア・ネットワーク(WAN)を含むいずれかのタイプのネットワークを通してユーザのコンピュータに接続するか、或いは、(例えば、インターネット・サービス・プロバイダを用いてインターネットを通して)外部のコンピュータに接続することができる。
本発明は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラムのフローチャート説明図及び/又はブロック図を参照して、ここに説明される。フローチャート説明図及び/又はブロック図の各ブロック、並びに、フローチャート説明図及び/又はブロック図中のブロックの組み合わせは、コンピュータ・プログラム命令によって実装できることが理解されるであろう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに供給してマシンを形成し、その結果、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図のブロック又はブロック群において指定される機能/動作を実装するための手段を生成するようにする。
コンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図のブロック又はブロック群において指定される機能/動作を実装する命令手段を含む製品を生成するように、コンピュータ又は他のプログラム可能なデータ処理装置に特定の方法で機能するように命令することが可能なこれらのコンピュータ・プログラム命令を、コンピュータ可読媒体内に格納することもできる。
コンピュータ又は他のプログラム可能な装置上で実行する命令が、フローチャート及び/又はブロック図のブロック又はブロック群において指定される機能/動作を実装するためのステップを提供するように、コンピュータ・プログラム命令をコンピュータ又は他のプログラム可能データ処理装置にロードし、一連の操作ステップをコンピュータ又は他のプログラム可能装置上で実行させて、コンピュータに実装されるプロセスを生成することもできる。
ここで図1乃至図3を参照すると、本発明の種々の実施形態により、デバイス、方法、及びコンピュータ・プログラムが、構造又は機能ブロック図若しくはプロセス・フローチャートとして示される。図中のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法及びコンピュータ・プログラムの可能な実装のアーキテクチャ、機能及び動作を示す。これに関して、フローチャート又はブロック図中の各ブロックは、モジュール、セグメント、又はコードの部分を表すことができ、これは、指定された論理機能を実施するための1つ又は複数の実行可能命令を含む。また、幾つかの代替的な実施において、ブロック内に示された機能は、図中に示された順番とは異なる順番で行なうことができることに留意すべきである。例えば、連続して示される2つのブロックを、実際には、実質的に同時に実行することができ、或いは場合により、関与する機能に応じてブロックを逆の順番で実行することができる。また、ブロック図及び/又はフローチャート説明図中の各ブロック、並びにブロック図及び/又はフローチャート説明図中のブロックの組み合わせは、指定された機能又は動作を実行する専用のハードウェア・ベースのシステム、或いは専用のハードウェアとコンピュータ命令の組み合わせによって、実施することができることにも留意されたい。
図1は、本発明の一実施形態によるシステム100の例示的な図を示し、システム100は、サーバのような少なくとも1つの情報処理システム16を有するサービス・クラウド15と、情報処理システム16と通信することができる複数のデバイス10乃至12とを含むことができる。図2は、本発明の一実施形態による情報処理システム16の例示的な図を示す。図3は、本発明の一実施形態によるデバイス10乃至12のうちの1つの例示的な図を示す。
デバイス10乃至12は、有線/無線ネットワーク14を介してサーバ16と通信することができる。デバイス10はユーザ20の要求に応じてアプリケーションを実行し、デバイス12は別のユーザ22の要求に応じてアプリケーションを実行する。デバイス10乃至12は、任意のハードウェア構造体及びソフトウェア・プロトコルの任意の組み合わせによって、例えば、それに限定されないがインターネット及びTCP/IP、又は他の相互接続技術によって、本発明の実施形態に影響せずに、相互に接続され通信することができる。デバイス10乃至12は、それぞれ、ユーザ20乃至22のユーザ対話のための表示装置179乃至189を有する。
例示的な有線/無線ネットワーク14は、これらに限定されるものではないが、有線ネットワーク、携帯電話ネットワーク、携帯テキストメッセージ・デバイス・ネットワーク、又はポケットベル・ネットワークなどとすることができる。有線/無線ネットワーク14の通信規格は、それらに限定されないが、TDMA(Time Division Multiple Access、時分割多重アクセス)、CDMA(Code Division Multiple Access、符号分割多重アクセス)、GSM(Global System for Mobile Communications、グローバル・システム・フォー・モバイル・コミュニケーションズ)、GPRS(General Packet Radio Service、汎用パケット無線サービス)、又はFDMA(Frequency Division Multiple Access、周波数分割多重アクセス)などとすることができる。任意の数のデバイス10乃至12を有線/無線ネットワーク14によってサポートすることができる。デバイス10乃至12は、これらに限定されるものではないが、携帯電話、プッシュ・トーク携帯電話、ポケットベル、テキストメッセージ・デバイス、電子メールメッセージ・デバイス、デスクトップ、ラップトップ、タブレット・コンピュータ、ハンドヘルド・コンピュータ、又はサーバなどとすることができる。デバイス10乃至12によって利用されるサービスは、これらに限定されるものではないが、第1世代アナログ携帯電話サービス、第2世代デジタル携帯電話サービス、第3世代インターネット携帯電話サービス(3G)、又は第4世代汎用ブロードバンド・サービス(4G)などとすることができる。
例示的な実施形態において有線/無線ネットワーク14は、インターネット関連技術を用いて、種々の機能、例えばデジタル無線電話サービス、双方向デジタル・ラジオ、メッセージ及びデータ/ファックス機能などを提供することができる。有線/無線デバイス10乃至12は、例えば、音声命令、スピーカーフォン、電話帳、音声メール、デジタル双方向ラジオ、インターネット、電子メール、無線モデム、又は音声記録などを含む種々の機能を含むことができる。
例示的な実施形態において、サービス・クラウド15はクラウド・コンピューティングの1つのソリューションであり、多数のサービス又はアプリケーションを動的に処理することができる。新規のサービス又はアプリケーションに対する要求を受信するとき、サービス・クラウド15は幾つかの既存のサービス又はアプリケーションが要求に応えることを可能にする。他方、クラウド・コンピューティングは、最少の管理努力又はサービス・プロバイダ対話により迅速に供給し解放することができる構成可能コンピューティング・リソース(例えば、ネットワーク、サーバ、ストレージ、アプリケーション、及びサービスなど)の共用プールへの、便利なオン・デマンドのネットワーク・アクセスを可能にするためのモデルである。
例示的な実施形態において、サービス・クラウド15は、サーバなどの複数の情報処理システム16を含むことができる。図2に示すように、本発明の一実施形態による情報処理システム16の例示的な図が描かれている。この実施例において、情報処理システム16は汎用コンピュータであり、その中に本発明のプロセスを実施するコード又は命令を配置することができる。情報処理システム16には、周辺コンポーネント相互接続(PCI)ローカルバス・アーキテクチャが用いられる。描かれた実施例にはPCIが用いられているが、他のバス・アーキテクチャ、例えば、アクセラレーテッド・グラフィック・ポート(AGP)及び業界標準アーキテクチャ(ISA)などを用いることもできる。プロセッサ111及び主メモリ112はPCIブリッジ113を介してPCIローカルバス114に接続される。PCIブリッジ113はまた、統合メモリ・コントローラ及びプロセッサ111用のキャッシュ・メモリを含むことができる。直接コンポーネント相互接続により又は拡張ボードにより、PCIローカルバス113に付加的な接続を行うことができる。
図示した実施例において、ローカル・エリア・ネットワーク(LAN)アダプタ115、小型コンピュータ・システム用インタフェース(SCSI)ホストバス・アダプタ116、及び拡張バス・インタフェース117は、直接コンポーネント接続によりPCIローカルバス114に接続される。一方、音声アダプタ118、グラフィック・アダプタ119、及び音声/映像アダプタ120は拡張スロットに挿入された拡張ボードによってPCIローカルバス114に接続される。拡張バス・インタフェース117は、キーボード及びマウス・アダプタ121、モデム122、及び付加メモリ123の接続を与える。SCSIホストバス・アダプタ116は、ハードディスク・ドライブ124、テープ・ドライブ125、及びCD−ROMドライブ130の接続を与える。典型的なPCIローカルバスの実装により、3つ又は4つのPCI拡張スロット又は拡張コネクタをサポートすることができる。
当業者であれば、図2のハードウェアは実装に応じて様々に変えることができることを認識するであろう。他の内部ハードウェア又は周辺デバイス、例えば、フラッシュ読み出し専用メモリ(ROM)、等価な非揮発性メモリ、又は光ディスク・ドライブなどを図2に示したハードウェアに加えて、又はその代わりに用いることができる。また、本発明のプロセスはマルチプロセッサ・データ処理システムに適用することができる。例えば、第1の情報処理システム184は、随意にネットワーク・コンピュータとして構成された場合、SCSIホストバス・アダプタ116、ハードディスク・ドライブ124、テープ・ドライブ125、及びCD−ROM126を省くことができる。その場合、クライアント・コンピュータと呼ぶのが適当なコンピュータは、ある型のネットワーク通信インタフェース、例えば、LANアダプタ115、又はモデム122などを含む。図2に示した実施例及び上述の実施例は、アーキテクチャの限定を意味するものではない。オペレーティング・システムはプロセッサ111の上で実行され、情報処理システム16内の種々のコンポーネントを統合し制御する。オペレーティング・システムは、ウィンドウズXP(登録商標)などの市販のオペレーティング・システムとすることができる。ジャバ(Java)(登録商標)などのオブジェクト指向プログラミング・システムはオペレーティング・システムと共に実行させることができ、情報処理システム16上で実行するジャバ(登録商標)プログラム又はアプリケーションからのオペレーティング・システムに対する呼び出しを提供する。オペレーティング・システム、オブジェクト指向プログラミング・システム、及びアプリケーション又はプログラムに関する命令は、ハードディスク・ドライブ124のような記憶装置上に配置され、プロセッサ111による実行のために主メモリ112内にロードすることができる。
本発明の好ましい実施形態により、デバイス10乃至12は図3に示す携帯デバイス300とすることができるが、これに限定されるものではない。図示した実施例において、携帯デバイス300は、例えばTDMA、CDMA、GSM、GPRS、又はFDMAなどの通信プロトコルに基づいて通信チャネル上で無線周波数信号を送受信することができる双方向ラジオとすることができるが、これに限定されるものではない。
図3のプロセッサ312は、以下に説明するタスクを実行するための単一のプロセッサ又は複数のプロセッサを備えることができる。携帯デバイス300はプロセッサ312の制御下で動作することができるので、携帯デバイス300は受信モードと送信モードの間で切り替えることができる。受信モードにおいてプロセッサ312は、アンテナ328を送信/受信スイッチ330を通してレシーバ326に結合させる。レシーバ326は受信した信号を復号し、それら復号した信号をプロセッサ312に供給する。送信モードにおいては、プロセッサ312はアンテナ328を、スイッチ330を通してトランスミッタ332に結合させる。一実施形態においてレシーバ326及びトランスミッタ332は、短距離無線プロトコル、例えば、IEEE802.11(a)、IEEE802.11(b)、IEEE802.11(g)、IrDA(赤外線通信協会)又はブルートゥース(Bluetooth)などをサポートする。
図3はまた、本発明の全体のプロセスを通して使用することができる情報をストアするための記憶モジュール320を含む。さらに、プロセッサ312は、メモリ318内にストアされた命令によって、トランスミッタ332及びレシーバ326を動作させる。本発明の好ましい実施形態において、メモリ318は、不揮発メモリ、フラッシュ・メモリ又はランダム・アクセス・メモリの何れか1つ又は任意の組み合わせを備えることができる。タイマー・モジュール316はタイミング情報をプロセッサ302に与えて時限イベントの追跡を続ける。
図3に示すように、携帯電話300は、携帯デバイス300への音声の入力及びユーザによる聴取のための音声の出力を可能にする音声入力/出力モジュール334をさらに含む。携帯デバイスはまた、ユーザが携帯デバイス300と対話すること、例えば、これらに限定されるものではないが、アドレスブック情報を修正すること、呼び出しデータ情報と対話すること、及び、呼び出しを行うこと/呼び出しに応答することなどを可能にする。携帯デバイス300は、携帯デバイス300のユーザに情報を表示するための表示モジュール338をさらに含むことができる。携帯デバイス300はまた、携帯デバイス300の位置及び/又は速度情報を決定するためのグローバル・ポジショニング・システム(GPS)モジュール350を含むことができる。
図4は、本発明の一実施形態によるサービス・クラウド15の例示的なブロック図を示す。サービス・クラウド15は複数のサーバ16及び1つのサービス・ブローカ412を含む。サービス・クラウド15は通常、多数のサービス又はアプリケーションを動的に処理するのに用いられ、新規のサービス又はアプリケーションに対する要求416が受信されたことに応答して、サービス・クラウド15は、幾つかの既存のサービス又はアプリケーションが要求416に応えることを可能にすることができる。他方、サービス・ブローカ412は、典型的には、サービス・クラウド15内の利用可能なサービス又はアプリケーションを収集して、利用可能なサービス又はアプリケーションを要求側/クライアントに提供するコンポーネントである。図5は本発明の一実施形態による、デバイスに依存しない通信方法のブロック図を示す。図1乃至図4に基づいた一実施形態における、デバイス10とサービス・クラウド15中のサーバ16との通信方法を示す。
図4に示すように、本発明の一実施形態により、サーバ16は複数のデバイス・エミュレータ、例えば、これらに限定されるものではないが、デバイス(A)(例えば、デバイス20)のエミュレータ420、デバイス(B)(例えば、デバイス22)のエミュレータ424などを含むことができる。サーバ16はまた、1つ又は複数の、サーバ・ベースの表示解像度に依存しないアプリケーション、例えば、サーバ・ベースの表示解像度に依存しないアプリケーション(D)428、サーバ・ベースの表示解像度に依存しないアプリケーション(E)432、及びサーバ・ベースの表示解像度に依存しないアプリケーション(F)436などを含むことができる。サーバ16はまた、デバイス・アプリケーション・ハンドル440を含むことができる。より良い説明のために、上記のコンポーネントの詳細を後で説明することになる。
例示的な実施形態において、エミュレータ420、424は通常、デバイス10乃至12の機能及び表示をまねる又は模倣する、情報処理システム(例えばサーバ16など)上のアプリケーションである。デバイス10乃至12の製造者又はサードパーティは、サーバ16上で使用するためのエミュレータを提供することができる。デバイス10乃至12によって実行されるあらゆる動作又はタスクはまた、サーバ16上のエミュレータ420、424によって実行されることができる。サーバ16上のエミュレータ420、424はまた、デバイス10の物理的インタフェース(図1に示すように、デバイス10の表示装置179の上に表示される)と同一のグラフィカル・ユーザ・インタフェース(GUI)を含み、それによりGUIはデバイス10の物理的インタフェースと同一となる。従って、エミュレータ420、424は、デバイス10と同じ機能及び動作に加えて、同じボタン、表示、及び他の入力/出力機構を有するGUIを含む。デバイス10の表示、ボタン及びI/O機構を模倣することに加えて、エミュレータ420、424は一般に、デバイス10に用いられるカラー、フォントの型、インタフェース及びテクスチャを含むデバイス10の外観及び雰囲気を模倣する。また図4に示すように、エミュレータ420はアプリケーション(X)421、アプリケーション(Y)422、及びアプリケーション(Z)423などを実行することができ、ここで、アプリケーション(X)421、アプリケーション(Y)422、及びアプリケーション(Z)423はエミュレータ420に基づいたアプリケーションである。同様にエミュレータ424は、アプリケーション(X)425、アプリケーション(Y)426、及びアプリケーション(Z)427などを実行することができ、ここで、アプリケーション(X)425、アプリケーション(Y)426、及びアプリケーション(Z)427はエミュレータ424に基づいたアプリケーションである。
さらに、サーバ16上のエミュレータ420、424は、接続166を介してデバイス10に接続してデバイス10の動作及び機能を実時間でエミュレートすることができる。ここで、実時間でエミュレートすることは、サーバ16とデバイス10の表示装置179との両方における同一情報のほぼ即時の存在を意味する。従って、情報がキーボードなどのIOデバイスを介してデバイス10に入力されると、その情報は即時にサーバ16内のエミュレータ420、424に送られて後で処理される。より良い説明のために、上記のコンポーネントの詳細を後で説明することになる。
従って、デバイス10上のボタンを押すことはエミュレータ420、424上の同じボタンを押すことと等価であり、逆の同様である。即ち、デバイス10がタスクを実行し情報を表示するとき、エミュレータ420、424はデバイス10の機能及び表示を反映する。従って、エミュレータ420、424と携帯デバイス10は調和して動作する。このようにして、エミュレータ420、424は、デバイス10のミラーとして動作する。
一実施形態において、サーバ・ベースの表示解像度に依存しないアプリケーション(D)428、サーバ・ベースの表示解像度に依存しないアプリケーション(E)432、又はサーバ・ベースの表示解像度に依存しないアプリケーション(F)436は、一般に、サーバ16上で実行可能であるがデバイス10乃至12の上では実行不可能又は実行することが不適切であり、そして実行結果が表示解像度に依存しないアプリケーションを指す。例えば、上記のサーバ・ベースの表示解像度に依存しないアプリケーション428、432、436は、複雑な計算を必要とし、これに限定されるものではないが画像処理エディタなどの携帯デバイス上では実行することができないアプリケーションとすることができる。
デバイス・アプリケーション・ハンドラ440は、例えば、サービス・ブローカ412からの要求を処理し、要求を目標のアプリケーションに送り、要求に応じて目標のアプリケーションが実行された後にグラフィック・イメージを受取り、そのグラフィック・イメージをサービス・ブローカ412に送り返すハンドラである。デバイス・アプリケーション・ハンドラ440は、表示ハンドラ444及び表示ハンドラ・インスタンス・データベース448を含む。表示ハンドラ444は、インスタンスを生成し維持するプロセスに用いられ、携帯デバイスとアプリケーションの間の通信を担当する。表示ハンドラ・インスタンス・データベース448は、表示ハンドラ444によって用いられる情報を含む。一実施形態において表示ハンドラ・インスタンス・データベース448は、以下のエントリ、(1)接続されたデバイス、(2)接続されたデバイスに関する情報、(3)アプリケーションのインスタンスに関する情報、及び(4)インスタンス、のリストを含むことができる。接続されたデバイスに関する情報は、OS、解像度、及びデバイスIDなどを含むことができる。アプリケーションのインスタンスに関する情報は、アプリケーションID、アプリケーションの型などを含むことができる。
図5は、本発明の一実施形態による、サーバ16と表示装置179を有するデバイス10との間の、デバイスに依存しない通信方法のブロック図を示す。初めにデバイス10はユーザ20からの要求416を生成する(ステップ508)。ステップ512において、サービス・クラウド15は要求416をサービス・クラウド内のサーバ16にリダイレクトする。そこでサーバ16はユーザ20からの要求416を受け取る(ステップ516)。ステップ520において、デバイス・アプリケーション・ハンドラ440は要求416を処理して要求416をエミュレータ(A)420、エミュレータ(B)424、サーバ・ベースの表示解像度に依存しないアプリケーション(D)428、サーバ・ベースの表示解像度に依存しないアプリケーション(E)432、又はサーバ・ベースの表示解像度に依存しないアプリケーション(F)436に送る。次にステップ524において、エミュレータ(A)420、エミュレータ(B)424、サーバ・ベースの表示解像度に依存しないアプリケーション(D)428、サーバ・ベースの表示解像度に依存しないアプリケーション(E)432、又はサーバ・ベースの表示解像度に依存しないアプリケーション(F)436は、要求416に応答するグラフィック・イメージ応答418をデバイス・アプリケーション・ハンドラ440に送る。次にデバイス・アプリケーション・ハンドラ440はグラフィック・イメージ418をデバイス10に送信する(ステップ528)。
図6は、本発明の一実施形態による、デバイス10に関する方法のフロー図を示す。初めに、デバイス10をサービス・クラウド15に接続する(ステップ608)。ステップ612において、デバイス情報(例えば、これらに限定されるものではないが、表1に示すような表示解像度、ハードウェア仕様、オペレーティング・システム、及び認証トークンなど)をサービス・クラウド15に送る。次にステップ616において、サービス・クラウド/サービス・ブローカ412は、デバイスが使用可能なアプリケーションのリストをデバイス10に送る。
Figure 0005651072
図7は、本発明の一実施形態による、サービス・クラウド15/サーバ16に関する方法のフロー図を示す。初めにステップ708において、デバイス10からのアプリケーションの要求416を受け取る。次にステップ712において、要求416に関連するアプリケーションのインスタンス(488乃至498の中から)が表示ハンドラ444内に存在するかどうかをチェックする。イエスの場合、方法はステップ716に進む。ノーの場合、方法はステップ752に進む。ステップ716において、アプリケーションがサーバ・ベースの表示解像度に依存しないアプリケーション428、432、436であるかどうかをチェックする。イエスの場合、方法はステップ720に進む。ノーの場合、方法はステップ732に進む。ステップ720において、アプリケーションに対する適切なレイアウトを見出す。ステップ724において、デバイス10の表示装置179の解像度がアプリケーションの解像度に適合するかどうかをチェックする。イエスの場合、方法はステップ732に進む。ノーの場合、方法はステップ728に進む。ステップ728において、アプリケーションのGUIを、表示装置179の表示解像度に適合するように変換する。次にステップ732において、要求416を実際のローカルGUI動作に変換する。ステップ736において、GUI動作を目標のアプリケーションに送る。ステップ740において、目標のアプリケーションについて命令を実行してグラフィック・イメージ応答418を生成する。ステップ744において、表示ハンドラ444からインスタンスを取得する。ステップ748において、グラフィック・イメージ応答418を目標のデバイスに送る。次いで、目標デバイスのユーザは、受け取ったグラフィック・イメージ応答418の上で、通常の入力技術(キーボード入力、タッチスクリーン入力など)によるユーザ対話を行うことができる。後のユーザ対話のためには、上記のステップを繰り返してユーザ対話を再度実現することができる。
さらにステップ712において、表示ハンドラ444が要求416に関連するインスタンス(488乃至498の中から)を含まない場合(これは、換言すれば、サービス・クラウド15内の特定のアプリケーション又はサービスが、接続されたデバイスにより初めて実行されることを意味する)、方法はステップ752に進む。ステップ752において、そのアプリケーションがサーバ・ベースの表示解像度に依存しないアプリケーション428、432、436であるかどうかをチェックする。イエスの場合、方法はステップ756に進む。ノーの場合、方法はステップ760に進む。ステップ760において、アプリケーションの型に基づいてエミュレータ420、424を起動する。ステップ764において、起動アプリケーション命令を目標のアプリケーションに送る。ステップ768において、起動したアプリケーションのインスタンスを表示ハンドラ・インスタンス・データベース448内に登録する。方法は次に、上記のようにステップ740、ステップ744、及びステップ748に進む。
他方、ステップ756において、目標のサーバ・ベースの表示解像度に依存しないアプリケーションを起動する。次にステップ768において、起動したアプリケーションのインスタンスを表示ハンドラ・インスタンス・データベース448内に登録する。方法は次に、上記のようにステップ740、ステップ744、及びステップ748に進む。
図8は、本発明の一実施形態による、デバイスに依存せず且つ解像度に依存しないアプリケーション808の例示的な図を示す。アプリケーション808は、デバイス・マッピング/選択ソース・コード(S1)812、デバイス1のGUIソース・コード(U1)816乃至デバイスnのGUIソース・コード(Un)836、及びビジネス論理ソース・コード(S2)840を含む。開発者/ユーザが特定のデバイスに対するGUIレイアウト設計を完成した後、次にGUIソース・コードが一般的なプログラミング技術に基づいて生成される。接続されたデバイスに対して、デバイス・マッピング/選択ソース・コード(S1)812を用いて、適切なGUIレイアウト・ソース・コード論理が選択/マッピングされる。さらに、目標のビジネス論理のためのビジネス論理ソース・コード(S2)840が、一般的なプログラミング技術に基づいて生成される。より良い説明のために、上記のアプリケーション808の詳細を後で説明することになる。
図9は、本発明の一実施形態による、デバイスに依存せず且つ解像度に依存しないアプリケーションを作成する方法を示すブロック図である。本方法はステップ904で開始する。ステップ908においてデバイスnのためのGUIを得る。ステップ912において、デバイスnのためのGUIソース・コードを生成する(U1...Un)。ステップ916において、デバイスnのためのデバイス・マッピング/選択ソース・コード(S1)を生成する。これは、図9に示すように、デバイス1乃至デバイスnと表示装置179の解像度との間の関係を示すマッピング表918を含む。次にステップ920において、次のデバイスのためのGUIを生成するかどうかをチェックする。イエスの場合、方法はステップ908に進み、上記のステップを繰り返す。ノーの場合、方法はステップ924に進む。
ステップ924はステップ908と並列に処理することができる。ステップ924において、ビジネス論理ソース・コード(S2)を作成する。ステップ928において、サーバ・ベースの表示解像度に依存しないアプリケーションを生成する。方法はステップ932で終了する。換言すれば、デバイスnのために、開発者/ユーザがGUIレイアウト、そして次にGUIソース・コード(Un)836を生成する。開発者/ユーザは、マッピング表918(マッピング表918はデータベース917内にストアされる)を用いてデバイス・マッピング/選択ソース・コード(S1)812を生成する。次にステップ920において、別のデバイスのためのGUIを生成するかどうかを判断する。イエスの場合、上記のステップを繰り返す。他方、ステップ924において、ビジネス論理ソース・コード(S2)840が同様に一般的なプログラミング技術に基づいて生成される。次にステップ928において、上記のソース・コードに基づいて、サーバ・ベースの表示解像度に依存しないアプリケーション428、432、436が完成される。
図10は、本発明の一実施形態による、デバイスが使用できるアプリケーションのリストをデバイス10に送信することの例示的な図である。図10に示すように、サービス・クラウド15は、サービス・ブローカ412へのサービス登録を処理する。サービス・ブローカ412はデバイスが使用できるアプリケーションのリストをデバイス10に送信し、そしてデバイス10は、デバイスの解像度情報をサービス・ブローカ412に送信する。サービス・ブローカ412はマッピング情報リストをマッピング情報データベース1012にストアする。図10はまた、例示的なマッピング情報1008を示し、デバイスが使用できるアプリケーションのリストは、マッピング情報リスト1008に基づいて生成される。
上記のステップ及びコンポーネントに基づいて、図1に示すように、デバイス10が使用できる1つ又は複数のアプリケーションを有するリスト151がデバイス10のGUI181の上に表示され、このリスト151は、例えば、使用できるアプリケーション191乃至199のアイコンを示す。そこでユーザは、リスト151から、通常の入力/出力技術、例えば、キーボード入力又はタッチスクリーン入力などにより、アプリケーション191乃至199の中から1つのアプリケーションを選択することができる。
例示的な実施形態において、上記の通信接続のための通信プロトコルを定めることができる。1つの例示的なプロトコルには、送信元IP、宛先IP、スクリーン・サイズ、解像度、OSのタイプ、及びコンテンツなどを含めることができる。クライアントからサーバへの通信に関して、プロトコルはイベント(位置/動作)を含むことができ、ここで動作は種々の入力/出力デバイス、例えばキーボード、タッチスクリーン、及びマウスなどに関連し、動作には、キー入力すること、スクリーンにタッチすること、及びマウス・カーソルを動かすことなどを含めることができる。サーバからクライアントへの通信に関して、プロトコルには、グラフィック・イメージ(例えばビットマップ・イメージ)のフレーム、及び利用可能なアプリケーションのリストなどを含めることができる。
上記のプロトコルに基づいて、デバイス10とサーバ16の間の通信の例を以下に示す。例えば、デバイス10がサーバ16に接続するための要求を送信するとき、デバイス10は指定のデバイス情報をサーバ16に供給する必要があり、以下の情報が通信プロトコル内に埋込まれる。
Figure 0005651072
サーバ16がデバイス10からデバイス接続要求を受信した後、サーバ16はそれを受取り、デバイスが使用できるアプリケーションのリストをデバイス10に送信する。例示的なプロトコルは以下のようにすることができる。
Figure 0005651072
デバイス10は、デバイスが使用できるアプリケーションのリストを受け取ったのち、デバイス10はリストを復号し、デバイス10の表示装置179の上にリストを表示する。ユーザ20は、リスト上の何れかの所望のアプリケーションを選択することができる。ユーザ20が選択したアプリケーションをクリックした後、デバイス10はサーバ16に要求を返信する。上記の方法及びコンポーネントに基づいて、サーバ16は適切なエミュレータ420、424又は適切なサーバ・ベースの表示解像度に依存しないアプリケーション428、432、436を見出してそれを実行させることができる。次に、実行結果のグラフィック・イメージがデバイス10に送り返される。受信されたグラフィック・イメージはデバイス10の表示装置179上に表示され、ユーザ20は、実行結果を、あたかもアプリケーションがデバイス10によって実行されたかのよう、見ることができる。
上記のことを考慮して、定められたプロトコルに基づくデバイス10とサーバ16の間の他の通信を同様に示す。例えば、サーバ16がデバイス10から接続要求を受信した後、適切なアプリケーションが開始され、定められたプロトコルは以下のようにすることができる。
Figure 0005651072
サーバ16がグラフィック・イメージを送信するとき、定められたプロトコルは以下のようにすることができる。
Figure 0005651072
デバイス10が要求を送信するとき、定められたプロトコルは以下のようにすることができる。
Figure 0005651072
例示的な一実施形態において、携帯電話ノキアN97(シンビアン・ベース)のユーザは計算器アプリケーションを使用しようとするが、その計算器アプリケーションはウィンドウズ・モバイル6の上でのみ実行させることができる。本発明により、ノキアN97はサービス・ブローカ412に接続するのに用いられ、サービス・ブローカ412は、デバイスが使用できるアプリケーションのリストをデバイス10に送り返す。ユーザ20がウィンドウ・モバイル6に基づく計算器アプリケーションを選択した後、サーバ16のエミュレータ420は実行結果としてのグラフィック・イメージ(例えば、ビットマップ・イメージ)を送り返す。ユーザにより、グラフィック・イメージとのユーザ対話が通常のユーザ対話技術に基づいてなされ、対応する命令がサーバ16に送信される。上記のステップは、ユーザ20がアプリケーションの使用を終了するまで繰り返される。ノキアはノキア社の登録商標である。ウィンドウズ・モバイルは米国及び/又は他の国におけるマイクロソフト社の登録商標である。シンビアンはシンビアン・ファウンデーション社の登録商標である。
別の例示的な実施形態において、携帯電話N97のユーザは、サービス・クラウド15に接続要求を送信する。サービス・クラウド15内のアプリケーションは、それぞれ、ウィンドウズ・モバイル6ベース、アンドロイド・ベース、又はiOSベースのものとすることができる。アンドロイドはグーグル社の登録商標である。デバイス10が接続要求をサーバ16に送信するとき、通信プロトコルは以下のようにすることができる。
SourceIP(Device’s IP)= 140.112.56.32
DestinationIP (Mobile Service Broker IP)=140.110.32.21
Screensize = 3.5 inch
Resolution= 640X360
OStype = Nokia Symbian
Event = Connect
サーバ16がデバイス10の接続要求を受信した後、サーバ16は、デバイスが使用できるアプリケーションのリストをデバイス10に送信することになる。通信プロトコルは以下のようにすることができる。
Destination IP(Mobile Service Broker IP)=140.110.32.21
Source IP(Device’sIP)= 140.112.56.32
Screen size = 3.5 inch
Resolution = 640X360
OS type = Nokia Symbian
application list for device n(NokiaN97)with 640X360 resolution = Calculator on Windows Mobile 6,Calendaron Android,Map on iPhone
サーバ16がデバイス10の接続要求を受信した後、選択されたアプリケーションが開始される。通信プロトコルは以下のようにすることができる。
Source IP(Device’sIP)= 140.112.56.32
Destination IP(Mobile Service Broker IP)=140.110.32.21
Screen size = 3.5 inch
Resolution = 640X360
OStype = Nokia Symbian
event = Calculator on Windows Mobile 6
サーバ16がグラフィック・イメージを送信するとき、通信プロトコルは以下のようにすることができる。
Destination IP(Mobile Service Broker IP)=140.110.32.21
Source IP(Device’sIP)= 140.112.56.32
Screen size = 3.5 inch
Resolution = 640X360
OS type = Nokia Symbian
bitmap image = 0010011000……(calculatorbitmap)
デバイス10が再び要求を送信するとき、通信プロトコルは以下のようにすることができる。
Source IP(Device’sIP)= 140.112.56.32
Destination IP(Mobile Service Broker IP)=140.110.32.21
Screen size = 3.5 inch
Resolution = 640X360
OStype = Nokia Symbian
event =Click digit “2”
上記の2つの実施形態において、ユーザが用いるデバイスは携帯電話である。しかし、他のデバイス、例えば、これらに限定されるものではないが、プッシュ・トーク携帯電話、ポケットベル、テキストメッセージ・デバイス、電子メールメッセージ・デバイス、デスクトップ、ラップトップ、タブレット・コンピュータ、ハンドヘルド・コンピュータ、又はサーバなどを用いることもできる。
本発明の例証的な実施形態により、種々のデバイスのために、要求に応じて、アプリケーションをOS/プラットフォームに関わりなく実行させることができる。換言すれば、プラットフォームに依存しないアプリケーションの目的は容易に達成することができる。従って、従来の通信技術の制限、例えば、CPU及びメモリの制限、又は以前に説明した複雑なアプリケーションから生じる問題などは、効果的に解決することができる。さらに、前述の実施形態におけるエミュレータ又はサーバ・ベースの表示解像度に依存しないアプリケーションは、種々のデバイス/オペレーティング・システム/ハードウェア仕様の上でのアプリケーションの実行に対して満足できる解決を与えることができる。サービス・クラウド15から送信されるグラフィック・イメージは、要求を送信中のデバイス10に実時間で適合させることができる。
本発明の特定の実施形態が図示され、説明されたが、本明細書の教示に基づいて、本発明とその広範囲の態様から逸脱することなく変更及び修正を加えることができることは、当業者には明らかであろう。従って、添付の特許請求の範囲は、このようなすべての変更及び修正を、本発明の真の趣旨及び範囲の内にあるものとして含むものである。さらに、本発明は、添付の特許請求の範囲によってのみ規定されることを理解されたい。導入された特許請求の要素の特定の数が意図されている場合には、このような意図は、特許請求の範囲において明示的に詳述され、そしてこのような詳述がない場合にはそうした制限がないことが、当業者により理解されるであろう。非限定的な例に関しては、理解の補助として、添付の特許請求の範囲は、特許請求項の要素を導入するために「少なくとも1つの(at least one)」及び「1つ又は複数の(one or more)」といった導入句の使用を含む。しかし、このような句の使用は、同じ特許請求項が、導入句「1つ又は複数の」又は「少なくとも1つの」などを含むときであっても、これらによる特許請求の要素の導入が、このような導入された特許請求の要素を含む特定の特許請求項を、このような要素を1つだけ含む発明に限定することを意味するものと解釈すべきではない。同様のことは、特許請求項における定冠詞の使用についても当てはまる。
10−12:デバイス
14:有線/無線ネットワーク
15:サービス・クラウド
16:情報処理システム(サーバ)
20、22:ユーザ(デバイス)
100:システム
111:プロセッサ
112:主メモリ
113:PCIブリッジ
114:PCIローカルバス
115:ローカル・エリア・ネットワーク(LAN)アダプタ
116:小型コンピュータ・システム用インタフェース(SCSI)ホストバス・アダプタ
117:拡張バス・インタフェース
118:音声アダプタ
119:グラフィック・アダプタ
120:音声/映像アダプタ
121:キーボード及びマウス・アダプタ
122:モデム
123:付加メモリ
124:ハードディスク・ドライブ
125:テープ・ドライブ
130:CD−ROMドライブ
151:リスト
179〜189:表示装置
181:GUI
191〜199:使用できるアプリケーション
300:携帯デバイス(携帯電話)
312:プロセッサ
316:タイマー・モジュール
318:メモリ
320:記憶モジュール
326:レシーバ
328:アンテナ
330:送信/受信スイッチ
332:トランスミッタ
334:音声入力/出力モジュール
336:ユーザ・インタフェース
338:表示モジュール
350:グローバル・ポジショニング・システム(GPS)モジュール
412:サービス・ブローカ
416:要求
418:グラフィック・イメージ応答
420、424:エミュレータ
421、422、423、425、426、427:アプリケーション
428、432、436:サーバ・ベースの表示解像度に依存しないアプリケーション
440:デバイス・アプリケーション・ハンドラ
444:表示ハンドラ
448:表示ハンドラ・インスタンス・データベース
488〜498:インスタンス
808:デバイスに依存せず且つ解像度に依存しないアプリケーション
812:デバイス・マッピング/選択ソース・コード(S1)
816:デバイス1のGUIソース・コード(U1)
836:デバイスnのGUIソース・コード(Un)
840:ビジネス論理ソース・コード(S2)
1008:マッピング情報
1012:マッピング情報データベース

Claims (9)

  1. サーバとデバイスの間の通信の方法であって、
    複数の既存のサービス又はアプリケーションを、サービス・クラウド内のサーバであって、
    複数のデバイスに対応し、それぞれ前記複数のデバイスの機能及び表示をエミュレートする複数のデバイス・エミュレータと、
    第1のデバイスから要求を受信し、前記要求を、前記第1のデバイスに対応するデバイス・エミュレータに送るデバイス・アプリケーション・ハンドラと
    を備えたサーバにより提供することと、
    前記第1のデバイスに対応する前記デバイス・エミュレータにより、前記アプリケーションの実行を表すグラフィック・イメージを生成することと、
    前記デバイス・アプリケーション・ハンドラにより、前記グラフィック・イメージを前記第1のデバイスに送信することと、
    前記サービス・クラウドと前記第1のデバイスとの間に配置されたサービス・ブローカにより前記第1のデバイスから取得されたデバイス情報に基づいて、前記第1のデバイスが使用できる1つ又は複数のアプリケーションを有するリストを前記サービス・ブローカにより前記第1のデバイスに送信することと、
    を含む方法。
  2. 前記サーバが、選択されたアプリケーションに対応するデバイス・エミュレータを選択することと、
    前記サーバが、前記対応するエミュレータを実行して前記グラフィック・イメージを生成することと、
    をさらに含む、請求項1に記載の方法。
  3. 表示装置が前記デバイスに配置され、前記表示装置は表示装置解像度を有し、サーバ・ベースの表示解像度に依存しないアプリケーションが前記サーバ上に配置される、請求項1に記載の方法。
  4. 前記サーバが、前記表示装置に対応するグラフィック・イメージ・レイアウトを前記表示装置の解像度に基づいて選択することと、前記サーバ・ベースの表示解像度に依存しないアプリケーションを実行して前記グラフィック・イメージを生成することと、をさらに含む、請求項3に記載の方法。
  5. 第1のデバイスの、アプリケーションに対応する要求に応答する情報処理システムであって、
    複数の既存のサービス又はアプリケーションを提供する、サービス・クラウド内のサーバを含み、前記サーバが、
    複数のデバイスに対応し、それぞれ前記複数のデバイスの機能及び表示をエミュレートする複数のデバイス・エミュレータと、
    前記第1のデバイスの前記要求を受信し、前記要求を、前記第1のデバイスに対応するデバイス・エミュレータに送る、デバイス・アプリケーション・ハンドラと、
    を備え、
    前記第1のデバイスに対応する前記デバイス・エミュレータは、前記アプリケーションの実行を表示するグラフィック・イメージを生成し、前記デバイス・アプリケーション・ハンドラは前記グラフィック・イメージを前記第1のデバイスに送信し、
    前記サービス・クラウドと前記第1のデバイスとの間に配置されたサービス・ブローカであって、前記サービス・ブローカが前記第1のデバイスから取得したデバイス情報に基づいて、前記第1のデバイスが使用できる1つ又は複数のアプリケーションを有するリストを前記第1のデバイスに送信するサービス・ブローカを含む、
    情報処理システム。
  6. 非一時的なコンピュータ可読ストレージ媒体に格納され、サーバとデバイスの間の通信のためのプログラム命令を含む実行可能なコンピュータ・プログラムであって、
    複数のデバイスに対応し、それぞれ前記複数のデバイスの機能及び表示をエミュレートする複数のデバイス・エミュレータと、第1のデバイスから要求を受信し、前記要求を、前記第1のデバイスに対応するデバイス・エミュレータに送るデバイス・アプリケーション・ハンドラとを備えた、サービス・クラウド内のサーバにより、複数の既存のサービス又はアプリケーションを提供する手順と
    前記第1のデバイスに対応する前記デバイス・エミュレータにより、前記アプリケーションの実行を表すグラフィック・イメージを生成する手順と
    前記デバイス・アプリケーション・ハンドラにより、前記グラフィック・イメージを前記第1のデバイスに送信する手順と
    前記サービス・クラウドと前記第1のデバイスとの間に配置されたサービス・ブローカにより前記第1のデバイスから取得されたデバイス情報に基づいて、前記第1のデバイスが使用できる1つ又は複数のアプリケーションを有するリストを前記サービス・ブローカにより前記第1のデバイスに送信する手順と
    をコンピュータに実行させるためのコンピュータ・プログラム
  7. 前記コンピュータに、選択されたアプリケーションに対応するデバイス・エミュレータを選択する手順と、前記対応するエミュレータを実行して前記グラフィック・イメージを生成する手順とを実行させるための、請求項に記載のコンピュータ・プログラム
  8. 表示装置が前記デバイスに配置され、前記表示装置は表示装置解像度を有し、サーバ・ベースの表示解像度に依存しないアプリケーションが前記サーバ上に配置される、請求項に記載のコンピュータ・プログラム
  9. 前記コンピュータに、前記表示装置に対応するグラフィック・イメージ・レイアウトを前記表示装置の解像度に基づいて選択する手順と、前記サーバ・ベースの表示解像度に依存しないアプリケーションを実行して前記グラフィック・イメージを生成する手順とを実行させるための、請求項に記載のコンピュータ・プログラム
JP2011126578A 2010-06-30 2011-06-06 プラットフォームに依存しない情報処理システム、通信方法、及びそのコンピュータ・プログラム Expired - Fee Related JP5651072B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW099121468A TWI453603B (zh) 2010-06-30 2010-06-30 平台無關之資訊處理系統,其通訊方法,及其電腦程式產品
TW099121468 2010-06-30

Publications (3)

Publication Number Publication Date
JP2012014688A JP2012014688A (ja) 2012-01-19
JP2012014688A5 JP2012014688A5 (ja) 2014-08-14
JP5651072B2 true JP5651072B2 (ja) 2015-01-07

Family

ID=45400542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011126578A Expired - Fee Related JP5651072B2 (ja) 2010-06-30 2011-06-06 プラットフォームに依存しない情報処理システム、通信方法、及びそのコンピュータ・プログラム

Country Status (3)

Country Link
US (1) US8639749B2 (ja)
JP (1) JP5651072B2 (ja)
TW (1) TWI453603B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710961B2 (en) * 2009-09-17 2017-07-18 Nokia Technologies Oy Method and apparatus for providing contextual rendering of a map
US8538678B2 (en) * 2009-09-30 2013-09-17 Nokia Corporation Method and apparatus for thematically modifying location and related information
US9727227B2 (en) * 2011-07-28 2017-08-08 Microsoft Technology Licensing, Llc Multi-touch remoting
KR20130044571A (ko) * 2011-10-24 2013-05-03 삼성전자주식회사 클라우드 서비스 제공 방법 및 장치
JP6095091B2 (ja) * 2012-03-24 2017-03-15 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
WO2013155623A1 (en) * 2012-04-17 2013-10-24 Iwatchlife Inc. System and method for processing image or audio data
TWI459209B (zh) * 2012-07-13 2014-11-01 Chao Lieh Chen 動態叢聚使用者端裝置形成雲端伺服器方法及其系統
US20150154840A1 (en) * 2012-07-20 2015-06-04 Iwatchlife Inc. System and method for managing video analytics results
CN105556471B (zh) * 2013-08-01 2021-04-20 英特尔公司 自适应远程计算
CN104516703B (zh) * 2013-09-30 2018-02-16 中国电信股份有限公司 在安卓终端上实现虚拟桌面屏幕分辨率自动适配的方法和系统
US10897374B2 (en) * 2017-11-06 2021-01-19 Computime Ltd. Scalable smart environment for controlling a plurality of controlled apparatuses using a connection hub to route a processed subset of control data received from a cloud computing resource to terminal units
CN110574105B (zh) 2018-03-07 2024-01-23 谷歌有限责任公司 用于基于语音发起定制装置动作的系统和方法
US11087752B2 (en) * 2018-03-07 2021-08-10 Google Llc Systems and methods for voice-based initiation of custom device actions
CN109756855B (zh) * 2018-11-20 2021-06-18 海能达通信股份有限公司 一种通信终端及其开机启动方法、存储装置
CN114281451A (zh) * 2021-12-10 2022-04-05 西安万像电子科技有限公司 应用界面自适应不同分辨率屏幕的方法、装置及电子设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980076633A (ko) * 1997-04-11 1998-11-16 윤종용 이동 정보 단말기에서의 정보 검색장치 및 방법
JP3507681B2 (ja) * 1998-01-08 2004-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理方法及び情報処理装置、情報処理システム、情報処理装置を制御するプログラムを格納した記憶媒体
US6981045B1 (en) 1999-10-01 2005-12-27 Vidiator Enterprises Inc. System for redirecting requests for data to servers having sufficient processing power to transcast streams of data in a desired format
US8463912B2 (en) 2000-05-23 2013-06-11 Media Farm, Inc. Remote displays in mobile communication networks
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
GB2366689A (en) 2000-08-11 2002-03-13 Nokia Mobile Phones Ltd Server image display on a mobile
US20020129096A1 (en) 2001-02-14 2002-09-12 Mansour Peter M. Platform-independent distributed user interface client architecture
US7155381B2 (en) * 2001-03-12 2006-12-26 Sun Microsystems, Inc. Module for developing wireless device applications using an integrated emulator
US20030005019A1 (en) 2001-06-27 2003-01-02 Kuldipsingh Pabla Application frameworks for mobile devices
US7636792B1 (en) 2001-07-13 2009-12-22 Oracle International Corporation Methods and systems for dynamic and automatic content creation for mobile devices
US8181118B2 (en) * 2001-11-28 2012-05-15 Intel Corporation Personal information device on a mobile computing platform
GB0303888D0 (en) * 2003-02-19 2003-03-26 Sec Dep Acting Through Ordnanc Image streaming
US7685257B2 (en) 2003-11-10 2010-03-23 Sun Microsystems, Inc. Portable thin client for the enterprise workspace
US7451409B2 (en) * 2004-08-05 2008-11-11 Ixi Mobile (R & D), Ltd. Embedded user interface system and method for a mobile communication device
US20070061488A1 (en) 2004-09-20 2007-03-15 Trilibis Inc. System and method for flexible user interfaces
US7324838B2 (en) * 2004-11-30 2008-01-29 Tira Wireless Inc. Systems and methods for modifying the graphics output of an application
US7730157B2 (en) 2005-02-03 2010-06-01 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for displaying information on a thin-client in communication with a network
CN100454849C (zh) * 2005-08-05 2009-01-21 华为技术有限公司 下一代网络中的故障检测方法
WO2007075846A2 (en) * 2005-12-19 2007-07-05 Propero Ltd. Method and system for providing virtualized application workspaces
US8433757B2 (en) 2007-06-22 2013-04-30 Rao Cherukuri Centralized management of applications and desktop preferences without requiring configuration of clientside operating systems
US9270781B2 (en) * 2007-02-15 2016-02-23 Citrix Systems, Inc. Associating virtual machines on a server computer with particular users on an exclusive basis
US9438662B2 (en) * 2007-04-30 2016-09-06 Microsoft Technology Licensing, Llc Enabling secure remote assistance using a terminal services gateway
JP5251188B2 (ja) * 2008-03-18 2013-07-31 富士通株式会社 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP2010061432A (ja) * 2008-09-04 2010-03-18 Casio Comput Co Ltd サーバベース・コンピューティング・システムのクライアント装置、サーバ装置、サーバベース・コンピューティング・システム、およびクライアント制御プログラム、サーバ制御プログラム

Also Published As

Publication number Publication date
TW201201025A (en) 2012-01-01
JP2012014688A (ja) 2012-01-19
TWI453603B (zh) 2014-09-21
US20120005267A1 (en) 2012-01-05
US8639749B2 (en) 2014-01-28

Similar Documents

Publication Publication Date Title
JP5651072B2 (ja) プラットフォームに依存しない情報処理システム、通信方法、及びそのコンピュータ・プログラム
JP7443406B2 (ja) オブジェクト表示方法、端末デバイス、及びコンピュータ記憶媒体
CN106354451B (zh) 用于操作电子设备的方法和电子设备
JP2024009980A (ja) タッチイベントモデルプログラミングインターフェイス
US10194288B2 (en) Sticker distribution system for messaging apps
US11451619B2 (en) App remote control method and related devices
US11681432B2 (en) Method and terminal for displaying input method virtual keyboard
US8954887B1 (en) Long press interface interactions
CN101960485B (zh) 多情境图形处理
CN110168487B (zh) 一种触摸控制方法及装置
US9400801B1 (en) System and method for local file management and editing utilizing remote applications
US9823819B1 (en) Method for launching remote applications from a mobile device using cloud cache
CN108037990B (zh) 任务信息处理方法、装置以及服务器
JP2014519632A (ja) アプリケーションのカスタマイズされた起動
WO2021012952A1 (zh) 消息处理方法、装置及电子设备
KR20170060782A (ko) 전자 장치 및 전자 장치의 통화 서비스 제공 방법
CN111357255B (zh) 构建多个应用通用的可信应用
KR20190119171A (ko) 사용자 모바일 디바이스를 이용한 액세서리 디바이스 동작
WO2016192518A1 (zh) 一种终端之间的交互方法及装置
EP2845092A1 (en) User interface web services
JP5997848B2 (ja) 移動端末リソースの処理方法、装置、クライアント側のコンピュータ、サーバ、移動端末、プログラム、及び記録媒体
CN108780400B (zh) 数据处理方法及电子设备
CN111615171B (zh) 无线局域网的接入方法和装置
KR102043127B1 (ko) 메신저 애플리케이션을 이용하여 데이터를 전송하는 전자 장치 및 방법
JP4796131B2 (ja) 筆記による及び/又は可聴音によるユーザ指示に応える、電子デバイス内のデータ管理のための、方法、電子デバイス、及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140630

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140630

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141010

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141114

R150 Certificate of patent or registration of utility model

Ref document number: 5651072

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees