(57)【特許請求の範囲】
【請求項１】
電子機器を実現するコンピュータにスライディングウィンドウ管理方法を実行させるためのコンピュータプログラムであって、
前記スライディングウィンドウ管理方法は、
ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する段階、
前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成する段階、
前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階、および
ライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングする段階
を含み、
前記スライディングウィンドウ管理方法は、
前記仮想スライディングピースアレイにより特定されるピースのうち最新の予め設定された数の連続するピースを特定するためのライブスライディングウィンドウを生成する段階、および
前記ライブスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階
をさらに含む、コンピュータプログラム。
【請求項２】
前記ライブスライディングウィンドウを通じて特定されてダウンロードされたピースは、前記ストリーミングスライディングウィンドウを通じて特定されてダウンロードされたピースが前記プレイヤにストリームデータをストリーミングするために利用されることとは関係なく、前記ライブストリームデータの最新データを共有するために前記電子機器が含むキャッシュ格納場所に格納されるか、またはネットワークを介して他の電子機器に送信される、請求項１に記載のコンピュータプログラム。
【請求項３】
前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階は、
前記ストリーミングスライディングウィンドウと前記ライブスライディングウィンドウとが互いに重複する場合、前記ライブスライディングウィンドウを通じて特定されて前記電子機器のキャッシュ格納場所に格納されたピースを再活用する、請求項２に記載のコンピュータプログラム。
【請求項４】
前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階は、
前記電子機器が含むキャッシュ格納場所、Ｐ２Ｐ方式によって接続する他の電子機器、および前記ライブストリームデータのピースを提供するデリバリサーバのうち少なくとも１つから前記特定されるピースをダウンロードし、
前記キャッシュ格納場所、前記他の電子機器、および前記デリバリサーバの順序による優先順位で前記ピースのダウンロードが試される、請求項１に記載のコンピュータプログラム。
【請求項５】
前記ライブストリームデータに対して要求された再生位置は、前記ストリーミングクライアントと前記プレイヤとの間で設定されたタイムマシン制御セッションを通じて前記プレイヤから前記ストリーミングクライアントに送信され、
前記のストリーミングされるストリームデータは、前記ストリーミングクライアントと前記プレイヤとの間で設定されたストリーミングセッションを通じて前記ストリーミングクライアントから前記プレイヤに送信される、請求項１に記載のコンピュータプログラム。
【請求項６】
前記ストリーミングセッションを通じた前記ストリーミングクライアントと前記プレイヤとの間のデータ送信と、前記タイムマシン制御セッションを通じた前記ストリーミングクライアントと前記プレイヤとの間のデータ送信は、互いに異なる別のプロトコルによってそれぞれ行われる、請求項５に記載のコンピュータプログラム。
【請求項７】
コンピュータによって実現された電子機器のスライディングウィンドウ管理方法であって、
ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する段階、
前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成する段階、
前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階、および
ライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングする段階
を含み、
前記仮想スライディングピースアレイにより特定されるピースのうち最新の予め設定された数の連続するピースを特定するためのライブスライディングウィンドウを生成する段階、および
前記ライブスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階
をさらに含む、スライディングウィンドウ管理方法。
【請求項８】
前記ライブスライディングウィンドウを通じて特定されてダウンロードされたピースは、前記ストリーミングスライディングウィンドウを通じて特定されてダウンロードされたピースが前記プレイヤにストリームデータをストリーミングするために利用されることとは関係なく、前記ライブストリームデータの最新データを共有するために前記電子機器が含むキャッシュ格納場所に格納されるか、またはネットワークを介して他の電子機器に送信される、請求項７に記載のスライディングウィンドウ管理方法。
【請求項９】
前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階は、
前記ストリーミングスライディングウィンドウと前記ライブスライディングウィンドウとが互いに重複する場合、前記ライブスライディングウィンドウを通じて特定されて前記電子機器のキャッシュ格納場所に格納されたピースを再活用する、請求項８に記載のスライディングウィンドウ管理方法。
【請求項１０】
前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階は、
前記電子機器が含むキャッシュ格納場所、Ｐ２Ｐ方式によって接続する他の電子機器、および前記ライブストリームデータのピースを提供するデリバリサーバのうち少なくとも１つから前記特定されるピースをダウンロードし、
前記キャッシュ格納場所、前記他の電子機器、および前記デリバリサーバの順序による優先順位で前記ピースのダウンロードが試される、請求項７に記載のスライディングウィンドウ管理方法。
【請求項１１】
コンピュータによって実現された電子機器のスライディングウィンドウ管理システムであって、
前記コンピュータで読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する仮想スライディングピースアレイ生成部、
前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成するストリーミングスライディングウィンドウ生成部、
前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードするように前記電子機器を制御するピースダウンロード制御部、および
ライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングするストリーミング処理部
を備え、
前記少なくとも１つのプロセッサは、
前記仮想スライディングピースアレイにより特定されるピースのうち最新の予め設定された数の連続するピースを特定するためのライブスライディングウィンドウを生成するライブスライディングウィンドウ生成部
をさらに備え、
前記ピースダウンロード制御部は、
前記ライブスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードするように前記電子機器を制御する、スライディングウィンドウ管理システム。
【請求項１２】
前記ライブスライディングウィンドウを通じて特定されてダウンロードされたピースは、前記ストリーミングスライディングウィンドウを通じて特定されてダウンロードされたピースが前記プレイヤにストリームデータをストリーミングするために利用されることとは関係なく、前記ライブストリームデータの最新データを共有するために前記電子機器が含むキャッシュ格納場所に格納されるか、またはネットワークを介して他の電子機器に送信される、請求項１１に記載のスライディングウィンドウ管理システム。
【請求項１３】
前記ピースダウンロード制御部は、
前記電子機器が含むキャッシュ格納場所、Ｐ２Ｐ方式によって接続する他の電子機器、および前記ライブストリームデータのピースを提供するデリバリサーバのうち少なくとも１つから前記特定されるピースをダウンロードし、
前記キャッシュ格納場所、前記他の電子機器、および前記デリバリサーバの順序による優先順位で前記ピースのダウンロードが試される、請求項１１に記載のスライディングウィンドウ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
下記の説明は、タイムマシン機能のためのスライディングウィンドウ管理方法およびシステムに関する。
【背景技術】
【０００２】
ライブで提供される映像コンテンツ（一例として、放送プログラム）に対するタイムマシン機能とは、ライブ映像の少なくとも一部を一定時間が経過した後にユーザが任意で視聴できるようにする機能であって、ライブ映像を格納しておき、格納されたライブ映像を再生する方式によって提供される。例えば、特許文献１は、タイムマシン機能を備えた映像表示機器およびその制御方法を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】韓国登録特許第１０−１３００８８２号公報
【特許文献２】国際公開第２０１５／０６５００１号
【特許文献３】米国特許出願公開第２０１４／００１９５４０号明細書
【特許文献４】米国特許出願公開第２０１３／０３３２５４３号明細書
【特許文献５】米国特許出願公開第２０１３／０２６０８９３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ストリーミングスライディングウィンドウ（ｓｔｅａｍｉｎｇ  ｓｌｉｄｉｎｇ  ｗｉｎｄｏｗ）を利用することにより、タイムマシン機能によって特定される再生位置のピース（ｐｉｅｃｅ）をダウンロードできるように管理することができる方法およびシステムを提供する。
【課題を解決するための手段】
【０００５】
電子機器を実現するコンピュータにスライディングウィンドウ管理方法を実行させるためのコンピュータプログラムであって、前記スライディングウィンドウ管理方法は、ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイ（ｖｉｒｔｕａｌ  ｓｌｉｄｉｎｇ  ｐｉｅｃｅ  ａｒｒａｙ）を生成する段階、前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成する段階、前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階、およびライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングする段階を含む、コンピュータプログラムを提供する。
【０００６】
コンピュータによって実現された電子機器のスライディングウィンドウ管理方法であって、ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する段階、前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成する段階、前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードする段階、およびライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングする段階を含む、スライディングウィンドウ管理方法を提供する。
【０００７】
コンピュータによって実現された電子機器のスライディングウィンドウ管理システムであって、前記コンピュータで読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成する仮想スライディングピースアレイ生成部、前記仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成するストリーミングスライディングウィンドウ生成部、前記ライブストリームデータに対して要求された再生位置のピースインデックスに前記ストリーミングスライディングウィンドウを移動させ、前記ストリーミングスライディングウィンドウを通じて前記仮想スライディングピースアレイにより特定されるピースをダウンロードするように前記電子機器を制御するピースダウンロード制御部、およびライブストリーミングサービスを提供するために前記電子機器にインストールされたストリーミングクライアントで、前記のダウンロードされたピースを利用して前記電子機器にインストールされたプレイヤにストリームデータをストリーミングするストリーミング処理部を備える、スライディングウィンドウ管理システムを提供する。
【発明の効果】
【０００８】
ストリーミングスライディングウィンドウを利用することにより、タイムマシン機能によって特定される再生位置のピースをダウンロードできるように管理することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、ライブストリーミングサービスのための全体システム環境の例を示した図である。
【図４】本発明の一実施形態における、ストリーミングのためのデータ要求優先順位を示した図である。
【図５】本発明の一実施形態における、スライディングウィンドウを説明するための図である。
【図６】本発明の一実施形態における、探索のためのスライディングウィンドウの移動を説明するための図である。
【図７】本発明の一実施形態における、デュアルスライディングウィンドウを説明するための図である。
【図８】本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示した図である。
【図９】本発明の一実施形態における、電子機器が実行することのできるスライディングウィンドウ管理方法の例を示したフローチャートである。
【発明を実施するための形態】
【００１０】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００１１】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００１２】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノート型パンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレットＰＣなどがある。一例として、電子機器１（１１０）は、無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信してよい。
【００１３】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでもよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的（ｈｉｅｒａｒｃｈｉｃａｌ）ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これに限定されることはない。
【００１４】
サーバ１５０、１６０それぞれは、電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する１つ以上のコンピュータ装置によって実現されてよい。
【００１５】
一例として、サーバ１６０は、ネットワーク１７０を介して接続した電子機器１（１１０）にアプリケーションのインストールのためのファイルを提供してよい。この場合、電子機器１（１１０）は、サーバ１６０から提供されたファイルを利用してアプリケーションをインストールしてよい。また、電子機器１（１１０）が含むオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：ＯＳ）および少なくとも１つのプログラム（一例として、ブラウザやインストールされたアプリケーション）の制御にしたがってサーバ１５０に接続し、サーバ１５０が提供するサービスやコンテンツの提供を受けてよい。例えば、電子機器１（１１０）が、アプリケーションの制御にしたがってネットワーク１７０を介してサービス要求メッセージをサーバ１５０に送信すると、サーバ１５０は、サービス要求メッセージに対応するコードを電子機器１（１１０）に送信してよく、電子機器１（１１０）は、アプリケーションの制御にしたがってコードに基づく画面を構成して表示することにより、ユーザにコンテンツを提供してよい。他の例として、サーバ１５０は、メッセージングサービスのための通信セッションを設定し、設定された通信セッションを通じて複数の電子機器１１０、１２０、１３０、１４０間のメッセージ送受信をルーティングしてもよい。さらに他の例として、サーバ１５０は、電子機器１１０、１２０、１３０、１４０にソーシャルネットワークサービスを提供してもよい。さらに他の例として、サーバ１５０、１６０は、複数の電子機器１１０、１２０、１３０、１４０にライブストリーミングサービスを提供してもよい。
【００１６】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、１つの電子機器に対する例として電子機器１（１１０）の内部構成を、１つのサーバに対する例としてサーバ１５０の内部構成を説明する。他の電子機器１２０、１３０、１４０やサーバ１６０だけでなく、図１を参照しながら説明したネットワーク環境に含まれ得るさらに他の電子機器やさらに他のサーバにも、同一または類似の内部構成要素が適用されてもよい。
【００１７】
電子機器１（１１０）とサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電気機器１（１１０）にインストールされ駆動するブラウザや上述したアプリケーションなどのためのコード）が格納されてよい。このようなソフトウェア構成要素は、ドライブメカニズム（ｄｒｉｖｅ  ｍｅｃｈａｎｉｓｍ）を利用してメモリ２１１、２２１とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール２１３、２２３を利用してメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム（一例として、上述したサーバ１６０）がネットワーク１７０を介して提供するファイルによってインストールされるプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてもよい。
【００１８】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【００１９】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１（１１０）とサーバ１５０とが互いに通信するための機能を提供してもよいし、他の電子機器（一例として、電子機器２（１２０））または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１（１１０）のプロセッサ２１２がメモリ２１１のような記録装置に格納されたプログラムコードにしたがって生成した要求（一例として、コンテンツに対するストリーミングサービス要求）が、通信モジュール２１３の制御にしたがってネットワーク１７０を介してサーバ１５０に伝達されてもよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１（１１０）の通信モジュール２１３を通じて電子機器１（１１０）に受信されてもよい。例えば、通信モジュール２１３を通じて受信されたサーバ１５０の制御信号や命令などは、プロセッサ２１２やメモリ２１１に伝達されてもよく、コンテンツやファイルなどは、電子機器１（１１０）がさらに含むことのできる格納媒体に格納されてもよい。
【００２０】
入力／出力インタフェース２１４、２２４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、また出力装置は、アプリケーションの通信セッションを表示するためのディスプレイのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。より具体的な例として、電子機器１（１１０）のプロセッサ２１２は、メモリ２１１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や電子機器２（１２０）が提供するデータを利用して構成されるサービス画面２１５やコンテンツが、入力／出力インタフェース２１４を通じてディスプレイに表示されてもよい。
【００２１】
また、他の実施形態において、電子機器１（１１０）およびサーバ１５０は、図２の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器１（１１０）は、上述した入力／出力装置２１５のうち少なくとも一部を含むように実現されてもよいし、トランシーバ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【００２２】
図３は、本発明の一実施形態における、ライブストリーミングサービスのための全体システム環境の例を示した図である。図３は、メディアストリーミングサーバ３１０、パケット化サーバ３２０、デリバリサーバ３３０、インデックスサーバ３４０、電子機器３５０、および複数のピア３６０を示している。
【００２３】
メディアストリーミングサーバ３１０、パケット化サーバ３２０、デリバリサーバ３３０、およびインデックスサーバ３４０それぞれは、図１および図２を参照しながら説明したサーバ１５０と同一または類似の内部構成要素を備える装置であってよい。また、複数のピア３６０それぞれと電子機器３５０は、図１および図２を参照しながら説明した電子機器１（１１０）と同一または類似の内部構成要素を備える装置であってよい。図３では、メディアストリーミングサーバ３１０、パケット化サーバ３２０、デリバリサーバ３３０、およびインデックスサーバ３４０をそれぞれ１つずつ示しているが、それぞれ複数のサーバグループの形態で実現されてもよい。例えば、プロ野球の試合を生放送するにあたり４つの試合が行われる場合、４つの試合に対して４つのメディアソースのための４つのメディアストリーミングサーバのグループが存在してもよく、それぞれのメディアソースのために４つのパケット化サーバのグループが存在してもよい。これと同様に、デリバリサーバ３３０およびインデックスサーバ３４０も、必要に応じて複数のサーバグループで実現されてもよい。例えば、デリバリサーバ３３０およびインデックスサーバ３４０は、同時接続者数のような性能イシューによって求められるサーバの数が決められてもよい。
【００２４】
メディアストリーミングサーバ３１０は、ライブストリームデータを提供するエンコーダ（図示せず）を含むメディアソース装置であってよい。パケット化サーバ３２０は、このようなメディアストリーミングサーバ３１０からライブストリームデータを受信してよく、受信したライブストリームデータをＰ２Ｐサービスで提供するために、受信したライブストリームデータをピースにパケット化（またはインデクシング）してよい。ストリームデータをピースにパケット化（またはインデクシング）する方法は、周知の多様な方法のうちの１つを利用してよい。
【００２５】
デリバリサーバ３３０は、パケット化サーバ３２０からパケット化された（またはインデクシングされた）ピースを受信し、これをバッファリングしてよく、Ｐ２Ｐサービスのピア（ｐｅｅｒ）からの要求に応じ、要求されたライブストリームデータに対するピースを該当のピアに送信してよい。ここで、ピアとは、Ｐ２Ｐサービスを利用するライブストリーミングサービスのクライアントを意味してよく、それぞれ１つの電子機器で実現されてよい。ピアを実現する電子機器は、図３に示す電子機器３５０を含み、上述したように図１および図２を参照しながら説明した電子機器１（１１０）と同一または類似の内部構成要素を備える装置であってよい。
【００２６】
インデックスサーバ３４０は、ピアのリストを保持し、ピアの要求に応じた検索結果を提供してよい。
【００２７】
ピアを実現する電子機器３５０では、ストリーミングクライアント３５１のようなアプリケーションがインストールおよび駆動されてよい。ここで、電子機器３５０は、駆動するストリーミングクライアント３５１の制御にしたがい、デリバリサーバ３３０からピースを受信してもよいし、他のピア（図３の複数のピア３６０）を実現する他の電子機器からピースを受信してもよい。
【００２８】
また、電子機器３５０で駆動するストリーミングクライアント３５１は、電子機器３５０でインストールおよび駆動される他のアプリケーションであるプレイヤ３５２と電子機器３５０で内部的に通信し、プレイヤ３５２にライブストリームデータを送信してよい。ここで、ストリーミングクライアント３５１がプレイヤ３５２に提供するライブストリームデータは、デリバリサーバ３３０または複数のピア３６０の少なくとも一部から受信したピースに基づいて組み合わされたデータであってよい。
【００２９】
この場合、プレイヤ３５２は、ストリーミングクライアント３５１が提供するライブストリームデータを再生してよく、これにより、メディアストリーミングサーバ３１０が提供するライブストリームデータが電子機器３５０で再生され、電子機器３５０のユーザに提供されてよい。
【００３０】
ピアを実現する電子機器（一例として、図３の電子機器３５０）でインストールおよび駆動されるストリーミングクライアント（一例として、図３のストリーミングクライアント３５１）は、電子機器のユーザにライブストリームデータに対するタイムマシン機能を提供してよい。上述したように、従来技術では、各ストリーミングプロトコル別にタイムマシン機能のための制御セッションを実現しなければならなかったのに対し、本発明の実施形態では、タイムマシン制御プロトコルがタイムマシン機能を制御する役割だけを担い、ストリーミングクライアントとプレイヤとの間のストリーミングプロトコル（例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のフラッシュプレイヤは、ストリーミングプロトコルとしてＲＴＭＰ（ＲｅａｌＴｉｍｅ  Ｍｅｓｓａｇｉｎｇ  Ｐｒｏｔｏｃｏｌ）を使用し、ｉＯＳ（登録商標）やアンドロイド（登録商標）のプレイヤは、ストリーミングプロトコルとしてＨＬＳ（ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ）プロトコルを使用する）は、プレイヤがサポートするストリーミング規格をそのまま利用できるように実現することができる。このような実施形態により、ＯＳやプレイヤに関係なく、同じ規格を利用してタイムマシン機能を制御することができるため、ストリーミングクライアントのプレイヤに対する依存性を除去することができる。プレイヤでタイムマシン制御プロトコルがサポートされない場合、ユーザは、プレイヤを利用しながら、既存のプレイヤが使用しているストリーミングプロトコルを利用してライブ映像だけを視聴することができる。
【００３１】
図４は、本発明の一実施形態における、ストリーミングのためのデータ要求優先順位を示した図である。図４では、図３を参照しながら説明したデリバリサーバ３３０、ストリーミングクライアント３５１、プレイヤ３５２、複数のピア３６０を示しており、ピアがストリーミングクライアント３５１とプレイヤ３５２とを共にさらに含むことができるキャッシュ４１０をさらに含んでいる。
【００３２】
ライブストリームデータは、生放送の特性上、複数のピア３６０からＰ２Ｐ方式で提供されるデータやデリバリサーバ３３０から提供されるデータをストリーミングクライアント３５１が受信してプレイヤ３５２に伝達し、プレイヤ３５２で再生して処理するだけで、データを格納する必要性が低い。しかし、生放送に対するタイムマシン機能を提供することによって過去データをまた再生しなければならない必要性が存在するため、ストリーミングクライアント３５１は、ピアがメモリの他に、キャッシュ４１０のような別の格納場所に一定量の過去データを格納するようにピアを制御してよい。
【００３３】
したがって、タイムマシン機能を提供する場合、ストリーミングクライアント３５１は、最初にキャッシュ４１０のような格納場所からストリーミングのためのデータの提供を受けてよい。キャッシュ４１０に存在しないデータは、複数のピア３６０からＰ２Ｐ方式によって提供されてよく、複数のピア３６０から提供を受けることのできないデータは、デリバリサーバ３３０から提供を受けてよい。
【００３４】
図５は、本発明の一実施形態における、スライディングウィンドウを説明するための図である。ライブストリームデータに対するタイムマシン機能の提供のために、ライブストリームデータのピースは、図５に示された仮想スライディングピースアレイ５１０のように管理されてよい。仮想スライディングピースアレイ５１０とは、実際のピースのアレイを意味するのではなく、実質的には時間の順序にしたがって特定時間のピースを特定することができるように管理されるデータであってよい。例えば、電子機器１（１１０）は、ストリーミングクライアント３５１の制御に応じて、受信したピースを、時間の順序にしたがって仮想スライディングピースアレイ５１０のように管理してよい。例えば、仮想スライディングピースアレイ５１０において、「Ｌｉｖｅ」側のピースであるほど最新データであってよく、「Ｌｉｖｅ−タイムマシン可能時間」側のピースであるほど過去データであってよい。ここで、タイムマシン可能時間は、最新のデータ（ピース）を基準としてどのくらい過去のデータを再生できるかを示す指標であって、ミリ秒（ｍｓｅｃ）のような時間の単位で示されてよい。「Ｌｉｖｅ」に該当する時間を「０」とし、タイムマシン可能時間を５分（３０００００ミリ秒）とするとき、「Ｌｉｖｅ−タイムマシン可能時間」は、最新データを基準として５分前のデータまで戻って見ることができるということを示す。
【００３５】
また、ストリーミングクライアント３５１は、キャッシュマネージャ５２０を含んでよく、キャッシュマネージャ５２０を利用してメモリ２１１やローカルディスク５３０に格納された実際のピースを管理してよい。一例として、メモリ２１１に格納されたピースは、複数のピア３６０やデリバリサーバ３３０から受信したピースであってよく、ローカルディスク５３０に格納されたピースは、ライブストリーミングのためにプレイヤ３５２へのストリーミングが完了した過去データとしてのピースであってよい。言い換えれば、ストリーミングクライアント３５１は、メモリ２１１に格納されたピースを利用して生放送映像をプレイヤ３５２にストリーミングした後、使用済みのピースをタイムマシン機能の使用のためにローカルディスク５３０に格納してよい。この場合、ローカルディスク５３０は、図４のキャッシュ４１０に対応してよい。
【００３６】
ここで、ストリーミングスライディングウィンドウ５４０は、プレイヤ３５２に送信されなければならないピースを特定するために利用されてよい。例えば、ストリーミングクライアント３５１は、現在ストリーミングスライディングウィンドウ５４０を利用して仮想スライディングピースアレイ５１０により特定される複数のピースをキャッシュ４１０、複数のピア３６０、またはデリバリサーバ３３０を通じてダウンロードしてプレイヤ３５２に送信し、キャッシュ４１０に格納してよい。このとき、ピースは、ストリーミングクライアント３５１とプレイヤ３５２との間で利用されるストリーミングプロトコルにしたがってストリーミング方式でプレイヤ３５２に送信されてよい。
【００３７】
図６は、本発明の一実施形態における、探索のためのスライディングウィンドウの移動を説明するための図である。図６は、ストリーミングスライディングウィンドウ５４０が移動した例を示している。例えば、プレイヤ３５２からのタイムマシン機能に対する要求に応じ、ストリーミングクライアント３５１は、過去データをプレイヤ３５２に送信してよい。このとき、プレイヤ３５２は、過去に移動する値（一例として、ミリ秒単位の値）を、要求と共にストリーミングクライアント３５１に伝達してよい。
【００３８】
一例として、プレイヤ３５２からの要求と共に伝達された値が３分（１８００００ミリ秒）であると仮定する。この場合、ストリーミングクライアント３５１は、ストリーミングスライディングウィンドウ５４０により現在特定される位置から３分だけ過去の位置にストリーミングスライディングウィンドウ５４０を移動させてよい。図６は、ストリーミングスライディングウィンドウ５４０が探索アドレス（ｓｅｅｋ  ｏｆｆｓｅｔ）に移動した例を示している。例えば、ストリーミングクライアント３５１は、要求された３分（１８００００ミリ秒）を利用して対応するピースインデックス（ｐｉｅｃｅ  ｉｎｄｅｘ）を計算してよく、計算されたピースインデックスの位置にストリーミングスライディングウィンドウ５４０を移動させてよい。
【００３９】
このとき、ストリーミングクライアント３５１は、移動したストリーミングスライディングウィンドウ５４０により特定されるピースを、仮想スライディングピースアレイ５１０で特定し、特定したピースをキャッシュ４１０、複数のピア３６０、またはデリバリサーバ３３０を通じてダウンロードしてプレイヤ３５２に送信してよい。
【００４０】
図７は、本発明の一実施形態における、デュアルスライディングウィンドウを説明するための図である。図７は、ストリーミングスライディングウィンドウ５４０の他に、ライブスライディングウィンドウ（ｌｉｖｅ  ｓｌｉｄｉｎｇ  ｗｉｎｄｏｗ）７１０をさらに示している。ライブスライディングウィンドウ７１０は、移動せずに最新ライブ映像をストリーミングするための領域７２０に固定されて位置し、ライブ映像のためのピースのダウンロードと共有を担ってよい。
【００４１】
Ｐ２Ｐサービスでは、同じピースをより多くのピアが保有しているほど、該当のピースに対する共有率が高くなる。共有率が高いということは、該当のピースを持たないピアが、Ｐ２Ｐサービスにおいて他のピアを通じて該当のピースをより容易に得ることができるということを意味する。したがって、タイムマシン機能を使用するユーザが多くなるほど、最新データを保有しているピアの数が減るため、複数のピア３６０間のライブ映像に対するピースの共有率は低下するようになる。
【００４２】
本実施形態では、ユーザがタイムマシン機能を利用した場合でも全体共有率に及ぼす影響を最小化するために、ライブスライディングウィンドウ７１０を利用することができる。上述したように、ライブスライディングウィンドウ７１０は、最新ライブ映像をストリーミングするための領域７２０に固定されて位置し、ライブ映像のためのピースのダウンロードと共有を担ってよい。このようなライブスライディングウィンドウ７１０は、プレイヤ３５２にデータをストリーミングすることとは関係なく、最新データを共有するためだけに動作してよい。ここで、ライブスライディングウィンドウ７１０を通じてダウンロードされるピースは、ピースを共有するためにダウンロードされるものに過ぎず、プレイヤ３５２へのストリーミングとは関係ないため、積極的にピースをダウンロードする必要性は低い。したがって、ストリーミングクライアント３５２は、ライブスライディングウィンドウ７１０を通じて特定されるピースだけを他のピア（複数のピア３６０）からダウンロードして格納および共有してよい。
【００４３】
また、ユーザがタイムマシン機能を利用している途中に再びライブ映像を見ようとする場合、ストリーミングスライディングウィンドウは、ライブ映像をストリーミングするための領域７２０側に移動するようになる。このとき、ライブスライディングウィンドウ７１０を利用して最新データが予めダウンロードされているため、ストリーミングクライアント３５２は、最新ライブ映像のためのピースをより迅速にプレイヤ３５２に提供することができるようになる。
【００４４】
図８は、本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示した図であり、図９は、本発明の一実施形態における、電子機器が実行することのできるスライディングウィンドウ管理方法の例を示したフローチャートである。
【００４５】
図８に示すように、電子機器１（１１０）のプロセッサ２１２は、構成要素として、仮想スライディングピースアレイ生成部８１０、ストリーミングスライディングウィンドウ生成部８２０、ピースダウンロード制御部８３０、ストリーミング処理部８４０、およびライブスライディングウィンドウ生成部８５０を備えてよい。このようなプロセッサ２１２およびプロセッサ２１２の構成要素は、図９のスライディングウィンドウ管理方法に含まれる段階９１０〜９６０を実行するように電子機器１（１１０）を制御してよい。ここで、プロセッサ２１２およびプロセッサ２１２の構成要素は、メモリ２１１に含まれるオペレーティングシステムのコードと少なくとも１つのプログラムのコードとによる命令を実行するように実現されてよい。ここで、プロセッサ２１２の構成要素は、プロセッサ２１２によって実行される互いに異なる機能（ｄｉｆｆｅｒｅｎｔ  ｆｕｎｃｔｉｏｎｓ）の表現であってよい。例えば、プロセッサ２１２が上述した命令にしたがってピースをダウンロードするように電子機器１（１１０）を制御する動作の機能的表現としてピースダウンロード制御部８３０が使用されてよい。
【００４６】
段階９１０で、プロセッサ２１２は、スライディングウィンドウ管理方法のためのプログラムのファイルに格納されたプログラムコードをメモリ２１１にロードしてよい。例えば、電子機器１（１１０）にインストールされたプログラムが駆動される場合、プロセッサ２１２は、プログラムのファイルからプログラムコードをメモリ２１１にロードするように電子機器１（１１０）を制御してよい。例えば、上述したプログラムは、ストリーミングクライアント３５２のためのアプリケーションであってよい。
【００４７】
ここで、プロセッサ２１２およびプロセッサ２１２が備える仮想スライディングピースアレイ生成部８１０、ストリーミングスライディングウィンドウ生成部８２０、ピースダウンロード制御部８３０、ストリーミング処理部８４０、およびライブスライディングウィンドウ生成部８５０それぞれは、メモリ２１１にロードされたプログラムコードのうち対応する部分（対応する命令）を実行して以後の段階９２０〜段階９６０を実行してよい。段階９２０〜段階９６０の実行のために、プロセッサ２１２およびプロセッサ２１２の構成要素は、電子機器１（１１０）を制御してよい。例えば、プロセッサ２１２は、電子機器１（１１０）が含む通信モジュール２１３を制御して電子機器１（１１０）が他の電子機器やサーバ（一例として、サーバ１５０）と通信するように電子機器１（１１０）を制御してよい。
【００４８】
段階９２０で、仮想スライディングピースアレイ生成部８１０は、ライブストリームデータの最新時点からタイムマシン機能の提供のために予め設定されたタイムマシン可能時間以前の過去時点までのピースを特定するための情報を含む仮想スライディングピースアレイを生成してよい。仮想スライディングピースアレイは、図５〜図７を参照しながら説明したように、時点別ピースを特定するためのデータであって、時間や時点によって区分される再生位置とピースを互いにマッチングして格納するデータ構造で実現されてよい。他の例として、仮想スライディングピースアレイは、時間とピースをマッチングして格納するデータ構造であって、特定の再生位置に対応する時間を計算して該当の時間によるピースを特定することができるデータ構造で実現されてもよい。
【００４９】
段階９３０で、ストリーミングスライディングウィンドウ生成部８２０は、仮想スライディングピースアレイにより特定されるピースのうち予め設定された数の連続するピースを特定するためのストリーミングスライディングウィンドウを生成してよい。例えば、ストリーミングスライディングウィンドウの１番目のインデックスが、仮想スライディングピースアレイの対応するピースを特定してよい。また、ストリーミングスライディングウィンドウの連続するインデックスが、仮想スライディングピースアレイの対応する連続するピースを特定してよい。
【００５０】
段階９４０で、ピースダウンロード制御部８３０は、ライブストリームデータに対して要求された再生位置のピースインデックスにストリーミングスライディングウィンドウを移動させ、ストリーミングスライディングウィンドウを通じて仮想スライディングピースアレイにより特定されるピースをダウンロードするように電子機器１（１１０）を制御してよい。ここで、ピースダウンロード制御部８３０は、電子機器１（１１０）が含むキャッシュ格納場所、Ｐ２Ｐ方式によって接続する他の電子機器（一例として、電子機器２（１２０））、およびライブストリームデータのピースを提供するデリバリサーバ３３０のうち少なくとも１つから特定されるピースをダウンロードしてよい。上述したように、キャッシュ格納場所、他の電子機器、およびデリバリサーバ３３０の順序による優先順位でピースのダウンロードが試されてよい。
【００５１】
段階９５０で、ストリーミング処理部８４０は、ライブストリーミングサービスを提供するために電子機器１（１１０）にインストールされたストリーミングクライアントで、ダウンロードされたピースを利用して電子機器１（１１０）にインストールされたプレイヤにストリームデータをストリーミングしてよい。
【００５２】
段階９６０で、ライブスライディングウィンドウ生成部８５０は、仮想スライディングピースアレイにより特定されるピースのうち最新の予め設定された数の連続するピースを特定するためのライブスライディングウィンドウを生成してよい。ここで、段階９６０は、他の実施形態では、段階９２０以後のどこで実行されてもよい。一例として、段階９６０は、段階９３０で生成されるストリーミングスライディングウィンドウと共に、ライブスライディングウィンドウを生成するために段階９３０と共に実行されてもよい。
【００５３】
ここで、スライディングウィンドウ管理方法は、ライブスライディングウィンドウを通じて仮想スライディングピースアレイにより特定されるピースをダウンロードする段階（図示せず）をさらに含んでもよい。上述したピースダウンロード制御部８３０が、このように図示されていない段階を実行してもよい。
【００５４】
上述したように、ライブスライディングウィンドウを通じて特定されてダウンロードされたピースは、ストリーミングスライディングウィンドウを通じて特定されてダウンロードされたピースがプレイヤでストリームデータをストリーミングするために利用されることとは関係なく、ライブストリームデータの最新データを共有するために電子機器１（１１０）が含むキャッシュ格納場所に格納されてもよいし、ネットワークを介して他の電子機器（一例として、複数のピア３６０のうち少なくとも１つのピア）に送信されてもよい。
【００５５】
ここで、段階９４０で、ピースダウンロード制御部８３０は、ストリーミングスライディングウィンドウと前記ライブスライディングウィンドウとが互いに重複する場合（ライブストリームデータの最新データを再生しようとする場合）、ライブスライディングウィンドウを通じて特定されて電子機器１（１１０）のキャッシュ格納場所に格納されたピースを再活用してもよい。上述したように、過去のデータをストリーミングしている途中に最新データをストリーミングしようとする場合、ライブスライディングウィンドウを通じて予めダウンロードされたピースを再活用して使用することが可能であるため、最新ライブ映像をより迅速にプレイヤに提供することができるようになる。
【００５６】
ライブストリームデータに対して要求された再生位置は、ストリーミングクライアントとプレイヤとの間で設定されたタイムマシン制御セッションを通じてプレイヤからストリーミングクライアントに送信されてもよい。また、ストリーミングされるストリームデータは、ストリーミングクライアントとプレイヤとの間で設定されたストリーミングセッションを通じてストリーミングクライアントからプレイヤに送信されてもよい。この場合、ストリーミングセッションを通じたストリーミングクライアントとプレイヤとの間のデータ送信と、タイムマシン制御セッションを通じたストリーミングクライアントとプレイヤとの間のデータ送信は、互いに異なる別のプロトコル（一例として、上述したタイムマシン制御プロトコルとストリーミングプロトコル）によってそれぞれ行われてもよい。
【００５７】
図８および図９で省略した内容については、図１〜７を参照してよい。
【００５８】
このように、本発明の実施形態によると、ストリーミングスライディングウィンドウを利用することにより、タイムマシン機能によって特定される再生位置のピースをダウンロードできるように管理することができ、ストリーミングスライディングウィンドウとは別に最新ライブ映像のためのピースをダウンロードするライブスライディングウィンドウをさらに管理することができる。さらに、ストリーミングスライディングウィンドウとライブスライディングウィンドウのデュアルスライディングウィンドウを利用することにより、タイムマシン機能によって特定される再生位置のピースをダウンロードしながら同時に最新データのためのピースを共にダウンロードすることにより、タイムマシン機能の使用が最新ライブ映像のためのピースの共有率に及ぼす影響を最小化することができる。
【００５９】
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでもよい。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成（ｐｒｏｃｅｓｓｉｎｇ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）も可能である。
【００６０】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に（ｃｏｌｌｅｃｔｉｖｅｌｙ）処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置（ｖｉｒｔｕａｌ  ｅｑｕｉｐｍｅｎｔ）、コンピュータ格納媒体または装置に永久的または一時的に具現化（ｅｍｂｏｄｙ）されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【００６１】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
【００６２】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能である。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００６３】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００６４】
１１０、１２０、１３０、１４０：電子機器
１５０、１６０：サーバ
１７０：ネットワーク
【図１】
0006587997.tif 000002
【図２】
0006587997.tif 000003
【図３】
0006587997.tif 000004
【図４】
0006587997.tif 000005
【図５】
0006587997.tif 000006
【図６】
0006587997.tif 000007
【図７】
0006587997.tif 000008
【図８】
0006587997.tif 000009
【図９】
0006587997.tif 000010