JP2013531839A - バグクリアリングハウス - Google Patents

バグクリアリングハウス Download PDF

Info

Publication number
JP2013531839A
JP2013531839A JP2013511363A JP2013511363A JP2013531839A JP 2013531839 A JP2013531839 A JP 2013531839A JP 2013511363 A JP2013511363 A JP 2013511363A JP 2013511363 A JP2013511363 A JP 2013511363A JP 2013531839 A JP2013531839 A JP 2013531839A
Authority
JP
Japan
Prior art keywords
application
developer
developers
specific
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013511363A
Other languages
English (en)
Other versions
JP5937577B2 (ja
JP2013531839A5 (ja
Inventor
ヤセク・スラシュスキー
ジェイソン・ビー・パークス
ダビド・ドゥダ
Original Assignee
グーグル・インコーポレーテッド
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 グーグル・インコーポレーテッド filed Critical グーグル・インコーポレーテッド
Publication of JP2013531839A publication Critical patent/JP2013531839A/ja
Publication of JP2013531839A5 publication Critical patent/JP2013531839A5/ja
Application granted granted Critical
Publication of JP5937577B2 publication Critical patent/JP5937577B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/012Providing warranty services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/015Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
    • G06Q30/016After-sales

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

システムは、多数の異なる開発者組織からのソフトウェア開発者を登録するための登録サブシステムと、一般のメンバーによる獲得に利用可能な複数のアプリケーション開発者から複数のアプリケーションを作成するアプリケーションストアと、アプリケーションストアを使用して分散されたアプリケーションに関する問題の報告を受信するように、問題に関するデータを受信するように、および特定のアプリケーションまたは特定のアプリケーションの開発者にデータを関連付けるように、プログラムされたアプリケーションバグ追跡装置と、1つまたは複数のアプリケーションを提供した開発者に対する1つまたは複数の問題報告を生成するための報告生成装置であって、問題報告は、開発者によってアプリケーションストアへ提供された特定のアプリケーションに関する問題に関するデータについての情報を含む、報告生成装置と、を含む。

Description

この出願は、2010年5月19日に出願された米国仮出願シリアルNo.61/346453、発明の名称が“バグクリアリングハウス”の優先権を主張し、その全内容が参照によってここに組み込まれる。
この出願は、ソフトウェアアプリケーションに対する問題に関する情報の管理および分散に関する。
ソフトウェア開発は、困難なビジネスである。将来のソフトウェア開発者は先ず、ソフトウェアのアーキテクチャリングおよびプログラミングについて訓練する必要がある。その後、絶え間なく変わるプログラミング言語および技術を最新のものに維持する必要がある。そして、アイデアを有する必要がある。開発者は次いで、対象のコンピューティングプラットフォーム上で利用可能なリソース内で、および自分の時間ないしは資金的制約内で、プログラミングを介してどのようにアイデアを実装するかを考え出す必要がある。また、異なる設定でプログラムを人々に対して検証して、プログラムのバグを修正するように訂正を行う必要がある。次いで、開発者はどのように、ソフトウェアの値段を付けて、分散(distribute)して、人々にその興味を持たせるかを考え出す必要がある。
高度なプログラミング環境は、これらの問題の一部を解決するのに役立ち、即ち組織を設立し、コードのタイピングをより自動化することである。また、スマートフォンおよびネットブックのようなワイヤレスコンピューティングデバイスに関するオンラインアプリケーションストアの最近の到来は、規模の小さい開発者にとってより簡単にソフトウェアを市場に出して販売することを可能にした。これらの開発の両方によって、ソフトウェア開発者およびそのソフトウェアを購入する人々の生活をより良いものにした。一方で、ソフトウェア開発者の生活が辛い一面もある。例えば、プログラムのユーザからフィードバックを取得して、効果的な方法でそのフィードバックを分析するのが困難なことがある。例えば、多数の開発者は、消費者がフィードバックを提供できるアプリケーションを電子メールリンクに提供する。
本明細書は、ソフトウェア開発者に対して、特にスマートフォン等のワイヤレス携帯コンピューティングデバイスのユーザのための第三者オンラインアプリケーションストアを介してアプリケーションを販売および分散するソフトウェア開発者に対して、問題、即ちバグの報告を管理するためのシステムおよび技法を検討する。例えば、開発者は、一般のアプリケーションストアを提供するシステムで登録される個人のプログラマでもよく、それにより開発者は、全て精通した周知の方法で、アプリケーションストアから購入を行うために登録されている一般のメンバーに対するアプリケーションの分散のために、アプリケーションストアにアプリケーションをアップロードできる。特定のソフトウェアアプリケーション、および/または1つまたは複数の携帯コンピューティングデバイス上で実行するオペレーティングシステムは、問題、即ちバグ(例えば、アプリケーションクラッシュまたはフリーズ、過度の電力消費量、またはデバイスのユーザがアプリケーションを改善するための問題またはアイデアを手動で報告すること)がある時、情報を収集するようにプログラムされてもよく、アプリケーションストアに関連付けられ、アプリケーションストアを経営する同一の組織によって経営される報告サブシステムに、問題に関するデータを送信してもよい。
報告サブシステムは、(デバイスによって自動的に生成されるか、またはデバイスのユーザによって手動で生成される)そのような入力バグ報告の提供の各々を、問題の対象になったコンピュータアプリケーション(例えば、開かれたアプリケーションおよび/またはフリーズまたはクラッシュが生じた時のオペレーティングシステムの焦点)に関連付けることができ、問題を特徴付ける情報を格納できる。情報は、アプリケーションに対して、および拡張によりアプリケーションの開発者に対して関連付けられるような方法で格納されてもよい。開発者(アプリケーションストアにソフトウェアを提供した個人またはその個人のエージェントでもよい)は、次にシステムにログオンする時、開発者は、自分がアップロードしたソフトウェアアプリケーションに関する報告を引き出すことができ、ここで報告は、そのようなソフトウェアアプリケーションの各々に関する全ての報告された問題に対する全データを集約し、またアプリケーションに関する問題の種類および程度を示す。
そのような報告は、例えば携帯コンピューティングデバイスが問題を経験して対応するデータを生成したユーザに関するプライバシーを維持するために、報告サブシステムによってそこから除去された特定の情報を有することがある。サブシステムによって開発者に提供される情報のレベルはまた、サブシステムが開発者に対して有する信用のレベルに依存することができる。また、ユーザは、共有されうる情報のレベルに関して通知されてもよく、そのような情報の使用を許可または不許可するかを選択してもよい。
報告は、アプリケーションまたは複数のアプリケーションに関する問題の発生の頻度を示す要約報告、アプリケーションに関する特定タイプの全問題をリストし、問題(例えば、どのコード部分に問題が生じたか)を記述するデータを提供するエラー報告、および問題がデバイス上で生じた時に各コンピューティングデバイスの状態に関する情報を示すスタックトレース等、各種精通した形式を取ってもよい。
また、システムは、多数のアプリケーションにわたって第三者プロバイダにより広く役立つデータを生成してもよい。例えば、アプリケーションストアを経営する組織は、アプリケーションストアにアクセスする携帯デバイスにオペレーティングシステムを提供し、多数のアプリケーションに関する問題データは、各種方法で“ロールアップ(roll up)”されて集約データおよび結果報告を生成し、オペレーティングシステムに関する問題があるかを判断してもよい。例えば、そのようなデータは、特定のオペレーティングシステムまたはインタフェースにアクセスする時に多数の異なるアプリケーションがフリーズを経験していることを示す場合、第三者プロバイダは、サービスまたはインタフェースに関するコードに問題の可能性があることを警告されうる。
そのようなシステムおよび技法は、特定の実施形態で1つまたは複数の利点を提供しうる。例えば、開発者は、単に特定の開発環境を使用して、自分の持つバグ追跡システムを設定する高度な会社にのみ利用可能な診断機能を備えてよい。デバイスのユーザは、各種開発者から改善されたアプリケーションを受信でき、多数の異なる開発者からの多数の異なるアプリケーションにわたって一貫している都合の良い方法でバグ報告を可能にする。そしてオペレーティングシステムおよび/または関連アプリケーションストアのようなプラットフォームのプロバイダは、開発者およびデバイスのユーザに対するそのプラットフォームの望ましさ(desirability)を改善しうる。
1つの実施形態では、ソフトウェア問題報告を管理するためのコンピュータ実装されたシステムが検討される。システムは、多数の異なる開発者組織からのソフトウェア開発者を登録するために登録サブシステムを含む。システムはまた、複数のアプリケーション開発者からの複数のアプリケーションを一般のメンバーが獲得できるようにするアプリケーションストアを含む。システムはまた、アプリケーションストアを使用して分散されたアプリケーションに関する問題の報告を受信し、問題に関するデータを受信し、特定の開発者または特定のアプリケーションの開発者にデータを関連付けるようにプログラムされたアプリケーションバグ追跡装置を含む。また、システムは、1つまたは複数のアプリケーションを提供した開発者に関する1つまたは複数の問題報告を生成するために報告生成装置を含み、問題報告は、開発者によってアプリケーションストアに提供された特定のアプリケーションに関する問題に関するデータについての情報を含む。
実施形態は、以下の特徴の全てを含むかまたは含まなくてもよい。問題の報告は、アプリケーションクラッシュ、アプリケーションフリーズ、過度のバッテリ使用、および手動で起動されたコンピューティングデバイスのユーザコメントからなるグループから選択された問題を含むことができる。システムはまた、問題の報告が特定のコンピューティングデバイスモデルまたはコンピュータオペレーティングシステムに関する問題を示すか否かを特定するために多数のアプリケーションにわたって問題の報告を分析するようにプログラムされたバグ分析装置を含むことができる。バグ分析装置はまた、特定のデバイスモデルまたはオペレーティングシステムバージョンに関して統計的に比較的高い報告頻度を特定することによって、問題の報告が特定のコンピューティングデバイスモデルまたはコンピュータオペレーティングシステムに関する問題を示すことを特定できる。システムは、開発者が取得する権利を有する特定のアプリケーションのユーザに関する情報がどれくらいあるかを特定する信用レベルに基づき、開発者に提供される情報を制限するように配列されうる。システムはまた、開発者が、特定の問題が生じた装置に対するオペレーティングシステムを管理する組織からのコアアプリケーションの開発者であるか否かに基づき、開発者に提供される情報を制限するようにプログラムされうる。
また、システムは、問題のタイプに従って、問題に関する情報をグループ化するように配列されうる。システムは、特定の問題が生じたデバイスに対するオペレーティングシステム識別子およびデバイスタイプを示す情報を提供するように配列されうる。システムはまた、開発者からのアプリケーションのアップロードを受け入れ、アプリケーションがアップロードされた開発者アカウントに各アプリケーションを関連付ける、開発者アップロードインタフェースを含みうる。システムは、特定の開発者に対する異なるバグの割合から判断される深刻レベルによってソートされるバグを、開発者に提供するようにプログラムされうる。
1つの局面では、ソフトウェア問題を管理するためのコンピュータ実装された方法は、中央サーバシステムから離れた複数の異なるコンピューティングデバイスから複数のソフトウェアアプリケーション問題報告を中央サーバシステムで受信することを含む。システムはまた、特定のソフトウェア開発者によって提供された特定のアプリケーションに、問題報告の特定の1つを関連付けることを含む。また、システムは、特定の開発者の1人から識別情報を受信することを含む。システムはまた、識別情報の受信に応じて、1人の開発者によって中央サーバシステムで管理される特定のアプリケーションに関する問題報告を記述する情報を、特定の開発者の1人に提供することを含む。
実施形態は、以下の特徴の全てを含むか、または含まなくてもよい。ソフトウェアアプリケーション問題報告は、フリーズ、クラッシュ、およびユーザにより生成されたコメントに関する報告を含みうる。また、ソフトウェアアプリケーション問題報告は、特定の問題報告を生成したデバイスに関するトレースデータ、およびデバイスの構成に関する情報を含みうる。システムはまた、複数のソフトウェア開発者からソフトウェアアプリケーションアップロードを受信し、アプリケーションに関する開発者アカウントに各アプリケーションを関連付けることを含みうる。
図1Aは、多数の開発者からのソフトウェアを分散し、ソフトウェアの動作に関する情報を集めるためのシステム100を示す概念図である。 図1Bは、ソフトウェアアプリケーションの動作上のフィードバックを提供するための動作を示すフロー図である。 図2は、それらデバイス上のソフトウェアアプリケーションの動作に関するコンピューティングデバイスからの提供を追跡するためのシステム200の概略図である。 図3は、ソフトウェア問題報告を管理するためのプロセスのフローチャートである。 図4は、多数の開発者からのソフトウェアに関する問題の提供を管理するためのプロセスのスイムレーン図である。 図5Aは、ソフトウェアアプリケーションに関して動作上の問題を受けた携帯コンピューティングデバイスの例示的なスクリーンショットである。 図5Bは、ソフトウェアアプリケーションに関して動作上の問題を受けた携帯コンピューティングデバイスの例示的なスクリーンショットである。 図6Aは、ソフトウェア追跡システムによって生成される開発者報告の例示的なスクリーンショットである。 図6Bは、ソフトウェア追跡システムによって生成される開発者報告の例示的なスクリーンショットである。 図6Cは、ソフトウェア追跡システムによって生成される開発者報告の例示的なスクリーンショットである。 図7は、包括的なコンピュータデバイス700および包括的な携帯コンピュータデバイス750の例を示す。
本明細書は、ソフトウェアアプリケーションの動作上のフィードバックを提供するために使用されうる各種技術および技法を開示する。具体的な例では、互いに独立している(例えば、同じ会社で働いていない、同じドメインから働いていない、または共通のソフトウェア開発システムを共有していない)ソフトウェア開発者の分散したグループは、コンピューティングデバイスの各種ユーザがアプリケーションをレビューおよびダウンロードし、しばしばアプリケーションを購入またはライセンスの料金を払うことができる(各開発者が支払いの割り当てを受け取る)アプリケーションストアにそのソフトウェアアプリケーションをアップロードすることがある。デバイス上のオペレーティングシステムは、スタックトレースを維持し、そのような情報を、デバイスに問題、即ちバグがある時、中央サーバシステムにそのような情報を報告することを含む、デバイス上の問題の一般的なエラー処理を実行することができる。そのような情報は、改善策を取ることができ、関連するソフトウェアコードが訂正および更新できるように、問題の原因を診断しようと試みる訓練された個人によって共通に使用される。
ここに開示される例では、各種コンピューティングデバイスから提供されるデータの一部はまた、問題を起こしたか、または問題が生じた時にアクティブだったコードを提供した開発者がレビューできるように作成されうる。そのような動作は、問題が生じた時に関連するアプリケーションまたは複数のアプリケーションを特定し、問題に関する情報をアプリケーションまたは複数のアプリケーションを特定する情報とともに、中央サーバシステムに提供するオペレーティングシステムによって生じうる。中央サーバシステムは次いで、ソフトウェアアプリケーション識別子に関連してデータを格納でき、そのような識別子はまた、アプリケーションの開発者を特定するために使用されうる。(アプリケーションストアまたはオペレーティングシステムの経営者と比較して全く異なる個人または組織でありうる)そのような開発者がシステムにログインし、自分のコードに関する問題の報告を要求する時、システムは、問題データが格納されているデータベースに問合せて特定の開発者に関する全データを発見し、各種方法でデータをフィルタ処理してグループ化する1つまたは複数の報告を生成できる。一例として、個人的に特定可能な情報は、報告に提供されるデータから除去されうるか、または曖昧(obscure)にされうる。また、データは、各アプリケーションに従って格納できるので、開発者は、多数のそのようなアプリケーションを有する場合に、自分の各アプリケーションの相対的な動作に関する理解を素早く得ることができる。
図1Aは、多数の開発者からのソフトウェアを分散し、ソフトウェアの動作に関する情報を集めるためのシステム100を示す概念図である。一般に、システム100は、開発者のグループとユーザのグループ(勿論、開発者の一部がユーザでもよく、その逆でもよい)との間に位置する中央サーバシステムを含む。中央サーバシステムは、開発者からソフトウェアコードアップロードを受信し、ユーザにコードダウンロードを提供し、ユーザからエラーまたは問題データを受信し、開発者への提示のためにそのようなデータをフィルタ処理および整理(organize)する。
図をさらに詳細に参照すると、中央サーバシステムは、アプリケーションセンター102の形式でここに示される。アプリケーションセンター102は、ユーザセンター108および開発者センター110をなす物理的構成要素および論理的構成要素を含む。そのような構成要素は例えば、それぞれユーザおよび開発者にサービスを提供するためのユーザインタフェースを生成するフロントエンドまたはウェブサーバを含むことができる。ユーザセンター108はこの例では、アプリケーションセンター102の経営者によって開発された特定のソフトウェアオペレーティングシステムを動作させる携帯電話またはアプリケーション電話(app phone)を獲得しているそれぞれ個人であるユーザ104と通信する。オペレーティングシステムを備えた全サービスの一部として、経営者は、携帯デバイスに関するソフトウェアアプリケーションのレビューおよび購入にアプリケーションセンター102が利用できるようにする。故に例えば、ユーザA(例えば、10代)は、複数のビデオゲームをダウンロードした可能性があり、ユーザB(例えば、女性社員)は、ホストされたクラウドベースのコンピューティングプラットフォームを利用する各種ビジネスアプリケーションをダウンロードした可能性があり、ユーザC(例えば、大学生)は、(複数の電子書籍教科書と共に)電子書籍リーダアプリケーションおよび各種テスト準備アプリケーションを、数学モデル化アプリケーションと共にダウンロードした可能性がある。各状況では、関連するユーザは、(自分の電話と共に出荷されたアプリケーションを補足しうる)自分のダウンロードしたアプリケーションの各々を立ち上げ、類似の方法でそれと対話しうる。ユーザはまた、必要が生じる時、追加アプリケーションを発見してダウンロードするために、アプリケーションセンター102を再訪問することができる。
時々、問題は、ユーザの104デバイスの各々上で生じることがある。例えば、ユーザは、複数のアプリケーションを同時に動作していることがあり、アプリケーションの1つにクラッシュを引起こすメモリオーバフロー条件を作り出すことがある。代わりに、アプリケーションは、それを閉じさせる動作を実行することにより、ユーザは、アプリケーションが実行しているプロセスを終了する必要がある。代わりに、デバイスのユーザは、問題提供プロセスを呼び出すことができ、それによりユーザは、アプリケーションのエラーを特定するために、またはアプリケーションに対して改善された機能を提供するために、フォームに書き込むことができる。これらのインスタンスおよび類似のインスタンスの各々は、バグとしてここに集められて記載され、その点では、フィードバックがアプリケーションの開発者に与えられる必要があるソフトウェアアプリケーションに関する問題を示す(但し、問題は結局、オペレーティングシステム、デバイスハードウェア、または別のアプリケーションに起因すると判断されることがある)。
ここで示す通り、アプリケーションは、アプリケーションストア112から獲得でき、それは、(アプリケーションストア112の経営者によって提供される最上位アプリケーションの一部に追加して)第三者によって提供されるアプリケーションが、ウェブページの一部として表示可能なウェブサイト等の類似の形式を取ることができ、そのウェブページ上には、ユーザによって選択された時、システム100でユーザのアカウントにログインされるデバイスに、特定の選択されたアプリケーションを供給またはダウンロードさせる制御が表示される。
ユーザセンター108はまた、バグ収集装置116を含み、それは、直接、またはアプリケーションのインスタンスの動作に関して報告するオペレーティングシステム構成要素を介して、ユーザの104デバイスに分散されるアプリケーションのインスタンスと自動的に通信するための構成要素を含む。バグ収集装置はまた、提供の時間および日付、デバイスに関するオペレーティングシステムおよびバージョン、デバイスの製造およびモデル、問題イベントが生じた時にデバイス上で実行していた他のアプリケーション、最近のデバイスアクティビティのトレース、デバイスの構成データ、および他の類似の情報等の情報を含む1つまたは複数のデータベースにデータを配列する等により、永続ストレージ(persistent storage)に集められた情報を再フォーマットすることができる。
アプリケーションセンター102の他の“サイド”には、開発者106が示され、それは、ユーザ104のように、かなり多数存在し、地理的に分布されてもよい。特に、ユーザ104および開発者106は、世界中に広がっていてもよく、インターネットを含む各種ネットワークを介してアプリケーションセンター102にアクセスできる。一例として、システム100は、何千または何万ものアクティブな開発者106および何十万または何百万(または一億)ものアクティブなユーザ104を有することができる。ここで示す技法は特に、比較的大きなユーザのデータが各開発者に供給され、そのようなシステムの開発者は、比較的小規模であり、独自のバグ報告システムを開発できないような、大きな開発者の基盤を備えたシステムで、都合よく作動する。
開発者センター110の第1のメイン構成要素は、アプリケーションマネージャ114である。この構成要素は、ユーザに関するアプリケーションストア112の反対側でもよい。特に、アプリケーションマネージャ114は、システム100の正当な開発者メンバーとして登録するために、および自分が開発したアプリケーションに関するコードまたは自分が商品流通を管理しているコードを後でアップロードするために、開発者がアクセスまたは対話しうるウェブサーバおよび関連するソフトウェアを含むことができる。アプリケーションマネージャ114はまた、複数の追加サービスを提供でき、それは一般に、開発者と対話することで周知であり、開発者が自分のアプリケーションを都合よく管理できるようにする。
バグ報告装置118は、バグ収集装置116に対する開発者サイドのものとして機能し、(楽観的な開発者は、問題を機会としてみなすかもしれないが)問題がソフトウェアに関して生じる時、ソフトウェア分散を達成し、および開発者106で開始し、アプリケーションマネージャ114およびアプリケーションストア112に移動し、次いでアプリケーションを獲得および実行するユーザ104に移動し、バグ収集装置116、バグ報告装置118、および開発者106に戻るフィードバックサイクルを達成する。
バグ報告装置118は特に、開発者106との対話のためのウェブサーバシステムと、各開発者に対応するアプリケーションに関して、ユーザの104デバイスによって経験された問題に関するデータを提供するための報告生成機能とを提供する。報告は、標準(standard)またはカスタムフォーマットでもよい。標準報告は、(ここでは単一のエンティティとして示されるが、互いに協働する多数の異なる組織によって経営されうる)アプリケーションセンター102の経営者によって開発されてもよく、どのように自分の各アプリケーションが実行しているかを見ている開発者によって簡単にアクセスおよび生成されてもよい。カスタム報告は、各個人の開発者によって形成されてもよく、周知のグラフィカル報告開発ツールを使用してもよい。例えば、開発者は、自分の報告で見たいデータの特定のフィールドを選択することがあり、自分の報告の視覚的様子を定義してもよい。開発者はまた、生データの形式で(報告行為がユーザ104間で生じた時にバッチ形式およびリアルタイムの両方で)報告を受信し、自分の機器を使用してデータに関して操作および報告してもよい。また、開発者106は、自分が見たい集約報告を定義してもよい。例えば、開発者が一式の製品(例えば、業績の一式)を開発した場合、開発者は、一式の各構成要素に共通なパラメータに関するセクションと、各構成要素および特定の構成要素に固有なデータに関する分離セクションとを含む報告を望むことができる。
これらの方法では、システム100は、注意を必要としうる開発者のソフトウェア内のバグに関する拡張した役立つフォーマットデータを開発者106に提供できる。特定の開発者は、(オペレーティングシステムが、実行している時にアプリケーションを特定できるメカニズムを提供するのではなく、)特定のデータを得るために、自分のソフトウェアに関して何もしないでよい。特定のインスタンスでは、開発者は、APIを介して等、追加のデータを報告させてもよいが、再び、開発者は、バグ提供(bug submission)を受信するために、クライアントデバイス上のデータを収集するために、および全アプリケーションメンテナンスシステムをも実装するために、全システムを実装する必要がない。結果として、入門レベルの開発者は、自分のアプリケーションを改善するためにプログラムの利益を得ることができ、アプリケーションの消費者は、同様に利益になる。
図1Bは、ソフトウェアアプリケーションの動作上のフィードバックを提供するための動作を示すフロー図である。一般に、アプリケーション開発者が自分のソフトウェアアプリケーションを一般の人に利用可能にして、アプリケーションの動作上のフィードバックを受信し、それによりアプリケーションを容易に、および迅速に改善できる例を説明するために、グラフィカルな時系列がここで示され、左上の角で開始し、右下の方で終了する。
動作120では、アプリケーション開発者は、携帯アプリケーションマーケットにアプリケーションを提供する。提供は、各種適切な方法でもよく、開発者は、アプリケーションを正当化するのを助ける自己署名証明書をアプリケーションに提供し、システムにセキュリティを提供できる。動作122は、同じ開発者によって、または他の開発者によって先にアップロードされた可能性がある3つの他のアプリケーションと共に、携帯アプリケーションマーケット内のアプリケーションの存在を示す。アプリケーションの“所有権”は、アプリケーションをアップロードした、通常は実際の開発者か、または開発者の代わりに働く者でありうるユーザのアカウントにアプリケーションを関連付けることによって維持できる。
動作124では、携帯コンピューティングデバイス(例えば、スマートフォンまたはアプリケーション電話)のユーザは、携帯アプリケーションマーケットを訪問し、自分のアカウント下でシステムにログインすることにより自分自身を特定している。ユーザは次いで、動作120でアップロードされたアプリケーションを選択し、アプリケーションは、インストールされ、周知の方法で、携帯デバイスのユーザによる実行に備えている。
動作126では、爆発のアイコンは、アプリケーションが携帯デバイス上で動作している間、エラーの発生を示す。エラーは、クラッシュまたは動かなくなる状況を含んでよく、またはアプリケーションに関するフィードバックを提供する意図を手動で示すデバイスのユーザに起因することがある。そのようなイベントは、装置上で実行するオペレーティングシステムの構成要素によって等、イベントに関する診断情報を装置上に収集させうる。
動作128では、エラーに関する報告は、携帯デバイス128上に収集され、それは、携帯デバイスの動作およびデバイス上の各種アプリケーションを管理したオペレーティングシステムの制御下で生じうる行為である。例えば、オペレーティングシステムは、プロセスがデバイス上で終了するのに失敗した時を認識するためにプログラムされてもよく、そのようなイベントは、オペレーティングシステムによって動作を収集およびフォーマットする複数のデータをトリガしうる。例えば、トレース、スタック、レジスタ、または他のエンティティの現在のコンテンツは、エラーが生じた時にデバイス上で実行していた全ソフトウェア構成要素に関する識別子として判断されてもよい。そのような情報は次いで、合意標準(agree-upon standard)に従って、情報の所定パケットへ共に収集されてもよい。
動作130では、報告または提供は、少なくとも概念的に、そのような報告に関して追跡および報告のタスクを行う中央サーバシステム上で存在するかのように示される。この例では、報告は、アプリケーションに対する特定のバグに対応するとして分類されており、そこでは、3つの異なるバグが特定されている。そのような分類は例えば、関連するエラーが生じた時にどの部分のコードが実行していたかを特定して、そのコード部分に関する識別子を提供することによって生じることがあり、それにより特定の報告は、バグ報告の生成で共に加えられうる。特定のエラー提供(error submission)に割り当てられるべきバグの特定は、バグトレースシステムのユーザの手動分類によることを含む、他の方法でも実行できる。ここで示す通り、2つの他のバグは、特定されており、それらのバグに関して、それぞれ2および3つのエラー提案がある。故に、この例では、長期にわたり、初期アプリケーションは、8つの異なるエラー提案に対応するとして特定されている。
そのような情報は、アプリケーションの開発者が知るのに重要なことがある。例えば、3つのバグのうち1つは、アプリケーションのユーザの満足度に重要なことがある。開発者がそのようなバグの種類を迅速に確認できた場合、開発者は、それを迅速に訂正して、コードに関する“パッチ”を供給できる(パッチは、アプリケーションをダウンロードした全ユーザへ自動的に押し出されるが、ユーザには、そのような更新を拒絶するための機会が与えられうる)。
動作132および134では、そのような開発者は、全てのその開発者のバグ提供に関する報告を見ることを選択している。この例では、3つのバグが全システムで追跡されているが、動作134に示す通り、バグのうち2つは、動作120からのアプリケーションに関連付けられた。携帯アプリケーションマーケットまたは類似のサブシステムは、この例では故に、特定のエラーに関する情報と、システムによって追跡されているバグの種類を開発者に特定する情報とを示す報告を容易に生成しうる。
特定のインスタンスでは、最終報告で提供されるデータは、携帯デバイスからの提供でアップロードされるデータとは実質的に異なることがある。例えば、個人的に識別可能な情報は、アップロードされたデータから引き離されてもよく、それにより開発者は、デバイスのユーザに関して特定の判断を行えない。一例では、スタックトレースおよびクラッシュ時のデバイスに関する類似の情報は、提供されるが、他の情報(例えば、問題が生じた時にユーザが操作していたデータを反映しうる情報)が渡されないことがある。また、詳細の特定レベルは、中央システムに関連するが、ほとんどの開発者に無関係であり、故に動作134で報告から引き離されてもよい。
図2は、それらデバイス上のソフトウェアアプリケーションの動作に関するコンピューティングデバイスからの提供を追跡するためのシステム200の概略図である。システム200は、図1Aおよび1Bに関して上記で検討したそれらのように行為を実行するために使用されうる。システム200は、かなり単純な形式で明確性のために示され、特定の物理的実装では、かなり多数の追加の構成要素を含みうる。
図を参照すると、システム200が示され、例えばラップトップおよびデスクトップコンピュータを使用しているとして示される各種開発者212は、アプリケーションサーバシステム202にアプリケーションを提供でき、見返りにお金と、その特定の各提供されたアプリケーションの動作に関するフィードバックとを受け取る。そのようなアプリケーションは、ここではアプリケーションをダウンロードおよび実行可能なワイヤレス携帯デバイスを介して示される、各種ユーザ210によって購入または取得されうる。
開発者212およびユーザ210(またはより技術的には、そのデバイス)は一般に、直接互いに通信しないが、代わりにインターネット等のネットワーク204を使用して、アプリケーションサーバシステム202を介して通信しうる。そのようなオープン通信(open communication)により、広範囲の各種開発者タイプおよびユーザは、システム200を使用できるようになる。
アプリケーションサーバシステム202の特定の構成要素は、システム200によってソフトウェアアプリケーションの使用を配置および追跡する機能を提供することができる。例えば、マーケットプレースフロントエンド214は、ユーザ210に利用可能なアプリケーションを表示するユーザインタフェースを生成でき、それによりユーザは、そのようなアプリケーションをレビュー、試行(try)、およびダウンロード可能になる。マーケットプレースマネージャ218は、購入を追跡し、ユーザ210への請求および開発者212への送金額を生成し、およびアプリケーションストア実装の他の周知の機能により等、マーケットプレースフロントエンド214に対してバックエンドサポートを提供することができる。
開発者フロントエンド216は、上記および下記で説明する通り、開発者がシステム200に登録し、アプリケーションをアップロードし、自分のアプリケーションを管理し(例えば、アプリケーションをアップデート、追加、削除し、自分のアプリケーションの売上額を確認し)、自分のアプリケーションの動作上のフィードバックを受信できるようにするユーザインタフェースを生成できる。そのようなフィードバックを提供するにおいて、フロントエンド216は、(例えば、クラッシュ、フリーズ、おおび手動のユーザ報告によって特定されるような)バグが生じた携帯デバイスからのデータのアップロードを管理しうるバグ報告生成装置220にアクセスできる。例えば、バグ報告生成装置は、ユーザデバイスからバグ報告データを受信する機能を持つことができ、バグレポジトリ222のようなストレージに適するようにそれをフォーマットし、次いで開発者が自分の特定のアプリケーションに関する報告確認を要求する時、格納されたデータの全部または一部を読み出す。
バグ報告生成装置220または開発者フロントエンド216、またはその2つの組み合わせは、開発者への配信に適するようにそのようなデータをフィルタ処理し、およびフォーマットしうる。例えば、2つの構成要素は、ウェブページを生成するために協働し、報告に対する開発者の要求に応じて開発者にページを送信できる。同様に、データは、データの配給されたフィードを要求した開発者に効率的にストリームされうるので、開発者は、自分がシステム200に到達するとリアルタイムでバグ報告を確認できる。そのようなリアルタイム報告は、開発者へのSMSメッセージ、XML転送(それにより例えば、開発者は、独自のシステムで分析ツールを使用して、各種バグ報告を整理できる)、および他のそのようなメカニズム等、各種方法で生じることができる。
各種データストアはまた、システム200によって格納、アクセス、および管理されうるデータの例示的形式で図示される。例えば、上記の通り、バグレポジトリは、ユーザ210から生じたバグ報告に関する情報を格納できる。バグ情報は、バグイベントが生じた時に何が問題だったかを開発者または他の技術者が(少なくとも一部、少なくとも時々、または他のバグ報告と組み合わせて)推測できるようにする診断情報を含みうる。バグレポジトリはまた、特定の環境では、開発者212ではなくシステム200の内部にアクセス可能であるべき情報を含みうる。そのような情報は、例えばバグ報告生成装置220および/または開発者フロントエンド216によって、適切な方法でフィルタ処理されうる。
認証データベース224は、開発者212およびユーザ210に関する認証情報を格納できる。認証により、各種人々は、自分のアカウントに関連付けられた関連情報にアクセスし、システム200を介してアプリケーションの売買においてお金を支払い、または受け取ることができるようになる。また、認証は、特定のデータに対する特定のユーザによるアクセスの適切なレベルを判断するために使用されうる。例えば、第三者の開発者は、制限されたアクセスレベルに関連付けられた自分の認証を有することがあるので、自分のアプリケーションに対するバグの報告を要求する時、個人情報は、アプリケーションのユーザに対して匿名性を維持するためにフィルタ処理される。これに対し、内部のユーザは、ユーザデバイス上の欠陥に関するデータへ比較的アクセスしやすい。
最後に、アプリケーションデータストア226は、開発者212によってアップロードされたアプリケーション、およびシステム200の経営者によって初期にマーケットプレース上に置かれたアプリケーションを含む、ユーザ210に利用可能に作成されるアプリケーションを格納する。
サーバシステム202の外側では、ローカル開発者206がこの例でさらに示され、アプリケーションサーバシステム202と同じドメイン内でもよく、アプリケーションサーバシステム202に対してプライベートネットワーク208上で通信しうる。ローカル開発者は、アプリケーションサーバシステムを動作させる組織の従業員等、アプリケーションサーバシステム202の経営者によって信用されているプログラマでもよい。そのようなユーザは、各種方法でアプリケーションサーバシステム202によって特定されてもよく、開発者フロントエンド216は故に、開発者206がエラーデータへ比較的アクセスしやすくし、データを分析するためのより強固なツールへアクセスできる。即ち、開発者206は、開発者としてシステム200によって扱われるが、他の開発者212とは異なって扱われる。
一例として、ユーザ210の一部は、アプリケーションサーバシステム202を提供した組織に提供される特定の個人識別可能なデータを有することに同意しているが、そのような情報を第三者と共有することを拒否している。ローカル開発者206は、開発者212よりもそのような状況で多くの情報にアクセスできる。そのような状況は、ユーザ210の視点から特に好ましいことがあり、その理由は、しばしばローカル開発者206は、システムで最も役立ち、普遍的に配置されているアプリケーションのいくつか(例えば、ワード処理および電子メール)を生成し、ユーザは、自分がプログラムを改善する必要がある全ての事項をそのような開発者に与えたいからである。
図3は、ソフトウェア問題報告を管理するためのプロセスのフローチャートである。一般に、プロセスは、アプリケーションの開発者から各種コンピュータアプリケーションに関するコンピュータコードを受信し、アプリケーションマーケットプレースの一般のメンバーによってダウンロードおよび将来的に購入させるために利用可能なアプリケーションを作成することを含む。各種アプリケーションがシステムの登録ユーザに関する各種コンピュータ上にインストールされた後、アプリケーションは、(例えば、クラッシュまたは他の問題がある時に)警告を生成し始め、そのような警告の情報は、アプリケーションマーケットプレースの経営者に中継して返されることができ、情報は、イベントを有した特定のアプリケーションを提供した対応する開発者に利用可能に作成できるので、その開発者は、自分のアプリケーションに関するコードを改善および編集できる。
プロセスは、ボックス302で開始し、プロセスは、開発者によるアプリケーションのアップロードを受信する。開発者は例えば、大工のための計算器、特定の専門職に対する検索ツール、または携帯コンピューティングデバイス上で実行できる他の類似のアプリケーション等、特定分野の特定のニッチ問題(niche problem)を解決するために単一のアプリケーションを書いた、自分の家で仕事をする個人のプログラマでもよい。開発者は代わりに、アプリケーションマーケットプレース上で販売されるようなアプリケーションの開発を事業とする小さなソフトウェア会社のような、個人のグループを含んでもよい。一般に、開発者は、アプリケーションの販売によって生まれる収入、または各種ユーザにアプリケーションを分散することからもたらされる利益に対して正当な権利を主張する団体である。
ボックス304では、アプリケーションは、マーケットプレース上で利用可能に作成される。そのような動作は、類似の方法で生じることができ、アプリケーションのアイコンおよびテキスト記述のポスティングを含んでもよく、その両方は、開発者によってマーケットプレースに提供される。アプリケーションは、支払いにより購入できるように作成され、または周知技術のフリーダウンロードができるように作成されうる。
ボックス306で、アプリケーションのインスタンスは、アプリケーションのコピーを受信する権利(interest)を通信する購入者に配信される。結果として、アプリケーションのコピーは、アプリケーションストアまたはマーケットプレースにアクセスしているユーザのユーザアカウントに関連付けられた携帯デバイスにダウンロードされうる。ユーザは次いで、自分がアプリケーションを購入したのと同時に、またはその後か、しばらく経った後、アプリケーションをインストールし、自分のデバイス上でそれを実行するために、適切な行為をとりうる。故に、特定のアプリケーションをダウンロードしたデバイスのユーザ、およびアプリケーションをダウンロードした他のユーザは、アプリケーションにアクセスし、自由にアプリケーションと対話しうる。
アプリケーションのそのような対話は、アプリケーションの動作に対して問題のある結果をもたらすことがある。1つのそのような結果は、クラッシュをもたらすことがあるアプリケーションの故障、またはアプリケーションのハングアップ(またはアプリケーションが実行しているプロセス)を含む。もう1つの結果は、ユーザによるアプリケーションに対する不満足であり、その理由は、アプリケーションが不正確に実行されているからであり、またはアプリケーションが特定の改善で良好に実行するとユーザが思うからである。そのような状況では、ユーザの特定のクライアントデバイスは、デバイスから自動的に、またはユーザから手動でデータを収集し、イベントのパラメータを特徴づけることができる。上記説明した各種データは、オペレーティングシステムの構成要素またはアプリケーションによって特定の実装で収集でき、イベント時におけるデバイスの現在のスクリーンショットのような他のデータに追加して、上記検討したような情報と、ユーザがアプリケーションに追加したい一部の機能を示すワードのような、デバイスのユーザによってデバイスに入力されうる情報とを含むことができる。1度そのような診断情報が収集されると、それは、クライアントデバイスからサーバシステムに送信でき、サーバシステムは次いで、警告および他のクライアントデバイスから受信した他の警告に関する情報をフォーマットおよび保存できる(ボックス310)。
そのようなフォーマットおよびフィルタ処理の実行では、中央サーバシステムはまた、アプリケーションに対して生じる同じバグを示すイベントを特定するために、異なるイベントのデータ間で共通のパラメータを特定できる。例えば、2つの異なるイベントに対するトレース情報が互いにかなり近く一致する場合、システムは、両方のイベントが共通のバグの結果だったと推測できる。2つのイベントが同じバグから生じたかどうかを判断するための特定のパラメータは、重み付けされてもよく、その一方で他のパラメータは、イベントが分類されるバグが特定のパラメータに関連するかどうかを判断するものでもよい。そのように特定されるバグの各々には、識別番号が割り当てられてもよく、その番号は、共通のバグを有すると判断される異なる警告データ間の相関関係を生成し、システムのソフトウェアの開発者に対して警告およびバグを記録するグループを提供するために後で使用されてもよい。
ボックス312では、プロセスは、自分の対応するアプリケーションまたは複数のアプリケーションに関するバグ情報を、特定のアプリケーションまたは複数のアプリケーションの開発者に対してフォーマットおよび配信する。上記検討した通り、報告は、ウェブページの印刷報告、XLM形式のようなデータのブロック、またはイベント若しくはイベントのグループがアプリケーションを動作している各種クライアントデバイスによってプロセスに報告される毎にデータ送信することを含むデータのストリームを含む、各種形式を取ることができる。このように、開発者は、ユーザのデバイス上に生じるバグ生成イベントに関する情報を取得でき、およびユーザおよび/またはユーザのデバイスがその情報を提供できる。
図4は、多数の開発者からのソフトウェアに関する問題の提供を管理するためのプロセスのスイムレーン図であり、ソフトウェアは、多数の携帯コンピューティングデバイスにわたってインストールされる。このプロセスは、図3のプロセスに類似するが、システムの特定の構成要素によって実行されうる特定の例示的動作に関して詳述される。プロセスは、ボックス402で開始し、開発者は、ソフトウェアアプリケーションを開発する。そのような開発は、アプリケーションのアーキテクチャ、アプリケーションに対するコードのドラフト、およびアプリケーションに対するコードの一部をパッケージおよび配列することを含みうる。一度アプリケーションが直ちに使用できるようになると、開発者は、類似の方法でアプリケーション格納サーバシステムに登録およびログインし(ボックス404)、サーバシステムは、この方法で開発者に対する対話型セッションを開始しうる(ボックス406)。アプリケーションのタイトル、アプリケーションに課せられる価格、アプリケーションのテキスト記述、ユーザのデバイスおよびアプリケーションストア上で提供されるべきアプリケーションのアイコン、および他の適切なデータ等、アプリケーションに関するメタデータの適切な形式を提供した後、ユーザまたは開発者は、必要なメタデータで自分のアプリケーションまたは複数のアプリケーションをアップロードしうる。
ボックス410では、アプリケーションストアサーバは、アプリケーションを登録し、アプリケーションのパラメータを記述するデータとともにそれを格納するためのスペースを生成し、アプリケーションストア上で利用可能な方法でアプリケーションをホストする。
しばらく経ったある時点で、アプリケーションストアを閲覧しているユーザは、アプリケーションを発見し、それを購入したいと思う。ボックス414では、ユーザは、アプリケーションストアに対して登録およびログインし、その後ユーザとのセッションを開始する(ボックス416)。
ボックス418では、ユーザは、アプリケーションのアイコン上をクリックする等、アプリケーションをダウンロードするコマンドを供給し、次いでユーザがアプリケーションを購入および取得したいことを確認するために特定のスクリーン上の選択可能な制御を選択する。ボックス420では、アプリケーションストアは、ユーザの認証をチェックし、ユーザがアプリケーションストアに対するアカウントを有することを確かめ、次いでユーザがそのようなアカウントを有する場合、ユーザにアプリケーションを提供する。代わりに、サーバは、ユーザがアカウントを有さないと判断することがあり、将来ダウンロードしたアプリケーションに対して支払うユーザからクレジットカード情報を要求することを含む、従来の方法でユーザからのそのような情報を要求しうる。
一度ユーザがアプリケーションをダウンロードすると、ユーザがそれの使用を開始し、そのような使用は、特定の環境では、ボックス422に示す通り、エラーまたは問題となるイベントを生成することがある。エラーイベントの例は、上記にて提供され、デバイスのフリーズ、デバイスのクラッシュ、またはアプリケーションに関して提供された改善または問題に関するユーザからの手動の報告を含んでもよい。ユーザのデバイスは次いで、ボックス424でバグサーバに対して、イベントに関する診断情報と共にそのようなイベントを報告し、データは、受信および記録されうる。クライアントデバイスからのそのような送信は、イベントを被る特定のアプリケーションによって、またはデバイス上に常駐する異なるアプリケーションによって、オペレーティングシステム構成要素を介して生じうる。デバイスおよびバグサーバ間の特定の対話は、API標準によって確立されてもよく、データが適切に送信されるような標準に従ってもよい。
プロセスは次いで、しばらく待機してもよく、他のユーザは、自分のデバイス上でアプリケーションを実行してもよく、その後それらデバイス上の問題に関するデータを報告してもよい。しかし、しばらく経ったある時点で、開発者は、アプリケーションが適切に開いているかを確認したいと望むことがあり、故に最後にログインし(ボックス226)、この時でも、開発者は、バグサーバからの情報を備えることができ、ボックス428でセッションを開始しうる。1つの共通の対話は、開発者によって動作されるコンピューティングデバイスによって作成される1つまたは複数の報告の要求(ボックス430)を含んでもよく、バグサーバはボックス432で、要求された報告を開発者に戻す機能があってもよい。そのような機能は、バグサーバによって特定された特定のポストに従ってエラーイベントデータを整理すること、および開発者が知らされた判断を作成するために必要なデータのみを受信し、アクセスする必要のないデータを受信しないように、データをフィルタ処理することを含む。最後に、ボックス434では、開発者のデバイスは、ウェブページ等の上に記録または報告を表示し、それにより開発者は、1つまたは複数のデバイス上で生じうるエラーに対処するために、それらをレビューでき、自分のソフトウェアを更新するか否かおよびその方法に関する判断を行うことができる。
図5Aおよび5Bは、ソフトウェアアプリケーションに関して動作上の問題を受けた携帯コンピューティングデバイスの例示的なスクリーンショットである。一般に、これらのスクリーンショットは、エラーイベントが生じた時、オペレーティングシステム構成要素によって、またはアプリケーションによって等、クライアントデバイス上で生成されうるスクリーンの2つの例を示す。図5Aのスクリーンショットは、特定のプロセスが予想外に停止したことによって、生成されている警告スクリーンを示す。スクリーンショットは、何が発生したかについてユーザに示し、次いで対応するための2つのオプションをユーザに与える。特に、“強制終了(force close)”を選択して、ユーザは、プロセスをシャットダウンするか、ひいてはユーザがデータを失うかもしれないことを理解した上でアプリケーションをシャットダウンできる。ユーザはまた、問題に関する情報を報告することを選択でき、ユーザは、偏見がなく、アプリケーションの開発者を援助したいと思うか、またはオペレーティングシステムがソフトウェアを改善することで、類似の予想外の停止が将来発生しないようにする。
ユーザが“報告”オプションを選択すると、図5Bのスクリーンショットを表示させる。ここで、ユーザは、どのように問題が中央サーバシステムに報告されるのかを制御するパラメータが示される。特に、送信に適用される適切な個人情報保護(privacy policy)は、ユーザレビューのために表示されることがあり、ユーザは、個人情報保護を訂正または更新するために適切な制御を行うことができる。また、ユーザには、空テキストボックスが提示され、問題のコンテキストをオプションとして記述でき、例えば、“私は、abcアプリケーションにxyzをタイプし、一方同時に電話で話をして、Handbrakeでビデオを変換し、SETIに関してナンバークランチングを行い、フルレス(full res)一人称シューティングゲームをプレイしていて、これといった理由もなく、アプリケーションが私の前で停止した。”そのようなテキストは、問題に関する他の診断情報を備えるフィールドとしてやり過ごされてもよい。特定の環境では、ユーザは、バグが特に処理しにくく、開発者がユーザへの電子メールまたは電話を必要とする場合、自分の連絡先を開発者に提供する機会が与えられてもよい。代わりに、ユーザは、初めから任意の連絡先を提供するように尋ねられないが、開発者は、コメントをレビューする時、連絡先に関する要求を置くことができ、システムは次いで、(thew)ユーザが応答しうるメッセージを生成する。
ユーザは次いで、問題に関してアップロードされる全データのビューが与えられる“プレビュー”ボタン、または情報のそのようなアップロードを引き起こす“送信”を選択できる。
図6A〜6Cは、ソフトウェア追跡システムによって生成される開発者報告の例示的なスクリーンショットである。図6Aは、application com.android.launcher2のバグに関する要約統計である。例えば、クライアントデバイスからの報告または提供の全数が、フリーズおよびクラッシュの両方に対する提供の現在比率として示される。
もう1つのインスタンスでは、デバイスのバッテリ電力および使用量に関する情報は、実行アプリケーションに関する情報と共に報告されうる。例えば、バッテリの電力が突然下がる場合、診断情報は、デバイスからアップロードできるので、中央の研究者(central researcher)は、選挙需要(electoral demand)の原因を判断できる。例えば、特定のアプリケーションは、そのようなイベントが生じた時はいつでもアクティブであるとしてしばしば示される場合、中央システムは、アプリケーションがバッテリ消耗の原因であると推測しうる。
図6Bは、複数の異なるアプリケーションまたはコードファイルに関するが、類似する要約報告である。例えば、コード名は、それが失敗した時にそのコンテキストと、そのような失敗に関する報告数と、そのようなイベントの現在比率と共に示される。
図6Cは、特定のアプリケーションの特定の失敗に関する詳細報告を示し、そして失敗のコンテキストに関するさらなる情報を示す。例えば、デバイスに関するスタックトレースは、特定の他の有益な情報として報告で示される。情報の一部は、ハイパーリンクされてもよく、それによりユーザは、何がここで表示されているかに関する追加のソースデータを確認できる。
図7は、包括的なコンピュータデバイス700および包括的な携帯コンピュータデバイス750の例を示し、ここで説明される技術に使用されうる。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、個人デジタル補助装置、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータ等、デジタルコンピュータの各種形式を示すことを意図する。コンピューティングデバイス750は、個人デジタル補助装置、セルラー電話、スマートフォン、および他の類似のコンピューティングデバイス等、携帯デバイスの各種形式を示すことを意図する。ここに示す構成要素、その接続および関係、およびその機能は、単に例示目的であって、本明細書で説明および/または請求される発明の実施形態を限定することを目的としない。
コンピューティングデバイス700は、プロセッサ702、メモリ704、格納デバイス706、メモリ704と高速拡張ポート710とに接続する高速インタフェース708、および低速バス714と格納デバイス706とに接続する低速インタフェース712を含む。構成要素702、704、706、708、710、および712の各々は、各種バスを使用して相互接続され、共通のマザーボード上または他の適切な方法で搭載されうる。プロセッサ702は、メモリ704内または格納デバイス706上に格納される命令を含む、コンピューティングデバイス700内で実行に関する命令を処理し、高速インタフェース708に連結されるディスプレイ716のような外部入/出力デバイス上にGUIに関するグラフィカル情報を表示することができる。他の実施形態では、多数のメモリおよびメモリの種類と共に、多数のプロセッサおよび/または多数のバスを適切に使用できる。また、多数のコンピューティングデバイス700は、必要な動作の一部を提供する各デバイス(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステム)に接続されてもよい。
メモリ704はコンピューティングデバイス700内に情報を格納する。1つの実施形態では、メモリ704は、揮発性メモリユニットまたは複数のユニットである。もう1つの実施形態では、メモリ704は、不揮発性メモリユニットまたは複数のユニットである。メモリ704はまた、磁気または光学ディスク等、コンピュータ読取可能な媒体の他の形式でもよい。
格納デバイス706は、コンピューティングデバイス700に大容量ストレージを提供できる。1つの実施形態では、格納デバイス706は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光学ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の類似の個体メモリデバイス、またはストレージエリアネットワークまたは他の構成のデバイスを含むデバイスアレイ等、コンピュータ読取可能な媒体であるか、または含んでもよい。コンピュータプログラム製品はまた、情報キャリアに有形に具現されうる。コンピュータプログラム製品はまた、上記説明したような1つまたは複数の方法を実行時に行う命令を含みうる。情報キャリアは、メモリ704、格納デバイス706、プロセッサ702上のメモリ、または伝搬信号等、コンピュータまたは機械読取可能な媒体である。
高速コントローラ708は、コンピューティングデバイス700に対する帯域幅集中動作(bandwidth-intensive operation)を管理し、一方低速コントローラ712は、比較的低い帯域幅集中動作を管理する。機能のそのような割り当ては、単なる例示である。1つの実施形態では、高速コントローラ708は、メモリ704、(グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ716、および高速拡張ポート710に連結され、ポート710は、各種拡張カード(図示せず)を受け入れることができる。実施形態では、低速コントローラ712は、格納デバイス706および低速拡張ポート714に連結される。各種通信ポート(例えば、USB、ブルートゥース、イーサネット(登録商標)、ワイヤレスイーサネット(登録商標))を含みうる低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、または例えばネットワークアダプタを介するスイッチまたはルータのようなネットワークデバイス等、1つまたは複数の入/出力デバイスに連結できる。
コンピューティングデバイス700は、図示の通り、複数の異なる形式で実装されうる。例えば、それは、標準サーバ720として、またはそのようなサーバのグループで複数回実装されてもよい。それはまた、ラックサーバシステム724の一部として実装されてもよい。また、それは、ラップトップコンピュータ722のような個人コンピュータで実装されてもよい。代わりに、コンピューティングデバイス700からの構成要素は、デバイス750のような携帯デバイスの他の構成要素(図示せず)に結合されてもよい。そのようなデバイスの各々は、1つまたは複数のコンピューティングデバイス700、750を含んでもよく、全システムは、互いに通信する多数のコンピューティングデバイス700、750から構成されてもよい。
コンピューティングデバイス750は、他の構成要素の中で、プロセッサ752、メモリ764、ディスプレイ754のような入/出力デバイス、通信インタフェース766、およびトランシーバ768を含む。デバイス750はまた、追加のストレージを提供するためにマイクロドライブまたは他のドライブのような格納デバイスを提供してもよい。各構成要素750、752、764、754、766、および768は、各種バスを使用して相互接続され、いくつかの構成要素は、共通のマザーボード上、または他の適切な方法で搭載されうる。
プロセッサ752は、メモリ764に格納される命令を含む命令を、コンピューティングデバイス750内で実行できる。プロセッサは、分離した多数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装されてもよい。プロセッサは例えば、ユーザインタフェース、デバイス750によって動作するアプリケーション、およびデバイス750によるワイヤレス通信の制御等、デバイス750他の構成要素の調整を提供しうる。
プロセッサ752は、ディスプレイ754に連結される制御インタフェース758およびディスプレイインタフェース756を介してユーザと通信しうる。ディスプレイ754は例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機光ダイオード)ディスプレイ、または他の適切なディスプレイ技術でもよい。ディスプレイインタフェース756は、グラフィカルおよび他の情報をユーザに提示するために、ディスプレイを駆動する適切な回路を含みうる。制御インタフェース758は、ユーザからコマンドを受け取り、プロセッサ752へ提供するためにそれらを変換しうる。また、外部インタフェース762は、プロセッサ752と通信するよう提供され、他のデバイスに対するデバイス750の近接通信を可能にする。外部インタフェース762は例えば、いくつかの実施形態でワイヤード通信を提供し、または他の実施形態でワイヤレス通信を提供してもよく、多数のインタフェースがさらに使用されてもよい。
メモリ764は、コンピューティングデバイス750内に情報を格納する。メモリ764は、1つまたは複数のコンピュータ読取可能な媒体またはメディア、揮発性メモリユニットまたは複数のユニット、または不揮発性メモリユニットまたは複数のユニットとして実装されてもよい。拡張メモリ774がさらに提供され、拡張インタフェース772を介してデバイス750に接続でき、拡張インタフェース772は例えば、SIMM(シングルインラインメモリモジュール)カードインタフェースを含んでもよい。そのような拡張メモリ774は、デバイス750に対して追加の格納スペースを提供してもよく、またはさらにデバイス750に関するアプリケーションまたは他の情報を格納してもよい。特に、拡張メモリ774は、上記説明したプロセスを実行または補足するための命令を含むことができ、セキュア情報も含みうる。故に例えば、拡張メモリ774は、デバイス750に関するセキュリティモジュールとして提供されてもよく、デバイス750の安全な使用を可能にする命令でプログラムされてもよい。また、セキュアアプリケーションは、ハッキング不可能な方法でSIMMカード上に識別情報を設定する等、追加情報と共にSIMMカードを介して提供されてもよい。
メモリは例えば、下記の通り、フラッシュメモリおよび/またはNVRAMメモリを含んでもよい。1つの実施形態では、コンピュータプログラム製品は、情報キャリアに有形に具現される。コンピュータプログラム製品は実行時、上記説明したような1つまたは複数の方法を行う命令を含む。情報キャリアは、メモリ764、拡張メモリ774、プロセッサ752上のメモリ、例えばトランシーバ768または外部インタフェース762上で受信可能な伝搬信号等、コンピュータまたは機械読取可能な媒体である。
デバイス750は、通信インタフェース766を介してワイヤレス通信でき、インタフェース766は、必要に応じてデジタル信号処理回路を含みうる。通信インタフェース766は、GSM(登録商標)音声呼、SMS、EMS、またはMMSメッセージング、CDMA,TDMA、PDC、WCDMA、CDMA2000またはGPRSその他等、各種モードまたはプロトコル下の通信を提供できる。そのような通信は例えば、無線周波トランシーバ768を介して生じうる。また、短距離通信は、ブルートゥース、WiFi、または他のそのようなトランシーバ(図示せず)を使用する等で生じうる。また、GPS(全地球測位システム)受信モジュール770は、デバイス750に追加のナビゲーションおよび位置関連ワイヤレスデータを提供でき、デバイス750上で動作するアプリケーションによって適切に使用されうる。
デバイス750は、音声コーデック760を使用して音声認識可能に通信でき、そのコーデックは、ユーザから話された情報を受信して有益なデジタル情報にそれを変換しうる。音声コーデック760は同様に、スピーカー、例えばデバイス750のハンドセット等を介して、ユーザに対して音声認識可能な音を生成しうる。そのような音は、音声電話呼からの音を含んでもよく、記録された音(例えば、音声メッセージ、音楽ファイル等)を含んでもよく、またデバイス750上で動作するアプリケーションによって生成された音を含んでもよい。
コンピューティングデバイス750は、図示の通り、複数の異なる形式で実装されてもよい。例えば、携帯電話780として実装されてもよい。また、スマートフォン782、個人デジタル補助装置、または他の類似の携帯デバイスの一部として実装されてもよい。
ここに記載したシステムおよび技法の各種実装は、デジタル電子回路、集積回路、専用に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはその組み合わせで実現できる。これら各種実装は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムでの実装を含むことができ、それは、専用または汎用目的でもよく、格納システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスに対して、データおよび命令を受信し、データおよび命令を送信するように結合される。
これらコンピュータプログラム(また、プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとして知られる)は、プログラマブルプロセッサに対する機械命令を含み、高レベルプロシージャおよび/またはオブジェクト指向プログラム言語、および/またはアセンブリ/機械言語で実装されうる。ここで使用される通り、用語“機械読取可能な媒体”は、機械読取可能な信号として機械命令を受信する機械読取可能な媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(例えば、磁気ディスク、光学ディスク、メモリ、プログラマブル論理デバイス(PLD))に言及する。用語“機械読取可能な信号”は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号に言及する。
ユーザとの対話を提供するために、ここで説明されたシステムおよび技法は、ユーザに情報を表示するためのディスプレイデバイス(例えば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ)、およびユーザがコンピュータに入力を提供できるポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上で実装されうる。他の種類のデバイスを使用してユーザとの対話を提供してもよく、例えば、ユーザに提供されるフィードバックは、感覚フィードバックの任意形式(例えば、視覚フィードバック、音声フィードバック、または触覚フィードバック)でもよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意形式で受信されうる。
ここで説明されたシステムおよび技法は、コンピューティングシステムで実装でき、それは、バックエンド構成要素(例えば、データサーバ)を含み、ミドルウェア構成要素(例えば、アプリケーションサーバ)を含み、フロントエンド構成要素(例えば、ユーザがここで説明されたシステムおよび技法の実装と対話できるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)を含み、またはそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組み合わせを含む。システムの構成要素は、デジタルデータ通信の任意形式(例えば、通信ネットワーク)または媒体によって相互接続されてもよい。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、およびインターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含みうる。クライアントおよびサーバは一般に、互いに離れており、通信ネットワークを介して通常、対話する。クライアントおよびサーバの関係は、各コンピュータ上で動作し、互いにクライアント‐サーバ関係を有するコンピュータプログラムによって生じる。
複数の実施形態が説明された。一方で、各種修正が本発明の精神および範囲から逸脱しないで行えることが分かる。例えば、この明細書の大部分は、電話ダイヤリングアプリケーションに関して説明されているが、英数字だけでなく、グラフィカルアイコンおよびマクロを含むキーパッド等、他の形式のアプリケーションおよびキーパッドレイアウトも適用できる。
また、図に示す論理フローは、所望の結果を達成するために、図示されている特定の順番、即ち順次的順番を要しない。また、他のステップが提供されてもよく、即ちステップが、説明されたフローから削除されてもよく、他の構成要素が、説明されたシステムに対して追加または除去されてもよい。従って、他の実施形態は、以下の特許請求の範囲内にある。
102:アプリケーションセンター
108:ユーザセンター
110:開発者センター
112:アプリケーションストア
114:アプリケーションマネージャ
116:バグ収集装置
118:バグ報告装置

Claims (20)

  1. ソフトウェア問題報告を管理するためのコンピュータ実装されたシステムであって:
    多数の異なる開発者組織からのソフトウェア開発者を登録するためのコンピュータサーバシステム内の登録サブシステムと;
    コンピュータサーバシステム上で実行可能であり、複数のアプリケーション開発者からの複数のアプリケーションを一般のメンバーが獲得できるようにするアプリケーションストアと;
    アプリケーションストアを使用して分散されたアプリケーションに関する問題の報告を受信するように、問題に関するデータを受信するように、および特定のアプリケーションまたは特定のアプリケーションの開発者にデータを関連付けるように、プログラムされたアプリケーションバグ追跡装置と;
    1つまたは複数のアプリケーションを提供した開発者に対する1つまたは複数の問題報告を生成するための報告生成装置であって、問題報告は、開発者によってアプリケーションストアへ提供された特定のアプリケーションに関する問題に関するデータについての情報を含む、報告生成装置と;
    を具備することを特徴とするシステム。
  2. 問題の報告は、アプリケーションクラッシュ、アプリケーションフリーズ、過度のバッテリ使用、および手動で起動されたコンピューティングデバイスユーザコメントからなるグループから選択される問題を含むことを特徴とする請求項1に記載のシステム。
  3. 問題の報告が特定のコンピューティングデバイスモデルまたはコンピュータオペレーティングシステムに関する問題を示すか否かを判断するために、多数のアプリケーションにわたる問題の報告を分析するようにプログラムされたバグ分析装置をさらに具備することを特徴とする請求項1に記載のシステム。
  4. バグ分析装置は、特定のデバイスモデルまたはオペレーティングシステムバージョンに関して統計的に比較的高い報告頻度で判断することによって、問題の報告が特定のコンピューティングデバイスモデルまたはコンピュータオペレーティングシステムに関する問題を示すことを判断することを特徴とする請求項1に記載のシステム。
  5. システムは、開発者が取得する権利を有する特定のアプリケーションのユーザに関する情報がどれくらいあるのか判断する信用レベルに基づき、開発者に提供される情報を制限するように配列されることを特徴とする請求項1に記載のシステム。
  6. システムは、開発者が、特定の問題が生じたデバイスに関するオペレーティングシステムを管理する組織からのコアアプリケーションの開発者であるか否かに基づき、開発者に提供される情報を制限するようにプログラムされることを特徴とする請求項1に記載のシステム。
  7. システムは、問題のタイプに従って問題に関する情報をグループ化するように配列されることを特徴とする請求項1に記載のシステム。
  8. システムは、特定の問題が生じたデバイスに関するデバイスタイプおよびオペレーティングシステム識別子を示す情報を、問題報告で提供するように配列されることを特徴とする請求項1に記載のシステム。
  9. 開発者からのアプリケーションのアップロードを受け入れ、アップロードされたアプリケーションの各アプリケーションとアプリケーションがアップロードされた開発者アカウントとを関連付ける開発者アップロードインタフェースをさらに具備することを特徴とする請求項1に記載のシステム。
  10. システムは、特定の開発者に関して異なるバグが生じる割合から判断される深刻度レベルによってソートされたバグを開発者に提示するようにプログラムされることを特徴とする請求項1に記載のシステム。
  11. ソフトウェア問題報告を管理するためのコンピュータ実装された方法であって:
    中央サーバシステムから離れている複数の異なるコンピューティングデバイスから複数のソフトウェアアプリケーション問題報告を中央サーバシステムで受信する段階と;
    特定のソフトウェア開発者によって提供された特定のアプリケーションに、問題報告の特定の1つを関連付ける段階と;
    特定の開発者のうち1人の開発者から識別情報を受信する段階と;
    識別情報の受信に応じて、1人の開発者によって中央サーバシステムで管理される特定のアプリケーションに関する問題報告を記述する情報を、特定の開発者の1人に提供する段階と;を具備し、
    中央サーバシステムは、特定のアプリケーションがコンピュータユーザに分散されるアプリケーションストアに関連して、互いに独立している複数の開発者に対する問題報告を管理することを特徴とする方法。
  12. ソフトウェアアプリケーション問題報告は、フリーズ、クラッシュ、およびユーザ生成されたコメントに関する報告を具備することを特徴とする請求項11に記載のシステム。
  13. ソフトウェアアプリケーション問題報告は、特定の問題報告を生成したデバイスに対するトレースデータ、およびデバイスの構成に関する情報を含むことを特徴とする請求項11に記載のシステム。
  14. 複数のソフトウェア開発者からのソフトウェアアプリケーションアップロードを受信し、アプリケーションに関する開発者アカウントに各アップロードされたアプリケーションを関連付け、アップロードされたアプリケーションの特定の1つと受信した問題報告とを関連付けることをさらに具備することを特徴とする請求項11に記載のシステム。
  15. 複数の開発者の各々からの識別情報を受信し、それに応じて、特定の開発者に関するアカウントと特定の開発者に関してアプリケーションストアによって分散されたアプリケーションとを関連付け、特定の開発者に対応する特定のアプリケーションに関する特定の開発者に問題報告を記述する情報を配信することをさらに具備することを特徴とする請求項11に記載のシステム。
  16. 命令を記録する1つまたは複数の有形で記録可能なメディアであって、1つまたは複数のプロセッサによって実行される時:
    中央サーバシステムから離れている複数の異なるコンピューティングデバイスから複数のソフトウェアアプリケーション問題報告を中央サーバシステムで受信する段階と;
    特定のソフトウェア開発者によって提供された特定のアプリケーションと問題報告の特定の1つとを関連付ける段階と;
    特定の開発者のうち1人の開発者から識別情報を受信する段階と;
    識別情報の受信に応じて、1人の開発者によって中央サーバシステムで管理される特定のアプリケーションに関する問題報告を記述する情報を、特定の開発者の1人に提供する段階と;
    を具備する動作を実行し、
    中央サーバシステムは、特定のアプリケーションがコンピュータユーザに分散されるアプリケーションストアに関連して、互いに独立している複数の開発者に対する問題報告を管理することを特徴とするメディア。
  17. ソフトウェアアプリケーション問題報告は、フリーズ、クラッシュ、およびユーザ生成されたコメントに関する報告を具備することを特徴とする請求項16に記載の有形メディア。
  18. ソフトウェアアプリケーション問題報告は、特定の問題報告を生成したデバイスに対するトレースデータ、およびデバイスの構成に関する情報を含むことを特徴とする請求項16に記載の有形メディア。
  19. 動作は、複数のソフトウェア開発者からのソフトウェアアプリケーションアップロードを受信し、アプリケーションに関する開発者アカウントと各アップロードされたアプリケーションとを関連付け、アップロードされたアプリケーションの特定の1つと受信した問題報告とを関連付けることをさらに具備することを特徴とする請求項16に記載の有形メディア。
  20. 動作は、複数の開発者の各々からの識別情報を受信し、それに応じて、特定の開発者に関するアカウントと特定の開発者に関してアプリケーションストアによって分散されたアプリケーションとを関連付け、特定の開発者に対応する特定のアプリケーションに関する特定の開発者に問題報告を記述する情報を配信することをさらに具備することを特徴とする請求項11に記載の有形メディア。
JP2013511363A 2010-05-19 2011-05-19 バグクリアリングハウス Active JP5937577B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34645310P 2010-05-19 2010-05-19
US61/346,453 2010-05-19
PCT/US2011/037210 WO2011146750A2 (en) 2010-05-19 2011-05-19 Bug clearing house

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016095944A Division JP6165922B2 (ja) 2010-05-19 2016-05-12 バグクリアリングハウス

Publications (3)

Publication Number Publication Date
JP2013531839A true JP2013531839A (ja) 2013-08-08
JP2013531839A5 JP2013531839A5 (ja) 2014-06-26
JP5937577B2 JP5937577B2 (ja) 2016-06-22

Family

ID=44992344

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013511363A Active JP5937577B2 (ja) 2010-05-19 2011-05-19 バグクリアリングハウス
JP2016095944A Active JP6165922B2 (ja) 2010-05-19 2016-05-12 バグクリアリングハウス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016095944A Active JP6165922B2 (ja) 2010-05-19 2016-05-12 バグクリアリングハウス

Country Status (8)

Country Link
US (4) US8898637B2 (ja)
EP (1) EP2572282A4 (ja)
JP (2) JP5937577B2 (ja)
KR (2) KR101789266B1 (ja)
CN (2) CN103038752B (ja)
AU (1) AU2011255477B2 (ja)
CA (1) CA2798759C (ja)
WO (1) WO2011146750A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015219640A (ja) * 2014-05-15 2015-12-07 ソニー株式会社 ハードウェアまたはソフトウェアのエレメントを連係動作させることによって機能を実現させるための方法およびシステム
JP2016533595A (ja) * 2013-09-12 2016-10-27 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited クライアントのダウンロード及びインストール方法及び装置

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103038752B (zh) 2010-05-19 2016-04-13 谷歌公司 一种用于管理软件问题报告的方法、***和设备
US8516308B1 (en) * 2011-03-09 2013-08-20 Amazon Technologies, Inc. Crash based incompatibility prediction for classes of mobile devices crash data
US8788944B1 (en) 2011-03-09 2014-07-22 Amazon Technologies, Inc. Personalized mobile device application presentation using photograph-based capability detection
US8438532B2 (en) 2011-04-19 2013-05-07 Sonatype, Inc. Method and system for scoring a software artifact for a user
US8612936B2 (en) 2011-06-02 2013-12-17 Sonatype, Inc. System and method for recommending software artifacts
US8572553B2 (en) * 2011-06-10 2013-10-29 International Business Machines Corporation Systems and methods for providing feedback for software components
US8713531B1 (en) * 2011-06-28 2014-04-29 Google Inc. Integrated bug tracking and testing
US8473894B2 (en) 2011-09-13 2013-06-25 Sonatype, Inc. Method and system for monitoring metadata related to software artifacts
US8627270B2 (en) 2011-09-13 2014-01-07 Sonatype, Inc. Method and system for monitoring a software artifact
US9141378B2 (en) * 2011-09-15 2015-09-22 Sonatype, Inc. Method and system for evaluating a software artifact based on issue tracking and source control information
US9244510B1 (en) * 2011-09-23 2016-01-26 The Mathworks, Inc. Bug report checks in a modeling system
US9262250B2 (en) 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
US9703680B1 (en) * 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
US9087154B1 (en) 2011-12-12 2015-07-21 Crashlytics, Inc. System and method for providing additional functionality to developer side application in an integrated development environment
US20130159851A1 (en) * 2011-12-20 2013-06-20 Bewo Technologies Pvt.Ltd Method and system for providing help content to users
US8862947B1 (en) * 2011-12-29 2014-10-14 Google Inc. Application version deployment using crash reports
CN102591667B (zh) * 2012-01-16 2015-05-27 深圳市同洲电子股份有限公司 一种远程发布应用的方法及装置
US8656343B2 (en) 2012-02-09 2014-02-18 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
JP6024126B2 (ja) * 2012-03-02 2016-11-09 株式会社リコー 障害対応支援装置、障害対応支援システム、障害対応支援方法、及び障害対応支援プログラム
US8825689B2 (en) 2012-05-21 2014-09-02 Sonatype, Inc. Method and system for matching unknown software component to known software component
US9792585B2 (en) * 2012-06-21 2017-10-17 Google Inc. Mobile application management
US9141408B2 (en) 2012-07-20 2015-09-22 Sonatype, Inc. Method and system for correcting portion of software application
US9135263B2 (en) 2013-01-18 2015-09-15 Sonatype, Inc. Method and system that routes requests for electronic files
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US20140237304A1 (en) * 2013-02-20 2014-08-21 Htc Corporation Method for collecting error status information of an electronic device
US20140244516A1 (en) * 2013-02-25 2014-08-28 Carrier Iq, Inc. Mobile Wireless Customer Micro-Care Apparatus and Method
US9213622B1 (en) * 2013-03-14 2015-12-15 Square, Inc. System for exception notification and analysis
US20140279131A1 (en) * 2013-03-14 2014-09-18 Robert Edward Sullivan On-line marketplace service
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
US9009544B2 (en) * 2013-03-28 2015-04-14 Oracle International Corporation User operation history for web application diagnostics
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
WO2014176587A2 (en) 2013-04-26 2014-10-30 The Trustees Of Columbia University In The City Of New York Systems and methods for mobile applications
KR20140128737A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 어플리케이션 결함을 관리하기 위한 장치 및 방법
US9734040B2 (en) 2013-05-21 2017-08-15 Microsoft Technology Licensing, Llc Animated highlights in a graph representing an application
US8990777B2 (en) 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US20140379747A1 (en) * 2013-06-19 2014-12-25 Microsoft Corporation Identifying relevant apps in response to queries
EP3019971B1 (en) * 2013-07-12 2020-05-06 Google LLC Methods and systems for performance monitoring for mobile applications
US9280841B2 (en) 2013-07-24 2016-03-08 Microsoft Technology Licensing, Llc Event chain visualization of performance data
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
US9298588B2 (en) 2013-09-04 2016-03-29 Microsoft Technology Licensing, Llc Tracing system for application and module tracing
US9311213B2 (en) 2013-09-04 2016-04-12 Microsoft Technology Licensing, Llc Module database with tracing options
CN105723357B (zh) * 2013-09-04 2019-06-28 微软技术许可有限责任公司 共享模块环境中的因模块而异的跟踪
WO2015071778A1 (en) 2013-11-13 2015-05-21 Concurix Corporation Application execution path tracing with configurable origin definition
WO2015071777A1 (en) 2013-11-13 2015-05-21 Concurix Corporation Software component recommendation based on multiple trace runs
US10241785B2 (en) 2013-11-13 2019-03-26 Microsoft Technology Licensing, Llc Determination of production vs. development uses from tracer data
US9626239B2 (en) * 2014-01-06 2017-04-18 Red Hat, Inc. Bug reporting and communication
KR102298562B1 (ko) * 2014-01-17 2021-09-06 에스케이플래닛 주식회사 애플리케이션 실행 품질 서비스 시스템 및 방법
US9697545B1 (en) 2014-03-11 2017-07-04 Vmware, Inc. Service monitor for monitoring and tracking the performance of an application running on different mobile devices
CN103886255B (zh) * 2014-03-12 2017-11-10 可牛网络技术(北京)有限公司 应用程序的隐私权限管理方法和装置
US9836343B2 (en) 2014-03-17 2017-12-05 Microsoft Technology Licensing, Llc Framework for user-mode crash reporting
US9898189B2 (en) * 2014-03-17 2018-02-20 Htc Corporation User trial feedback method, electronic device and computer-readable medium
US9952847B1 (en) * 2014-05-20 2018-04-24 Charles E. Comer Process for user-requested acquisition of remote content
US9436533B2 (en) 2014-05-30 2016-09-06 Apteligent, Inc. System for monitoring and tracking application crashes occurring on different mobile devices
US20170220340A1 (en) * 2014-08-06 2017-08-03 Nec Corporation Information-processing system, project risk detection method and recording medium
US20160048383A1 (en) * 2014-08-13 2016-02-18 Microsoft Technology Licensing, Llc Isv update delivery
US10114627B2 (en) * 2014-09-17 2018-10-30 Salesforce.Com, Inc. Direct build assistance
US11195162B2 (en) 2014-10-06 2021-12-07 Vmware, Inc. System for defining and tracking transactions of mobile devices
CN104281526A (zh) * 2014-10-28 2015-01-14 用友软件股份有限公司 故障反馈方法、故障反馈***和终端
US9747152B2 (en) 2015-04-27 2017-08-29 Splunk Inc. Tracking incomplete transactions in correlation with application errors
US20160357530A1 (en) * 2015-06-05 2016-12-08 Apple Inc. Method and apparatus for intermediate representation of applications
US9785535B2 (en) 2015-08-10 2017-10-10 Accenture Global Services Limited Multi-data analysis based proactive defect detection and resolution
EP3131014B1 (en) * 2015-08-10 2021-12-29 Accenture Global Services Limited Multi-data analysis based proactive defect detection and resolution
US10146512B1 (en) 2015-08-28 2018-12-04 Twitter, Inc. Feature switching kits
JP2018522317A (ja) * 2015-09-02 2018-08-09 グーグル エルエルシー ソフトウェア開発および分散プラットフォーム
US10025701B2 (en) * 2016-05-16 2018-07-17 Google Llc Application pre-release report
US9971594B2 (en) 2016-08-16 2018-05-15 Sonatype, Inc. Method and system for authoritative name analysis of true origin of a file
JP6944177B2 (ja) * 2017-03-01 2021-10-06 株式会社デプロイゲート コミュニケーションプログラム、情報処理装置、及びコミュニケーション方法
US10482000B2 (en) * 2017-04-24 2019-11-19 Microsoft Technology Licensing, Llc Machine learned decision guidance for alerts originating from monitoring systems
CN107563205A (zh) * 2017-09-20 2018-01-09 杭州安恒信息技术有限公司 典型智能设备漏洞检测方法及渗透装置
US10733040B2 (en) * 2018-02-01 2020-08-04 Faro Technologies, Inc. Individual bug fixed messages for software users
CN111061410B (zh) * 2018-10-16 2021-08-13 华为技术有限公司 一种冻屏处理方法及终端
JPWO2020179833A1 (ja) * 2019-03-07 2020-09-10
KR102199247B1 (ko) * 2019-04-02 2021-01-07 넷마블 주식회사 버그 제보를 위한 게임 서비스 제공 시스템
CN110580154A (zh) * 2019-05-24 2019-12-17 ***股份有限公司 基于h5接入方式的接入方法及其接入组件和移动终端
US11182042B2 (en) * 2019-06-26 2021-11-23 Sap Se Application input and feedback system
US11443345B2 (en) 2019-06-27 2022-09-13 International Business Machines Corporation Application modification using software services
KR20210055387A (ko) 2019-11-07 2021-05-17 삼성전자주식회사 컨텍스트에 기반하여 애플리케이션을 제공하는 서버 및 그 제어 방법
CN110990427B (zh) * 2019-12-16 2024-05-10 北京智游网安科技有限公司 一种应用程序所属区域统计方法、***及存储介质
US11645192B2 (en) 2020-03-11 2023-05-09 Nec Corporation Graph-based method for inductive bug localization
US20210304142A1 (en) * 2020-03-31 2021-09-30 Atlassian Pty Ltd. End-user feedback reporting framework for collaborative software development environments
CN115310099A (zh) * 2022-10-12 2022-11-08 北京盛邦赛云科技有限公司 漏洞坐标系建立方法、漏洞分析方法、装置及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149855A (ja) * 2000-11-10 2002-05-24 Hitachi Ltd ソフトウェア問題管理システム
US20070168343A1 (en) * 2006-01-18 2007-07-19 Best Steven F Method and system for automatic identification and notification of relevant software defects
JP2011525275A (ja) * 2008-06-06 2011-09-15 アップル インコーポレイテッド 移動装置のアプリケーション管理のためのユーザインターフェイス

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2224689C (en) * 1995-06-02 2002-10-29 Rational Software Corporation Remote monitoring of computer programs
US6725399B1 (en) * 1999-07-15 2004-04-20 Compuware Corporation Requirements based software testing method
US6665824B1 (en) 2000-05-15 2003-12-16 Microsoft Corporation System and method for handling a failure reporting conversation
US7657872B2 (en) * 2000-10-23 2010-02-02 Nintendo Of America Inc. Product testing and bug tracking system
US7234131B1 (en) 2001-02-21 2007-06-19 Raytheon Company Peer review evaluation tool
EP1402352A4 (en) 2001-02-22 2010-08-25 Accenture Global Services Gmbh DISTRIBUTED DEVELOPMENT ENVIRONMENT FOR BUILDING INTERNET APPLICATIONS BY DEVELOPERS AT DISCONTINUED LOCATIONS
US6978441B2 (en) * 2001-10-03 2005-12-20 Sun Microsystems, Inc. Rating apparatus and method for evaluating bugs
US7401321B2 (en) 2003-04-14 2008-07-15 International Business Machines Corporation Method and apparatus for processing information on software defects during computer software development
US20050097516A1 (en) * 2003-11-05 2005-05-05 Microsoft Corporation Extensible and dynamically-configurable problem-reporting client
US7603653B2 (en) 2004-03-15 2009-10-13 Ramco Systems Limited System for measuring, controlling, and validating software development projects
US20060015840A1 (en) 2004-03-31 2006-01-19 Wendall Marvel Parameter-based software development, distribution, and disaster recovery
US7509626B1 (en) 2004-03-31 2009-03-24 Sprint Communications Company Demonstrating proof of concept of a project with requirements component providing weights on importance and tracking with use cases
US20060168569A1 (en) * 2005-01-26 2006-07-27 Microsoft Corporation Beta parser
US8126760B2 (en) * 2005-03-25 2012-02-28 Microsoft Corporation Work item tracking system for projects
US7458064B2 (en) * 2005-04-11 2008-11-25 Microsoft Corporation Methods and apparatus for generating a work item in a bug tracking system
US7743360B2 (en) * 2005-07-05 2010-06-22 Microsoft Corporation Graph browser and implicit query for software development
US7739653B2 (en) * 2005-07-05 2010-06-15 Microsoft Corporation Representing software development item relationships via a graph
US7614043B2 (en) 2005-08-26 2009-11-03 Microsoft Corporation Automated product defects analysis and reporting
US7305325B2 (en) * 2006-01-12 2007-12-04 International Business Machines Corporation Method to improve requirements, design manufacturing, and transportation in mass manufacturing industries through analysis of defect data
JP2007272443A (ja) 2006-03-30 2007-10-18 Hokkaido Univ 開発支援装置、開発支援方法および開発支援プログラム
US9047164B2 (en) * 2006-09-12 2015-06-02 Opshub, Inc. Calculating defect density by file and source module
CN101155230B (zh) * 2006-09-29 2010-05-26 海尔集团公司 一种网络家电故障反馈***
US20080141221A1 (en) * 2006-12-08 2008-06-12 Microsoft Corporation Using recorder technology to find defects in software applications
US7954008B2 (en) * 2007-01-15 2011-05-31 Microsoft Corporation Objective assessment of application crashes from a customer environment
WO2008124038A1 (en) * 2007-04-03 2008-10-16 Ldra Technology, Inc. Automated management of software requirements verification
JP2008271126A (ja) 2007-04-19 2008-11-06 Ntt Docomo Inc 移動端末装置、移動端末装置の診断方法
US7890814B2 (en) * 2007-06-27 2011-02-15 Microsoft Corporation Software error report analysis
US20110010214A1 (en) * 2007-06-29 2011-01-13 Carruth J Scott Method and system for project management
US7895470B2 (en) * 2007-07-09 2011-02-22 International Business Machines Corporation Collecting and representing knowledge
WO2009054847A1 (en) 2007-10-23 2009-04-30 Qualcomm Incorporated Management of failures in wireless field devices
US8448138B2 (en) * 2008-01-15 2013-05-21 Microsoft Corporation Recording user-driven events within a computing system
US7512933B1 (en) 2008-01-27 2009-03-31 International Business Machines Corporation Method and system for associating logs and traces to test cases
US8271949B2 (en) * 2008-07-31 2012-09-18 International Business Machines Corporation Self-healing factory processes in a software factory
US20100070231A1 (en) * 2008-09-05 2010-03-18 Hanumant Patil Suhas System and method for test case management
EP2380106B1 (en) * 2008-12-18 2018-05-30 Koninklijke Philips N.V. Software bug and performance deficiency reporting system
US9020943B2 (en) * 2009-01-07 2015-04-28 Oracle International Corporation Methods, systems, and computer program product for automatically categorizing defects
US8745153B2 (en) * 2009-02-09 2014-06-03 Apple Inc. Intelligent download of application programs
US20100235430A1 (en) * 2009-03-13 2010-09-16 Bruce Kim Methods and systems to provide services to a mobile device
US8418147B1 (en) * 2009-05-08 2013-04-09 Versionone, Inc. Methods and systems for reporting on build runs in software development
US8438544B2 (en) * 2009-06-18 2013-05-07 International Business Machines Corporation Open systems developer portal and managing software development projects
US8332808B2 (en) * 2009-10-21 2012-12-11 Celtic Testing Expert, Inc. Systems and methods of generating a quality assurance project status
US8407724B2 (en) * 2009-12-17 2013-03-26 Oracle International Corporation Agile help, defect tracking, and support framework for composite applications
US20110252405A1 (en) 2010-04-10 2011-10-13 Ilan Meirman Detecting user interface defects in a software application
CN103038752B (zh) 2010-05-19 2016-04-13 谷歌公司 一种用于管理软件问题报告的方法、***和设备
US20110321007A1 (en) * 2010-06-29 2011-12-29 International Business Machines Corporation Targeting code sections for correcting computer program product defects using records of a defect tracking system
WO2012066091A1 (en) * 2010-11-21 2012-05-24 Verifyter Ab Method and apparatus for automatic diagnosis of software failures
US9286193B2 (en) * 2011-04-12 2016-03-15 Accenture Global Services Limited Prioritization and assignment manager for an integrated testing platform
US20130104105A1 (en) * 2011-04-18 2013-04-25 Julian M. Brown Test data supply chain manager for an integrated testing platform
US8826222B2 (en) * 2011-08-02 2014-09-02 International Business Machines Corporation Pre-merge conflict avoidance
US9491072B2 (en) * 2013-07-09 2016-11-08 Oracle International Corporation Cloud services load testing and analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149855A (ja) * 2000-11-10 2002-05-24 Hitachi Ltd ソフトウェア問題管理システム
US20070168343A1 (en) * 2006-01-18 2007-07-19 Best Steven F Method and system for automatic identification and notification of relevant software defects
JP2011525275A (ja) * 2008-06-06 2011-09-15 アップル インコーポレイテッド 移動装置のアプリケーション管理のためのユーザインターフェイス

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015021598; Phil Keys: '「Appleに続け」、競争激化するケータイ向けアプリ・ストア' 日経エレクトロニクス 第1018号 NIKKEI ELECTRONICS , 20091127, 第71頁〜第78頁, 日経BP社 Nikkei Business Publications,Inc. *
JPN6015021600; 岩田 英丈 Hidetake Iwata: 'オープンソース開発における障害報告とソフトウェアの変更コストとの関係分析 An Analysis of Relationshi' レクチャーノート/ソフトウェア学31 ソフトウェア工学の基礎XII , 20051130, 第43頁〜第48頁, 株式会社近代科学社 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016533595A (ja) * 2013-09-12 2016-10-27 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited クライアントのダウンロード及びインストール方法及び装置
JP2015219640A (ja) * 2014-05-15 2015-12-07 ソニー株式会社 ハードウェアまたはソフトウェアのエレメントを連係動作させることによって機能を実現させるための方法およびシステム
US10021612B2 (en) 2014-05-15 2018-07-10 Sony Corporation Method and system for realizing function by causing elements of hardware or software to perform linkage operation
US10142901B2 (en) 2014-05-15 2018-11-27 Sony Corporation Method and system for realizing function by causing elements of hardware to perform linkage operation
US10448299B2 (en) 2014-05-15 2019-10-15 Sony Corporation Method and system for realizing function by causing elements of hardware to perform linkage operation
US10728818B2 (en) 2014-05-15 2020-07-28 Sony Corporation Method and system for realizing function by causing elements of hardware to perform linkage operation
US10887809B2 (en) 2014-05-15 2021-01-05 Sony Corporation Method and system for realizing function by causing elements of hardware to perform linkage operation
US11570676B2 (en) 2014-05-15 2023-01-31 Sony Corporation Method and system for realizing function by causing elements of hardware to perform linkage operation
US11991580B2 (en) 2014-05-15 2024-05-21 Sony Group Corporation Method and system for realizing function by causing elements of hardware to perform linkage operation

Also Published As

Publication number Publication date
KR20130114592A (ko) 2013-10-17
CN103038752A (zh) 2013-04-10
WO2011146750A2 (en) 2011-11-24
US8898637B2 (en) 2014-11-25
US20160299756A1 (en) 2016-10-13
US20110314438A1 (en) 2011-12-22
US8381189B2 (en) 2013-02-19
EP2572282A2 (en) 2013-03-27
WO2011146750A3 (en) 2012-01-26
US10007512B2 (en) 2018-06-26
US20120023475A1 (en) 2012-01-26
KR101829406B1 (ko) 2018-02-19
KR20170119725A (ko) 2017-10-27
KR101789266B1 (ko) 2017-11-20
CN103038752B (zh) 2016-04-13
US20150234699A1 (en) 2015-08-20
US9323598B2 (en) 2016-04-26
JP5937577B2 (ja) 2016-06-22
JP6165922B2 (ja) 2017-07-19
AU2011255477B2 (en) 2015-04-02
CN105868039B (zh) 2019-09-06
JP2016173844A (ja) 2016-09-29
CN105868039A (zh) 2016-08-17
CA2798759A1 (en) 2011-11-24
AU2011255477A1 (en) 2012-11-22
EP2572282A4 (en) 2017-04-26
CA2798759C (en) 2018-09-04

Similar Documents

Publication Publication Date Title
JP6165922B2 (ja) バグクリアリングハウス
US8423954B2 (en) Interactive container of development components and solutions
US8175936B2 (en) Method and system for identifying reusable development components
US8745583B2 (en) Method and system for managing development components
US8095911B2 (en) Method and system for utilizing development components
JP6426732B2 (ja) 自動的に生成された仮想環境を用いたユーザサポートエクスペリエンス
US20100088234A1 (en) Unified analytics across a distributed computing services infrastructure
US10540053B2 (en) Methods and systems for managing community information
AU2011229697A1 (en) System and method for cloud enterprise services
US10140667B2 (en) Social customer relationship management opportunity templating
Chakraborty et al. Understanding Azure Monitoring: Includes IaaS and PaaS Scenarios
JP7136836B2 (ja) 情報処理方法、情報処理装置及びプログラム
US9367373B2 (en) Automatic configuration consistency check
US20240160481A1 (en) Automated task management in analytics computing systems
IaaS et al. Understanding Azure Monitoring
Rao Instant Oracle BPM for Financial Services How-to
Sanders et al. Pro BAM in BizTalk Server 2009
WO2016157079A1 (en) Evaluation of comuting device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150608

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150903

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151002

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151118

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160512

R150 Certificate of patent or registration of utility model

Ref document number: 5937577

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250