(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023100593
(43)【公開日】2023-07-19
(54)【発明の名称】プリフェッチ方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体、および、コンピュータ装置
(51)【国際特許分類】
H04L 51/04 20220101AFI20230711BHJP
G06F 3/01 20060101ALI20230711BHJP
H04L 51/216 20220101ALI20230711BHJP
【FI】
H04L51/04
G06F3/01 510
H04L51/216
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023000220
(22)【出願日】2023-01-04
(31)【優先権主張番号】10-2022-0002230
(32)【優先日】2022-01-06
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】516014409
【氏名又は名称】ライン プラス コーポレーション
【氏名又は名称原語表記】LINE Plus Corporation
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】チャン ヒョクチェ
(72)【発明者】
【氏名】ユン ヒョンス
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA05
5E555AA42
5E555AA61
5E555AA68
5E555AA72
5E555AA76
5E555BA02
5E555BA03
5E555BA05
5E555BA06
5E555BA24
5E555BA76
5E555BB02
5E555BB03
5E555BB05
5E555BB06
5E555BB24
5E555BC12
5E555BD06
5E555CA24
5E555CB02
5E555CB40
5E555CB44
5E555CB56
5E555CB58
5E555CB72
5E555CB73
5E555CB74
5E555EA03
5E555EA07
5E555EA08
5E555EA09
5E555EA14
5E555EA27
5E555EA28
5E555FA00
(57)【要約】
【課題】ユーザのアプリケーションの使用パターンおよび対話パターンによるデータプリフェッチ方法およびシステムを提供する。
【解決手段】一実施形態に係るプリフェッチ方法は、インスタントメッセージングサービスの通信セッションに対するユーザの入室パターンを分析する段階、および前記分析されたユーザの入室パターンに基づいて、前記通信セッションの前記ユーザの未読メッセージ(unread Message)に対するプリフェッチの開始時点を決定する段階を含む。
【選択図】
図5
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを含むコンピュータ装置のプリフェッチ方法であって、
前記少なくとも1つのプロセッサにより、インスタントメッセージングサービスの通信セッションに対するユーザの入室パターンを分析する分析段階、および
前記少なくとも1つのプロセッサにより、前記分析段階で分析されたユーザの入室パターンに基づいて、前記通信セッションの前記ユーザの未読メッセージ(unread Message)に対するプリフェッチの開始時点を決定する決定段階
を含む、プリフェッチ方法。
【請求項2】
前記分析段階は、
(1)前記ユーザが前記通信セッションにアクセスする時点の未読メッセージの数の記録、(2)前記ユーザが前記通信セッションにアクセスする時点の曜日と時間、(3)前記ユーザが前記通信セッションにアクセスする時点間の差、(4)前記通信セッションの前記ユーザの未読メッセージに含まれるキーワード、および(5)前記通信セッションの前記ユーザの未読メッセージに含まれるイメージ、動画、およびオーディオのうちの少なくとも1つの分析結果のうちの少なくとも1つを利用して前記ユーザの入室パターンを分析することを特徴とする、請求項1に記載のプリフェッチ方法。
【請求項3】
前記決定段階は、
前記通信セッションの前記ユーザの未読メッセージの数が、前記ユーザが前記通信セッションにアクセスする時点の未読メッセージ数の平均および標準偏差のうちの少なくとも1つを利用して決定される値以上となる時点を前記プリフェッチの開始時点として決定することを特徴とする、請求項1に記載のプリフェッチ方法。
【請求項4】
前記決定段階は、
前記ユーザが前記通信セッションにアクセスする時点の曜日と時間とに基づいた時間的確率によって決定される時点を前記プリフェッチの開始時点として決定することを特徴とする、請求項1に記載のプリフェッチ方法。
【請求項5】
前記決定段階は、
前記ユーザが以前に前記通信セッションにアクセスした時点から前記ユーザが前記通信セッションにアクセスする時点の差に基づいて決定された時間が経過した時点を前記プリフェッチの開始時点として決定することを特徴とする、請求項1に記載のプリフェッチ方法。
【請求項6】
前記決定段階は、
ユーザの関心キーワードを設定する段階、および
前記通信セッションの前記ユーザの未読メッセージが前記設定された関心キーワードを含むものと決定される時点を前記プリフェッチの開始時点として決定する段階
を含むことを特徴とする、請求項1に記載のプリフェッチ方法。
【請求項7】
前記決定段階は、
ユーザの関心キーワードを設定する段階、および
前記通信セッションの前記ユーザの未読メッセージに含まれるイメージ、動画、およびオーディオのうちの少なくとも1つの分析結果から前記関心キーワードが抽出される時点を前記プリフェッチの開始時点として決定する段階
を含むことを特徴とする、請求項1に記載のプリフェッチ方法。
【請求項8】
前記少なくとも1つのプロセッサにより、前記ユーザの画面スクロール速度を予測する予測段階、および
前記少なくとも1つのプロセッサにより、前記予測された画面スクロール速度および前記未読メッセージの数に基づいてプリフェッチのためのメッセージの数を決定するメッセージ数決定段階
をさらに含む、請求項1に記載のプリフェッチ方法。
【請求項9】
前記予測段階は、
前記未読メッセージの数、前記未読メッセージに含まれるコンテンツの種類、および前記未読メッセージに含まれるコンテンツの内容のうちの少なくとも1つによって前記画面スクロール速度を予測することを特徴とする、請求項8に記載のプリフェッチ方法。
【請求項10】
前記メッセージ数決定段階は、
平均ネットワーク速度を測定する段階、および
前記予測された画面スクロール速度、前記未読メッセージの数、および前記平均ネットワーク速度に基づいてプリフェッチのためのメッセージの数を決定する段階
を含むことを特徴とする、請求項8に記載のプリフェッチ方法。
【請求項11】
コンピュータ装置と結合して請求項1から請求項10のいずれか一項に記載の方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録される、コンピュータプログラム。
【請求項12】
請求項1から請求項10のいずれか一項に記載の方法をコンピュータ装置に実行させるためのコンピュータプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
【請求項13】
コンピュータ装置読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサにより、
インスタントメッセージングサービスの通信セッションに対するユーザの入室パターンを分析し、
前記分析されたユーザの入室パターンに基づいて、前記通信セッションの前記ユーザの未読メッセージ(unread Message)に対するプリフェッチの開始時点を決定すること
を特徴とする、コンピュータ装置。
【請求項14】
前記ユーザの入室パターンを分析するために、前記少なくとも1つのプロセッサにより、
(1)前記ユーザが前記通信セッションにアクセスする時点の未読メッセージの数の記録、(2)前記ユーザが前記通信セッションにアクセスする時点の曜日と時間、(3)前記ユーザが前記通信セッションにアクセスする時点間の差、(4)前記通信セッションの前記ユーザの未読メッセージに含まれるキーワード、および(5)前記通信セッションの前記ユーザの未読メッセージに含まれるイメージ、動画、およびオーディオのうちの少なくとも1つの分析結果のうちの少なくとも1つを利用して前記ユーザの入室パターンを分析すること
を特徴とする、請求項13に記載のコンピュータ装置。
【請求項15】
前記プリフェッチの開始時点を決定するために、前記少なくとも1つのプロセッサにより、
前記通信セッションの前記ユーザの未読メッセージの数が、前記ユーザが前記通信セッションにアクセスする時点の未読メッセージ数の平均および標準偏差のうちの少なくとも1つを利用して決定される値以上となる時点を前記プリフェッチの開始時点として決定すること
を特徴とする、請求項13に記載のコンピュータ装置。
【請求項16】
前記プリフェッチの開始時点を決定するために、前記少なくとも1つのプロセッサにより、
前記ユーザが前記通信セッションにアクセスする時点の曜日と時間とに基づいた時間的確率によって決定される時点を前記プリフェッチの開始時点として決定すること
を特徴とする、請求項13に記載のコンピュータ装置。
【請求項17】
前記プリフェッチの開始時点を決定するために、前記少なくとも1つのプロセッサにより、
前記ユーザが以前に前記通信セッションにアクセスした時点から前記ユーザが前記通信セッションにアクセスする時点の差に基づいて決定された時間が経過した時点を前記プリフェッチの開始時点として決定すること
を特徴とする、請求項13に記載のコンピュータ装置。
【請求項18】
前記プリフェッチの開始時点を決定するために、前記少なくとも1つのプロセッサにより、
ユーザの関心キーワードを設定し、
前記通信セッションの前記ユーザの未読メッセージが前記設定された関心キーワードを含むものと決定される時点を前記プリフェッチの開始時点として決定すること
を特徴とする、請求項13に記載のコンピュータ装置。
【請求項19】
前記プリフェッチの開始時点を決定するために、前記少なくとも1つのプロセッサにより、
ユーザの関心キーワードを設定し、
前記通信セッションの前記ユーザの未読メッセージに含まれるイメージ、動画、およびオーディオのうちの少なくとも1つの分析結果から前記関心キーワードが抽出される時点を前記プリフェッチの開始時点として決定すること
を特徴とする、請求項13に記載のコンピュータ装置。
【請求項20】
前記少なくとも1つのプロセッサにより、
前記ユーザの画面スクロール速度を予測し、
前記予測された画面スクロール速度および前記未読メッセージの数に基づいてプリフェッチのためのメッセージの数を決定すること
を特徴とする、請求項13に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、ユーザのアプリケーションの使用パターンおよび対話パターンによるデータプリフェッチ方法およびシステムに関する。
【背景技術】
【0002】
オープンチャット(OpenChat)のような大規模トークルーム(一例として、数千から数万人の参加者)では、莫大な量の対話が発生する。サーバは、効率性のために、ユーザが実際にトークルームに入室するまでは対話をモバイル端末に送らないのが一般的である。したがって、このような大規模トークルームへの入室が頻繁でないユーザは、既読メッセージがどんどん溜まるようになる。
【0003】
このような状況でユーザがトークルームに入室すると多様な問題が発生する。一例として、トークルームに入室してからトークルームの画面が表示されるまで多くの時間がかかるようになる。さらに、ユーザがトークルームに入室しなかった期間のすべてのデータを取り込まなければならないため、ここ最近の対話内容を表示するまでに多くの時間がかかる。
【0004】
これに対する解決法の1つとしてプリフェッチ(prefetch)機能がある。プリフェッチ機能は、ユーザがトークルームに入室しなくても、既読の対話が所定の件数以上(以下、unreadMsgCount)となれば、それからのメッセージを予めサーバから受け取ることができる。しかし、基準となるunreadMsgCountの調節によってはメリットもあるがデメリットもある。一例として、unreadMsgCountの値が大きすぎれば、メッセージをプリフェッチする機会が軽減する。この反面、unreadMsgCountの値が小さすぎれば、プリフェッチを行うトークルームおよび/またはユーザの数が増加してサーバへの負担が高まる。
【0005】
このように、プリフェッチ機能には限界が存在する。一例として、いったんプリフェッチが始まれば、それからのメッセージをすべて取り込まなければならないため、サーバへの負担が生じるという限界が存在する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】韓国公開特許第10-2021-0039485号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ユーザのアプリケーションの使用パターン(トークルーム入室パターン)および/または対話パターンのような個人化された基準を利用してデータのプリフェッチの時点およびプリフェッチの量のうちの少なくとも1つを決定する、プリフェッチ方法およびシステムを提供する。
【課題を解決するための手段】
【0008】
少なくとも1つのプロセッサを含むコンピュータ装置のプリフェッチ方法であって、前記少なくとも1つのプロセッサにより、インスタントメッセージングサービスの通信セッションに対するユーザの入室パターンを分析する段階、および前記少なくとも1つのプロセッサにより、前記分析されたユーザの入室パターンに基づいて、前記通信セッションの前記ユーザの未読メッセージ(unread Message)に対するプリフェッチの開始時点を決定する段階を含む、プリフェッチ方法を提供する。
【0009】
一側によると、前記ユーザの入室パターンを分析する段階は、(1)前記ユーザが前記通信セッションにアクセスする時点の未読メッセージの数の記録、(2)前記ユーザが前記通信セッションにアクセスする時点の曜日と時間、(3)前記ユーザが前記通信セッションにアクセスする時点間の差、(4)前記通信セッションの前記ユーザの未読メッセージに含まれるキーワード、および(5)前記通信セッションの前記ユーザの未読メッセージに含まれるイメージ、動画、およびオーディオのうちの少なくとも1つの分析結果のうちの少なくとも1つを利用して前記ユーザの入室パターンを分析することを特徴としてよい。
【0010】
他の側面によると、前記プリフェッチの開始時点を決定する段階は、前記通信セッションの前記ユーザの未読メッセージの数が、前記ユーザが前記通信セッションにアクセスする時点の未読メッセージ数の平均および標準偏差のうちの少なくとも1つを利用して決定される値以上となる時点を前記プリフェッチの開始時点として決定することを特徴としてよい。
【0011】
また他の側面によると、前記プリフェッチの開始時点を決定する段階は、前記ユーザが前記通信セッションにアクセスする時点の曜日と時間とに基づいた時間的確率によって決定する時点を前記プリフェッチの開始時点として決定することを特徴としてよい。
【0012】
また他の側面によると、前記プリフェッチの開始時点を決定する段階は、前記ユーザが以前に前記通信セッションにアクセスした時点から前記ユーザが前記通信セッションにアクセスする時点間の差に基づいて決定された時間が経過した時点を前記プリフェッチの開始時点として決定することを特徴としてよい。
【0013】
また他の側面によると、前記プリフェッチの開始時点を決定する段階は、ユーザの関心キーワードを設定する段階、および前記通信セッションの前記ユーザの未読メッセージが前記設定された関心キーワードを含むと決定される時点を前記プリフェッチの開始時点として決定する段階を含むことを特徴としてよい。
【0014】
また他の側面によると、前記プリフェッチの開始時点を決定する段階は、ユーザの関心キーワードを設定する段階、および前記通信セッションの前記ユーザの未読メッセージに含まれるイメージ、動画、およびオーディオのうちの少なくとも1つの分析結果から前記関心キーワードが抽出される時点を前記プリフェッチの開始時点として決定する段階を含むことを特徴としてよい。
【0015】
また他の側面によると、前記プリフェッチ方法は、前記少なくとも1つのプロセッサにより、前記ユーザの画面スクロール速度を予測する段階、および前記少なくとも1つのプロセッサにより、前記予測された画面スクロール速度および前記未読メッセージの数に基づいてプリフェッチのためのメッセージの数を決定する段階をさらに含んでよい。
【0016】
また他の側面によると、前記画面スクロール速度を予測する段階は、前記未読メッセージの数、前記未読メッセージに含まれるコンテンツの種類、および前記未読メッセージに含まれるコンテンツの内容のうちの少なくとも1つによって前記画面スクロール速度を予測することを特徴としてよい。
【0017】
さらに他の側面によると、前記プリフェッチのためのメッセージの数を決定する段階は、平均ネットワーク速度を測定する段階、および前記予測された画面スクロール速度、前記未読メッセージの数、および前記平均ネットワーク速度に基づいてプリフェッチのためのメッセージの数を決定する段階を含むことを特徴としてよい。
【0018】
コンピュータ装置と結合して前記方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録される、コンピュータプログラムを提供する。
【0019】
前記方法をコンピュータ装置に実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体を提供する。
【0020】
コンピュータ装置読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサにより、インスタントメッセージングサービスの通信セッションに対するユーザの入室パターンを分析し、前記分析されたユーザの入室パターンに基づいて、前記通信セッションの前記ユーザの未読メッセージ(unread Message)に対するプリフェッチの開始時点を決定することを特徴とする、コンピュータ装置を提供する。
【発明の効果】
【0021】
ユーザのアプリケーションの使用パターン(トークルーム入室パターン)および/または対話パターンのような個人化された基準を利用して、データのプリフェッチ時点およびプリフェッチの量のうちの少なくとも1つを決定することができる。
【図面の簡単な説明】
【0022】
【
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【
図2】本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。
【
図3】本発明の一実施形態における、プリフェッチシステムの動作環境の例を示した図である。
【
図4】本発明の一実施形態における、プリフェッチシステムの動作環境の例を示した図である。
【
図5】本発明の一実施形態における、プリフェッチ方法の例を示したフローチャートである。
【発明を実施するための形態】
【0023】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【0024】
本発明の実施形態に係るプリフェッチシステムは、少なくとも1つのコンピュータ装置によって実現されてよい。このとき、コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されたコンピュータプログラムの制御にしたがって本発明の実施形態に係るプリフェッチ方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合してプリフェッチ方法をコンピュータに実行させるためにコンピュータ読み取り可能な記録媒体に記録されてよい。
【0025】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。
図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような
図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が
図1のように限定されることはない。また、
図1のネットワーク環境は、本実施形態に適用可能な環境のうちの一例を説明したものに過ぎず、本実施形態に適用可能な環境が
図1のネットワーク環境に限定されることはない。
【0026】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、
図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することができる多様な物理的なコンピュータ装置のうちの1つを意味してよい。
【0027】
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0028】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140にサービス(一例として、インスタントメッセージングサービス、取引(一例として、送金)サービス、決済サービス、仮想取引所サービス、リスクモニタリングサービス、ゲームサービス、グループ通話サービス(または、音声会議サービス)、メッセージングサービス、メールサービス、ソーシャルネットワークサービス、地図サービス、翻訳サービス、金融サービス、検索サービス、および/またはコンテンツ提供サービスなど)を提供するシステムであってよい。
【0029】
図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140それぞれやサーバ150、160それぞれは、
図2に示したコンピュータ装置200によって実現されてよい。
【0030】
このようなコンピュータ装置200は、
図2に示すように、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。
【0031】
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0032】
通信インタフェース230は、ネットワーク170を介してコンピュータ装置200が他の装置(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御にしたがってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク170を経てコンピュータ装置200の通信インタフェース230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0033】
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250のうちの少なくとも1つは、コンピュータ装置200と1つの装置で構成されてもよい。例えば、スマートフォンのように、タッチスクリーン、マイク、スピーカなどがコンピュータ装置200に含まれた形態で実現されてよい。
【0034】
また、他の実施形態において、コンピュータ装置200は、
図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、データベースなどのような他の構成要素をさらに含んでもよい。
【0035】
本発明の実施形態に係るプリフェッチシステムは、未読のメッセージ数のような固定の値(一例として、unreadMsgCount)ではなく、状況に応じて最適な基準(個人化された基準)を使用してプリフェッチの開始時点を決定することができる。例えば、プリフェッチシステムは、個人のアプリケーションの使用パターンおよび/または対話パターンによる個人化された基準によってプリフェッチの開始時点を決定することにより、従来のプリフェッチ機能の限界を解決することができる。また、プリフェッチシステムは、個人化された基準によってプリフェッチの量を決定することにより、従来のプリフェッチ機能である、プリフェッチが始まればすべてのデータ(ユーザが未読の全メッセージ)が取り込まれるという問題に起因するサーバの負担を軽減することができる。さらに、プリフェッチシステムは、ユーザの対話パターンを考慮することにより、ユーザのアプリケーションの使用性に悪影響を与えないようにする。
【0036】
図3および
図4は、本発明の一実施形態における、プリフェッチシステムの動作環境の例を示した図である。
図3および
図4は、インスタントメッセージングサーバ310、プリフェッチシステム320、複数のユーザ330、および複数のトークルーム340を示している。
【0037】
インスタントメッセージングサーバ310は、少なくとも1つのコンピュータ装置200によって実現されてよく、複数のユーザ330にインスタントメッセージングサービスを提供してよい。このとき、
図3の実施形態において、プリフェッチシステム320は、このようなインスタントメッセージングサーバ310に含まれてよく、インスタントメッセージングサーバ310を実現する少なくとも1つのコンピュータ装置200のうちの少なくとも一部によって実現されてよい。実施形態によって、プリフェッチシステム320は、インスタントメッセージングサーバ310とは別の物理的な装置で実現され、インスタントメッセージングサーバ310とネットワーク170を介して通信する形態で実現されてもよい。
図4の実施形態において、プリフェッチシステム320は、複数のユーザ330それぞれに対応する物理的な装置上に実現されてもよい。一例として、プリフェッチシステム320は、インスタントメッセージングサーバ310からインスタントメッセージングサービスの提供を受けるために、ユーザの端末(一例として、スマートフォンやPCなど)においてインストールされて実現されるクライアントアプリケーション410に含まれるソフトウェアモジュールの形態で実現されてよい。また、他の実施形態として、プリフェッチシステム320は、インスタントメッセージングサーバ310と複数のユーザ330それぞれに対応する物理的な装置に分散されて実現されてもよい。この場合、プリフェッチシステム320は、インスタントメッセージングサーバ310と複数のユーザ330それぞれに対応する物理的な装置の情報交換に基づいて動作してよい。
【0038】
複数のユーザ330のそれぞれは、上述したように、ユーザがインスタントメッセージングサーバ310にアクセスしてインスタントメッセージングサービスの提供を受けるための物理的な装置であってよい。このような物理的な装置も、
図2のコンピュータ装置200のように実現されてよい。
【0039】
複数のトークルーム340のそれぞれは、複数のユーザ330がインスタントメッセージを伝達するためにインスタントメッセージングサービスによって提供される通信セッションに対応してよい。一例として、2人以上のユーザのアカウント間に通信セッションが設定されてよく、インスタントメッセージングサーバ310は、設定された通信セッションで送受信されるインスタントメッセージが目的とするユーザに伝達されるように、インスタントメッセージが含まれたパケットをルーティングしてよい。
【0040】
プリフェッチシステム320は、ユーザ別および/またはトークルーム別にプリフェッチ時点を決定してよい。一例として、プリフェッチシステム320がインスタントメッセージングサーバ310に含まれて実現される場合、ユーザ別またはトークルーム別にプリフェッチ時点を決定してよい。一方、プリフェッチシステム320がクライアントアプリケーション410に含まれるソフトウェアモジュールの形態で実現される場合、ユーザのトークルーム別にプリフェッチ時点を決定してよい。プリフェッチシステム320で決定されたプリフェッチ時点に関する情報はインスタントメッセージングサーバ310に伝達されてよく、インスタントメッセージングサーバ310は、ユーザの端末においてインストールされて実行されたクライアントアプリケーション410にトークルームに対する未読メッセージのプリフェッチを要請してよい。この場合、ユーザの端末は、クライアントアプリケーション410の制御にしたがって、インスタントメッセージングサーバ310から未読メッセージのプリフェッチを行ってよい。このとき、以下で説明するように、プリフェッチシステム320は、プリフェッチを行う未読メッセージの量も決定してよい。この場合、ユーザの端末は、決定された量の未読メッセージのプリフェッチを行ってよい。
【0041】
このとき、プリフェッチシステム320は、プリフェッチの時点を決定するために使用されるユーザのトークルーム入室パターンを分析するために、以下の(1)~(5)のようなデータを活用してよい。
【0042】
(1)ユーザがトークルームに入室する時点の未読メッセージの数の記録
(2)ユーザがトークルームに入室する時点の曜日と時間
(3)ユーザのトークルーム入室時点間の差
(4)未読メッセージに含まれるキーワード
(5)未読メッセージに含まれるイメージ、動画、および/またはオーディオの分析結果
【0043】
プリフェッチシステム320は、ユーザ別および/またはトークルーム別に異なるプリフェッチ開始基準を使用してよい。例えば、プリフェッチシステム320は、以下の(a)~(e)のプリフェッチ時点決定方式のうちで正確度が最も高いプリフェッチ時点決定方式を活用するか、(a)~(e)のうちの2つ以上のプリフェッチ時点決定方式の正確度による加重平均を活用してプリフェッチ時点を決定してよい。
【0044】
<(a)ユーザがトークルームに入室する時点の未読メッセージ数の記録(1)に基づいてプリフェッチ時点を決定するプリフェッチ時点決定方式>
【0045】
プリフェッチ時点決定方式(a)は、ユーザがトークルームに入室した時点の未読メッセージの数の平均や標準偏差を利用する方式である。プリフェッチシステム320は、ユーザがトークルームに入室した時点の未読メッセージの数をn(nは自然数)回にわたって記録してよい。この場合、プリフェッチシステム320は、n回の未読メッセージ数の平均や標準偏差を利用してプリフェッチ時点を決定してよい。より具体的な例として、nが5であり、最近5回の未読メッセージの数が100、200、150、180、110であると仮定するとき、平均は148、標準偏差は約43となる。このとき、プリフェッチシステム320は、平均と標準偏差の差である105をプリフェッチ開始時点として決定してよい。これは、未読メッセージの数が105件となる時点にプリフェッチを実行することを意味してよい。例えば、プリフェッチシステム320は、未読メッセージの数が105件となる時点を、対応するユーザおよびトークルームのプリフェッチ開始時点として設定してよい。この場合、インスタントメッセージングサーバ310は、ユーザの端末においてインストールされて実行されたクライアントアプリケーション410に、インスタントメッセージングサーバ310に記録された未読メッセージのプリフェッチを要請してよい。この後、クライアントアプリケーション410は、インスタントメッセージングサーバ310に接続して未読メッセージをダウンロードすることにより、未読メッセージのプリフェッチを行ってよい。
【0046】
<(b)ユーザがトークルームに入室する時点の曜日と時間(2)に基づいてプリフェッチ時点を決定するプリフェッチ時点決定方式>
【0047】
プリフェッチ時点決定方式(b)は、ユーザがトークルームに入室する時間的確率に基づいてプリフェッチの時点を決定する方式である。プリフェッチシステム320は、ユーザがトークルームに入室する時点に関する情報をトークルーム別に記録してよい。このとき、プリフェッチシステム320は、記録されたトークルームの各入室時点の曜日と時間帯を分析してよく、分析結果に基づいてプリフェッチの開始時点を決定してよい。例えば、ユーザが毎週月曜日の朝10時頃に特定のトークルームAに入室する場合、プリフェッチシステム320は、毎週月曜日の朝10時から予め設定された時間までの時点をトークルームAに対するプリフェッチの開始時点として決定してよい。
【0048】
<(c)ユーザのトークルーム入室時点間の差(3)に基づいてプリフェッチ時点を決定するプリフェッチ時点決定方式>
【0049】
プリフェッチ時点決定方式(c)は、ユーザのトークルーム入室時点とその以前の入室時点の差、言い換えれば、1つのトークルームへの入室時点から次のトークルームへの入室時点までかかった時間(以下、elapsedTimeOfLastEntering)に基づいてプリフェッチの時点を決定する方式である。プリフェッチシステム320は、上述したように、ユーザがトークルームに入室する時点に関する情報をトークルーム別に記録する。このとき、プリフェッチシステム320は、同じトークルームに対して、ユーザのトークルーム入室時点の差による時間であるelapsedTimeOfLastEnteringのm(mは自然数)個の値を最近順に計算してよい。この場合、プリフェッチシステム320は、m個の値の平均を計算してプリフェッチの開始時点を決定してよい。例えば、m個の値の平均が1時間の場合、プリフェッチシステム320は、ユーザがトークルームに接続していない時間の1時間ごとに、当該トークルームに対する未読メッセージのプリフェッチを行ってよい。
【0050】
<(d)未読メッセージが含むキーワード(4)に基づいてプリフェッチ時点を決定するプリフェッチ時点決定方式>
【0051】
プリフェッチ時点決定方式(d)は、プリフェッチシステム320が現在の未読メッセージの内容を自然語処理(Natural Language Processing)技術によって分析してメッセージからキーワードを抽出し、抽出されたキーワードに基づいてプリフェッチ時点を決定する方式である。例えば、プリフェッチシステム320は、未読メッセージにユーザの関心キーワードが登場する場合にプリフェッチを開始してよい。ここで、ユーザの関心キーワードは、ユーザの以前のトークルーム入室と関連するキーワードであってよい。例えば、ユーザが、プッシュ通知のようなメッセージのプレビューを経てトークルームに入室した記録があると仮定する。この場合、プリフェッチシステム320は、当該メッセージのキーワードをユーザの関心キーワードとして設定してよい。この後、プリフェッチシステム320は、未読メッセージにユーザの関心キーワードが含まれる時点をプリフェッチ開始時点として決定してよい。実施形態によって、ユーザの関心キーワードは、ユーザがトークルームに入室するときの未読メッセージに含まれるキーワードのうちから選定されてもよい。例えば、プリフェッチシステム320は、ユーザがトークルームに入室するたびに、この時点の未読メッセージを人工知能モデルによって分析してタイトルを決定してよい。このとき、プリフェッチシステム320は、ユーザがトークルームに入室したi(iは自然数)回に対してそれぞれタイトルを決定(1回に対して2つ以上のタイトルが抽出されてもよい)してよく、決定されたタイトルを記録してよい。この後、プリフェッチシステム320は、このように記録されたタイトルが現在の未読メッセージにj(jは自然数)個以上含まれる場合、プリフェッチを開始してよい。より具体的な例として、プリフェッチシステム320は、最近の3回のユーザのトークルーム入室それぞれに対して未読メッセージのタイトルを抽出して記録してよい。このとき、プリフェッチシステム320は、現在の未読メッセージに、記録されたタイトルのうちの1つ以上のタイトルがキーワードとして含まれている場合、プリフェッチを開始してよい。
【0052】
<(e)未読メッセージに含まれるイメージ、動画、および/またはオーディオの分析結果(5)に基づいてプリフェッチ時点を決定するプリフェッチ時点決定方式>
【0053】
プリフェッチ時点決定方式(e)は、プリフェッチシステム320が現在の未読メッセージに含まれるコンテンツ(イメージ、動画、および/またはオーディオ)を分析してキーワードを抽出して活用することによってプリフェッチ時点を決定する方式である。このとき、プリフェッチシステム320は、イメージや動画のフレームに含まれる事物を認識する方式によってキーワードを抽出するか、音声認識などによってオーディオからキーワードを抽出してよい。例えば、プリフェッチシステム320は、未読メッセージに含まれるコンテンツからユーザの関心キーワードが抽出される場合にプリフェッチを開始してよい。この場合、ユーザの関心キーワードは、上述したような方式で設定されてもよいし、ユーザの以前のトークルーム入室時の未読メッセージのコンテンツから抽出されたキーワードに基づいて設定されてもよい。実施形態によって、ユーザの関心キーワードは、ユーザが関心を示したコンテンツから抽出されたキーワードに基づいて設定されてもよい。例えば、ユーザがダウンロードしたり再生したりしたコンテンツから抽出されたキーワードがユーザの関心キーワードとして設定されてよい。
【0054】
一方、プリフェッチシステム320は、プリフェッチの時点と実際にユーザがトークルームに入室する時点を比較することによってプリフェッチ時点決定方式((a)~(e))それぞれの正確度を決定してよい。この後、プリフェッチシステム320は、決定された正確度に基づいて、使用するための少なくとも1つのプリフェッチ時点の決定方式を選択してよい。
【0055】
複数のプリフェッチ時点の決定方式が選択される場合、一実施形態として、プリフェッチシステム320は、複数のプリフェッチ時点決定方式それぞれによって決定されたプリフェッチ時点それぞれに対してプリフェッチが実行されるように制御してよい。他の実施形態として、プリフェッチシステム320は、決定された複数のプリフェッチ時点の複数のプリフェッチ時点決定方式それぞれの正確度による加重平均によって計算される時点を最終プリフェッチ時点として決定してもよい。
【0056】
また、上述したように、プリフェッチシステム320は、プリフェッチを行うための未読メッセージの量を決定してよい。このとき、プリフェッチシステム320は、未読メッセージの量を決定するために使用されるユーザのトークルーム内の対話パターンを分析するために、以下の(A)~(D)のようなデータを活用してよい。
【0057】
(A)画面スクロール速度
(B)未読メッセージに含まれるコンテンツの種類(一例として、対話、イメージ、動画、スタンプなど)
(C)未読メッセージに含まれるコンテンツの内容(一例として、対話のキーワード、イメージや動画から抽出されたキーワード、スタンプの主題語など)
(D)ネットワークの平均速度
【0058】
このとき、プリフェッチシステム320は、各トークルームのユーザの対話パターンによって予測される所定の件数(以下prefetching_count)のデータ(未読メッセージ)を決定してよく、ユーザの端末は、決定されたprefetching_countのデータをインスタントメッセージングサーバ310から受信してよい。したがって、プリフェッチが始まれば未読メッセージすべてのプリフェッチを行うという従来のプリフェッチ機能に比べて、インスタントメッセージングサーバ310の負荷を格段に減らすことができる。
【0059】
prefetching_countよりも多くの数の未読メッセージが存在する場合、先ずはprefetching_countの未読メッセージのプリフェッチを行ってよく、ユーザがプリフェッチされた未読メッセージを読んでいる間に、残りの未読メッセージがユーザの端末にダウンロードされるようにしてよい。prefetching_countを決定するには多様な方法が存在する。このとき、プリフェッチシステム320は、多様な方式のうちの1つを選択的に活用するか、2つ以上の方式によって得られたprefetching_countに対する加重平均に基づいて、プリフェッチのための未読メッセージの数であるprefetching_countを最終的に決定してよい。
【0060】
一実施形態において、プリフェッチシステム320は、ユーザがトークルームに入室するときの未読メッセージの数と、ユーザが未読メッセージを読むときの画面スクロール速度の平均(以下、平均速度)に基づいてprefetching_countを計算してよい。
【0061】
このとき、プリフェッチシステム320は、未読メッセージの数と計算された平均速度に比例するようにprefetching_countを決定してよい。例えば、未読メッセージの数が多いほど、さらに計算された平均速度が速いほど、相対的により大きい値でprefetching_countを決定してよい。
【0062】
一方、平均速度は、次のような多様な方式のうちの1つ以上によって計算されてよい。例えば、2つ以上の方式それぞれで計算された画面スクロール速度の加重平均によって平均速度が計算されてよい。
【0063】
1つ目の方式として、ユーザの画面スクロール速度は、未読メッセージの数によって異なる。あまりにも多くの数の未読メッセージが存在する場合、ユーザは未読メッセージを読むことをスキップすることがある。この反面、適切な数の未読メッセージが存在する場合、ユーザは未読メッセージそれぞれを精読する可能性がある。これにより、プリフェッチシステム320は、未読メッセージの数によるユーザの画面スクロール速度を分析してよい。この後、プリフェッチシステム320は、未読メッセージに対するprefetching_countを計算するために、未読メッセージの数によるユーザの第1画面スクロール速度を予測してよい。
【0064】
2つ目の方式として、ユーザの画面スクロール速度は、未読メッセージに含まれるコンテンツの種類によって異なる。一例として、プリフェッチシステム320は、画面に表示されたコンテンツの種類によるユーザの画面スクロール速度を分析してよい。この後、プリフェッチシステム320は、未読メッセージに含まれるコンテンツの種類によって第2画面スクロール速度を予測してよい。
【0065】
3つ目の方式として、ユーザの画面スクロール速度は、未読メッセージに含まれるコンテンツの内容によって異なる。一例として、プリフェッチシステム320は、画面に表示されたコンテンツの内容によるユーザの画面スクロール速度を分析してよい。この後、プリフェッチシステム320は、未読メッセージに含まれるコンテンツの内容によって第3画面スクロール速度を予測してよい。
【0066】
一方、平均ネットワーク速度は、prefetching_countの決定に直接的に反映されてよい。一例として、プリフェッチシステム320は、平均ネットワーク速度が遅いほどprefetching_countの値が大きくなるようにprefetching_countの値を設定してよい。この場合、プリフェッチシステム320は、平均ネットワーク速度が遅いほど、未読メッセージの数が多いほど、さらに計算された平均スクロール速度が高いほど、相対的により大きい値でprefetching_countを決定してよい。
【0067】
この場合、プリフェッチシステム320は、予測された第1画面スクロール速度、第2画面スクロール速度、および第3画面スクロール速度の加重平均に基づいてユーザの画面スクロール速度に対する平均速度を計算してよい。加重値は多様に設定されてよい。一例として、第1画面スクロール速度と関連してユーザに500件以上の未読メッセージが存在するとき、メッセージをすべて読まずにスキップすると決定された場合、第1画面スクロール速度には1の加重値を、残りの第2画面スクロール速度と第3画面スクロール速度には0の加重値を付与してもよい。または、画面スクロール速度を予測する各方式の誤差率が加重値として付与されてもよい。
【0068】
このように、未読メッセージの数と平均速度に比例してprefetching_countが決定されてからは、プリフェッチシステム320は、インスタントメッセージングサーバ310を通じて、ユーザの端末においてインストールされて実行されたクライアントアプリケーション410にprefetching_countに該当する未読メッセージのプリフェッチを要請してよい。例えば、300件の未読メッセージがあり、prefetching_countが50であると仮定すると、ユーザの端末には50件の未読メッセージがプリフェッチされてよい。このとき、残りの250件の未読メッセージは、ユーザがトークルームに入室してプリフェッチされた50件の未読メッセージを読んでいる間に、インスタントメッセージングサーバ310からダウンロードされるようにしてよい。
【0069】
図5は、本発明の一実施形態における、プリフェッチ方法の例を示したフローチャートである。本実施形態に係るプリフェッチ方法は、上述したプリフェッチシステム320を実現するコンピュータ装置200によって実行されてよい。このとき、コンピュータ装置200のプロセッサ220は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのコンピュータプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ220は、コンピュータ装置200に記録されたコードが提供する制御命令にしたがってコンピュータ装置200が
図4の方法に含まれる段階510~540を実行するようにコンピュータ装置200を制御してよい。
【0070】
段階510で、コンピュータ装置200は、インスタントメッセージングサービスの通信セッションに対するユーザの入室パターンを分析してよい。一例として、コンピュータ装置200は、(1)ユーザが通信セッションにアクセスする時点の未読メッセージの数の記録、(2)ユーザが通信セッションにアクセスする時点の曜日と時間、(3)ユーザが通信セッションにアクセスする時点間の差、(4)通信セッションのユーザの未読メッセージに含まれるキーワード、および(5)通信セッションのユーザの未読メッセージに含まれるイメージ、動画、およびオーディオのうちの少なくとも1つの分析結果のうちの少なくとも1つを利用してユーザの入室パターンを分析してよい。ここで、通信セッションは、上述したトークルームに対応してよく、未読メッセージは、当該トークルームの未読メッセージに対応してよい。(1)~(5)については上述で詳しく説明した。
【0071】
段階520で、コンピュータ装置200は、分析されたユーザの入室パターンに基づいて、通信セッションのユーザの未読メッセージに対するプリフェッチの開始時点を決定してよい。
【0072】
一実施形態として、コンピュータ装置200は、通信セッションのユーザの未読メッセージの数が、ユーザが通信セッションにアクセスする時点の未読メッセージ数の平均および標準偏差のうちの少なくとも1つに基づいて決定される値以上となる時点をプリフェッチの開始時点として決定してよい。
【0073】
他の実施形態として、コンピュータ装置200は、ユーザが通信セッションにアクセスする時点の曜日と時間とに基づいた時間的確率に基づいて決定される時点をプリフェッチの開始時点として決定してよい。
【0074】
また他の実施形態として、コンピュータ装置200は、ユーザが以前に通信セッションにアクセスした時点から通信セッションにアクセスする時点の差に基づいて決定された時間が経過した時点をプリフェッチの開始時点として決定してよい。
【0075】
また他の実施形態として、コンピュータ装置200は、ユーザの関心キーワードを設定し、通信セッションのユーザの未読メッセージに設定された関心キーワードが含まれると決定される時点をプリフェッチの開始時点として決定してよい。
【0076】
また他の実施形態として、コンピュータ装置200は、ユーザの関心キーワードを設定し、通信セッションのユーザの未読メッセージに含まれるイメージ、動画、およびオーディオのうちの少なくとも1つの分析結果から関心キーワードが抽出される時点をプリフェッチの開始時点として決定してよい。
【0077】
プリフェッチの開始時点を決定するための各実施形態については、上述した例を参照しながら説明した。また、2つ以上の実施形態を結合してプリフェッチの開始時点を決定してもよいことについても説明した。
【0078】
このように、コンピュータ装置200は、予め設定されたメッセージ数のような固定の値ではなく、ユーザのトークルーム入室パターンのような個人化された基準によってプリフェッチの開始時点を決定することにより、プリフェッチの効率を高めることができる。
【0079】
段階530で、コンピュータ装置200は、ユーザの画面スクロール速度を予測してよい。一例として、コンピュータ装置200は、未読メッセージの数、未読メッセージに含まれるコンテンツの種類、および未読メッセージに含まれるコンテンツの内容のうちの少なくとも1つによって画面スクロール速度を予測してよい。
【0080】
段階540で、コンピュータ装置200は、予測された画面スクロールの速度および未読メッセージの数に基づいてプリフェッチのためのメッセージの数を決定してよい。実施形態によって、コンピュータ装置200は、平均ネットワーク速度をさらに利用してプリフェッチのためのメッセージの数を決定してよい。この場合、コンピュータ装置200は、平均ネットワーク速度を測定し、予測された画面スクロール速度、未読メッセージの数、および平均ネットワーク速度に基づいてプリフェッチのためのメッセージの数を決定してよい。
【0081】
このように、コンピュータ装置200は、プリフェッチを実行するたびにすべての未読メッセージを受信するのではなく、ユーザの対話パターンに基づいてプリフェッチのためのメッセージの数を決定することができる。この場合、インスタントメッセージングサーバ310は、決定された数の未読メッセージをユーザの端末にプリフェッチし、ユーザがトークルームに入室してプリフェッチされた未読メッセージを読んでいる間に残りの未読メッセージを提供するため、インスタントメッセージングサーバ310の負荷を格段に減らすことができる。
【0082】
このように、本発明の実施形態によると、ユーザのアプリケーションの使用パターン(トークルーム入室パターン)および/または対話パターンのような個人化された基準を利用して、データのプリフェッチ時点およびプリフェッチの量のうちの少なくとも1つを決定することができる。
【0083】
上述したシステムまたは装置は、ハードウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0084】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置(virtual equipment)、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0085】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【0086】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0087】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付の特許請求の範囲に属する。
【符号の説明】
【0088】
310:インスタントメッセージングサーバ
320:プリフェッチシステム
330:ユーザ
340:トークルーム
410:クライアントアプリケーション