(57)【要約】本開示は、スタンドアロン型ソフトウェアアプリケーションの通信を実施するための方法および装置を開示する。一態様では、スタンドアロン型ソフトウェアアプリケーションの通信を実施するための方法は、相互にリモートである第１ユーザー装置と第２ユーザー装置との間の即時通信接続を、第１ユーザー装置上の第１即時通信クライアントおよび第２ユーザー装置上の第２即時通信クライアントによって確立することと、第１ユーザー装置上の第１スタンドアロン型ソフトウェアアプリケーションにより、即時通信接続を介して、第２ユーザー装置上の第２スタンドアロン型ソフトウェアアプリケーションと通信することを含む。
2013510349.tif 000002
【特許請求の範囲】
【請求項１】
スタンドアロン型ソフトウェアアプリケーションの通信を実施するための方法であって、
第１ユーザー装置および第２ユーザー装置が相互にリモートであり、前記第１ユーザー装置と前記第２ユーザー装置との間の即時通信接続を、前記第１ユーザー装置上の第１即時通信クライアントおよび前記第２ユーザー装置上の第２即時通信クライアントによって確立することと、
前記第１ユーザー装置上の第１スタンドアロン型ソフトウェアアプリケーションにより、前記即時通信接続を介して、前記第２ユーザー装置上の第２スタンドアロン型ソフトウェアアプリケーションと通信することとを含む方法。
【請求項２】
前記第１ユーザー装置上の第１スタンドアロン型ソフトウェアアプリケーションにより、前記即時通信接続を介して、前記第２ユーザー装置上の第２スタンドアロン型ソフトウェアアプリケーションと通信することが、
前記第１即時通信クライアントによって、前記第１スタンドアロン型ソフトウェアアプリケーションから通信要求を受信することと、
前記第１即時通信クライアントによって前記第１スタンドアロン型ソフトウェアアプリケーションを認証することと、
前記第１スタンドアロン型ソフトウェアアプリケーションが前記認証を通過した場合に、前記第１スタンドアロン型ソフトウェアアプリケーションが、前記即時通信接続を介して、前記第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可することとを含む、請求項１に記載の方法。
【請求項３】
前記通信要求が前記第２ユーザー装置の識別を含み、前記第１スタンドアロン型ソフトウェアアプリケーションが、前記即時通信接続を介して、前記第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可することが、
前記第１スタンドアロン型ソフトウェアアプリケーションが前記認証を通過した後、前記第１即時通信クライアントが、前記第２ユーザー装置の前記識別に従って、前記第１即時通信クライアントと前記第２即時通信クライアントとの間に前記即時通信接続が存在するか否かをチェックすることと、
肯定の場合、前記第１スタンドアロン型ソフトウェアアプリケーションが前記即時通信接続を介して、前記第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可することと、
肯定ではない場合、前記第１即時通信クライアントが、前記第２ユーザー装置の前記識別に従って、前記第２即時通信クライアントとの即時通信接続を確立し、前記第１スタンドアロン型ソフトウェアアプリケーションが前記即時通信接続を介して、前記第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可することとを含む、請求項２に記載の方法。
【請求項４】
前記第１ユーザー装置上の第１スタンドアロン型ソフトウェアアプリケーションにより、前記即時通信接続を介して、前記第２ユーザー装置上の第２スタンドアロン型ソフトウェアアプリケーションと通信することが、
前記第１即時通信クライアントが、前記第２即時通信クライアントとの前記即時通信接続を確立することと、
前記第１即時通信クライアントが、前記第１ユーザー装置上で前記第１スタンドアロン型ソフトウェアアプリケーションを開始することと、
１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための前記通信要求が前記第１スタンドアロン型ソフトウェアアプリケーションの認証を含み、前記第１即時通信クライアントが、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための前記通信要求を、前記第２即時通信クライアントに送信することと、
前記第２即時通信クライアントが、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための前記通信要求を受信することと、
前記第２即時通信クライアントが、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための前記通信要求に含まれている前記識別に従って、前記第２ユーザー装置上で前記第２スタンドアロン型ソフトウェアアプリケーションを開始することと、
前記第１スタンドアロン型ソフトウェアアプリケーションが、前記第１即時通信クライアントおよび前記第２即時通信クライアントによって確立された前記即時通信接続を介して、前記第２スタンドアロン型ソフトウェアアプリケーションと通信することとを含む、請求項１に記載の方法。
【請求項５】
前記第１即時通信クライアントが、前記第１ユーザー装置上で前記第１スタンドアロン型ソフトウェアアプリケーションを開始することが、
前記第１即時通信クライアントが、即時通信チャットウィンドウの拡張ウィンドウを確立することと、
前記第１即時通信クライアントが、前記拡張ウィンドウで前記第１スタンドアロン型ソフトウェアアプリケーションを開始することとを含む、請求項４に記載の方法。
【請求項６】
前記第１即時通信クライアントが、前記拡張ウィンドウで前記第１スタンドアロン型ソフトウェアアプリケーションを開始することが、
前記第１即時通信クライアントが、前記拡張ウィンドウで、前記第１ユーザー装置上で複数のスタンドアロン型ソフトウェアアプリケーションを開始することと、
前記第１即時通信クライアントが、異なる拡張ウィンドウで、複数のスタンドアロン型ソフトウェアアプリケーションを開始することとを含む、請求項５に記載の方法。
【請求項７】
前記第１即時通信クライアントが、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための前記通信要求を、前記第２即時通信クライアントに送信する前に、前記方法が、
前記第１即時通信クライアントが、前記第１スタンドアロン型ソフトウェアアプリケーションがネットワーク相互作用を介してユーザーにより使用される必要があるか否かをチェックすることと、
前記第１スタンドアロン型ソフトウェアアプリケーションがネットワーク相互作用を介してユーザーにより使用される必要がある場合に、前記第１即時通信クライアントが、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための前記通信要求を前記第２即時通信クライアントに送信することとをさらに含む、請求項４に記載の方法。
【請求項８】
ローカルユーザー装置とリモートユーザー装置との間の即時通信接続を確立する接続確立ユニットと、
前記ローカルユーザー装置の第１スタンドアロン型ソフトウェアアプリケーションからの通信要求を受信する要求受信ユニットと、
前記第１スタンドアロン型ソフトウェアアプリケーションを認証する認証通信ユニットとを備え、
前記第１スタンドアロン型ソフトウェアアプリケーションが前記認証を通過した場合は、前記認証通信ユニットが、前記第１スタンドアロン型ソフトウェアアプリケーションが前記即時通信接続を介して、前記リモートユーザー装置の第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可する装置。
【請求項９】
ローカルユーザー装置およびリモートユーザー装置で、スタンドアロン型ソフトウェアの通信を実施するための装置であって、
前記ローカルユーザー装置と前記リモートユーザー装置との間の即時通信接続を確立する接続確立ユニットと、
前記ローカルユーザー装置上で第１スタンドアロン型ソフトウェアアプリケーションを開始するスタンドアロン型ソフトウェア開始ユニットと、
前記リモートユーザー装置上の第２スタンドアロン型ソフトウェアアプリケーションとの通信のための第１通信要求を、前記リモートユーザー装置に送信する要求送信ユニットと、
前記第１スタンドアロン型ソフトウェアアプリケーションとの通信のための第２通信要求を前記リモートユーザー装置から受信する要求受信ユニットとを備える装置。
【請求項１０】
前記スタンドアロン型ソフトウェア開始ユニットが、
即時通信用のチャットウィンドウの拡張ウィンドウを作成する拡張ウィンドウ作成サブユニットと、
前記拡張ウィンドウで前記スタンドアロン型ソフトウェアを開始する開始サブユニットとを備える、請求項９に記載の装置。
【請求項１１】
前記第１通信要求が、前記第１スタンドアロン型ソフトウェアアプリケーションの認証を含む、請求項９に記載の装置。
【請求項１２】
前記第２通信要求が、前記第２スタンドアロン型ソフトウェアアプリケーションの認証を含む、請求項９に記載の装置。
【請求項１３】
前記スタンドアロン型ソフトウェア開始ユニットが、前記第１スタンドアロン型ソフトウェアアプリケーションとの通信のための前記第２通信要求を前記リモートユーザー装置から受信する前記要求受信ユニットに応答して、前記ローカルユーザー装置上で前記第１スタンドアロン型ソフトウェアアプリケーションを開始する、請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連特許出願の相互参照
本願は、２００９年１１月５日に出願された「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＩＭＰＬＥＭＥＮＴＩＮＧ  ＣＯＭＭＵＮＩＣＡＴＩＯＮ  ＯＦ  ＳＴＡＮＤ−ＡＬＯＮＥ  ＳＯＦＴＷＡＲＥ」という名称の中国特許出願第２００９１０２０８７２８．２号からの優先権を主張し、その出願内容全体が参照により本明細書に組み込まれる。
【０００２】
本開示は、コンピューターアプリケーション技術に関し、詳細には、スタンドアロン型ソフトウェアの通信を実施するための方法および装置に関する。
【背景技術】
【０００３】
インターネット技術が発達するにつれて、様々なソフトウェアアプリケーションに対してなされるユーザーの要求は、スタンドアロン機能の形に限られていない。ますます多くのユーザーが、ソフトウェアアプリケーションが、そのソフトウェアアプリケーションの基本的機能に基づきリモートユーザーとのやり取りを可能にするための、一定のネットワーク機能を有することを望んでいる。
【０００４】
より多くのソフトウェア機能に対するユーザーの要望も、ソフトウェア開発に対する困難さを増す。単一のパーソナルコンピューター用のソフトウェアの場合、ネットワーク機能を実装する目的で、関連する通信機能モジュールをソフトウェアに追加する必要がある。スタンドアロン機能と比較すると、ネットワーク機能の実装は、開発担当者および開発環境に対する要求が高い。従って、スタンドアロン型ソフトウェアでのネットワーク機能の実装は、明らかに開発の困難さおよび開発費用を増大させ、それにより、開発担当者をある程度制限する。さらに、ソフトウェアアプリケーションを開発またはテストする際に、異なる開発担当者が異なるネットワーク環境を使用し得る。ユーザーがネットワーク機能を使用する際に互換性の問題に直面するであろうことは不可避であり、その結果、多くの場合、異なるソフトウェアアプリケーションに対して異なるネットワーク構成を行うようにユーザーに要求し、操作の困難さが増すことになる。
【発明の概要】
【課題を解決するための手段】
【０００５】
本開示は、ネットワーク機能を実装するためのスタンドアロン型ソフトウェアアプリケーションに対する問題を解決するために、スタンドアロン型ソフトウェアの通信を実施するための技術を提供する。かかる問題は、高難易度、高コスト、および低互換性を含む。本技術の様々な態様を以下に要約する。
【０００６】
一態様では、スタンドアロン型ソフトウェアアプリケーションの通信を実施するための方法は、第１ユーザー装置と第２ユーザー装置が相互にリモートである、第１ユーザー装置と第２ユーザー装置との間の即時通信接続を、第１ユーザー装置上の第１即時通信クライアントおよび第２ユーザー装置上の第２即時通信クライアントによって確立することと、第１ユーザー装置上の第１スタンドアロン型ソフトウェアアプリケーションにより、即時通信接続を介して、第２ユーザー装置上の第２スタンドアロン型ソフトウェアアプリケーションと通信することを含む。
【０００７】
即時通信接続を介した第２ユーザー装置上の第２スタンドアロン型ソフトウェアアプリケーションとの通信において、本方法は、第１即時通信クライアントにより、第１スタンドアロン型ソフトウェアアプリケーションからの通信要求を受信して、第１即時通信クライアントにより、第１スタンドアロン型ソフトウェアアプリケーションを認証し、第１スタンドアロン型ソフトウェアアプリケーションが認証を通過すると、第１スタンドアロン型ソフトウェアアプリケーションが、即時通信接続を介して、第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可し得る。
【０００８】
通信要求は、第２ユーザー装置の識別を含み得る。第１スタンドアロン型ソフトウェアアプリケーションが、即時通信接続を介して、第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可する場合、本方法は、第１スタンドアロン型ソフトウェアアプリケーションが認証を通過した後、第１即時通信クライアントは、第２ユーザー装置の識別に従って、第１即時通信クライアントと第２即時通信クライアントとの間に即時通信接続が存在するか否かをチェックすることと、肯定の場合、第１スタンドアロン型ソフトウェアアプリケーションが、即時通信接続を介して、第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可することと、肯定ではない場合、第１即時通信クライアントが、第２ユーザー装置の識別に従って、第２即時通信クライアントとの即時通信接続を確立し、第１スタンドアロン型ソフトウェアアプリケーションが、即時通信接続を介して、第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可することを含み得る。
【０００９】
即時通信接続を介した第２ユーザー装置上の第２スタンドアロン型ソフトウェアアプリケーションとの通信において、本方法は、第１即時通信クライアントが第２即時通信クライアントとの即時通信接続を確立することと、第１即時通信クライアントが、第１ユーザー装置上で第１スタンドアロン型ソフトウェアアプリケーションを開始することと、第１即時通信クライアントが、第１スタンドアロン型ソフトウェアアプリケーションの識別を含む、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を第２即時通信クライアントに送信することと、第２即時通信クライアントが、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を受信することと、第２即時通信クライアントが、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求に含まれている識別に従い、第２ユーザー装置上で第２スタンドアロン型ソフトウェアアプリケーションを開始することと、第１スタンドアロン型ソフトウェアアプリケーションが、第１即時通信クライアントおよび第２即時通信クライアントによって確立された即時通信接続を介して、第２スタンドアロン型ソフトウェアアプリケーションと通信することを含み得る。
【００１０】
第１ユーザー装置上で第１スタンドアロン型ソフトウェアアプリケーションを開始することに関して、本方法は、第１即時通信クライアントが即時通信チャットウィンドウの拡張ウィンドウを確立することと、第１即時通信クライアントが拡張ウィンドウで第１スタンドアロン型ソフトウェアアプリケーションを開始することを含み得る。
【００１１】
代替として、第１ユーザー装置上で第１スタンドアロン型ソフトウェアアプリケーションを開始することに関して、本方法は、第１即時通信クライアントが拡張ウィンドウで第１ユーザー装置上の複数のスタンドアロン型ソフトウェアアプリケーションを開始すること、または第１即時通信クライアントが異なる拡張ウィンドウで複数のスタンドアロン型ソフトウェアアプリケーションを開始することを含み得る。
【００１２】
第１即時通信クライアントが、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を第２即時通信クライアントに送信する前に、本方法は、第１即時通信クライアントが、第１スタンドアロン型ソフトウェアアプリケーションがネットワーク相互作用を介してユーザーにより使用される必要があるか否かをチェックすることと、第１スタンドアロン型ソフトウェアアプリケーションがネットワーク相互作用を介してユーザーにより使用される必要がある場合に、第１即時通信クライアントが１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を第２即時通信クライアントに送信することをさらに含み得る。
【００１３】
別の態様では、装置は、接続確立ユニット、要求受信ユニット、および認証通信ユニットを含む。
【００１４】
通信確立ユニットは、ローカルユーザー装置とリモートユーザー装置との間の即時通信接続を確立し得る。
【００１５】
要求受信ユニットは、ローカルユーザー装置の第１スタンドアロン型ソフトウェアアプリケーションから通信要求を受信し得る。
【００１６】
認証通信ユニットは、第１スタンドアロン型ソフトウェアアプリケーションが認証を通過した場合に、第１スタンドアロン型ソフトウェアアプリケーションを認証し得る。認証通信ユニットは、第１スタンドアロン型ソフトウェアアプリケーションが、即時通信接続を介して、リモートユーザー装置の第２スタンドアロン型ソフトウェアアプリケーションと通信するのを許可し得る。
【００１７】
さらに別の態様では、ローカルユーザー装置およびリモートユーザー装置でスタンドアロン型ソフトウェアの通信を実施するための装置は、接続確立ユニット、スタンドアロン型ソフトウェア開始ユニット、要求送信ユニット、および要求受信ユニットを含む。
【００１８】
接続確立ユニットは、ローカルユーザー装置とリモートユーザー装置との間の即時通信接続を確立し得る。
【００１９】
スタンドアロン型ソフトウェア開始ユニットは、ローカルユーザー装置で第１スタンドアロン型ソフトウェアアプリケーションを開始し得る。スタンドアロン型ソフトウェア開始ユニットは、即時通信用のチャットウィンドウの拡張ウィンドウを作成する拡張ウィンドウ作成サブユニット、および拡張ウィンドウでスタンドアロン型ソフトウェアを開始する開始サブユニットを含み得る。
【００２０】
要求送信ユニットは、リモートユーザー装置で第２スタンドアロン型ソフトウェアアプリケーションとの通信のための第１通信要求を、リモートユーザー装置に送信し得る。第１通信要求は、第１スタンドアロン型ソフトウェアアプリケーションの認証を含み得る。
【００２１】
要求受信ユニットは、第１スタンドアロン型ソフトウェアアプリケーションとの通信のための第２通信要求をリモートユーザー装置から受信し得る。第２通信要求は、第２スタンドアロン型ソフトウェアアプリケーションの認証を含み得る。
【００２２】
スタンドアロン型ソフトウェア開始ユニットは、第１スタンドアロン型ソフトウェアアプリケーションとの通信のための第２通信要求をリモートユーザー装置から受信する要求受信ユニットに応答して、第１スタンドアロン型ソフトウェアアプリケーションをローカルユーザー装置で開始し得る。
【発明の効果】
【００２３】
本開示で提供する技術では、スタンドアロン型ソフトウェアは、通信を実施するために、即時通信システムによって確立されるネットワーク接続を使用するため、スタンドアロン型ソフトウェアでの通信機能モジュールに関する要件がない。そのため、スタンドアロン型ソフトウェアでネットワーク機能を実装するための開発の困難さおよび開発コストが効果的に削減される。さらに、様々なスタンドアロン型ソフトウェアアプリケーションが、即時通信システムによって確立されたネットワーク接続を一様に使用するので、様々なスタンドアロン型ソフトウェアアプリケーションの通常の通信を実装するために一度の構成が必要なだけで、それによりユーザー操作が削減される。
【００２４】
本開示の実施形態をより良く説明するため、次は、開示する実施形態の説明で使用される図の簡単な紹介である。次の図は、本開示のいくつかの実施形態にのみ関連する。
【図面の簡単な説明】
【００２５】
【図１】本開示の第１実施形態によるスタンドアロン型ソフトウェアの通信のための方法の概略図を示す。
【図２】本開示の第２実施形態によるスタンドアロン型ソフトウェアの通信のための方法の概略図を示す。
【図３】本開示の第３実施形態によるスタンドアロン型ソフトウェアの通信を実施するための例示的装置を示す。
【図４】本開示の第４実施形態によるスタンドアロン型ソフトウェアの通信を実施するための例示的装置を示す。
【発明を実施するための形態】
【００２６】
本明細書では、まず、スタンドアロン型ソフトウェアの通信を実施するための技術を紹介する。本技術は、第１ユーザー装置と第２ユーザー装置との間の即時通信接続を確立し、その即時通信接続を用いて、第１ユーザー装置上のスタンドアロン型ソフトウェアアプリケーションＡ１と第２ユーザー装置上のスタンドアロン型ソフトウェアアプリケーションＡ２との間の通信を許可する。
【００２７】
第１ユーザー装置および第２ユーザー装置は相互にリモートである。第１ユーザー装置と第２ユーザー装置との間の即時通信接続が、第１ユーザー装置上の即時通信クライアントＢ１および第２ユーザー装置上の即時通信クライアントＢ２によって確立される。即時通信クライアントＢ１およびＢ２も、ソフトウェアアプリケーションの形態である。一実施形態では、第１ユーザー装置上のスタンドアロン型ソフトウェアアプリケーションＡ１と第２ユーザー装置上のスタンドアロン型ソフトウェアアプリケーションＡ２は同一である。
【００２８】
前述した技術では、各スタンドアロン型ソフトウェアアプリケーションは、通信するために、即時通信システムによって確立されたネットワーク接続を使用し、それにより、スタンドアロン型ソフトウェアアプリケーションが通信機能モジュールを備える必要がなくなる。開発担当者の観点からすれば、開発担当者は、スタンドアロン型ソフトウェアアプリケーションの基本機能の実装に集中することができ、通信またはネットワーク機能には集中しなくてよい。ネットワーク機能の実装に関して、開発担当者は、即時通信システムとやり取りできるインタフェースを残すことができる。即時通信サーバーによって、比較的より複雑なネットワーク機能さえ実装することができ、それにより、ネットワーク機能を実施するためのスタンドアロン型ソフトウェアアプリケーション対する開発の困難さおよび開発コストが効果的に削減される。
【００２９】
一方、現行の技術では、ソフトウェアアプリケーションの開発またはテストを行う際に、異なる担当者が異なるネットワーク環境を使用するので、ユーザーは、ネットワーク機能を使用する際に、必然的に互換性の問題に直面するだろう。本開示で提供する技術を実施すると、複数のスタンドアロン型ソフトウェアアプリケーションが、同一の即時通信システムによって確立された通信接続を一様に使用できるようにするだろう。それ故、所与のスタンドアロン型ソフトウェアアプリケーションに対して通信を構成する必要がなく、それにより、ユーザー操作が簡略化される。
【００３０】
他方、現行の技術では、開発の困難さおよび開発コストから生じる制約のために、スタンドアロン型ソフトウェアアプリケーションで実装されている多数のネットワーク機能は、通信セキュリティおよび例外処理を考慮に入れていない可能性がある。しかし、開示した即時通信システムは、一般に、比較的成熟した通信セキュリティおよび例外処理機構を有する。それ故、本開示で開示する技術の適用は、スタンドアロン型ソフトウェアアプリケーションの通信の信頼性を効果的に向上できる。
【００３１】
本開示の実施形態または現行技術の技術計画をより良く説明するため、以下の説明は、明確かつ完全な説明を提供する図を参照して行われる。図は、可能な全ての実施形態ではなく、本開示のいくつかの実施形態のみに関連している。本明細書で開示する実施形態に基づき、当業者によってなされる変更または派生物は、本開示の保護範囲に含まれる。
【００３２】
第１例
第１実施形態では、第１ユーザー装置および第２ユーザー装置は、関連する通信エンティティである。通信プロセスでは、第１ユーザー装置および第２ユーザー装置は相互にリモートである。第１ユーザー装置は、２つの構成要素、すなわち、スタンドアロン型ソフトウェアＡ１アプリケーションおよび即時通信クライアントＢ１を含む。第２ユーザー装置も、２つの構成要素、すなわち、スタンドアロン型ソフトウェアＡ２アプリケーションおよび即時通信クライアントＢ２を含む。即時通信クライアントＢ１およびＢ２は、１つの同じ即時通信システムに属する。ソフトウェアアプリケーションＡ１およびＡ２は同一である。ソフトウェアアプリケーションＡ１およびＡ２は、即時通信クライアントＢ１およびＢ２によって確立された即時通信接続を介して通信する。図１は、この実施形態の方法の実施を示す。その方法を後述する。
【００３３】
Ｓ１０１：ソフトウェアアプリケーションＡ１が通信要求を即時通信クライアントＢ１に送信する。
【００３４】
この実施形態では、各スタンドアロン型ソフトウェアアプリケーションが論理的にはまだ通信モジュールを持つことができるが、その通信モジュールはネットワークと直接やり取りしない。ソフトウェアアプリケーションが通信要件を有する場合、ソフトウェアアプリケーションはまず、ローカルユーザー装置上の即時通信クライアントＢ１に通信要求を送信する。
【００３５】
スタンドアロン型ソフトウェアアプリケーションが通信するために即時通信接続を正しく使用できることを確実にするため、同じユーザー装置上のスタンドアロン型ソフトウェアアプリケーションおよび即時通信クライアントは、対応関係を有する。即時通信クライアントは、基本的な即時通信機能だけでなく、即時通信ソフトウェアプロセスとスタンドアロン型ソフトウェアプロセスとの間の内部メッセージの相互作用を実装するための事前定義された特別なローカル通信インタフェースも有する。スタンドアロン型ソフトウェアアプリケーションのネットワーク機能を実施する場合、ネットワークとの相互作用部が関与することなく、即時通信クライアントによって定義されたローカル通信インタフェースを頼りにできる。１つのスタンドアロン型ソフトウェアアプリケーションは、感謝をもって、通信用に複数の即時通信ソフトウェアアプリケーションを使用することを選択でき、また、１つの即時通信ソフトウェアアプリケーションも複数のスタンドアロン型ソフトウェアアプリケーションとの通信をサポートできる。
【００３６】
スタンドアロン型ソフトウェアアプリケーションがゲームソフトウェアであると仮定すると、ローカルユーザーは、ネットワークを介して別のユーザーとゲームをすることを希望する。別のユーザーとオンラインゲームをする要求またはオンラインゲームの対戦相手の検索など、対応するネットワーク機能を選択した後、ソフトウェアアプリケーションＡ１は、通信要求を、ローカルユーザー装置の対応する即時通信クライアントＢ１に送信する。前述の状況は、即時通信クライアントＢ１がローカルユーザー装置上で既に実行していることを前提とする。詳細な実施状況では、通信要求を送信する前に、ソフトウェアアプリケーションＡ１はまず、ローカルユーザー装置上で実行している対応する即時通信クライアントがあるか否かをチェックできる。ない場合、ソフトウェアアプリケーションＡ１は、対応する即時通信クライアントを自動的に開始できるか、または、対応する通信クライアントを手動で開始するようユーザーに通知するために、通知メッセージをユーザーに送信する。
【００３７】
Ｓ１０２：ソフトウェアアプリケーションＡ１からの通信要求を受信後、即時通信クライアントＢ１がソフトウェアアプリケーションＡ１を認証する。
【００３８】
セキュリティ目的のため、ソフトウェアアプリケーションＡ１からの通信要求を受信した後、即時通信クライアントＢ１はさらに、ソフトウェアアプリケーションＡ１が通信するために即時通信接続を使用するのを許可するか否かを判断できる。認証は、いくつかある方法のうちの１つで実装できる。例えば、即時通信クライアントＢ１は、確認のため、ユーザーに対して関連情報の入力を促すことができる。または、即時通信クライアントＢ１は、現在のユーザーの識別を確認するために、ソフトウェアアプリケーションＡ１に、対応する認証情報を提供するよう要求できる。認証情報は、即時メッセージングアカウントと同じユーザー名またはパスワードにできる。ソフトウェアアプリケーションＡ１は、対応する認証情報を、ステップＳ１０１で送信された通信要求内に直接含めることもできる。
【００３９】
このステップも互換性のチェックに使用できることを理解されたい。Ｓ１０１では、ソフトウェアアプリケーションＡ１が通信要求を即時通信クライアントＢ１に送信する場合、ソフトウェアアプリケーションＡ１は、即時通信クライアントＢ１がネットワーク機能を実施できることを実際に判断する。このステップで、即時通信クライアントＢ１は、ソフトウェアアプリケーションＡ１の通信をサポートできるか否かをさらに判断できる。例えば、即時通信クライアントＢ１は、エディション番号もしくは改訂番号をチェックすることにより、または特定のテストデータを送信することにより、判断することができる。このステップとＳ１０１の組み合わせは、ソフトウェアアプリケーションＡ１が、通信するために、即時通信クライアントＢ１との即時通信接続を正しく使用できることを確実にするため、ソフトウェアアプリケーションＡ１と即時通信クライアントＢ１との間にデュアル接続互換性チェックを実装することに相当する。
【００４０】
Ｓ１０３：即時通信クライアントＢ１が通信要求を、応答するソフトウェアアプリケーションＡ１に送信する。
【００４１】
このステップは任意選択である。ソフトウェアアプリケーションＡ１が即時通信クライアントＢ１の認証を通過すると、即時通信クライアントＢ１は、応答メッセージで認証が成功したことをソフトウェアアプリケーションＡ１に通知して、後続ステップの実行を継続できる。ソフトウェアアプリケーションＡ１が認証を通過しなければ、即時通信クライアントＢ１は、ソフトウェアアプリケーションＡ１の通信要求を拒絶し、応答メッセージを送信してソフトウェアアプリケーションＡ１に通知する。応答メッセージは、ユーザーの不正な識別またはソフトウェアエディションの非互換性など、拒絶理由をさらに含むことができる。
【００４２】
Ｓ１０４：即時通信クライアントＢ１が、リモート装置との即時通信接続が存在するか否かをチェックする。
【００４３】
ソフトウェアアプリケーションＡ１が認証を通過した後、即時通信クライアントＢ１は、ソフトウェアアプリケーションＡ１が通信するために即時通信接続を使用するのを許可する。後述のとおり、詳細な実施形態でのさらなる状況があり得る。
【００４４】
（１）ローカルユーザーが指定したユーザーと通信することを希望し、ローカルユーザー装置と指定したユーザーの装置との間に既に即時通信接続が存在している（２つの間のチャットなど）。この状況では、ソフトウェアアプリケーションＡ１は、他のリモート装置と通信するために、現在の即時通信接続を直接使用できる。それに応じて、他のリモート装置も、対応するスタンドアロン型ソフトウェアアプリケーション（ソフトウェアアプリケーションＡ２と呼ぶ）を開始できる。言い換えれば、ソフトウェアアプリケーションＡ１およびＡ２は、ローカルの即時通信クライアントＢ１によってリモートの即時通信クライアント（即時通信クライアントＢ２と呼ぶ）と確立された即時通信接続を介して、相互に通信する。相手側で、ソフトウェアアプリケーションＡ２および即時通信クライアントＢ２も、Ｓ１０２と同様の認証操作を実施できるが、これは、本明細書では簡略にするため繰り返さないことを理解されたい。
【００４５】
（２）ローカルユーザーが指定したユーザーと通信することを希望し、ローカルユーザー装置と指定したユーザーの装置との間に即時通信接続が存在していない。
【００４６】
（３）ローカルユーザーが、オンラインゲームで対戦相手をランダムに見つけるなど、ランダムに通信相手を見つけることを希望する。かかる状況では、ローカルユーザー装置とランダムに見つけた通信相手との間に即時通信接続がまだ存在していない。
【００４７】
実際の実施では、ソフトウェアアプリケーションＡ１は、通信のために、即時通信クライアントＢ１に相手方装置の識別を提供する必要がある。かかる識別は、特定の通信相手を表す識別（即時通信アカウントなど）、またはランダムに見つけた通信相手を表す識別にできる。かかる識別は、ソフトウェアアプリケーションＡ１によって即時通信クライアントＢ１に送信される通信要求に直接含めることができる。即時通信クライアントＢ１は、識別に従って、即時通信接続の現在の状態をチェックする。状況（１）の場合、ソフトウェアアプリケーションＡ１およびＡ２は、通信するために、現在の通信接続を使用することが許可される。（２）または（３）の場合、ステップ１０５が引き続き実行される。
【００４８】
Ｓ１０５：即時通信クライアントＢ１がリモート装置との即時通信接続を確立する。
【００４９】
ステップ１０４での状況（２）および（３）に関して、即時通信クライアントＢ１は、ソフトウェアアプリケーションＡ１によって提供された通信相手の装置の識別に従って、対応するリモート装置との即時通信接続を直ちに確立する必要がある。
【００５０】
一実施形態では、即時通信システムは、主に２つのプロトコル、すなわち、転送制御プロトコル（ＴＣＰ）およびユーザーデータグラムプロトコル（ＵＤＰ）に基づく。ＵＤＰは、接続を確立する必要がなく、ネットワークコストが低いが、データ送信の信頼性も低いという特徴を持つプロトコルである。ＴＣＰは、接続を確立するためのプロトコルであり、データ送信の信頼性が高い。本開示で提供する技術では、スタンドアロン型ソフトウェアアプリケーション間の通信は、データ送信の信頼性に対する要求が高い。従って、即時通信クライアント間に信頼できる（ＴＣＰ）接続を確立する必要がある。
【００５１】
即時通信クライアントＢ１はまず、リモート装置の識別を即時通信サーバーに送信する。即時通信サーバーは、特定タイプの識別に従って、対応するメッセージを即時通信クライアントＢ１に返す。
【００５２】
前述の状況（２）に対応して、即時通信サーバーは、ＩＰアドレス、ＴＣＰポート、および他の関連情報など、識別に対応するユーザー装置情報を、即時通信クライアントＢ１に直接返す。リモート装置は、即時通信システムでオンライン状態でなければならず、そうでない場合、即時通信接続は実施できないことを理解されたい。
【００５３】
前述の状況（３）に対応して、即時通信サーバーは、ＩＰアドレス、ＴＣＰポート、および他の関連情報など、オンラインユーザーのユーザー装置に対応するユーザー装置情報、またはローカルユーザーが通信相手を選択できるように、複数のオンラインユーザーのユーザー装置情報を、即時通信クライアントＢ１にランダムに返す。
【００５４】
サーバーによって返されたリモートユーザー装置の関連情報に従って、即時通信クライアントＢ１は、リモートユーザー装置の即時通信クライアントＢ２との即時通信接続の確立を開始する。
【００５５】
Ｓ１０６：即時通信クライアントＢ１が、ソフトウェアアプリケーションＡ１に、接続がうまく確立されたという応答メッセージを返す。
【００５６】
接続がうまく確立された後、即時通信クライアントＢ１は、ソフトウェアアプリケーションＡ１に接続が確立されたというメッセージを返す。かかるステップは任意選択である。その後、ソフトウェアアプリケーションＡ１およびＡ２は、相互に通信するために、即時通信クライアントＢ１およびＢ２によって確立された即時通信接続を使用できる。ソフトウェアアプリケーションの詳細なネットワーク機能およびネットワーク環境の要件ならびに他の要因に従って、通信用に、ポイントツーポイント接続が使用できるか、または即時通信サーバーが使用できる。本開示は、実装の詳細を限定しない。
【００５７】
第２例
第１実施形態の方法では、スタンドアロン型ソフトウェアアプリケーションが通信を開始する。実際のアプリケーションでは、より一般的な状況は、ユーザーは通信するために即時通信システムを使用している（すなわち、即時通信クライアントＢ１およびＢ２は既に即時通信接続を確立している）ということである。ローカルユーザーは、リモートユーザーとやり取りするために、特定のスタンドアロン型ソフトウェアアプリケーションを実行することを希望する。言い換えれば、通信プロセスの開始プログラム（ｉｎｉｔｉａｔｏｒ）は、ローカル装置上の即時通信クライアントＢ１である。この特定の状況に関して、本開示は、スタンドアロン型ソフトウェアアプリケーションの通信を実施するための別の方法を提供する。図２に示す方法について、後述する。
【００５８】
Ｓ２０１：即時通信クライアントＢ１が即時通信クライアントＢ２との即時通信接続を確立する。
【００５９】
この実施形態では、スタンドアロン型ソフトウェアアプリケーションを開始する前に、ローカルユーザー装置がまず、即時通信接続を確立する。
【００６０】
Ｓ２０２：即時通信クライアントＢ１が、ローカルユーザー装置でスタンドアロン型ソフトウェアアプリケーションＡ１を開始する。
【００６１】
ユーザーが特定のソフトウェアアプリケーションＡ１を実行したい場合、即時通信クライアントＢ１はソフトウェアアプリケーションＡ１を直接開始する。それは、ローカルの即時通信クライアントがソフトウェアアプリケーションＡ１に即時通信接続の使用を直接許可し、それにより認証ステップを省くことに等しい。
【００６２】
現行の技術では、即時通信クライアントによってソフトウェアアプリケーションを開始するために使用する２つの方法がある：すなわち、（１）チャットウィンドウとは別の独立したウィンドウを開き、その独立したウィンドウでソフトウェアを実行する、および（２）チャットウィンドウを拡張し、ソフトウェアアプリケーションを実行するためにそのチャットウィンドウに埋め込む。前述の方法（１）の欠点には、ソフトウェアアプリケーションとチャットウィンドウとの間の弱い組み合わせ、特異点の不足、およびソフトウェアアプリケーションがチャットウィンドウと共に移動するよう実施できないことを含む。それ故、ユーザーは、多くの場合、ソフトウェア機能をチャットウィンドウと知覚的に関連付けることができなかった。方法（２）の欠点は、ソフトウェアアプリケーションの使用中にはインタフェースが常に変更できず、柔軟性に欠けることである。
【００６３】
前述の問題点に関して、この実施形態は、即時通信クライアントでソフトウェアアプリケーションを開始するための方法を提供する：すなわち、即時通信クライアントＢ１が、現在の即時通信チャットウィンドウに基づき、拡張ウィンドウを作成し、その拡張ウィンドウでソフトウェアアプリケーションＡ１を開始する。かかる方法には、以下の利点がある：
【００６４】
（１）ソフトウェアアプリケーションＡ１の実行プロセスにおいて、異なる機能に対してインタフェースを変更するためにサイズを変更する必要がある場合、ソフトウェアアプリケーションＡ１は、即時通信クライアントＢ１によって管理される拡張ウィンドウに要求を送信することができる。拡張ウィンドウがソフトウェアアプリケーションＡ１からサイズを変更するための要求を受信すると、拡張ウィンドウは、ソフトウェアアプリケーションＡ１のインタフェース変更に適応するよう、そのサイズを直ちに調整する。拡張ウィンドウの自己調整されたサイズ変更の回数および頻度に制限はない。かかる調整は、ソフトウェアアプリケーションＡ１の要求に応じていつでも実行できる。
【００６５】
（２）複数のソフトウェアアプリケーションが同じ拡張ウィンドウ上にロードできる。かかるソフトウェアアプリケーションはネットワーク機能要件を持つソフトウェアアプリケーションを含み、スタンドアロン型ソフトウェアアプリケーションも含み得る。かかるソフトウェアアプリケーションは、相互に干渉することなく、並行して動作することができる。例えば、ソフトウェアアプリケーションＡ１が既に拡張ウィンドウ上で実行されているとき、ユーザーが拡張ウィンドウに基づいて別のソフトウェアアプリケーションＡ１１を開始すると、ソフトウェアアプリケーションＡ１１およびＡ１は、並行して動作できる。ユーザーは、拡張ウィンドウでのスイッチ装置により２つのソフトウェアアプリケーションの操作インタフェースを切り替えることができる。切り替え中、拡張ウィンドウは、ユーザーが使用している現在のソフトウェアアプリケーションのインタフェースサイズの変更に従って、常に、自己調整することができる。
【００６６】
即時通信クライアントは、異なる拡張ウィンドウで、ローカルユーザー装置上で複数のスタンドアロン型ソフトウェアアプリケーションを開始できることを理解されたい。本開示は、この点において制限しない。
【００６７】
（３）拡張ウィンドウは、チャットウィンドウと一緒に移動するか、または独立して移動することができる。拡張ウィンドウ上で既に実行中のソフトウェアアプリケーションがある状況では、ユーザーがチャットウィンドウの位置を移動させると、拡張ウィンドウは、同時にその位置を変えるために、チャットウィンドウに付着することができる。拡張ウィンドウとチャットウィンドウとの間の位置関係は変更されない。ユーザーが拡張ウィンドウをチャットウィンドウから離して動かすと、チャットウィンドウの位置の変更と拡張ウィンドウの位置の変更は、相互に独立し、相互に影響を及ぼさない。ユーザーは、拡張ウィンドウを、ユーザーの要望に応じて、画面上のどの位置へもドラッグすることができる。
【００６８】
Ｓ２０３：即時通信クライアントＢ１が、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を即時通信クライアントＢ２に送信する。
【００６９】
即時通信クライアントＢ１がソフトウェアアプリケーションＡ１を開始した後、即時通信クライアントＢ１は１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を、リモートユーザー装置上の即時通信クライアントＢ２に送信する。通信要求は、即時通信クライアントＢ２が、ソフトウェアアプリケーションＡ１に対応するか、またはそれと同一のソフトウェアアプリケーションを開始できるように、スタンドアロン型ソフトウェアアプリケーションの識別を含むこともできる。
【００７０】
このステップは、ユーザーによってトリガーされるか、または、即時通信クライアントＢ１によって自動的に実行され得る。このステップが即時通信クライアントＢ１によって自動的に実行される状況では、即時通信クライアントＢ１によって開始されるソフトウェアアプリケーションは、ネットワーク機能要件を持つソフトウェアアプリケーションまたは一般的なスタンドアロン型ソフトウェアアプリケーションにできるので、即時通信クライアントＢ１は、まず、ソフトウェアアプリケーションＡ１が、ネットワーク相互作用を介してユーザーにより使用される必要があるか否かをチェックできる。肯定の場合、即時通信クライアントＢ１は、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を即時通信クライアントＢ２に送信する。
【００７１】
Ｓ２０４：即時通信クライアントＢ２が１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を受信する。
【００７２】
１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求に含まれている１つまたは複数のスタンドアロン型ソフトウェアアプリケーションの識別に従って、即時通信クライアントＢ２がローカルユーザー装置上でスタンドアロン型ソフトウェアアプリケーションＡ２を開始する。ソフトウェアアプリケーションＡ２を開始するための操作は、即時通信クライアントＢ２によって自動的に実行できる。代替として、即時通信クライアントＢ２は、ユーザーに通知メッセージを送信することができ、ユーザーはソフトウェアアプリケーションＡ２を開始するか否かを判断する。即時通信クライアントＢ２がソフトウェアアプリケーションＡ２を開始する方法は、即時通信クライアントＢ１がソフトウェアアプリケーションＡ１を開始する方法と同じにできる。
【００７３】
このステップで、即時通信クライアントＢ２がローカル装置で対応するソフトウェアアプリケーションを検出しない場合、即時通信クライアントＢ２は、ユーザーにそのソフトウェアをダウンロードするように促すか、または即時通信クライアントＢ１によって送信された１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を拒絶することができる。
【００７４】
Ｓ２０５：ソフトウェアアプリケーションＡ２を開始した後、即時通信クライアントＢ２は、応答するために、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションのための通信要求を送信する。
【００７５】
今や、ソフトウェアアプリケーションＡ１およびＡ２は、通信するために、即時通信クライアントＢ１およびＢ２によって確立された即時通信接続を使用できる。
【００７６】
この実施形態では、通信相手との間に既に即時通信接続が存在する状況に関して、即時通信クライアントは、通信プロセス全体を開始する。第１実施形態と比較すると、通信の信頼性が損なわれていないという前提で、この実施形態では、認証などのステップおよび他のローカルの相互作用ステップを省く。他方、この実施形態は、より良いユーザー体験を実装するために、１つまたは複数のソフトウェアアプリケーションを拡張ウィンドウで開始するための方法も提供する。
【００７７】
第３例
第１実施形態に対応して、本開示は、ローカルユーザー装置およびリモートユーザー装置上でスタンドアロン型ソフトウェアアプリケーションの通信を実施するための装置も提供する。図３を参照すると、本装置は、後述する通り、いくつかの構成要素を含む。
【００７８】
接続確立ユニット３１０は、ローカルユーザー装置とリモートユーザー装置との間の即時通信接続を確立するように構成される。
【００７９】
要求受信ユニット３２０は、ローカルユーザー装置上のスタンドアロン型ソフトウェアアプリケーションＡ１によって送信された通信要求を受信するように構成される。
【００８０】
認証通信ユニット３３０は、ソフトウェアアプリケーションＡ１を認証するように構成される。ソフトウェアアプリケーションＡ１が認証を通過すると、認証通信ユニット３３０は、ソフトウェアアプリケーションＡ１が、リモートユーザー装置上のスタンドアロン型ソフトウェアアプリケーションＡ２と通信するために、即時通信接続を使用するのを許可する。スタンドアロン型ソフトウェアアプリケーションＡ１およびスタンドアロン型ソフトウェアアプリケーションＡ２は、同じソフトウェアアプリケーションでもよい。
【００８１】
第４例
第２実施形態に対応して、本開示は、ローカルユーザー装置およびリモートユーザー装置上でスタンドアロン型ソフトウェアアプリケーションの通信を実施するための別の装置も提供する。図４を参照すると、本装置は接続確立ユニット４１０、スタンドアロン型ソフトウェア開始ユニット４２０、要求送信ユニット４３０、および要求受信ユニット４４０を含む。
【００８２】
接続確立ユニット４１０は、ローカルユーザー装置とリモートユーザー装置との間の即時通信接続を確立するように構成される。スタンドアロン型ソフトウェア開始ユニット４２０は、ローカルユーザー装置上でスタンドアロン型ソフトウェアＡ１を開始するように構成され、要求送信ユニット４３０は、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションとの通信のための通信要求をリモートユーザー装置に送信するように構成される。１つまたは複数のスタンドアロン型ソフトウェアアプリケーションとの通信のための通信要求は、スタンドアロン型ソフトウェアアプリケーションＡ１の識別を含む。
【００８３】
要求受信ユニット４４０は、リモートユーザー装置上にインストールされた場合、１つまたは複数のスタンドアロン型ソフトウェアアプリケーションとの通信のための通信要求を受信するように構成される。スタンドアロン型ソフトウェア開始ユニット４２０は、リモートユーザー装置上にインストールされた場合、通信要求に含まれる第１スタンドアロン型ソフトウェアアプリケーションＡ１の識別に従い、リモートユーザー装置上でスタンドアロン型ソフトウェアアプリケーションＡ２を開始するように構成される。
【００８４】
スタンドアロン型ソフトウェアアプリケーションＡ１およびスタンドアロン型ソフトウェアアプリケーションＡ２は、通信するために、接続確立ユニット４１０によって確立された即時通信接続を使用する。
【００８５】
スタンドアロン型ソフトウェア開始ユニット４２０は、特に、即時通信用のチャットウィンドウの拡張ウィンドウを作成するように構成された拡張ウィンドウ作成サブユニット、およびその拡張ウィンドウで１つまたは複数のスタンドアロン型ソフトウェアアプリケーションを開始するように構成された開始サブユニットを含むことができる。
【００８６】
説明しやすくするために、前述の装置を、機能的に種々のユニットに分けて、別々に説明する。開示した装置を実施する際には、種々のユニットの機能は、１つまたは複数のインスタンスのソフトウェアおよび／またはハードウェアで実施され得る。
【００８７】
前述した例示的実施形態から、当業者は、開示した方法およびシステムがソフトウェアおよびユニバーサルハードウェアプラットフォームを使用して実施され得ることを明確に理解できる。この理解に基づき、本開示の技術的スキーム、または既存技術に寄与する部分は、例えば、ＲＯＭ／ＲＡＭ、フラッシュメモリ、ＥＥＲＯＭ、ＵＳＢメモリ装置、ハードドライブおよび光ディスクなどの、１つまたは複数の持続性コンピューター可読記憶媒体に格納されているコンピューター実行可能命令またはコードの形で実施され得る。実行される場合、コンピューター実行可能命令は、コンピューティング装置（例えば、パーソナルコンピューター、サーバー、またはネットワーク装置）が、本開示で説明した１つまたは複数の方法を実行することを許可する。
【００８８】
様々な例示的実施形態が本開示で徐々に説明される。例示的実施形態の同一または同様の部分は、相互に参照できる。各例示的実施形態は、他の例示的実施形態とは異なる点に集中している。特に、例示的装置の実施形態は、例示的方法との基本的な対応のために、比較的単純な方法で説明されている。その詳細は、例示的方法の関連部分を参照できる。前述の例示的装置の説明は、例示目的のみを意図するものである。本明細書で別個の構成要素として説明されたユニットは、物理的に分離され得るか、または分離できない。ユニットとして説明された構成要素は、物理ユニットである得るか、または物理ユニットではなく、例えば、１つの場所に配置し得るか、または複数のネットワーク装置に分散し得る。実際の必要性に応じて、例示的実施形態の目標は、モジュールの一部または全てを選択することにより達成され得る。当業者は、革新的な効果なしで、開示した実施形態を理解および実施できる。
【００８９】
本開示は、ユニバーサルコンピューターシステムまたは特殊コンピューターシステムの環境または構成で使用され得る。例には、パーソナルコンピューター、サーバーコンピューター、ハンドヘルド装置または携帯機器、タブレット装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットアップボックス、プログラム可能な顧客の電子機器、ネットワークＰＣ、小型コンピューター、大型コンピューター、および前述の任意のシステムまたは装置を含む分散コンピューティング環境を含む。
【００９０】
本開示は、プログラムモジュールなど、コンピューターによって実行されるコンピューター実行可能命令の一般的状況内で説明され得る。一般に、プログラムモジュールは、特定タスクの実行または特定の抽象データ型の実装のための、ルーチン、プログラム、オブジェクト、モジュール、およびデータ構造などを含む。開示した方法およびサーバーは、分散コンピューティング環境でも実施され得る。分散コンピューティング環境では、タスクは、通信ネットワークを介して接続されているリモート処理装置によって実行される。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートコンピューターの記憶媒体（記憶装置を含む）に配置され得る。
【００９１】
前述したのは、本開示の好ましい例示的実施形態のみである。しかし、本開示は本明細書に制限されない。当業者は、本開示の精神および範囲から逸脱することなく、本開示を多くの異なる方法で変更または改変できることを理解されたい。これらの変更および変形は、それ故、本開示の特許請求の範囲およびそれらの相当物の範囲に含まれると見なされる。
【図１】
2013510349.tif 000003
【図２】
2013510349.tif 000004
【図３】
2013510349.tif 000005
【図４】
2013510349.tif 000006
【国際調査報告】
2013510349.tif 000007