JP5729994B2 - 送信装置、送信システム、送信方法、およびプログラム - Google Patents

送信装置、送信システム、送信方法、およびプログラム Download PDF

Info

Publication number
JP5729994B2
JP5729994B2 JP2010273906A JP2010273906A JP5729994B2 JP 5729994 B2 JP5729994 B2 JP 5729994B2 JP 2010273906 A JP2010273906 A JP 2010273906A JP 2010273906 A JP2010273906 A JP 2010273906A JP 5729994 B2 JP5729994 B2 JP 5729994B2
Authority
JP
Japan
Prior art keywords
message
client device
transmitted
user
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010273906A
Other languages
English (en)
Other versions
JP2012123632A (ja
JP2012123632A5 (ja
Inventor
國松 亮
亮 國松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010273906A priority Critical patent/JP5729994B2/ja
Priority to US13/310,534 priority patent/US20120150995A1/en
Publication of JP2012123632A publication Critical patent/JP2012123632A/ja
Publication of JP2012123632A5 publication Critical patent/JP2012123632A5/ja
Application granted granted Critical
Publication of JP5729994B2 publication Critical patent/JP5729994B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Description

本発明は、メッセージの転送装置、メッセージ転送システム、メッセージ転送方法、およびプログラムに関する。
近年、複数の電子機器をネットワークを介して接続してデータの送受信を行うことが一般的になった。また、一人のユーザが同時に複数台の電子機器をネットワークに接続して利用する場面も多くなった。
一人のユーザが複数のクライアントを利用する場合、当該ユーザ宛てのメッセージをどのクライアントに転送するかを選択するための技術として、特許文献1が公開されている。
特許文献1に記載のシステムでは、クライアントの優先度、クライアントの着信の可否を示すプレゼンス、およびクライアントにおけるメディア(例えば、テキスト、音声、ビデオ等)の使用状態をサーバに記憶させる。サーバが有するこれら優先度等の情報は、クライアントの利用状況等に応じて、逐次更新される。
サーバは、複数のクライアントを利用するユーザ宛てのメッセージを受信すると、当該ユーザが利用する全てのクライアントを対象に、優先度等を調査する。サーバは、プレゼンスが「着信可能」であり、かつ、保有する全てのメディアが未使用状態であるクライアントの中で優先度が最も高いクライアントを転送先として選択する。
特開2004−153352
従来のメッセージシステムにおいて、複数のクライアントを利用するユーザ宛てに、第1のメッセージに続いて、第2のメッセージが送信された場合、次のような挙動となる。
サーバは、第1のメッセージを受信した時点での優先度等の情報により、第1のメッセージを転送するクライアントを選択する。同様にサーバは、第2のメッセージを受信した時点での優先度等の情報により、第2のメッセージを転送するクライアントを選択する。
従って、従来の技術では、サーバが第1のメッセージを受信してから第2のメッセージを受信するまでの間に、転送先を選択するために使用する優先度等の情報が更新されると、第1のメッセージと第2のメッセージは異なるクライアントに転送されることがある。
しかしながら、第2のメッセージが、第1のメッセージと関連する内容である場合、2つのメッセージが異なるクライアントに転送されると不都合となることがある。
例えば第1のユーザが複数のデジタルカメラを利用している場合に、第2のユーザがネットワークを介して上記の複数のデジタルカメラのうちの1台を遠隔操作して撮影を実行し、当該デジタルカメラが撮影した撮像画像を第1のユーザ宛てに送信するように指示したいとする。このような場合、第2のユーザはクライアント端末を用いて、第1のメッセージとして「撮影の実行指示」を示すデータを送信し、第2のメッセージとして「画像の送信指示」を示すデータを送信する。
ここで、サーバが第1のメッセージを受信してから第2のメッセージを受信するまでの間に、メッセージの転送先を選択するために使用する優先度等の情報が更新された場合、「撮影の実行指示」と「画像の送信指示」が異なるクライアントに送信される。
しかし、「撮影の実行指示」と「画像の送信指示」が異なるクライアントに送信されてしまうと、第2のユーザは目的の操作を達成することができなくなってしまう。
ゆえに、第1のメッセージの受信と第2のメッセージの受信との間に、クライアントを選択するための優先度等が変更された場合にであっても、第2のメッセージは、第1のメッセージを受信したクライアントに転送される必要がある。
本発明では、上述の課題を鑑み、所望の目的を実現するために用いられる複数個のメッセージを、優先度等の変化にかかわらず同一のクライアントに転送することを可能とすることを目的とする。
前述の課題を解決するために、本発明は、第1のユーザが利用している第1のクライアント装置と前記第1のユーザが利用している第2のクライアント装置とを登録する登録手段と、送信するメッセージが他のメッセージと関連するかを前記送信するメッセージの内容に基づいて判定する判定手段と、前記第1のユーザを宛先とするメッセージを前記第1のクライアント装置及び前記第2のクライアント装置のうちいずれのクライアント装置に送信するかを決定するために用いる優先度を設定する設定手段と、他のメッセージと関連し前記第1のユーザを宛先とする第1のメッセージの送信後に前記第1のユーザを宛先として送信する第2のメッセージが前記第1のメッセージと関連しないと前記判定手段が判定した場合、前記優先度に基づいて前記第1のクライアント装置及び前記第2のクライアント装置のうちから前記第2のメッセージを送信するクライアント装置を決定し、前記第2のメッセージが前記第1のメッセージに関連すると前記判定手段が判定した場合、前記第1のクライアント装置及び前記第2のクライアント装置のうち前記第1のメッセージが送信されたクライアント装置を前記第2のメッセージの送信先として決定する決定手段と、前記決定手段が決定したクライアント装置に前記第2のメッセージを送信する送信手段とを有することを特徴とする。
本発明によれば、所望の目的を実現するために一体として用いられる複数個のメッセージを、同一のクライアントに届けることができる。
実施例1における、メッセージ転送システムを示す図。 実施例1における、サーバ及びクライアントの構成図。 実施例1における、サーバのプログラムモジュール及びクライアントのプログラムモジュールの構成図。 実施例1における、メッセージ転送システムの動作のシーケンス図。 実施例1における、優先度データを示す図。 実施例1における、送信されるメッセージセットと要素メッセージを示す図。 実施例1における、クライアントのメッセージセット処理のフローチャート。 実施例1における、サーバのメッセージセット処理のフローチャート。 実施例1における、サーバが記憶する転送先データを示す図。 実施例1における、サーバが実行する監視ルーチンのフローチャート。
(実施例1)
本実施例における、本提案のメッセージシステムの構成を図1を用いて説明する。図1において、サーバ6に、クライアント3、クライアント4、クライアント5が、ネットワーク7を介して接続されている。本実施例において、クライアント3及びクライアント4はデジタルカメラであるものとする。また、クライアント5はパーソナルコンピュータ(以下、「PC」という。)であるものとする。クライアントはPCやデジタルカメラに限られず、例えば、PDA(Personal Digital Assistant)や携帯電話、ポータブルミュージックプレイヤー、家庭用ゲーム機、プリンタなどの電子機器(装置)であってもよい。
本実施例では図1に示すように、ユーザ1およびユーザ2の二人のユーザを想定する。ユーザ1は、クライアント3およびクライアント4の2台の機器(装置)を利用している。また、ユーザ2は、クライアント5を利用している。本実施例のメッセージングシステムにおいて、ユーザ1の特定情報(ユーザID)として”JID_userA@example.com”が設定されている。同様に、ユーザ2の特定情報(ユーザID)として、”JID_userB@example.com”が設定されている。これらのユーザIDは図5を用いて後述するように、サーバ6(具体的には、後述の配信処理部51(図3(b)))が後述のメモリ22に登録する。このようにして、配信処理部51はユーザが利用しているクライアントを登録する。
次にサーバ6の構成を図2(a)を用いて説明する。サーバ6では、CPU21、メモリ22、操作部23及びインターフェース24がバス25を介して接続されている。CPU21は演算装置であり、後述のメモリ22に記憶されたプログラムを読み出して実行する。
メモリ22は、CPU21に実行させるためのプログラムを記憶する。メモリ22に記憶されるプログラムのモジュール構成を図3(b)に示す。配信処理部51は、クライアントの状態管理およびメッセージの配信処理を実現するプログラムモジュールである。
配信処理部51は優先度データ56を有する。優先度データ56は、同一のユーザIDが対応付けられたクライアントが複数ある場合に、配信処理部51が当該ユーザID宛てのメッセージの転送先を選択するために用いる優先度を記憶したデータである。優先度データ56の詳細については図5(a)を用いて後述する。解析部52は、受信したメッセージが、メッセージセットに含まれるか否かを判断するプログラムモジュールである。ここでメッセージセットとは、特定の処理を実行するために一体として用いられる複数のメッセージの集合のことをいう。転送先決定部54は、宛先とされた特定情報に対応するユーザが利用している1又は複数のクライアントの中からメッセージセットの転送先クライアントを決定するプログラムモジュールである。転送先記憶部55は、転送先決定部54で決定した転送先クライアントにメッセージセットの識別子を結び付けて記憶するプログラムモジュールである。
インターフェース24は、ネットワーク7と接続して、クライアントとメッセージの送受信を行う。操作部23は、サーバ6を操作するために用いられる。操作部23として、表示器および操作キーボードが含まれる。
次にクライアント3の構成を図2(b)を用いて説明する。クライアント3では、CPU31、メモリ32、操作部33、インターフェース34、カメラ部35がバス36を介して接続されている。CPU31は演算装置であり、後述のメモリ32に記憶されたプログラムを読み出して実行する。
メモリ32は、CPU31に実行させるためのプログラムを記憶する。メモリ32に記憶するプログラムのモジュール構成を図3(a)を用いて説明する。通知処理部41は、ログイン通知処理を実現するプログラムモジュールである。ログイン通知処理とは、ユーザがクライアントへログインすると、ログインがあったことを示すログインメッセージをクライアントからサーバに送信する処理である。メッセージセット処理部42は、メッセージセット処理を実現するプログラムモジュールである。ここでメッセージセット処理とは所定の処理を実行するために用いられる複数のメッセージにそれぞれ対応する識別子を付与してメッセージセットを構成する処理をいう。メッセージセット処理部42の詳細な動作は図7、及び図6を用いて後述する。
インターフェース34は、ネットワーク7と接続して、サーバ6とメッセージの送受信を行う。操作部33は、クライアント3を操作するために用いられる。操作部33として、表示器および操作キーボードが含まれる。本実施例において、クライアント3およびクライアント4はデジタルカメラである。クライアント4もクライアント3と同様にして構成される。また、本実施例においてクライアント5はPCである。クライアント5は図2(b)に示したクライアント3の構成のうち、カメラ部35を有さないが、その他の構成はクライアント3と同様に構成される。
次に、本実施例におけるメッセージシステムの動作について説明する。本実施例におけるメッセージシステムの動作シーケンスを図4に示す。
まずシーケンスS601において、ユーザ1がクライアント3へログインする。ユーザ1がクライアント3へログインすると、クライアント3の通知処理部41が規定されたログインメッセージをサーバ6に送信する。サーバ6の配信処理部51は、ログインメッセージを受信するとユーザ1がクライアント3からログイン状態となったことを記憶する。具体的には配信処理部51は、図5(a)に示すように、クライアントとそのクライアントにログインしているユーザの特定情報とを記憶する。同様にして、シーケンスS602において、ユーザ1はクライアント4にもログインする。さらに同様にして、シーケンスS603において、ユーザ2がクライアント5へログインする。
次にシーケンスS604において、ユーザ1はサーバ6に対してクライアント3の優先度を設定する。また、シーケンスS605において、ユーザ1はサーバ6に対してクライアント4の優先度を設定する。ここで、優先度とはサーバ6が受信したメッセージをいずれのクライアントに送信するか決定するために用いられる値である。本実施例においては、優先度の値は「−128」から「+127」までの範囲をとる整数であり、値の大きいほど優先度が高いものとする。また、優先度が最大のクライアントをメッセージの転送先として選択するものとする。本実施例においてログインした各クライアントの優先度を示す優先度データ56を図5(a)のテーブル71に示す。図5(a)のテーブル71には、受信されたメッセージの宛先とされたユーザ1が利用している複数のクライアントが登録されている。テーブル71の行72において、クライアント3の優先度が「50」に設定されている。同様に行73において、クライアント4の優先度が「0」に設定されている。
続いてシーケンスS607では、ユーザ2が、ユーザ1がログインしているカメラを用いたリモート撮影を実行する。ここでリモート撮影とは、遠隔地にあるカメラにネットワークを介して撮影を実行させ、撮影して得られた画像データを取得する撮影動作のことをいう。本実施例においてユーザ2は、クライアント5を操作してデジタルカメラであるクライアント3又はクライアント4に対して図6(a)に示すメッセージを送信することでリモート撮影を実行する。
クライアント5はクライアント3又はクライアント4に対して、図6(a)に示した第1のメッセージ82及び第2のメッセージ83を送信する。第1のメッセージ82は、デジタルカメラのレリーズ(撮影動作)の実行指示を意味するメッセージである。デジタルカメラであるクライアント3又はクライアント4は、第1のメッセージ82を受け取ると、レリーズを実行する。第2のメッセージ83は、撮影した画像データをメッセージの送信者に送信させる動作の実行指示を意味するメッセージである。デジタルカメラであるクライアント3又はクライアント4は、第2のメッセージ83を受け取ると、直前のレリーズによって得られた撮影画像を第2のメッセージ83の送信者であるクライアント5に送信する。シーケンスS607において、第1のメッセージ82、第2のメッセージ83の順でメッセージがデジタルカメラに送信されることでリモート撮影が行われる。
次にシーケンスS608において、クライアント5のメッセージセット処理部42は、メッセージセット処理を実行する。ここで、メッセージセット処理とは特定の処理を実行するために一体として用いられる複数のメッセージに、共通の識別子を付与してメッセージセットを構成する処理をいう。本実施例において、メッセージセットとして、上述のリモート撮影動作を行うために用いられるメッセージ群である第1のメッセージ82および第2のメッセージ83が該当する。図6(a)の81はリモート撮影を行うためのメッセージセットである。
クライアント5によるメッセージセット処理について図7のフローチャートを用いて説明する。まず、メッセージセット処理部42は新規に識別子を生成する(S91)。次に、メッセージセット処理部42はすべての要素メッセージにステップS91で生成した識別子を文字列として付与する(S92)。本実施例ではメッセージの交換にリアルタイムメッセージングプロトコルであるXMPP(Extensible Messaging and Presence Protocol)を用いる。そして、ステップS91で生成した識別子を、XMPPで定義されているタグである「thread」を用いて文字列としてメッセージに付与する。メッセージに「thread」タグが含まれている場合、そのメッセージはメッセージセットの要素メッセージであることを示す。メッセージセットの要素メッセージであることを示すタグは「thread」以外の予め定められたタグである形態としてもよく、任意に設定した文字列であってもよい。本実施例において、いずれのメッセージをメッセージセットの要素メッセージとするかについてはクライアント5を用いるユーザ2が設定することができる。ただし、設定方法はこれに限られるものではない。
シーケンスS608のメッセージ処理を行って作成されたメッセージを図6(b)に示す。図6(b)のメッセージ101は、上述の第1のメッセージ82に識別子として文字列102を付与したものである。また、図6(b)のメッセージ103は、上述の第2のメッセージ83に識別子として文字列104を付与したものである。
識別子がメッセージに存在することで、サーバ6はそのメッセージがメッセージセットに属していることを認識することができる。さらに、サーバ6は同一の識別子がメッセージ中に存在する複数のメッセージを、同一のメッセージセットに属する要素メッセージであるとして認識することができる。ここで要素メッセージとは、メッセージセットに属する個々のメッセージのことをいう。例えば、第1のメッセージ82および第2のメッセージ83は、リモート撮影を行うためのメッセージセット81の要素メッセージである。本実施例では、タグ105の中の文字列102、および、タグ106の中の文字列104は、ステップS91で生成した識別子であり、同一の文字列が記載されている。なお、この文字列102と104は、第1のメッセージ82と第2のメッセージ83が同一のメッセージセットに属していると受信側で判断できれば、同一でなくてもよい。例えば、文字列の最後の数ケタは、同一メッセージセット内の何番目のメッセージかを示す数字としてもよい。
次にシーケンスS609において、クライアント5は、第1のメッセージ101をサーバ6に送信する。第1のメッセージ101は、デジタルカメラのレリーズ(撮影動作)の実行指示を意味するメッセージである。サーバ6は、第1のメッセージを受信するとメッセージセット処理部53においてメッセージセット処理を実行する(S610)。シーケンスS610におけるメッセージセット処理のフローを図8を用いて説明する。図8の処理フローは図8に示される手順をCPU21に実行させるためのプログラムを示す。
まず解析部52が、クライアント5から受信したメッセージの内容を解析し、メッセージセットを示す文字列を格納するタグがあるかどうか判断する(S1101)。本実施例においては、図6(b)に示したように、メッセージセットを示す識別子を「thread」という名称のタグに格納している。本実施例では、解析部52は「thread」タグの有無を確認することにより、受信したメッセージがメッセージセットに含まれるか否かを判断する。
メッセージに「thread」タグがある場合(S1101でYESの場合)は、後述のステップS1102へ進む。一方、メッセージセットを示す識別子を有しないメッセージを受信した場合(S1101でNOの場合)は、転送先決定部54が、図5(a)に示したクライアント優先度データに基づいて転送先クライアントを決定する(S1108)。そして後述のステップS1106へ進む。ここで、クライアントの決定方法は優先度に限られない。クライアントのプレゼンスやメディアの使用状況を選択基準にしてもよい。またはそれらと優先度とを総合的に考慮してメッセージ転送先のクライアントを決定してもよい。
ステップS1102では転送先決定部54が受信したメッセージからメッセージセットを示す識別子の値を抽出する。本実施例では、文字列102がメッセージセットを示す識別子として抽出される。
次に転送先決定部54は、ステップS1102で抽出した識別子が、転送先記憶部55に転送先データとして記憶されているか判断する(S1103)。ここで転送先データとは、メッセージの送信者、そのメッセージが含まれるメッセージセットを示す識別子、及びそのメッセージセットに含まれる要素メッセージの転送先についてのデータである。
転送先記憶部55により記憶されている転送先データを表すテーブルの例を図9(a)に示す。本実施例において、第1のメッセージを受信した時点では、転送先データには文字列102と一致する識別子が格納されていない状態となっている。そこで、転送先決定部54はステップS1103においてNOを選択し、ステップS1104に進む。
次にステップS1104において、サーバ6の転送先決定部54は、上述の優先度データ56を用いて第1のメッセージ101の転送先をユーザ1が利用している複数のクライアントの中から決定する。図5(a)に示したクライアント優先度データによれば、クライアント3の優先度が最上位であるため、このメッセージの転送先はクライアント3であると決定される。
次に転送先記憶部55は、ステップS1102で抽出したメッセージセットの識別子と、ステップS1104で第1のメッセージの転送先として転送先決定部54が決定したクライアントとを転送先データとして記憶する(S1105)。ステップS1105において転送先データが記録された様子を図9(b)に示す。図9(b)の例では、文字列123は、第1のメッセージ101の送信元であるユーザ2の識別子である。文字列124は、ステップS1102で抽出した第1メッセージ101の識別子である。文字列125は、ステップS1105で決定したメッセージの転送先クライアントの識別子である。
ステップS1105において転送先データが保存されると、配信処理部51は決定された転送先クライアントに第1のメッセージ101を転送する(S1106)。こうしてシーケンスS610のメッセージセット処理を終了し、サーバ6はシーケンスS611において、第1のメッセージ101をクライアント3に送信する。図8に示したメッセージセット処理フローのステップS1103においてYESであった場合の処理の説明については、後述するシーケンスS616でのメッセージセット処理の説明において行う。
次に、シーケンスS612において、クライアント3はサーバ6から第1のメッセージ101を受信すると、それに対する返答をクライアント5に返信する。
ここで、本実施例では、クライアント3が第1のメッセージ101を受信した後に、ユーザ1がクライアント4の優先度を再設定する場合について説明する。ユーザ1によってクライアント4の優先度の再設定がなされると、シーケンスS613およびシーケンスS614の処理が実行される。すなわちシーケンスS613において、クライアント4は再設定された優先度をサーバ6に通知する。そしてシーケンスS614において、サーバ6の配信処理部51が優先度データ56を更新する。シーケンスS614において優先度データ56が更新された後の優先度データ131を図5(b)に示す。行133のクライアント4の優先度が更新されたことから、ユーザ1に宛てられたメッセージの転送先クライアントは優先度が最も高い「client4」となる。
続いて、シーケンスS615において、クライアント5は第2のメッセージ103をサーバ6に送信する。第2のメッセージ83は、撮影した画像データをメッセージの送信者に送信させる動作の実行指示を意味するメッセージである。第2のメッセージ103を受信したサーバ6は、シーケンスS616において、上述のシーケンスS610と同様に図8に示すフローチャートのメッセージセット処理を実施する。
ここで、シーケンスS616におけるメッセージセット処理について図8を用いて説明する。まず、S1101において、受信した第2のメッセージ103に「thread」タグがあるため、ステップS1102に進む。
ステップS1102において転送先決定部54はメッセージセットを示す識別子を抽出する。本実施例では、図6(b)の文字列104がメッセージセットを示す識別子として抽出される。次に転送先決定部54は、ステップS1102で抽出した識別子が転送先記憶部55に転送先データとして記憶されているか判断する(S1103)。
本実施例では、図9(b)に示すように、第1のメッセージ103のメッセージセットの識別子が、シーケンスS610のメッセージセット処理におけるステップS1105で転送先データ121として転送先記憶部55に記憶されている。また上述の通り第1のメッセージ101のメッセージセットの識別子と第2のメッセージ103のメッセージセットの識別子は同一である。従って、シーケンスS616におけるメッセージセット処理では、ステップS1103においてYESに分岐してステップS1107に進む。そしてステップS1107において、転送先決定部54は図9(b)に示した転送先データ121の行122を参照し、メッセージの転送先クライアントをクライアント3と決定する。
このようにして、転送先決定部54は、第2のメッセージの宛先が第1のメッセージの宛先と同一であり、第2のメッセージに付与された識別子が第1のメッセージに付与された識別子と対応する場合、以下のようにして第2のメッセージの転送先を決定する。すなわち、転送先決定部54は、第1のメッセージに付与された識別子に対応する識別子が付与された第2のメッセージをユーザ1の特定情報を宛先として受信した場合に、転送先記憶部55が記憶したクライアントを第2のメッセージの転送先として決定する。なお、転送先記憶部55が記憶したクライアントは、第1のメッセージの宛先として転送先決定部54により決定されたクライアントである。なお、転送先決定部54は、第2のメッセージの識別子が第1のメッセージに対応する場合、第2のメッセージの宛先に関わらず、第1のメッセージと同じ転送先に転送してもよい。すなわち、撮影を指示するクライアントと、撮影された画像の送信を指示するクライアントは、別でもよい。
次にステップS1109では、決定した転送先クライアントが、メッセージを受信可能であるかどうかを確認する。転送先クライアントがメッセージを受信可能であるかの確認はメッセージセット処理部53が、配信処理部51にクライアント3のプレゼンスを問い合わせることにより行う。転送先クライアントがメッセージを受信可能である場合(S1109でYESの場合)は、ステップS1106に進み、決定した転送先にメッセージを転送する。本実施例では、クライアント3のプレゼンスはシーケンスS601のログイン時から変更されておらず、メッセージ受信可能状態であるためステップS1106に進む。こうしてシーケンスS616のメッセージセット処理を終了し、サーバ6はシーケンスS617において、第2のメッセージ103をクライアント3に送信する。
ステップS1109の処理でメッセージセット処理部53が、転送先クライアントがメッセージを受信可能でないと判断した場合(S1109でNOの場合)は、ステップS1110に進む。ステップS1110では、メッセージの送信元(本シーケンスでは、クライアント5)に、第2のメッセージ103が転送できなかったことを示すエラーメッセージを返してメッセージセット処理を終了する。ここで、クライアントがメッセージを受信可能でない場合とは、例えば、既に転送先クライアントから宛先とされたユーザがログアウトしてしまった場合や、ユーザがログインしているがメッセージを受信しない設定がクライアントでなされた場合などが該当する。ただし、メッセージを受信可能でない場合とはこれらの場合に限定されるものではなく、メッセージを受信可能でない場合については適宜設定することができる。
このようにして、本実施例にかかるメッセージ転送システムは、第2のメッセージの転送先として決定したクライアントがメッセージを受信できない状態である場合には、第2のメッセージの送信を行わないようにする。従って、ユーザが意図しないメッセージの送信を防ぐことができる。また、本実施例にかかるメッセージ転送システムは、転送先として決定したクライアントがメッセージを受信できない状態である場合には、メッセージの送信を行ったクライアントに第2のメッセージが転送できなかったことを示すエラーメッセージを送信する。従って、ユーザは第2のメッセージが送信できなかったことを知ることができ、システムの利便性が向上する。
次に、シーケンスS618において、クライアント3はサーバ6から第2のメッセージ103を受信すると、メッセージを受信したことを示す信号をクライアント5に返信する。また、本実施例において、第2のメッセージは撮像した画像をメッセージの送信者であるクライアント5に送るように指示する内容であるので、メッセージを受信したことを示す信号とともに、クライアント3は撮像した画像をクライアント5に送信する。
最後に、転送先データの破棄に関する動作について説明する。本実施例では、サーバ6のメッセージセット処理部53は、転送先データ121の各項目に対し以下の図10に示す図8を用いて説明したメッセージセット処理と独立に並行して監視ルーチンを実行して、転送先データの破棄を行う。
ステップS1401では、メッセージセット処理部53は、ステップS1110でのエラーメッセージが閾値以上送信されているか確認する。エラーメッセージが閾値(例えば、本実施例では5回)以上送信されていたら、該当する転送先データの項目を削除する(S1404)。
ステップS1402では、メッセージセット処理部53は、メッセージセットの要素メッセージが閾値(例えば、本実施例では5分)以上の時間受信されないかを監視する。閾値以上受信されない場合(S1402でYESの場合)は、メッセージセット処理部53は該当する転送先データの項目を削除する(S1404)。
ステップS1403では、メッセージセット処理部53は、配信処理部51を参照してメッセージの送信元のクライアントがログインしているか監視する。メッセージの送信元のクライアントがログアウトしている場合は、該当する転送先データの項目を削除する(S1404)。
こうして図10に示した監視ルーチンを実行して転送先データを削除することにより、不要となった転送先データを自動的に削除してゆくことができる。
以上のようにして、図4に示したシーケンスが実現される。本実施例では、メッセージセット処理(シーケンスS608およびシーケンスS610)を行うことにより、第2のメッセージ103の転送先クライアントが、第1のメッセージ101の転送先クライアントと同一のクライアント3となる。このようにして、所望の目的を実現するために一体として用いられる複数個のメッセージを、メッセージの転送先を選択するために使用する優先度等の変化に関わらず、同一のクライアントに届けることができる。
(その他の実施例)
本発明には、以下の形態も含まれる。すなわちクライアント5が、メッセージセットの送信開始をメッセージサーバ6に伝え、メッセージセットの開始とともにサーバ6がメッセージセットの識別子の発行を開始する形態である。上述の実施例においてクライアント5のメッセージセット処理部42が発行するメッセージセットの識別子を、本形態においてはサーバ6のメッセージセット処理部53が発行することによりこれを実現することができる。この形態では、クライアントにメッセージIDを管理させる必要がなく、クライアントのプログラムモジュールの軽量化を図ることができる。従って、ハードウェアリソースの乏しい電子機器への実装に有利である。
実施例1ではメッセージ交換にXMPPを用いる場合を例にして説明したが、これに限られない。例えば、呼制御プロトコルであるSIP(Session Initiation Protocol)を用いる場合にも本発明を適用することができる。SIPでは、XMPPと同様に、ユーザ名に対して、メッセージの送り先の候補となるクライアントが複数ある場合は、サーバで解決する仕組みが定められている。(SIPは、IETF(Internet Engineering Task Force)により仕様が策定され、公開されている呼制御プロトコルである。)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
51 配信処理部
54 転送先決定部
55 転送先記憶部

Claims (16)

  1. 第1のユーザが利用している第1のクライアント装置と前記第1のユーザが利用している第2のクライアント装置とを登録する登録手段と、
    送信するメッセージが他のメッセージと関連するかを前記送信するメッセージの内容に基づいて判定する判定手段と、
    前記第1のユーザを宛先とするメッセージを前記第1のクライアント装置及び前記第2のクライアント装置のうちいずれのクライアント装置に送信するかを決定するために用いる優先度を設定する設定手段と、
    他のメッセージと関連し前記第1のユーザを宛先とする第1のメッセージの送信後に前記第1のユーザを宛先として送信する第2のメッセージが前記第1のメッセージと関連しないと前記判定手段が判定した場合、前記優先度に基づいて前記第1のクライアント装置及び前記第2のクライアント装置のうちから前記第2のメッセージを送信するクライアント装置を決定し、前記第2のメッセージが前記第1のメッセージに関連すると前記判定手段が判定した場合、前記第1のクライアント装置及び前記第2のクライアント装置のうち前記第1のメッセージが送信されたクライアント装置を前記第2のメッセージの送信先として決定する決定手段と、
    前記決定手段が決定したクライアント装置に前記第2のメッセージを送信する送信手段と
    を有することを特徴とする送信装置。
  2. 前記第2のメッセージが前記第1のメッセージと関連すると前記判定手段が判定した場合であって前記第1のメッセージが送信されたクライアント装置がメッセージを受信できない状態である場合には、前記第2のメッセージの送信を行わず、前記第2のメッセージの送信元に前記第2のメッセージが送信できなかったことを示すエラーメッセージを送信することを特徴とする請求項1に記載の送信装置。
  3. 前記送信手段は、前記第2のメッセージが前記第1のメッセージに関連しない場合、前記第2のメッセージを前記第1のクライアント装置よりも優先度が高い前記第2のクライアント装置に送信することを特徴とする請求項1に記載の送信装置。
  4. 前記送信手段が前記第1のクライアント装置又は前記第2のクライアント装置に送信するメッセージを、第3のクライアント装置から受信する受信手段と、
    前記第1のユーザを宛先とする前記第1のメッセージを送信した前記第1のクライアント装置を示すデータを記憶する記憶手段とを有し、
    前記送信手段は、前記第2のメッセージに付与された識別子と前記第1のメッセージに付与された識別子とが対応すると前記判定手段が判定した場合、前記設定手段が設定した優先度にかかわらず、前記記憶手段に記憶された前記データに基づいて、前記第1のユーザを宛先とする前記第1のメッセージを送信した前記第1のクライアント装置に前記第2のメッセージを送信し、
    前記第1のメッセージに付与された識別子に対応する識別子が付与され前記第1のユーザを宛先とする前記第2のメッセージを前記受信手段が所定の閾値以上の時間受信しない場合、前記記憶手段は、前記第1のユーザを宛先とするメッセージを送信した前記第1のクライアント装置を示すデータを削除する
    ことを特徴とする請求項1に記載の送信装置。
  5. 前記判定手段が他のメッセージと関連すると判定したメッセージに付与された識別子を記憶する記憶手段を有し、
    前記判定手段は、送信すべきメッセージに付与された識別子に対応する識別子が前記記憶手段に記憶されているか判定し、
    前記送信手段は、前記送信すべきメッセージが前記他のメッセージと関連すると前記判定手段が判定した場合であって前記送信すべきメッセージに付与された識別子に対応する識別子が前記記憶手段に記憶されている場合には、前記設定手段が設定した優先度にかかわらず、前記第1のクライアント装置及び前記第2のクライアント装置のうち前記他のメッセージが送信されたクライアント装置に前記送信すべきメッセージを送信し、前記送信すべきメッセージが前記他のメッセージと関連すると前記判定手段が判定した場合であって前記送信すべきメッセージに付与された識別子に対応する識別子が前記記憶手段に記憶されていない場合には、前記第1のクライアント装置及び前記第2のクライアント装置のうち前記設定手段が設定した優先度に応じて決定されるクライアント装置に前記送信すべきメッセージを送信することを特徴とする請求項1に記載の送信装置。
  6. 前記送信手段は、前記第2のクライアント装置よりも高い前記優先度が設定された前記第1のクライアント装置に前記第1のメッセージを送信し、
    前記設定手段は、前記第1のメッセージが前記第1のクライアント装置に受信された後に前記第1のクライアント装置よりも前記第2のクライアント装置の優先度が高くなるように前記優先度を更新し、
    前記決定手段は、前記第1のメッセージと前記第2のメッセージとが関連すると前記判定手段が判定した場合であって、前記優先度の更新後に前記第2のメッセージを送信する場合、更新後の前記優先度にかかわらず、前記第1のメッセージが送信された前記第1のクライアント装置に前記第2のメッセージを送信することを決定することを特徴とする請求項1に記載の送信装置。
  7. 第1のユーザが利用している第1のクライアント装置と前記第1のユーザが利用している第2のクライアント装置とを登録する登録手段と、
    送信するメッセージが他のメッセージと関連するかを前記送信するメッセージの内容に基づいて判定する判定手段と、
    前記第1のユーザを宛先とするメッセージを前記第1のクライアント装置及び前記第2のクライアント装置のうちいずれのクライアント装置に送信するかを決定するために用いる優先度を設定する設定手段と、
    他のメッセージと関連し前記第1のユーザを宛先とする第1のメッセージの送信後に前記第1のユーザを宛先として送信する第2のメッセージが前記第1のメッセージと関連しないと前記判定手段が判定した場合、前記優先度に基づいて前記第1のクライアント装置及び前記第2のクライアント装置のうちから前記第2のメッセージを送信するクライアント装置を決定し、前記第2のメッセージが前記第1のメッセージに関連すると前記判定手段が判定した場合、前記第1のクライアント装置及び前記第2のクライアント装置のうち前記第1のメッセージが送信されたクライアント装置を前記第2のメッセージの送信先として決定する決定手段と、
    前記決定手段が決定したクライアント装置に前記第2のメッセージを送信する送信手段と
    を有することを特徴とする送信システム。
  8. 前記送信手段は、前記第2のメッセージが前記第1のメッセージに関連しない場合、前記第2のメッセージを前記第1のクライアント装置よりも優先度が高い前記第2のクライアント装置に送信することを特徴とする請求項に記載の送信システム。
  9. 第1のユーザが利用している第1のクライアント装置と前記第1のユーザが利用している第2のクライアント装置とを登録する登録ステップと、
    送信するメッセージが他のメッセージと関連するかを前記送信するメッセージの内容に基づいて判定する判定ステップと、
    前記第1のユーザを宛先とするメッセージを前記第1のクライアント装置及び前記第2のクライアント装置のうちいずれのクライアント装置に送信するかを決定するために用いる優先度を設定する設定ステップと、
    他のメッセージと関連し前記第1のユーザを宛先とする第1のメッセージの送信後に前記第1のユーザを宛先として送信する第2のメッセージが前記第1のメッセージと関連しないと判定した場合、前記優先度に基づいて前記第1のクライアント装置及び前記第2のクライアント装置のうちから前記第2のメッセージを送信するクライアント装置を決定し、前記第2のメッセージが前記第1のメッセージに関連すると判定した場合、前記第1のクライアント装置及び前記第2のクライアント装置のうち前記第1のメッセージが送信されたクライアント装置を前記第2のメッセージの送信先として決定する決定ステップと、
    前記決定ステップにおいて決定したクライアント装置に前記第2のメッセージを送信する送信ステップと
    を有することを特徴とする送信方法。
  10. 前記第2のメッセージが前記第1のメッセージと関連すると判定した場合であって前記第1のメッセージが送信されたクライアント装置がメッセージを受信できない状態である場合には、前記第2のメッセージの送信を行わず、前記第2のメッセージの送信元に前記第2のメッセージが送信できなかったことを示すエラーメッセージを送信する第3の送信ステップを有することを特徴とする請求項に記載の送信方法。
  11. 記送信ステップにおいて、前記第2のメッセージが前記第1のメッセージに関連しない場合、前記第2のメッセージを前記第1のクライアント装置よりも優先度が高い前記第2のクライアント装置に送信することを特徴とする請求項に記載の送信方法。
  12. 前記第1のクライアント装置又は前記第2のクライアント装置に送信するメッセージを、第3のクライアント装置から受信する受信ステップと、
    前記第1のユーザを宛先とする前記第1のメッセージを送信した前記第1のクライアント装置を示すデータを記憶手段に記憶する記憶ステップと、
    前記第1のメッセージに付与された識別子に対応する識別子が付与され前記第1のユーザを宛先とするメッセージを前記受信ステップにおいて所定の閾値以上の時間受信しない場合、前記第1のユーザを宛先とするメッセージを送信した前記第1のクライアント装置を示すデータを前記記憶手段から削除する削除ステップとを有することを特徴とする請求項に記載の送信方法。
  13. コンピュータに、
    第1のユーザが利用している第1のクライアント装置と前記第1のユーザが利用している第2のクライアント装置とを登録する登録手順と、
    送信するメッセージが他のメッセージと関連するかを前記送信するメッセージの内容に基づいて判定する判定手順と、
    前記第1のユーザを宛先とするメッセージを前記第1のクライアント装置及び前記第2のクライアント装置のうちいずれのクライアント装置に送信するかを決定するために用いる優先度を設定する設定手順と、
    他のメッセージと関連し前記第1のユーザを宛先とする第1のメッセージの送信後に前記第1のユーザを宛先として送信する第2のメッセージが前記第1のメッセージと関連しないと判定した場合、前記優先度に基づいて前記第1のクライアント装置及び前記第2のクライアント装置のうちから前記第2のメッセージを送信するクライアント装置を決定し、前記第2のメッセージが前記第1のメッセージに関連すると判定した場合、前記第1のクライアント装置及び前記第2のクライアント装置のうち前記第1のメッセージが送信されたクライアント装置を前記第2のメッセージの送信先として決定する決定手順と、
    前記決定手順において決定したクライアント装置に前記第2のメッセージを送信する送信手順と
    を実行させるためのプログラム。
  14. 前記コンピュータに、
    前記第2のメッセージが前記第1のメッセージと関連すると判定した場合であって前記第1のメッセージが送信されたクライアント装置がメッセージを受信できない状態である場合には、前記第2のメッセージの送信を行わず、前記第2のメッセージの送信元に前記第2のメッセージが送信できなかったことを示すエラーメッセージを送信する第3の送信手順を実行させるための請求項13に記載のプログラム。
  15. 前記コンピュータに、
    記送信手順において、前記第2のメッセージが前記第1のメッセージに関連しない場合、前記第2のメッセージを前記第1のクライアント装置よりも優先度が高い前記第2のクライアント装置に送信する処理を実行させるための請求項13に記載のプログラム。
  16. 前記コンピュータに、
    前記第1のクライアント装置又は前記第2のクライアント装置に送信するメッセージを第3のクライアント装置から受信する受信手順と、
    前記第1のユーザを宛先とする前記第1のメッセージを送信した前記第1のクライアント装置を示すデータを記憶手段に記憶する記憶手順と、
    前記第1のメッセージに付与された識別子に対応する識別子が付与され前記第1のユーザを宛先とする前記第2のメッセージを前記受信手順において所定の閾値以上の時間受信しない場合、前記第1のユーザを宛先とするメッセージを送信した前記第1のクライアント装置を示すデータを前記記憶手段から削除する削除手順とを実行させるための請求項13に記載のプログラム。
JP2010273906A 2010-12-08 2010-12-08 送信装置、送信システム、送信方法、およびプログラム Expired - Fee Related JP5729994B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010273906A JP5729994B2 (ja) 2010-12-08 2010-12-08 送信装置、送信システム、送信方法、およびプログラム
US13/310,534 US20120150995A1 (en) 2010-12-08 2011-12-02 Transfer apparatus, message transfer system, message transfer method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010273906A JP5729994B2 (ja) 2010-12-08 2010-12-08 送信装置、送信システム、送信方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2012123632A JP2012123632A (ja) 2012-06-28
JP2012123632A5 JP2012123632A5 (ja) 2014-03-27
JP5729994B2 true JP5729994B2 (ja) 2015-06-03

Family

ID=46200503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010273906A Expired - Fee Related JP5729994B2 (ja) 2010-12-08 2010-12-08 送信装置、送信システム、送信方法、およびプログラム

Country Status (2)

Country Link
US (1) US20120150995A1 (ja)
JP (1) JP5729994B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6332915B2 (ja) 2013-06-14 2018-05-30 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
KR20150034061A (ko) * 2013-09-25 2015-04-02 삼성전자주식회사 복수의 클라이언트들에 의한 촬영 환경 설정 방법 및 장치
US20170090718A1 (en) * 2015-09-25 2017-03-30 International Business Machines Corporation Linking selected messages in electronic message threads
US10178512B2 (en) * 2015-12-18 2019-01-08 At&T Intellectual Property I, L.P. Information broadcast

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095843B1 (en) * 1999-02-09 2006-08-22 Rockwell Electronic Commerce Technologies, Llc Selective messaging in a multiple messaging link environment
JP3585116B2 (ja) * 2000-10-26 2004-11-04 日本アイ・ビー・エム株式会社 電子メール振り分けシステム、顧客サービスシステム、サーバシステム、電子メールの振り分け方法
JP2003288309A (ja) * 2002-03-27 2003-10-10 Toshiba Corp メッセージ処理装置、メッセージ処理システム及びメッセージ処理方法
JP3867655B2 (ja) * 2002-10-29 2007-01-10 株式会社日立製作所 マルチメディアコミュニケーションシステム
US7747588B2 (en) * 2005-09-12 2010-06-29 Microsoft Corporation Extensible XML format and object model for localization data
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
US20090191873A1 (en) * 2008-01-24 2009-07-30 At&T Labs System and method of registering users at devices in an ip multimedia subsystem (ims) using a network-based device
JP5233313B2 (ja) * 2008-02-25 2013-07-10 富士通株式会社 セッション制御装置及びセッション制御方法
JP2009271651A (ja) * 2008-05-02 2009-11-19 Fujitsu Ltd 家電等の宅内のローカル端末に対するsipセッション制御方式
US20110137991A1 (en) * 2009-12-01 2011-06-09 Lester Paul Russell Systems and methods for management and collaboration in a private network
US9519728B2 (en) * 2009-12-04 2016-12-13 Time Warner Cable Enterprises Llc Apparatus and methods for monitoring and optimizing delivery of content in a network

Also Published As

Publication number Publication date
US20120150995A1 (en) 2012-06-14
JP2012123632A (ja) 2012-06-28

Similar Documents

Publication Publication Date Title
US11362984B2 (en) Matter message notification method, apparatus, and device
EP2599271B1 (en) Instant messaging using multiple instances of a client
US9779056B2 (en) Communication server, communication system, program, and communication method
JP5729994B2 (ja) 送信装置、送信システム、送信方法、およびプログラム
WO2009017181A1 (ja) 一時接続番号管理システム、端末、一時接続番号管理方法、および一時接続番号管理プログラム
EP2849435A1 (en) Communication terminal, communication management system, communication system and carrier medium
JP2016034129A (ja) 情報送信システム、通信端末、通信システム、情報送信方法、及びプログラム
JP6107977B2 (ja) アクセス制御装置、通信システム、プログラム、及びアクセス制御方法
JP6724423B2 (ja) 通信端末、通信システム、出力方法、及びプログラム
US10205686B2 (en) Communication terminal, communication system, and output method
JP2007207013A (ja) 情報処理装置、情報共有プログラム
WO2017017872A1 (en) Communication terminal, communication system, communication management method, and medium
JP2012108909A (ja) モバイルメッセージングサービスにおけるファイル送信をサポートするファイル送信管理システム及びファイル送信管理方法
JP6729123B2 (ja) 通信システム、リソース管理方法、及びプログラム
JP2011182115A (ja) 通信方法、通信システム及びサーバ
JP2015019356A (ja) 通信管理システム、通信管理方法、及びプログラム
JP2006086940A (ja) 画像配信システム
JP3801960B2 (ja) 端末装置、センタ装置、コンテンツ配信システム、端末用プログラム及びコンテンツ配信用プログラム
JP2017034374A (ja) 伝送管理システム、伝送システム、情報処理装置、伝送管理方法、及びプログラム
EP3029882B1 (en) Apparatus, system, and method for determining destination for state information and carrier means
JP2015049745A (ja) サーバ装置、情報処理方法、及びプログラム
KR20140141926A (ko) 멀티미디어 파일의 업로드 장치 및 방법
JP7164833B2 (ja) 遠隔コミュニケーションシステム、通信方法、プログラム
JP2004334427A (ja) 通信装置
JP6493416B2 (ja) 制御システム、通信端末、通信システム、制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150407

R151 Written notification of patent or utility model registration

Ref document number: 5729994

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees