JP2008523464A - 特定形式の無線コンピュータ装置用にカスタム化されたソフトウェアアプリケーションを自動的に構築する方法 - Google Patents

特定形式の無線コンピュータ装置用にカスタム化されたソフトウェアアプリケーションを自動的に構築する方法 Download PDF

Info

Publication number
JP2008523464A
JP2008523464A JP2007543931A JP2007543931A JP2008523464A JP 2008523464 A JP2008523464 A JP 2008523464A JP 2007543931 A JP2007543931 A JP 2007543931A JP 2007543931 A JP2007543931 A JP 2007543931A JP 2008523464 A JP2008523464 A JP 2008523464A
Authority
JP
Japan
Prior art keywords
application
software
wireless
metadata
computing 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.)
Pending
Application number
JP2007543931A
Other languages
English (en)
Other versions
JP2008523464A5 (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.)
Omnifone Ltd
Original Assignee
Omnifone Ltd
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 Omnifone Ltd filed Critical Omnifone Ltd
Publication of JP2008523464A publication Critical patent/JP2008523464A/ja
Publication of JP2008523464A5 publication Critical patent/JP2008523464A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/173Customisation support for file systems, e.g. localisation, multi-language support, personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)

Abstract

カスタム化ソフトウェアアプリケーションを、次の(a)、(b)、(c)により、特定形式の無線コンピュータ装置用に構築することができる。(a)その形式の無線コンピュータ装置の属性を自動的に決定する。(b)ソフトウェア構成部品ライブラリからのその形式の無線コンピュータ装置と適合可能なソフトウェア構成部品を(a)で決定された属性の値に基づいて自動的に決定する。(c)その適合可能なソフトウェア構成部品をそのアプリケーションの特注の、その形式の無線コンピュータ装置と適合可能なビルドを生成するために自動的に統合する。属性はメタデータであることが可能である。この手法により、機能豊富なネットワークアプリケーションを広い様々な形式の無線コンピュータ装置に対して自動的に構築することができる。

Description

