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

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

▶ シトリックス・システムズ・インコーポレイテッドの特許一覧

特許7134337ウェブアプリケーションのためのカラースキーム生成器
<>
  • 特許-ウェブアプリケーションのためのカラースキーム生成器 図1
  • 特許-ウェブアプリケーションのためのカラースキーム生成器 図2
  • 特許-ウェブアプリケーションのためのカラースキーム生成器 図3
  • 特許-ウェブアプリケーションのためのカラースキーム生成器 図4
  • 特許-ウェブアプリケーションのためのカラースキーム生成器 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-01
(45)【発行日】2022-09-09
(54)【発明の名称】ウェブアプリケーションのためのカラースキーム生成器
(51)【国際特許分類】
   H04N 1/62 20060101AFI20220902BHJP
   G06F 3/0481 20220101ALI20220902BHJP
   G06F 3/14 20060101ALI20220902BHJP
   G06T 1/00 20060101ALI20220902BHJP
【FI】
H04N1/62
G06F3/0481
G06F3/14 310A
G06T1/00 510
【請求項の数】 23
(21)【出願番号】P 2021509773
(86)(22)【出願日】2019-07-24
(65)【公表番号】
(43)【公表日】2021-12-09
(86)【国際出願番号】 US2019043155
(87)【国際公開番号】W WO2020040925
(87)【国際公開日】2020-02-27
【審査請求日】2021-03-31
(31)【優先権主張番号】16/108,381
(32)【優先日】2018-08-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508045099
【氏名又は名称】シトリックス・システムズ・インコーポレイテッド
【氏名又は名称原語表記】Citrix Systems,Inc.
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジェローン ヴァン ロッテルダム
【審査官】野口 俊明
(56)【参考文献】
【文献】米国特許出願公開第2010/0110101(US,A1)
【文献】特開2011-086092(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/62
G06F 3/0481
G06F 3/14
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ実行可能命令を記憶したメモリと、
前記メモリに結合されたプロセッサと
を含むサーバを備えたコンピュータシステムであって、
前記プロセッサは、前記コンピュータ実行可能命令を実行して、ウェブアプリケーションのためのカスタムカラースキームを、
前記カスタムカラースキームで使用するソース色セットを決定すること
前記ソース色セットにおける色間の色分離距離を決定すること
前記ウェブアプリケーションにおけるターゲット色セットを決定すること
前記ソース色セットにおける色で置き換えることができる前記ターゲット色セットにおける色の色位置の置換を決定すること
各色位置の置換について、前記置き換えられた色間の色分離距離を決定すること
各色位置の置換について、前記置き換えられた色間の色分離距離と、前記ソース色セットにおける色間の色分離距離との間のデルタを決定することおよび
前記色位置の置換のうちの1つを、他の色位置の置換のデルタに対して最小化されているデルタに基づいて選択することであって、前記選択された色位置の置換は、前記ウェブアプリケーションのための前記カスタムカラースキームとして使用されること
を実行することにより生成するように構成された、コンピューティングシステム。
【請求項2】
前記サーバは、前記選択された色位置の置換に基づいて前記ソース色セットを前記ターゲット色セットにマッピングするためのスタイルシートを生成し、前記スタイルシートは、次に前記ウェブアプリケーションがアクセスされるときに適用される、請求項1に記載のコンピューティングシステム。
【請求項3】
前記ウェブアプリケーションは複数のウェブページを含み、前記サーバは、前記スタイルシートのすべてのコンポーネントにおけるすべての色が前記ソース色セットにマッピングされて前記複数のウェブページにわたって一貫性を実現するまで、前記複数のウェブページを検査するように構成された、請求項2に記載のコンピューティングシステム。
【請求項4】
前記サーバとインターフェースするためのユーザインターフェースと、前記ウェブアプリケーションのために前記選択された色位置の置換を表示するためのディスプレイとを備えたコンピューティングデバイスをさらに備えた、請求項1に記載のコンピューティングシステム。
【請求項5】
前記サーバは、前記ユーザインターフェースからの入力に基づいて、前記選択された色位置の置換における色を調整するようにさらに構成された、請求項4に記載のコンピューティングシステム。
【請求項6】
前記ウェブアプリケーションは、サービスとしてのソフトウェア(SaaS)アプリケーションである、請求項1に記載のコンピューティングシステム。
【請求項7】
前記ソース色セットにおける色間の色分離距離および各色位置の置換について前記置き換えられた色における色分離距離は、隣接する色に制限される、請求項1に記載のコンピューティングシステム。
【請求項8】
前記サーバは、以下の色距離決定方法、すなわちRGBユークリッド距離の方法、Cielab Delta Eの方法、および色許容差距離の方法のうちの少なくとも1つを使用してそれぞれの色分離距離を決定する、請求項1に記載のコンピューティングシステム。
【請求項9】
前記サーバは、各色距離決定方法について前記決定するステップおよび選択するステップを繰り返すようにさらに構成され、前記コンピューティングシステムは、
前記サーバとインターフェースするためのユーザインターフェースと、
各色距離決定方法について前記選択された色位置の置換を表示するためのディスプレイと
をさらに備え、前記ウェブアプリケーションのための前記カスタムカラースキームとして使用される色距離決定方法のうちの1つに関連付けられた前記選択された色位置の置換は、前記ユーザインターフェースからの入力に基づいて選択される、請求項8に記載のコンピューティングシステム。
【請求項10】
前記サーバは、ソースウェブアプリケーションにおけるカラースキーム、ロゴにおけるカラースキーム、およびユーザ定義のカラースキームのうちの少なくとも1つを分析することに基づいて前記ソース色セットを決定するように構成された、請求項1に記載のコンピューティングシステム。
【請求項11】
前記ソース色セットがモノクロである場合、前記サーバは、前記ソース色セットを拡張するようにモノクロカラーの変形を生成するようにさらに構成された、請求項1に記載のコンピューティングシステム。
【請求項12】
ウェブアプリケーションのためのカスタムカラースキームを生成する方法であって、
前記カスタムカラースキームで使用するソース色セットを決定するステップと、
前記ソース色セットにおける色間の色分離距離を決定するステップと、
前記ウェブアプリケーションにおけるターゲット色セットを決定するステップと、
前記ソース色セットにおける色で置き換えることができる前記ターゲット色セットにおける色の色位置の置換を決定するステップと、
各色位置の置換について、前記置き換えられた色間の色分離距離を決定するステップと、
各色位置の置換について、前記置き換えられた色間の色分離距離と、前記ソース色セットにおける色間の色分離距離との間のデルタを決定するステップと、
前記色位置の置換のうちの1つを、他の色位置の置換のデルタに対して最小化されているデルタに基づいて選択するステップであって、前記選択された色位置の置換は、前記ウェブアプリケーションのための前記カスタムカラースキームとして使用される、ステップと
を含む、方法。
【請求項13】
前記選択された色位置の置換に基づいて前記ソース色セットを前記ターゲット色セットにマッピングするためのスタイルシートを生成するステップをさらに含み、前記スタイルシートは、次に前記ウェブアプリケーションがアクセスされるときに適用される、請求項12に記載の方法。
【請求項14】
前記ウェブアプリケーションは複数のウェブページを含み、前記スタイルシートのすべてのコンポーネントにおけるすべての色が前記ソース色セットにマッピングされて前記複数のウェブページにわたって一貫性を実現するまで、前記複数のウェブページを検査するステップをさらに含む、請求項13に記載の方法。
【請求項15】
前記ウェブアプリケーションのために選択された色位置の置換を表示するステップと、
ユーザ入力に基づいて、前記選択された色位置の置換における色を調整するステップと
をさらに含む、請求項12に記載の方法。
【請求項16】
前記ウェブアプリケーションは、サービスとしてのソフトウェア(SaaS)アプリケーションである、請求項12に記載の方法。
【請求項17】
ウェブアプリケーションのためのカスタムカラースキームを生成するためにサーバを操作するための非一時的なコンピュータ読み取り可能媒体であって、前記非一時的なコンピュータ読み取り可能媒体は、サーバに
前記カスタムカラースキームで使用するソース色セットを決定するステップと、
前記ソース色セットにおける色間の色分離距離を決定するステップと、
前記ウェブアプリケーションにおけるターゲット色セットを決定するステップと、
前記ソース色セットにおける色で置き換えることができる前記ターゲット色セットにおける色の色位置の置換を決定するステップと、
各色位置の置換について、前記置き換えられた色間の色分離距離を決定するステップと、
各色位置の置換について、前記置き換えられた色間の色分離距離と、前記ソース色セットにおける色間の色分離距離との間のデルタを決定するステップと、
前記色位置の置換のうちの1つを、他の色位置の置換のデルタに対して最小化されているデルタに基づいて選択するステップであって、選択された前記色位置の置換は、前記ウェブアプリケーションのための前記カスタムカラースキームとして使用される、ステップと
を実行させるための複数のコンピュータ実行可能命令を有する、非一時的なコンピュータ読み取り可能媒体。
【請求項18】
前記選択された色位置の置換に基づいて前記ソース色セットを前記ターゲット色セットにマッピングするためのスタイルシートを生成するステップをさらに含み、前記スタイルシートは、次に前記ウェブアプリケーションがアクセスされるときに適用される、請求項17に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項19】
前記ウェブアプリケーションは複数のウェブページを含み、前記スタイルシートのすべてのコンポーネントにおけるすべての色が前記ソース色セットにマッピングされて前記複数のウェブページにわたって一貫性を実現するまで、前記複数のウェブページを検査するステップをさらに含む、請求項18に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項20】
前記ソース色セットにおける色間の色分離距離および各色位置の置換について前記置き換えられた色における色分離距離は、隣接する色に制限される、請求項17に記載の非一時的なコンピュータ読み取り可能媒体。
【請求項21】
コンピュータ実行可能命令を記憶したメモリと、
前記メモリに結合されたプロセッサであって、前記コンピュータ実行可能命令を実行して、ウェブアプリケーションのためのカラースキームを、
ソース色セットにおける色と置き換えることができるターゲット色セットにおける色の色位置を決定すること、
少なくとも1つの色位置について前記置き換えられた色間の色のコントラストを決定することおよび
前記ウェブアプリケーションの前記カラースキーム内に含めるための前記色位置のうちの1つを、前記色位置に関連付けられた色のコントラストと前記ソース色セットにおける色のコントラストとの一致に基づいて選択すること
行うことにより生成するように構成されたプロセッサと
を備えた、コンピューティングシステム。
【請求項22】
コンピュータ実行可能命令を記憶したメモリと、
前記メモリに結合されたプロセッサであって、前記コンピュータ実行可能命令を実行して、ウェブアプリケーションのためのカラースキームを、
ソース色セットにおける色に置き換えることができるターゲット色セットにおける色の色位置を決定すること、
少なくとも1つの色位置について前記置き換えられた色間の色のコントラストを決定すること
前記色位置に関連付けられた色のコントラストとソース色セットの色のコントラストとの一致に基づいて、色位置の1つを選択すること
表示のために前記選択された色位置を提供することおよび
ユーザ入力に基づいて前記選択された色位置の色を調整し、前記選択された色位置における前記調整された色を前記ウェブアプリケーションの前記カラースキーム内に含めること
を行うことにより生成するように構成されプロセッサと
を備えた、コンピューティングシステム。
【請求項23】
ウェブアプリケーションのためのカラースキームを生成するための方法であって、
ターゲット色セットにおける色の色位置を決定するステップであって、前記ターゲット色セットは、ソース色セットにおける色と置き換えることができる、ステップと、
少なくとも1つの色位置について前記置き換えられた色間の色のコントラストを決定するステップと、
前記色位置に関連付けられた色のコントラストと前記ソース色セットにおける色のコントラストとの一致に基づいて、前記ウェブアプリケーションの前記カラースキーム内に含める色位置の1つを選択するステップと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、カラースキーム生成器に関し、より具体的には、ウェブアプリケーションにおいて色をカスタマイズするためのカラースキーム生成器に関する。
【背景技術】
【0002】
ほとんどの企業は、カスタマイズされたカラースキームでウェブアプリケーションを利用できることを希望する。カスタマイズされたカラースキームは、例えば、カスタムロゴを反映し得る。ウェブアプリケーション用にカスタマイズされたカラースキームにより、よりよい顧客体験が可能になる。
【0003】
各ウェブアプリケーションは複数のウェブページを含み、各ウェブページは手動でカスタマイズされるものである。各ウェブページのスタイルシートは、特定のカスタマイズされたカラースキームを反映するように変更される。ウェブアプリケーションに対するカラースキームの構築、構成、およびテストは、時間のかかるプロセスになる可能性がある。
【発明の概要】
【0004】
コンピューティングシステムは、カスタムカラースキームで使用されるソース色セットを決定し、ソース色セット内の色間の色分離距離を決定し、ウェブアプリケーションにおけるターゲット色セットを決定することによって、ウェブアプリケーションに対するカスタムカラースキームを生成するように構成されたサーバを含む。サーバはさらに、ソース色セット内の色に置き換えることができる、ターゲット色セット内の色の色位置の置換を決定する。
【0005】
各色位置の置換について、サーバは置き換えられた色間の色分離距離を決定する。サーバは、色位置の置換ごとに、置き換えられた色の色分離距離とソース色セット内の色分離距離との間のデルタを決定する。次に、サーバは、他の色位置の置換についてのデルタに対して最小化されているデルタに基づいて、色位置の置換のうちの1つを選択する。選択された色位置の置換は、ウェブアプリケーションのためのカスタムカラースキームとして使用される。
【0006】
コンピューティングシステムは、ソース色セット内の色に基づいて、ウェブアプリケーションに対するカスタムカラースキームの生成を有利に自動化する。ウェブアプリケーションは、例えば、サービスとしてのソフトウェア(SaaS)アプリケーションを含む。この自動化により、通常は手作業で行われる色のカスタマイズプロセスが高速化される。
【0007】
サーバは、選択された色位置の置換に基づいて、ソース色セットをターゲット色セットにマッピングするスタイルシートを生成し、スタイルシートは、次にウェブアプリケーションにアクセスしたときに適用される。ウェブアプリケーションは複数のウェブページを含み、サーバは複数のウェブページにわたって一貫性を実現するためにスタイルシートのすべてのコンポーネント内のすべての色がソース色セットにマッピングされるまで複数のウェブページを検査するように構成される。
【0008】
コンピューティングシステムは、サーバとインターフェースするためのユーザインターフェースと、ウェブアプリケーションのために選択された色位置の置換を表示するためのディスプレイとを含むコンピューティングデバイスをさらに備える。サーバは、ユーザインターフェースからの入力に基づいて、選択された色位置の置換における色を調整するようにさらに構成される。
【0009】
ソース色セット内の色間の色分離距離と各色位置の置換について置き換えられた色内の色分離距離は、隣接する色に制限される。
【0010】
サーバは、RGBユークリッド距離の方法、Cielab Delta Eの方法、および色許容差距離の方法の少なくとも1つを使用して、それぞれの色分離距離を決定する。
【0011】
サーバはさらに、各色距離決定方法について決定するステップおよび選択するステップを繰り返すように構成され、コンピューティングシステムは、サーバとインターフェースするためのユーザインターフェースと、各色距離決定方法について選択された色位置の置換を表示するためのディスプレイとを含むコンピューティングデバイスをさらに備える。ウェブアプリケーションのためのカスタムカラースキームとして使用するために選択された色距離決定方法の1つに関連付けられた、選択された色位置の置換は、ユーザインターフェースからの入力に基づく。
【0012】
サーバは、ソースウェブアプリケーションにおけるカラースキーム、ロゴにおけるカラースキーム、およびユーザ定義のカラースキームの少なくとも1つを分析することに基づいて、ソース色セットを決定するように構成されている。ソース色セットがモノクロの場合、サーバはさらにモノクロカラーの変形を生成して、ソース色セットを拡張する。
【0013】
別の態様は、カスタムカラースキームで使用されるソース色セットを決定すること、ソース色セット内の色間の色分離距離を決定すること、ウェブアプリケーションにおけるターゲット色セットを決定すること、およびソース色セット内の色に置き換えることができるウェブアプリケーションにおけるターゲット色セット内の色の色位置の置換を決定することを含む、ウェブアプリケーションのためのカスタムカラースキームを生成するための方法に関する。各色位置の置換について、置き換えられた色間の色分離距離が決定される。各色位置の置換について、置き換えられた色の色分離距離とソース色セット内の色分離距離との間のデルタが決定される。この方法は、他の色位置の置換についてのデルタに関して最小化されているデルタに基づいて、色位置の置換のうちの1つを選択することをさらに含む。選択された色位置の置換は、ウェブアプリケーションのためのカスタムカラースキームとして使用される。
【0014】
さらに別の態様は、サーバを操作してウェブアプリケーションのためのカスタムカラースキームを生成するための非一時的なコンピュータ可読媒体、およびサーバに上記のステップを実行させるための複数のコンピュータ実行可能命令を有する非一時的なコンピュータ可読媒体に関する。
【図面の簡単な説明】
【0015】
図1図1は、本開示の様々な態様を実施し得るコンピューティングデバイスのネットワーク環境のブロック図である。
図2図2は、図1に示されるクライアントマシンまたはリモートマシンの実施形態を実施するのに有用なコンピューティングデバイスのブロック図である。
図3図3は、本開示の様々な態様を実装することができるウェブアプリケーションのためのカスタムカラースキームを生成するためのコンピューティングシステムのブロック図である。
図4図4は、図3に示されるウェブアプリケーションのためのカスタムカラースキームを生成するためにターゲット色セットにマッピングされるソース色セットを示すスクリーンショットである。
図5図5は、図3に示すサーバを使用してウェブアプリケーションのカスタムカラースキームを生成する方法を示すフローチャートである。
【発明を実施するための形態】
【0016】
本説明は、例示的な実施形態が示されている添付の図面を参照して行われる。しかしながら、多くの異なる実施形態を使用してよく、したがって説明は、本明細書に記載の特定の実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、本開示が徹底的かつ完全になるように提供される。同様の番号は、全体を通して同様の要素を指す。
【0017】
以下の開示を読むと当業者によって理解されるように、本明細書に記載の様々な態様は、デバイス、方法、またはコンピュータプログラム製品(例えば、記載されている動作またはステップを実行するためのコンピュータ実行可能命令を有する非一時的なコンピュータ可読媒体)として具体化され得る。したがって、これらの態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形態をとることができる。
【0018】
さらに、そのような態様は、記憶媒体内または記憶媒体上に具体化された、コンピュータ可読プログラムコードまたは命令を有する1つまたは複数のコンピュータ可読記憶媒体によって記憶されるコンピュータプログラム製品の形態をとることができる。ハードディスク、CD-ROM、光記憶装置、磁気記憶装置、および/またはそれらの任意の組み合わせを含む、任意の適切なコンピュータ可読記憶媒体を利用してもよい。
【0019】
最初に図1を参照すると、本開示の様々な態様が実施され得る非限定的なネットワーク環境101は、1つまたは複数のクライアントマシン102A-102N、1つまたは複数のリモートマシン106A-106N、1つまたは複数のネットワーク104、104’、およびコンピューティング環境101内にインストールされる1つまたは複数の設備108を含む。クライアントマシン102A-102Nは、ネットワーク104、104’を介してリモートマシン106A-106Nと通信する。
【0020】
いくつかの実施形態において、クライアントマシン102A-102Nはリモートマシン106A-106Nと中間設備108を介して通信する。図示された設備108はネットワーク104、104’間に配置され、ネットワークインターフェースまたはゲートウェイと呼ばれることもある。いくつかの実施形態において、設備108はアプリケーション配信コントローラ(ADC)として動作し、データセンタやクラウドに展開され、または様々なクライアントデバイスにサービスとしてのソフトウェア(SaaS)として配信されたビジネスアプリケーションやその他のデータへのアクセスをクライアントに提供し、および/または負荷分散などの他の機能を提供し得る。いくつかの実施形態において、複数の設備108使用してもよく、設備108はネットワーク104、104’の一部として展開される場合がある。
【0021】
クライアントマシン102A-102Nは、一般的にクライアントマシン102、ローカルマシン102、クライアント102、クライアントノード102、クライアントコンピュータ102、クライアントデバイス102、コンピューティングデバイス102、エンドポイント102、またはエンドポイントノード102と呼ばれることがある。リモートマシン106A-106Nは、一般にサーバ106またはサーバファーム106と呼ばれることがある。いくつかの実施形態において、クライアントデバイス102は、サーバ106によって提供されるリソースへのアクセスを求めるクライアントノード、および他のクライアントデバイス102A-102Nに対してホストされたリソースへのアクセスを提供するサーバ106の両方として機能する能力を有し得る。ネットワーク104、104’は、一般にネットワーク104と呼ばれることがある。ネットワーク104は有線ネットワークと無線ネットワークの任意の組み合わせで構成され得る。
【0022】
サーバ106は、例えば、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、設備、ネットワーク設備、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、デプロイメントサーバ、Secure Sockets Layer仮想プライベートネットワーク(SSL VPN)サーバ、ファイアウォール、ウェブサーバ、アクティブディレクトリを実行しているサーバ、または、ファイアウォール機能、アプリケーション機能、または負荷分散機能を提供するアプリケーションアクセラレーションプログラムを実行するサーバのうちの任意のサーバタイプであってもよい。
【0023】
サーバ106は、ソフトウェア、プログラム、実行可能命令、仮想マシン、ハイパーバイザ、ウェブブラウザ、ウェブベースのクライアント、クライアントサーバアプリケーション、シンクライアントコンピューティングクライアント、ActiveXコントロール、Javaアプレット、ソフトIP電話のようなVoice over Internet Protocol(VoIP)通信に関連するソフトウェア、ビデオおよび/またはオーディオをストリーミングするためのアプリケーション、リアルタイムデータ通信を容易にするためのアプリケーション、HTTPクライアント、FTPクライアント、オスカークライアント、Telnetクライアント、またはその他の実行可能命令のセットのうちのいずれか1つであり得るアプリケーションを実行し、動作させ、またはその他の方法で提供し得る。
【0024】
いくつかの実施形態において、サーバ106は、シンクライアントまたはリモートディスプレイプロトコルを使用するリモートプレゼンテーションクライアントまたは他のクライアントまたはプログラムを実行して、サーバ106上で実行されているアプリケーションによって生成されたディスプレイ出力をキャプチャし、アプリケーションの表示出力をクライアントデバイス102に送信する場合がある。
【0025】
さらに他の実施形態において、サーバ106は、クライアントデバイス102のユーザにコンピューティング環境へのアクセスを提供する仮想マシンを実行し得る。クライアントデバイス102は仮想マシンであり得る。仮想マシンは、例えば、ハイパーバイザ、仮想マシンマネージャ(VMM)、またはサーバ106内の任意の他のハードウェア仮想化技術によって管理し得る。
【0026】
いくつかの実施形態において、ネットワーク104は、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、プライマリ公衆ネットワーク104、およびプライマリプライベートネットワーク104であり得る。追加の実施形態は、モバイルデバイス間で通信する様々なプロトコルを使用する携帯電話ネットワーク104のネットワークを含み得る。WLAN内の短距離通信の場合、プロトコルは802.11、Bluetooth(R)、および近距離無線通信(NFC)を含み得る。
【0027】
図2は、クライアントデバイス102またはサーバ106の実施形態を実施するのに有用なコンピューティングデバイス100のブロック図を示す。コンピューティングデバイス100は1つまたは複数のプロセッサ103、揮発性メモリ122(例えば、ランダムアクセスメモリ(RAM))、不揮発性メモリ128、ユーザインターフェース(UI)123、1つまたは複数の通信インターフェース118、および通信バス150を含む。
【0028】
不揮発性メモリ128は、1つまたは複数のハードディスクドライブ(HDD)またはその他の磁気または光ストレージメディア、フラッシュドライブまたはその他のソリッドステートストレージメディアなどの1つまたは複数のソリッドステートドライブ(SSD)、1つまたは複数のハイブリッド磁気およびソリッドステートドライブ、および/またはクラウドストレージなどの1つまたは複数の仮想ストレージボリューム、またはそのような物理ストレージボリュームと仮想ストレージボリュームとの組み合わせまたはそれらのアレイを含み得る。
【0029】
ユーザインターフェース123は、グラフィカルユーザインターフェース(GUI)124(例えば、タッチスクリーン、ディスプレイなど)および1つまたは複数の入力/出力(I/O)デバイス126(例えば、マウス、キーボード、マイクロフォン、1つまたは複数のスピーカ、1つまたは複数のカメラ、1つまたは複数の生体認証スキャナ、1つまたは複数の環境センサ、および1つまたは複数の加速度計など)を含んでもよい。
【0030】
不揮発性メモリ128は、オペレーティングシステム115、1つまたは複数のアプリケーション116、およびデータ117を格納することにより、例えば、オペレーティングシステム115のコンピュータ命令および/またはアプリケーション116は、揮発性メモリ122からプロセッサ103によって実行される。いくつかの実施形態において、揮発性メモリ122はメインメモリよりも速い応答時間を提供し得る1つまたは複数のタイプのRAMおよび/またはキャッシュメモリを含み得る。データはGUI124の入力デバイスを使用して入力されまたはI/Oデバイス126から受信され得る。コンピュータ100の様々な要素は通信バス150を介して通信し得る。
【0031】
図示されたコンピューティングデバイス100は、単に例示的なクライアントデバイスまたはサーバとして示され、本明細書に記載されるように動作可能な適切なハードウェアおよび/またはソフトウェアを有し得る任意のタイプのマシンまたはマシンのセットを備えた任意のコンピューティングまたは処理環境によって実装され得る。
【0032】
プロセッサ103は、コンピュータプログラムなどの1つまたは複数の実行可能命令を実行するように1つまたは複数のプログラム可能なプロセッサによって実装され、システムの機能を実行し得る。「プロセッサ」という用語は、本明細書で使用されるとき、機能、動作、または動作のシーケンスを実行する回路を説明する。機能、動作、または動作のシーケンスは、回路にハードコード化されるか、またはメモリデバイスに保持され、回路によって実行される命令によってソフトコード化され得る。プロセッサは、デジタル値を使用して、および/またはアナログ信号を使用して、機能、動作、または動作のシーケンスを実行することができる。
【0033】
いくつかの実施形態において、プロセッサは、1つまたは複数の特定用途向け集積回路(ASIC)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、マイクロコンピュータ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)、マルチコアプロセッサ、または関連するメモリを有する汎用コンピュータで具体化することができる。
【0034】
プロセッサは、アナログ、デジタル、または混合信号であり得る。いくつかの実施形態において、プロセッサは、1つまたは複数の物理プロセッサ、または1つまたは複数の仮想(例えば、遠隔に配置されたまたはクラウド)プロセッサであり得る。複数のプロセッサコアおよび/または複数のプロセッサを含むプロセッサは、命令の並列の同時実行、または複数のデータに対する1つの命令の並列の同時実行のための機能を提供し得る。
【0035】
通信インターフェース118は、コンピューティングデバイス100が、セルラ接続を含む様々な有線および/または無線接続を介してローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、またはインターネットなどのコンピュータネットワークにアクセスすることを有効にするための1つまたは複数のインターフェースを含んでよい、
【0036】
説明された実施形態において、コンピューティングデバイス100は、クライアントデバイスのユーザに代わってアプリケーションを実行する場合がある。例えば、コンピューティングデバイス100は、ハイパーバイザによって管理される1つまたは複数の仮想マシンを実行し得る。各仮想マシンは、ホストされたデスクトップセッションなどの、ユーザまたはクライアントデバイスに代わってアプリケーションを実行する実行セッションを提供し得る。コンピューティングデバイス100はターミナルサービスセッションを実行して、ホストされたデスクトップ環境を提供することもある。コンピューティングデバイス100は、1つまたは複数のアプリケーション、1つまたは複数のデスクトップアプリケーション、および1つまたは複数のアプリケーションを実行し得る1つまたは複数のデスクトップセッションを含むリモートコンピューティング環境へのアクセスを提供し得る。
【0037】
クライアントデバイス102としてまたはサーバ106として、またはクライアントデバイス102およびサーバ106への設備の中継として構成されるコンピューティングデバイス100、およびその動作の追加の説明は、参照によりその全体が本明細書に組み込まれる米国特許第9,176,744号および米国特許第9,538,345号に見られ得る。’744特許および’345特許は両方とも、本開示の現在の譲受人に譲渡されている。
【0038】
最初に図3を参照し、ウェブアプリケーション34のためのカスタムカラースキーム40を生成するコンピューティングシステム20を説明する。カスタムカラースキーム40は、カラースキームジェネレータアルゴリズム32を実行するサーバ30によって自動的に生成される。ウェブアプリケーション34は、例えば、サービスとしてのソフトウェア(SaaS)アプリケーションであり得る。例えば、SaaSアプリケーションが更新されるたびに、新しいカスタムカラースキーム40は、更新前のSaaSアプリケーションにおけるカスタムカラースキーム40に一致するように、更新されたSaaSアプリケーション用に個別に生成される。カラースキームジェネレータアルゴリズム32に基づくこの自動化は、通常は手作業で行われる色のカスタマイズプロセスを高速化する。
【0039】
図示されたコンピューティングシステム20は、サーバ30および少なくとも1つのコンピューティングデバイス50を含む。サーバ30は、ソース色セット36およびターゲット色セット38を決定するために使用されるカラースキームジェネレータアルゴリズム32を含む。以下で詳細に説明するように、ウェブアプリケーション34で使用するカスタムカラースキーム40の決定は、色位置の置換42、色分離距離44および異なる色位置の置換42について色分離距離44の間のデルタ46を決定するカラースキームジェネレータアルゴリズム32に基づいている。
【0040】
コンピューティングデバイス50は、サーバ30におけるカラースキームジェネレータアルゴリズム32にアクセスするためのブラウザ56を含む。ディスプレイ54は、ウェブアプリケーション34で使用するカスタムカラースキーム40を表示するためのものである。ユーザインターフェース52は、必要に応じてカラースキームジェネレータアルゴリズム32へのユーザ入力を提供するためのものである。
【0041】
ウェブアプリケーション34用のカスタムカラースキーム40を生成するためのカラースキームジェネレータアルゴリズム32の実行は、カスタムカラースキーム40で使用するソース色セット36の決定、ソース色セット36内の色の間の色分離距離44の決定、およびウェブアプリケーション34におけるターゲット色セット38の決定を含む。
【0042】
カラースキームジェネレータアルゴリズム32は、ソース色セット36内の色に置き換えることができるターゲット色セット38内の色の色位置の置換42を決定する。各色位置の置換42について、色分離距離44は置き換えられた色の間で決定される。各色位置の置換42について、置き換えられた色内の色分離距離と、ソース色セット36内の色分離距離44との間のデルタ46が決定される。
【0043】
カラースキームジェネレータアルゴリズム32は、他の色位置の置換42についてのデルタ46に関して最小化されているデルタ46に基づいて色位置の置換42のうちの1つを選択する。選択された色位置の置換42は、ウェブアプリケーション34用のカスタムカラースキーム40として使用される。
【0044】
したがって、カスタムカラースキーム40は、ソース色セット36をターゲット色セット38にマッピングするために使用される。カラースキームジェネレータアルゴリズム32は、ウェブアプリケーション34内でウェブページ25ごとにカスタムカラースキーム40を生成する。リアルタイムで、カラースキームジェネレータアルゴリズム32は、元のソース色セット36によるアプリケーションページおよび提案されたカスタムカラースキーム40におけるウェブページ25を生成する。
【0045】
これは、コンピューティングデバイス50のユーザにとって、適用される提案されたカスタムカラースキーム40によるウェブページ35およびソース色セット36の両方の外観を確認するための機会である。カラースキームジェネレータアルゴリズム32は、必要に応じて、ユーザインターフェースからの入力に基づいて提案されたカスタムカラースキーム40の色を調整するように構成される。
【0046】
ここで図4を参照し、ウェブアプリケーション34用のカスタムカラースキーム40の例の生成を説明する。カラースキームジェネレータアルゴリズム32は、最初にソース色セット36を決定する。ソース色セット36は様々な方法で決定し得る。
【0047】
1つのアプローチは、ソースウェブアプリケーションのカラースキームを分析するカラースキームジェネレータアルゴリズム32である。これは、ソースウェブアプリケーションをクロールして、企業または会社の要件に適合するダイアログのカラースキームを分析することによって実現される。別のアプローチは、ロゴのカラースキームを分析することである。さらに別のアプローチは、ユーザ定義のカラースキームをカラースキームジェネレータアルゴリズム32に提供することである。これらのアプローチは例であり、限定するものではない。ソース色セット36がモノクロの場合、カラースキームジェネレータアルゴリズム32の実行は、さらに、ソース色セット36を拡張するためにモノクロカラーの変形を生成することも含む。
【0048】
ソース色セット36の例はスクリーンショット200で与えられる。ソース色セット36は、表示部202に対し青、表示部204に対し水色、および表示部206に対し灰色を含む。さらに、部分のいずれか1つはテキストを含み得る。例えば、表示部206は背景が灰色の黒いテキストを含み得る。
【0049】
ソース色セット36が決定された後、カラースキームジェネレータアルゴリズム32は、ソース色セット36内の色の間の色分離距離44を決定し得る。色分離距離44は、いくつかの異なる色距離決定方法のいずれか1つを使用して決定する。カラースキームジェネレータアルゴリズム32は、例えば、RGBユークリッド距離の方法、Cielab Delta Eの方法、または色公差距離の方法を使用し得る。他の色距離決定方法がカラースキームジェネレータアルゴリズム32によって使用され得るので、これらの例示的な色距離決定方法は限定的なものではない。
【0050】
例としてスクリーンショット200を使用して、ソース色セット36に関する色分離距離が、表示部202および204の間、表示部202および206の間、ならびに表示部204および206の間で決定される。色分離距離44は、カラースキームジェネレータアルゴリズム32により使用され、ソース色セット36内の色についてのカラーコントラストを決定する。テキストと背景の間のカラーコントラストも決定される。ウェブアプリケーション34に適用されるカスタムカラースキーム40で同様のコントラストを維持することは、快適なユーザ体験を提供するために必要である。
【0051】
次に、カラースキームジェネレータアルゴリズム32は、ウェブアプリケーション34におけるカラースキームを分析してターゲット色セット38を決定する。これは、ウェブアプリケーション34をクロールしてそのダイアログにおいてカラースキームを分析することによって実現される。ウェブアプリケーション34は、ターゲットウェブアプリケーションと呼ばれることもある。
【0052】
ターゲット色セット38の例がスクリーンショット210で提供される。スクリーンショット210は、ウェブアプリケーション34内の特定のウェブページ35に対応する。ターゲット色セット38は、表示部212に対し赤、表示部214に対し紫、表示部26に対し白を含む。さらに、部分のいずれか1つがテキストを含み得る。例えば、表示部216は背景が白の黒いテキストを含み得る。
【0053】
ターゲット色セット38が決定された後、カラースキームジェネレータアルゴリズム32は、ソース色セット36内の色に置き換えることができるターゲット色セット38内の色の色位置の置換42を決定する。例えば、1つの色位置の置換42は、青に置き換えられる表示部212、水色に置き換えられる表示部214、および灰色に置き換えられる表示部216を含む。次の色位置の置換42は、青のままの表示部212を含むが、表示部214および216の間で水色と灰色を交換する。
【0054】
さらに別の色位置の置換42は、水色に置き換えられる表示部212、青に置き換えられ表示部214、灰色に置き換えられる表示部216を含む。次の色位置の置換42は、水色のままの表示部212を含むが、表示部214と216の間で青と灰色を交換する。色位置の置換42の決定は、可能なすべての色の組み合わせ42が決定されるまで続く。
【0055】
各色位置の置換42について、カラースキームジェネレータアルゴリズム32は、置き換えられた色の間の色分離距離44を決定する。これは、ソース色セット36内の色間の色分離距離を決定するカラースキームジェネレータアルゴリズム32と同様である。
【0056】
各色位置の置換42についての色分離距離44は、ソース色セット36用の色分離距離44の決定に使用されるのと同じ色距離決定方法を使用して決定される。上記のように、色分離距離44は、カラースキームジェネレータアルゴリズム32によって使用され、ソース色セット36内の色に関するカラーコントラスト、ならびに色位置の置換42の各々における色に関するカラーコントラストを決定する。
【0057】
各色位置の置換42について、カラースキームジェネレータアルゴリズム32は、置き換えられた色における色分離距離44とソース色セット36における色分離距離44との間のデルタ46を決定する。次に、カラースキームジェネレータアルゴリズム32は、他の色位置の置換42についてのデルタ46に関して最小化されているデルタ46に基づいて色位置の置換42のうちの1つを選択する。
【0058】
例として、色位置の置換42のうちの1つで置き換えられた色における色分離距離44とソース色セット36における色分離距離44との間のデルタ46が高い場合、この色位置の置換42は、快適なユーザ体験を提供しない。色位置の置換42に配置された色間のコントラストは、ソース色セット36のカラーコントラストに匹敵しない。
【0059】
逆に、色位置の置換42のうちの1つで置き換えられた色における色分離距離44とソース色セット36における色分離距離44との間のデルタ46が低い場合、この色位置の置換42は、快適なユーザ体験を提供する。
【0060】
各色位置の置換42とソース色セット36との間に色分離距離の間隔が置かれたデルタ46に基づいて、カラースキームジェネレータアルゴリズム32は、他の色位置の置換42についてのデルタ46と比較した場合に可能な限りゼロに近いデルタ46を有する色位置の置換42を選択する。そして、デルタ46が最も低い色位置の置換42については、ターゲット色セット38にマッピングされたソース色のコントラストが元のソース色セット36におけるカラーコントラストによりよく適合する。
【0061】
一旦色位置の置換42が選択されると、カラースキームジェネレータアルゴリズム32はウェブページ35用の色位置の置換42に対応するカスタムカラースキーム40を使用してカスタムスタイルシートを生成する。カスタムスタイルシートは、次にウェブアプリケーション34がアクセスされるときに適用される。
【0062】
ウェブアプリケーションにおいて複数のウェブページ35があるので、カラースキームジェネレータアルゴリズム32は、ウェブアプリケーション34における各ウェブページ35について決定するステップおよび選択するステップを繰り返すように構成される。カラースキームジェネレータアルゴリズム32は、ウェブページ35ごとにカスタムカラースキーム40を使用してカスタムスタイルシートを生成する。
【0063】
場合によっては、各ウェブページ35の処理全体の繰り返しは、不整合をもたらす可能性がある。ほとんどのウェブアプリケーションは動的であるため、通常、ウェブアプリケーション34についてウェブページの有限セットはない。代替として、サーバ30は、スタイルシートのすべてのコンポーネント内のすべての色がソース色セット36にマッピングされて複数のウェブページにわたって一貫性を実現するまで、複数のウェブページ35を検査するように構成し得る。
【0064】
1つのアプローチでは、カラースキームジェネレータアルゴリズム32によって決定される色分離距離44は、すべての色の間にある。あるいは、カラースキームジェネレータアルゴリズム32によって決定される色分離距離44は、隣接する色に制限される。隣接する色に制限されることで、色位置の置換42の数が低減する。
【0065】
カラースキームジェネレータアルゴリズム32は、さらに、異なる色距離決定方法について決定するステップおよび選択するステップを繰り返すように構成される。コンピューティングシステム50は、各色距離決定方法について選択された色位置の置換42を表示する。表示されると、色距離決定方法のどれが最も快適なユーザ体験を提供するかに応じて、選択がユーザ入力に基づくウェブアプリケーション34用のユーザインターフェース52からの入力に基づいて、カスタムカラースキームとして使用するために選択される。
【0066】
ここで、図5のフローチャート300を参照すると、ウェブアプリケーション34のためのカスタムカラースキーム40を生成する方法は、開始(ブロック302)から、ブロック304においてカスタムカラースキーム40で使用するソース色セット36を決定するステップと、ブロック306においてソース色セット36内の色の間の色分離距離44を決定するステップとを含む。この方法はさらに、ブロック308においてウェブアプリケーション34におけるターゲット色セット38を決定するステップを含む。
【0067】
ブロック310において、ソース色セット36内の色に置き換えることができるターゲット色セット38内の色の色位置の置換42が決定される。各色位置の置換42について、この方法は、ブロック312のように、置き換えられた色の間の色分離距離44を決定するステップを含む。各色位置の置換42について、方法は、ブロック314のように、置き換えられた色における色分離距離44と、ソース色セット36における色分離距離44との間のデルタ46を決定するステップを含む。
【0068】
この方法はさらに、ブロック316において、他の色位置の置換42についてのデルタ46に関して最小化されているデルタ46に基づいて、色位置の置換42のうちの1つを選択するステップを含む。選択された色位置の置換42は、ウェブアプリケーション34用のカスタムカラースキーム40として使用されるものである。方法はブロック318で終了する。
【0069】
別の態様は、ウェブアプリケーション34のためのカスタムカラースキーム40を生成するためにサーバ30を操作するための非一時的コンピュータ可読媒体に向けられており、非一時的コンピュータ可読媒体は、サーバに、カスタムカラースキーム40において使用するソース色セット36を決定するステップと、ソース色セット36内の色の間の色分離距離44を決定するステップと、ウェブアプリケーション34におけるターゲット色セット38を決定するステップとを実行させる複数のコンピュータ実行可能命令を有する。
【0070】
ソース色セット36内の色に置き換えることができるターゲット色セット38内の色の色位置の置換42が決定される。各色位置の置換42について、置き換えられた色の間の色分離距離44が決定される。各色位置の置換42について、置き換えられた色における色分離距離44とソース色セット36における色分離距離44との間のデルタ46が決定される。
【0071】
色位置の置換42のうちの1つは、他の色位置の置換42についてのデルタ46に関して最小化されているデルタ46に基づいて選択される。選択された色位置の置換42は、ウェブアプリケーション34用のカスタムカラースキーム40として使用される。
【0072】
多くの修正および他の実施形態が、前述の説明および関連する図面において提示された教示の利益を有する当業者の頭に浮かぶであろう。したがって、本開示は、開示された特定の実施形態に限定されるべきではなく、修正および実施形態は、添付の特許請求の範囲内に含まれることが意図されていることが理解される。
図1
図2
図3
図4
図5