(57)【要約】  本発明は、電力が制限された環境において、ユニバーサルプラグアンドプレイ機能を拡張するための新しい方法について説明する。この方法では、ユニバーサルプラグアンドプレイ（ＵＰｎＰ）アプリケーション機能によって、一方の端末がスリープモードである２つの端末間の通信が容易になる。本発明は、移動端末、無線装置、携帯装置、移動用通信装置、移動電話などに適用することができる（が、これらに限定されない）。本発明は、ＵＰｎＰアプリケーションが、ＴＣＰ／ＩＰスタックにパラメータを調整するよう動的に指示することによって、電力が制限されたＵＰｎＰ環境において動作するという理由で遅延およびタイムアウトがより長くなることに対応することができる仕組みについて説明する。
2008532191.tif 000002
【特許請求の範囲】
【請求項１】
電力が制限された環境において、１つの端末が、前記１つの端末で使用可能な通信アプリケーションによって、ネットワークを介して、他の端末と通信を行うための方法であって、
前記１つの端末が、前記他の端末の省電力モードに関する通知を受け取るステップと、
前記１つの端末のプロトコルスタックが、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給するステップと、
前記他の端末が起動された後、前記１つの端末が、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るステップであって、前記１つの端末は、前記１つの端末の前記通信アプリケーションによって容易になる予め定められた基準に基づいて、前記通信を終了する前、少なくとも前記他の端末が起動するのに必要な時間間隔、前記確認応答を待つステップと、を備える、方法。
【請求項２】
前記省電力モードは、スリープモードである、請求項１に記載の方法。
【請求項３】
前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前記ステップの前、前記１つの端末と前記他の端末との間で接続が確立されず、
前記１つの端末が前記ネットワークに前記通信信号を供給する前記ステップの前、前記方法は、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成するステップと、
前記ユニバーサルプラグアンドプレイアプリケーションが、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末との前記接続を確立するための制限時間を規定するステップと、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示するステップと、を備える、請求項１に記載の方法。
【請求項４】
前記指示することに応じて、前記ネットワークに前記通信信号を供給し、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記時間間隔は、前記新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって規定される前記制限時間によって規定される、請求項３に記載の方法。
【請求項５】
前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前記ステップの前、前記１つの端末と前記他の端末との間で接続が確立されず、
前記１つの端末が前記ネットワークに前記通信信号を供給する前記ステップの前、前記方法は、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成するステップと、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示するステップと、を備える、請求項１に記載の方法。
【請求項６】
前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、
前記１つの端末が前記ネットワークに前記通信信号を供給する前記ステップは、
前記１つの端末が、前記予め選択された手続に従って前記通信信号を再送信することによって、前記指示することに応じて、前記ネットワークに前記通信信号を供給するステップと、
前記ユニバーサルプラグアンドプレイアプリケーションが、タイムアウトエラーを受け取るステップと、
前記他の端末が起動するのに必要な前記時間間隔に少なくとも等しい予め定められた時限後、前記ユニバーサルプラグアンドプレイアプリケーションが、予め選択された手続に従って前記通信信号を再送信することによって、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するようさらに指示するステップと、
前記予め選択された手続に従って前記通信信号を再送信することによってさらに指示することに応じて、前記１つの端末が、前記ネットワークに、前記通信信号を供給するステップと、を備える請求項５に記載の方法。
【請求項７】
前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前記ステップの前、前記１つの端末と前記他の端末との間で接続が確立され、前記ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、ソケットを既に作成しており、
前記１つの端末が前記ネットワークに前記通信信号を供給する前記ステップの前、前記方法は、
前記ユニバーサルプラグアンドプレイアプリケーションが、ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記１つの端末が前記通信信号を送るための制限時間を規定し、ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末から応答データを受け取るための制限時間を規定するステップと、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末に前記通信信号を送るよう指示するステップと、を備える請求項１に記載の方法。
【請求項８】
前記通信信号は、前記指示することに応じて前記ネットワークに供給され、前記通信信号は、前記他の端末に送られたデータを含むデータ通信信号であり、前記確認応答は、前記他の端末が前記データ通信信号を正常に受け取ったという確認応答であり、前記時間間隔は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定される前記制限時間によって規定される、請求項７に記載の方法。
【請求項９】
前記他の端末が、前記１つの端末に後続のデータ通信信号を送り、前記１つの端末が、前記ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯによって規定された前記他の端末からデータを受け取るための前記制限時間が終了していない場合、前記後続のデータ通信信号を受け取るステップをさらに備える、請求項８に記載の方法。
【請求項１０】
前記プロトコルスタックにおいてまたは前記プロトコルスタックによって実行される処理は、バークレイソフトウェアディストリビューション（ＢＳＤ）ソケットアプリケーションプログラミングインタフェイス（ＡＰＩ）によって容易になる、請求項１に記載の方法。
【請求項１１】
前記１つの端末または前記他の端末は、移動端末、無線装置、携帯装置、移動通信装置、または移動電話である、請求項１に記載の方法。
【請求項１２】
コンピュータプロセッサがコンピュータプログラムコードによって実行するための前記コンピュータプログラムコードを具現するコンピュータ読み取り可能な記憶構造を備えるコンピュータプログラムプロダクトであって、
前記コンピュータプログラムコードは、前記１つの端末、前記他の端末、または前記ネットワークの任意のコンポーネントまたは任意のコンポーネントの組合せによって実行されると示された、請求項１に記載の方法の前記ステップを実行するための指示を含む、ことを特徴とする、コンピュータプログラムプロダクト。
【請求項１３】
電力が制限された環境において、ネットワークを介して他の端末と通信することができる１つの端末であって、
前記他の端末の省電力モードに関する通知に応じ、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給するためのプロトコルスタックと、
前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準に従って、前記プロトコルスタックに指示するための通信アプリケーションであって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と少なくとも同じ長さである通信アプリケーションと、を備える、１つの端末。
【請求項１４】
前記省電力モードは、スリープモードである、請求項１３に記載の１つの端末。
【請求項１５】
前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、
前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、
前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、
新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末との前記接続を確立するための制限時間を規定することと、
前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を行う、請求項１３に記載の１つの端末。
【請求項１６】
前記指示することに応じて、前記ネットワークに前記通信信号を供給し、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記時間間隔は、前記新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって規定される前記制限時間によって規定される、請求項１５に記載の１つの端末。
【請求項１７】
前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前記ステップの前、前記１つの端末と前記他の端末との間で接続が確立されず、
前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、
前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、
前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を行う、請求項１３に記載の１つの端末。
【請求項１８】
前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、
前記１つの端末が前記ネットワークに前記通信信号を供給することは、
前記１つの端末が、前記予め選択された手続に従って前記通信信号を再送信することによって、前記指示することに応じて、前記ネットワークに前記通信信号を供給することと、
前記ユニバーサルプラグアンドプレイアプリケーションが、タイムアウトエラーを受け取ることと、
前記他の端末が起動するのに必要な前記時間間隔に少なくとも等しい予め定められた時限後、前記ユニバーサルプラグアンドプレイアプリケーションが、予め選択された手続に従って前記通信信号を再送信することによって、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するようさらに指示することと、
前記予め選択された手続に従って前記通信信号を再送信することによってさらに指示することに応じて、前記１つの端末が、前記ネットワークに、前記通信信号を供給することと、を備える、請求項１７に記載の端末。
【請求項１９】
前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立され、前記ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、ソケットを既に作成しており、
前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、
前記ＴＣＰ／ＩＰスタックにおいて、ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯを設定して、前記１つの端末が前記通信信号を送るための制限時間を規定し、ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯを設定して、前記他の端末からデータを受け取るための制限時間を規定することと、
前記ＴＣＰ／ＩＰスタックに、前記他の端末に前記パケット信号を送るよう指示することと、を行う、請求項１３に記載の１つの端末。
【請求項２０】
前記通信信号は、前記指示することに応じて前記ネットワークに供給され、前記通信信号は、前記他の端末に送られたデータを含むデータ通信信号であり、前記確認応答は、前記他の端末が前記データ通信信号を正常に受け取ったという確認応答であり、前記時間間隔は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定される前記制限時間によって規定される、請求項１９に記載の方法。
【請求項２１】
前記他の端末は、前記１つの端末から前記データ通信信号を受け取った後、前記１つの端末に後続のデータ通信信号を送り、前記１つの端末は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定された前記他の端末からデータを受け取るための前記制限時間が終了していない場合、前記後続のデータ通信信号を受け取る、請求項２０に記載の１つの端末。
【請求項２２】
前記プロトコルスタックにおいてまたは前記プロトコルスタックによって実行される処理は、バークレイソフトウェアディストリビューション（ＢＳＤ）ソケットアプリケーションプログラミングインタフェイス（ＡＰＩ）によって容易になる、請求項１３に記載の１つの端末。
【請求項２３】
電力が制限された環境において通信する通信システムであって、
省電力モードにあって、起動コールに応じる、他の端末と、
前記他の端末の省電力モードに関する通知に応じ、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記通信信号を供給し、前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準を供給するための１つの端末であって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と同じ長さである、１つの端末と、
前記通知を供給し、前記通信信号に応じて、前記他の端末を起動するのに前記起動コールを行い、前記１つの端末と前記他の端末との間の信号の送信を容易にする、ネットワークと、を備え、
ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末と前記他の端末とにおいて使用可能である、通信システム。
【請求項２４】
電力が制限された環境において、１つの端末および他の端末で使用可能な通信アプリケーションによって、ネットワークを介して、前記１つの端末と前記他の端末との間で通信を行うための方法であって、
前記１つの端末が、前記他の端末の省電力モードに関する通知を受け取るステップと、
前記１つの端末のプロトコルスタックが、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給するステップと、
前記通信信号を検出し、前記通信信号に応じて前記他の端末の起動処理を開始するステップと、
前記他の端末が起動された後、前記他の端末が前記通信信号を受け取り、前記他の端末が前記通信信号を受け取ったという確認応答を前記１つの端末に送るステップであって、前記１つの端末は、前記通信を終了する前、前記１つの端末の前記通信アプリケーションによって容易になる予め定められた基準に基づいて、少なくとも前記他の端末が起動するのに必要な時間間隔、前記確認応答を待つステップと、を備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の優先権及び参照
本出願は、２００５年３月７日に出願された米国特許出願第１１／０８２，６３３号に基づいて優先権を主張するものである。
【０００２】
本発明は、一般に、通信システムに関し、より詳細には、電力が制限された環境におけるユニバーサルプラグアンドプレイ機能の拡張に関する。
【背景技術】
【０００３】
ユニバーサルプラグアンドプレイ（ＵＰｎＰ（登録商標））技術によって、普及したピアツーピアネットワークによるインテリジェント機器、無線機器、およびＰＣを接続するためのアーキテクチャが規定される。この技術は、家庭内か、中小企業内か、パブリックスペースか、または、インターネットに接続しているか否かに関わらず、例えば、アドホックまたは非管理ネットワークなどの使い易く、フレキシブルで、標準規格に基づく接続を実現するよう設計されている。ＵＰｎＰ技術によって、分散型で開放型のネットワークアーキテクチャが提供され、このアーキテクチャによってＴＣＰ／ＩＰおよびＷｅｂ技術が強化され、ネットワーク装置間で制御およびデータを転送するだけでなくシームレスプロキシミティネットワークを可能にする。
【０００４】
ＵＰｎＰ装置アーキテクチャ（ＵＤＡ）は、広範囲のベンダからの幅広い装置カテゴリに関して、ゼロコンフィギュレーション、「不可視（invisible）」ネットワーク、および自動検出をサポートするよう設計されている。すなわち、装置が動的にネットワークに接続したり、ＩＰアドレスを取得したり、装置自体の機能を搬送したり、他の装置の存在や機能に関して認知したりすることができることを意味する。
【０００５】
バークレイソケットアプリケーションプログラミングインタフェイス（ＡＰＩ）は、コンピュータネットワークにアクセスするＣプログラミング言語で書かれたアプリケーションを開発するためのライブラリを備える。ＢＳＤ（バークレイソフトウェアディストリビューション）ソケットＡＰＩとしても周知のバークレイソケットは、ＡＰＩとしての４．２ＢＳＤシステムから生まれた。このＢＳＤソケットＡＰＩによって、事実上、ネットワークソケットに関する標準規格の概念が形成されている。他のほとんどのプログラミング言語でも、Ｃ  ＡＰＩと同様のインターフェイスを使用している。
【０００６】
（例えば、ＵＰｎＰプロトコルなどの）デジタルホーム（Digital Home）における現行の標準規格は、（例えばブルートゥースなどの）バッテリの寿命や伝送帯域幅が制限された制約付装置を考慮していない。ＵＰｎＰプロトコルには、設計における省電力要件がないため、移動通信用の制約付装置が省電力技術によってバッテリの寿命を延ばすことがでいない。ＵＰｎＰプロトコルによって、装置がネットワークにおいてアクティブになる／存在することが可能である。この場合、装置は、通信サブシステムを常にアップしている（すなわち、電源を入れている）必要があり、そうしなければ、ネットワークから切断されてしまう。明らかに、通信サブシステムの電力状態にインテリジェントに適合することによって電力を保存しようとする制約付装置にとって、この限定された動作は不十分である。
【０００７】
端末は、有線または（例えば、ＢＬＵＥＴＯＯＴＨを含む）無線の技術を使用するネットワークに接続することもある。これらの端末のうちの何台かは、常時、（例えば、デスクトップコンピュータ、テレビ、パーソナルビデオレコーダなどの）電源に接続されている。また、何台かは、（例えば、移動電話、携帯情報端末などのように）バッテリ駆動である。さらに、何台かは、（例えば、ラップトップコンピュータのように）両方の特性を有することもある。（バッテリ作動式）携帯電子機器用バッテリの寿命を延ばすための実に一般的な方法は、通信サブシステムを低電力モード状態にすることであり、例えば、ＷＬＡＮ（無線ローカルエリアネットワーク）に関する省電力モードまたはＢＬＵＥＴＯＯＴＨに関するスニフモードおよびホールドモードなどがある。（例えば、端末などの）通信サブシステムが省電力モードである間、そのネットワーク上でサブシステムから／サブシステムへメッセージをネットワークを介して送受信する性能は、劇的に低下し、サブシステムの応答能力は、非常に低くなるか、またはなくなってしまう。この欠点を補うために、通常、ネットワークのアクセスポイントは、スリープ状態の装置が起動されるまで、メッセージをキャッシュに保存する。
【０００８】
さらにこの省電力スキームの機能を拡張するため、相互作用機能（interworking function）をアクセスポイントに追加することによって、アクセスポイントは、バッファにキャッシュされた通信をインテリジェントにフィルタにかけることができる。ＵＰｎＰネットワークで動作するアクセスポイントにおいて実現することができる相互作用機能の１つによって、省電力モードである装置に関するユーザデータグラムプロトコル（ＵＤＰ：User Datagram Protocol）マルチキャストトラフィックをフィルタにかける。また、これらの相互作用機能によって、ＴＣＰトラフィックが（例えば、スリープモードである）端末のためのものである場合を検出し、直ちに、それぞれの装置に対して起動手続を開始することができる。この従来技術手続に関しては、例えば、２００４年２月６日にＶｌａｄ  ＳｔｉｒｂｕおよびＭｉｋａ  Ｓａａｒａｎｅｎによって出願された「Optimization of Data Transfer between Networked Devices（ネットワーク装置間のデータ転送の最適化）」という題名のフィンランドの特許出願第２００４０１７９号に記載されている。
【０００９】
さらに、スリープモード（または、同様に中間モード、すなわち、通常ほどアクティブではないがスリープモードよりアクティブなモード）において、適当な時間内に（モバイル機器などの）端末を起動することができることを想定することによって、高いレベルのエネルギ節約が可能である。着信トラフィックによってリンクをアクティベートすることができるベアラレベルのエネルギ節約を活用するスタンバイモードの場合でさえ、起動するのに不当にかなりの時間を要する。定義によれば、スリープモードは、より低速である（例えば、より緊急でないモードより低速である）。すなわち、装置を起動するのに要する時間がより長くなるため、ＴＣＰプロトコルをより遅延させ、再送信が行われる。よって、受信器は、スタンバイモードであることによって、応答するのにかかる時間がより長くなる。この時間は、ＴＣＰの再送信時間を超えることがある（または、一般に、超える）。あるいは、ソケットタイムアウトさえ起きることがある。ソケットタイムアウトとは、試行を放棄する前に接続を確立するのに使用することができる時間を規定するソケットの実装の一部である。これはＴＣＰプロトコル自体に関して規定されるものというより、別のタイムアウト機構である。このため、ネットワークリソースが有効に使われず、ユーザの目に見えるエラーがかなり頻繁に発生する。したがって、当然、ユーザ経験の質が劣化する。
【発明の開示】
【課題を解決するための手段】
【００１０】
本発明の第１の形態によれば、電力が制限された環境において１つの端末が、前記１つの端末で使用可能な通信アプリケーションによって、ネットワークを介して、他の端末と通信を行うための方法であって、前記１つの端末が、前記他の端末の省電力モードに関する通知を受け取るステップと、前記１つの端末のプロトコルスタックが、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給するステップと、前記他の端末が起動された後、前記１つの端末が、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るステップであって、前記１つの端末は、前記１つの端末の前記通信アプリケーションによって容易になる予め定められた基準に基づいて、前記通信を終了する前、少なくとも前記他の端末が起動するのに必要な時間間隔、前記確認応答を待つステップと、を備える、方法が提供される。
【００１１】
また、本発明の第１の形態によれば、前記省電力モードは、スリープモードでもよい。
【００１２】
さらに、本発明の第１の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前記ステップの前、前記１つの端末と前記他の端末との間で接続が確立されず、前記１つの端末が前記ネットワークに前記通信信号を供給する前記ステップの前、前記方法は、前記ユニバーサルプラグアンドプレイアプリケーションが、前記１つの端末のＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため新しいソケットを作成するステップと、前記ユニバーサルプラグアンドプレイアプリケーションが、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末との前記接続を確立するための制限時間を規定するステップと、前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示するステップと、を備えてもよい。さらに、前記指示することに応じて、前記ネットワークに前記通信信号を供給し、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記時間間隔は、前記新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって規定される前記制限時間によって規定されてもよい。
【００１３】
さらに、本発明の第１の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前記ステップの前、前記１つの端末と前記他の端末との間で接続が確立されず、前記１つの端末が前記ネットワークに前記通信信号を供給する前記ステップの前、前記方法は、前記ユニバーサルプラグアンドプレイアプリケーションが、前記１つの端末のＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成するステップと、前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示するステップと、を備えてもよい。さらに、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記１つの端末が前記ネットワークに前記通信信号を供給する前記ステップは、前記１つの端末が、前記予め選択された手続に従って前記通信信号を再送信することによって、前記指示することに応じて、前記ネットワークに前記通信信号を供給するステップと、前記ユニバーサルプラグアンドプレイアプリケーションが、タイムアウトエラーを受け取るステップと、前記他の端末が起動するのに必要な前記時間間隔に少なくとも等しい予め定められた時限後、前記ユニバーサルプラグアンドプレイアプリケーションが、予め選択された手続に従って前記通信信号を再送信することによって、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するようさらに指示するステップと、前記予め選択された手続に従って前記通信信号を再送信することによってさらに指示することに応じて、前記１つの端末が、前記ネットワークに、前記通信信号を供給するステップと、を備えてもよい。
【００１４】
さらに、本発明の第１の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前記ステップの前、前記１つの端末と前記他の端末との間で接続が確立され、前記ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末のＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、ソケットを既に作成しており、前記１つの端末が前記ネットワークに前記通信信号を供給する前記ステップの前、前記方法は、前記ユニバーサルプラグアンドプレイアプリケーションが、ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記１つの端末が前記通信信号を送るための制限時間を規定し、ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末から応答データを受け取るための制限時間を規定するステップと、前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末に前記通信信号を送るよう指示するステップと、を備えてもよい。さらに、前記通信信号は、前記指示することに応じて前記ネットワークに供給され、前記通信信号は、前記他の端末に送られたデータを含むデータ通信信号であり、前記確認応答は、前記他の端末が前記データ通信信号を正常に受け取ったという確認応答であり、前記時間間隔は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定される前記制限時間によって規定されてもよい。さらに、本発明の第１の形態は、前記他の端末が、前記１つの端末に後続のデータ通信信号を送り、前記１つの端末が、前記ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯによって規定された前記他の端末からデータを受け取るための前記制限時間が終了していない場合、前記後続のデータ通信信号を受け取るステップをさらに備えてもよい。
【００１５】
さらに、本発明の第１の形態によれば、前記プロトコルスタックにおいてまたは前記プロトコルスタックによって実行される処理は、バークレイソフトウェアディストリビューション（ＢＳＤ）ソケットアプリケーションプログラミングインタフェイス（ＡＰＩ）によって容易になることもある。
【００１６】
さらに、本発明の第１の形態によれば、前記１つの端末または前記他の端末は、移動端末、無線装置、携帯装置、移動通信装置、または移動電話でもよい。
【００１７】
本発明の第２の形態によれば、コンピュータプロセッサがコンピュータプログラムコードによって実行するための前記コンピュータプログラムコードを具現するコンピュータ読み取り可能な記憶構造を備えるコンピュータプログラムプロダクトであって、前記コンピュータプログラムコードは、前記１つの端末、前記他の端末、または前記ネットワークの任意のコンポーネントまたは任意の組合せのコンポーネントによって実行されると示された、本発明の第１の形態の前記ステップを実行するための指示を含む、ことを特徴とする、コンピュータプログラムプロダクトが提供される。
【００１８】
本発明の第３の形態によれば、電力が制限された環境において、ネットワークを介して他の端末と通信することができる１つの端末であって、前記他の端末の省電力モードに関する通知に応じ、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給するためのプロトコルスタックと、前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準に従って、前記プロトコルスタックに指示するための通信アプリケーションであって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と少なくとも同じ長さである通信アプリケーションと、を備える、１つの端末が提供される。
【００１９】
また、本発明の第３の形態によれば、前記省電力モードは、スリープモードでもよい。
【００２０】
また、本発明の第３の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末との前記接続を確立するための制限時間を規定することと、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を行ってもよい。また、前記指示することに応じて、前記ネットワークに前記通信信号を供給し、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記時間間隔は、前記新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって規定される前記制限時間によって規定されてもよい。
【００２１】
さらに、本発明の第３の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前記ステップの前、前記１つの端末と前記他の端末との間で接続が確立されず、前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を行ってもよい。また、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記１つの端末が前記ネットワークに前記通信信号を供給することは、前記１つの端末が、前記予め選択された手続に従って、前記通信信号を再送信することによって、前記指示することに応じて、前記通信信号を前記ネットワークに供給することと、前記ユニバーサルプラグアンドプレイアプリケーションが、タイムアウトエラーを受け取ることと、前記他の端末が起動するのに必要な前記時間間隔に少なくとも等しい予め定められた時限後、前記ユニバーサルプラグアンドプレイアプリケーションが、予め選択された手続に従って前記通信信号を再送信することによって、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するようさらに指示することと、前記予め選択された手続に従って前記通信信号を再送信することによってさらに指示することに応じて、前記１つの端末が、前記ネットワークに、前記通信信号を供給することと、を備えてもよい。
【００２２】
また、本発明の第３の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立され、前記ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末のＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、ソケットを既に作成しており、前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、前記ＴＣＰ／ＩＰスタックにおいて、ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯを設定して、前記１つの端末が前記通信信号を送るための制限時間を規定し、ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯを設定して、前記他の端末からデータを受け取るための制限時間を規定することと、前記ＴＣＰ／ＩＰスタックに、前記他の端末に前記通信信号を送るよう指示することと、を行ってもよい。また、前記通信信号は、前記指示することに応じて前記ネットワークに供給され、前記通信信号は、前記他の端末に送られたデータを含むデータ通信信号であり、前記確認応答は、前記他の端末が前記データ通信信号を正常に受け取ったという確認応答であり、前記時間間隔は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定される前記制限時間によって規定されてもよい。さらに、前記他の端末は、前記１つの端末から前記データ通信信号を受け取った後、前記１つの端末に後続のデータ通信信号を送り、前記１つの端末は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定された前記他の端末からデータを受け取るための前記制限時間が終了していない場合、前記後続のデータ通信信号を受け取ってもよい。
【００２３】
また、本発明の第３の形態によれば、前記プロトコルスタックにおいてまたは前記プロトコルスタックによって実行される処理は、バークレイソフトウェアディストリビューション（ＢＳＤ）ソケットアプリケーションプログラミングインタフェイス（ＡＰＩ）によって容易になることもある。
【００２４】
本発明の第４の形態によれば、電力が制限された環境において通信する通信システムであって、省電力モードにあって、起動コールに応じる、他の端末と、前記他の端末の省電力モードに関する通知に応じ、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記１つの端末が前記通信信号を供給し、前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準を供給するための１つの端末であって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と同じ長さである、１つの端末と、前記通知を供給し、前記通信信号に応じて、前記他の端末を起動するのに前記起動コールを供給し、前記１つの端末と前記他の端末との間の信号の送信を容易にする、ネットワークと、を備え、ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末と前記他の端末とにおいて使用可能である、通信システムが提供される。
【００２５】
本発明の第５の形態によれば、電力が制限された環境において、１つの端末および他の端末で使用可能な通信アプリケーションによって、ネットワークを介して、前記１つの端末と前記他の端末との間で通信を行うための方法であって、前記１つの端末が、前記他の端末の省電力モードに関する通知を受け取るステップと、前記１つの端末のプロトコルスタックが、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給するステップと、前記通信信号を検出し、前記通信信号に応じて前記他の端末の起動処理を開始するステップと、前記他の端末が起動された後、前記他の端末が前記通信信号を受け取り、前記他の端末が前記通信信号を受け取ったという確認応答を前記１つの端末に送るステップであって、前記１つの端末は、前記通信を終了する前、前記１つの端末の前記通信アプリケーションによって容易になる予め定められた基準に基づいて、少なくとも前記他の端末が起動するのに必要な時間間隔、前記確認応答を待つステップと、を備える、方法が提供される。
【発明の効果】
【００２６】
本発明は、ソケットタイムアウトによる多数の擬似アプリケーションエラーを減少させる。本発明は、エネルギ保存が遅れたことを認識しないアプリケーションに関して、エネルギ保存の遅れによるエラーをユーザが認識しないようにする。
【００２７】
また、本発明によって、ソケットをより効果的に使用することができる。タイムアウトエラーによって新しいソケットをオープンする必要がないので、セッションごとに使用されるソケットは、１つだけである。
【発明を実施するための最良の形態】
【００２８】
本発明の本質および目的をより良く理解するため、添付の図面と共に以下の詳細な説明を参照する。
【００２９】
本発明では、電力が制限された環境にいて、ユニバーサルプラグアンドプレイ機能を拡張するための新しい方法が提供される。この方法では、ユニバーサルプラグアンドプレイ（ＵＰｎＰ）アプリケーション機能によって、一方の端末がスリープモードである２つの端末間の通信が容易になる。本発明は、移動端末、無線装置、携帯装置、移動通信装置、移動電話などに適用することができる（が、これらに限定されない）。
【００３０】
本発明は、ＵＰｎＰアプリケーションが、（ネットワークソケットの実現に関わる）ＴＣＰ／ＩＰスタックにパラメータを調整するよう動的に指示することによって、電力が制限されたＵＰｎＰ環境において動作するという理由で遅延およびタイムアウトがより長くなることに対応することができる仕組みについて説明する。
【００３１】
本発明の実現は、例えば、多数のＢＳＤ（バークレイソフトウェアディストリビューション）ソケットオプションに関することがある。これらのオプションによって、１つの端末（すなわち、他の端末との接続を確立しようとしている元の端末）のＴＣＰ／ＩＰスタックにおいて予め定められた基準に従って指示を設定したり、下記に詳細に説明するように予め定められた基準に基づいて前記ＵＰｎＰアプリケーションを使用したりする。本発明によれば、１つの端末のＵＰｎＰアプリケーションは、（例えば、スリープモードなどの）省電力モードである他の端末の他のＵＰｎＰアプリケーションと、（例えば、端末間の新しい通信セッションを確立したり、通信セッション中に他の端末がスリープモードになった後データを送ったりするなどの）通信を行おうとする。すると、このＵＰｎＰアプリケーションが、上記で述べたパラメータを適応させることによって、他の端末は、タイムアウト時間より短い時間間隔で起動することができるようになる。
【実施例】
【００３２】
図１は、本発明を実現するための通信システム環境を示すブロック図の数ある中の一例である。端末Ａ（または、１つの端末という）１０および端末Ｂ（または、他の端末という）１６は、アクセスポイント（ＡＰ）１４を有するネットワーク１２を介して、ネットワーク１２において展開される相互作用機能（または同様のもの）と通信することができる。こうして、端末Ａ１０と端末Ｂ１６との間のトラフィックは、ＡＰ１２を介して行われる。以下で示される例に関する環境において、端末Ｂ１６は、省電力モードに切り替わることができ、すべてのソケット処理がこの端末Ａ１０において実行されるため、端末Ａ１０が基準となる装置である、と想定する。
【００３３】
図２は、本発明を実現するためのブロック１０および１６をより詳細に説明する通信システムのブロック図の数ある中の他の一例である。端末Ａ１０は、ユニバーサルプラグアンドプレイアプリケーションＡ１８を含むことによって、ＴＣＰ／ＩＰスタック２２に、予め定められた基準に従って、より長い遅延およびタイムアウトに対処するための待ち時間を規定するよう指示を与える。このＴＣＰ／ＩＰスタック２２は、ネットワーク１２からの他の端末（端末Ｂ１６）の省電力モードに関する通知に応答する。そして、ＴＣＰ／ＩＰスタック２２は、前記他の端末１６に向けた（以下でさらに詳細に説明する）通信信号をネットワーク１２に送るのに、予め選択された手続に従って前記通信信号を再送信する。バークレイソフトウェアディストリビューション（ＢＳＤ）ソケットアプリケーションプログラミングインターフェイス（ＡＰＩ）２０によって、ＴＣＰ／ＩＰスタック上でまたはＴＣＰ／ＩＰスタック２２によって実行される処理は、容易になる。端末Ｂ１６には、ユニバーサルプラグアンドプレイアプリケーションＡ２４、ＴＣＰ／ＩＰスタックＢ２８、およびＢＳＤソケットＡＰＩ２６などの端末Ａ１０と同様の機能があり、同様の特徴がある。
【００３４】
図３ａおよび３ｂは、それぞれ、本発明による数ある実施例の中の一実施例について説明するフローチャートおよび図式である。ここで、１つの端末１０（端末Ａ）と他の端末１６（端末Ｂ）との間の接続は、事前に確立されておらず、他の端末１６は、スリープモードである。図３ｂは、図３ａの補足であり、図３ａのフローチャートをより詳細に深く理解するために示すものである。
【００３５】
図３ａのフローチャートは、実行可能な数多くの場合の中の１つについてのみ示す。本発明による方法では、最初のステップ３０において、端末Ａ１０は、端末Ｂ１６がスリープ（省電力）モードであることについて通知を受け取る。端末Ｂ（他の端末）１６の省電力モードの性質に関する情報は、（例えば、ＳＳＤＰ（Simple Service Discovery Protocol（シンプルサービス発見プロトコル））低電力固有ヘッダなどの）端末Ｂ１６のユニバーサルプラグアンドプレイ（ＵＰｎＰ）アドバタイズメントや、デバイスディスクリプションドキュメントの中の、例えば、指示として含まれることがある。
【００３６】
次のステップ３２において、１つの端末１０のユニバーサルプラグアンドプレイアプリケーション１８は、他の端末１６と通信するため、例えば、（図３ｂに示すように）ｓｏｃｋｅｔ（）関数によって、ＴＣＰ／ＩＰスタックＡ２２において新しいソケットを作成する。次のステップ３４において、ユニバーサルプラグアンドプレイアプリケーション１８は、例えば、（図３ｂに示すように）ｓｅｔｓｏｃｋｅｔｏｐｔ（）関数によって、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯを設定することによって、予め定められた基準に従って、ＴＣＰ／ＩＰスタックＡ２２において他の端末（端末Ｂ）１６との接続を確立するための制限時間を規定する。（こうして、以下で説明する関数ｃｏｎｎｅｃｔ（）がタイムアウトエラーを返すのを防止する。）本発明によれば、ＳＯ−ＣＯＮＴＭＥＯは、一般に、端末Ｂ１６を起動するのに必要な時間よりわずかに大きな値に設定される。次のステップ３６において、ユニバーサルプラグアンドプレイアプリケーション１８は、例えば、（図３ｂに示すように）ｃｏｎｎｅｃｔ（）関数によって、ＴＣＰ／ＩＰスタックＡ２２に他の端末１６との接続を確立するよう指示する。
【００３７】
次のステップ３８において、ＴＣＰ／ＩＰスタックＡ２２は、（例えば、再送信間の時間を倍にするなどの）周知の再送信アルゴリズムに従って、（例えば、アクセスポイント１４などの）ネットワーク１２に、（図３ｂにおいて、ＴＣＰ  ＳＹＮとして示す）コネクション通信を送る（または、再送信する）。次のステップ４０において、ネットワーク１２（相互作用機能）は、コネクション通信を検出し、例えば、リンクレイヤ固有の技術によって、端末Ｂ１６の起動処理を開始し、端末Ｂ１６を起動するよう試みる（または、代替方法として、端末Ｂ１６が着信パケットをポーリングする場合、接続確立を通知し、アクティブ状態に移行する）。次のステップ４２において、端末Ｂ１６は、起動され、コネクション通信を受け取り、（図３ｂにおいてＴＣＰ  ＳＹＮ，ＡＣＫとして示す）確認応答を端末Ａ１０に送る。
【００３８】
次のステップ４４において、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって設定した時限が終了する前に確認応答を受け取ったか否かを確認する。ステップ４８において、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって設定した時限が終了する前に確認応答を受け取らなかった場合、接続セッションは、未確定状態であるので、クローズされる。しかしながら、次のステップ４６において、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって設定した時限が終了する前に確認応答を受け取ったことが確認された場合、接続は確立される。こうして、ＵＰｎＰアプリケーションＡ１８は、（例えば図３ｂに示すようにｓｅｎｄ（）関数をコールすることによって、）端末Ｂ１６へのデータ送信を開始する。
【００３９】
図４ａおよび４ｂは、それぞれ、本発明による（図３ａおよび３ｂにおいて示される実施例と同様の）数ある代替の実施例の中の１つについて説明するフローチャートおよび図式である。ここで、１つの端末１０（端末Ａ）と他の端末１６（端末Ｂ）との間の接続は、事前に確立されておらず、他の端末１６は、スリープモードである。図４ｂは、図４ａを補足し、図４ａのフローチャートをより詳細に深く理解するため示すものである。
【００４０】
図４ａのフローチャートは、実行可能な多くの場合の中の１つのみを示す。本発明による方法では、最初のステップ５０において、端末Ａ１０は、端末Ｂ１６がスリープ（省電力）モードであることについて通知を受け取る。端末Ｂ（他の端末）１６の省電力モードの性質に関する情報は、（ステップ５０は、図３ａのステップ３０と同様であるので、）図３ａのステップ３０に関して説明したのと同様に、容易にすることができる。
【００４１】
次のステップ５２において、１つの端末１０のユニバーサルプラグアンドプレイアプリケーション１８は、他の端末１６と通信するため、例えば、（図４ｂに示すように）ｓｏｃｋｅｔ（）関数によって、ＴＣＰ／ＩＰスタックＡ２２において新しいソケットを作成する。次のステップ５４において、ユニバーサルプラグアンドプレイアプリケーション１８は、例えば、（図４ｂに示すように）ｃｏｎｎｅｃｔ（）関数によって、ＴＣＰ／ＩＰスタックＡ２２に他の端末１６との接続を確立するよう指示する。次のステップ５６において、ＴＣＰ／ＩＰスタックＡ２２は、（例えば、再送信間の時間を倍にするなどの）周知の再送信アルゴリズムに従って、（例えば、アクセスポイント１４などの）ネットワーク１２に、（図４ｂにおいて、ＴＣＰ  ＳＹＮとして示す）コネクション通信を送る（または、再送信する）。次のステップ５８において、ネットワーク１２（相互作用機能）は、コネクション通信を検出し、例えば、リンクレイヤ固有の技術によって、端末Ｂ１６の起動処理を開始して端末Ｂ１６を起動するよう試行する（または、代替方法として、端末Ｂ１６が着信パケットをポーリングする場合、接続確立を通知し、アクティブ状態に移行する）。ステップ５２、５４、５６、および５８は、それぞれ、図３ａにおけるステップ３２、３６、３８、および４０と同様である。
【００４２】
次のステップ６０において、接続に失敗すると、ＵＰｎＰアプリケーションＡ１８にエラー信号を転送する。（従来技術のように）接続失敗に関してユーザに通知する代わりに、予め定められた基準に従って、１つまたは複数のエラー信号を受け取った後、一般に、（元の接続試行から）端末Ｂ１６が起動するのに必要とされる時間よりわずかに長い時間間隔さらに待った後、次のステップ６２において、端末Ｂ１６が起動された後、ＵＰｎＰアプリケーションＡ１８は、端末Ｂ１６との接続を確立するため、再度ｃｏｎｎｅｃｔ（）関数をコールする。その後、ＴＣＰ／ＩＰスタックＡ２２は、再度、（例えばアクセスポイント１４などの）ネットワーク１２にコネクション通信（ＴＣＰ  ＳＹＮ）を送る。
【００４３】
次のステップ６４において、接続に失敗したか否かを確認する。接続に失敗した場合、処理は、ステップ６０に戻る。このフィードバックプロセスにおいて、（例えば３０秒などの）制限時間が設定されていてもよい。しかしながら、次のステップ６６において接続に成功したことを確認した場合、端末Ｂ１６は、起動される。そして、端末Ｂ１６は、コネクション通信を受け取り、端末Ａ１０に（図４ｂにおいてＴＣＰ  ＳＹＮ，ＡＣＫとして示す）確認応答を送る。次のステップ６８において、接続が確立される。そして、ＵＰｎＰアプリケーションＡ１８は、（例えば図４ｂに示すようにｓｅｎｄ（）関数をコールすることによって）端末Ｂ１６へのデータ送信を開始する。
【００４４】
図５ａおよび５ｂは、それぞれ、数ある実施例の中の１つについて説明するフローチャートおよび図式である。ここで、本発明によれば、（１つの端末１０のＴＣＰ／ＩＰスタック２２において、他の端末１６と通信するため、前記ユニバーサルプラグアンドプレイアプリケーション１８によってソケットが既に作成されている）１つの端末（端末Ａ）１０と、（例えば、一定の期間非アクティブであった後）スリープモードに移行しようとしている他の端末１６との間で、事前に接続が確立されている。図５ｂは、図５ａを補足し、図５ａのフローチャートをより詳細に深く理解するため示すものである。
【００４５】
図５ａのフローチャートは、実行可能な多くの場合の中の１つのみを示す。本発明による方法では、最初のステップ７０において、端末Ａ１０は、端末Ｂ１６がスリープ（省電力）モードであることについて通知を受け取る。端末Ｂ（他の端末）１６の省電力モードの性質に関する情報は、（ステップ７０は、図３ａのステップ３０および図４ａのステップ５０とそれぞれ同様であるので、）図３ａのステップ３０に関して説明したのと同様に、容易にすることができる。
【００４６】
次のステップ７２において、ユニバーサルプラグアンドプレイアプリケーション１８は、例えば、（図５ｂに示すように）ｓｅｔｓｏｃｋｅｔｏｐｔ（）関数によって、以下の設定を行う。すなわち、予め定められた基準に基づいて、前記ＴＣＰ／ＩＰスタック２２において、前記１つの端末Ａ１０が前記通信信号を送るための制限時間を規定するソケットオプションＳＯ−ＳＮＤＴＩＭＥＯを設定し、前記ＴＣＰ／ＩＰスタック２２において、前記他の端末（端末Ｂ）１６からデータを受け取るための制限時間を規定するソケットオプションＳＯ−ＲＣＶＴＩＭＥＯを設定する。ＳＯ−ＳＮＤＴＩＭＥＯオプションによって、ｓｅｎｄコールの（例えば、ミリ秒単位の）タイムアウトを設定する。ｓｅｎｄコールがタイムアウトになった場合、接続は、未確定状態であるので、クローズしなければならない。ＳＯ−ＲＣＶＴＩＭＥＯオプションによって、ｒｅｃｅｉｖｅコールの（例えば、ミリ秒単位の）タイムアウトを設定する。ｒｅｃｅｉｖｅコールがタイムアウトになった場合、接続は、未確定状態であるので、クローズしなければならない。
【００４７】
次のステップ７４において、ユニバーサルプラグアンドプレイアプリケーション１８は、例えば、（図５ｂで示すように）ｄａｔａ（）関数によって、ＴＣＰ／ＩＰスタックＡ２２に、他の端末１６へデータを送るよう指示する。
【００４８】
次のステップ７６において、ＴＣＰ／ＩＰスタックＡ２２は、（例えば、再送信間の時間を倍にするなどの）周知の再送信アルゴリズムに従って、（例えば、アクセスポイント１４などの）ネットワーク１２に、（図５ｂにおいて、ＴＣＰ  ＤＡＴＡとして示す）データ通信信号を送る（再送信する）。次のステップ７８において、ネットワーク１２（相互作用機能）は、データ通信信号を検出し、例えば、リンクレイヤ固有の技術によって、端末Ｂ１６の起動処理を開始し、端末Ｂ１６を起動するよう試みる（または、代替方法として、端末Ｂ１６が着信パケットをポーリングする場合、着信データを通知し、アクティブ状態に移行する）。次のステップ８０において、端末Ｂ１６は、起動され、データ通信信号を受け取り、端末Ａ１０に（図５ｂにおいてＴＣＰ  ＤＡＴＡ，ＡＣＫとして示す）確認応答を送る。
【００４９】
次のステップ８２において、新しいソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって設定した時限が終了する前に確認応答を受け取ったか否かを確認する。ステップ８４において、新しいソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって設定した時限が終了する前に確認応答を受け取らなかった場合、接続セッションは、未確定状態であるので、クローズされる。しかしながら、次のステップ８６において、新しいソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって設定した時限が終了する前に確認応答を受け取ったことが確認された場合、接続されたままであるので、端末Ｂ１６は、端末Ａ１０に応答データ通信信号を送る。新しいソケットオプションＳＯ−ＲＣＶＴＩＭＥＯによって設定した時限が終了する前に端末Ａ１０が応答データ通信信号を受け取った場合、端末Ａ１０は、応答データ通信信号を受け付け、確認応答を行う。そうでない場合（新しいソケットオプションＳＯ−ＲＣＶＴＩＭＥＯによって設定した時限が終了した場合）、接続セッションは、未確定状態であるので、上記で指摘されたようにクローズしなければならない。
【００５０】
図２、３ａ、３ｂ、４ａ、４ｂ、５ａ、および５ｂにおいて示される例は、ユニバーサルプラグアンドプレイアプリケーションＡ１８またはＢ２４、ＴＣＰ／ＩＰスタックＡ２２またはＢ２８、ならびに、バークレイソフトウェアディストリビューション（ＢＳＤ）ソケットアプリケーションプログラミングインターフェイス（ＡＰＩ）２０または２６を使用する１つの実現方法しか示さないことに留意されたい。本発明によれば、代替の実現方法は、一般に、（ユニバーサルプラグアンドプレイアプリケーションＡ１８またはＢ２４はその１つにすぎない）通信アプリケーション、（ＴＣＰ／ＩＰスタックＡ２２またはＢ２８はその１つにすぎない）プロトコルスタック、およびＢＳＤ  ＡＰＩ２０または２６と異なる様々なＡＰＩによって容易になる多様なソケットアプリケーションを含むこともある。
【００５１】
上記で説明した配置構造は、本発明の基本原則の適用例を示すにすぎないことを理解されたい。当業者であれば、本発明の範囲から逸脱せずに多くの変更や代替の配置構造を考え出すことができるであろう。添付の特許請求の範囲は、このような変更と配置構造を含むよう意図している。
【図面の簡単な説明】
【００５２】
【図１】本発明を実現するための通信システム環境を示すブロック図である。
【図２】本発明を実現するためのシステム構成要素をより詳細に説明する通信システムのブロック図である。
【図３ａ】本発明による、１つの端末と他の端末との間で接続が事前に確立されておらず、他の端末がスリープモードである場合の一実施例を示すフローチャートである。
【図３ｂ】本発明による、１つの端末と他の端末との間で接続が事前に確立されておらず、他の端末がスリープモードである場合の一実施例を示す図式である。
【図４ａ】本発明による、１つの端末と他の端末との間で接続が事前に確立されておらず、他の端末がスリープモードである場合の代替の実施例を示すフローチャートである。
【図４ｂ】本発明による、１つの端末と他の端末との間で接続が事前に確立されておらず、他の端末がスリープモードである場合の代替の実施例を示す図式である。
【図５ａ】本発明による、１つの端末と他の端末との間で接続が事前に確立されており、他の端末がスリープモードになろうとしている場合の他の実施例を示すフローチャートである。
【図５ｂ】本発明による、１つの端末と他の端末との間で接続が事前に確立されており、他の端末がスリープモードになろうとしている場合の他の実施例を示す図式である。
【図１】
2008532191.tif 000003
【図２】
2008532191.tif 000004
【図３ａ】
2008532191.tif 000005
【図３ｂ】
2008532191.tif 000006
【図４ａ】
2008532191.tif 000007
【図４ｂ】
2008532191.tif 000008
【図５ａ】
2008532191.tif 000009
【図５ｂ】
2008532191.tif 000010
【手続補正書】
【提出日】平成20年1月25日(2008.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
１つの端末が、他の端末の省電力モードに関する通知を受け取ることと、
前記１つの端末のプロトコルスタックが、電力が制限された環境において、前記１つの端末が、前記１つの端末で使用可能な通信アプリケーションによって、ネットワークを介して、前記他の端末と通信を行うため、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給することと、
前記他の端末が起動された後、前記１つの端末が、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るステップであって、前記１つの端末は、前記１つの端末の前記通信アプリケーションによって容易になる予め定められた基準に基づいて、前記通信を終了する前、少なくとも前記他の端末が起動するのに必要な時間間隔、前記確認応答を待つことと、を備える、方法。
【請求項２】
前記省電力モードは、スリープモードである、請求項１に記載の方法。
【請求項３】
前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、
前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記方法は、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、
前記ユニバーサルプラグアンドプレイアプリケーションが、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末との前記接続を確立するための制限時間を規定することと、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を備える、請求項１に記載の方法。
【請求項４】
前記指示することに応じて、前記ネットワークに前記通信信号を供給し、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記時間間隔は、前記新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって規定される前記制限時間によって規定される、請求項３に記載の方法。
【請求項５】
前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、
前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記方法は、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を備える、請求項１に記載の方法。
【請求項６】
前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、
前記１つの端末が前記ネットワークに前記通信信号を供給することは、
前記１つの端末が、予め選択された手続に従って前記通信信号を再送信することによって、前記指示することに応じて、前記ネットワークに前記通信信号を供給することと、
前記ユニバーサルプラグアンドプレイアプリケーションが、タイムアウトエラーを受け取ることと、
前記他の端末が起動するのに必要な前記時間間隔に少なくとも等しい予め定められた時限後、前記ユニバーサルプラグアンドプレイアプリケーションが、前記予め選択された手続に従って前記通信信号を再送信することによって、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するようさらに指示することと、
前記予め選択された手続に従って前記通信信号を再送信することによってさらに指示することに応じて、前記１つの端末が、前記ネットワークに、前記通信信号を供給することと、を備える請求項５に記載の方法。
【請求項７】
前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立され、前記ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、ソケットを既に作成しており、
前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記方法は、
前記ユニバーサルプラグアンドプレイアプリケーションが、ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記１つの端末が前記通信信号を送るための制限時間を規定し、ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末から応答データを受け取るための制限時間を規定することと、
前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末に前記通信信号を送るよう指示することと、を備える請求項１に記載の方法。
【請求項８】
前記通信信号は、前記指示することに応じて前記ネットワークに供給され、前記通信信号は、前記他の端末に送られたデータを含むデータ通信信号であり、前記確認応答は、前記他の端末が前記データ通信信号を正常に受け取ったという確認応答であり、前記時間間隔は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定される前記制限時間によって規定される、請求項７に記載の方法。
【請求項９】
前記他の端末が、前記１つの端末に後続のデータ通信信号を送り、前記１つの端末が、前記ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯによって規定された前記他の端末からデータを受け取るための前記制限時間が終了していない場合、前記後続のデータ通信信号を受け取ることをさらに備える、請求項８に記載の方法。
【請求項１０】
前記プロトコルスタックにおいてまたは前記プロトコルスタックによって実行される処理は、バークレイソフトウェアディストリビューションソケットアプリケーションプログラミングインタフェイスによって容易になる、請求項１に記載の方法。
【請求項１１】
前記１つの端末または前記他の端末は、無線通信用である、請求項１に記載の方法。
【請求項１２】
コンピュータプロセッサがコンピュータプログラムコードによって実行するための前記コンピュータプログラムコードを具現するコンピュータ読み取り可能な記憶構造を備えるコンピュータプログラムプロダクトであって、
前記コンピュータプログラムコードは、前記１つの端末、前記他の端末、または前記ネットワークの任意のコンポーネントまたは任意のコンポーネントの組合せによって実行されると示された、請求項１に記載の方法を実行するための指示を備える、コンピュータプログラムプロダクト。
【請求項１３】
１つの端末であって、
電力が制限された環境において、ネットワークを介して他の端末と通信するため、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記他の端末の省電力モードに関する通知に応じて、前記ネットワークに前記通信信号を供給するためのプロトコルスタックと、
前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準に従って、前記プロトコルスタックに指示するための通信アプリケーションであって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と少なくとも同じ長さである通信アプリケーションと、を備える、１つの端末。
【請求項１４】
前記省電力モードは、スリープモードである、請求項１３に記載の１つの端末。
【請求項１５】
前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、
前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、
前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、
新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末との前記接続を確立するための制限時間を規定することと、
前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を行うように構成される、請求項１３に記載の１つの端末。
【請求項１６】
前記指示することに応じて、前記ネットワークに前記通信信号を供給し、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記時間間隔は、前記新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって規定される前記制限時間によって規定される、請求項１５に記載の１つの端末。
【請求項１７】
前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、
前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、
前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、
前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を行うように構成される、請求項１３に記載の１つの端末。
【請求項１８】
前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、
前記１つの端末が前記ネットワークに前記通信信号を供給することは、
前記１つの端末が、予め選択された手続に従って前記通信信号を再送信することによって、前記指示することに応じて、前記ネットワークに前記通信信号を供給することと、
前記ユニバーサルプラグアンドプレイアプリケーションが、タイムアウトエラーを受け取ることと、
前記他の端末が起動するのに必要な前記時間間隔に少なくとも等しい予め定められた時限後、前記ユニバーサルプラグアンドプレイアプリケーションが、前記予め選択された手続に従って前記通信信号を再送信することによって、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するようさらに指示することと、
前記予め選択された手続に従って前記通信信号を再送信することによってさらに指示することに応じて、前記１つの端末が、前記ネットワークに、前記通信信号を供給することと、を備える、請求項１７に記載の端末。
【請求項１９】
前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立され、前記ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、ソケットを既に作成しており、
前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、
前記ＴＣＰ／ＩＰスタックにおいて、ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯを設定して、前記１つの端末が前記通信信号を送るための制限時間を規定し、ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯを設定して、前記他の端末からデータを受け取るための制限時間を規定することと、
前記ＴＣＰ／ＩＰスタックに、前記他の端末に前記通信信号を送るよう指示することと、を行うように構成される、請求項１３に記載の１つの端末。
【請求項２０】
前記通信信号は、前記指示することに応じて前記ネットワークに供給され、前記通信信号は、前記他の端末に送られたデータを含むデータ通信信号であり、前記確認応答は、前記他の端末が前記データ通信信号を正常に受け取ったという確認応答であり、前記時間間隔は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定される前記制限時間によって規定される、請求項１９に記載の１つの端末。
【請求項２１】
前記他の端末は、前記１つの端末から前記データ通信信号を受け取った後、前記１つの端末に後続のデータ通信信号を送り、前記１つの端末は、前記ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯによって規定された前記他の端末からデータを受け取るための前記制限時間が終了していない場合、前記後続のデータ通信信号を受け取る、請求項２０に記載の１つの端末。
【請求項２２】
前記プロトコルスタックにおいてまたは前記プロトコルスタックによって実行される処理は、バークレイソフトウェアディストリビューションソケットアプリケーションプログラミングインタフェイスによって容易になる、請求項１３に記載の１つの端末。
【請求項２３】
通信システムであって、
省電力モードにあって、起動コールに応じる、他の端末と、
電力が制限された環境において通信するため、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記他の端末の省電力モードに関する通知に応じて、前記通信信号を供給し、前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準を供給するための１つの端末であって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と同じ長さである、１つの端末と、
前記通知を供給し、前記通信信号に応じて、前記他の端末を起動するのに前記起動コールを行い、前記１つの端末と前記他の端末との間の信号の送信を容易にする、ネットワークと、を備え、
ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末と前記他の端末とにおいて使用可能である、通信システム。
【請求項２４】
方法であって、
１つの端末が、他の端末の省電力モードに関する通知を受け取ることと、
電力が制限された環境において、前記１つの端末および前記他の端末で使用可能な通信アプリケーションによって、ネットワークを介して、前記１つの端末と前記他の端末との間で通信を行うため、前記１つの端末のプロトコルスタックが、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給することと、
前記通信信号を検出し、前記通信信号に応じて前記他の端末の起動処理を開始することと、
前記他の端末が起動された後、前記他の端末が前記通信信号を受け取り、前記他の端末が前記通信信号を受け取ったという確認応答を前記１つの端末に送ることであって、前記１つの端末は、前記通信を終了する前、前記１つの端末の前記通信アプリケーションによって容易になる予め定められた基準に基づいて、少なくとも前記他の端末が起動するのに必要な時間間隔、前記確認応答を待つことと、を備える、方法。
【請求項２５】
前記省電力モードは、スリープモードである、請求項２４に記載の方法。
【請求項２６】
前記１つの端末または前記他の端末は、移動端末、無線装置、携帯装置、移動通信装置、または移動電話である、請求項２３に記載の通信システム。
【請求項２７】
１つの端末であって、
電力が制限された環境において、ネットワークを介して他の端末と通信するため、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記他の端末の省電力モードに関する通知に応じて、前記ネットワークに前記通信信号を供給するためのプロトコル手段と、
前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準に従って、前記プロトコルスタックに指示するための通信手段であって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と少なくとも同じ長さである通信手段と、を備える、１つの端末。
【請求項２８】
前記プロトコルスタックは、ＴＣＰ／ＩＰスタックである、請求項２７に記載の１つの端末。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明の第１の形態によれば、方法であって、１つの端末が、他の端末の省電力モードに関する通知を受け取ることと、前記１つの端末のプロトコルスタックが、電力が制限された環境において、前記１つの端末が、前記１つの端末で使用可能な通信アプリケーションによって、ネットワークを介して、前記他の端末と通信を行うため、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給することと、前記他の端末が起動された後、前記１つの端末が、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るステップであって、前記１つの端末は、前記１つの端末の前記通信アプリケーションによって容易になる予め定められた基準に基づいて、前記通信を終了する前、少なくとも前記他の端末が起動するのに必要な時間間隔、前記確認応答を待つことと、を備える、方法が提供される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
さらに、本発明の第１の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記方法は、前記ユニバーサルプラグアンドプレイアプリケーションが、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、前記ユニバーサルプラグアンドプレイアプリケーションが、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末との前記接続を確立するための制限時間を規定することと、前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を備えてもよい。さらに、前記指示することに応じて、前記ネットワークに前記通信信号を供給し、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記時間間隔は、前記新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって規定される前記制限時間によって規定されてもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
さらに、本発明の第１の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記方法は、前記ユニバーサルプラグアンドプレイアプリケーションが、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を備えてもよい。さらに、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記１つの端末が前記ネットワークに前記通信信号を供給することは、前記１つの端末が、予め選択された手続に従って前記通信信号を再送信することによって、前記指示することに応じて、前記ネットワークに前記通信信号を供給することと、前記ユニバーサルプラグアンドプレイアプリケーションが、タイムアウトエラーを受け取ることと、前記他の端末が起動するのに必要な前記時間間隔に少なくとも等しい予め定められた時限後、前記ユニバーサルプラグアンドプレイアプリケーションが、前記予め選択された手続に従って前記通信信号を再送信することによって、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するようさらに指示することと、前記予め選択された手続に従って前記通信信号を再送信することによってさらに指示することに応じて、前記１つの端末が、前記ネットワークに、前記通信信号を供給することと、を備えてもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
さらに、本発明の第１の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立され、前記ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、ソケットを既に作成しており、前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記方法は、前記ユニバーサルプラグアンドプレイアプリケーションが、ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記１つの端末が前記通信信号を送るための制限時間を規定し、ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末から応答データを受け取るための制限時間を規定することと、前記ユニバーサルプラグアンドプレイアプリケーションが、前記ＴＣＰ／ＩＰスタックに、前記他の端末に前記通信信号を送るよう指示することと、を備えてもよい。さらに、前記通信信号は、前記指示することに応じて前記ネットワークに供給され、前記通信信号は、前記他の端末に送られたデータを含むデータ通信信号であり、前記確認応答は、前記他の端末が前記データ通信信号を正常に受け取ったという確認応答であり、前記時間間隔は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定される前記制限時間によって規定されてもよい。さらに、本発明の第１の形態は、前記他の端末が、前記１つの端末に後続のデータ通信信号を送り、前記１つの端末が、前記ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯによって規定された前記他の端末からデータを受け取るための前記制限時間が終了していない場合、前記後続のデータ通信信号を受け取ることをさらに備えてもよい。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
さらに、本発明の第１の形態によれば、前記プロトコルスタックにおいてまたは前記プロトコルスタックによって実行される処理は、バークレイソフトウェアディストリビューションソケットアプリケーションプログラミングインタフェイスによって容易になることもある。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
さらに、本発明の第１の形態によれば、前記１つの端末または前記他の端末は、無線通信用でもよい。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
本発明の第２の形態によれば、コンピュータプロセッサがコンピュータプログラムコードによって実行するための前記コンピュータプログラムコードを具現するコンピュータ読み取り可能な記憶構造を備えるコンピュータプログラムプロダクトであって、前記コンピュータプログラムコードは、前記１つの端末、前記他の端末、または前記ネットワークの任意のコンポーネントまたは任意のコンポーネントの組合せによって実行されると示された、請求項１に記載の方法を実行するための指示を備える、コンピュータプログラムプロダクトが提供される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明の第３の形態によれば、１つの端末であって、電力が制限された環境において、ネットワークを介して他の端末と通信するため、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記他の端末の省電力モードに関する通知に応じて、前記ネットワークに前記通信信号を供給するためのプロトコルスタックと、前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準に従って、前記プロトコルスタックに指示するための通信アプリケーションであって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と少なくとも同じ長さである通信アプリケーションと、を備える、１つの端末が提供される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
また、本発明の第３の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯを設定して、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末との前記接続を確立するための制限時間を規定することと、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を行うように構成されてもよい。また、前記指示することに応じて、前記ネットワークに前記通信信号を供給し、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記時間間隔は、前記新しいソケットオプションＳＯ−ＣＯＮＴＩＭＥＯによって規定される前記制限時間によって規定されてもよい。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
さらに、本発明の第３の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立されず、前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、新しいソケットを作成することと、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するよう指示することと、を行うように構成されてもよい。また、前記通信信号は、前記接続の確立を開始するコネクション通信信号であり、前記確認応答は、前記１つの端末と前記他の端末との間で正常な接続が確立されたことに関する確認応答であり、前記１つの端末が前記ネットワークに前記通信信号を供給することは、前記１つの端末が、予め選択された手続に従って前記通信信号を再送信することによって、前記指示することに応じて、前記ネットワークに前記通信信号を供給することと、前記ユニバーサルプラグアンドプレイアプリケーションが、タイムアウトエラーを受け取ることと、前記他の端末が起動するのに必要な前記時間間隔に少なくとも等しい予め定められた時限後、前記ユニバーサルプラグアンドプレイアプリケーションが、前記予め選択された手続に従って前記通信信号を再送信することによって、前記ＴＣＰ／ＩＰスタックに、前記他の端末との前記接続を確立するようさらに指示することと、前記予め選択された手続に従って前記通信信号を再送信することによってさらに指示することに応じて、前記１つの端末が、前記ネットワークに、前記通信信号を供給することと、を備えてもよい。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
また、本発明の第３の形態によれば、前記通信アプリケーションは、ユニバーサルプラグアンドプレイアプリケーションであり、前記プロトコルスタックは、ＴＣＰ／ＩＰスタックであり、前記１つの端末が前記通知を受け取る前、前記１つの端末と前記他の端末との間で接続が確立され、前記ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末の前記ＴＣＰ／ＩＰスタックにおいて、前記他の端末と通信するため、ソケットを既に作成しており、前記１つの端末が前記ネットワークに前記通信信号を供給する前、前記ユニバーサルプラグアンドプレイアプリケーションは、前記ＴＣＰ／ＩＰスタックにおいて、ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯを設定して、前記１つの端末が前記通信信号を送るための制限時間を規定し、ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯを設定して、前記他の端末からデータを受け取るための制限時間を規定することと、前記ＴＣＰ／ＩＰスタックに、前記他の端末に前記通信信号を送るよう指示することと、を行うように構成されてもよい。また、前記通信信号は、前記指示することに応じて前記ネットワークに供給され、前記通信信号は、前記他の端末に送られたデータを含むデータ通信信号であり、前記確認応答は、前記他の端末が前記データ通信信号を正常に受け取ったという確認応答であり、前記時間間隔は、前記ソケットオプションＳＯ−ＳＮＤＴＩＭＥＯによって規定される前記制限時間によって規定されてもよい。さらに、前記他の端末は、前記１つの端末から前記データ通信信号を受け取った後、前記１つの端末に後続のデータ通信信号を送り、前記１つの端末は、前記ソケットオプションＳＯ−ＲＣＶＴＩＭＥＯによって規定された前記他の端末からデータを受け取るための前記制限時間が終了していない場合、前記後続のデータ通信信号を受け取ってもよい。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
また、本発明の第３の形態によれば、前記プロトコルスタックにおいてまたは前記プロトコルスタックによって実行される処理は、バークレイソフトウェアディストリビューションソケットアプリケーションプログラミングインタフェイスによって容易になることもある。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本発明の第４の形態によれば、通信システムであって、省電力モードにあって、起動コールに応じる、他の端末と、電力が制限された環境において通信するため、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記他の端末の省電力モードに関する通知に応じて、前記通信信号を供給し、前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準を供給するための１つの端末であって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と同じ長さである、１つの端末と、前記通知を供給し、前記通信信号に応じて、前記他の端末を起動するのに前記起動コールを行い、前記１つの端末と前記他の端末との間の信号の送信を容易にする、ネットワークと、を備え、ユニバーサルプラグアンドプレイアプリケーションは、前記１つの端末と前記他の端末とにおいて使用可能である、通信システムが提供される。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
本発明の第５の形態によれば、方法であって、１つの端末が、他の端末の省電力モードに関する通知を受け取ることと、電力が制限された環境において、前記１つの端末および前記他の端末で使用可能な通信アプリケーションによって、ネットワークを介して、前記１つの端末と前記他の端末との間で通信を行うため、前記１つの端末のプロトコルスタックが、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記ネットワークに前記通信信号を供給することと、前記通信信号を検出し、前記通信信号に応じて前記他の端末の起動処理を開始することと、前記他の端末が起動された後、前記他の端末が前記通信信号を受け取り、前記他の端末が前記通信信号を受け取ったという確認応答を前記１つの端末に送ることであって、前記１つの端末は、前記通信を終了する前、前記１つの端末の前記通信アプリケーションによって容易になる予め定められた基準に基づいて、少なくとも前記他の端末が起動するのに必要な時間間隔、前記確認応答を待つことと、を備える、方法が提供される。本発明の第６の形態によれば、１つの端末であって、電力が制限された環境において、ネットワークを介して他の端末と通信するため、予め選択された手続に従って前記他の端末に向けた通信信号を送ることによって、前記他の端末の省電力モードに関する通知に応じて、前記ネットワークに前記通信信号を供給するためのプロトコル手段と、前記他の端末が起動された後、前記他の端末が前記通信信号を受け取ったという確認応答を受け取るための待ち時間を規定する予め定められた基準に従って、前記プロトコルスタックに指示するための通信手段であって、前記待ち時間は、前記他の端末が起動するのに必要な時間間隔と少なくとも同じ長さである通信手段と、を備える、１つの端末が提供される。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
図２は、本発明を実現するためのブロック１０および１６をより詳細に説明する通信システムのブロック図の数ある中の他の一例である。端末Ａ１０は、ユニバーサルプラグアンドプレイアプリケーションＡ１８を含むことによって、ＴＣＰ／ＩＰスタック２２に、予め定められた基準に従って、より長い遅延およびタイムアウトに対処するための待ち時間を規定するよう指示を与える。このＴＣＰ／ＩＰスタック２２は、ネットワーク１２からの他の端末（端末Ｂ１６）の省電力モードに関する通知に応答する。そして、ＴＣＰ／ＩＰスタック２２は、前記他の端末１６に向けた（以下でさらに詳細に説明する）通信信号をネットワーク１２に送るのに、予め選択された手続に従って前記通信信号を再送信する。バークレイソフトウェアディストリビューション（ＢＳＤ）ソケットアプリケーションプログラミングインターフェイス（ＡＰＩ）２０によって、ＴＣＰ／ＩＰスタック上でまたはＴＣＰ／ＩＰスタック２２によって実行される処理は、容易になる。端末Ｂ１６には、ユニバーサルプラグアンドプレイアプリケーションＢ２４、ＴＣＰ／ＩＰスタックＢ２８、およびＢＳＤソケットＡＰＩ２６などの端末Ａ１０と同様の機能があり、同様の特徴がある。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
次のステップ７４において、ユニバーサルプラグアンドプレイアプリケーション１８は、例えば、（図５ｂで示すように）ｓｅｎｄ（）関数によって、ＴＣＰ／ＩＰスタックＡ２２に、他の端末１６へデータを送るよう指示する。
【手続補正１８】
【補正対象書類名】図面
【補正対象項目名】図３ｂ
【補正方法】変更
【補正の内容】
【図３ｂ】
2008532191.tif 000011
【手続補正１９】
【補正対象書類名】図面
【補正対象項目名】図４ａ
【補正方法】変更
【補正の内容】
【図４ａ】
2008532191.tif 000012
【手続補正２０】
【補正対象書類名】図面
【補正対象項目名】図４ｂ
【補正方法】変更
【補正の内容】
【図４ｂ】
2008532191.tif 000013
【手続補正２１】
【補正対象書類名】図面
【補正対象項目名】図５ｂ
【補正方法】変更
【補正の内容】
【図５ｂ】
2008532191.tif 000014
【国際調査報告】
2008532191.tif 000015
2008532191.tif 000016
2008532191.tif 000017
2008532191.tif 000018