本発明は、特定形式の無線コンピュータ装置用のカスタム化ソフトウェアアプリケーションを自動的に構築する方法に関する。本発明は、ネットワーク志向の機能豊富なアプリケーションを多数の無線コンピュータ装置に迅速かつ効率的に提供する。
(定義)
本明細書で使用される定義は以下のとおりである。
移動電話機:物理的な電線またはその他の物理的な結線またはケーブル構造を通してではなく、無線技術により空中を通して電話網に接続されるタイプの電話機。
携帯電話機、ハンドセット(Mobile phone、Phone、Mobile、Mobile Handset、Handset):移動電話機の一タイプ。
移動通信網:移動電話機が、電話機による通話または通信網上のデータまたはサービスへのアクセス等の機能を運用し提供できるよう、移動電話機への無線接続を提供する通信網。
移動通信網事業者(Mobile Network Operator、MNO):移動通信網およびその通信網上で移動電話機を使用する加入者またはユーザを運用する会社または機関。
グローバル移動通信網または携帯電話通信網:世界の移動通信網事業者によって運用される全ての移動通信網の総和。
無線通信網:クライアントコンピュータ装置に無線接続を提供する通信網。無線通信網は、Wi−Fi、WiMAXおよびグローバル移動通信網を含む。
サーバ:1つ以上のクライアントコンピュータ装置から接続され、サービス要求に応じてそれらへの情報提供、データベース検索およびトランザクション処理等のネットワーク化されたアプリケーションサービス、フィーチャおよび機能を提供するために存在するネットワーク化されたコンピュータ装置。各サーバには一般に多数のクライアントが存在し、通常各クライアントはサーバより小型でコンピュータ能力が小さい。
サービス:通常、サーバが、通信網に接続された1つ以上のクライアントコンピュータ装置に提供するネットワーク化されたコンピュータサービス、フィーチャおよび機能。サービスは、情報提供、データベース検索およびトランザクション処理を含む。そのようなサービスは、通信網中に集中配備するのがアーキテクチャ上実際的であり、クライアントのコンピュータに配備するのはクライアントの規模や能力から通常非実際的である。
クライアント:通信網志向アプリケーションのフィーチャおよび機能をアプリケーションユーザ即ちコンシューマに配信する通信網に接続されるコンピュータ装置。通常、クライアントはサーバに接続し、サーバに要求する。
通信網アプリケーション:通信網志向型のアプリケーションまたはサービス。エンドユーザ即ちコンシューマへのアプリケーションインタフェース機能を持つクライアント上で実行するソフトウェアの組み合わせによって提供され、クライアントが通信網を介してアクセスするサーバ上のソフトウェアが提供するサービスにより支援され補完される。
無線コンピュータ装置:無線通信網を介して通信網へ接続するタイプのクライアント。そのような装置に、携帯電話機、携帯情報端末(PDA)、ゲーム操作盤(例えば、ソニーPSP)またはその他の無線で通信網に接続されるクライアントコンピュータ装置がある。無線コンピュータ装置のタイプは、その製造業者、型、バージョン、オペレーティングシステム、ファームウェアのバージョンによりさらに規定される。
無線装置または無線クライアント:無線コンピュータ装置の一タイプ。
ソフトウェアアプリケーション:無線コンピュータ装置に無線で配信される、またはそこにプリインストールされた、クライアント・ソフトウェア・アプリケーション。
ソフトウェア構成部品:無線コンピュータ装置用にカスタム化され、装置適応型アーキテクチャ(Device Adaptive Architecture、DAA)ソフトウェアライブラリの部分をなすソフトウェアアプリケーションの構成部品を形成するソフトウェアの個々の単位。
携帯コンテンツ:電子的生産物を表現するデジタルファイルおよびデータ。携帯電話機により使用され、そこで消費され、再生され、眺められ、描写される。例として、着信音/着信曲、壁紙/写真、スクリーンセーバ/アニメーション、リアルトーン/トゥルートーン、全曲ダウンロード、ビデオ、SMS & MMS警報、携帯ゲーム、およびその他多くの現行および今後出現する携帯電話機消費型の娯楽および情報生産物がある。
メタデータ:データまたはデータ集合の個々の項目であり、階層的に関係付けられることもある。無線コンピュータ装置、無線通信網、ソフトウェア構成部品、通信網アプリケーションまたは携帯コンテンツの属性または動作を記述する。
執筆の時点では、世界には携帯電話機がパソコン(PC)より多く存在している。携帯電話機の性質は、一般的に言って、スイッチがオン状態にあってその所有者の使っている時間がPCより長いことである。これらのハンドセットは、世界の広大な携帯通信網にそしてそれを通してインターネットに接続されているならば、ユーザに並々ならぬ数の通信網アプリケーションを配信する何とも抵抗し難いプラットホームを提供する、豊富な機能と高能力なハードウェアを備え、強化の一途にあるコンピュータである。
グローバル移動通信網は、種々雑多なオペレーティングシステムとプラットホームを備えた膨大な数の無線コンピュータ装置が接続され、通信網アプリケーションが配信可能な、最初の通信網の例である。PCが支配的なインターネット網は、クライアント用オペレーティングシステムとプラットホームの変異形が遥かに少ないため、グローバル移動通信網とは大きく異なる。インターネット上のクライアントは極めて強力なコンピュータ装置ではあるが、マイクロソフト社やアップル社等からの少数のオペレーティングシステムが支配的であるため、それらは概ね互いに似通っている。このため、マイクロソフト社のウインドウズまたはそれに次ぐ1つまたは2つの最有力クライアントアーキテクチャ上にでもPCインターネット用通信網アプリケーションのクライアント構成部品を構築するならば、同じように動作する通信網アプリケーションが非常に高い割合の既存装置に配備可能となり、したがって技術的に実行可能で商業的に成功しそうな製品を持つことになる。PCインターネットの世界ではさらに、特定のオペレーティングシステムまたはプラットホームを使用する通信網アプリケーションのクライアント部を構築するよう選択すれば、類似のユーザグループを非常に効果的にターゲットにできる。例えば、企業の経理部長用の通信網アプリケーションを構築する場合、マイクロソフト社のウインドウズに適合可能なクライアントソフトウェアを構築すれば、これらの大多数をサポートできることになろう。
グローバル移動通信網ではそうはいかない。PCインターネット上に存在するより遥かに多くの無線クライアント用オペレーティングシステムとプラットホームの変異形が存在する。その結果、また携帯電話機の機能高度化とフィーチャ追加の開発速度が極めて早いこともあって、その振る舞いにアクセスし制御するのに使用されるオペレーティングシステムとプラットホームが変化するよりずっと早く、装置の振る舞いが変化する。これに加え、同じまたは非常に似通った無線装置を使用するユーザグループを、彼らの役割によって識別しターゲットとすることは実現可能ではない。
一般に、通信網アプリケーションが運用できる無線クライアントが多いほど、多くの顧客を対象にできるので、アプリケーションプロバイダにとってそれだけ経済的機会が多くなる。この理由から、そのような通信網アプリケーションのプロバイダにとって、できるだけ多くのクライアントにソフトウェアを配備できることが特別な関心事となる。
通信網アプリケーションとサービスはネットワーク化されたPCの世界では一般化しており、インターネットの大きさ、したがって潜在的ユーザ数により、非常に大きいビジネス機会を提供する。アプリケーションのクライアント部を実行するソフトウェアを構造化する方法は今日僅かしかない。それらは以下のものである。
1.「特注(Custom Build)アプリケーション」
通信網アプリケーションのクライアントとして動作可能なエンドユーザコンピュータ装置(PC等)は一般に、ソフトウェアプログラムが実行可能なプラットホームを提供する。これらプラットホームの代表的なものは、コンピュータのオペレーティングシステム(例えば、マイクロソフトWindows(登録商標)、LINUX、MacOS、UNIX(登録商標)、等)であるか、または、それらオペレーティングシステム上の、ソフトウェアプログラムの実行が可能なプラットホーム層(Java(登録商標)等)である。特注アプリケーションは、これらプラットホームの1つの上で実行可能なソフトウェアで構築される。アプリケーション中のソフトウェアがプラットホームに要求を出し、これを受けてプラットホームがそのアプリケーションへのサービス(例えば、ウインドウの描画または通信網を介する情報の送信、等)を実行する。
これらのプラットホームは、通常、特注アプリケーションに利用可能な非常に豊かなフィーチャの集合を有しており、実際、コンピュータの全てのフィーチャと利便性を提供するのが普通である。そのため特注アプリケーションは非常に豊富なユーザインタフェースや広範な機能を提供でき、クライアントに可能なことは何でも実行できるのが普通である。そのようなアプリケーションの例は(それほど通信網向きではないが)、よく知られるWord,Excel、およびPowerPoint等、マイクロソフトOfficeのツール類である。
マイクロソフトWindows(登録商標)等のPCプラットホームが支配的であるため、特注アプリケーションを開発してそれを世界のPCの多くの上で成功裡に実行することが可能である。しかし、アプリケーションを1つ以上のプラットホーム上で実行する必要があると、そのアプリケーションをそのプラットホームに移植する必要があるか、またはプラットホームが大きく異なるならば、アプリケーションの完全な書き直しが必要になる。アプリケーションの移植や書き直しは非常に大きいコストのかかる技術作業であり、アプリケーションにフィーチャを追加する毎に必要な努力が増大する。
以上を要約すれば、特注アプリケーションは、可能な最も豊かなフィーチャ集合および最良のインタフェースをエンドユーザ経験に供するが、これらのアプリケーションは、1つのプラットホームから別のプラットホームへの移植に伴う技術的困難さのため、比較的少数のプラットホームで利用できるだけである。
この手法の問題は、通信網アプリケーションのクライアント部が新しいクライアントプラットホームに完全に移植されないならば、新しいクライアントプラットホーム上で実行できないことである。この点はPCの世界ではうまくいっている。そこでは、アプリケーションを移植する必要が余り無く、いずれにせよ僅かなクライアントプラットホームしか存在せず、新しいクライアントプラットホームは極く僅かである。しかし、これに比べて、グローバル移動通信網では、その無数の現存のオペレーティングシステムと無線装置の形式、および新たに市場参入するクライアント装置のかって無い速さの絶え間ない流れにより、極めて複雑な問題を呈する。
2.「WWW(World Wide Web)アプリケーション」
WWWは元々は通信網ベースの文書間参照および案内システムとして設計されたものであり、ユーザがリンクを辿って1つの文書から、地球の反対側の別コンピュータ上にあるかもしれない別の文書へと閲覧することを可能にする。この技術は、文書を書くのに使用するハイパーテキストマークアップ言語(Hyper-text mark-up language、HTML)と呼ばれる標準マークアップ言語とHTMLブラウザとにより、簡明なものとなった。HTMLブラウザは、HTML文書を表示したり、HTMLハイパーテキストリンクを使用して文書間を航行可能にする、ユーザクライアント上で実行するソフトウェアアプリケーションである。
HTMLブラウザが、殆どのクライアントコンピュータ用に時をおかずに作成されたので、本技術は非常にポピュラになった。これは、ネットワーク化されたユーザ全てが、同一の拡大し続ける世界的広がりをもった情報と文書からなるライブラリに接続されたということである。またそれは、情報を刊行したい人々がその文書をHTMLで一度マークアップすれば、その文書を世界中のネットワーク化された膨大な数のコンピュータからアクセス可能にできるということである。
時の経過とともに、ユーザはますます多くをこのWWW技術に要求し、多くのフィーチャが追加された。新しいフィーチャには、表示されたページ中に埋め込まれる少量のソフトウェア(アプレットとスクリプト)を付加する能力が含まれた。そのソフトウェアは、クライアント能力をさらによく活用し、より機能的なアプリケーションを構築できるようにした。その他のフィーチャとして、データ収蔵用の形式、およびサーバ上にあるソフトウェアサービスへの通信網経由による収蔵データの提示、が含まれた。
最終結果として、非常に高能力の通信網アプリケーションがWWWサーバ上に配備可能となり、ブラウザを使用する世界の大部分のクライアントコンピュータがそのアプリケーションにアクセスし運用できるようになった。これは特注アプリケーションの対極を示すものであった。というのは、WWWアプリケーションを使用しては、特注アプリケーション同様の機能豊富なアプリケーションをクライアント上に構築することはできないが、しかし、異なるプラットホーム毎の移植を必要とせずに、世界のPCクライアントコンピュータの大部分の上で実行が可能だからであった。
このタイプのWWWアプリケーションに特有の妥協事項は、HTMLブラウザがプラットホームであり、それを通して通信網アプリケーションのクライアント部がクライアント能力にアクセスすることである。HTMLブラウザは、しかし、クライアントオペレーティングシステムの著しく僅かな機能と通常極く非力なフィーチャにしかアクセスしない。その結果、WWWアプリケーションで実行可能なフィーチャの範囲は、特注アプリケーションより数も少なく豊かさの欠けたものとなる。加えて、HTMLは全てのHTMLブラウザによって共通に解釈されるべき標準であるため、WWWアプリケーションに利用可能なフィーチャは全てのクライアントプラットホームに共通のフィーチャということになる。これは無線移動通信網において、携帯クライアントのフィーチャが非常に急速に発展しているためそれが共通にならないばかりでなく、異なる無線装置間で共通ではない、最新のフィーチャを含むフィーチャを使用する通信網アプリケーションを配備するのが望ましいという、問題を提起する。
WWWアプリケーションが、より豊かなフィーチャおよびより高度なクライアント特有のアプリケーションコード、例えばマイクロソフトActiveXまたはJava(登録商標)コードの埋め込みによる、を配備できる方法が存在する。これの効果は、アプリケーションが(埋め込みコードの性質に応じて)、WWWアプリケーションと特注アプリケーションとの、またはWWWアプリケーションと一度作ればどこでも実行可能(Write Once, Run Anywhere)型アプリケーションとの組み合わせになること、およびこれら2つのタイプのアプリケーションの問題点と限界を組み合わせた問題点と限界を持つことである。
3.「一度作ればどこでも実行可能なアプリケーション」
一度作ればどこでも実行可能型アプリケーションは、特注アプリケーションとWWWアプリケーションの世界からの最良のフィーチャを提供することを意図する。名前からわかるように、そのアプリケーションは一度定義されると、同一の一貫した、機能豊かなアプリケーションが多くのプラットホーム上で、アプリケーションを移植する必要も無く実行できる。これは、2つの方法の1つで達成される。
i)「仮想マシーン」
仮想マシーンは、クライアント自身のプラットホーム(オペレーティングシステム等)に乗っかって、一度作ればどこでも実行可能型アプリケーションを実行する中間介在型のソフトウェアプラットホームである。これは、仮想マシーンによってアプリケーションソフトウェアを行単位で読み、命令をクライアントプラットホーム本来の対応する要求へと直ちに翻訳することにより、達成される。
この手法の最終結果は、仮想マシーンが重要なクライアントプラットホームのいずれについても作成されるなら、その仮想マシーンに適合可能な1つのコンピュータプログラムを開発すれば、そのアプリケーションを各クライアントプラットホームへ移植する必要も無く、(より多くのクライアントプラットホームのフィーチャにアクセスできるので)WWWアプリケーションよりも機能的にはるかに豊富なユーザ経験を創出できるようにできることである。この技術の例は、サンマイクロシステム社のJava(登録商標)である。
本手法の問題は、クライアントソフトウェアが何らかの内的複雑性を有すると(例えば、性格が厳密である、ソフトウェアスレッドを利用する、準実時間的なグラフィックスである、またはその他何らかの実時間的特質を有する、等)、異なる複数タイプのクライアントについてアプリケーションが同様の性能を確保することが格段に困難になることである。これが、携帯Java(登録商標)ゲームが全てのJava(登録商標)クライアントでは実行できず、ユーザ経験が同じであることを確保するべくゲーム作成者によって特にテストされた僅かなもののみで実行できる理由である。これが、プログラマたちがしばしば、「一度作ってどこでもデバッグ(Write Once, Debug Anywhere)」と言う所以である。仮想マシーン技術を使用する限りこの問題は決して除去できない。
ii)「疑似コードコンパイラ」
疑似コードコンパイラは、同様の成果を別の方法を使用して達成する。仮想マシーン同様、アプリケーションを表現するソフトウェアは一度だけ書かれ、他のソフトウェアが解釈可能な高水準形式で表現される。しかし、アプリケーションコードをその場で翻訳する仮想マシーンプラットホームを全ての対象クライアントに配備するのではなく、アプリケーションコードがクライアントに送信される前に、コンパイラがアプリケーションを通して読み、クライアントのオペレーティングシステムプラットホーム用の、そこで直接実行可能なアプリケーションを構築(コンパイル)する。
こうして、豊かなフィーチャを持つ1つのアプリケーションを開発できれば、それ用のコンパイラが存在するどのクライアントででもそれが実行可能となる。そのようなシステムの例は、サイベース(Sybase)社のPowerBuilderである。(これは、ちなみに、そのP−Code技術を使用して仮想マシーン構造用のバージョンをも提供できる。)
これら両手法の問題は、すべての対象プラットホーム用に書き直されねばならないのが、これらの場合はコンパイラまたはインタープリタであることを除けば、特注アプリケーションの問題と同じである。特注アプリケーション同様、僅かなオペレーティングシステムしか存在しないPCの世界では、それは大きい問題ではない。しかし、コンパイラまたはインタープリタを先ず配信できないことにはアプリケーションを配信できない移動通信網の世界では、殆ど乗り越え不可能な障害となる。それは回避不能のどうしようもないジレンマである。
これらの3つの方法を要約すると、PC通信網アプリケーションは以下により開発できる。
・豊富なフィーチャおよび機能を要求するが、少数タイプのクライアントプラットホームで実行できればよいならば、特注(Custom Build)アプリケーション、または、
・一度だけ定義しどこででも実行したい、しかしユーザ経験は限定されても構わないならば、WWWアプリケーション、または、
・一度だけ定義し多くのプラットホーム上で実行したいならば、一度作ればどこでも実行可能型アプリケーション。
携帯電話機の世界では、環境は大きく異なる。主要な違いは以下のとおりである。
・遥かに多くの携帯装置が、多くの異なる移動通信網に接続して使用されている。
・遥かに多くの携帯電話機製造業者が存在し、その携帯電話機の各々が複数のクライアントプラットホームを使用することが見込まれ、結果としてアプリケーションの実行が必要なクライアントプラットホームのより多くの変異形が存在する。
・携帯電話機の能力は、ますます多くのフィーチャの追加に伴って非常に急速に変化している。最終結果は、非常によく似たものになり勝ちなPCクライアントとは全く異なり、2つの異なる携帯電話機は非常に異なる能力を持ったものとなり得る。
携帯電話技術を使用して配信される通信網アプリケーションの経済的将来性を最大化するための要求事項は、以下のものである。
・アプリケーションをできるだけ多くの携帯装置で実行できるようにする。
・アプリケーションを、新しい電話機がリリースされたとき、できるだけ早急にそれらの上でサービス開始できるようにする。
・同じアプリケーション定義をどこででも実行するというに止まらず、アプリケーションが各携帯装置のフィーチャを最大限に、かつ最も適切なフィーチャを活用できるようにする。
世界の携帯電話機の殆どは、無線アプリケーションプロトコル(Wireless Application Protocol、WAP)または拡張HTML(eXtended HTML、xHTML)ブラウザを実装されている。このヴラウザおよび関連する文書ベースのマークアップ言語は、WWWアプリケーションの構造と直接的に対照可能である。この携帯電話技術を使用すると、世界の殆どすべてのハンドセット上で実行可能な通信網アプリケーションを開発することができる。問題は、WWWアプリケーションへの制約同様、WAPおよびxHTMLが各携帯電話機能力の極く僅かな部分集合しか使用できないことである。これらの技術は電話機の最も高度なフィーチャにはアクセスしないので、これらの技術を使用して最も機能豊かなユーザ経験を開発することは不可能である。
携帯電話機の大きい割合が今や、アプリケーションの配備に応じるクライアントプラットホームを持っている。非常に重要なことには、これらはJava(登録商標)(またはJava(登録商標)2携帯エディション−J2ME)、SymbianおよびBrewを含む。Java(登録商標)は、これらの技術の中では最も広く採用されているが、SymbianおよびBrewと同様、その技術で構築したアプリケーションは未だ厳しい問題と限界を有する。数百の異なる携帯通信網上に数千もの種々形式の電話機約20億個が存在する。これがJava(登録商標)プラットホームおよびクライアントアプリケーションの構築に一般に次のような問題を提起する。
・電話機が異なるとJava(登録商標)のバージョンが異なる。
・電話機が異なるとJava(登録商標)のバグが異なる。
・電話機が異なるとJava(登録商標)プラットホームの構成部分の実装が異なる。
・電話機毎に、オペレーティングシステムおよびファームウェアの多くの異なる版を有する。これは、形式が同じでも製造後の年数が異なる電話機では動作に違いがあることを意味する。
・同じ電話機がいくつかの識別名でもって存在し得る(例えば、MNOブランドの電話機)。
・電話機毎に、画面サイズ、画素数、色の深み、キーボード制御およびソフトキー特性等の物理的特性が異なる。
・電話機毎に、プロセッサ速度および記憶サイズ等のコンピュータ能力が異なる。
・電話機毎に、Java(登録商標)を介して表示される媒体ファイルおよび形式の集合(例えば、オーディオ、画像、ビデオ、アニメーション等)が異なる。これらが、電話機がユーザに使用させる元々の、画面の壁紙設定等の、電話機アプリケーションでの形式と異なることもしばしばである。
・電話機毎に、ソフトウェアの限界が異なる(2つの電話機が同じメモリ量を持ちながら、アプリケーションで使用できる量が異なる)。
・電話機毎に、電話機のオペレーティングシステムが扱うことができる媒体ファイルと形式の集合が異なり、これらが、Java(登録商標)または電話機上でアプリケーションを実行するプラットホームが扱うことができるものと異なることもある。
・電話機は通信網接続を多くの異なった方法で扱い、技術が異なり、設定が異なり、ユーザプロンプトが異なり、設定が送信され電話機によって扱われる方法が異なり、接続を管理する方法が異なり得る。
・電話機が異なると通信網能力や取り扱い法も異なる(例えば、CSD、GPRS、2G、2.5G、3G、WAP、SMS、ブルートゥース、赤外、Wi−Fi、WiMAX等)。
以上は、Java(登録商標)等のソフトウェア言語連結型プラットホームが世界の電話機の大多数で利用でき、またそれが、アプリケーションの配備に役に立ちかつ豊かなユーザ経験創出のために電話機の高度なフィーチャを使用できるプログラミング言語を提供できるとしても、現実には多くの相違点を舵取りし緩和するために、電話機毎の特注アプリケーションが必要であることを意味する。
装置毎に最適化された非常に機能豊富なアプリケーションを、大多数の無線コンピュータ装置に迅速かつ効率的に配信するという挑戦に対応できる既存の技術、プラットホームまたは方法は未だ存在しない。
以上で見たように全ての電話機はある程度異なるため、電話機毎の最も高度なフィーチャを使用するアプリケーションを大多数の電話機に配信する唯一の方法は、異なるハンドセット毎に特注アプリケーションを配信することである。この問題に対して従来からの手法を使用するとすれば、どの手法を用いようと、最終結果は不規則で管理しようもなく大量の移植となろう。こうして、新しい電話機毎にアプリケーション構築に使用する新しいコードの「流れ」に行き着くことになろう。これは非常に高価であり、ソースコードの流れが加わるほど、保守はますます困難になる。最終結果は、装置毎にアプリケーションのソースコードをチューニングしたアプリケーションを構築することは禁止的に高価なものになるということである。新しい手法が必要とされていることは明らかである。
カスタム化ソフトウェアアプリケーションは特定形式の無線コンピュータ装置に対して、(a)その形式の無線コンピュータ装置の属性を自動的に決定する、(b)ソフトウェア構成部品のライブラリからのその形式の無線コンピュータ装置と適合可能なソフトウェア構成部品を(a)で決定した属性値に基づいて自動的に決定する、そして(c)それらの適合可能なソフトウェア構成部品を自動的に結合して、その形式の無線コンピュータ装置に適合可能な、そのアプリケーションにカスタム化されたビルドを生成する、ことにより構築可能である。属性はメタデータであることができる。
この手法により、多種多様な形式の無線コンピュータ装置用に、機能豊富な通信網アプリケーションを自動的にコンパイルすることが可能になる。装置適応型アーキテクチャ(Device Adaptive Architecture、DAA)と称する本発明の実施により、携帯電話技術を使用する無線コンピュータ装置にソフトウェアアプリケーションを配信する利便性と経済的見通しを最大化する要求が満される。これにより、
・そのソフトウェアアプリケーションが最大限の携帯装置上で実行できるようになり、
・そのソフトウェアアプリケーションが、リリースされた新しい電話機上で速やかにサービス開始可能となり、
・同じアプリケーション定義をどこででも実行できるに止まらず、そのソフトウェアアプリケーションが携帯装置毎のフィーチャを最大限にかつ最も適切なフィーチャを活用できるようになる。一層の詳細と様相を、添付の請求項で規定する。
本発明について、装置適応型アーキテクチャの実現法に言及しながら説明するものとする。最も機能豊富なネットワークアプリケーションを最大多数の無線クライアントに最も効率的な方法で配備するためのプラットホームを構築するという挑戦であるDAA法の原則は、以下のものである。
・ハンドセット毎に、ユーザ経験を最大化する特有のアプリケーションが必要である。
・電話機の能力やフィーチャ間の相違は、ソフトウェアではなく、主にメタデータで記述され表現される。ハンドセットサービス開始プロセスがハンドセット毎に集めるメタデータの例を「付録1−ハンドセットのメタデータ」に見ることができる。メタデータが装置毎にどう異なるかの例も示される。
・各電話機間の相違の参照点は、電話機の表現に使用されるメタデータである(「付録1−ハンドセットのメタデータ」を参照のこと)。このメタデータは、最終的には、ソフトウェアアプリケーションの構成に使用される個々のソフトウェア構成部品を選ぶのに使用されるのであるが、ソフトウェアアプリケーションを抹消や再構築できるようにする参照点はその電話機用のメタデータである。
・特定ハンドセット用のソフトウェアアプリケーションは、一方ではその装置特有の能力や個性の記述に使用されるメタデータ(「付録1−ハンドセットのメタデータ」を参照のこと)を使用し、他方ではその装置に適合するアプリケーションに動的にコンパイルできるソフトウェア構成部品ライブラリの記述に使用されるメタデータ(「付録2−ハンドセットのソフトウェア構成部品ライブラリ」を参照のこと)を使用して、装置適応型アーキテクチャソフトウェアにより自動的に構築される。ソフトウェア構成部品ライブラリは、大規模で低粒度な単位ではなく、小規模なソフトウェア構成部品が満載されている。各ソフトウェア構成部品は、機能および各ソフトウェア構成部品を構成する方法を記述するメタデータならびに装置の属性を記述するメタデータを基に、ソフトウェアアプリケーションの一部を構成するよう選択することもできる。「付録3−ハンドセットメタデータのソフトウェア構成部品へのマッピングの例」を参照のこと。
・ハンドセット用のカスタム化ソフトウェアアプリケーションの構築に使用されるハンドセット毎の特有の性質を記述するメタデータを、プラットホームに追加することができる、高速な方法。ハンドセットが、現存のソフトウェア構成部品の変更の必要がなく、それらの組み合わせを使用してサービス開始を行う場合は、それはハンドセットのメタデータを構成するだけで達成される。もし新しいまたは現存のソフトウェアコードが改造を要するならば、関連する記述内容のメタデータを持つ新しいまたは現存のソフトウェア構成部品がライブラリに追加されるかまたは変更される。
・ライブラリ中ではまだ利用可能でない方法と技術を使用して機能を実装するハンドセットが発見されたとき、新しいまたは現存のソフトウェア構成部品をライブラリ中に追加または変更することができる、高速な方法。そのソフトウェアを含む新しいファイルをライブラリ中のファイルシステムに置くことにより、新しいまたは変更されたソフトウェア構成部品を速やかに追加することができる。これは、ソフトウェア構成部品が使用される条件またはソフトウェアアプリケーションのビルド中で使用するための構成方法を記述するメタデータによって補足される。
・この新しくサポートされるハンドセットに、そのハンドセット特有のソフトウェアの開発量を最低限に抑えて、多くの異なる通信網アプリケーションを配備できるようにする追加的なメタデータおよびその表層でのマークアップ構文法。「付録4−エンドユーザアプリケーションのメタデータおよびマークアップ」を参照のこと。
・実装後、ソフトウェアアプリケーションを電話機上で動的に変更する能力。
・クライアントが、ユーザ特有の一層のチューニングが可能なよう、その状態と鍵となるパラメータをサーバに報告できるようにする能力。例えば、ソフトウェアアプリケーションはクライアントがそのとき利用可能な持続的および動的なヒープメモリ空間を決定するテストを実行できる。これは、許容最大メモリサイズの超過を回避するために、クライアントのソフトウェアアプリケーションになされるデッキサイズの変更に影響を及ぼし得る。
・ソフトウェアアプリケーションの一意的事例毎の記録保存。
新しいハンドセットをサポートするために先ずなすべきことは、試運転用にそのハンドセットを入手することである。そのハンドセットのプラットホームで利用可能な中核パッケージを識別する簡単で一般的なテストアプリケーションをハンドセットにダウンロードする。この情報を使用して、ハンドセットの能力に見合ったテストアプリケーションを動的に選択する。このテストアプリケーションが、ハンドセットの能力とフィーチャを電子的に調べるためにハンドセットにダウンロードされ、またほかの電話機でみつかったバグ履歴のテストも含んでいる。このテストアプリケーションは、テスト結果を、その電話機の多くの属性および個性を表現するメタデータの集合として蓄積する。その後このメタデータはデータ記憶装置に書き込まれ、その電話機の形式およびそビルドに対応付けられる(「付録1−ハンドセットのメタデータ」を参照のこと)。
それから、ハンドセットの種々の能力および個性について人手による調査とテストが行われ、その結果が同様にデータ記憶装置にそのハンドセットと対応付けて格納され、テストアプリケーションからの初期のデータ集合を補充する。全ての情報が取得され全ての初期テストが完了すると、この新しいハンドセット用に特注ソフトウェアを構築するためにアプリケーションプラットホームを使用するに足る十分なデータが得られる。
そのハンドセット用のソフトウェアアプリケーションの構築には使用されない、その他種々のハンドセット特有の情報も収集される。この情報は、そのハンドセット用に構築したソフトウェアアプリケーションの運用を支援するシステムで使用するために収集される。例えば、通信網設定値が記憶される特定ハンドセット上のロケーションを記録して、アプリケーションの適当な時点でユーザがハンドセット特有のガイダンスにより援助を受けれるようにする。「付録1−ハンドセットのメタデータ」の「ユーザ支援特性」を参照のこと。
装置適応型アーキテクチャ(DAA)の中心部には、ハンドセット、時にはハンドセット/携帯通信網の組み合わせ、毎にソフトウェアアプリケーションを動的に構築するエンジンが存在する。DAAはハンドセットの能力を表現するメタデータを読み取り、そしてこれらの能力をライブラリ中のソフトウェア構成部品の能力および構成オプションを記述するメタデータと相互参照する。「付録3−ハンドセットメタデータのソフトウェア構成部品へのマッピングの例」を参照のこと。その後、DAAは、要求されたように構成され選ばれたソフトウェア構成部品を、そのハンドセット、時には携帯通信網との組み合わせ、用の特製のクライアント用ソフトウェアアプリケーションに結合する。
するとこれは、この特定ハンドセット用に特注のソフトウェアアプリケーションに相当したものとなり、機能的なエンドユーザアプリケーションそのものというより、実際にはむしろアプリケーションを実行するためのプラットホームになる。言い換えれば、上記の実行により、アプリケーション実行プラットホームが動的かつ自動的に構築されるということである。このアプリケーション実行プラットホームがそのハンドセットにダウンロードされ、それ自身メタデータで定義されるアプリケーションに対して、エンドユーザアプリケーションまたはサービスを実際に実現するよう要求する。「付録4−エンドユーザアプリケーションのメタデータおよびマークアップ」を参照のこと。アプリケーションを記述するこのメタデータはその後、生成されたアプリケーション実行プラットホームソフトウェアに加えられ、最終的に、ハンドセットに実装されて実行するときに、エンドユーザアプリケーションを実現するソフトウェアプログラムとなる。
ソフトウェアアプリケーションが特定のハンドセット用に構築される都度、このアプリケーションの事例がビルドの保存記録に格納される。保存記録は、ソフトウェアアプリケーションの各バージョン用の数百もの異なったビルドを履歴記録として保存する。履歴としてのビルドは、DAAの動的構築プロセスをハンドセットメタデータおよびソフトウェア構成部品のバージョンとその時点で有効な関連メタデータを使用して再実行させさえすればいつでも作り直し可能である。
このソフトウェアアプリケーションのビルドの候補はその後、アプリケーションが新しいハンドセット上で正しく動作することを確認するために、人によるシステムテストを受ける。これは、完全な成功裡に決着する場合もあれば、ハンドセットメタデータの変更、アプリケーションの再構築とリセットに終わる場合もあり、またソフトウェア構成部品のあるものが保全のため改造に付される、または新しいソフトウェア構成部品が構築され次いでアプリケーションの再構築、および次いでのリセットに終わる場合もある。最終的に、完全に機能するソフトウェアアプリケーションがこのハンドセット用に利用可能となり、それがシステムテストに合格したとき、エンドユーザによる実際の使用のための生産システムへと供される。
ハンドセットが接続される特定の携帯通信網もまた、そのハンドセットのアプリケーションのビルドに影響を及ぼし得る。DDAにとって、要求に応じてMNO用の正しいビルドをハンドセットに供し得るためには、MNOおよびその通信網構成を詳細に理解することが、ハンドセットを詳細に理解するのと同様非常に重要である。詳細については「付録5−通信網事業者のメタデータ」を参照のこと。
通信網を介するソフトウェアアプリケーションのダウンロードを要求するためにユーザ装置がシステムに接続すると、ハンドセットはシステムにそのユーザエージェントプロフィール(User Agent Profile、UAProf)を通知する。これは電話機製造業者、モデルおよびファームウェアを記述する。ハンドセットが要求するソフトウェアアプリケーションを、ユーザが接続する携帯通信網に合わせて、ときには彼らがMNOと交わす支払い契約(プリペイドか月払い契約か、等)にさえ合わせて、カスタム化しなければならない場合もある。この状況では、ハンドセットが接続する携帯通信網が何であるかは、要求SMSの中で見つかるMNO情報、SMSが辿って来た経路、その要求がMNO基幹通信網の検索(利用可能なら、SS7/HIR、等)を介して通ってきたMNOゲートウェイのIPアドレス、MNO番号割り当て範囲に対応する電話番号(MSISDN)の検索、およびポーティッド番号データベースによって検出されるか、またはダウンロードに先立って単純に画面上でユーザに質問することにより、検出される。システムはそれが利用可能な最も信頼できる方法を使用する。ユーザエージェントプロフィールが、接続してきたハンドセットによるダウンロードに対して提示するべき、正しい、既に生成済のアプリケーション選択への鍵である。なお、ユーザエージェントプロフィールがMNOの詳細および支払い契約の形式と結びついていることもある。
エンドユーザへの請求書作成またはエンドユーザの追跡、またときには起こるエンドユーザ支援を実行する目的から、全てのハンドセットによりダウンロードされたソフトウェアアプリケーションの事例、およびそのソフトウェアアプリケーションの事例が実装された全てのハンドセットの携帯電話番号(MSISDN)を、一意的かつ個別的に識別できることが重要である。これを実行するため、ダウンロード前またはダウンロード時に、DAAは一意の参照番号をソフトウェアアプリケーションに組み込む。この参照番号は、エンドユーザがソフトウェアアプリケーションを要求する間に彼らから(例えば、アプリケーションを要求するSMS、またはウェブの書式上に集積されたMSISDN、等から)取得されるユーザのMSISDNと、サーバのデータ記憶装置において対応付けられる。今やクライアント中に存在するソフトウェアアプリケーションがその後サーバからのサービスを要求するとき、それは一意のソフトウェアアプリケーション事例IDを自動的に提供する。MSISDNが要求されると、それを調べるのにその一意の事例IDを使用することができる。
以上では、DAAによって自動的に生成されるソフトウェアアプリケーションが、製造業者、装置形式および時にはファームウェア(組み込み装置ソフトウェア)のバージョンにより、またはその装置が接続された携帯通信網により識別されるよう、携帯電話機毎にどのように特注構築されるかを議論した。装置がソフトウェアアプリケーション取得の目的でサーバに接続されると、サーバはこれらの可変の属性を決定し、この電話機に適したアプリケーションを選択する。
しかし、ユーザがハンドセットを取得するときに、そのようなソフトウェアアプリケーションがその携帯電話機上に存在するよう、それらをユーザ電話機にプリインストールしておくことと関連する大きい商業上のチャンスが存在する。
ユーザが電話機を取得する前にアプリケーションを携帯電話機にプリインストールできる場所は一般に2つある。1つは、その供給者(または製造契約業者)によるその装置の製造においてである。もう1つは、エンドユーザへのサプライチェーンにおける装置の構成/提供施設においてである(携帯電話機卸業者または小売業者)。
これらのいずれの状況でも、携帯電話機はある時点で、携帯電話機を使えるように設定する(設定を制御する)装置に接続される(または、接続することができる)。この時点で、われわれのシステムはその設定制御装置とインタフェースを持ち、そのハンドセットにプリインストールされるどのソフトウェアアプリケーションのバージョンにもアクセスするようにする。
このようにして、適切なソフトウェアアプリケーションは、携帯装置上にそれを設定できるようにする設定制御装置からの利用が可能となる。しかし、ハンドセットに実装されたアプリケーションが携帯電話機のMSISDNにアクセスできないこともあり得るので、これは、一意のソフトウェアアプリケーションを、アプリケーションの内部に組み込みの一意の事例ID参照(この事例ID参照は、サーバへ返送することができ、そこで(例えば)請求書作成の目的で、ユーザのMSISDNと関連付けることができる)を付して、1つ1つの装置毎に提供するのとは異なる。そうではなく、そのアプリケーションは、同一の提供業者、モデル、ファームウェアおよび時にはそれらが接続される/接続されるであろう携帯通信網を共有する全ての携帯電話機に共通であろう。したがって、MSISDNへのこの関連付けは、ソフトウェアアプリケーションが携帯電話機に実装された後で、後付け的に行われる必要がある。これはつぎのように実行される。
1.携帯電話機/通信網の組み合わせに固有のソフトウェアアプリケーションが、携帯電話機設定制御装置とインタフェースを持ち、それが必要とする全てのソフトウェアアプリケーションのビルドおよび提供業者/モデル/ファームウェア/ソフトウェアアプリケーションバージョン毎の関連する通信網情報を供給して、正しいものが選択されインストールされるようにすることにより、電話機にプリインストールされる。
2.携帯電話機がエンドユーザによって取得される。
3.エンドユーザがその装置をスイッチオンし、ソフトウェアアプリケーションを見つけ、それを開始する。
4.ソフトウェアアプリケーションがサーバに接続すると、それは自分自身をプリインストールされたアプリケーションであると述べ(関連するアプリケーション事例ID無しで要求することにより)、この装置へのこのソフトウェアアプリケーションの選択に使用される属性に関連する情報(提供業者/モデル/ファームウェア/通信網、等)を提示する。
5.この情報は、サーバが、関連する一意のIDを持つ事例記録をこのソフトウェアアプリケーション用に作成できるようにし、またこの一意の参照をこのソフトウェアアプリケーションの事例に割り当てれるようにするのに十分である。この一意のIDは通信網を介してソフトウェアアプリケーションに戻され、アプリケーションはこのIDをローカルに保存し、その後の全てのサーバサービス要求においてそれを提示する(それが最初からソフトウェアアプリケーションに組み込まれていたかのように)。
6.サーバは、以上で始めに示したデータから、コンテンツアプリケーションがそのハンドセット用の正しいタイプおよび形式の携帯コンテンツを配信できるよう、その装置に適合したコンテンツタイプが何かを決定することもできる。
7.このようにしてエンドユーザは、電話機のMSISDNを要求しなくてもシステムが利用可能な、ソフトウェアアプリケーションの全ての部分を使用することができる。
8.ユーザが、MSISDNを必要とするソフトウェアアプリケーション部分にアクセスし、そのMSISDNがソフトウェアアプリケーションからアクセス可能であると、それは読み取られてサーバへの要求の一部としてサーバへ送信される。そして、それはサーバのデータベースに書き込まれ、そこでアプリケーション参照IDと関連付けられる。したがって、ソフトウェアアプリケーションからそれを再び送信することは要求されないであろう。
9.ユーザが、MSISDNを要求するソフトウェアアプリケーション部分にアクセスし、そのMSISDNがそのソフトウェアアプリケーションからアクセス可能でないと、ハンドセットと組み合わせたソフトウェアアプリケーションの能力に依存して、以下の場合が発生する。
a)もしハンドセットがソフトウェアアプリケーションにSMSを送信する能力を与えると、SMSがソフトウェアアプリケーションの一意の事例IDを含むサーバに送られる。このSMSがサーバに受信され、サーバはその一意のアプリケーション事例IDを、入力SMSからそれが決定したMSISDNと関連付けることができるようにする。
b)もしソフトウェアアプリケーションが携帯通信網に接続するのに使用する方法が、MSISDNをサーバへ転送することを許すならば(例えば、接続するMSISDNを要求ヘッダー上に置く特別なモデムを介して、または通信のヘッダー中のMSISDNを提供できるMNO通信ゲートウェイを介して)、サーバがMSISDNを検出し、これを使用してサーバのデータベース中でMSISDNとアプリケーション事例IDとを関連付けることができる。
c)もしa)もb)も利用可能でないなら、ソフトウェアアプリケーションはユーザにMSISDNをアプリケーションのユーザインタフェースに手動で入力するよう依頼しなければならない。これが行われ、サーバへ送信される。サーバはこのソフトウェアアプリケーションのMSISDNをそのアプリケーションの一意の事例IDと関連付けることができる。この方法が使用される場合、セキュリティまたはMSISDNの正確さを確実にするためにサーバによって実行される追加の工程があってもよい。例えば、入力されたMSISDNに対して、ユーザが何らかの購買フィーチャをアンロックすべくソフトウェアアプリケーションに入るのに必要なPIN番号を返送する工程である。
この装置適応型アーキテクチャを使用して構築されたソフトウェアアプリケーションは、エンドユーザには非常に応答性がよいように見える。これの理由は、エンドユーザアプリケーションを定義するのに使用されるメタデータおよびマークアップ言語(「付録4−エンドユーザアプリケーションのメタデータおよびマークアップ」を参照のこと)がローカルなクライアント上で、ソフトウェアアプリケーション中にデータとして記憶されているからである。これは、このクライアント用にDAAによって生成されたアプリケーション実行プラットホームが、エンドユーザアプリケーションを実行してかつこのように高速に見えるようにするためにこのローカルな資源を使用することを意味する。
ニュースまたは呼び出し音等のコンテンツのリストを表示するソフトウェアアプリケーションは、それらのコンテンツ構造をエンドユーザアプリケーションのメタデータ定義内にキャッシュするのにこの機構を利用することができる。これは、エンドユーザがアプリケーションを実行するとき、コンテンツのリストにアクセスするのにサーバへの接続を要しないため、非常に高速に見えるであろうことを意味する。
クライアントのソフトウェアアプリケーションは、エンドユーザアプリケーションを表現するメタデータのどの構成部品でも更新を要求することができる。これはアプリケーションが、無線で完全に更新可能であることを意味する。これは、1つのメニューにおけるコンテンツのリストを更新するという単純な要求から、エンドユーザアプリケーション中の全てのコンテンツを更新するまたはエンドユーザアプリケーションの定義全体そのものを更新する、将来的には、ソフトウェアアプリケーションの全性質を効率的に変える、という要求にまで及ぶ。
エンドユーザアプリケーションは、メニュー、サブメニュー、ルックアンドフィール(見た目)要素、画面構成配置およびアプリケーションの任意のコンテンツ参照を定義するデータファイル形式またはデッキ形式でパッケージ化されている。画面はXMLで定義され、それら画面中の資源やコンテンツへのXML参照を使用する。画面定義はコンテンツおよび表現資源とともに格納され、ソフトウェアアプリケーションとまとめるために2進情報に変換される。デッキは他のデッキから参照することができる。参照されたデッキが要求されしかしクライアント上に無いと、それはサーバに要求される。各デッキは、データストリームからロードされる。そのデータストリームは、ソフトウェアアプリケーション中に格納されたファイルであるか、ローカルメモリに格納されたレコードであるか、またはサーバからストリーム転送されるファイルである。
各デッキまたはデッキ中の項目は、それを失効にできたり、ローカルなデッキではなくサーバからダウンロードされた新しいバージョンが使用されるようにするために、オプションの有効期限を有する。これはケイ線や日々に変わるニュースのようなフィーチャを提供するのに効果的である。ユーザが、有効期限が設定されかつ過ぎたデッキを利用するエンドユーザアプリケーションの一部を使用するときはいつでも、サーバからの更新機構が働く。
更新頻度の予想やハンドセット上の各ロケーション中の利用可能な空間に依存して、異なったデータの格納には異なったタイプのデッキが使われる。動的なデッキ中の項目はそれほど動的ではないデッキ中の項目に取って代わることができる。(例えば、アプリケーションに格納されたシステムデッキ中の構成は、サーバから流れてきてデッキに適用されたその後の変更によって取って代わられ得る)。
サーバはまたアプリケーション中の任意のデッキを無効にする能力を有する。これはソフトウェアアプリケーションがサーバへの接続を行うときに実行され得る。これは、サーバにエンドユーザアプリケーションを新規化または更新させる効果を持つ。サーバは、クライアント上の要素を参照し新しい要素を提供することにより、要素への更新を行う。
ソフトウェアアプリケーションが資源をダウンロードするために通信網を介してサーバに接続しその資源がダウンロードされるまでの間の待ちがある場合、クライアントアプリケーションはアニメーションおよび進捗バーを表示することができる。そのアニメーションは見た目の面白さをいくらかでも提供し、感じられる待ち時間を軽減する目的のものである。進捗バーは、進捗の度合いをある程度示すものである。クライアントプラットホーム上にアニメーションライブラリが存在しない場合、これらのライブラリはソフトウェアアプリケーション中で提供される。それらは、クライアントプラットホームの、X/Y座標を使用して、クライアント画面の各部分に完全なまたは部分的な図を配備する能力を使用して構築される。これらのイメージプロット間にタイミングをとって結合すると、アニメーションのように見える。
ハンドセットおよび携帯通信網に対応して記録されたメタデータの一部として含まれるものに、特定携帯通信網についての適切な通信網接続の設定、これらの通信網設定をハンドセットに無線で配信するメカニズム、およびそのハンドセット/MNOの組み合わせが設定を必要としそうかの見込みに関する情報がある。
この情報を使用して、プラットホームは、それが行われていないようならば、ハンドセットへの通信設定の実施を自動的に試みることができ、またはエンドユーザに彼ら自身への設定の送信を開始する機会を提供できる。それはまた任意の追加の人手による構成についての指令を与えることができる。それが与えられると、エンドユーザからの設定を要求する。
クライアントのソフトウェアアプリケーションによってなされるサーバへの全ての要求はサーバの運用ログ中に記録される。エンドユーザのアプリケーションメタデータ定義中で追跡が必要とマークされた、クライアントのソフトウェアアプリケーションへの全ての行動は、運用ログへの記録と同様の目的でサーバに知らされる。これは、顧客の利用について収集された豊富なデータのおかげで非常に洗練された顧客対応管理が実行可能であることを意味する。例えば、この非常に豊富な運用データは、システム運用の鍵となる1セットの性能指標とみなし得る。
クライアントアプリケーションの全てのエラーはクライアントソフトウェアアプリケーションによって記録され、クライアントが成功裡にサーバと交信できる次の機会にサーバに渡される。これにより、クライアントソフトウェアアプリケーションの一般ハンドセット群における実行状況の詳細な図を構築することができ、ハンドセットが呈する動向を任意の感度で探すのに使用ができる。この情報はまた、ハンドセットメタデータの調整を伴う処置を要するバグを持ち込んだ特定の新しくリリースされたハンドセットファームウェアのバージョンを識別するのに使用することもできる。
システムはグラフィカルツールである完全なサービス管理スイートを含んでおり、これがオムニフォン社のパートナが彼等自身のシステムを管理することを可能にする。これらのツールは、エンドユーザアプリケーションを制御し、様々な構成をとるメタデータを見る窓である。サービス、例えば、アプリケーションの流れまたはコンテンツ構造、のメタデータ要素を単に変更することにより、アプリケーションの性質を変更することができる。
クライアントとサーバとの間の全ての相互作用が記録されるため、システムはクライアントとサーバとの間を通過するデータトラフィックの完全な量を知る。これは、通信網のデータ使用が関連するコストを有するとき意味を持っており、任意のソフトウェアアプリケーションによってサーバとの間を行き来して転送された全バイト数がわかれば、使用水準がどうであったか、その結果、コストがどうであるべきか、を算出可能である。
サーバは、システムがまだ見たことがなく、システムと相性のよくない新しい電話機の使用を監視する。新しいハンドセットがソフトウェアアプリケーションをダウンロードしようとし、プラットホームが適当なものを見つけられないとき、システムはシステム管理者に通知する。加えて、このような装置個々からの要求の計数値が、どの装置が次にサービス開始させるべく最も重要であるかを潜在的なユーザ数に基づいてシステム管理者にわかるよう、保持される。
サーバは、クライアントソフトウェアアプリケーションに容易に追加可能な「友人に送る」フィーチャを実現する。使用時に、それは「友人に送る」オプションをハンドセットのメニュー上に表示する。選択されると、ユーザは友人のMSISDNを、可能ならば時にはかれらの電話機のアドレス帳経由で、入力することができ、オプションとして挨拶を入力することもできる。このユーティリティは、そのアプリケーションを指定された友人に送信するようサーバに告げる。これはWAPプッシュまたはMMSのような技術を使用して実行される。
ソフトウェアアプリケーションは、現存のエンドユーザアプリケーションのユーザベースに同報される広告文の表示を可能にする。ユーザの全てまたは部分集合がソフトウェアアプリケーションを介して広告文を受信する標的となることを可能にする。広告文は、サーバプッシュとして配信されるメッセージであり、適切な画面上では派手に目立つ。これは、サーバがエンドユーザアプリケーションをサーバプッシュを有効化することにより利用可能と記述される柔軟性により容易化される。
DAAは携帯電話機(または現実には無線コンピュータ装置)にアプリケーションを配信するのに適当なだけではない。それは、アプリケーションが多数の(非無線クライアントコンピュータ装置を含む)クライアントコンピュータ装置に対して構築され配信されるよう要求される状況に対して有効である。ここで、
・要求されたアプリケーションが全ての装置について類似している、
・装置の多くのものの間には多くの相違点はあるが、それらは基本的には同じであり、クライアント間の相違はメタデータで記述可能であって、装置適応型アーキテクチャによってアーキテクチャを構築するのに使用可能である、
・配備されるアプリケーションは装置間の相違を理解できることから利益を得、可能な最良の機能性およびフィーチャを各装置に与える。
・アプリケーションは一度あるいは可能な限り少ない回数だけ記述され/提示されるべきである。そして、装置毎に要求されるカスタム化アプリケーションを構築するためには、装置特性を表現するメタデータが使用されるのであり、伝統的な移植の実行によって到達した、アプリケーションのバージョン毎に記述され、各装置毎にアプリケーションによって要求される相違点が使用されるのではない。
付録1−ハンドセットのメタデータ
本節は、ハンドセットサービス開始フェーズ間の各ハンドセット用に集積されたメタデータの型の詳細を含む。メタデータは論理的にグループ化され、説明される。装置が異なるとメタデータがどう変り得るかについて様々な例が提示される。
ハンドセットのサービス開始を可能にするために集積されたメタデータ、およびその結果としてのハンドセットへの豊かなアプリケーションの配信は常態的に変化する。これは、ハンドセットのリリースされる新しいフィーチャおよび機能、ならびにその結果としてのハンドセットから集積されるメタデータを継続的に発展させる必要があるためである。
Figure 2008523464
Figure 2008523464
Figure 2008523464
Figure 2008523464
Figure 2008523464
Figure 2008523464
Figure 2008523464
Figure 2008523464
付録2−ハンドセットのソフトウェア構成部品ライブラリ
この付録は、ハンドセットのアーキテクチャの構築中に選択すべき、装置適応型アーキテクチャによって利用される、ライブラリ中のソフトウェア構成部品のタイプと性質をリストする。これらの構成部品は、ハンドセットの定常的な進化とその結果としての新しく更新されたソフトウェア構成部品への要求により定常的に変化している。
中核的な構成部品
ハンドセットの中核的な構成部品を以下に列挙する。
・オーディオプレーヤ構成部品
・アニメーション構成部品
・文字列表示構成部品
・イメージ表示構成部品
・リスト表示構成部品
・評価構成部品
・テキストフィールド構成部品
・HTTP通信構成部品
・ブラウザオープン構成部品
・SMS送信構成部品
・コマンド(ソフトキー)オプション構成部品
・GZIP構成部品
・メモリパーシステンス(RMS)構成部品
・ビデオプレーヤ構成部品
・ファイルパーシステント構成部品
・チェックボックス構成部品
・ラジオボタン構成部品
・SMS受信構成部品
・ブルートゥース通信構成部品
構成部品の変異形
各構成部品はいくつかの変異形を持つ。代表的な例を以下に示す。
・オーディオプレーヤ構成部品の変異形−常に以下の1つ
・オーディオプレーヤなし
・「標準」MMAPIオーディオプレーヤ
・Samusungオーディオプレーヤ
・VSCL(Vodafone)オーディオプレーヤ
・Siemensオーディオプレーヤ
・HTTP通信構成部品の変異形−以下の任意の組み合わせ
・「標準」
・ユーザ識別子がクッキー中にあり/ユーザ識別子がURL中にあり
・信頼できない接続の恐れ
・同時接続を扱え
・SMS送信構成部品の変異形
・要求に、ポート番号あり/ポート番号なし
・「標準」WMA
・Siemens SMS変異形
・Samusung SMS変異形
・メッセージパディングあり/メッセージパディングなし(装置固有のバグの取り扱い)
・ブラウザオープン構成部品の変異形
・Java(登録商標)からWAPをオープンできない
・Java(登録商標) HTTP接続のテストが未だならば、Java(登録商標)からWAPをオープンだけできる
・Java(登録商標)からWAPをオープンできるが、Java(登録商標) HTTP接続が必要
・WAP設定を使用してJava(登録商標)からWAPをオープンできる
サブ構成部品
各構成部品/構成部品の変異形は、異なるによって制御できるいくつかのサブ構成部品を持つ。例を以下に示す。
・オーディオプレーヤ構成部品
・適切なコンテンツ/コンテンツタイプのオーディオプレーヤの作成構成部品
・オーディオプレーヤ開始構成部品
・オーディオプレーヤ停止構成部品
・オーディオ再生終了検出構成部品
・オーディオプレーヤ破壊構成部品
・HTTP通信構成部品
・URL作成構成部品
・HTTPヘッダ作成構成部品
・接続作成構成部品
・HTTP要求作成構成部品
・HTTP状態検出構成部品
・HTTP構成部品の再試行
・SMS送信構成部品
・SMSオブジェクト作成構成部品
・SMS接続作成構成部品
・SMS送信構成部品
・メモリパーシステンス(RMS)
・レコード作成
・レコード読み取り
・レコード更新
・レコード消去
・レコード分割
・レコード統合
・アニメーション構成部品
・アニメーション表示
・アニメーションサイズ
・アニメーション優先
・アニメーション速度
・コマンド(ソフトキー)サブ構成部品
・JAR中の画面のオープン
・RMSに格納された画面のオープン
・現在のデッキ中の画面のオープン
・HTTP経由でデッキをダウンロードし、画面をオープン
・SMSの送信
・WAPブラウザ中のURLのオープン
付録3−ハンドセットメタデータのソフトウェア構成部品へのマッピングの例
ライブラリ中のいずれのソフトウェア構成部品も、任意の数の装置特性と関連付けることができる。特性との関連付けは、下記のテストのいずれに基づくことがあってもよい。
・直接特性存在テスト(例えば、このソフトウェア構成部品が適合可能または使用されるには、特性Aが存在しなければならない)
・比較特性値テスト(例えば、このソフトウェア構成部品が使用されるには、特性BはXより大きい値を持たねばならない)
・ソフトウェア構成部品の特性値と対照しての装置特性値の比較テスト(例えば、ソフトウェア構成部品が使用されるには、装置特性Cはそのソフトウェア構成部品の特性SCより小さい値を持たねばならない)
・適合可能なソフトウェア構成部品の最も適切な集合が選択されるようにする評価メカニズム(例えば、1つ以上のソフトウェア構成部品が適合可能な場合、構成部品属性SCが最大値を有するソフトウェア構成部品を選択することにより、目的に最も適合するものを選択せよ)
・以上の任意の組み合わせ
これらの特性がライブラリソフトウェア構成部品にマッピングされる方法の例を本節で示す。
ビルド(Build)
オーディオプレーヤ構成部品
・名前がワイルドカード「device.package.*」に一致する装置特性の設定に基づいて、インクルードして使用するオーディオパッケージを選択
・装置が1つ以上のオーディオパッケージをサポートするなら、オーディオタイプの選択幅の最も広いものをサポートするパッケージが自動的に選択される。この決定は、「device.package.*」によってサポートされるオーディオプレーヤ構成部品変異形と対照して記述される、サポートされるパッケージのリストを比較することにより行われる。
・電話機がdevice.build.properties.audio.incapable特性によって示されるオーディオに対応していないなら、オーディオプレーヤ構成部品を除外
・使用可能なオーディオが存在しないなら、「プリビュー使用不可」構成部品をインクルード
HTTP通信構成部品(接続作成サブ構成部品)
・device.build.properties.connection.primer特性の設定に従って、付加的な接続(プライマ)要求を含める
SMS送信構成部品
・device.build.properties.sms.port.requiredおよびdevice.build.sms.truncated特性に従ってSMS要求を構築する
アニメーション構成部品
・装置特性(ハンドセットグループ、使用可能な動的メモリ)に基づいて資源が制限されるとき、カンバスの代わりに書式を使用する
ブラウザオープニング構成部品
・装置に対するdevice.packages.midp.2.0の存在により表示される、ハンドセットで機能がサポートされる場合のみ、プラットホーム要求サブ構成部品を含める。
・しかし、device.properties.connection.platform-request.http.fails.afterまたはdevice.properties.connection.platform-request.http.fails.beforeのいずれかが設定されているなら、構成部品を除外
チューニング(Tuning)
あるソフトウェア構成部品は、インクルード後、装置メタデータの特性に従ってさらにチューニングされる。例として、以下のものがある。
HTTP通信構成部品(接続作成サブ構成部品)
・device.properties.http.primer.delay.beforeおよびdevice.properties.http.primer.delay.after特性の値に基づいて、プライマ接続の試行および主接続の手順を制御する。
・device.properties.http.primer.delay.beforeおよびdevice.properties.http.primer.delay.after特性の値に基づいて、プライマ接続の試行と主接続の試行との間の時間遅延を制御する。
・device.build.properties.connection.primer.reverse.first.connectionに従ってこれらの順序を切り替える。
アニメーション構成部品
・装置の画面の大きさおよび使用可能なメモリがそこに納まる一組の範囲のサイズに従って、正しいサイズのアニメーションを選択する。
・特性(グループメンバーシップ、画面の大きさ、使用可能な動的メモリ)に記述される使用可能な資源に従ってアニメーションのフレーム速度を調整する。
・アニメーションの滑らかさとハンドセット上で発生するその他の処理とのバランスをとるために、使用可能な資源に従ってアニメーションのスレッド優先順を調整する。特性(グループメンバーシップ、使用可能な動的メモリ)を調査することにより制御される。
メモリパーシステンス(RMS)構成部品
・この構成部品は、個々のレコードの最大サイズおよびレコード数を制御することにより、特定装置に対してチューニングされる。これはハンドセット特性device.properties.recordstore.max-record-sizeおよびdevice.properties.recordstore.max-sizeより制御される。
・これは、アプリケーションが基底記憶装置においてデータがどのように分割されているかを知ることを要すること無く、このソフトウェア構成部品を介してデータが持続されることを可能にする。データがいくつかのレコードに分割されることも可能である。
付録4−エンドユーザアプリケーションのメタデータおよびマークアップ
以下では、装置適応型アーキテクチャの上で構築された、エンドユーザ用の画面定義の例を提示する。これらの例は、画面の3つの中核となるタイプ−形式、カンバスおよびリストを示す。これらの拡張マークアップ言語(XML)記述は、アプリケーション画面を完全に記述しており、画面の表現アスペクトの制御およびアプリケーションを通してのコマンドフローの制御に、この定義がどのように使用されるかを示す。これは、無線クライアント通信網アプリケーションのクライアント部が、ソフトウェアコードを書くことなく定義され構築される効果的なメカニズムである。
これらの例で示される特定のフィーチャのいくつかは、
・表示およびユーザ相互作用オブジェクトが含まれ得る
・PlayerおよびImagesのようなより洗練されたオブジェクトを含ませ制御することができる
・変数を設定することができ、読むことができる
・変数についてテスト条件をチェックすることができる
・標準MIDPオブジェクトの全ての属性への完全なアクセスが可能である
・コマンドボタンが他の画面を参照する。それらの画面はクライアント上にすでに存在するか、またはサーバから自動的にロードされなければならないことがあってもよい。
Figure 2008523464
Figure 2008523464
Figure 2008523464
Figure 2008523464
Figure 2008523464
Figure 2008523464
付録5−通信網事業者のメタデータ
動作調整用にシステム中で使用される鍵となるメタデータおよび特定ユーザのMNO能力に従うビルドを以下に列挙する。
Figure 2008523464
システム動作は、ハンドセットアプリケーションが通信する移動体ネットワークのゲートウェイ能力に合わせて調整されなければならない。DAAは、以下に示されるメタデータを通して各MNOゲートウェイを理解する。
Figure 2008523464

