【手続補正書】
【提出日】平成22年9月27日(2010.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークに接続しているコンピュータシステムにおいて、ウェブブラウザアプリケーションコンポーネントがオフライン使用用のローカルコンテンツを保存する方法であって、
前記コンピュータシステムは、
ウェブブラウザと、
それぞれウェブベースアプリケーションに対応している複数のウェブブラウザアプリケーションコンポーネントと、
を含み、
前記ウェブブラウザは、前記ウェブブラウザアプリケーションコンポーネントを実行して、それぞれ前記ウェブベースアプリケーションに対応しているウェブサーバアプリケーションコンポーネントからリソースにアクセスし、
前記方法は、
前記ウェブベースアプリケーションがオフライン実行可能であることを判断するステップと、
前記ウェブベースアプリケーションの前記ウェブベースサーバコンポーネントがネットワーク通信を介して指定されたドメインのウェブサイトにて利用可能であることを検出するステップと、
前記ウェブベースアプリケーションの前記ウェブベースサーバコンポーネントがネットワーク通信を介して利用可能であることを検出したことに応答して、前記ウェブベースアプリケーションのオフライン実行を容易にするリソースについての要求を前記ウェブベースサーバコンポーネントに送信するステップであって、該要求は、前記ウェブベースアプリケーションに対応するコンテンツについての要求、前記ウェブベースアプリケーションの実行可能アプリケーションコードについての要求、および前記ウェブベースアプリケーションに対応するデータベースのデータベースデータについての要求を含む、ステップと、
前記ウェブベースサーバコンポーネントから前記リソースを受信する前に、前記ウェブベースサーバコンポーネントがローカルストレージ用に前記コンピュータシステムに送信するリソースの集合を指定し、かつ該リソースの集合を保存するためのストレージ要件を指定する目録を受信するステップであって、該目録はまた、ウェブサーバが利用できない時に前記コンピュータシステムにおいて局所的に実行される実行可能コードモジュールと、ローカルに保存されているリソースの集合を前記ウェブベースサーバコンポーネントにおける前記ウェブベースアプリケーションと同期するための、前記ウェブベースサーバコンポーネントとのネットワーク通信が存在する時に前記コンピュータシステムにおいて局所的に実行される同期モジュールとを指定する、ステップと、
前記目録において指定される前記ストレージ要件がストレージ割り当て量を超えるか否かを判断し、該ストレージ要件がストレージ割り当て量を超えると判断したら、ユーザに対して前記リソースの集合を保存するのに十分な量まで前記割り当て量を増加することを許可するように指示するステップと、
前記要求を送信するステップの後で、ネットワーク通信を介して前記ウェブベースサーバコンポーネントからウェブベースアプリケーションのリソースの集合を受信するステップであって、該リソースの集合は全体で、前記コンピュータシステムにおけるオフライン実行用の、指定されたドメインから切り取られるウェブサイトの少なくとも一部分の局所的に実行可能なコピーを表し、該リソースの集合は、
前記ウェブベースアプリケーションに対応するコンテンツと、
ウェブサーバが利用できない時に前記コンピュータシステムにおいて局所的に実行される実行可能コードモジュールであって、ウェブブラウザから要求を受信して対応する応答を生成する実行可能コードモジュールを含む、前記ウェブベースアプリケーションの実行可能コードと、
前記ウェブベースアプリケーションに対応するデータベースのデータベースデータの少なくとも一部と
を含む、ステップと、
前記コンピュータシステムにおいて前記受信したリソースの集合を局所的に保存するステップであって、局所的に保存された前記コンテンツおよび前記ウェブベースアプリケーションの実行可能コードはウェブブラウザキャッシュに保存され、局所的に保存された前記データベースデータは該ウェブブラウザキャッシュとは異なる別個のローカルストアに保存され、該コンテンツおよび該データベースデータは前記ウェブベースサーバコンポーネントとのネットワーク通信を必要とせずに前記実行可能コードモジュールにアクセスでき、そして、前記コンテンツ、実行可能コードモジュールおよびデータベースデータは、前記ウェブベースサーバコンポーネントがネットワーク通信を介して利用できないことが検出される時に前記ウェブサイトの切り取られた部分にアクセスするための、前記ウェブブラウザからの後続の要求に対する応答を生成するために使用されうる、ステップと、
前記指定されたドメインにて前記ウェブサイトの一部分にアクセスするための要求を前記ウェブブラウザから受信するステップと、
前記指摘されたドメインとの通信が利用できないと判断したら、１つまたは複数の他のウェブブラウザアプリケーションがネットワーク通信を介して実行することを続けながら、前記要求を満たすために前記ウェブブラウザキャッシュから実行可能モジュールをウェブブラウザが局所的にロードするステップと、
前記コンテンツおよびウェブベースアプリケーションの実行可能コードがウェブブラウザキャッシュにて期限切れになる時を延長するために、ウェブブラウザのデフォルトのキャッシュ再生利用設定を無効にするステップと
を含むことを特徴とする方法。
【請求項２】
前記ウェブベースアプリケーションの前記ウェブベースサーバコンポーネントがネットワーク通信を介して利用可能であることを検出するステップは、前記ウェブサーバがある期間利用できなかった後に前記ウェブサーバとの通信を再構築するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記コンピュータシステムにおいて前記受信したリソースの集合を局所的に保存するステップは、前記ウェブベースサーバコンポーネントがその後利用できないということを検出する前に、前記受信したリソースの集合を事前にキャッシュに保存するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記ローカルストアへのアクセスは、送信元ドメインによってフィルタ可能であり、前記データベースの少なくとも一部分はドメインに対する要求を満足するためにアクセスすることが一般的にはできない、ことを特徴とする請求項１に記載の方法。
【請求項５】
前記ウェブブラウザのデフォルトのキャッシュ再生利用設定を無効にするステップは、前記コンテンツおよびウェブベースアプリケーションの実行可能コードがウェブブラウザキャッシュにて期限切れになる時を延長するために、前記コンテンツおよびウェブベースアプリケーションの実行可能コードをスティッキー・ビットで印をつけるステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
ネットワークに接続しているコンピュータシステムにおいて、ウェブベースアプリケーションをオフラインで実行する方法であって、
前記コンピュータシステムは、
ウェブブラウザと、
それぞれウェブベースアプリケーションに対応している複数のウェブブラウザアプリケーションコンポーネントと
を含み、
前記ウェブブラウザは、前記ウェブブラウザアプリケーションコンポーネントを実行して、それぞれ前記ウェブベースアプリケーションに対応しているウェブサーバアプリケーションコンポーネントからリソースにアクセスし、
前記方法は、
指定されたドメインのウェブサイトの一部分にアクセスする要求をウェブブラウザから受信するステップであって、該要求は、前記ウェブベースアプリケーションの対応するウェブサーバアプリケーションコンポーネントと通信を試みる前記ウェブベースアプリケーションのウェブブラウザアプリケーションから生じ、該ウェブサーバアプリケーションコンポーネントは前記指定されたドメインのウェブサイトの一部分にアクセス可能である、ステップと、
前記要求を受信した後で前記指定されたドメインとの通信がネットワークを介して利用できないことを検出するステップと、
前記ウェブベースアプリケーションがオフライン実行可能であることを判断するステップと、
リソースの集合および該リソースの集合を保存するためのストレージ要件を指定する局所的に保存された目録にアクセスするステップであって、該リソースの集合は、前記ウェブベースアプリケーションの局所的に実行可能なコピーを含み、該リソースの集合は、
前記ウェブベースアプリケーションに対応するコンテンツと、
前記ウェブベースアプリケーションの実行可能コードと、
前記ウェブベースアプリケーションに対応するデータベースのデータベースデータの少なくとも一部と
を含み、該目録はまた、前記ウェブサーバが前記ウェブブラウザから要求を受信して対応する応答を生成することに利用できない時に前記コンピュータシステムにおいて局所的に実行される、前記リソースの集合に含まれる実行可能コードモジュールと、ローカルに保存されているリソースの集合を前記ウェブベースサーバコンポーネントにおける前記ウェブベースアプリケーションと同期するための、前記ウェブベースサーバコンポーネントとのネットワーク通信が存在する時に前記コンピュータシステムにおいて局所的に実行される同期モジュールとを指定する、ステップと、
前記目録において指定される前記ストレージ要件がストレージ割り当て量を超えるか否かを判断し、該ストレージ要件がストレージ割り当て量を超えると判断したら、ユーザに対して前記リソースの集合を保存するのに十分な量まで前記割り当て量を増加することを許可するように指示するステップと、
前記ウェブベースアプリケーションがオフライン実行可能であるとの判断に応答して、前記目録において指定された前記実行可能コードモジュールを実行することによって、前記コンピュータシステムにおいて前記ウェブサイトの一部分の局所的に実行可能なコピーに局所的にアクセスするステップと、
１つまたは複数の他のウェブブラウザアプリケーションがネットワーク通信を介して実行することを続けながら、前記ウェブブラウザが、前記要求に応答して、前記ウェブサイトの一部分の局所的に実行可能なコピーと相互作用して前記リソースの集合から１つまたは複数のリソースを識別するステップであって、ウェブブラウザキャッシュから実行可能モジュールを局所的にロードするステップをさらに含む、ステップと、
前記実行可能コードモジュールは、前記要求に応答して、前記ウェブブラウザキャッシュおよび別個のローカルストアの１つまたは複数のリソースを前記ウェブブラウザアプリケーションコンポーネントに供給し、ウェブブラウザをオフラインにせずに、該実行可能コードモジュールは、ウェブブラウザキャッシュの前記コンテンツおよび前記ウェブベースアプリケーションの実行可能コード、並びに該ウェブブラウザキャッシュとは異なる別個のローカルストアの前記データベースデータにアクセスし、そして、要求されたウェブベースアプリケーションリソースは、前記要求を受信した後に発生するネットワーク通信なしで、ウェブブラウザアプリケーションコンポーネントに供給される、ステップと、
前記コンテンツおよびウェブベースアプリケーションの実行可能コードがウェブブラウザキャッシュにて期限切れになる時を延長するために、ウェブブラウザのデフォルトのキャッシュ再生利用設定を無効にするステップと
を含むことを特徴とする方法。
【請求項７】
前記要求を受信するステップは、前記ウェブサーバアプリケーションコンポーネントのＵＲＬを受信するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記ウェブベースアプリケーションがオフライン実行可能であることを判断するステップは、オフライン実行可能なアプリケーションのリストを参照するステップを含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記実行可能コードモジュールが前記ウェブブラウザキャッシュおよび別個のローカルストアの１つまたは複数のリソースを前記ウェブブラウザアプリケーションコンポーネントに供給するステップは、
前記ロードされたモジュールに前記要求を送信するステップと、
前記ロードされたモジュールが前記ウェブブラウザキャッシュおよび別個のローカルストアからアクセスされる前記１つまたは複数のリソースのみを使用して要求に対する完全な応答を生成するステップと、
前記完全な応答を前記ウェブブラウザアプリケーションコンポーネントへ転送するステップと、
をさらに含むことを特徴とする請求項６に記載の方法。
【請求項１０】
コンピュータシステムであって、
１つまたは複数のプロセッサと、
システムメモリと、
前記コンピュータシステムに局所的に配置された１つまたは複数の物理的なコンピュータ読み取り可能な記憶媒体であって、前記プロセッサによって実行される時に、ウェブベースアプリケーションのウェブブラウザアプリケーションコンポーネントによるオフライン使用用のローカルコンテンツを設定する方法を前記コンピュータシステムに実行させるコンピュータ実行可能命令を保存する、１つまたは複数の物理的なコンピュータ読み取り可能な記憶媒体と、
を備え、
前記方法は、
前記ウェブベースアプリケーションがオフライン実行可能であることを判断するステップと、
前記ウェブベースアプリケーションのウェブベースサーバコンポーネントがネットワーク通信を介して指定されたドメインのウェブサイトにて利用可能であることを検出するステップと、
前記ウェブベースアプリケーションの前記ウェブベースサーバコンポーネントがネットワーク通信を介して利用可能であることを検出したことに応答して、前記ウェブベースアプリケーションのオフライン実行を容易にするリソースについての要求を前記ウェブベースサーバコンポーネントに送信するステップであって、該要求は、前記ウェブベースアプリケーションに対応するコンテンツについての要求、前記ウェブベースアプリケーションの実行可能アプリケーションコードについての要求、および前記ウェブベースアプリケーションに対応するデータベースのデータベースデータについての要求を含む、ステップと、
前記ウェブベースサーバコンポーネントから前記リソースを受信する前に、前記ウェブベースサーバコンポーネントがローカルストレージ用に前記コンピュータシステムに送信するリソースの集合を指定し、かつ該リソースの集合を保存するためのストレージ要件を指定する目録を受信するステップであって、該目録は、ウェブサーバが利用できない時に前記コンピュータシステムにおいて局所的に実行される実行可能コードモジュールと、ローカルに保存されているリソースの集合を前記ウェブベースサーバコンポーネントにおける前記ウェブベースアプリケーションと同期するための、前記ウェブベースサーバコンポーネントとのネットワーク通信が存在する時に前記コンピュータシステムにおいて局所的に実行される同期モジュールとを指定する、ステップと、
前記目録において指定される前記ストレージ要件がストレージ割り当て量を超えるか否かを判断し、該ストレージ要件がストレージ割り当て量を超えると判断したら、ユーザに対して前記リソースの集合を保存するのに十分な量まで前記割り当て量を増加することを許可するように指示するステップと、
前記要求を送信するステップの後で、ネットワーク通信を介して前記ウェブベースサーバコンポーネントからウェブベースアプリケーションのリソースの集合を受信するステップであって、該リソースの集合は全体で、前記コンピュータシステムにおけるオフライン実行用の、指定されたドメインから切り取られるウェブサイトの少なくとも一部分の局所的に実行可能なコピーを表し、該リソースの集合は、
前記ウェブベースアプリケーションに対応するコンテンツと、
ウェブサーバが利用できない時に前記コンピュータシステムにおいて局所的に実行される実行可能コードモジュールであって、ウェブブラウザから要求を受信して対応する応答を生成する実行可能コードモジュールを含む、前記ウェブベースアプリケーションの実行可能コードと、
前記ウェブベースアプリケーションに対応するデータベースのデータベースデータの少なくとも一部と
を含む、ステップと、
前記コンピュータシステムにおいて前記受信したリソースの集合を局所的に保存するステップであって、局所的に保存された前記コンテンツおよび前記ウェブベースアプリケーションの実行可能コードはウェブブラウザキャッシュに保存され、局所的に保存された前記データベースデータは該ウェブブラウザキャッシュとは異なる別個のローカルストアに保存され、該コンテンツおよび該データベースデータは前記ウェブベースサーバコンポーネントとのネットワーク通信を必要とせずに前記実行可能コードモジュールにアクセスでき、そして、前記コンテンツ、実行可能コードモジュールおよびデータベースデータは、前記ウェブベースサーバコンポーネントがネットワーク通信を介して利用できないことが検出される時に前記ウェブサイトの切り取られた部分にアクセスするための、前記ウェブブラウザからの後続の要求を満足するために使用されうる、ステップと、
前記コンテンツおよびウェブベースアプリケーションの実行可能コードがウェブブラウザキャッシュにて期限切れになる時を延長するために、ウェブブラウザのデフォルトのキャッシュ再生利用設定を無効にするステップと
を含み、
前記１つまたは複数の物理的なコンピュータ読み取り可能な記憶媒体は、前記プロセッサによって実行される時に、ウェブベースアプリケーションをオフラインで実行する方法を前記コンピュータシステムに実行させるコンピュータ実行可能命令を保存し、
該方法は、
指定されたドメインのウェブサイトの一部分にアクセスする要求をウェブブラウザから受信するステップであって、該要求は、前記ウェブベースアプリケーションの対応するウェブサーバアプリケーションコンポーネントと通信を試みる前記ウェブベースアプリケーションのウェブブラウザアプリケーションから生じ、該ウェブサーバアプリケーションコンポーネントは前記指定されたドメインのウェブサイトの一部分にアクセス可能である、ステップと、
前記要求を受信した後で前記指定されたドメインとの通信がネットワークを介して利用できないことを検出するステップと、
前記ウェブベースアプリケーションがオフライン実行可能であることを判断するステップと、
前記ウェブベースアプリケーションがオフライン実行可能であるとの判断に応答して、前記コンピュータシステムにおいて前記ウェブサイトの一部分の局所的に実行可能なコピーに局所的にアクセスするステップであって、該局所的に実行可能なコピーは、前記コンピュータシステムにおけるローカルな実行のために前記指定されたドメインから以前に切り取られており、前記ウェブサイトの一部分の局所的に実行可能なコピーは、前記コンピュータシステムにて局所的に保存されるリソースの集合を含み、該リソースの集合は、
前記ウェブベースアプリケーションに対応するコンテンツと、
ウェブサーバが利用できない時に前記コンピュータシステムにおいて局所的に実行される実行可能コードモジュールであって、ウェブブラウザから要求を受信して対応する応答を生成する実行可能コードモジュールを含む、前記ウェブベースアプリケーションの実行可能コードと、
前記ウェブベースアプリケーションに対応するデータベースのデータベースデータの少なくとも一部と
を含む、ステップと、
１つまたは複数の他のウェブブラウザアプリケーションがネットワーク通信を介して実行することを続けながら、前記ウェブブラウザが、前記要求に応答して、前記ウェブサイトの一部分の局所的に実行可能なコピーと相互作用して前記リソースの集合から１つまたは複数のリソースを識別するステップであって、前記ウェブブラウザキャッシュから実行可能モジュールを局所的にロードするステップをさらに含む、ステップと、
前記実行可能コードモジュールは、前記要求に応答して、前記ウェブブラウザキャッシュおよび別個のローカルストアの１つまたは複数のリソースを前記ウェブブラウザアプリケーションコンポーネントに供給し、ウェブブラウザをオフラインにせずに、該実行可能コードモジュールは、ウェブブラウザキャッシュの前記コンテンツおよび前記ウェブベースアプリケーションの実行可能コード、並びに該ウェブブラウザキャッシュとは異なる別個のローカルストアの前記データベースデータにアクセスし、そして、要求されたウェブベースアプリケーションリソースは、前記要求を受信した後に発生するネットワーク通信なしで、ウェブブラウザアプリケーションコンポーネントに供給される、ステップと
を含むことを特徴とするコンピュータシステム。
【請求項１１】
前記コンピュータシステムにおいて前記受信したリソースの集合を局所的に保存するステップは、前記ウェブベースサーバコンポーネントがその後利用できないということを検出する前に前記受信したリソースの集合を事前にキャッシュに保存するステップを含むことを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１２】
前記コンピュータシステムにおいて前記受信したリソースの集合を局所的に保存するステップは、局所的に保存されたリソースを前記指定されたドメイン内で前記ウェブベースサーバコンポーネントが利用できるリソースと同期化するステップを含むことを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１３】
前記プロセッサによって実行される時に、前記コンピュータシステムに、
前記ウェブベースアプリケーションの前記ウェブベースサーバコンポーネントがネットワーク通信を介して利用可能であることを検出したことに応答して、前記ウェブベースサーバコンポーネントを利用できるか否かについての通知をユーザに送信するステップ、
を実行させるコンピュータ実行可能命令をさらに含むことを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１４】
前記実行可能コードモジュールが前記ウェブブラウザキャッシュおよび別個のローカルストアの１つまたは複数のリソースを前記ウェブブラウザアプリケーションコンポーネントに供給するステップは、
局所的にロードされたモジュールに前記要求を送信するステップと、
前記ロードされたモジュールが前記ブラウザキャッシュおよび別個のローカルストアからアクセスされる前記１つまたは複数のリソースのみを使用して要求に対する完全な応答を生成するステップと、
前記完全な応答を前記ウェブブラウザアプリケーションコンポーネントに転送するステップと
をさらに含むことを特徴とする請求項１０に記載のコンピュータシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
ドメイン１７１は、例えばＩＰアドレスに分解可能なドメインネームサービス（ＤＮＳ）ネームなどのドメインネーム１７２によって識別され得る。ドメインネーム１７２は、（ドメイン１７１内の指定されたアプリケーションについての他の識別情報とともに潜在的に）ブラウザに入力されて、ウェブサーバ１７３にコンテンツを要求するようにブラウザに指示することができる。他の識別情報とともにドメインネーム１７２は、ウェブブラウザに入力されたＵＲＬに含まれていてもよい。要求のタイプ及び／または受信されたＵＲＬにより、ウェブサーバ１７３は、コンテンツ１７５からのコンテンツにアクセスし、かつ／または例えばアプリケーション１９１Ｓなどのウェブベースアプリケーションを開始することができる。アプリケーション１９１Ｓは、例えば、データベース１７４など（例えば、ＳＱＬまたは他のリレーショナルデータベース）のドメイン１７１内の他の位置にデータを要求することができる。ウェブサーバ１７３は、ウェブブラウザ要求に応じてコンテンツ１７５からのコンテンツ及び／またはデータベース１７４からのデータ１７４を含むことができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
ブラウザキャッシュ１０６は、ドメイン１７１を含むドメインから受信されるウェブベースコンテンツに含まれるコンポーネントをキャッシュに格納するように設定される。キャッシュに格納されたコンポーネントは、その後利用可能にされて、ウェブブラウザ１０４から送信されるウェブベース要求を実行することができる。例えば、キャッシュに格納されたコンポーネントは、（ネットワーク１３１を介してキャッシュに格納されたコンポーネントの搬送の必要なしに）ブラウザキャッシュ１０６から直接アクセスされかつウェブブラウザ１０４内でレンダリングされるコンテンツ１７５の一部であり得る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
いくつかの実施形態では、リソース１９３Ｂを受信する前に、オフラインマネージャ１２２及び／またはローカルストアアクセスモジュール１０７は、リソース１９３Ｂのストレージが割り当て１１２に基づいて適当であることを判断する。即ち、オフラインマネージャ１２２及び／またはローカルストアアクセスモジュール１０７は、ドメイン１７１に対して割り当てられたストレージスペースがリソース１９４Ｂ及びデータベース１７４を保存するのに十分なことを検証する。割り当てられたストレージスペースが十分な場合、ウェブブラウザ１０４は、リソース１９３Ｂを受け入れることができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
割り当てられたストレージスペースが割り当て１１２に基づいて十分でない場合、リソース１９３Ｂ（またはその一部）は拒絶され得る。あるいは、設定インタフェース１０２は、ドメイン１７２のために割り当てられたストレージスペースがリソース１９３Ｂを保存するのに十分でないとコンピュータシステム１０１のユーザに通知することができる。適当な場合、ユーザは、リソース１９３Ｂを保存するのに十分な量まで設定インタフェース１０２を介して割り当て１１２を増やすことができる。ユーザがリソース１９３Ｂを保存するのに十分な量まで割り当て１１２を増やさないことを選択する場合、リソース１９３Ｂ（またはその一部）は拒絶され得る。