(57)【要約】種々の動作をサポートする技術は、ブラウザ環境におけるドラッグアンドドロップ、およびストレッチ、ならびにデータ操作を含み、ドキュメント（３００）の一部分に配置されたオブジェクトのデータが、このドキュメントの別の部分に配置された別のオブジェクトと関連つけられることを可能にする。１実施形態において、ドキュメントは、少なくとも１つのディスプレイウィンドウに対して少なくとも１つのアプレット（３１０ａ）を含む。各アプレットは、エンドアプリケーションのエンティティを表す少なくとも１つのブラウザオブジェクト（３１２）を含む。【選択図】図３
2005505057.tif 000002
【特許請求の範囲】
【請求項１】
ブラウザ環境におけるユーザの双方向通信を容易にする方法であって、
複数のソースおよびターゲットオブジェクト、ならびに複数のスクリプトが含まれるドキュメントを受信するステップと、
選択されたソースオブジェクト上で特定の動作が開始されるという第１のインジケーションを受信するステップと、
該選択されたソースオブジェクトと関連した第１のスクリプトを実行して、該選択されたソースオブジェクトと関連したデータが含まれるデータ転送オブジェクトを生成するステップと、
該特定の動作が選択されたターゲットオブジェクト上で完了されるという第２のインジケーションを受信するステップと、
該選択されたターゲットオブジェクトと関連した第２のスクリプトを実行して、該特定の動作を実行するために、該データ転送オブジェクト内に含まれるデータを操作するステップと
を包含する、方法。
【請求項２】
前記ドキュメントは、ウェブページである、請求項１に記載の方法。
【請求項３】
前記特定の動作は、ドラッグアンドドロップ動作である、請求項１の記載の方法。
【請求項４】
前記特定の動作は、ストレッチ動作である、請求項１に記載の方法。
【請求項５】
前記データ転送オブジェクトが、潜在的ターゲットオブジェクトの表現に移動されるという第３のインジケーションを受信するステップと、
該第３のインジケーションの受信に応答して、該潜在的ターゲットオブジェクトの該表現を改変するステップと
をさらに包含する、請求項１に記載の方法。
【請求項６】
前記潜在的ターゲットオブジェクトと関連した第３のスクリプトを実行して、前記データ転送オブジェクトに含まれるデータを該潜在的ターゲットオブジェクトと関連したデータに対してチェックするステップをさらに包含し、
前記表現は、該チェックの結果に基づいて改変される、請求項５に記載の方法。
【請求項７】
前記選択されたソースオブジェクトが前記潜在的ターゲットオブジェクトと関連付けられ得る場合、該潜在的ターゲットオブジェクトの前記表現の色を変更するステップをさらに包含する、請求項６に記載の方法。
【請求項８】
前記データ転送オブジェクトが前記潜在的ターゲットオブジェクトの前記表現の外に移動されるという第４のインジケーションを受信するステップと、
該第４のインジケーションの受信に応答して、該潜在的ターゲットオブジェクトの前記表現を復元するステップと
をさらに包含する、請求項５に記載の方法。
【請求項９】
前記第２のスクリプトは、前記選択されたターゲットオブジェクトを更新して、前記特定の動作の完了を反映させるコールを開始する、請求項１に記載の方法。
【請求項１０】
前記選択されたソースオブジェクトおよびターゲットオブジェクトの更新と共に更新ドキュメントを受信するステップをさらに包含する、請求項１に記載の方法。
【請求項１１】
前記ドキュメントは、複数のディスプレイウィンドウの複数のアプレットを含む、請求項１に記載の方法。
【請求項１２】
前記選択されたソースオブジェクトは、第１のアプレットに配置され、前記選択されたターゲットオブジェクトは、第２のアプレットに配置される、請求項１１に記載の方法。
【請求項１３】
前記選択されたソースオブジェクトおよびターゲットオブジェクトの両方は、同じアプレットに配置される、請求項１１に記載の方法。
【請求項１４】
少なくとも１つのアプレットは、ガントチャートを表す、請求項１１に記載の方法。
【請求項１５】
前記ガントチャートは、複数の可能なタイプのブラウザオブジェクトの中から選択された特定のタイプのブラウザオブジェクトを表示するように構成される、請求項１４に記載の方法。
【請求項１６】
少なくとも１つのアプレットは、リストアプレットを表す、請求項１１に記載の方法。
【請求項１７】
前記第１および第２のインジケーションは、前記ドキュメントを表示するために用いられるブラウザによって発生されるイベントによって信号が送られる、請求項１に記載の方法。
【請求項１８】
ブラウザ環境におけるユーザの双方向通信を容易にすることができるドキュメントであって、該ドキュメントは、少なくとも１つのアプレットを備え、各アプレットは、エンドアプリケーションのエンティティを表す少なくとも１つのブラウザオブジェクトを備え、そして各ブラウザオブジェクトは、該関連したブラウザオブジェクトに許可された１つ以上の動作のセットを容易にするために用いられる１つ以上のスクリプトのそれぞれのセットと関連している、ドキュメント。
【請求項１９】
ウェブページを含む、請求項１８に記載のドキュメント。
【請求項２０】
前記各ブラウザオブジェクトに許可された前記１つ以上の動作のセットは、ドラッグアンドドロップ動作を含む、請求項１８に記載のドキュメント。
【請求項２１】
前記各ブラウザオブジェクトに許可された前記１つ以上の動作のセットは、ストレッチ動作を含む、請求項１８に記載のドキュメント。
【請求項２２】
ブラウザオブジェクトが特定の動作を起こす元になるように選択される場合、該ブラウザオブジェクトは、ソースオブジェクトであり、該ブラウザオブジェクトが特定の動作の目標先として選択される場合、該ブラウザオブジェクトは、ターゲットオブジェクトである、請求項１８に記載のドキュメント。
【請求項２３】
各ブラウザオブジェクトの前記１つ以上のスクリプトは、該ブラウザオブジェクトが特定の動作のためのソースオブジェクトとして選択される場合、アクションの第１のセットを実行するように動作し、該ブラウザオブジェクトが該特定の動作のためのターゲットオブジェクトとして選択される場合、アクションの第２のセットを実行するように動作する、請求項１８に記載のドキュメント。
【請求項２４】
前記アクションの第１のセットは、前記ブラウザオブジェクトと関連したデータが含まれるデータ転送オブジェクトを生成するステップを包含する、請求項２３に記載のドキュメント。
【請求項２５】
前記特定の動作は、ドラッグアンドドロップ動作であり、ターゲットオブジェクトとして選択可能な各ブラウザオブジェクトの前記１つ以上のスクリプトは、選択されたソースオブジェクトが該ターゲットオブジェクト上にドロップされた場合、アクションの第１のサブセットを実行するようにさらに動作する、請求項２３に記載のドキュメント。
【請求項２６】
ターゲットオブジェクトとして選択可能な各ブラウザオブジェクトの前記１つ以上のスクリプトは、前記選択されたソースオブジェクトが該ブラウザオブジェクト内にドラッグされた場合、アクションの第２のサブセットを実行するように、かつ、該選択されたソースオブジェクトが該ブラウザオブジェクトの外にドラッグされた場合、アクションの第３のサブセットを実行するようにさらに動作する、請求項２５に記載のドキュメント。
【請求項２７】
ブラウザ環境におけるユーザの双方向通信を容易にするコンピュータプログラム製品であって、コンピュータ読み出し可能プログラムコードが組み込まれたコンピュータ使用可能媒体を備え、該コンピュータ使用可能媒体は、
複数のソースオブジェクトおよびターゲットオブジェクトならびに複数のスクリプトが含まれたドキュメントを記述するステップと、
特定の動作は、選択されたソースオブジェクト上で開始されるという第１のインジケーションを受信するステップと、
第１のスクリプトが該選択されたソースオブジェクトと関連付けられ、かつ、該選択されたソースオブジェクトと関連付けられたデータが含まれるデータ転送オブジェクトを生成するように実行されるステップと、
該特定の動作が選択されたターゲットオブジェクト上で完了されるという第２のインジケーションを受信するステップと、
第２のスクリプトが該選択されたターゲットオブジェクトと関連付けられ、かつ、該特定の動作を実行するために該データ転送オブジェクトに含まれるデータを操作するように実行されるステップと
のための、コンピュータプログラム製品。
【請求項２８】
前記特定の動作は、ドラッグアンドドロップ動作またはストレッチ動作である、請求項２７に記載のコンピュータプログラム製品。
【請求項２９】
前記コンピュータ使用可能媒体は、
前記データ転送オブジェクトが潜在的ターゲットオブジェクトの表現に移動されるという第３のインジケーションを受信するステップと、
該第３のインジケーションの受信に応答して、該潜在的ターゲットオブジェクトの該表現を改変するステップと、
該データ転送オブジェクトが該潜在的ターゲットオブジェクトの該表現の外に移動されるという第４のインジケーションを受信するステップと、
該第４のインジケーションの受信に応答して、該潜在的ターゲットオブジェクトの表現を復元するステップと
のためのコンピュータ読み出し可能プログラムコードでさらに具体化される、請求項２７に記載のコンピュータプログラム製品。
【請求項３０】
ブラウザ環境におけるユーザの双方向通信を容易にするコンピュータプログラム製品であって、
複数のソースオブジェクトおよびターゲットオブジェクト、ならびに複数のスクリプトが含まれたドキュメントを記述するコードと、
選択されたソースオブジェクト上で特定の動作が開始されるという第１のインジケーションを受信するコードと、
該選択されたソースオブジェクトと関連し、かつ該選択されたソースオブジェクトと関連したデータが含まれたデータ転送オブジェクトを生成するように実行される第１のスクリプトのコードと、
特定の動作が、選択されたターゲットオブジェクト上で完了されるという第２のインジケーションを受信するコードと、
該選択されたターゲットオブジェクトと関連付けられ、かつ該特定の動作を実行するために、該データ転送オブジェクトに含まれるデータを操作するように実行される第２のスクリプトのコードと、
該コードを格納するように構成されたデータ格納媒体と
を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはコンピュータ処理に関し、より詳細にはブラウザベースのアプリケーションのための高レベルなユーザ相互作用を提供する技術に関する。
【背景技術】
【０００２】
ワールドワイドウェブ（インターネットとして一般的に知られている）は、ユーザがユーザ個人のコンピュータから世界中に格納されたデータ、およびソフトウェアアプリケーションにアクセスすることを可能にする。インターネットは、クライアントコンピュータとホストコンピュータを様々なコミュニケーション手段（例えば、ワイヤレス、およびワイヤレスリンク）を介して相互接続する分散コンピュータネットワークのコレクションである。ローカルエリアネットワーク（ＬＡＮ）、およびワイドエリアネットワーク（ＷＡＮ）のような他のタイプのコンピュータネットワークもまた、コンピュータ間に相互接続を提供するために利用される。
【０００３】
クライアントコンピュータで実行するウェブブラウザを通じて、ユーザは、ネットワークを介してクライアントコンピュータと接続されたホストコンピュータに常駐する情報を容易に取り出すことができる。ユーザは、最初にクライアントコンピュータでウェブブラウザを実行し、次にホストコンピュータからの所望のウェブページのＵＲＬリンクを指定する。それに応じて、そのウェブページは、クライアントコンピュータに取り出され、ダウンロードされる。そのウェブページは、一般的にデータ、および他の関連するウェブページのＵＲＬリンクを含有する。
【０００４】
ブラウザ、およびコンピュータネットワークは、その上で広範囲の用途に対して設計されるソフトウェアアプリケーションが実装され得る、アトラクティブなプラットフォームを提供する。ブラウザベースのアプリケーションにより、ホストコンピュータは、全て、または大半のデータ処理を実行し得、クライアントコンピュータは、ブラウザを介して、ホストコンピュータと相互に作用し、必要とされるデータ、および処理をホストコンピュータから取得する。ホストソフトウェアアプリケーションの特定の設計に依存するが、クライアントコンピュータで要求され得る全てのことは、ブラウザ自身がホストコンピュータから要求されるデータ、および機能を取得することである。
【０００５】
ブラウザベースのアプリケーションは、他の「太い（ｔｈｉｃｋ）クライアント」アプリケーションを超える様々な利点を提供し得る。他の「太いクライアント」アプリケーションは、通常、ホストおよびクライアントコンピュータの両方に特別に設計されたソフトウェアのインストールが必要である。これらの利点は、（１）ブラウザベースのアプリケーションは通常ホストコンピュータにのみインストールされ、クライアントコンピュータにはインストールされないため、インストールが容易であること、（２）アップグレード、および他の保守タスクが、ホストコンピュータ上でのみ実行されるため、保守が容易であること（３）ブラウザ、および（ウェブ）アクセスにより任意のユーザがホストコンピュータに相互作用することが可能であり得るため、接続性のレベルが高いこと、ならびに、その他の利点である。
【０００６】
慣習的に、ブラウザベースのアプリケーションは、一部限定された性能のブラウザにより、限定されたレベルのユーザ相互作用をサポートし得る。クライアントコンピュータのユーザは、通常、ウェブページ上で特別に規定されたボタン、およびドロップダウンボックスにキーボードで入力、ならびにマウスをクリックすることを介して、データをダウンロードし、コマンドを実行し、かつ他の機能を実行し得る。しかしながら、ブラウザベースのアプリケーションがより複雑になり、より高レベルのユーザの相互作用が必要とされる。例えば、ユーザがウェブページのある部分のデータを選択し、ウェブページの他の部分に配置されたオブジェクトと関連付けることを可能にする技術（例えば、「ドラッグアンドドロップ」動作を介する）は、高い価値がある。
【発明の開示】
【課題を解決するための手段】
【０００７】
本発明は、ブラウザ環境における様々な動作（例えば、ドラッグアンドドロップ、ストレッチなど）およびデータ操作をサポートする技術を提供する。これらの技術は、ドキュメント（ウェブページ）のある部分に配置されたオブジェクトのデータを、そのドキュメント（またはドキュメント外でも可能）の同じ、または他の部分に配置された他のオブジェクトに関連付けることを可能する。これらの技術はまた、オブジェクトに関する情報がドキュメント内のオブジェクトの移動を介して付加、修正、消去などされることを可能にする。これらの技術は、さらにオブジェクトの移動によって呼び出された様々な機能、および処理をサポートする。これらの動作およびデータ操作の達成に必要とされる様々なアクションは、例えば、ドキュメント自身に含まれ、ダイナミックＨＴＭＬをサポートするブラウザによって実行されるスクリプトよって実行される。
【０００８】
本発明のある特定の実施形態は、ブラウザ環境においてユーザ相互接続を円滑にする方法を提供する。その方法に従うと、複数のソースオブジェクト、およびターゲットオブジェクト、ならびに複数のスクリプトが内部に含まれるドキュメントが、最初に受信される。その後選択されたソースオブジェクト上で開始される特定の動作指示（例えば、ドラッグアンドドロップ動作）が、受信される。それに応じて、選択されたソースオブジェクトに関するデータを内部に含むデータ送信オブジェクトを内部に生成する選択されたソースオブジェクトのスクリプトが、実行される。選択されたターゲットオブジェクト上で完了する特定の動作指示が、その後受信される。それに応じて、（例えば、ドラッグアンドドロップ）動作を達成するためのデータ送信オブジェクトに含まれるデータ上で動作する選択されたターゲットオブジェクトためのスクリプトが、実行される。その動作は、選択されたソース、およびターゲットオブジェクトをアップデートするためにホストコンピュータの呼び出しを引き起こす。データを操作し、かつ／または他のオブジェクトにあるオブジェクトのデータを関連付ける特定の動作が、実行される。
【０００９】
選択されたソースオブジェクトが、意図するターゲットに向かってウェブページを動きまわるにつれて、各ポテンシャルターゲットオブジェクトの表示（例えば、ボックス）が変更されてもよく（例えば、色の変更により）、または、マウスカーソルが変化してもよく、または、ディスプレイのいくつかの他の特徴がターゲットオブジェクト上の選択されたソースオブジェクトのドロップが許可されるかどうかを示すために変更されてもよい。その変更は、ポテンシャルターゲットオブジェクトのスクリプトによって実行される。ポテンシャルターゲットオブジェクトの表示、またはマウスカーソルの変化は、ドラッグアンドドロップ動作によってエンドユーザをガイドすることに役立つ。
【００１０】
本発明の他の特定の実施形態は、ブラウザ環境においてユーザ相互作用を円滑にすることができるドキュメント（例えば、ウェブページ）を提供する。ドキュメントは少なくとも１つのディスプレイウインドウに対して少なくとも１つのアプレットを含む。各アプレットは、少なくとも１つのブラウザオブジェクトを含み、そのブラウザオブジェクトは、エンドアプリケーション（例えば、以下で述べられているディスパッチシステム）のためのエンティティ（例えば、アクティビティ、従業員）の表現である。各ブラウザオブジェクトは、ブラウザオブジェクトに対して許可された１つ以上の動作（例えば、ドラッグアンドドロップ、およびストレッチ動作）のセットを円滑に行うために利用された１つ以上のスクリプトの各セットにさらに関連付けられる。
【００１１】
各ブラウザオブジェクトは、特定の動作を開始することが選択され得る場合、ソースオブジェクトであり、特定の動作の目的として選択され得る場合、ターゲットオブジェクト（代替的、または付加的に）である。このケースにおいて、各ブラウザオブジェクトが特定の動作に対してソースオブジェクト、またはターゲットオブジェクトのどちらとして選択されるかに応じて、各ブラウザオブジェクトのスクリプトは、アクションの適当なセットを実行する。
【００１２】
本発明は、さらに他の方法、ドキュメント（例えば、ウェブページ）、ソフトウェアコード、および以下でさらに詳細に記載されている発明の様々な局面、実施形態ならびに特徴を実装することができるシステムを提供する。
【００１３】
本発明の他の局面、ならびに実施形態とともに前述は、以下の明細書、特許請求の範囲、および添付の図面を参照する場合より明らかになる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明の様々な局面、および実施形態が実装され得るコンピュータネットワーク１００を説明する図である。コンピュータネットワーク１００は、ネットワーク１３０を介して１つ以上のホストコンピュータ１１０に接続された任意の数のクライアントコンピュータ１２０を含み得る。ネットワーク１３０は、インターネット、ＬＡＮ、ＷＡＮ、任意の他のタイプのネットワーク、またはそれらの組み合わせであり得る。１つのクライアントコンピュータ、および１つのホストコンピュータのみを単純化して図１に示す。
【００１５】
図１に示された実施形態において、ホストコンピュータ１１０は、ランタイムエンジン１１２、オブジェクトマネージャ１１４、およびデータマネージャ１１６を含む。ランタイムエンジン１１２は、必要とされる機能を提供する１つ以上のソフトウェアアプリケーションを実行する。ディスパッチシステムのソフトウェアアプリケーション例は、以下により詳細に説明されている。
【００１６】
オブジェクトマネージャ１１４は、ランタイムエンジン１１２とインターフェイスし、かつ中央データベース１１８との相互作用を管理している。ある実施形態において、オブジェクトマネージャ１１４は、ビジネスオブジェクト（ＢＯ）、ビジネスサービス（ＢＳ）およびビジネスコンポーネント（ＢＣ）（簡略化のために全て３つとも図１に図示されず）を管理する。ビジネスオブジェクトは、関連するビジネスルールを有するソフトウェアアプリケーションための主なエンティティ（例えば、ディスパッチシステム用のスケジュール、アクティビティ、および従業員）をモデル化する。各ビジネスオブジェクトは、親子のコンポーネントの階層で構成され、親子のコンポーネントは適切に専門化された動作との関係をモデル化している。ビジネスサービスは、複雑なアクションを構築するための基本コンポーネントである。新しいビジネスサービスが生成され得、多数のビジネスオブジェクトを含む複雑なアクションを提供するためにマルチステップ制御フローにリンクされ得る。ビジネスコンポーネントは、データベース１１８内のデータの複製なしで遠隔オブジェクトへのリアルタイムアクセスを提供する。ビジネスオブジェクトは、ランタイムエンジンによって管理された多くのビジネスコンポーネントで構成され得る。
【００１７】
データマネージャ１１６は、データベース１１８を管理し、かつある実施形態において、ＳＱＬオブジェクトの起動によってこの機能を実行する。データベース１１８は、ランタイムエンジン１１２によって実行されるソフトウェアアプリケーション用にデータを格納し、典型的には特定のスキームを基礎とした「生」形式にデータを格納する。
【００１８】
ある実施形態において、クライアントコンピュータ１２０は、ウェブブラウザ１２２、（任意の）ランタイムエンジン１２４、およびローカル記憶装置１２６を含む。ウェブブラウザ１２２は、クライアントソフトウェアプログラムであり、クライアントソフトウェアプログラムは、ブラウザユーザのためにサーバ（例えば、ホストコンピュータ１１０）の要求を行うハイパーテキストトランスファープロトコル（ＨＴＴＰ）を利用する。ウェブブラウザ１２２は、ユーザに情報を表示するユーザインターフェイス（例えば、スクリーン）を提供し、さらにユーザ入力（例えば、マウスクリック、マウス移動、キーボード入力、および他の手段を介して提供され得る）を受信し、かつインタープリットする。ウェブブラウザ１２２はまた、データをダウンロード、および送信し（例えば、ホストコンピュータ１１０から／へ）ならびにユーザ入力に基づいてデータを処理するための手段を提供する。ウェブブラウザ１２２は、ＡＯＬ−Ｔｉｍｅ  Ｗａｒｎｅｒ，ＩｎｃのＮａｖｉｇａｔｏｒ（Ｒ）、またはＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ）のような市販されたソフトウェアアプリケーションであり得る。
【００１９】
特定の実施形態にとって、クライアントコンピュータ１２０は、ランタイムエンジン１２４を含み、ランタイムエンジン１２４は、ホストコンピュータ１１０のランタイムエンジン１１２で実行されるソフトウェアアプリケーションの全て、またはいくつかを実行し得る。ランタイムエンジン１２４は、いくつかの処理をクライアントコンピュータ１２０によって実行されることを可能にし、クライアントコンピュータ１２０は、クライアントコンピュータ１２０とホストコンピュータ１１０との間のデータの交換量を軽減し得る。ランタイムエンジン１２４は、さらにクライアントコンピュータ１２０が、必要なとき、または所望される場合、スタンドアローン構成（すなわち、ホストコンピュータ１１０と接続されない）で動作することを可能にする。
【００２０】
ローカル記憶装置１２６は、ウェブブラウザ１２２、およびランタイムエンジン１２４のためにデータを格納する。例えば、ドキュメント（例えば、ウェブページ）は、ウェブページへの高速で、かつ効率的なアクセスを可能にするために、ホストコンピュータ１１０からウェブブラウザによって取り出され、ローカル記憶装置１１６に格納される。ローカル記憶装置１１６は、半導体メモリ（例えば、ＲＡＭ、フラッシュ）、ハードデイスク、または内部に格納されたデータへの高速アクセスを提供し得る任意の他のデータ格納技術とともに実装され得る。
【００２１】
本発明は、ブラウザ環境における高レベルのユーザ相互作用、およびデータ操作をサポートする様々な技術を提供する。ある局面において、オブジェクト上の様々な動作をサポートし、かつさらに、複雑なデータ操作を可能にするフレームワークが、提供される。フレームワークは、様々なタイプのデータ要素（すなわち、データの記録である「ブラウザオブジェクト」）、様々なタイプのデータ要素のディスプレイ表示（例えば、リスト表、ガントチャートなど）、およびデータ要素上で実行され得る様々な動作（例えば、ドラッグアンドドロップ）を規定する。各サポートされた動作にとって、フレームワークは、動作を達成するために、影響を受けるデータ要素によって／上で実行されるアクションのセットを規定する。この規定されたフレームワーク内で、データは、サポートされた動作を介したさまざまな方法で操作され得、かつ様々な他の機能、およびプロセスがまた、サポートされ得る。例えば、ドキュメント（例えば、ウェブページ）の一部に配置されたオブジェクトは、ドラッグアンドドロップ動作を介して、ドキュメントの他の部分に配置された他のオブジェクトに関連付けられ得る。
【００２２】
本発明の様々な局面および実施形態は、様々なタイプのソフトウェアアプリケーション（顧客関係管理（ＣＲＭ）アプリケーション、従業員関係管理（ＥＲＭ）アプリケーションなど）をサポートするために利用され得るコンピュータネットワーク１００内で実装され得る。明確にするために、発明の様々な局面、および実施形態は、特定のＣＲＭアプリケーションについて記載される。特定のＣＲＭアプリケーションは、従業員にアクティビティを割り当て、かつスケジューリングするために利用されるディスパッチシステムである。さらに、本明細書中に記載されている技術は、様々なタイプのドキュメントのに組み合わされて利用され得るが、明確にするために、本発明の様々な局面、および実施形態は、ウェブページ、またはＨＴＭＬドキュメントについて特別に記載されている。
（ディスパッチボード用のウェブページ）
図２Ａは、「ディスパッチボード」用のドキュメント２００ａ（例えば、ウェブページ）を説明する。ドキュメント２００ａは、本発明の特定の実施形態に従って、アクティビティ、および従業員の情報を表示し、かつアクティビティの割当て、およびスケジューリングを円滑に行うために利用され得る。ディスパッチボードは、ディスパッチャ（すなわち、エンドユーザ）によって（１）明確でありかつ整理された態様で、利用可能でありかつ妥当な情報を表示して、ディスパッチャが、従業員のアクティビティの割り当てを促し、かつコスト効果的な決定を行うことを可能にし、（２）割り当てられたアクティビティの付加、変更、およびスケジューリングを行う拡張された可能性を提供し、（３）他の機能の実行するために利用され得る。
【００２３】
ディスパッチボードは、メインタブ２１２、およびメインディスプレイ領域２２０を含む。メインタブ２１２は、様々なエンドアプリケーション、機能、およびシステム全体によって提供される特徴を呼び出すために利用され得る。そのような設計において、ディスパッチシステムは、複数の利用可能なエンドアプリケーションのちょうど１つを表示し得る。
【００２４】
メインディスプレイ領域２２０は、選択されたエンドアプリケーションの情報を示すために利用され得る。図２Ａに示された特定の実施形態において、メインディスプレイ領域２２０は、ディスパッチシステムのための情報を示し、かつ利用可能な従業員、および彼等のスケジューリングされたアクティビティを示すために利用されるアクティビティガントチャート「アプレット」２３０、ならびにスケジューリングされていないアクティビティを示すために利用されたスケジューリングされていないアクティビティアプレット２６０を含む。明細書中で利用されているように、アプレットは、特定のデータコレクションを示すために利用されたディスプレイウインドウに対して上位のオブジェクトである。長方形の形状が、一般的に用いられるが、このディスプレイウインドウは、任意のサイズ、および形状を有するように規定され得る。アプレットは、特定のレイアウト、および設計でデータを表示し、ならびに複数のアプレットが、データの同じコレクションを表示するために設計され、利用され得る。ドキュメントは、任意の数のアプレットを含むように設計され得る。
【００２５】
各アプレットは、複数のフィールドを含み、かつ各フィールドは、データの特定のタイプ、特定のパラメータ、アプレット上で実行され得る特定のアクションなどを表示し得る。各フィールドは、通常、ボタン、リストボックス、ディスプレイ領域、または任意の他の表示であり得る下位のオブジェクトにより表示される。
【００２６】
（アクティビティガントチャートアプレット）
図２Ａは、ディスパッチシステムの特定の時間ウインドウのスケジューリングを表示するために利用されるアクティビティガントチャートアプレット２３０（または、単純にチャートアプレット）の実施形態を示す。示された実施形態において、チャートアプレット２３０は、（１）アプレット２３０において、ディスパッチャが、表示されるガントチャートの開始日を選択することを可能にする日付リストボックス、（２）ガントチャートによってカバーされるサービス領域、および従業員をリスト化するセクション、ならびに（３）ディスパッチャが特定のタイムゾーンを選択することを可能にするリストボックスを有するヘッダー２３２を含む。
【００２７】
ある実施形態において、チャートアプレット２３０は、ガントチャートを利用している従業員グループの現在のスケジュールを表示する。他のタイプのチャートがまた、利用され得、本発明の範囲内である。ガントチャートは、時間に対してスケジュールされたアクティビティ、および他のイベントを示すためにｘ軸に対してｙ軸上にデータを表示する。ガントチャートの２つの上部の行は、日付、ならびに（適当であれば）時間情報を有するヘッダーを表示する。ヘッダー行の下の各データ行は、レコード２３４に対応し、従業員のスケジュールを表示するために用いられ得る。チャートアプレット２３０に表示される従業員の特定のグループは、１つ以上の判定基準（例えば、サービス領域、従業員、技術、部品などによって）に基づいて選択され得る。
【００２８】
ガントチャートの第１の列は、従業員を特定するために用いられるヘッダー列である。ヘッダー列より右側の各列は、割り当て、およびスケジューリングされた情報を表示するために用いられるデータ列である。各データ列は、特定のタイムスロットをカバーする。図２Ａで示された特定の実施形態においてタイムスロットは、１週間であり、しかし、他のタイムスロットも、オプションメニューを介してディスパッチャによって選択され得る。データ列の幅は、（例えば、デフォルト値によって）固定され得、ならびに列の数は、通常ディスプレイウインドウのサイズによって決定される。チャートは、カレンダーの特定の時間ウインドウ（例えば、数ヶ月）を表示するように設定され得る。ディスパッチャは、アクティビティの異なる時間のウインドウ（例えば、月の異なるセット）を表示するようにガントチャートを設定し得、またはアクティビティの異なるサイズの時間ウインドウ（例えば、１週間）を表示するようにチャート（例えば、オプションメニューを介して）を設定し得る。このケースにおいて、各データ列によってカバーされたタイムスロットは、対応するように変更する。
【００２９】
ガントチャートの各セルは、１つの行と１つの列との間の交差エリアによって形成される。データ列のセル（すなわち、データセル、またはデータボックス）は、１つ以上のスキーム（例えば、異なるカラーのボックス、アウトライン、影、テキスト、またはその組み合わせ）を利用してデータを表示するように設定され得る。これらのデータセルに表示されたデータは、同じ行の複数のセルをまたぎ得る。ある実施形態において、同じ列の複数のセルをまたぐことは制約される。代わりの実施形態において、データは同じ列の複数のセルをまたぐことを許可され得る（例えば、２つ以上の従業員が特定のアクティビティで必要とされ、または推薦される場合）。
【００３０】
ディスパッチャが、ガントチャートのグリッド部分、すなわちデータ列の列を横切ってまたぐ（または、走査）を可能にするスクロールボタン２３６が、提供され得る。必要である場合、ディスパッチャがヘッダー行を除いて、行を横切って利用可能な従業員をスクロールすることを可能にする垂直方向バー、または水平方向スクロールボタンがまた、提供され得る。水平および垂直スクロールボタンは、表示されるべきデータの量に基づいて（例えば、必要な場合、自動的に）表示ウインドウに表し得る。
【００３１】
様々なスキームが、ガントチャートのグリッド部分（すなわち、ヘッダーの行、および列を除いたデータ部分）にデータを示すために利用され得る。あるスキームにおいて、データは、アウトラインを有する濃い色のボックスとして表示される。各データボックスは、割り当てられ、かつスケジューリングされたアクティビティ、または任意の他の情報（例えば、従業員のスケジューリングされていない、または働けない時間）であり得る特定の「イベント」を表示する。ある実施形態において、ディスパッチャは、マウスの利用によってデータボックスのサイズを広げたり、または縮めたりすることが可能であり得る（例えば、ボックスのエッジをクリックすること、およびエッジのドラッグによって）。
【００３２】
各データボックスの色は、特定のカラーコーディングスキームに基づき得る。特定のカラーコードスキームは、通常、異なるタイプのイベントの間を区別するために異なる色を使用する。例えば、従業員のスケジューリングされていない時間は、１つの色（例えば、オレンジ）のデータボックスで表され得、かつスケジューリングされたアクティビティは、他の色のデータボックス（例えば、緑）、またはステータスもしくは優先順位を表す異なる色のボックスで表され得る。色スキームは、個々のディスパッチャの嗜好に適するように設定され得る。
【００３３】
データボックスは、関連イベント（例えば、アクティビティタイプ、ステータス、量、内容等、またはその組合せ）に関係する付加的な情報を表示するように設定され得る。テキストが、データボックスに収まるためには長すぎる場合、省略、または切り捨てられ得る。データボックスはまた、カーソルが、ボックス上に置かれたとき、完全なテキストが、イベントに対して表示される（例えば、マウスボタンをクリックする必要なく）ように設定され得る。
（スケジューリングされていないアクティビティアプレット）
図２Ａはまた、スケジューリングされていないアクティビティのリストを表示するために利用されるスケジューリングされていないアクティビティアプレット２６０の実施形態を示す。示された実施形態において、スケジューリングされていないアクティビティアプレット２６０は、（１）ディスパッチャが選択されたスケジューリングされていないアクティビティを編集することを可能にする編集ボタン、（２）ディスパッチャがスケジューリングされていないアクティビティを検索することを可能にするクエリボタン、ならびに（３）ディスパッチャがスケジューリングされていないアクティビティの他のフィールドを表示することを可能にするスクロールボタンを有するヘッダー２６２を含む。
【００３４】
ある実施形態において、スケジューリングされていないアクティビティアプレット２６０は、リスト表を用いたスケジューリングされていないアクティビティのリストを表示する。このようにリスト表は、リストアプレットとして参照される。ディスプレイの他のタイプも用いられ得、かつ本発明の範囲内である。リスト表の上部行は、スケジューリングされていないアクティビティの様々なフィールドのヘッダーを表示する。そのヘッダー行の下の各データ行は、レコード２６４に対応し、特定のスケジューリングされていないアクティビティを表示するために利用され得る。リストアプレット２６０で表示され得る特定のアクティビティは、１つ以上の判定基準（例えば、サービス領域）に基づいて選択され得る。リストアプレット２６０に表示され得るデータ行の数（すなわち、レコード２６４の数）は、ディスプレイウインドウのサイズによって決定され得、ディスパッチャが全ての適切なアクティビティ中をスクロールすること（必要であれば）を可能にするスクロールアローが、提供される。
【００３５】
ある実施形態において、リストアプレット２６０に含まれる各レコードは、列２６６のオブジェクトに関連する。列２６６は、様々な動作用として利用され得る（例えば、以下に記載されるようなドラッグアンドドロップ）。他の実施形態において、レコード２６４の任意のフィールドは、サポートされる動作用に選択され得、かつ利用され得る。
【００３６】
様々な他の設計、および特徴はまた、チャートアプレット、ならびにリストアプレットに利用され得る。代替的な設計は、「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ａｓｓｉｇｎｍｅｎｔ  ａｎｄ  Ｓｃｈｅｄｕｌｉｎｇ  Ａｃｔｉｖｉｔｉｅｓ」と題された２００１年３月１６日出願の米国特許第０９／８１０，００７号に記載され、本出願の出願人に譲渡され、かつ参照として本明細書中に援用される。
【００３７】
ディスパッチシステムに対して、アクティビティは、コールセンターのオペレータ、ウェブを介した顧客等のような様々な手段によって生成され得る。これらのアクティビティは、最初にたいていの場合、スケジューリングされていないとして分類され、リストアプレット２６０のディスプレイ用に選択され得る。これが、割り当て、およびスケジューリングアクティビティの開始点である。
【００３８】
図２Ｂは、ウェブページ２００ｂ中の付加的情報が、ポップアップアプレット２７０（例えば、エンドユーザがある動作を実行することを支援するため）を介して提供されるウェブページ２００ｂを示す。この例において、ポップアップアプレット２７０は、エンドユーザがリストアプレット２６０のレコードをクリックすることに応答して表示され、かつ選択されたレコードによって表されるアクティビティの様々なタイプの情報を含む。図２Ｂに示されていないが、ポップアップアプレットはまた、例えば、チャートアプレット２３０にリスト化された従業員、ガントチャートのスケジューリングされたアクティビティ、および他のイベントなどのウェブページにおいて、他のアイテムの付加的情報を提供するために利用され得る。
（ブラウザ環境におけるドラッグアンドドロップ動作）
利用可能、および認定された従業員のアクティビティの割り当て、およびスケジューリングを円滑に行う高レベルのユーザ相互作用が、ディスパッチボードに提供され得る。特に、スケジューリングされていないアクティビティは、リストアプレット２６０のアクティビティを選択し、チャートアプレット２３０の特定の従業員に選択されたアクティビティ、および特定のタイムスロットをドラッグし、ならびにターゲット従業員、およびタイムスロットにアクティビティをドロップすることによって割り当てられ得、かつスケジューリングされ得る。前述の米国特許出願第０９／８１０，００７号に記載されたように、この「ドラッグアンドドロップ」動作は、クライアントコンピュータ（すなわち、「太いクライアント」）で実行されるソフトウェアアプリケーションにより実装され得る。
【００３９】
たいていのブラウザは、ドラッグアンドドロップ動作を有効にするために利用され得るイベントの制限されたセットのみを提供するため、ブラウザ環境におけるドラッグアンドドロップ動作の実装は、太いクライアントよりもずっと困難である。特に、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（Ｒ）５は、ドキュメントクラスオブジェクトに対して２１の異なるイベントを提供する。ドキュメントクラスオブジェクトは、ウェブページ（すなわち、ＨＴＭＬドキュメント）を表示するために利用され得る。７つのイベントは、ドラッグアンドドロップアクションに関係し、以下にリストされる。
・ｏｎｄｒａｇ−このイベントは、ドラッグ動作の間、ソースオブジェクトに継続的に発生する。
・ｏｎｄｒａｇｓｔａｒｔ−このイベントは、ユーザがテキスト、またはソースオブジェクトに関連するオブジェクト（ドキュメントアイテム等）の選択を最初にドラッグしはじめるとき、ソースオブジェクトに発生する。
・ｏｎｄｒａｇｅｎｔｅｒ−このイベントは、ドラッグされるドキュメントアイテムが妥当であるドロップターゲットを入力したとき、ターゲットオブジェクトに発生する。
・ｏｎｄｒａｇｏｖｅｒ−このイベントは、ドラッグされるドキュメントアイテムが妥当なドロップターゲットを越える間に、ターゲットオブジェクトに発生する。
・ｏｎｄｒａｇｌｅａｖｅ−このイベントは、ドラッグされるドキュメントオブジェクトが妥当なドロップ対象の外側に移動されるとき、ターゲットオブジェクトに発生する。
・ｏｎｄｒａｇｅｎｄ−このイベントは、マウスがリリースされたとき、ドラッグ動作の完了でソースオブジェクトに発生する。
・ｏｎｄｒｏｐ−このイベントは、マウスがリリースされたとき、ドラッグアンドドロップの間にターゲットオブジェクトに発生する。
【００４０】
本発明のある局面は、ウェブページのある部分に配置されたオブジェクト（例えば、リストアプレット２６０）用のデータがそのウェブページの同じ部分、または他の部分に配置された他のオブジェクト（例えば、チャートアプレット２３０）に関連することを可能にするように、ブラウザ環境においてドラッグアンドドロップ動作を有効にするための技術を提供する。ドラッグアンドドロップ動作を有効にするために必要である様々なアクションは、ダイナミックＨＴＭＬをサポートするブラウザによって実行されるスクリプトによって実行され得る。
（ブラウザオブジェクト）
一般的に、ドキュメント（例えば、ウェブページ）は、任意の数のアプレットを含むように設計され得、各アプレットは、ガントチャート、およびリストテーブルに対するそれぞれ図２Ａのアプレット２３０、および２６０のように各ディスプレイウインドウに対して設計され得る。各アプレットは、さらに任意の数（すなわち、０以上）の「ソース」オブジェクト、および任意の数（すなわち、０以上）の「ターゲット」オブジェクトを含み得る。各ソースオブジェクトは、ドラッグアンドドロップ動作を介して選択され、かつドラッグされ得る。各ターゲットオブジェクトは、ドロップに対して指定される判定基準のセット（０以上）が満足される場合、ソースオブジェクトドロップされ得る先の方向とされ得る。
【００４１】
ある実施形態において、各ソースオブジェクトは、ソースオブジェクトによって表されるエンティティ（例えば、ディスパッチボード上のアクティビティ）に関係ある妥当なデータと関連し得る。アクティビティにとって、妥当なデータは、アクティビティを実行するために必要なアカンウト名、アクティビティのタイプおよび位置、そのステータスおよび優先順位、技術、部品、ならびに持続時間、期限日、最も早い、および最も遅い開始時間などを含む。ある実施形態において、各ソースオブジェクトは、さらにドラッグアンドドロップ動作の開始で必要なプロセスを実行する各スクリプト（すなわちプログラムコード）と関連する。
【００４２】
ある実施形態において、ソースオブジェクトが選択され、かつドラッグが開始されるとき、選択されたソースオブジェクトのスクリプトは、そのドラッグアンドドロップ動作に対して「データ転送」を生成する。ある実施形態において、このデータ転送は、選択されたソースオブジェクトに関連する妥当なデータのいくつか、または全てのデータを含み、かつ含まれたデータは、ドラッグアンドドロップ動作中の様々なアクション用に利用され得る。アクティビティを表すソースオブジェクトに対して、ソースオブジェクトによって生成されるデータ転送オブジェクトは、上述されたデータのいくつか、または全てを含み得る。他の実施形態において、このデータ転送は、そこから妥当なデータが取得され得るソースオブジェクトへのリンクを含む。データ転送はまた、他の態様で、実装され得、かつ、これは、本発明の範囲内である。
【００４３】
各ターゲットオブジェクトは同様にアプレット上の特定のエンティティを表す。図２Ａに示されたディスパッチボードにとって、チャートアプレット２３０の各ターゲットオブジェクトは、ガントチャートのグリッド部分の各データボックスを表し、かつこのデータボックスは、ガントチャートに含まれた特定の従業員の特定のタイムスロットをカバーする。各ターゲットオブジェクトはまた、ターゲットオブジェクトによって表されたエンティティに関係する妥当なデータに関連し得る。ガントチャートに対して、各データボックスに対する妥当なデータは、（１）データボックスによって表される持続時間、（２）データボックスに関連する従業員のデータを含み得る。ガントチャートの各データ行は、従業員のレコードに対応し、かつまた、各レコードＩＤによって識別され得る。ガントチャートのデータ列は、特定のタイムスロットに対応し、かつ各列ＩＤによって識別され得る。各データボックスは、このようにレコードの列ＩＤのそれぞれのセットによって識別され得、かつデータボックスの妥当なデータはレコード、および列ＩＤを最初に識別することによって取得され得る。
【００４４】
ある実施形態において、各ターゲットオブジェクトは、さらにドラッグアンドドロップ動作をガイド、かつ／または完了するために必要なプロセスを実行する各スクリプトに関連する。ある実施形態において、ターゲットオブジェクトのスクリプトは、選択されたソースオブジェクトのドキュメントアイテム（またはごく単純に、選択されたソースオブジェクト）がターゲットオブジェクトにドラッグされたとき、アクションの第１のセットを実行し、ソースオブジェクトがターゲットオブジェクトからドラッグされたとき、アクションの第２のセットを実行し、ならびにソースオブジェクトがターゲットオブジェクト上にドロップされた場合、アクションの第３セットを実行する。実行される特定のアクションは、ソース、およびターゲットオブジェクトに関連するデータ、ならびにターゲットオブジェクトスクリプトの特定の設計に依存する。
【００４５】
選択されたソースオブジェクトが、ターゲットオブジェクトにドラッグされるとき、ターゲットオブジェクトのスクリプトは実行し、かつターゲットオブジェクト上にソースオブジェクトのドロップが許可されるかどうか決定する。この決定は、データ転送（ドラッグアンドドロップに対するソースオブジェクトによって生成される）に含まれたデータの抽出、ターゲットオブジェクトに関連する妥当なデータによる抽出されたデータのチェックによってなされ得る。ディスパッチボードにとって、（１）アクティビティを実行するために必要な技術、および部品は、ターゲット従業員の能力をチェックされ得、（２）アクティビティが実行される位置は、従業員の基となるサービス領域でチェックされ得、（３）アクティビティの期限日、持続時間、最も早い、かつ最も遅い開始時間は、従業員等の利用可能性のチェックをされ得る。これらのチェック（または、テスト）は、効果的にドロップに対して１つ以上の判定基準のセットを形成し、かつターゲットオブジェクトのスクリプトで指定され得る。
【００４６】
ある実施形態において、ターゲットオブジェクトスクリプトは、ターゲットオブジェクト上に選択されたソースオブジェクトのドロップが許可されるかどうかに依存してアプレットのディスプレイウインドウを変更し得る。ドロップが許可される場合、ターゲットオブジェクトのデータボックスは変更され得（例えば、緑のような、新しい色への変化による）、ポップアップアプレットは適切なテキスト（例えば、「ドロップＯＫ」）とともに生成され得、カーソルのチップでのアイコンは変更（例えば、「異なる形状に」）され得るなど。そうでなければ、ドロップが許可されない場合、データボックスは、異なるように維持されるか、または変更され得（例えば、赤等の異なる色に変更することによって）、ポップアップアプレットは、適切なテキスト（例えば、「ドロップは許可されません」）とともに生成され得、カーソルアイコンは、異なるように維持されるか、または変更され得る、等。変更されたディスプレイは、ソースオブジェクトがターゲットオブジェクトを覆う間、保持される。
【００４７】
選択されたソースオブジェクトがターゲットオブジェクトからドラッグされたとき、ターゲットオブジェクトのスクリプトは、そのオリジナル状態で（すなわち、ソースオブジェクトがターゲットオブジェクトにドラッグされる前に）ディスプレイウインドウを再生し得る。これは、ターゲットオブジェクトのデータボックスを変更してそのオリジナル色に戻す、ポップアップアプレットを取り除くなどを引き起こす。
【００４８】
選択されたソースオブジェクトが、一連のターゲットオブジェクトを覆うようにドラッグされると、各影響を受けるターゲットオブジェクトのスクリプトは、ソースオブジェクトがターゲットオブジェクトへ、かつターゲットオブジェクトから移動されるように、ドラッグアンドドロップ動作を支援するためにディスプレイウインドウのハイライトを適切な時に実行する。
【００４９】
選択されたソースオブジェクトが特定のターゲットオブジェクトにドロップされるとき、かつドロップが許可される場合は、ターゲットオブジェクトのスクリプトは実行し、かつドロップを達成するためのアクションのセットを実行する。非常に様々なアクションが、特定の設計に依存して、ターゲットオブジェクのスクリプトによって実行され得る。例えば、ターゲットオブジェクトのスクリプトは、（１）データ転送に含まれるデータを抽出し、（２）ドロップについてホストコンピュータへ通知し、かつ抽出データを提供するために、ホストコンピュータへの呼び出しを開始し、（３）ホストコンピュータからの更新データ（例えば、更新ウェブページ）を受信し、かつ表示し、（４）ドロップの影響を受ける従業員（単数または複数）に通知するために、電子メールを生成する、などをなし得る。
【００５０】
各成功したドラッグアンドドロップ動作は、特定のソースオブジェクト、ドロップターゲットになり得る１つ以上のターゲットオブジェクト、および実際のドロップターゲットである特定のターゲットオブジェクトに関連し得る。ソースオブジェクト、および実際のドロップターゲットは、同じ、または異なるアプレットに配置され得る。
【００５１】
ある実施形態において、ホストコンピュータのランタイムエンジン１１２で実行されるホストソフトウェアアプリケーションは、ドロップを有効にするために必要とされるプロセスを実行する。このソフトウェアアプリケーションは、さらにシステムの中央データベースを保持し、かつクライアントコンピュータからドロップの通知を受信すると同時にデータベースを更新する。ディスパッチシステムにとって、このデータベース更新は、影響あるアクティビティの状態をスケジュール未からスケジュール済に（または、アクティビティがスケジュールから外される場合は逆に）変更すること、各影響のある従業員のスケジュールを更新すること、サービス領域のスケジュールを更新すること等を含み得る。
【００５２】
他の実施形態において、クライアントコンピュータのランタイムエンジン１２４で実行されるクライアントソフトウェアアプリケーションは一時的データベースを保持し、かつドロップの通知を受信すると同時にこのデータベースを更新する。このクライアントソフトウェアアプリケーション、および一時的データベースは、クライアントコンピュータとホストコンピュータとの間で交換されるトラフィック量を削減するために利用され得、これは性能を改善し得る。周期的に、かつ／または必要に応じて、クライアントコンピュータの一時的データベースは、ホストコンピュータによって保持されている中央データベースと同期化（すなわち、更新）され得る。
【００５３】
柔軟性を増強するために、ドラッグアンドドロップ動作の様々な特徴は、ツールメニューの指定されたドラッグアンドドロップフィールドを介して設定され得る。ツールメニューを介して、管理者は、フィールドがドラッグアンドドロップ動作の完了時に何れに更新されるかを設定可能であり得る。フィールドの異なる設定は、ソースオブジェクトが配置された特定のアプレット、ならびにターゲットオブジェクトが配置された特定のアプレットに依存して変更され得る。ディスパッチシステムにとって、ソースオブジェクトがリストアプレット２６０からチャートアプレット２３０に、チャートアプレット２３０からチャートアプレット２３０に、またはチャートアプレット２３０からリストアプレット２６０にドラッグされる場合、フィールドの異なる設定は変更され得る。ドロップで満たされ得るいくつかのフィールドは、（１）ドロップが発生するデータボックスによって示される開始時間をセットされ得るドラッグアンドドロップ動作を介してスケジューリングされたアクティビティの計画開始時間（Ｐｌａｎｎｅｄ  Ｓｔａｒｔ  Ｔｉｍｅ）、（２）「スケジュール済」を設定され得るアクティビティのステータス、（３）計画開始時間に設定され得るアクティビティのこれより後に（Ｎｏ  Ｓｏｏｎｅｒ  Ｔｈａｎ）時間などを含む。
【００５４】
ウェブページ上の各アプレットは、任意の数の（０以上）「ブラウザオブジェクト」を含み得る。各オブジェクトは、ソースオブジェクト、ターゲットオブジェクト、またはソースオブジェクトとターゲットオブジェクトとの両方であり得る。図２Ａを参照すると、リストアプレット２６０の各アクティビティ（すなわち、各データ行）は、アクティビティをスケジューリングするためのドラッグアンドドロップ動作に対してソースオブジェクトであり得る各ブラウザオブジェクトに関連し得る。リストアプレット２６０の各アクティビティはまた、既にスケジューリングされているアクティビティをスケジューリング未にするためのドラッグアンドドロップ動作に対してターゲットオブジェクトであり得る。このようにブラウザオブジェクトは、ブラウザオブジェクトがソースオブジェクトとして選択される場合に実行される第１のスクリプト、およびブラウザオブジェクトがターゲットオブジェクトとして選択される場合に実行される第２のスクリプトに関連し得る。ある実施形態において、実行され得る特定のスクリプトは、ブラウザオブジェクトに発生する特定のイベントによって決定される（例えば、ｏｎｄｒａｇｘｘｘ、またはｏｎｄｒｏｐ）。
【００５５】
図２Ａを参照すると、チャートアプレット２３０の各ブラウザオブジェクトは、ソースオブジェクト（例えば、アクティビティ）のドロップに対してターゲットオブジェクトであり得、また他のターゲットオブジェクトにドロップされるソースオブジェクトであり得る。例えば、アクティビティを再スケジューリングするために、アクティビティのソースオブジェクトは、選択され得、別の従業員および／または別のタイムスロットの別のターゲットオブジェクトを覆ってドラッグされ得、かつそのターゲットオブジェクト上にドロップされ得る。スケジューリングされたアクティビティはまた、アクティビティのソースオブジェクトを選択すること、リストアプレット２６０の上にドラッグすること、ならびにリストアプレットに（例えば、任意の場所）ドロップすることによってスケジュールを外し得る。
【００５６】
各ブラウザオブジェクトは、様々なタイプの情報に関連し得る。特定の実施形態において、各ブラウザは以下を含む。
【００５７】
・ブラウザオブジェクトを表す特定のビジネスオブジェクトのアイデンティティ
（例えば、アクティビティまたは従業員のためのビジネスオブジェクト）
・ドラッグアンドドロップ動作を介して達成される各サポートされるアクション（例えば、スケジューリング、取り消し、再割り振り、スケジューリングの取り外し）を有効にするように変更することが必要なデータベースフィールドのアイデンティティ。
【００５８】
・ドラッグされ得るレコードのレコードＩＤ（例えば、リストアプレット２６０の行ＩＤ）
・ブラウザオブジェクトのため、またはブラウザオブジェクト上で実行され得る特定のアクション
・他のアクションを実行するために必要とされる付加的情報（例えば、電子メールの通知を送るためにコンタクト名がピックアップされ得るフィールドの名前）
図３は、（例えば、図２Ａに示されるディスパッチボードの）特定のウェブページを表し得るドキュメント３００の実施形態を示す簡単な図である。ドキュメントオブジェクト３００は、１つ以上のアプレット３１０のセットを含む。各アプレット３１０は、特定のディスプレイウィンドウのために（例えば、図２Ａに示されるガントチャート、またはリストテーブルのために）用いられ得る。各アプレット３１０は、アプレットに含まれる１つ以上のブラウザオブジェクトの１つ以上のスクリプト３１２をさらに含み得る。各アプレット３１０は、さらに、そのアプレットのディスプレイウィンドウを定義するボディ３１４をさらに含む。図３に示される実施形態において、ドキュメント３００は、対応するウェブページを表示するため、および、ウェブページに含まれるブラウザオブジェクトのドラッグアンドドロップを実行するために必要なすべてのデータおよびスクリプトを含む。
【００５９】
新しいドキュメントのリクエストに応答するか、または選択されたオブジェクトのドラッグアンドドロップ動作に応答して、ドキュメント３００はホストコンピュータからクライアントコンピュータ上にダウンロードされ得る。ドキュメント３００は、通常、クライアントコンピュータにおけるローカルストレージ（例えば、キャッシュ）に格納され、ドキュメントの必要な部分は、このローカルストレージからアクセスされ、かつ、必要に応じて、スクリプトによって動作され得る。例えば、ソースオブジェクトのスクリプトによって生成されたデータ転送オブジェクトは、必要とされるまでローカルストレージに格納され得る。
【００６０】
ある実施形態において、クライアントコンピュータとホストコンピュータとによって交換されるべきトラフィックの量を低減し、かつ、不必要な処理をさらに低減するために、データは、必要に応じてロードされる。各ドキュメントは、例えば、エンドユーザによってリクエストされるような、特定の時間窓のデータを含む。エンドユーザが別の時間窓のデータをリクエストした場合、この時間窓の別のドキュメントが生成され、かつ、クライアントコンピュータに提供され得る。
【００６１】
図４は、本発明の実施形態による、ブラウザ環境におけるドラッグアンドドロップ動作を実行するプロセス４００のフローチャートである。ステップ４１２にて、最初に、ウェブページの一部分に配置された特定のソースオブジェクト（例えば、リストアプレット２６０における特定のアクティビティ）が、（例えば、マウスをクリックすることによって）選択される。選択されたソースオブジェクトが、適切にハイライト（例えば、異なった色、影付け、または変形）され得る。ステップ４１４にて、次に、選択されたソースオブジェクト上で開始されるドラッグのインジケーションが受取られる。ドラッグは、マウスがソースオブジェクトの上に配置されている間にマウスを押すことによって、および、押したままマウスを動かすことによって開始され得る。ドラッグのスタートは、選択されたソースオブジェクト上でｏｎｄｒａｇｓｔａｒｔイベントの発生によって示され得る。
【００６２】
ある実施形態において、各ソースオブジェクトは、特定のイベント（例えば、ｏｎｄｒａｇｓｔａｒｔイベント）の出現に対応して実行され得るスクリプトと関連付けられる。ｏｎｄｒｒａｇｓｔａｒｔイベントの発生のインジケーションを受信すると、ステップ４１６にて、選択されたソースオブジェクトのスクリプトは、選択されたソースオブジェクトと関連付けられたレコードから引き出された種々のタイプのデータを含むデータ転送オブジェクトを生成する。データ転送オブジェクトは、ローカルストレージに格納され得、その後、ドラッグアンドドロップ動作を実行するために他のターゲットオブジェクトによって用いられ得る。
【００６３】
ステップ４１８にて、マウスがウェブページの種々の部分にわたって動かされると、潜在的ドロップターゲットにドラッグされるデータ転送オブジェクトのインジケーションが受信され得る。例えば、特定の規定された基準が満たされた場合、潜在的ドロップターゲットは、選択されたソースオブジェクトを潜在的に受信し得るウェブページ上のブラウザオブジェクトである。「ｄｒａｇ  ｅｎｔｅｒ」は、潜在的ドロップターゲット上でｏｎｄｒａｇｅｎｔｅｒイベントが発生することによって示され得る。
【００６４】
ｄｒａｇ  ｅｎｔｅｒインジケーションを受信すると、潜在的ドロップターゲットは、そのスクリプトを実行し、従って、このスクリプトは、データ転送オブジェクトに含まれるデータ上で動作する。このスクリプトは、ドラッグアンドドロップのこの部分を実行するために、特定のアクションを実行し得る。ディスパッチシステムについて、スクリプトは、（１）潜在的ドロップターゲットと関連した従業員が選択されたソースオブジェクトによって表されるアクティブティに対して必要とされるスキル、およびの部品を有するかどうか、（２）アクティビティのために必要とされる期間が従業員の使用可能時間内に適合するかどうか等を決定し得る。このスクリプトは、その後、ステップ４２０にて、決定の結果に基づいてディスプレイを改変する。例えば、基準が満たされた場合、ディスプレイは、（例えば、潜在的ドロップターゲットのデータボックス上の色を変更することによって、適切なテキストを有するポップアップアプレットを表示すること等によって）このドロップターゲットへのドロップが許可されるという信号に改変され得る。あるいは、ドロップのすべての基準が満たされない場合、ディスプレイは、このドロップターゲット上へのドロップが許可されないという信号に改変され得る（例えば、潜在的ドロップターゲットのデータボックスの外観を変更しないことによって、または、これを別の色に変更すること等によって）。データ転送オブジェクトが潜在的ドロップターゲット内である限り、改変されたディスプレイは維持され得る。
【００６５】
ステップ４２２にて、データ転送オブジェクトが、その後、潜在的ドロップターゲットの外へドラッグされた場合、そのようなイベントのインジケーションが受信され得る。この「の外へドラッグする（ｄｒａｇ  ｏｕｔ  ｏｆ）」は、潜在的ドロップターゲット上でｏｎｄｒａｇｌｅａｖｅイベントが発生することによって示され得る。ステップ４２４にて、オブジェクトがこのようなインジケーションを受信すると、スクリプトは、ディスプレイをその前の状態に戻し得る。潜在的ドロップターゲット上でデータ転送オブジェクトがドラッグされる毎にステップ４１８〜ステップ４２４が実行され得る。
【００６６】
続いて、ステップ４２６にて、データ転送オブジェクトがドロップターゲットオブジェクト上にドロップされるというインジケーションが受信され得る。このドロップは、マウスボタンを離すことによって達成され得、かつ、ドロップターゲットオブジェクト上でｏｎｄｒｏｐイベントを開始することによって示され得る。ステップ４２８にて、ドロップインジケーションを受信すると、ドロップターゲットオブジェクトのスクリプトは、必要なアクションを実行してドラッグアンドドロップを実行する。上述のように、スクリプトの設計に依存して、多様なアクションがスクリプトによって実行され得る。
【００６７】
ウェブページは、種々の方法で更新され得、ドラッグアンドドロップ動作を反映する。１実施形態において、ホストコンピュータにてドロップを受信および処理すると、更新データを有する更新されたウェブページがクライアントコンピュータに送信され、このクライアントコンピュータは、その後、ウェブページを表示する。別の実施形態において、ホストコンピュータは、ソースオブジェクトおよびターゲットオブジェクトのレコード等のウェブページの該当する部分のみの更新データを送信する。クライアントコンピュータは、その後、受信データを有する該当する部分のみを更新する。さらに別の実施形態において、クライアントコンピュータは、ドロップの処理を実行し、ウェブページ全体か、または、このウェブページの該当する部分のみを更新する。
【００６８】
（他のユーザの双方向通信）
本明細書中に記載される、ブラウザ環境におけるドラッグアンドドロップ動作をインプリメントする技術は、さらに、ウェブページに含まれるブラウザのオブジェクトの他の動作をインプリメントするために用いられ得る。これらのオペレーションのいくつかは後述される。他の動作もまたインプリメントされ得、本発明の範囲に含まれる。
【００６９】
サイズ変更アクション。データボックス（例えば、チャートアプレット２３０における特定のアクティビティの時間）は、「ストレッチ」動作を介して拡大または縮小され得る。この動作は、データボックスのエッジを選択することによって、およびエッジを所望の幅にドラッグすることによって達成され得る。ブラウザは、データボックスのエッジとボディとの間を区別することができる。エッジが選択された場合、カーソルの形状が変更され得る（例えば、リストにおけるカラムまたはチャートが調整のために選択される場合と同様）。
【００７０】
選択されたエッジが別のターゲットオブジェクト上にドラッグされた場合、この表示がストレッチ動作の支援に対応して改変および／またはハイライトされ得る。（例えば、アクティビティの）選択されたデータボックスがこのターゲットオブジェクトにストレッチされ得る場合、例えば、潜在的ターゲットオブジェクトのデータボックスがある色（例えば、グリーン）に変更され得るか、または、データボックスがターゲットオブジェクトにストレッチされ得ない場合、別の色（例えば、赤）に変更され得る。ドラッグアンドドロップ動作と同様に、選択されたソースオブジェクトのスクリプトは、ストレッチ動作を実行するために設計され得る（例えば、ストレッチ動作が開始されると、データ転送オブジェクトを生成する）。
【００７１】
ポップアップアプレット。図２Ｂに示されるように、ウェブページにおける（例えば、ガントチャート上の）特定のブラウザオブジェクトが選択された場合、ポップアップアプレットが生成され、かつ、選択されたオブジェクトのさらなる情報を示すために用いられ得る。ポップアップアプレットにおけるデータも編集され得る（例えば、直接ポップアップアプレット上で）。ポップアップアプレット上で表示されるべき特定のフィールドは、ツールメニューを介して構成可能である。
【００７２】
新アイテム。新アイテムは、空き領域においてクリックおよびドラッグすることによってアプレット（例えば、ガントチャート上で）上で生成され得る。新規に生成されたアイテムの情報が入力され得る（例えば、エンドユーザにより）か、または、アプレットまたはウェブページに含まれる他のオブジェクトから抽出され得る。
【００７３】
（ジェネリックアプレットおよびオブジェクトクラス）
図２Ａは、ディスパッチシステムのウェブページの特定の設計を示す。一般に、他のエンドアプリケーションの他のウェブページが設計され得る。ある実施形態において、ガントチャートアプレットおよびリストアプレットは、オブジェクトのジェネリッククラスとして設計される。これらのアプレットは、その後、異なったヘッダおよび異なったタイプのデータでチャートおよびリストアプレットを埋めることによって特定のエンドアプリケーションに合わせられ得る。特定のエンドアプリケーションであるディスパッチシステムについて、ガントチャートが（例えば、特定のサービス分野の）従業員で埋められ得る。他のエンドアプリケーションについて、ガントチャートにおけるヘッダ（すなわち、最左側の）カラムは、従業員ではなく、他のタイプの「軸オブジェクト」で満たされ得る。チャートおよびリストアプレットを埋めるために、種々のスキーマが用いられ得、これらのスキーマのいくつかが後述される。
【００７４】
第１のスキーマにおいて、ウェブページ上に表示するために選択された特定のリストアプレットは、ウェブページ上のガントチャートに表示されるべきデータを決定する。例えば、リストアプレットが図２Ａに示されるアクティブティを含む場合、ガントチャートは、そのアクティビティが割り当てられかつスケジューリングされ得る従業員を含む。
【００７５】
第２のスキーマにおいて、ガントチャートにおけるカラムは、アレイまたは指定されたテーブルに対するリファレンスをわたすことによって、プログラム的に満たされる。このテーブルは、その後、ヘッダ−カラムのために用いられるべき特定の軸オブジェクト（例えば、特定の従業員）を識別する。例えば、いくつかの特定のセットの基準に基づいて、従業員の検索の結果を格納するためにＦｉｎｄ  Ｅｍｐｌｏｙｅｅｓテーブルが用いられ得、このテーブルにおける結果は、その後、チャートアプレットのヘッダ−カラムに入れられ得る。
【００７６】
第３のスキーマにおいて、エンドユーザは、例えば、チャートアプレット上に提供された「新規レコード（Ｎｅｗ  Ｒｅｃｏｒｄ）」ボタンを右クリックおよび選択することによって、手動で、軸オブジェクトを追加するか、または、軸オブジェクトの既存のリストを改変し得る。このユーザアクションは、新しい軸オブジェクトを生成し得ず、既に定義された軸オブジェクトをリストに追加するだけである。エンドユーザは、さらに、チャートアプレット上に提供された「レコード削除（Ｄｅｌｅｔｅ  Ｒｅｃｏｒｄ）」ボタンを選択することによって、リストから軸オブジェクトを除去し得る。
【００７７】
第４のスキーマにおいて、管理者は、軸オブジェクト（例えば、従業員）として用いられるべき特定のタイプのビジネスオブジェクト、およびリストアプレット（例えば、アクティビティ）のために用いられるべき特定のタイプのビジネスオブジェクトを選択（ツールメニューを介して）することができ得る。管理者は、さらに、ガントチャートおよびリストアプレットにおいて定義されるフィールドにマッピングされるべきこれらのビジネスオブジェクトの特定のフィールドを選択し得る。例えば、プロフェッショナルサービスアプリケーションについて、ビジネスオブジェクトの「プロジェクトスタート（Ｐｒｏｊｅｃｔ  Ｓｔａｒｔ）」フィールド、および「プロジェクト完了（Ｐｒｏｊｅｃｔ  Ｃｏｍｐｌｅｔｅ）」フィールドがアプレットのために定義された「計画的スタート（Ｐｌａｎｎｅｄ  Ｓｔａｒｔ）」フィールドおよび「計画的完了（Ｐｌａｎｎｅｄ  Ｃｏｍｐｌｅｔｅ）」フィールドのそれぞれにマッピングされ得る。
【００７８】
ガントチャートアプレットおよびリストアプレットのオブジェクトのジェネリッククラスの設計において、すべてのフィールドがすべてのエンドアプリケーションによって用いられるのではあり得ない。この場合、エンドアプリケーションによって必要とされないフィールドがオフにされ得る。例えば、「期日（Ｄｕｅ  Ｄａｔｅ）」ロジックが必要とされない場合、これは、ドラッグアンドドロップ動作に適用されない。
【００７９】
図２Ｃは、マーケティングアプリケーションのウェブページ２００ｃを示す。このアプリケーションにおいて、ガントチャートアプレット２３０ｃは、ガントチャートの軸オブジェクトの（従業員ではなく）「キャンペーン」を表示し、リストアプレット２６０ｃは、（アクティビティではなく）種々のキャンペーンプログラムを表示する。リストアプレット２６０ｃにおけるプログラムは、上述のように、ドラッグアンドドロップ動作を介してガントチャートにスケジューリングされ得る。ガントチャートを介して、エンドユーザは、有効なキャンペーンの設計を支援し得るマーケティング戦略全体の計画的キャンペーンを可視化することができる。
【００８０】
従って、ガントチャートおよびリストアプレットは、種々のエンドアプリケーションの情報を表示するために用いられ得る。
【００８１】
フレキシビリティを強化するために、所与のウェブページにおけるブラウザオブジェクト上で実行され得る種々の動作がツールメニューを介して構成され得る。実施形態において、管理者またはエンドユーザは、各タイプのブラウザオブジェクトの特定の動作をイネーブルおよびディセーブル（すなわち、オンおよびオフに）し得、かつ応用する特定のプロパティをさらに選択し得る。
【００８２】
（特徴および能力）
本明細書中に記載される技術は、上述のものに加えて、種々の動作をサポートする種々のエンドアプリケーション、および種々の結果を達成する他の方法でデータを操作するために用いられ得る。本発明の技術の可能ないくつかのアプリケーションが、例として後述され、多様な他のアプリケーションもまた考えられ得、かつ本発明の範囲に含まれる。
【００８３】
本明細書中に記載される技術は、種々の結果を達成するために、ブラウザウィンドウ内のどこかに配置されたデータを操作するために用いられ得る。第１に、（データの特定のレコードに対する）ブラウザオブジェクトは、レコードする情報を入力、改変、または削除するために移動され得る。例えば、レコードは、（例えば、ドラッグアンドドロップを介して）ウェブページの特定のロケーションに移動され、レコードの状態を（例えば、「完了（Ｃｏｍｐｌｅｔｅｄ）」に）セットする。別の例として、レコードは、あるリストから別のリスト（例えば、利用可能なリスト（Ａｖａｉｌａｂｌｅ  ｌｉｓｔ）から選択リスト（Ｓｅｌｅｃｔｅｄ  ｌｉｓｔ））に移動され、レコードによって可能にされた、および／またはサポートされた異なったアクションおよびオペレーションを示し得る。第２に、ブラウザオブジェクトは、レコード間の関係を確立するために移動され得る。例えば、人員のレコードをエンティティのレコードに移動することによって、特定のエンティティの従業員として特定の人員が確立され得る。第３に、レコードを組織化するためにブラウザオブジェクトが移動され得る。例えば、階層構造をセットアップするため、レコードによって表される添付ファイルを別のレコードに添付するため等に移動され得る。第４に、ブラウザオブジェクトは、特定のビジネスプロセスおよび／または機能を呼出すために移動され得る。例えば、購買要求書のレコードは、（レコードに実行されるべきアクションの特定のセットと関連付けられ得る）承認プロセスを開始するように特定のアイコンに移動され得るか、または、その承認を示すために別のアイコンに移動され得る。
【００８４】
本明細書中に記載される技術は、さらに、ブラウザおよび／またはブラウザが実行されるコンピュータデスクトップによってサポートされ得る他の機能およびプロセスを呼び出すために用いられ得る。第１に、ブラウザオブジェクトは、特定の機能（例えば、レコードを保存または印刷する等）を呼出すために移動され得る。レコードは、例えば、レコードの印刷（または保存）を開始するために、ウェブページまたはデスクトップ上の特定のアイコンに移動され得る。別の例として、レコードは、（有線および無線を含む、種々のサポート通信手段を介して）送信されるべきｅメールを開始するために、ウェブページまたはデスクトップ上の別のアイコンに移動され得る。レコードは、その後、添付物としてｅメールに含まれ得るか、または、レコード内のデータがｅメールの受信側に確認させるために抽出され得る。
【００８５】
ブラウザオブジェクトは、上述のように、種々の結果を達成するためにウェブページ内のロケーション間で移動され得る。ブラウザオブジェクトは、さらに、ウェブページからデスクトップ上に（例えば、デスクトップ上の特定のアイコンに）移動され得、およびこのオブジェクトは、他の結果を達成するためにデスクトップからウェブページ上に移動され得る。このようなウェブページとデスクトップとの双方向通信をサポートするウェブページ内のブラウザオブジェクトは、このような双方向通信を認識および処理するために設計され得る。
【００８６】
以下の特徴（これらのいくつかは、エンドアプリケーションに特有であり得る）は、本明細書中に記載される技術によってサポートされ得る。
・ドラッグアンドドロップ（外部）−あるアプレットから別のアプレットへのオブジェクのドラッグをサポートする。
・ドラッグアンドドロップ（内部）−同じアプレット内の異なったロケーションへのオブジェクトのドラッグをサポートする。
・割り当てられない−エンドユーザがアクティビティを別のアプレットにドラッグして戻すことによって、このアクティビティを割り当てないことを可能にする。
・アクティビティの大きさ変更−ガントチャート内のアクティビティを「ストレッチ」して、このアクティビティを長く／短くすることをサポートする（種々の手段を介して達成され得る）。
・エラーメッセージサポート−ドラッグアンドドロップアクションは、第３者スケジューリングツールからメッセージを戻して規則違反を示すことができ得る。
・フレキシブルビジネスオブジェクト−管理者がガントチャートのｘ軸およびｙ軸を指定することを可能にする。
・フレキシブルタイムスケール−ガントチャート上での時間、日、週、および月の表示をサポートする。
・日ドロップダウン−エンドユーザが、ガントチャート上に表示する日（単数または複数）を選択することを可能にする。
・本日ボタン−ガントチャートを本日に合わせる。
・デフォルトカラー設定−エンドユーザが色（例えば、デフォルトカラー）を設定することを可能にする。
・アクティビティカラー設定−異なったタイプ、状態、および優先順位を色コード化することを可能にする。
・全画面ボタン−チャートをフルサイズ画面に拡大するボタン。
・契約拘束時間（Ｃｏｎｔｒａｃｔ  ｃｉｍｍｉｔｍｅｎｔ  ｔｉｍｅ）−アクティビティの期限をグラフィックで示す。
・スクロール−垂直方向および水平方向のスクロール（必要に応じてスクロールボタンを介して）。
・ダイナミックアプレット−特定のアクティビティのためのスキル、命令、および部分を見る能力。
・ドリルダウン（Ｄｒｉｌｌ  ｄｏｗｎ）−エンドユーザがアイテムをダブルクリックすることによって、このアイテム上にドリルダウンすることを可能にする（ポップアップアプレットまたは新アプレットは、その後、リクエストされた情報を提供するために表示され得る）。
・従業員のためのツールチップ−従業員スキルを示す。
・構成可能ツールチップ−エンドユーザがツールチップコンテンツを設定することを可能にする。
・マルチラインツールチップ−ツールチップを複数のラインとして示す。
・サービス領域ドロップダウン−エンドユーザが閲覧する特定のサービス領域を選択することを可能にする。
・スキルボタン応用−エンドユーザがスキルに基づいて従業員を検索することを可能にする。
・シフト表示−エンドユーザが勤務する時間帯を示す。
・人物ドロップダウン−エンドユーザが、どのエンドユーザを閲覧するかを選択することを可能にする。
・ビューオプションメニュー−ディスパッチボードのオプションをセットするベースクラスを提供する。このベースクラスは、管理者およびエンドユーザによって無効にされ得る。
・割り当てマネージャボタン−エンドユーザが割り当てマネージャを呼出してアクティビティをスケジューリングすることを可能にする。
・スケジュールボタン−エンドユーザがスケジューリングエンジンを呼出すことによってアクティビティを自動的にスケジューリングさせることを可能にする。
【００８７】
アクティビティボックス上のツールチップが、フィールドの特定のセットを表示するように構成され得る。これは、（１）ツールメニュー、（２）データベース内の構成ファイル、または（３）グラフィカルユーザインターフェースを介して達成され得る。
【００８８】
デフォルトカラースキーマが定義され得、各エンドユーザは、ユーザのプリファレンスに基づいて種々のオブジェクトおよびパラメータの色を個別に定義することが可能であり得る。デフォルトカラースキーマは、他のカスタマイゼーションが成され得る開始点として用いられ得る。ボックスの背景色に基づいて、（例えば、データボックスにおける）テキストの色を自動的に変更するためのオプションもまた提供され得る。閲覧し易くするために、暗色の背景に明色のテキスト、および、明色の背景に暗色のテキストが用いられ得る。さらに、改変された色スキーマをデフォルトカラースキーマにリセットして戻すために、「デフォルトにリセット（Ｒｅｓｅｔ  ｔｏ  Ｄｅｆａｕｌｔ）」ボタンが用いられ得る。
【００８９】
異なった色の設定は、さらに、エンドアプリケーションに依存して、ガントチャートおよびリストアプレットにも用いられ得、かつ、オプションメニューを介して選択可能であり得る。例えば、プロジェクト役割のために、ディスプレイ上のリクエストされ、割り当てられた全時間、および割り当てられた部分的時間に異なった色が用いられ得る。
【００９０】
ガントチャートの拡大縮小および分割は、エンドユーザによる選択が可能になり得る。分割は、分、時、日、週、月等の単位で行われ得る。各ティックの時間スケールは、分ではなく日または月によって表示され得る（オプションのダイアログボックスを介して設定され得る）。単一の時間軸ラベルの代わりに、メジャーおよびマイナー時間軸ラベルが用いられてもよい。例えば、月は、週に細分され、週の下に日がリスト化される。
【００９１】
従業員およびサービス領域選択リスト（すなわち、ガントチャート上に表示されるべき従業員を含むリスト）の検索基準は、ツールメニューに明示され得る。従業員選択リストは、割り当てマネージャボタンを介して設定され得、かつ、エンドアプリケーションのために定義された組織構造を知るように設計され得る。検索は、単一のスキルまたは複数のスキルのもとで実行され得る。複数のスキルはまた、単一ラインアイテムにグループ分けされてもよい（例えば、「Ｍｉｃｒｏｓｏｆｔ  Ｃｅｒｔｉｆｉｅｄ  Ｅｎｇｉｎｅｅｒ」は、４つの異なったスキルを表し得る）。このスキルのグループ分けは、スキル選択リストを簡略化し得る。
【００９２】
ガントチャートに表示されるべき特定の日付（単数または複数）をエンドユーザが選択することを可能にするために、アプレットにカレンダドロップダウンが提供され得る。さらに、カレンダを本日の日付に合わせるために本日ボタンも提供され得る。
【００９３】
図２Ｄは、オプションメニューの実施形態のウェブページ２００ｄを示す。オプションメニューは、ディスパッチシステムのガントチャートおよびリストアプレットのディスプレイを構成するために用いられ得る。この実施形態において、アプレット２８０の最左側のカラムは、ガントチャートの時間窓およびタイムスロットを選択するための種々のフィールドを含む。さらに、エンドユーザが一意的色スキーマを定義すること、および、種々のアクティビティパラメータのために用いられるべき種々の色または色スキーマを選択することを可能にするように種々のフィールドが提供され得る。エンドユーザは、さらに、表示のための特定のサービス領域を選択することもできる。
【００９４】
（コンピュータシステム）
図５は、図１におけるクライアントコンピュータ１２０およびホストコンピュータ１１０をインプリメントするために用いられ得るコンピュータシステム５００の実施形態のブロック図である。図５に示されるように、システム５００は、１つ以上のプロセッサ５１０、メモリサブシステム５１２、データ格納サブシステム５１４、入力デバイスインターフェース５１６、出力デバイスインターフェース５１８、およびネットワークインターフェース５２０等の主要サブシステムを相互接続するバス５０８を含む。
【００９５】
バス５０８は、種々のコンポーネント、およびシステム５００のサブシステムが互いに通信することを可能にする手段を提供する。サブシステムの多くおよびシステム５００のコンポーネントは、同じ物理的位置にある必要はないが、通信ネットワーク全体にわたって種々の位置に分散され得る。バス５０８は、図５にて単一のバスとして示されるが、これに代わるバス５０８の設計は、複数のバスを含み得る。
【００９６】
プロセッサ（単数または複数）５１０は、システム５００の複数の機能を処理し、バス５０８を介して複数の周辺デバイスと通信する。メモリサブシステム５１２およびデータ格納サブシステム５１４は、本発明の種々の局面を実現し、かつ、システム５００の機能をさらに提供するプログラムコードおよびデータ（例えば、ウェブページ）を格納する。これらのプログラムコード（例えば、スクリプト）およびデータは、その後、メモリサブシステム５１２に供給され、コードは、プロセッサ（単数または複数）５１０によって実行される。分散された環境において、プログラムコードおよびデータは、複数のコンピュータシステムに格納され、かつ、これらのシステムのプロセッサによって用いられ得る。
【００９７】
メモリサブシステム５１２は、通常、ランダムアクセスメモリ（ＲＡＭ）５３２および読み出し専用メモリ（ＲＯＭ）５３４を含む複数のメモリを備える。ＲＡＭ５３２は、通常、プログラム実行中にプログラムコードおよびデータ（例えば、ウェブページ）を格納するために用いられ、ＲＯＭ５３４は、通常、固定コードおよびデータを格納するために用いられる。
【００９８】
データ格納サブシステム５１４は、プログラムコードおよびデータの永続的（不揮発性）格納を提供し、ハードディスクドライブ５４２、フロッピー（Ｒ）ディスクドライブ５４４、および、コンパクトデジタル読み出し専用メモリ（ＣＤ−ＲＯＭ）ドライブ、光学ドライブ、および取り外し可能媒体カートリッジディスクドライブ等の他の格納デバイス５４６を備え得る。格納デバイスの各々は取り外し可能媒体（例えば、フロッピー（Ｒ）ディスク、ＣＤ−ＲＯＭカートリッジ）と関連付けられ得る。格納デバイスの１つ以上は、遠隔地に配置され、かつ、通信ネットワーク５２２を介してシステム５００に接続され得る。
【００９９】
入力デバイスインターフェース５１６は、キーボード５２２、ポインティングデバイス５４４（例えば、マウス、トラックボール、タッチパッド、グラフィックタブレット、スキャナ、またはタッチスクリーン）等の種々の入力デバイス、および他の入力デバイス（単数または複数）５５６とのインターフェースを提供する。一般に、「入力デバイス」という用語は、システム５００に情報を入力する可能なすべてのタイプのデバイスおよび方法を含むことが意図される。入力デバイスを介して、ディスパッチャは、ドラッグアンドドロップ技術を用いてアクティビティを選択および移動し、フレームをリフレッシュし、データを更新し、かつ複数の他の機能を実行することができる。
【０１００】
出力デバイスインターフェース５１８は、ディスプレイ５６２および他の出力デバイス（単数または複数）５６４等の種々の出力デバイスとのインターフェースを提供する。ディスプレイ５６２は、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）等のフラットパネルデバイス、またはいくつかの他の視覚デバイスであり得る。一般に、「出力デバイス」という用語は、システムから人または別の機器またはコンピュータシステムに情報を出力する可能なすべてのタイプのデバイスおよび方法を含むことが意図される。出力デバイスを介して、ディスパッチャは、ディスパッチボードおよび他のメニューを備える。
【０１０１】
ネットワークインターフェース５２０は、ネットワーク１３０を含む出力ネットワークとのインターフェースを提供する。ネットワークインターフェース５２０を通じて、システム５００は、ネットワーク１３０と接続された他のコンピュータシステムと通信することができる。ネットワークインターフェース５２０は、ネットワーク１３０に有線または無線インターフェースを提供し得る。
【０１０２】
複数の他のデバイスまたはサブシステム（図示せず）は、さらに、システム５００と接続され得る。さらに、本発明を実行するために、図５に示されるデバイスのすべてが存在する必要はない。さらに、デバイスおよびサブシステムは、図５に示されるものとは異なる構成で相互接続されてもよい。図５に示されるようなコンピュータシステムの動作は、当該分野にて容易に知られ、本明細書中では詳細に説明されない。本発明のいくつかの実施形態を実現するソースコードは、メモリサブシステム５１２に動作可能に配置されるか、または、ハードディスク、フロッピー（Ｒ）ディスク、またはＣＤ−ＲＯＭプレーヤを用いて動作するＣＤ−ＲＯＭ等の格納媒体に格納され得る。
【０１０３】
本明細書中には、参考のための見出しが含まれ、特定のセクションの場所を突き止めることを支援する。これらの見出しは、本明細書中に記載される概念の範囲を制限することを意図せず、これらの概念は、本明細書全体にわたる他のセクションにおいて適用できる。
【０１０４】
特定の実施形態に関するこれまでの記載は、当業者が本発明を製造または使用することを可能にするように提供される、これらの実施形態に対する種々の改変は、当業者には直ちに明らかになり、本明細書中で定義される一般的原則は、本発明の主旨を使用することなく他の実施形態に適用され得る。従って、本発明は、本明細書中に示される実施形態に限定することは意図されないが、本明細書中に開示され、かつ、上記の特許請求の範囲によって定義される原理および新規の特徴と一貫性をもつ極めて広い範囲と調和すべきである。
【図面の簡単な説明】
【０１０５】
【図１】図１は、本発明の様々な局面、および実施形態が実装され得るコンピュータネットワークを説明する図である。
【図２Ａ】図２Ａは、発明の実施形態に従って、様々の動作を容易にすることができるドキュメント（例えば、ウェブページ）を図示する。
【図２Ｂ】図２Ｂは、発明の実施形態に従って、様々の動作を容易にすることができるドキュメント（例えば、ウェブページ）を図示する。
【図２Ｃ】図２Ｃは、発明の実施形態に従って、様々の動作を容易にすることができるドキュメント（例えば、ウェブページ）を図示する。
【図２Ｄ】図２Ｄは、他のドキュメントの表示の設定をするために利用されるオプションメニューの実施形態のドキュメントを示す。
【図３】図３は、ドキュメント（例えば、ウェブページ）の実施形態を簡単に説明する図である。
【図４】図４は、ブラウザ環境におけるドラッグアンドドロップ動作を達成するためのプロセスの実施形態のフローチャートである。
【図５】図５は、コンピュータシステムのブロック図である。
【図１】
2005505057.tif 000003
【図２Ａ】
2005505057.tif 000004
【図２Ｂ】
2005505057.tif 000005
【図２Ｃ】
2005505057.tif 000006
【図２Ｄ】
2005505057.tif 000007
【図３】
2005505057.tif 000008
【図４】
2005505057.tif 000009
【図５】
2005505057.tif 000010
【国際公開パンフレット】
2005505057.tif 000011
2005505057.tif 000012
2005505057.tif 000013
2005505057.tif 000014
2005505057.tif 000015
2005505057.tif 000016
2005505057.tif 000017
2005505057.tif 000018
2005505057.tif 000019
2005505057.tif 000020
2005505057.tif 000021
2005505057.tif 000022
2005505057.tif 000023
2005505057.tif 000024
2005505057.tif 000025
2005505057.tif 000026
2005505057.tif 000027
2005505057.tif 000028
2005505057.tif 000029
2005505057.tif 000030
2005505057.tif 000031
2005505057.tif 000032
2005505057.tif 000033
2005505057.tif 000034
2005505057.tif 000035
2005505057.tif 000036
2005505057.tif 000037
2005505057.tif 000038
2005505057.tif 000039
2005505057.tif 000040
2005505057.tif 000041
2005505057.tif 000042
2005505057.tif 000043
2005505057.tif 000044
2005505057.tif 000045
2005505057.tif 000046
2005505057.tif 000047
2005505057.tif 000048
2005505057.tif 000049
2005505057.tif 000050
2005505057.tif 000051
【国際調査報告】
2005505057.tif 000052