Claims (31)

  1. 特定形式の無線コンピュータ装置用にカスタム化されたソフトウェアアプリケーションを自動的に構築する方法であって、当該方法が、
    (a)前記特定形式の無線コンピュータ装置の属性を自動的に決定する工程と、
    (b)前記工程で決定された属性に基づいて、前記特定形式の無線コンピュータ装置と適合可能なソフトウェア構成要素を、ソフトウェア構成要素のライブラリから自動的に決定する工程と、
    (c)前記特定形式の無線コンピュータ装置と適合可能なカスタム化されたソフトウェアアプリケーションの構成を生成するために、適合可能なソフトウェア構成要素を自動的に結合する工程と、
    を備えることを特徴とする方法。
  2. 決定された前記ソフトウェア構成要素の属性と適合可能なソフトウェア構成要素を決定する前記工程は、前記特定形式の無線コンピュータ装置の属性値と該ソフトウェア構成要素の属性値と比較する工程を含むことを特徴とする請求項1に記載の方法。
  3. 前記特定形式の無線コンピュータ装置の属性がメタデータとして定義されることを特徴とする請求項1または2に記載の方法。
  4. 種々の形式の無線コンピュータ装置の属性もまたメタデータとして定義されることを特徴とする請求項1乃至3のいずれか1項に記載の方法。
  5. 前記装置が接続される無線ネットワークの属性をメタデータとして決定する工程をさらに含むことを特徴とする請求項4に記載の方法。
  6. 種々の無線ネットワークと種々の形式の無線コンピュータ装置との組み合わせの属性をメタデータとして決定する工程をさらに含むことを特徴とする請求項5に記載の方法。
  7. 種々の形式の無線コンピュータ装置のメタデータの属性が、装置識別子、市場情報、ネットワーク構成、物理的特性、ネットワーク構成、メディア/コンテンツ能力、HTTP接続、SMS通信、Java(登録商標) APIおよびライブラリ、Java(登録商標)アプリケーションのセキュリティ、ユーザインタフェース能力、ユーザ支援特性の1つ以上を定義することを特徴とする請求項3または4に記載の方法。
  8. 無線ネットワークのメタデータの属性が、識別子、開放性、SMSシステム信頼性、親オペレータID、提供される契約形式、提供されるデータの接続性、顧客契約の詳細、代表的なネットワーク名の1つ以上を含むことを特徴とする請求項5に記載の方法。
  9. 前記特定形式の無線コンピュータ装置または当該装置と接続可能なネットワーク、または当該無線コンピュータ装置と当該ネットワークとの組み合わせ、に関する属性の変化について適合する適当な構成要素が存在し得るよう、前記ライブラリ中のソフトウェア構成要素の機能性が限定されることを特徴とする請求項1乃至8のいずれか1項に記載の方法。
  10. 各ソフトウェア構成要素は、前記アプリケーションのカスタム化された構成の一部として使用されるときの事例および条件を記述するメタデータによって参照されることを特徴とする請求項1に記載の方法。
  11. 前記無線コンピュータ装置のメタデータと、各ソフトウェア構成要素の参照によるメタデータとを照合することにより、前記特定形式の無線コンピュータ装置と適合可能なソフトウェア構成要素を自動的に決定する工程を含むことを特徴とする請求項10に記載の方法。
  12. 前記特定形式の無線コンピュータ装置と適合可能なソフトウェア構成要素の自動的な決定が、前記無線ネットワークの属性のメタデータと、各ソフトウェア構成要素の参照によるメタデータとを照合することにより実行されることを特徴とする請求項11に記載の方法。
  13. 前記無線コンピュータ装置の属性に応じて、前記適合可能なソフトウェア構成要素を構成する工程を備えることを特徴とする請求項1乃至12のいずれか1項に記載の方法。
  14. 前記ライブラリ中の前記適合可能なソフトウェア構成要素が、前記ソフトウェアアプリケーションのカスタム化されたバージョンにコンパイルされることを特徴とする請求項1乃至13のいずれか1項に記載の方法。
  15. 新しいまたは別のアプリケーションを表現する追加のメタデータとマークアップシンタックスを使用し、前記特定形式の無線コンピュータ装置用に新しくアプリケーションを生成することにより、当該特定形式の無線コンピュータ装置のための別のアプリケーションがカスタム化されることを特徴とする請求項14に記載の方法。
  16. 前記特定形式の無線コンピュータ装置のメタデータの属性は、当該特定形式の携帯電話機にダウンロードした試験アプリケーションによって自動的に決定されることを特徴とする請求項1乃至15のいずれか1項に記載の方法。
  17. 前記特定形式の無線コンピュータ装置のメタデータの属性が手動試験によってさらに決定されることを特徴とする請求項16に記載の方法。
  18. 前記特定形式の無線コンピュータ装置用に生成された前記アプリケーションのメタデータの属性は手動試験が可能であり、当該特定形式の無線コンピュータ装置用に調整されることを特徴とする請求項17に記載の方法。
  19. 前記アプリケーションのカスタム化されたビルドは、実行するアプリケーションが埋め込まれたアプリケーション実行プラットホームであることを特徴とする請求項1乃至18のいずれか1項に記載の方法。
  20. エンドユーザアプリケーションを得るために、該アプリケーションの定義と前記アプリケーション実行プラットホームとが結合されることを特徴とする請求項19に記載の方法。
  21. 前記エンドユーザアプリケーションはメタデータマークアップ言語で定義されることを特徴とする請求項20に記載の方法。
  22. 前記エンドユーザアプリケーションは実行可能なソフトウェアを含むことが可能であることを特徴とする請求項21に記載の方法。
  23. 前記無線コンピュータ装置の前記特定の形式が、製造業者、モデルおよび該形式の電話機に配備されたファームウェアの関数であることを特徴とする請求項1から22のいずれか1項に記載の方法。
  24. 前記無線コンピュータ装置の前記特定の形式が、無線コンピュータ装置が接続する移動体通信網の関数でもあることを特徴とする請求項23に記載の方法。
  25. 前記カスタム化されたアプリケーションが、携帯電話用のコンテンツポータル(論説、ニュース、呼び出し音、壁紙、およびその他の形式の携帯電話用のコンテンツを扱う)、賭け、出会い、バンキング、位置情報、住所氏名録、ゲーム、チャット、ピアツーピアアプリケーションのグループから選択された通信網アプリケーションであることを特徴とする請求項1乃至24のいずれか1項に記載の方法。
  26. 請求項1に記載の方法を実行することにより、カスタム化されたソフトウェアアプリケーションの構築に適応可能なアプリケーション配信プラットホームを構築する方法であって、
    (a)前記アプリケーションに関連するソフトウェア構成要素のライブラリを構築する工程と、
    (b)種々の無線コンピュータ装置の属性のライブラリを構築する工程と、
    (c)与えられた形式の無線コンピュータ装置の属性を決定する手段を前記プラットホームに提供する工程と、
    (d)前記の属性を前記アプリケーションに関連するソフトウェア構成要素のライブラリを形成するソフトウェア構成要素の属性と自動的に比較する手段を前記プラットホームに提供する工程と、
    (e)前記形式の無線コンピュータ装置と適合可能なソフトウェア構成要素を自動的に決定する手段を前記プラットホームに提供する工程と、
    (f)前記形式の無線コンピュータ装置に適した、前記アプリケーションのカスタム化された構成を提供するために、前記プラットホームに、適合可能なソフトウェア構成要素を結合する手段を提供する工程と、
    を備えることを特徴とする方法。
  27. 請求項1に記載の方法を使用して構築されたことを特徴とするコンピュータプログラム。
  28. コンテンツを無線コンピュータ装置にダウンロードする方法であって、該方法が、コンテンツをダウンロードするために請求項27に記載のコンピュータプログラムを実行する工程を備えることを特徴とする方法。
  29. アプリケーションを無線コンピュータ装置に配信する方法であって、該方法が、
    (a)前記無線コンピュータ装置がサーバに接続する工程と、
    (b)前記サーバが、前記無線コンピュータ装置に適合するようカスタム化され、請求項1に記載の方法を使用して得られたアプリケーションを前記無線コンピュータ装置に提供できるよう、前記無線コンピュータ装置と適合可能なソフトウェア構成要素を構築する工程と、
    (c)前記カスタム化したアプリケーションを前記無線コンピュータ装置にインストールする工程と、
    を備えることを特徴とする方法。
  30. 請求項29に記載の方法を使用して配信されたアプリケーションを実行することが可能な無線コンピュータ装置。
  31. 請求項29に記載の方法を使用してアプリケーションを無線コンピュータ装置に配信するようプログラムされたことを特徴とするサーバ。
