IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ジョーンズ,マリア フランシスカの特許一覧

特許7512041第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置
<>
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図1
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図2
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図3
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図4
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図5A
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図5B
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図6A
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図6B
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図6C
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図6D
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図7A
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図7B
  • 特許-第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-28
(45)【発行日】2024-07-08
(54)【発明の名称】第1コンピュータ状態から異なるコンピュータ状態へデータを転送する方法及び装置
(51)【国際特許分類】
   G06F 3/04842 20220101AFI20240701BHJP
【FI】
G06F3/04842
【請求項の数】 21
(21)【出願番号】P 2019572370
(86)(22)【出願日】2018-06-13
(65)【公表番号】
(43)【公表日】2020-08-27
(86)【国際出願番号】 GB2018051617
(87)【国際公開番号】W WO2019008318
(87)【国際公開日】2019-01-10
【審査請求日】2021-06-10
【審判番号】
【審判請求日】2023-06-07
(31)【優先権主張番号】1710831.7
(32)【優先日】2017-07-05
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】518232135
【氏名又は名称】ジョーンズ,マリア フランシスカ
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジョーンズ,マリア フランシスカ
(72)【発明者】
【氏名】ジョーンズ,アレクサンダー
【合議体】
【審判長】篠塚 隆
【審判官】山澤 宏
【審判官】富澤 哲生
(56)【参考文献】
【文献】特開平10-261038(JP,A)
【文献】特開2002-7834(JP,A)
【文献】松山 茂,iPhone X 完全ガイド 初版,第1版,株式会社マイナビ出版 滝口 直樹
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/03- 3/04895
(57)【特許請求の範囲】
【請求項1】
プログラムが現在のコンピュータプログラム状態においてユーザインタフェース上に現在の表示を生成しているときに、前記現在のコンピュータプログラム状態の前記現在の表示において表示されているデータを、次のコンピュータプログラム状態の異なる表示に転送する方法であって:
複数の現在のコンピュータプログラム状態の各々についての複数の次のコンピュータプログラム状態と、対応する複数のユーザ事前定義アクションとを識別する、格納されたデータにアクセスするステップであって、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、異なる表示を表示する次のコンピュータプログラム状態に遷移させるためのものである、ステップと;
インタフェースオブジェクトのコードを実行するステップであって;
前記現在のコンピュータプログラム状態において前記プログラムによって生成された前記現在の表示の領域上にオーバーレイされる前記インタフェースオブジェクトの表現を表示し、
前記現在のコンピュータプログラム状態において前記プログラムによって生成された前記現在の表示上に表示されているデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記プログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は前記次のコンピュータプログラム状態を表し、前記ユーザ遷移入力は、前記複数のユーザ事前定義アクションのうちの1つを含み、前記ユーザ遷移入力に含まれるユーザ事前定義アクションは、前記現在のコンピュータプログラム状態から前記異なる表示を表示する前記次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現をディスプレイ画面上のある方向に移動させるユーザ選択を含み、
前記次のコンピュータプログラム状態において、前記異なる表示上にオーバーレイさせて、前記インタフェースオブジェクトの前記表現を維持し、
前記次のコンピュータプログラム状態で使用するために、前記データストアにロードされた前記データの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記次のコンピュータプログラム状態で前記異なる表示を表示する前記プログラムへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトのコードを実行するステップと;
を含む、方法。
【請求項2】
コンピュータプログラム状態はウェブページの実行及び表示を含む、
請求項1に記載の方法。
【請求項3】
前記インタフェースオブジェクトの前記表現は、データがいつ前記インタフェースオブジェクトにロードされるかを示すように修正される、
請求項1又は2のいずれか一項に記載の方法。
【請求項4】
前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するユーザ入力を受け取るステップと、前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するステップとを更に含む、
請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記ユーザアンロード入力は、前記インタフェースオブジェクトにロードされた前記データ上の前記表示された情報の少なくとも一部の選択を含む、
請求項4に記載の方法。
【請求項6】
記インタフェースオブジェクトは、実行されると、前記プログラム及び前記異なるプログラムを含む、少なくとも1つのプログラムをロードする、
請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
前記インタフェースオブジェクトは、少なくとも1のユーザに関連付けられ、ユーザ識別データを格納し、当該方法は、前記ユーザによるユーザアクションに関する情報を格納するステップを更に含む、
請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
前記インタフェースオブジェクトは、広告主と関連付けられており、当該方法は、前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための広告を出力するステップと、前記ユーザアクションに関する前記格納された情報を前記広告主に送信するステップとを更に含む、
請求項7に記載の方法。
【請求項9】
前記ユーザアクションに関する前記送信された情報に応答して、前記広告主から前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための更新された広告を受け取るステップを含む、
請求項8に記載の方法。
【請求項10】
プログラムが現在のコンピュータプログラム状態においてユーザインタフェース上に現在の表示を生成しているときに、前記現在のコンピュータプログラム状態の前記現在の表示において表示されているデータを、次のコンピュータプログラム状態の異なる表示に転送するための装置であって、当該装置は:
少なくとも1つのプロセッサと;
命令を格納するメモリと;を含み、
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに;
複数の現在のコンピュータプログラム状態の各々についての複数の次のコンピュータプログラム状態と、対応する複数のユーザ事前定義アクションとを識別する、格納されたデータにアクセスさせることであって、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、異なる表示を表示する次のコンピュータプログラム状態に遷移させるためのものであること;
インタフェースオブジェクトのコードを実行させることであって
前記現在のコンピュータプログラム状態において前記プログラムによって生成された前記現在の表示の領域上にオーバーレイされる前記インタフェースオブジェクトの表現を表示し、
前記現在のコンピュータプログラム状態において前記プログラムによって生成された前記現在の表示上に表示されているデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記プログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は前記次のコンピュータプログラム状態を表し、前記ユーザ遷移入力は、前記複数のユーザ事前定義アクションのうちの1つを含み、前記ユーザ遷移入力に含まれるユーザ事前定義アクションは、前記現在のコンピュータプログラム状態から前記異なる表示を表示する前記次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現をディスプレイ画面上のある方向に移動させるユーザ選択を含み、
前記次のコンピュータプログラム状態において、前記異なる表示上にオーバーレイさせて、前記インタフェースオブジェクトの前記表現を維持し、
前記次のコンピュータプログラム状態で使用するために、前記データストアにロードされたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記次のコンピュータプログラム状態で前記異なる表示を表示する前記プログラムへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトのコードを実行させる;
装置。
【請求項11】
コンピュータプログラム状態はウェブページの実行及び表示を含む、
請求項10に記載の装置。
【請求項12】
前記インタフェースオブジェクトの前記表現は、データがいつ前記インタフェースオブジェクトにロードされるかを示すように修正される、
請求項10又は11に記載の装置。
【請求項13】
前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するユーザ入力を受け取り、前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するために、前記少なくとも1つのプロセッサによって実行可能な命令を更に含む、
請求項10乃至12のいずれか一項に記載の装置。
【請求項14】
前記ユーザアンロード入力は、前記インタフェースオブジェクトにロードされた前記データ上の前記表示された情報の少なくとも一部の選択を含む、
請求項13に記載の装置。
【請求項15】
記インタフェースオブジェクトは、実行されると、前記プログラム及び前記異なるプログラムを含む、少なくとも1つのプログラムをロードする、
請求項10乃至14のいずれか一項に記載の装置。
【請求項16】
前記インタフェースオブジェクトは、少なくとも1のユーザに関連付けられ、ユーザ識別データを格納し、
前記ユーザによるユーザアクションに関する情報を格納するために前記少なくとも1つのプロセッサによって実行可能な命令を更に含む、
請求項10乃至15のいずれか一項に記載の装置。
【請求項17】
前記インタフェースオブジェクトは、広告主と関連付けられており、
前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための広告を出力し、前記ユーザアクションに関する前記格納された情報を前記広告主に送信するために前記少なくとも1つのプロセッサによって実行可能な命令を更に含む、
請求項16に記載の装置。
【請求項18】
前記ユーザアクションに関する前記送信された情報に応答して、前記広告主から前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための更新された広告を受け取る前記少なくとも1つのプロセッサによって実行可能な命令を更に含む、
請求項17に記載の装置。
【請求項19】
プログラムが現在のコンピュータプログラム状態においてユーザインタフェース上に現在の表示を生成しているときに、前記現在のコンピュータプログラム状態の前記現在の表示において表示されているデータを、次のコンピュータプログラム状態の異なる表示に転送する方法であって、当該方法は:
複数の現在のコンピュータプログラム状態の各々についての複数の次のコンピュータプログラム状態と、対応する複数のユーザ事前定義アクションとを識別する、格納されたデータにアクセスするステップであって、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、異なる表示を表示する次のコンピュータプログラム状態に遷移させるためのものである、ステップと;
インタフェースオブジェクトのコードを実行するステップであって;
少なくとも1つのアプリケーションをロードし、
前記ロードされたアプリケーションのうちの1つを前記現在のコンピュータプログラム状態で実行して前記ユーザインタフェース上に表示を生成し、
前記現在のコンピュータプログラム状態において前記アプリケーションによって生成された前記現在の表示の領域上にオーバーレイされる前記インタフェースオブジェクトの表現を表示し、
前記現在のコンピュータプログラム状態において前記アプリケーションによって生成された前記現在の表示上に表示されているデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記アプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は前記次のコンピュータプログラム状態を表し、前記ユーザ遷移入力は、前記複数のユーザ事前定義アクションのうちの1つを含み、前記ユーザ遷移入力に含まれるユーザ事前定義アクションは、前記現在のコンピュータプログラム状態から前記異なる表示を表示する前記次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現をディスプレイ画面上のある方向に移動させるユーザ選択を含み、
前記次のコンピュータプログラム状態において、前記異なる表示上にオーバーレイさせて、前記インタフェースオブジェクトの前記表現を維持し、
前記次のコンピュータプログラム状態で使用するために、前記データストアにロードされた前記データの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記次のコンピュータプログラム状態で前記異なる表示を表示する前記アプリケーションへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトのコードを実行するステップ;
を含む、方法。
【請求項20】
プログラムが現在のコンピュータプログラム状態においてユーザインタフェース上に表示を生成しているときに、前記現在のコンピュータプログラム状態の前記現在の表示において表示されているデータを、次のコンピュータプログラム状態の異なる表示に転送するための装置であって、当該装置は:
少なくとも1つのプロセッサと;
命令を格納するメモリと;
を含み、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
複数の現在のコンピュータプログラム状態の各々についての複数の次のコンピュータプログラム状態と、対応する複数のユーザ事前定義アクションとを識別する、格納されたデータにアクセスさせることであって、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、異なる表示を表示する次のコンピュータプログラム状態に遷移させるためのものであることと;
インタフェースオブジェクトのコードを実行させることであって;
少なくとも1つのアプリケーションをロードし、
前記ロードされたアプリケーションのうちの1つを前記現在のコンピュータプログラム状態で実行して前記ユーザインタフェース上に表示を生成し、
前記現在のコンピュータプログラム状態において前記アプリケーションによって生成された前記現在の表示の領域上にオーバーレイされる前記インタフェースオブジェクトの表現を表示し、
前記現在のコンピュータプログラム状態において前記アプリケーションによって生成された前記現在の表示上に表示されているデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記アプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は前記次のコンピュータプログラム状態を表し、前記ユーザ遷移入力は、前記複数のユーザ事前定義アクションのうちの1つを含み、前記ユーザ遷移入力に含まれるユーザ事前定義アクションは、前記現在のコンピュータプログラム状態から前記異なる表示を表示する前記次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現をディスプレイ画面上のある方向に移動させるユーザ選択を含み、
前記次のコンピュータプログラム状態において、前記異なる表示上にオーバーレイさせて、前記インタフェースオブジェクトの前記表現を維持し、
前記次のコンピュータプログラム状態で使用するために、前記データストアにロードされた前記データの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記次のコンピュータプログラム状態で前記異なる表示を表示する前記アプリケーションへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトのコードを実行させる;
装置。
【請求項21】
請求項1乃至9又は19いずれか一項に記載の方法を実行するためのプロセッサによる実行のためのプロセッサ実行可能コードを記憶する非一時的記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、第1コンピュータ状態から異なるコンピュータ状態へデータを転送するための方法及び装置に関する。
【背景技術】
【0002】
コンピュータ、ラップトップタブレット、パーソナルデジタルアシスタント及びモバイルデバイス及び電話を含むコンピューティングデバイスの使いやすさは、非常に重要である。ユーザが複雑な一連の動作を覚えることを要する複数のステップを必要とするプロセスの単純化は避けるべきである。
【0003】
ユーザは、コンピューティングデバイスを使用するときに、あるプログラムの表示出力のような1つのコンピュータ状態から、同じプログラムの異なる状態又は異なるプログラムのような別のコンピュータ状態へ何度も移動する必要がある可能性がある。コンピューティングデバイスのユーザビリティは、良好に設計されたユーザインタフェースによって大幅に向上させることができる。
【発明の概要】
【0004】
一態様は、プログラムがユーザインタフェース上で表示を生成しているときに、第1コンピュータプログラム状態からデータを転送する方法を提供し、当該方法は、プログラムによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し;プログラムによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り;選択されたデータをインタフェースオブジェクトのデータストアにロードし;異なる表示を生成するようプログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し;異なる表示上にオーバーレイされるインタフェースオブジェクトの表現を維持し;異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り;異なるコンピュータ状態で異なる表示を表示するプログラムへの入力としてデータをアンロードする、インタフェースオブジェクトを実行するステップ、を含む。
【0005】
別の態様は、プログラムがユーザインタフェース上に表示を生成しているときに、第1コンピュータプログラム状態からデータを転送するための装置を提供し、当該装置は、少なくとも1つのプロセッサと;命令を格納するメモリであって、プログラムによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し;プログラムによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り;選択されたデータをインタフェースオブジェクトのデータストアにロードし;異なる表示を生成するようプログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し;異なる表示上にオーバーレイされるインタフェースオブジェクトの表現を維持し;異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り;異なるコンピュータ状態で異なる表示を表示するプログラムへの入力としてデータをアンロードする、インタフェースオブジェクトを実行するために、少なくとも1つのプロセッサによって実行可能な命令を格納するメモリとを含む。
【0006】
更なる態様は、コンピュータプログラム状態間でデータを転送する方法を提供し、当該方法は、少なくとも1つのアプリケーションをロードし;ロードされたアプリケーションのうちの1つを第1コンピュータプログラム状態で実行してユーザインタフェース上に表示を生成し;アプリケーションによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し;アプリケーションによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り;選択されたデータをインタフェースオブジェクトのデータストアにロードし;異なる表示を生成するようアプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し;異なる表示上にオーバーレイされるインタフェースオブジェクトの表現を維持し;異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り;異なるコンピュータ状態で異なる表示を表示するアプリケーションへの入力としてデータをアンロードする、インタフェースオブジェクトを実行するステップを含む。
【0007】
更なる態様は、プログラムがユーザインタフェース上に表示を生成しているときに、第1コンピュータプログラム状態からデータを転送するための装置を提供し、当該装置は:少なくとも1つのプロセッサと;命令を格納するメモリであって;少なくとも1つのアプリケーションをロードし;ロードされたアプリケーションのうちの1つを第1コンピュータプログラム状態で実行してユーザインタフェース上に表示を生成し;アプリケーションによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し;アプリケーションによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り;選択されたデータをインタフェースオブジェクトのデータストアにロードし;異なる表示を生成するようアプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し;異なる表示上にオーバーレイされるインタフェースオブジェクトの表現を維持し;異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り;異なるコンピュータ状態で異なる表示を表示するアプリケーションへの入力としてデータをアンロードする、インタフェースオブジェクトを実行するために、少なくとも1つのプロセッサによって実行可能な命令を格納するメモリとを含む。
【0008】
本発明の別の態様は、延期探索方法(deferred search method)を実行するためにプロセッサによって実行可能なコードを担持する搬送媒体又は記憶媒体を提供する。
【図面の簡単な説明】
【0009】
図1】一実施形態による、インタフェースオブジェクトコードモジュールを示す概略図である。
【0010】
図2】一実施形態による、インタフェースオブジェクトを利用するコンピュータシステムを示す概略図である。
【0011】
図3】一実施形態による、インタフェースオブジェクトを使用する方法のフロー図である。
【0012】
図4】一実施形態による、インタフェースオブジェクトを使用するウェブベースのシステムを示す概略図である。
【0013】
図5A】一実施形態による、図4のシステムを使用する方法のフロー図である。
図5B】一実施形態による、図4のシステムを使用する方法のフロー図である。
【0014】
図6A】一実施形態による方法の間に生成されるユーザインタフェースである。
図6B】一実施形態による方法の間に生成されるユーザインタフェースである。
図6C】一実施形態による方法の間に生成されるユーザインタフェースである。
図6D】一実施形態による方法の間に生成されるユーザインタフェースである。
【0015】
図7A】別の実施形態による方法の間に生成されるユーザインタフェースである。
図7B】別の実施形態による方法の間に生成されるユーザインタフェースである。
【0016】
図8】一実施形態で使用するための基本的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0017】
以下の詳細な説明では添付の図面を参照する。添付の図面は、本明細書の一部を形成し、本発明の主題が実施され得る具体的な実施形態が例示によって示される。これらの実施形態は、当業者がそれらを実施することができるように十分に詳細に説明されており、また、他の実施形態が利用されてもよく、本発明の主題の範囲から逸脱することなく、構造的、論理的及び電気的変更が行われてもよいことが理解されるべきである。本発明の主題のそのような実施形態は、個々に及び/又は集合的に、本明細書において「発明」という用語で呼ばれることがあるが、単なる便宜性のためであり、2つ以上のものが開示されている場合に、本出願の範囲をいずれかの単一の発明又は発明の概念に自主的に限定する意図はない。
【0018】
したがって、以下の説明は、限定的な意味で解釈されるべきではなく、本発明の主題の範囲は、添付の特許請求の範囲によって定義される。
【0019】
以下の実施形態では、同様の構成要素は同様の参照番号でラベル付けされる。
【0020】
以下の実施形態では、データは、少なくとも1つのデータベースに格納されているものとして説明される。データベースという用語は、データを格納及び/又は編成するための任意のデータ構造(及び/又は複数のデータ構造の組合せ)を包含するように意図され、リレーショナルデータベース(例えばOracle(登録商標)データベース、mySQL(登録商標)データベース等)、非リレーショナルデータベース(例えばNoSQLデータベース等)、インメモリデータベース、スプレッドシート、CSV(as comma separated values)ファイル、eXML(eXtendible markup language)ファイル、TXT(TeXT)ファイル、フラットファイル、スプレッドシートファイル及び/又はデータストレージのために任意の他の広く使用される又は独自のフォーマットを含むが、これらに限定されない。データベースは、典型的に、1つ以上のデータストアに格納される。したがって、本明細書(例えば本明細書の説明及び/又は本出願の図面)において言及される各データベースは、1つ以上のデータストアに格納されるものとして理解されるべきである。「ファイルシステム」は、どのようにデータを格納及び/又は取り出すかを制御してよい(例えばFAT、NTFS、光ディスク等のディスクファイルシステム、フラッシュファイルシステム、テープファイルシステム、データベースファイルシステム、トランザクションファイルシステム、ネットワークファイルシステム等)。簡単性のために、本開示は本明細書では、データベースに関連して説明される。しかしながら、本明細書に開示されているシステム及び技術は、ファイルシステム又はデータベースとファイルシステムの組合せで実装されてよい。
【0021】
以下の実施形態において、データストアという用語は、任意のコンピュータ読取可能な記憶媒体及び/又はデバイス(又はデータ記憶媒体及び/又はデバイスの集合)を包含するように意図される。データストアの例には、光ディスク(例えばCD-ROM、DVD-ROM等)、磁気ディスク(例えばハードディスク、フロッピーディスク等)、メモリ回路(例えばソリッドステートドライブ、ランダムアクセスメモリ(RAM)等)及び/又は同様のものが含まれるが、これらに限定されない。データストアの別の例は、物理的なデータ・ストレージ・デバイスの集合を含むホスト型ストレージ環境であり、これはリモートからアクセス可能であり、必要に応じて迅速に提供され得る(一般に「クラウド」ストレージと呼ばれる)。
【0022】
本明細書で説明される機能又はアルゴリズムは、一実施形態では、ハードウェア、ソフトウェア又はソフトウェアとハードウェアの組合せで実装される。ソフトウェアは、メモリ又は他のタイプのストレージデバイスのようなコンピュータ読取可能担持媒体に記憶されるコンピュータ実行可能命令を含む。さらに、説明される機能は、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組合せであり得るモジュールに対応し得る。複数の機能は、所望に応じて1つ以上のモジュールで実行され、説明される実施形態は単なる例である。ソフトウェアは、デジタル信号プロセッサ、ASIC、マイクロプロセッサ、あるいはパーソナルコンピュータ、サーバ、ルータ又はネットワーク相互接続装置を含むデータを処理することができる他の装置のようなシステム上で動作する他のタイプのプロセッサ上で実行される。
【0023】
いくつかの実施形態は、モジュール間及びモジュールを介して通信される関連する制御及びデータ信号を用いて、あるいは特定用途向け集積回路の一部として、2つ以上の特定の相互接続されたハードウェアモジュール又はデバイスにおける機能を実装する。したがって、例示的なプロセスフローは、ソフトウェア、ファームウェア及びハードウェアの実装に適用可能である。
【0024】
一般化された実施形態は、プログラムがユーザインタフェース上に表示を生成しているときに、第1コンピュータプログラム状態からデータを転送するように動作する、方法、コンピュータ装置及び搬送媒体方法を提供し、方法を提供する。インタフェースオブジェクトは、コードとして実行され、プログラムによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し;プログラムによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り;選択されたデータをインタフェースオブジェクトのデータストアにロードし;異なる表示を生成するようプログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し;異なる表示上にオーバーレイされる前記インタフェースオブジェクトの表現を維持し;異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り;異なるコンピュータ状態で異なる表示を表示するプログラムへの入力としてデータをアンロードする。
【0025】
したがって、一般化された実施形態は、ある状態でプログラムが実行されたときに、ユーザが、ユーザインタフェース上に表示されたデータを格納し、そのデータを、別のコンピュータ状態にある同プログラム又は異なるプログラムについての別の表示へ可視的な方法で持ち越すことができ、その結果、そのデータを、異なるコンピュータプログラム状態にあるユーザインタフェースの入力としてアンロードするかコピーすることができる方法を提供する。インタフェースオブジェクトの表現の持続的な可視的性質は、ユーザが、インタフェースオブジェクトがあるディスプレイから次のディスプレイへのデータのキャリアとして機能していることを理解することを支援する。このようにして、あるユーザインタフェース表示内に表示されるテキスト又は画像データのようなデータを、別の表示における入力として使用するために持ち越すことができ、ユーザは、インタフェースオブジェクトの表現の存在によってそのデータが持ち越されるのを見ることができる。
【0026】
複数の現在のプログラム状態の各々について次のコンピュータプログラム状態を識別するデータを格納してもよい。「現在のプログラム状態」という用語は単に、現在のプログラム状態で実行されるときに、次のプログラム状態が、ユーザの入力に応じて、それに続く状態であることを示すように意図される。ユーザ入力は、各々が、複数の次の状態のうちの1つに遷移させる命令に対応する、複数の明確に定義されたユーザアクションを含むことができる。そのような明確に定義されたユーザ定義アクションの例は、指定された方向又はパターンにおけるカーソルの移動、あるいはディスプレイ上のインタフェースオブジェクトの表現の移動(例えばタッチスクリーンディスプレイ上のドラッグ操作又はスイップ操作)を含むことができる。あるいは、明確に定義されたユーザアクションは、F1やF2等といったキーボードのキー押下であってもよい。
【0027】
ユーザに向上した認識を提供するために、インタフェースオブジェクトの表現は、いつデータがインタフェースオブジェクトにロードされるかを示すように修正することができる。
【0028】
インタフェースオブジェクトの表現は、任意の適切なイメージ又はグラフィックを含むことができ、アニメーション化されたグラフィック又はビデオとすることも可能である。表現は、表示スペースを過度に消費せず、また、プログラムによって生成される表示に利用可能であるように表示スペースの大部分を残すように、アイコンのような小さなサイズのものとすることができる。この表現は、取引用のカート、文書又はテキスト用のフォルダ又はブリーフケース、球技用のボール、あるいは車両又は個人といった、任意の適切なグラフィックを含むことができる。このようなグラフィックは、次のプログラム状態用の次の表示への遷移を示すようにディスプレイを横切って動かすことができ、また、歩行者、転がるボール又は走っている車両のように、グラフィックをアニメーション化して動きを示すこともできる。また、グラフィックは、データが搬送されていることを示すように修正することもでき、例えばバスケット又はカートが、その中に何かがあるように修正されることができ、人が何かを運んでいるように示すこともできる。また、アニメーションはオーディオを含むことができる。
【0029】
インタフェースオブジェクトにロードされたデータ上の情報を表示するための入力を受け取ることができ、その情報を表示することができる。情報は、単にタイトル又は簡潔な要約とすることができ、あるいはデータ自体であってもよい。ユーザは、例えばインタフェースオブジェクトの表現(グラフィック又はアイコン)を選択すること、例えばその上をクリック又はタップすることによって、単に情報を表示するように選択することができる。この場合、次のプログラム状態用の表示にデータをアンロードするためのユーザ入力は、表示された情報の少なくとも一部の選択を含むことができる。
【0030】
インタフェースオブジェクトは、ユーザに関連付けることができ、識別情報及びユーザによるアクションに関する情報を、ユーザの好み及び挙動を示すユーザ履歴データについて格納することができる。インタフェースオブジェクトは広告主と関連付けられることがあり、インタフェースオブジェクトの表現(例えばグラフィック又はアイコン)の少なくとも一部として広告を出力することができ、ユーザに関する格納された情報を広告主に送信することができる。これに応えて、広告主は、表現の一部として、更新された広告の表示のために、更新された広告をインタフェースオブジェクトに送信することができます。このようにして、広告主は、該広告主がユーザのための広告をターゲットにすることを可能にする代わりに、事前定義された次のアクションのような特定の機能を有する有用なインタフェースアプリケーションモジュールをユーザに提供することができる。
【0031】
一実施形態では、インタフェースオブジェクトは、プログラムモジュールとしてロードされると、少なくとも1つのプログラムを自動的にロードすることができ、その結果、インタフェースオブジェクトは、ロードされた複数のアプリケーションでの使用を目的としたインタフェースオブジェクトを有するホリスティックな処理環境を提供する際にユーザを支援する。一例としては、オフィスワーク用のインタフェースオブジェクトが挙げられるインタフェースオブジェクトは、ワードプロセッサプログラム及びプレゼンテーションプログラムを自動的に開くことができる。インタフェースアプリケーションは、ワード処理文書にオーバーレイされているインタフェースオブジェクトからの遷移を引き起こすように予め定義された、特定の明確に定義されたユーザ入力アクションを有してもよく、その結果、文書のコンテンツがインタフェースオブジェクトにロードされると、ユーザは、インタフェースオブジェクトが、表示されたインタフェース上でプレゼンテーションアプリケーションへのアンロードに利用可能なデータコンテンツとオーバーレイされるように、プレゼンテーションアプリケーションを自動的に開くよう命令を入力することができる。
【0032】
一実施形態では、ユーザインタフェースは、表示出力及びユーザによるポインタデバイス及びキーボード入力を有する従来のウェブサイトとして提供され得る。代替の実施形態では、インタフェースは、キーボード、タッチスクリーン、ポインタデバイス(マウス、トラックボール、トラックパッド又はペンデバイス等)、サウンド又はユーザからの発話を認識する音声認識ハードウェア及び/又はソフトウェア、ジェスチャ認識入力ハードウェア及び/又はソフトウェア等のようなユーザ入力として任意の形態の視覚出力及び任意の形態の入力によって提供され得る。
【0033】
一実施形態では、ユーザインタフェースは、2016年12月30日に出願された「USER INTERFACE METHOD AND APPARATUS」という名称の同時係属の米国特許出願第15/395,343号に開示される方法を使用して提供されることができ、その内容は全体として本明細書に組み込まれている。米国特許出願第15/395,343のユーザインタフェースは、ユーザが入力及び選択のためにシステムと対話する手段を提供することができる。
【0034】
一実施形態では、方法及びシステムは、2016年12月30日に出願された「AN ELECTRONIC TRANSACTION METHOD AND APPARATUS」という名称の同時係属の米国特許出願第15/395,487号に開示される電子取引方法及びシステムとともに使用されることができ、その内容が全体として本明細書に組み込まれている。米国特許出願第15/395,487号の取引方法及びシステムは、第1プログラム状態から次のプログラム状態への遷移であり、インタフェースオブジェクトにロードされるデータは、取引データ、例えばレジで購入される製品(有形製品、仮想製品及びサービスを含む)の製品情報を含む取引システム内のバスケット又はカートである。
【0035】
一実施形態では、方法及びシステムは、本出願と同日に出願された「EVENT BASED DEFERRED SEARCH METHOD AND SYSTEM」と題された同時係属中の米国特許出願第 号に開示された方法及びシステムとともに使用することができ、その内容は全体として本明細書に組み込まれる。
【0036】
次に、図面を参照して特定の実施形態について説明する。
【0037】
図1は、一実施形態によるインタフェースオブジェクトコードモジュールを示す概略図である。
【0038】
図1は、インタフェースオブジェクト1のコード構造を示す。インタフェースオブジェクトは、インタフェースオブジェクトの機能を実行するコアモジュール2と、インタフェースオブジェクトの定義データを格納する定義データストア3とを備える。定義データは、以下のデータを含むことができる:
● オブジェクトタイプデータ - 例えばインタフェースオブジェクトがインスタンスであるオブジェクトのタイプを定義する。
● 表示上のインタフェースオブジェクトの表現のためのアイコン/画像/ビデオ/オーディオ
● 事前定義されたユーザ入力に応答する事前定義されたアクション。これは、インタフェースオブジェクトに、コンピューティングデバイスを次のプログラム状態に移動させるために認識されることになるユーザ入力を定義する。例えば取引実装に対して、プログラム状態をチェックアウトウェブページに持って行く右スワイプである。次のプログラム状態は次のプログラム状態のシーケンスを含むことができ、その結果、ユーザが次のプログラム状態への選択を行うと、コンピューティングデバイスは、次のプログラム状態が現在のプログラム状態になるように遷移を行い、シーケンス内の次のプログラム状態は、所定のユーザ入力に応答する次のプログラム状態になる。
● ロードすべき所定のアプリケーション-このデータは、インタフェースオブジェクトがロードされて、プログラム状態への遷移又は遷移のシーケンスの一部として処理する準備が整ったときにロードすべきすべてのアプリケーションを識別することができる。
● ユーザデータは、例えば以下を含むことができる:
○ ユーザ識別子
○ 名前、生年月日、連絡先情報を含むユーザ情報
○ ユーザの好み-これらはユーザによる入力とすることができる
○ 使用履歴- ユーザによる記憶されたアクション
● 広告主情報は、例えば以下を含むことができる:
○ 広告主識別子
○ ユーザ情報の伝送の方向(direction)に関する電子連絡先情報
○ 表示されるべき広告(1つ又は複数)-ランダムに、あるいはインタフェースオブジェクトの表現の一部として所定のシーケンスで、あるいは別個のオーバーレイ広告としても表示することができる数を存在させることができる。広告は、アンロードされたユーザデータに応じて、広告主からのダウンロードされた更新広告によって更新される。
【0039】
図1はまた、コアモジュール2に接続されたペイロードデータストア4を示す。ペイロードデータストア4は、ユーザ入力によってインタフェースオブジェクトにロードするために選択されたデータを格納する。データは、テキスト又は画像データ、あるいはビデオデータのような1つ以上のデータタイプのものとすることができる。データは、ユーザインタフェースにより、ユーザがそのようなコードオブジェクトをディスプレイから選択することができる場合、コードオブジェクトを含むこともでき、そのようなコードオブジェクトは次のプログラム状態にアンロードされることになる。
【0040】
図2は、一実施形態によるインタフェースオブジェクト1を利用するコンピュータシステム10を示す概略図である。コンピュータシステムは、図2に図示されるコードモジュールの各々を実装する。
【0041】
インタフェースオブジェクト1は、インタフェースオブジェクトマネージャモジュール12にリンクされる。インタフェースオブジェクトマネージャモジュール12は、実行され、ユーザがインタフェースオブジェクト1をインストールすることを選択できるようにするユーザインタフェースを提供するプログラムである。インタフェースオブジェクトマネージャモジュール12は、インタフェースオブジェクト1としてユーザによって選択されてインスタンス化され得る複数のインタフェースオブジェクトコードモジュールを格納する、インタフェースオブジェクトライブラリ13とインタフェースする。インタフェースオブジェクトは、アプリケーション11のグラフィカル出力の上にオーバーレイして表示され、ペイロードデータストア4にロードするためにアプリケーションによって表示される任意のデータにアクセスすることができるように、コンピュータシステム10上で実行されているアプリケーション11とインタフェースするよう永続的に動作する。
【0042】
図3は、一実施形態によるインタフェースオブジェクトを使用する方法のフロー図である。このプロセスは、コンピュータシステム、コンピュータ装置又はコンピューティングデバイス上で実施される。
【0043】
ステップS101において、インタフェースオブジェクトの表現が、プログラム(又はオペレーティングシステム)の現在の表示出力にオーバーレイして表示される。ステップS102において、表示データを選択するユーザ入力を受け取り、ステップS103において、選択されたデータがインタフェースオブジェクト1のデータストア4にロードされる。ステップS104において、ユーザ遷移入力を受け取り、ステップS105において、コンピュータシステム、装置又はデバイスは、遷移入力に応答して異なる表示を出力するようにプログラム状態を遷移させる。この表示状態では、ステップS106において、インタフェースオブジェクトの表現が、異なる状態で表示上にオーバーレイして表示されるように維持される。ステップS107において、ユーザアンロード入力が受け取られ、ステップS108において、インタフェースオブジェクト1のペイロードデータストア4に格納されたデータの少なくとも一部がアンロードされ、異なるプログラム状態で動作するプログラムに入力される。
【0044】
図4は、一実施形態によるインタフェースオブジェクト1を使用するウェブベースシステムを示す概略図である。
【0045】
コンピュータ、ラップトップタブレット、パーソナルデジタルアシスタント及びモバイルデバイスを含むコンピュータデバイスと電話を含むクライアントデバイス15は、インターネット50のようなネットワークを介して、サーバシステム60と、ウェブページをホストしている複数のウェブサーバ90とに接続される。ウェブブラウザ20は、クライアントデバイス15内において、ウェブサーバ90上のウェブページにアクセスしてレンダリングするために実装される。インタフェースオブジェクトツールバー25は、インタフェースオブジェクト1を実装するよう選択するユーザアクセスを与えるために、ウェブブラウザ20へのアドオンとしてインストールされ、図4に示されるように、これは、次いで、ウェブブラウザ20へのアドオンとして実装される。
【0046】
サーバシステム60は、クライアントデバイス15のウェブブラウザ20のためのウェブインタフェースを提供するウェブサーバ65を含む。Appサーバ70は、ウェブサーバ65にアクティブなWebページを提供し、インタフェースオブジェクトライブラリ75にアクセスするために、ウェブサーバ65に接続されるよう提供される。このようにして、クライアントデバイス15のユーザは、ウェブブラウザ20を使用してウェブサーバ65にアクセスし、インタフェースオブジェクトライブラリ75から新しいインタフェースオブジェクトコードをダウンロードすることができる。
【0047】
図5A及び図5Bは、一実施形態による図4のウェブベースのシステムを使用する方法のフロー図である。
【0048】
ステップS201において、ユーザはウェブブラウザ20を開き、ステップS202において、ツールバー25のユーザ選択が受け取られる。ステップS203において、インタフェースオブジェクトオプションが表示され、ステップS204において、インタフェースオブジェクトオプションのユーザ選択が受け取られ、これにより、ステップS205において、インタフェースオブジェクト1をアドオンとしてウェブブラウザ20にロードすることができる。ステップS206において、ウェブサーバ90のうちの1つによってホストされるウェブページのユーザ選択が受け取られ、ステップS207において、ウェブページコードがウェブブラウザ20によって受け取られてレンダリングされる。ステップS208において、ウェブページ上に表示されたデータをキャプチャするユーザ選択が受け取られ、ステップS209において、データがインタフェースオブジェクト1のペイロードデータストア4にロードされる。次に、プロセスは、ステップS210において、ユーザが新しいウェブページを選択したかどうかを確かめるために待機する。ユーザが新しいウェブページを選択しない場合、プロセスは、ステップS208に戻ることによって、ユーザがウェブページから任意のデータ型のデータの2つ以上のピースをキャプチャすることを可能にする。ステップS210において、新しいウェブページのユーザ選択を受け取った場合、ステップS211において、ブラウザは、インタフェースオブジェクトの表現とオーバーレイして新しいウェブページを表示する。したがって、クライアントデバイス15は、プログラム状態を変更し、ブラウザは、異なる表示、すなわち異なるウェブページを生成する。ステップS212において、プロセスは、更なるデータをキャプチャするためのユーザ選択が受け取られたかどうかを判断するために待機する。そうである場合、ステップS213において、インタフェースオブジェクトのペイロードデータストア4にキャプチャされてロードされるデータのユーザ選択が受け取られ、ステップS214において、データがペイロードデータストア4にロードされる。プロセスはその後ステップS210に戻り、ユーザが新しいウェブページを選択するかどうかを判断するために待機する。
【0049】
ステップS212において、ユーザが更なるデータをウェブページからキャプチャすることを選択しない場合、ステップS215において、データをアンロードするユーザ選択が受け取られ、ステップS216において、ペイロードデータストア4内のデータが表示され、その一部又はすべてが選択される。ステップS217において、ペイロードデータストア4内のデータの一部又はすべてのユーザ選択が選択され、ステップS218において、データは、ウェブページの選択されたセクション、例えばフォーム又は入力ボックス等にアンロード又はペーストされる。
【0050】
図6A図6Dは、一実施形態による方法の間に生成されるユーザインタフェースである。この実施形態は、ウェブベースの取引方法である。
【0051】
図6Aは、ある販売主(merchant)から入手可能なカメラの形態で製品に関する情報401を表示する、表示ウェブページの形態のインタフェース400を示している。インタフェースオブジェクト402の表現は、カート又はトロリーのアイコン又は画像の形態でウェブページ400上にオーバーレイして表示される。ユーザは、矢印によって示されるように、インタフェースオブジェクト402と対話して表示を横切ってインタフェースオブジェクト402を動かすことができる。ユーザは、購入する製品(カメラB)の選択を行うことによって、ウェブページ400からデータを選択する。データは、ショッピングカートが購入すべきカメラBの情報を含むように、インタフェースオブジェクトデータストアにロードされる。選択の操作は、カメラBのアイコンをショッピングカート402にドラッグアンドドロップすることを含むことができる。
【0052】
ディスプレイ及びプログラム状態を遷移させるために、ユーザは、表示を横切ってショッピングカート402をドラッグすることができる。このユーザ入力アクションは、インタフェースオブジェクトデータで定義された次の状態への遷移を引き起こし、次のウェブページが、図6Bに示されるように、左側にインタフェースオブジェクト(ショッピングカート)402がオーバーレイされた状態で表示される。次のウェブページは、ドレス401Aを販売する販売主(同じ販売主又は別の販売主)のページである。
【0053】
図6Cに図示されるように、ユーザは、ショッピングカート402にドレスの選択をドラッグアンドドロップすることによって、インタフェースオブジェクトデータストアに追加するデータを選択することができる。次いで、ユーザは、図6Cに示されているように、表示を横切ってインタフェースオブジェクトの表現をドラッグすることによって、次のプログラム状態に移行することを選択し、図6Dの表示に遷移する。
【0054】
図6Dでは、ユーザインタフェース400は、ウェブチェックアウトページのプログラム状態を表示する。カート(インタフェースオブジェクト表現)402は、このウェブページへの遷移が発生し、インタフェースオブジェクトに格納されたデータが、チェックアウトすべき取引データとしてウェブページにアンロードされるときに、表示の左側に現れるように示されている。ユーザは、支払いを選択することにより従来の方法で商品に対して支払いを選択することで、購入を確認することができる。従来のショッピングカートとの相違点は、カート402と対話してウェブページ遷移を引き起こすことができることである。また、インタフェースオブジェクト定義データ内の遷移の適切な事前定義に従うことを条件に、複数のウェブサイト及び販売主にまたがって、カートを使用することができる。また、カート402の画像は、製品情報がカード内に置かれると、製品情報がその中にロードされたことを示ように修正されることができる。
【0055】
図7A及び図7Bは、別の実施形態による方法の間に生成されるユーザインタフェースである。この実施形態は、オフィスアプリケーションのような文書の処理に関する。
【0056】
図7Aは、処理のために選択することができるファイル501を表示するコンピュータ画面の形態のインタフェース500を示す。この実施形態におけるインタフェースオブジェクト表現は、ブリーフケース502として示されている。ユーザは、インタフェースオブジェクトにロードするためにファイル501を選択することができる。これは、ファイル2からブリーフケース502へのドラッグアンドドロップ操作として矢印で図7Aに示されている。ユーザは、次いで、例えば図7Aに図示されるように、表示を横切ってブリーフケース502をドラッグ又はスワイプすることによって、次のプログラム状態に遷移して異なる表示を表示することを選択することができる。この実施形態におけるプログラム及び表示遷移は、図7Bに図示される表示への遷移に予め定義される。ブリーフケース502は、左側の表示にオーバーレイして表示される。この例では、ユーザは、インタフェースオブジェクトの内容を表示するように選択されており、図示されるように、この選択を反映するように、インタフェースオブジェクトのイメージを変更することができる。この実施形態では、応答は、ブリーフケースをオープンとして例示することと、インタフェースオブジェクトに格納されているファイル上の情報504を例示することである。次に、ユーザは、表示されたインタフェース内の適切な位置にアンロードされるファイル504を選択することができる。この実施形態では、これは、ファイル504をフォルダA 505に移動させるドラッグアンドドロップ操作を含む。この実施形態では、インタフェースオブジェクト表現が表示される表示を生成するように動作するプログラムは、Linux(登録商標)、Lion(登録商標)又はLinux(登録商標)等のオペレーティングシステムである。
【0057】
インタフェースオブジェクトが、所望の処理を実行するためにアプリケーションをロードする必要があるスタンドアロンマシン上で動作する実施形態では、インタフェースオブジェクトコードは、プログラム遷移ターゲットとして使用されるよう準備すべき所定のプログラム/アプリケーションを起動するコードを含むことができる。例えばオフィス環境では、オフィスインタフェースオブジェクトについて、インタフェースオブジェクトは、文書処理アプリケーション、スプレッドシート、プレゼンテーションアプリケーション、描画アプリケーション、電子メールアプリケーション等のうちのいずれか1つ以上を予めロードすることができる。
【0058】
ユーザは、自身のコンピュータのプログラムを、該プログラムによってディスプレイ出力にオーバーレイして表示されるインタフェースオブジェクト表現とともに、通常の方法で使用することができる。これにより、ユーザは、プログラム、ウェブページ、文書、フォルダ等に又はその中にナビゲートし、表示されたデータからインタフェースオブジェクトにデータをロードすることが可能になる。オブジェクトは、ターゲットのナビゲーション先の情報だけでなく、表示生成のためのターゲットのデータもキャッシュに格納することができる。
【0059】
上述の実施形態では、1つのインタフェースオブジェクト及び関連する表現のみを説明したが、ユーザは、異なる所定のプログラム遷移を含む、異なる機能を同時に実行するために、2つ以上のインタフェースオブジェクトを定義することが可能である。例えばオフィス環境では、ユーザは、ドキュメント管理及び通信に関連するドキュメントベースの機能を実行するためのドキュメントフォーカス・インタフェースオブジェクトと、ファイナンス機能を実行するためのファイナンスベース・インタフェースオブジェクトとを有する可能性がある。同様に、ウェブベースのアプリケーションでは、ユーザは、取引を実行するための1つのインタフェースオブジェクトと、インターネット検索を支援するための別のインタフェースオブジェクト、あるいは異なる取引を実行するための2つのインタフェースオブジェクト、例えばKatieのクリスマスショッピングのための1つのショッピングカートと、Davidのクリスマスショッピングのための1つのショッピングカートを有する可能性がある。2つ以上のインタフェースオブジェクトを一度に表示し、各々が自身の機能を実行できるようにすることができる。
【0060】
インタフェースオブジェクトには、オブジェクトが実行する機能をユーザが選択できるようにするメニューを提供することができる。これは、オブジェクトのセットアップの一部とすることができ、あるいは使用中に選択することができる多くの類似の機能を有するようオブジェクトを定義することができる。
【0061】
データをインタフェースオブジェクトのペイロードデータストアにロードする方法は、カットアンドペースト又はドラッグアンドドロップのようなユーザ選択に応答する任意の方法を含むことができる。
【0062】
インタフェースオブジェクトは、インタフェースオブジェクト表現の一部として又はバナーのような別個のディスプレイとして現れる広告の代わりに、広告主によってダウンロードできるようにすることができる。インタフェースオブジェクトは、広告主にアップロードするために、ユーザアクションを追跡してユーザアクションの履歴を格納することができるコードを含むことができる。追跡されたアクションは、ユーザが見るプログラムのウェブページ及びセクション、並びに表示された情報の表示されたセクション又は領域とのユーザの対話を含むことができる。次いで、広告主は、データを処理してユーザのための適切なターゲット広告を決定し、ユーザに表示するために、それらのターゲット広告をインタフェースオブジェクトにダウンロードすることができる。このようにして、ユーザのアクションを追跡し、彼らにターゲット化された広告を出すことができる。
【0063】
インタフェースオブジェクトは、少なくとも1人のユーザに関連付けられる。一実施形態では、インタフェースオブジェクトが複数のユーザによって共有されることがある。このような構成では、一度に1人のユーザのみが、そのインタフェースオブジェクトを使用できる。使用はサーバで追跡される必要があり、その使用は複数のユーザによるサーバ上での使用に適している。複数のユーザのためのネットワーク環境では、各ユーザは自身のインタフェースオブジェクトを有する可能性があるが、複数のユーザのインタフェースオブジェクトが、共有のユーザインタフェースディスプレイ上に表示されてもよい。
【0064】
上記の実施形態から、インタフェースオブジェクトは、オーバーレイ表示された表現を有するデータキャリア(data carrier)として機能し、ユーザをガイドして通知し、ユーザが任意のプログラム又はオペレーティングシステムによる処理の任意の時点でインタフェースオブジェクトと対話することを可能にすることが分かる。
【0065】
インタフェースオブジェクトは、ユーザがインタフェースオブジェクトの他のユーザ又はより一般的には他のユーザと通信することを可能にする機能を含むことができる。通信機能は、ユーザが、例えばインタゲースオブジェクトをクリックして通信インタフェース又は機能を開くことにより、インタフェースオブジェクトを選択することを可能にする。また、通信を、例えばインタフェースオブジェクトを使用してユーザに広告をプッシュしている広告主にフィードバックとして送り返すこともできる。通信機能は、インタフェースオブジェクトのペイロードデータストアに格納されたデータが、通信中の別のコンピュータに送信されることを可能にする。
【0066】
基本コンピューティングデバイス
図8は、本発明の例示的な実施形態を具体化することができる基本的なコンピューティングデバイス600を示すブロック図である。コンピューティングデバイス600及びその構成要素は、それらの接続、関係及び機能を含め、例示的なものにすぎず、例示的な実施形態の実装を制限するように意図されていない。例示的な実施形態を実施するのに適した他のコンピューティングデバイスは、異なる接続、関係及び機能を有するコンポーネントを含め、異なるコンポーネントを有してよい。
【0067】
コンピューティングデバイス600は、例えば図1に図示されるような、サーバ又はユーザデバイスのいずれかを含むことができる。
【0068】
コンピューティングデバイス600は、メインメモリ606をアドレス指定し、デバイス600の様々な構成要素の間でデータを転送するためのバス602又は他の通信メカニズムを含んでよい。
【0069】
コンピューティングデバイス600はまた、情報を処理するためにバス602と結合される1つ以上のハードウェアプロセッサ604も含んでもよい。ハードウェアプロセッサ604は、汎用マイクロプロセッサ、システムオンチップ(SoC)又は他のプロセッサであってよい。
【0070】
ランダムアクセスメモリ(RAM)又は他の動的ストレージデバイスのようなメインメモリ606も、プロセッサ604によって実行されるべき情報及びソフトウェア命令を記憶するために、バス602に結合されてもよい。メインメモリ606はまた、プロセッサ604によって実行されるべきソフトウェア命令の実行中に、一時変数又は他の中間情報を記憶するために使用されてもよい。
【0071】
ソフトウェア命令は、プロセッサ604にアクセス可能な記憶媒体に記憶されると、コンピューティングデバイス600を、ソフトウェア命令に指定された演算を実行するようにカスタマイズされた専用コンピューティングデバイスにする。用語「ソフトウェア」、「ソフトウェア命令」、「コンピュータプログラム」、「コンピュータ実行可能命令」及び「プロセッサ実行可能命令」は、人間が読むことができるかどうかにかかわらず、特定の演算を実行するようにコンピューティングデバイスに指示するためのあらゆる機械読み取り可能な情報を網羅するよう広く解釈されるべきであり、これには、アプリケーションソフトウェア、デスクトップアプリケーション、スクリプト、バイナリ、オペレーティングシステム、デバイスドライバ、ブート・ローダ、シェル、ユーティリティ、システムソフトウェア、JAVASCIPT(登録商標)、ウェブページ、ウェブアプリケーション、プラグイン、埋め込みソフトウェア、マイクロコード、コンパイラ、デバッガ、インタプリタ、仮想マシン、リンカー及びテキストエディタが含まれるが、これらに限定されない。
【0072】
コンピューティングデバイス600はまた、プロセッサ604のための静的情報及びソフトウェア命令を記憶するために、バス602に結合される読取専用メモリ(ROM)608又は他の静的なストレージデバイスを含んでもよい。
【0073】
1つ以上の大容量ストレージデバイス610は、例えば磁気、光学、ソリッドステート、磁気光学、フラッシュメモリ又は他の利用可能な大容量記憶技術等のような固定又は取外可能な媒体上に情報及びソフトウェア命令を永続的に記憶するために、バス602に結合されてもよい。大容量ストレージは、ネットワーク上で共有されてもよく、専用の大容量ストレージであってもよい。典型的には、大容量ストレージデバイス610の少なくとも1つは、オペレーティングシステム、ユーザアプリケーションプログラム、ドライバ及び他のサポートファイル、並びにすべての種類の他のデータファイルを含む、コンピューティングデバイスの動作を指示するためのプログラム及びデータの本体を格納する。
【0074】
コンピューティングデバイス600は、コンピュータのユーザに情報を表示するために、バス602を介して、液晶ディスプレイ(LCD)又は他の電子ビジュアルディスプレイのようなディスプレイ612に結合されてよい。いくつかの構成では、タッチ検出技術(例えば抵抗、容量性等)を組み込んだタッチ感知面をディスプレイ612上にオーバーレイして、タッチジェスチャ(例えば指又はスタイラス)入力をプロセッサ604に伝達するためのタッチ感知ディスプレイを形成することができる。
【0075】
英数字及び他のキーを含む入力デバイス614が、情報及びコマンド選択をプロセッサ604に伝達するためにバス602に結合されてもよい。英数字及び他のキーに加えて又はこれに代えて、入力デバイス614は、例えば電源(オン/オフ)ボタン、「ホーム」ボタン、ボリューム制御ボタン等の1つ以上の物理的ボタン又はスイッチを含んでもよい。
【0076】
別のタイプのユーザ入力デバイスは、マウス、トラックボール、カーソル又はタッチスクリーン、あるいは方向情報及びコマンド選択をプロセッサ604に伝達し、ディスプレイ612上のカーソルの動きを制御するための方向キー等のような、カーソルコントロール616とすることができる。この入力デバイスは、典型的は、2つの軸、すなわち、第1軸(例えばx)と第2軸(例えばy)における2つの自由度を有し、これは、デバイスが平面内の位置を指定することを可能にする。他の入力デバイスの実施形態は、発話等の音声入力を認識するための音声又は発話認識入力モジュール、ユーザによるジェスチャを認識することができるビジュアル入力デバイス及びキーボードを含む。
【0077】
図8に示される構成のようないくつかの構成では、ディスプレイ612、入力デバイス614及びカーソルコントロール616のうちの1つ以上は、コンピューティングデバイス600の外部構成要素(すなわち、周辺デバイス)であるが、他の構成では、ディスプレイ612、入力デバイス614及びカーソルコントロール616の一部又はすべてが、コンピューティングデバイス600のフォームファクタの一部として統合される。
【0078】
ディスプレイ612に加えて又はディスプレイ612の代わりに、オーディオ出力デバイス又は触覚(振動)出力デバイスのような、任意の他の形態のユーザ出力デバイスが求められることがある。
【0079】
開示されたシステム、方法及びモジュールの機能は、プロセッサ604が、メインメモリ606に含まれるソフトウェア命令の1つ以上のプログラムを実行したこと応答して、コンピューティングデバイス600によって実行されてもよい。そのようなソフトウェア命令は、ストレージデバイス610のような別の記憶媒体又は伝送媒体からメインメモリ606に読み出されてもよい。メインメモリ606内に含まれるソフトウェア命令の実行は、プロセッサ604に、例示的な実施形態の機能を実行させる。
【0080】
例示的な実施形態の機能及び動作は、ソフトウェア命令によって完全に実装されてよいが、他の実施形態においては、コンピューティングデバイス600のハードワイヤード回路又はプログラマブル回路(例えばASIC、FPGA等)が、手近な特定の実装の要件に従って、機能を実行するためのソフトウェア命令の代わりに又はそれと組み合わせて使用されてもよい。
【0081】
本明細書で使用されるとき、用語「記憶媒体」は、特定の態様でコンピューティングデバイスを動作させるデータ及び/又はソフトウェア命令を記憶する任意の非一時的媒体を指す。そのような記憶媒体は、不揮発性媒体及び/又は揮発性媒体を含んでもよい。不揮発性媒体は、ストレージデバイス610のように、例えば不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、光ディスク、磁気ディスク又はソリッドステートドライブ等を含む。揮発性媒体は、メインメモリ606等の動的メモリを含む。記憶媒体の一般的な形態には、例えばフロッピーディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ又は他の任意の磁気データ記憶媒体、CD-ROM、任意の他の光学データ記憶媒体、ホールパターンを有する任意の物理媒体、RAM、PROM及びEPROM、FLASH-EPROM、NVRAM、フラッシュメモリ、任意の他のメモリチップ又はカートリッジが含まれる。
【0082】
記憶媒体は、伝送媒体とは区別されるが、伝送媒体と共に使用されてよい。伝送媒体は、記憶媒体間の情報の転送に関与する。例えば伝送媒体は、バス602を備えるワイヤを含む、同軸ケーブル、銅線及び光ファイバを含む。伝送媒体は、また、無線波及び赤外線データ通信の間に発生されるような音波又は光波の形態をとることができる。コードの形態で命令を搬送する機械読取可能媒体又は搬送媒体は、非一時的記憶媒体及び伝送媒体又は信号を含むことができる。
【0083】
様々な形態の媒体が、1つ以上のソフトウェア命令の1つ以上のシーケンスを実行のためにプロセッサ604に搬送することに関与してよい。例えばソフトウェア命令は、最初に、リモートコンピュータの磁気ディスク又はソリッドステートドライブ上に搬送されてよい。リモートコンピュータは、ソフトウェア命令をその動的メモリにロードし、モデムを使用して電話回線を介してソフトウェア命令を送信することができる。コンピューティングデバイス600にローカルなモデムは、電話回線上でデータを受け取り、赤外線トランスミッタを使用してデータを赤外線信号に変換することができる。赤外線検出器は、赤外線信号内で担持されたデータを受け取ることができ、適切な回路が、そのデータをバス602上に配置することができる。バス602はデータをメインメモリ606に搬送し、メインメモリ606からプロセッサ604がソフトウェア命令を取り出して実行する。メインメモリ606によって受け取られたソフトウェア命令は、任意に、プロセッサ604による実行の前又は後のいずれかに、ストレージデバイス610上に記憶されてよい。
【0084】
コンピューティングデバイス600はまた、バス602に結合される1つ以上の通信インタフェース618を含んでもよい。通信インタフェース618は、ローカルネットワーク622(例えばイーサネット(登録商標)ネットワーク、無線ローカルエリアネットワーク、携帯電話ネットワーク、Bluetooth(登録商標)無線ネットワーク等)に接続される有線又は無線ネットワークリンク620に双方向データ通信結合を提供する。通信インタフェース618は、種々のタイプの情報を表すデジタルデータストリームを担持する電気、電磁又は光信号を送受信する。例えば通信インタフェース618は、有線ネットワークインタフェースカード、統合無線アンテナを備えた無線ネットワークインタフェースカード又はモデム(例えばISDN、DSL又はケーブルモデム)であってもよい。
【0085】
ネットワークリンク620は、典型的には、1つ以上のネットワークを介して他のデータデバイスへのデータ通信を提供する。例えばネットワークリンク620は、ローカルネットワーク622を介してホストコンピュータ又はインターネットサービスプロバイダ(ISP)によって操作されるデータ装置への接続を提供することができる。次に、ISPは、現在、一般に「インターネット」と呼ばれるワールドワイドパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク622及びインターネットは、デジタルデータストリームを搬送する電気、電磁又は光信号を使用する。種々のネットワーク経由の信号、並びにコンピューティングデバイス600との間でデジタルデータを搬送するネットワークリンク620上及び通信インタフェース618経由する信号は、伝送媒体の例示的な形態である。
【0086】
コンピューティングデバイス600は、ネットワーク、ネットワークリンク620及び通信インタフェース618を介して、メッセージを送信し、プログラムコードを含むデータを受け取ることができる。インターネットの例では、サーバは、インターネット、ISP、ローカルネットワーク622及び通信インタフェース618を介して、アプリケーションプログラムのために要求されたコードを送信することができる。
【0087】
受け取ったコードは、それが受け取られたときにプロセッサ604によって実行されてよく、かつ/又は後の実行のためにストレージデバイス610又は他の不揮発性ストレージに記憶されてもよい。
【0088】
一態様は、搬送媒体、例えば方法を実行するための機械のプロセッサによる実行のためにコードを記憶する非一時的記憶媒体又は方法を実行するために機械のプロセッサによる実行のためのプロセッサ実行可能コードを担持する一次的媒体を提供する。実施形態は、コンピュータコードを実装するプログラマブルデジタルロジックで実装されることができる。コードを、搬送媒体上のプロセッサ又はマイクロプロセッサのようなプログラマブルロジックに供給することができる。搬送媒体のそのような一実施形態は、一時的媒体、すなわち、電気、電磁、音響、磁気又は光信号等のような信号である。搬送媒体の別の形態は、ソリッドステートメモリ、磁気媒体(ハードディスクドライブ)又は光媒体(コンパクトディスク(CD)又はデジタル多用途ディスク(DVD)のようなコードを記憶する非一時的記憶媒体である。
【0089】
添付の特許請求の範囲に示される本発明の主題の原理及び範囲から逸脱することなく、本発明の主題の性質を説明するために記載及び図示した部品及び方法段階についての詳細、材料及び配置における種々の他の変更がなされてよいことが当業者には容易に理解されるであろう。

図1
図2
図3
図4
図5A
図5B
図6A
図6B
図6C
図6D
図7A
図7B
図8