JP2007543931A 2004-12-06 2005-12-06 特定形式の無線コンピュータ装置用にカスタム化されたソフトウェアアプリケーションを自動的に構築する方法 Pending JP2008523464A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0426736.5A GB0426736D0 (en) 2004-12-06 2004-12-06 MyFone
PCT/GB2005/004675 WO2006061595A1 (en) 2004-12-06 2005-12-06 A method of automatically building a customised software application for a specific type of wireless computing device

Publications (2)

Publication Number Publication Date
JP2008523464A true JP2008523464A (ja) 2008-07-03
JP2008523464A5 JP2008523464A5 (ja) 2009-01-29

Family

ID=34073237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007543931A Pending JP2008523464A (ja) 2004-12-06 2005-12-06 特定形式の無線コンピュータ装置用にカスタム化されたソフトウェアアプリケーションを自動的に構築する方法

Country Status (12)

Country Link
US (2) US8621423B2 (ja)
EP (2) EP1834234A1 (ja)
JP (1) JP2008523464A (ja)
KR (2) KR101253792B1 (ja)
CN (3) CN101073055A (ja)
AU (1) AU2005313174B2 (ja)
BR (1) BRPI0517144A (ja)
CA (1) CA2588772C (ja)
GB (3) GB0426736D0 (ja)
IL (1) IL183511A0 (ja)
WO (2) WO2006061595A1 (ja)
ZA (1) ZA200704953B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013030865A (ja) * 2011-07-27 2013-02-07 Eqs Kk プログラム
WO2013065165A1 (ja) * 2011-11-04 2013-05-10 株式会社メディアシーク アプリケーションソフトウェアを生成するシステム
WO2013146047A1 (ja) * 2012-03-29 2013-10-03 ソニー株式会社 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム

Families Citing this family (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US9094403B2 (en) * 2001-01-11 2015-07-28 The Marlin Company Electronic media distribution system and mobile device
US9665839B2 (en) 2001-01-11 2017-05-30 The Marlin Company Networked electronic media distribution system
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
JP4273424B2 (ja) * 2005-06-29 2009-06-03 ソニー株式会社 コンテンツ取得装置、コンテンツ取得方法及びコンテンツ取得プログラム
US8346223B1 (en) 2005-11-07 2013-01-01 Flurry, Inc. Delivering a customized service to a mobile device using a link
WO2007074464A2 (en) * 2005-12-29 2007-07-05 Pike Ltd. Method and system for operating applications for remote terminal devices
US8116444B2 (en) * 2006-02-01 2012-02-14 At&T Intellectual Property, L.P. System and method of publishing contact information
US20070195105A1 (en) * 2006-02-17 2007-08-23 Anu Koberg Dynamic wallpaper on mobile communication device
EP1845444B1 (en) * 2006-04-13 2010-05-19 Microsoft Corporation Virtual execution system for ressource-constrained devices
GB0702587D0 (en) 2006-05-05 2007-03-21 Omnifone Ltd Digital rights management
CN101087205A (zh) * 2006-06-07 2007-12-12 华为技术有限公司 上报用户代理档案信息的方法、系统及终端设备
US8302082B2 (en) * 2006-06-07 2012-10-30 Intel Corporation Methods and apparatus to provide a managed runtime environment in a sequestered partition
WO2007149499A2 (en) * 2006-06-20 2007-12-27 Kohl Tony E Configurable indicating device and method for monitoring and control in fluid systems
US8560595B2 (en) 2006-06-23 2013-10-15 Microsoft Corporation Virtualization of mobile device user experience
US9742512B2 (en) 2006-07-28 2017-08-22 Google Technology Holdings LLC Broadcast content preview notification in wireless communication networks
US7631260B1 (en) * 2006-10-23 2009-12-08 Adobe Systems Inc. Application modification based on feed content
KR100881419B1 (ko) * 2006-11-02 2009-02-05 한국전자통신연구원 Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법
AU2006350802B2 (en) * 2006-11-13 2012-05-03 Choi, Sung-Yong Method for allowing full version content embedded in mobile device and system thereof
KR100857765B1 (ko) 2006-11-13 2008-09-09 엠-비즈 글로벌 컴퍼니 리미티드 모바일 장치에 탑재된 풀 버전 컨텐츠를 허용하는 풀 버전 허용 서버, 이에 대응하는 모바일 장치 및 이에 탑재된 풀 버전 컨텐츠를 허용하는 방법
GB2447249A (en) * 2006-11-16 2008-09-10 Superscape Group Plc Selection of additional information, e.g. trailers, for compatible games or applications
US20080133678A1 (en) * 2006-12-01 2008-06-05 Zannel, Inc. Content sharing system and method for devices
US8798583B2 (en) * 2006-12-28 2014-08-05 Funmobility, Inc. Tag ticker display on a mobile device
US20080182628A1 (en) * 2007-01-26 2008-07-31 Matthew Lee System and method for previewing themes
US8850414B2 (en) * 2007-02-02 2014-09-30 Microsoft Corporation Direct access of language metadata
GB0702591D0 (en) 2007-02-09 2007-03-21 Cognima Ltd Mobile advertising
US20080229280A1 (en) * 2007-03-12 2008-09-18 Sap Ag Systems and methods for composing custom applications from software components
GB2449944B (en) 2007-06-09 2012-08-08 Wecomm Ltd Supplying applications to mobile devices
US8219072B2 (en) * 2007-06-15 2012-07-10 Sybase 365, Inc. System and method for enhanced UAProfile management
US8688089B2 (en) 2007-06-26 2014-04-01 Gosub 60, Inc. Methods and systems for providing in-game hot spots
US8065429B2 (en) 2007-06-28 2011-11-22 Nokia Corporation System, apparatus and method for associating an anticipated success indication with data delivery
US8768778B2 (en) * 2007-06-29 2014-07-01 Boku, Inc. Effecting an electronic payment
GB0714622D0 (en) 2007-07-26 2007-09-05 Affle Ltd Application generation system and method
US8176129B2 (en) * 2007-08-27 2012-05-08 International Business Machines Corporation System and method of sending compressed html messages over telephony protocol
KR101373187B1 (ko) 2007-11-12 2014-03-14 삼성전자 주식회사 이동통신 단말기 및 그의 멀티미디어 메시지 처리 방법
KR101481504B1 (ko) * 2007-12-26 2015-01-13 엘지전자 주식회사 서비스 가이드 정보 처리 방법 및 서비스 가이드 정보 처리장치
KR101481506B1 (ko) * 2007-12-26 2015-01-13 엘지전자 주식회사 서비스 가이드 정보 처리 방법 및 서비스 가이드 정보 처리장치
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US9959547B2 (en) 2008-02-01 2018-05-01 Qualcomm Incorporated Platform for mobile advertising and persistent microtargeting of promotions
US9111286B2 (en) * 2008-02-01 2015-08-18 Qualcomm, Incorporated Multiple actions and icons for mobile advertising
CN101546260B (zh) * 2008-03-28 2012-07-11 国际商业机器公司 用于重构面向服务的应用的方法及其设备
EP2107460A1 (en) * 2008-04-04 2009-10-07 Alcatel Lucent Method for improving native library and native application compatibily
GB0807116D0 (en) * 2008-04-18 2008-05-21 Omnifone Ltd Music subscription service
GB0809383D0 (en) * 2008-05-23 2008-07-02 Vidicom Ltd Customer to supplier funds transfer
GB0809381D0 (en) * 2008-05-23 2008-07-02 Vidicom Ltd Funds transfer electronically
US8825876B2 (en) * 2008-07-17 2014-09-02 Qualcomm Incorporated Apparatus and method for mobile virtual network operator (MVNO) hosting and pricing
DE112008003970T5 (de) * 2008-08-05 2011-05-26 Hewlett-Packard Development Co., L.P., Houston Verfahren und Vorrichtung zum kundenspezifischen Einrichten von Software
US20100042659A1 (en) * 2008-08-15 2010-02-18 Electronic Data Systems Corporation Deployment overview management system, apparatus, and method
MY168336A (en) * 2008-10-07 2018-10-31 Wiki Mobile Sdn Bhd Mobile portal system
GB0820427D0 (en) * 2008-11-07 2008-12-17 Inq Entpr Ltd Mobile communication device and method
US8745213B2 (en) 2008-12-19 2014-06-03 Openpeak Inc. Managed services platform and method of operation of same
US8650290B2 (en) 2008-12-19 2014-02-11 Openpeak Inc. Portable computing device and method of operation of same
US8615581B2 (en) 2008-12-19 2013-12-24 Openpeak Inc. System for managing devices and method of operation of same
US8856322B2 (en) 2008-12-19 2014-10-07 Openpeak Inc. Supervisory portal systems and methods of operation of same
US8713173B2 (en) 2008-12-19 2014-04-29 Openpeak Inc. System and method for ensuring compliance with organizational policies
US8612582B2 (en) 2008-12-19 2013-12-17 Openpeak Inc. Managed services portals and method of operation of same
US8788655B2 (en) 2008-12-19 2014-07-22 Openpeak Inc. Systems for accepting and approving applications and methods of operation of same
US20100159898A1 (en) 2008-12-19 2010-06-24 Openpeak, Inc. Services platform for networked devices that provide telephony and digital media services
US8041639B2 (en) * 2009-01-23 2011-10-18 Vidicom Limited Systems and methods to facilitate online transactions
US9652761B2 (en) * 2009-01-23 2017-05-16 Boku, Inc. Systems and methods to facilitate electronic payments
US8548426B2 (en) * 2009-02-20 2013-10-01 Boku, Inc. Systems and methods to approve electronic payments
US9990623B2 (en) 2009-03-02 2018-06-05 Boku, Inc. Systems and methods to provide information
US8700530B2 (en) * 2009-03-10 2014-04-15 Boku, Inc. Systems and methods to process user initiated transactions
US8224727B2 (en) 2009-05-27 2012-07-17 Boku, Inc. Systems and methods to process transactions based on social networking
US8160943B2 (en) * 2009-03-27 2012-04-17 Boku, Inc. Systems and methods to process transactions based on social networking
US20100250347A1 (en) * 2009-03-31 2010-09-30 Sony Corporation System and method for utilizing a transport structure in a social network environment
US20100250323A1 (en) * 2009-03-31 2010-09-30 Sony Corporation And Sony Electronics Inc. System and method for dynamically updating a transport structure in an electronic network
GB0906004D0 (en) * 2009-04-07 2009-05-20 Omnifone Ltd MusicStation desktop
US8131258B2 (en) * 2009-04-20 2012-03-06 Boku, Inc. Systems and methods to process transaction requests
US20100274671A1 (en) * 2009-04-27 2010-10-28 Sony Corporation And Sony Electronics Inc. System and method for distributing contextual information in an electronic network
US9760893B2 (en) 2009-05-18 2017-09-12 Sony Corporation System and method for effectively supporting an advertising catalog in an electronic network
US20100299220A1 (en) * 2009-05-19 2010-11-25 Boku, Inc. Systems and Methods to Confirm Transactions via Mobile Devices
WO2010138969A1 (en) * 2009-05-29 2010-12-02 Boku, Inc. Systems and methods to schedule transactions
US9595028B2 (en) 2009-06-08 2017-03-14 Boku, Inc. Systems and methods to add funds to an account via a mobile communication device
US20100312645A1 (en) * 2009-06-09 2010-12-09 Boku, Inc. Systems and Methods to Facilitate Purchases on Mobile Devices
US20100325155A1 (en) * 2009-06-23 2010-12-23 James Skinner Systems and Methods for Providing Access to Various Files Across a Network
KR101640458B1 (ko) * 2009-06-25 2016-07-18 삼성전자주식회사 영상 장치 및 컴퓨터 판독 기록매체
US9697510B2 (en) 2009-07-23 2017-07-04 Boku, Inc. Systems and methods to facilitate retail transactions
JP4746693B2 (ja) * 2009-08-05 2011-08-10 株式会社東芝 情報送信装置
US8660911B2 (en) * 2009-09-23 2014-02-25 Boku, Inc. Systems and methods to facilitate online transactions
CN101674569B (zh) * 2009-09-24 2012-07-18 宇龙计算机通信科技(深圳)有限公司 一种与移动终端交互数据的方法及网络服务器
US20110078077A1 (en) * 2009-09-29 2011-03-31 Boku, Inc. Systems and Methods to Facilitate Online Transactions
US8224709B2 (en) * 2009-10-01 2012-07-17 Boku, Inc. Systems and methods for pre-defined purchases on a mobile communication device
US20110093375A1 (en) * 2009-10-15 2011-04-21 Sony Corporation System and method for supporting a bidding procedure in an electronic network
US9160812B2 (en) * 2009-10-22 2015-10-13 Cellco Partnership Systems and methods for delivering an application over a mobile communications network
US8412626B2 (en) * 2009-12-10 2013-04-02 Boku, Inc. Systems and methods to secure transactions via mobile devices
US20110143710A1 (en) * 2009-12-16 2011-06-16 Boku, Inc. Systems and methods to facilitate electronic payments
US8566188B2 (en) * 2010-01-13 2013-10-22 Boku, Inc. Systems and methods to route messages to facilitate online transactions
US20110173188A1 (en) * 2010-01-13 2011-07-14 Oto Technologies, Llc System and method for mobile document preview
US20110185406A1 (en) * 2010-01-26 2011-07-28 Boku, Inc. Systems and Methods to Authenticate Users
US20110217994A1 (en) * 2010-03-03 2011-09-08 Boku, Inc. Systems and Methods to Automate Transactions via Mobile Devices
US8219542B2 (en) 2010-03-25 2012-07-10 Boku, Inc. Systems and methods to provide access control via mobile phones
US8583504B2 (en) 2010-03-29 2013-11-12 Boku, Inc. Systems and methods to provide offers on mobile devices
US8341222B2 (en) * 2010-04-02 2012-12-25 Microsoft Corporation Text suggestion framework with client and server model
US8355987B2 (en) 2010-05-06 2013-01-15 Boku, Inc. Systems and methods to manage information
US9152411B2 (en) 2010-05-12 2015-10-06 Microsoft Technology Licensing, Llc Edge computing platform for delivery of rich internet applications
US8589290B2 (en) 2010-08-11 2013-11-19 Boku, Inc. Systems and methods to identify carrier information for transmission of billing messages
US8433310B2 (en) * 2010-08-19 2013-04-30 At&T Mobility Ii Llc Systems, methods, and computer program products for providing device updates to a mobile device operating in a wireless telecommunications network
US20120078713A1 (en) * 2010-09-23 2012-03-29 Sony Corporation System and method for effectively providing targeted information to a user community
US20120078717A1 (en) * 2010-09-23 2012-03-29 Sony Corporation System and method for effectively performing an advertisement selection procedure
JP5682220B2 (ja) * 2010-10-14 2015-03-11 株式会社リコー 情報処理装置、情報処理方法、及び情報処理プログラム
US9009599B2 (en) * 2010-10-15 2015-04-14 Cellco Partnership Technique for handling URLs for different mobile devices that use different user interface platforms
US8650658B2 (en) 2010-10-25 2014-02-11 Openpeak Inc. Creating distinct user spaces through user identifiers
KR101097372B1 (ko) * 2010-11-04 2011-12-23 전자부품연구원 홈 네트워크 시스템에서 어플리케이션 서비스 방법 및 서버
EP2638465A2 (en) * 2010-11-09 2013-09-18 Openpeak Inc. Communication devices, networks, services and accompanying methods
CN108429800B (zh) 2010-11-22 2020-04-24 杭州硕文软件有限公司 一种移动设备
US8699994B2 (en) 2010-12-16 2014-04-15 Boku, Inc. Systems and methods to selectively authenticate via mobile communications
US8412155B2 (en) 2010-12-20 2013-04-02 Boku, Inc. Systems and methods to accelerate transactions based on predictions
US8583496B2 (en) 2010-12-29 2013-11-12 Boku, Inc. Systems and methods to process payments via account identifiers and phone numbers
US8700524B2 (en) 2011-01-04 2014-04-15 Boku, Inc. Systems and methods to restrict payment transactions
US9424018B2 (en) * 2011-03-21 2016-08-23 Microsoft Technology Licensing, Llc Filtering and promoting application store applications
US20120254768A1 (en) * 2011-03-31 2012-10-04 Google Inc. Customizing mobile applications
US8898630B2 (en) 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a voice- and gesture-controlled mobile application development and deployment platform
US8261231B1 (en) * 2011-04-06 2012-09-04 Media Direct, Inc. Systems and methods for a mobile application development and development platform
US9134964B2 (en) 2011-04-06 2015-09-15 Media Direct, Inc. Systems and methods for a specialized application development and deployment platform
US8978006B2 (en) 2011-04-06 2015-03-10 Media Direct, Inc. Systems and methods for a mobile business application development and deployment platform
WO2012148842A1 (en) 2011-04-26 2012-11-01 Boku, Inc. Systems and methods to facilitate repeated purchases
US9191217B2 (en) 2011-04-28 2015-11-17 Boku, Inc. Systems and methods to process donations
US9830622B1 (en) 2011-04-28 2017-11-28 Boku, Inc. Systems and methods to process donations
KR20120133508A (ko) * 2011-05-31 2012-12-11 주식회사 케이티 인앱 서비스 제공 시스템 및 방법
US8707289B2 (en) 2011-07-20 2014-04-22 Google Inc. Multiple application versions
US9131013B2 (en) 2011-07-29 2015-09-08 International Business Machines Corporation Tailoring content to be delivered to mobile device based upon features of mobile device
EP2555488B1 (en) * 2011-08-02 2016-03-02 Teliasonera AB Method of transferring data to a functional application and a user terminal thereto
US9552201B2 (en) * 2011-08-31 2017-01-24 Avaya Inc. System and method for incremental software installation
CN102346672A (zh) * 2011-10-10 2012-02-08 柴君 一种为网站制作在移动终端上使用的客户端程序的方法
US8695060B2 (en) 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
US9158520B2 (en) * 2011-12-07 2015-10-13 Yahoo! Inc. Development of platform independent applications
US9489184B2 (en) 2011-12-30 2016-11-08 Oracle International Corporation Adaptive selection of programming language versions for compilation of software programs
US20130191495A1 (en) * 2012-01-23 2013-07-25 Cristian Almstrand Framework and system to distribute applications for heterogeneous platforms
KR101400799B1 (ko) * 2012-03-09 2014-05-29 (주)티아이스퀘어 사용자 단말기에 디바이스 제어 정보를 제공하는 방법 및 시스템과 이를 이용하여 어플리케이션을 실행하는 방법 및 사용자 단말기
US8910115B2 (en) * 2012-04-02 2014-12-09 Kony Solutions, Inc. Systems and methods for application development
US8589911B1 (en) * 2012-07-26 2013-11-19 Google Inc. Intent fulfillment
RU2509360C1 (ru) * 2012-08-24 2014-03-10 Олег Александрович Серебренников Способ создания платежной системы
US20140079202A1 (en) * 2012-09-14 2014-03-20 Zultys, Inc. Method and system for universal internet protocol (ip) phone provisioning
CN102882993B (zh) * 2012-10-19 2015-06-10 北京奇虎科技有限公司 计算设备及其下载方法
US20140281886A1 (en) 2013-03-14 2014-09-18 Media Direct, Inc. Systems and methods for creating or updating an application using website content
US10628578B2 (en) 2013-03-15 2020-04-21 Imagine Communications Corp. Systems and methods for determining trust levels for computing components using blockchain
US9785767B2 (en) * 2013-03-15 2017-10-10 Imagine Communications Corp. Systems and methods for determining trust levels for computing components
US9286049B2 (en) * 2013-03-26 2016-03-15 Google Inc. Systems, methods, and computer program products for managing service installation
US20140297714A1 (en) * 2013-04-01 2014-10-02 Gainspan Corporation Providing binary images customized for different users in memory space constrained environments
US9069641B2 (en) * 2013-09-17 2015-06-30 Blackberry Limited Updating firmware on mobile devices
KR20150037061A (ko) * 2013-09-30 2015-04-08 삼성전자주식회사 디스플레이장치 및 그 제어방법
US9262151B2 (en) * 2013-10-23 2016-02-16 Citirx Systems, Inc. Methods and systems for automatic configuration of algorithms in a system based on self aware algorithms
US9967316B2 (en) 2014-01-30 2018-05-08 Google Llc Accessing media item referenced in application
CN104954395B (zh) * 2014-03-24 2019-04-16 腾讯科技(深圳)有限公司 信息推送方法及装置
US11416841B2 (en) * 2014-07-18 2022-08-16 Tracfone Wireless, Inc. Device and process for purchasing electronic content using multimedia messaging service messaging
US9894009B2 (en) * 2014-08-29 2018-02-13 Microsoft Technology Licensing, Llc Client device and host device subscriptions
US20160071040A1 (en) 2014-09-05 2016-03-10 Openpeak Inc. Method and system for enabling data usage accounting through a relay
US9100390B1 (en) 2014-09-05 2015-08-04 Openpeak Inc. Method and system for enrolling and authenticating computing devices for data usage accounting
US9350818B2 (en) 2014-09-05 2016-05-24 Openpeak Inc. Method and system for enabling data usage accounting for unreliable transport communication
US9232013B1 (en) 2014-09-05 2016-01-05 Openpeak Inc. Method and system for enabling data usage accounting
US8938547B1 (en) 2014-09-05 2015-01-20 Openpeak Inc. Method and system for data usage accounting in a computing device
US9733916B2 (en) 2015-11-23 2017-08-15 Business Objects Software Limited Linking customized external widgets to dashboard data
US11720330B2 (en) 2016-10-17 2023-08-08 Engineer.ai Corp. Application development involving instant protoyping
WO2018075548A1 (en) 2016-10-17 2018-04-26 Sd Squared Limited Systems and method for creating software from library and custom components
WO2018089033A1 (en) * 2016-11-14 2018-05-17 Google Llc Systems and methods for providing interactive streaming media
US10445080B2 (en) * 2017-01-06 2019-10-15 Wipro Limited Methods for adaptive placement of applications and devices thereof
CN111164952A (zh) 2017-11-16 2020-05-15 英特尔公司 分布式软件定义的工业系统
US11301574B1 (en) * 2017-12-21 2022-04-12 Securus Technologies, Llc Convert community device to personal device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263409A (ja) * 1995-03-22 1996-10-11 Nippon Telegr & Teleph Corp <Ntt> 通信ソフトウェアダウンロード方法及びシステム
JP2000112764A (ja) * 1998-10-01 2000-04-21 Nec Software Ltd ソフトウェアダウンロードシステム
JP2002014821A (ja) * 2000-06-29 2002-01-18 Toshiba Corp サーバクライアントシステム及びこのサーバクライアントシステムにおけるアプリケーション配布方法を記憶した記憶媒体
JP2002055826A (ja) * 2000-08-11 2002-02-20 Sega Corp サーバ装置、携帯端末装置及びコンテンツの提供方法
US20020131404A1 (en) * 2000-11-28 2002-09-19 4Thpass Inc. Method and system for maintaining and distributing wireless applications
JP2003173261A (ja) * 2001-12-06 2003-06-20 Fuji Photo Film Co Ltd アプリケーション配信システム、アプリケーション配信方法およびアプリケーション配信プログラム
JP2003259000A (ja) * 2002-03-04 2003-09-12 Nec Engineering Ltd Ip−pbxにおけるip電話機サービス機能のバージョンアップ方式および方法
JP2004519747A (ja) * 2000-06-30 2004-07-02 プレイスウェア インコーポレイテッド ネットワークベースのアプリケーションの適合化、診断、最適化、及び対処技術の方法及びシステム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668992A (en) * 1994-08-01 1997-09-16 International Business Machines Corporation Self-configuring computer system
CN1109995C (zh) 1998-11-10 2003-05-28 皇家菲利浦电子有限公司 家庭网络的协作状况的升级
AU4043200A (en) * 1999-03-30 2000-10-16 Flashpoint Technology, Inc. Method and system for providing a digital imaging device with a web-based graphical-user-interface
US6467088B1 (en) * 1999-06-30 2002-10-15 Koninklijke Philips Electronics N.V. Reconfiguration manager for controlling upgrades of electronic devices
US6789111B1 (en) * 1999-12-09 2004-09-07 Microsoft Corporation Automatic detection and installation of client peripheral devices by a server
US20020032754A1 (en) 2000-04-05 2002-03-14 Gary Logston Method and apparatus for profiling in a distributed application environment
US6701521B1 (en) * 2000-05-25 2004-03-02 Palm Source, Inc. Modular configuration and distribution of applications customized for a requestor device
US8566248B1 (en) * 2000-08-04 2013-10-22 Grdn. Net Solutions, Llc Initiation of an information transaction over a network via a wireless device
CN101098529B (zh) * 2001-02-22 2015-07-29 塞尔蒂克技术有限公司 在个人蜂窝电信装置上因特网会话的启动及其定制协议
US7603657B2 (en) * 2001-03-02 2009-10-13 Oracle International Corporation Customization of client-server interaction in an internet application
US20040015961A1 (en) * 2001-03-19 2004-01-22 International Business Machines Corporation Method and apparatus for automatic prerequisite verification and installation of software
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US20030065802A1 (en) * 2001-09-28 2003-04-03 Nokia Corporation System and method for dynamically producing a multimedia content sample for mobile terminal preview
AU2003220423A1 (en) * 2002-03-22 2003-10-13 Sun Microsystems, Inc. Mobile download system
US20040093595A1 (en) * 2002-08-08 2004-05-13 Eric Bilange Software application framework for network-connected devices
US7062261B2 (en) * 2003-01-31 2006-06-13 Motorola, Inc. Method and apparatus for automatic detection and installation of Java-enabled accessories
US7779405B2 (en) * 2003-03-14 2010-08-17 At&T Intellectual Property I, L.P. Run-time determination of application delivery
GB0307694D0 (en) * 2003-04-03 2003-05-07 Koninkl Philips Electronics Nv Broadcast delivery to a wireless device
US7350191B1 (en) * 2003-04-22 2008-03-25 Noetix, Inc. Computer implemented system and method for the generation of data access applications
US7565141B2 (en) * 2003-10-08 2009-07-21 Macaluso Anthony G Over the air provisioning of mobile device settings
US20050091259A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Redmond Wa. Framework to build, deploy, service, and manage customizable and configurable re-usable applications
KR20050041367A (ko) * 2003-10-30 2005-05-04 주식회사 팬택앤큐리텔 무선 인터넷을 통해 동영상 서비스 이용 시 사용자에 의한동영상 검색이 가능한 이동통신단말기와 그 방법
US20050202385A1 (en) * 2004-02-11 2005-09-15 Sun Microsystems, Inc. Digital content preview user interface for mobile devices
US7779409B2 (en) * 2004-08-24 2010-08-17 Nokia Corporation Device-to-device software distribution

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263409A (ja) * 1995-03-22 1996-10-11 Nippon Telegr & Teleph Corp <Ntt> 通信ソフトウェアダウンロード方法及びシステム
JP2000112764A (ja) * 1998-10-01 2000-04-21 Nec Software Ltd ソフトウェアダウンロードシステム
JP2002014821A (ja) * 2000-06-29 2002-01-18 Toshiba Corp サーバクライアントシステム及びこのサーバクライアントシステムにおけるアプリケーション配布方法を記憶した記憶媒体
JP2004519747A (ja) * 2000-06-30 2004-07-02 プレイスウェア インコーポレイテッド ネットワークベースのアプリケーションの適合化、診断、最適化、及び対処技術の方法及びシステム
JP2002055826A (ja) * 2000-08-11 2002-02-20 Sega Corp サーバ装置、携帯端末装置及びコンテンツの提供方法
US20020131404A1 (en) * 2000-11-28 2002-09-19 4Thpass Inc. Method and system for maintaining and distributing wireless applications
JP2003173261A (ja) * 2001-12-06 2003-06-20 Fuji Photo Film Co Ltd アプリケーション配信システム、アプリケーション配信方法およびアプリケーション配信プログラム
JP2003259000A (ja) * 2002-03-04 2003-09-12 Nec Engineering Ltd Ip−pbxにおけるip電話機サービス機能のバージョンアップ方式および方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013030865A (ja) * 2011-07-27 2013-02-07 Eqs Kk プログラム
WO2013065165A1 (ja) * 2011-11-04 2013-05-10 株式会社メディアシーク アプリケーションソフトウェアを生成するシステム
US9047166B2 (en) 2011-11-04 2015-06-02 MEDIASEEK, inc. System for generating application software installed on a mobile terminal
WO2013146047A1 (ja) * 2012-03-29 2013-10-03 ソニー株式会社 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム

Also Published As

Publication number Publication date
CA2588772A1 (en) 2006-06-15
GB2420887A (en) 2006-06-07
IL183511A0 (en) 2007-09-20
GB0524895D0 (en) 2006-01-11
EP1834234A1 (en) 2007-09-19
US20080109528A1 (en) 2008-05-08
GB0426736D0 (en) 2005-01-12
WO2006061587A1 (en) 2006-06-15
CA2588772C (en) 2015-06-02
EP1839135A1 (en) 2007-10-03
US20080222621A1 (en) 2008-09-11
AU2005313174A1 (en) 2006-06-15
GB0524874D0 (en) 2006-01-11
KR20070103736A (ko) 2007-10-24
WO2006061595A1 (en) 2006-06-15
US8621423B2 (en) 2013-12-31
CN101073055A (zh) 2007-11-14
GB2422987B (en) 2007-07-11
BRPI0517144A (pt) 2008-09-30
CN102981819A (zh) 2013-03-20
ZA200704953B (en) 2008-11-26
KR20070106691A (ko) 2007-11-05
CN101073053A (zh) 2007-11-14
GB2422987A (en) 2006-08-09
KR101253792B1 (ko) 2013-04-12
AU2005313174B2 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
JP2008523464A (ja) 特定形式の無線コンピュータ装置用にカスタム化されたソフトウェアアプリケーションを自動的に構築する方法
US8989715B2 (en) Method and system for rendering content on a wireless device
US7275243B2 (en) Mobile download system
EP1564965B1 (en) Digital content preview user interface for mobile devices
US8584114B2 (en) Method of generating and distributing a computer application
US20090164564A1 (en) System and methods for mobilizing web content
US7779408B1 (en) Method and system for downloading and managing portable applications on a mobile device
US8103865B2 (en) Server method and system for rendering content on a wireless device
CN101866299B (zh) 修改便携式电子设备上本地应用的执行的方法和系统
US20070246483A1 (en) Apparatus and Method for Extruding a Product
US20130219307A1 (en) System and method for runtime user interface management
US20020069263A1 (en) Wireless java technology
WO2005081130A1 (en) Device and method of operation
AU2013213683B2 (en) A method and system of application development for multiple device client platforms
CN106997298A (zh) 一种应用资源获取方法及装置
WO2007118890A1 (en) Method for extending applications for mobile devices
Skogberg Android application development
CA2600234C (en) Testing media content for wireless communication devices
WO2009036301A1 (en) System and method for mobilizing web content
Desruelle CMS-driven development of adaptive mobile web applications using progressive enhancement techniques

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111202

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120302

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130501

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130510

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131129