JP4151356B2 - プログラム、情報処理方法および装置 - Google Patents

プログラム、情報処理方法および装置 Download PDF

Info

Publication number
JP4151356B2
JP4151356B2 JP2002261428A JP2002261428A JP4151356B2 JP 4151356 B2 JP4151356 B2 JP 4151356B2 JP 2002261428 A JP2002261428 A JP 2002261428A JP 2002261428 A JP2002261428 A JP 2002261428A JP 4151356 B2 JP4151356 B2 JP 4151356B2
Authority
JP
Japan
Prior art keywords
information
function
client
processing apparatus
information processing
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
JP2002261428A
Other languages
English (en)
Other versions
JP2004102506A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2002261428A priority Critical patent/JP4151356B2/ja
Priority to US10/652,426 priority patent/US7779115B2/en
Publication of JP2004102506A publication Critical patent/JP2004102506A/ja
Application granted granted Critical
Publication of JP4151356B2 publication Critical patent/JP4151356B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4046Arrangements for multi-party communication, e.g. for conferences with distributed floor control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はプログラム、情報処理方法および装置に関し、特に、通信相手の装置との間で利用可能な機能の状態に関する情報の授受に必要な負荷を軽減することができるようにしたプログラム、情報処理方法および装置に関する。
【0002】
【従来の技術】
最近、インターネットが普及し、インターネットを利用して各種のデータを相手側と授受するユーザが増えてきた。データの授受を行うシステムとしては、例えば、インターネットを介してテキスト情報の授受を行い、リアルタイムに相手との通信を行うインスタントメッセージ通信システム等が存在する。
【0003】
インスタントメッセージ通信システムは、通常、IMPP(Instant Messaging and presence protocol)を用いて構築されており、相手のプレゼンス情報の受信、および相手へのプレゼンス情報の送信が可能となっている。
【0004】
このプレゼンス情報は、通常、インスタントメッセージサービスを提供するサーバで管理される情報であり、通信相手によって変えることのできない唯一の情報である。すなわち、プレゼンス情報を送信する場合、友達(通信相手)として登録されている全ての人の装置に対して、同じプレゼンス情報が送信される。
【0005】
図1は、従来のIMPPを用いたインスタントメッセージ通信システムの例を示す図である。
【0006】
図1において、サーバ1は、インターネットに代表されるネットワーク5に接続されており、同様にネットワーク5に接続されているクライアント2乃至4に対して、インスタントメッセージサービスを提供している。
【0007】
サーバ1は、インスタントメッセージサービスを提供しているクライアントに関する情報をリスト11として保持し、クライアント2乃至4に対して、ID(IDentification)として、それぞれ、A@imsg,B@imsg,C@imsgを割り当てて、それらの状態を管理している。
【0008】
図1に示されるように、リスト11には、クライアント2乃至4(またはそれらのユーザ)の状態を示すプレゼンス情報リスト11−1、並びに、各クライアントが友達(通信相手)として指定するクライアントのリストである友達リスト11−2,11−3、および11−4が含まれている。
【0009】
図1の例においては、A@imsg(クライアント2)は、B@imsg(クライアント3)およびC@imsg(クライアント4)を友達(通信相手)として予め指定しており、B@imsgおよびC@imsgは、いずれもA@imsgを友達として予め指定している。また、A@imsgはオンライン中であり、B@imsgは食事中であり、C@imsgは仕事中である。
【0010】
プレゼンス情報は、各クライアントがログイン後、サーバ1に供給する情報であり、サーバ1は、取得したプレゼンス情報をプレゼンス情報リスト11−1としてリスト11に含めて保持し、管理する。
【0011】
プレゼンス情報に関する通信は、全てサーバ1とクライアント2乃至4との間に生成される1つのTCP/IPセッションで行われる。
【0012】
例えば、B@imsgのみがログインしている場合にA@imsgがログインすると、このときにA@imsg(クライアント2)がサーバ1に送信したプレゼンス情報は、プレゼンス情報リスト11−1に記録される。サーバ1は、さらに、このプレゼンス情報を、A@imsgの友達として登録されており、かつ、ログイン中であるB@imsg(クライアント3)に供給する。
【0013】
図2は、A@imsgがサーバ1に供給するプレゼンス情報の例を示す図である。図2において、プレゼンス情報はタグ<presence>に囲まれて定義されており、タグ<status>に囲まれた情報「オンライン」がプレゼンス情報リスト11−1に記録される。
【0014】
そしてさらに、サーバ1は、プレゼンス情報リスト11−1に記録されているB@imsgのプレゼンス情報である「食事中」をA@imsgに供給する。
【0015】
この状態から更に、C@imsgがログインすると、サーバ1は、その際にC@imsgより供給されたプレゼンス情報(「仕事中」)を、プレゼンス情報リスト11−1に記録するとともに、友達リスト11−4に基づいて、A@imsgに供給し、さらに、プレゼンス情報リスト11−1に記録されているA@imsgのプレゼンス情報(「オンライン」)をC@imsgに供給する。
【0016】
図3は、図1のインスタントメッセージ通信システムにおけるプレゼンス情報の更新の様子を示す図である。
【0017】
図3に示すように、A@imsg(クライアント2)が新たなプレゼンス情報21−1「退席中」を、ネットワーク5を介してサーバ1に供給すると、この情報は、サーバ1により、リスト11のプレゼンス情報リスト11−1に上書き記録される。
【0018】
サーバ1は、さらに、A@imsgの友達リスト11−2に基づいて、B@imsgおよびC@imsgに、そのプレゼンス情報「退席中」を、それぞれA@imsgのプレゼンス情報21−2および21−3として供給する。
【0019】
以上のようなインスタントメッセージ通信システムに関する概念は、IMPPに開示されている(例えば、非特許文献1参照)。このようなインスタントメッセージ通信システムを用いることにより、クライアント間でリアルタイムにテキスト情報を送受信するだけでなく、各クライアントが提供するサービスの状態等の情報を他のクライアントに提供することもできる。
【0020】
【非特許文献1】
H. Sugano、外4名、“Common Presence and Instant Messaging (CPIM) Presence Information Data Format”、[online]、2002年5月、INTERNET-DRAFT、[平成14年8月27日検索]、インターネット,<URL: http://search.ietf.org/internet-drafts/draft-ietf-impp-cpim-pidf-05.txt>
【0021】
【発明が解決しようとする課題】
しかしながら、以上のような方法においては、各クライアントが提供するサービスの状態等の情報はクライアント毎の情報として提供されており、各クライアントが提供するサービス毎にアナウンスすることができなかった。従って、インスタントメッセージ通信システムを用いて各クライアント間で提供されるサービスに関する情報の授受を行う場合、不要な情報も供給されてしまい、情報の授受の負荷が大きくなってしまう場合があるという課題があった。
【0022】
本発明はこのような状況に鑑みてなされたものであり、通信相手の装置との間で利用可能な機能の状態に関する情報の授受に必要な負荷を軽減することができるようにしたものである。
【0023】
【課題を解決するための手段】
本発明のプログラムは、ネットワークを介して、予め通信相手として登録されている複数の他の情報処理装置と情報を授受する情報処理装置を制御するコンピュータに、情報処理装置が有する機能を示す機能毎の情報のそれぞれに、情報処理装置が有する機能に対応する他の情報処理装置が有する機能およびその状態を示す機能毎の情報を関連付けて登録する登録ステップと、情報処理装置が有する機能の状態を示す機能毎の情報を、登録ステップにより登録された情報に基づいて、情報処理装置が有する機能に対応する機能を有する他の情報処理装置に対して供給する第1の供給ステップとを実行させることを特徴とする。
【0024】
前記他の情報処理装置が有する機能を示す機能毎の情報を取得する第1の取得ステップと、他の情報処理装置が有する機能の状態を示す機能毎の情報を取得する第2の取得ステップとをさらに実行させ、登録ステップは、第1の取得ステップにより取得された他の情報処理装置が有する機能を示す機能毎の情報と、他の情報処理装置が有する機能に対応する、第2の取得ステップにより取得された状態を示す情報を、他の情報処理装置が有する機能に対応する情報処理装置が有する機能を示す情報に関連付けて登録するようにすることができる。
【0025】
前記情報処理装置が有する機能を示す機能毎の情報を、各情報処理装置が有する機能を示す情報を管理する情報管理装置に供給する第2の供給ステップをさらに実行させるようにすることができる。
【0027】
本発明の情報処理方法は、情報処理装置が有する機能を示す機能毎の情報のそれぞれに、情報処理装置が有する機能に対応する他の情報処理装置が有する機能およびその状態を示す機能毎の情報を関連付けて登録する登録ステップと、情報処理装置が有する機能の状態を示す機能毎の情報を、登録ステップにより登録された情報に基づいて、情報処理装置が有する機能に対応する機能を有する他の情報処理装置に対して供給する第1の供給ステップとを含むことを特徴とする。
【0028】
前記他の情報処理装置が有する機能を示す機能毎の情報を取得する第1の取得ステップと、他の情報処理装置が有する機能の状態を示す機能毎の情報を取得する第2の取得ステップとをさらに含み、登録ステップは、第1の取得ステップにより取得された他の情報処理装置が有する機能を示す機能毎の情報と、他の情報処理装置が有する機能に対応する、第2の取得ステップにより取得された状態を示す情報を、他の情報処理装置が有する機能に対応する情報処理装置が有する機能を示す情報に関連付けて登録するようにすることができる。
【0029】
前記情報処理装置が有する機能を示す機能毎の情報を、各情報処理装置が有する機能を示す情報を管理する情報管理装置に供給する第2の供給ステップをさらに含むようにすることができる。
【0031】
本発明の情報処理装置は、情報処理装置が有する機能を示す機能毎の情報のそれぞれに、情報処理装置が有する機能に対応する他の情報処理装置が有する機能およびその状態を示す機能毎の情報を関連付けて登録する登録手段と、情報処理装置が有する機能の状態を示す機能毎の情報を、登録手段により登録された情報に基づいて、情報処理装置が有する機能に対応する機能を有する他の情報処理装置に対して供給する第1の供給手段とを備えることを特徴とする。
【0032】
前記他の情報処理装置が有する機能を示す機能毎の情報を取得する第1の取得手段と、他の情報処理装置が有する機能の状態を示す機能毎の情報を取得する第2の取得手段とをさらに実行させ、登録手段は、第1の取得手段により取得された他の情報処理装置が有する機能を示す機能毎の情報と、他の情報処理装置が有する機能に対応する、第2の取得手段により取得された状態を示す情報を、他の情報処理装置が有する機能に対応する情報処理装置が有する機能を示す情報に関連付けて登録するようにすることができる。
【0033】
前記情報処理装置が有する機能を示す機能毎の情報を、各情報処理装置が有する機能を示す情報を管理する情報管理装置に供給する第2の供給手段をさらに備えるようにすることができる。
【0068】
本発明においては、情報処理装置が有する機能を示す機能毎の情報のそれぞれに、情報処理装置が有する機能に対応する他の情報処理装置が有する機能およびその状態を示す機能毎の情報が関連付けて登録され、情報処理装置が有する機能の状態を示す機能毎の情報が、登録された情報に基づいて、情報処理装置が有する機能に対応する機能を有する他の情報処理装置に対して供給される。
【0072】
【発明の実施の形態】
図4は、本発明を適用したインスタントメッセージ通信システムの例を示す図である。
【0073】
図4において、サーバ31は、インターネットに代表されるネットワーク35に接続されており、同様に接続されているクライアント32乃至34に対してインスタントメッセージサービスを提供している。
【0074】
サーバ31は、クライアント32乃至34に対して、IDとして、それぞれ、A@imsg,B@imsg,C@imsgを割り当てている。図1の場合と同様に、A@imsg(クライアント2)は、B@imsg(クライアント3)およびC@imsg(クライアント4)を友達(通信相手)として予め指定しており、B@imsgおよびC@imsgは、いずれもA@imsgを友達として予め指定しており、それらの情報はサーバ31に登録されている。
【0075】
クライアント32は、機能リスト42に示されるように、MPEG4(Moving Picture Expert Group4)ストリーミング送信機能(MPEG4 Streaming Tx)と、MPEG2ストリーミング送信機能(MPEG2 Streaming Tx)とを備えるパーソナルコンピュータである。クライアント33は、機能リスト43に示されるように、MPEG4ストリーミング受信機能(MPEG4 Streaming Rx)と、MPEG2ストリーミング受信機能(MPEG2 Streaming Rx)とを備えるパーソナルコンピュータであり、クライアント34は、機能リスト44に示されるように、MPEG4ストリーミング受信機能(MPEG4 Streaming Rx)を備えるパーソナルコンピュータである。
【0076】
クライアント32が有するMPEG4ストリーミング送信機能(MPEG4 Streaming Tx)は、MPEG4データを同時に1チャンネル送信することができ、MPEG2ストリーミング送信機能(MPEG2 Streaming Tx)は、MPEG2データを同時に1チャンネル送信することができる。
【0077】
同様に、クライアント33および34が有する、MPEG4ストリーミング受信機能(MPEG4 Streaming Rx)は、MPEG4データを同時に1チャンネル受信することができ、クライアント33が有するMPEG2ストリーミング受信機能(MPEG2 Streaming Rx)は、MPEG2データを同時に1チャンネル受信することができる。
【0078】
これらの機能を用いて、クライアント32は、クライアント33に対してMPEG4データおよびMPEG2データを、ネットワーク35を介して、それぞれ1チャンネルずつ同時に送信することができる。また、クライアント32は、クライアント34に対してMPEG4データを、ネットワーク35を介して、1チャンネル送信することもできる。
【0079】
クライアント32乃至34は、通信相手の利用可能な機能の状態を取得するために、サーバ31が提供するインスタントメッセージ通信サービスを利用する。すなわち、クライアント32乃至34は、インスタントメッセージ通信サービスのプレゼンス情報を用いて自分の有する機能の状態を通信相手となるクライアントに供給するとともに、通信相手となるクライアントの機能の状態を取得する。
【0080】
なお、クライアント間で授受されるプレゼンス情報は、実際には、サーバ31を介して授受されるが、特に必要がない場合は適宜その説明を省略する。
【0081】
図5は、図4に示すサーバ31の構成例を示す図である。
【0082】
図5において、CPU(Central Processing Unit)51は、ROM(Read Only Memory)52に記憶されているプログラム、または記憶部73からRAM(Random Access Memory)53にロードされたプログラムに従って各種の処理を実行する。RAM53にはまた、CPU51が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0083】
ユーザ管理部54は、CPU51の制御に基づいて、インスタントメッセージ通信サービスを提供するクライアントに関する情報を管理する。例えば、ユーザ管理部54は、各クライアントの友達リストや、各クライアントの状態を管理しており、サーバ31は、その情報に基づいて、クライアントより供給されるプレゼンス情報を友達(通信相手)であるクライアントに供給する。
【0084】
CPU51、ROM52、RAM53、およびユーザ管理部54は、バス60を介して相互に接続されている。このバス60にはまた、入出力インタフェース70も接続されている。
【0085】
入出力インタフェース70には、キーボード、マウスなどよりなる入力部71、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部72、ハードディスクなどにより構成される記憶部73、モデム、ターミナルアダプタ、またはLANアダプタなどにより構成される通信部74が接続されている。
【0086】
記憶部73には、インスタントメッセージ通信サービスを提供するためのプログラムやデータの他に、予めクライアントが登録した友達リストなどの情報を記憶しており、必要に応じて、CPU51、RAM53、およびユーザ管理部54等に供給する。
【0087】
通信部24は、モデムやターミナルアダプタ等を用いた通信の他にも、例えば、USB(Universal Serial Bus)、IEEE1394(Institute of Electrical and Electronic Engineers)、RS‐232C(Recommended Standard 232 revision C)、またはSCSI(Small Computer System Interface)等の各種の規格を用いた通信処理を行う機能を有している。
【0088】
入出力インタフェース70にはまた、必要に応じてドライブ80が接続され、磁気ディスク81、光ディスク82、光磁気ディスク83、或いは半導体メモリ84などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部73にインストールされる。
【0089】
図6は、図4に示すクライアント32の構成例を示す図である。
【0090】
図6において、CPU101は、ROM102に記憶されているプログラム、または記憶部123からRAM103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0091】
MPEG4ストリーミング送信処理部42−1は、CPU101に制御され、通信部124を介してMPEG4データのストリーミング送信に関する処理を行い、図4の機能リスト42のMPEG4 Streaming Txの機能を実現する。同様に、MPEG2ストリーミング送信処理部42−2は、CPU101に制御され、通信部124を介してMPEG2データのストリーミング送信に関する処理を行い、図4の機能リスト42のMPEG2 Streaming Txの機能を実現する。
【0092】
CPU101は、通信部124、MPEG4ストリーミング送信処理部42−1およびMPEG2ストリーミング送信処理部42−2を制御して、ネットワーク35を介して、クライアント33または34に対して、MPEG4データまたはMPEG2データのストリーミング送信を行う。
【0093】
CPU101、ROM102、RAM103、MPEG4ストリーミング送信処理部42−1、およびMPEG2ストリーミング送信処理部42−2は、バス110を介して相互に接続されている。このバス110にはまた、入出力インタフェース120も接続されている。
【0094】
入出力インタフェース120には、キーボード、マウスなどよりなる入力部121、CRTや、LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部122、ハードディスクなどにより構成される記憶部123、モデム、ターミナルアダプタ、またはLANアダプタなどにより構成される通信部124が接続されている。
【0095】
入出力インタフェース120にはまた、必要に応じてドライブ130が接続され、磁気ディスク131、光ディスク132、光磁気ディスク133、或いは半導体メモリ134などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部123にインストールされる。
【0096】
図7は、図4に示すクライアント33の構成例を示す図である。
【0097】
図7において、CPU151乃至RAM153、並びに、バス160乃至半導体メモリ184は、図6に示されるクライアント32のCPU101乃至RAM103、並びに、バス110乃至半導体メモリ134にそれぞれ対応しており、図6の場合と同様の構成であるので、その説明は省略する。
【0098】
バス160に接続されているMPEG4ストリーミング受信処理部43−1は、CPU151に制御され、通信部174を介してMPEG4データのストリーミング受信に関する処理を行い、図4の機能リスト43のMPEG4 Streaming Rxの機能を実現する。同様に、バス160に接続されているMPEG2ストリーミング受信処理部42−2は、CPU101に制御され、通信部174を介してMPEG2データのストリーミング受信に関する処理を行い、図4の機能リスト43のMPEG2 Streaming Rxの機能を実現する。
【0099】
CPU151は、通信部174、MPEG4ストリーミング受信処理部43−1およびMPEG2ストリーミング受信処理部43−2を制御して、ネットワーク35を介して、クライアント32より供給されるMPEG4データまたはMPEG2データのストリーミング受信を行う。
【0100】
図8は、図4に示すクライアント34の構成例を示す図である。
【0101】
図8において、CPU201乃至RAM203、並びに、バス210乃至半導体メモリ234は、図6に示されるクライアント32のCPU101乃至RAM103、並びに、バス110乃至半導体メモリ134にそれぞれ対応しており、図6の場合と同様の構成であるので、その説明は省略する。
【0102】
バス210に接続されているMPEG4ストリーミング受信処理部44−1は、CPU201に制御され、通信部224を介してMPEG4データのストリーミング受信に関する処理を行い、図4の機能リスト44のMPEG4 Streaming Rxの機能を実現する。
【0103】
CPU201は、通信部224およびMPEG4ストリーミング受信処理部44−1を制御して、ネットワーク35を介して、クライアント32より供給されるMPEG4データのストリーミング受信を行う。
【0104】
図4に戻り、MPEG4データおよびMPEG2データをストリーミング送信する機能(プロバイダとしての機能)を有するA@imsg(クライアント32)は、サーバ31の提供するインスタントメッセージ通信サービスを利用して、MPEG4データまたはMPEG2データをストリーミング受信する機能(コンスーマとしての機能)を有するB@imsg(クライアント33)およびC@imsg(クライアント34)に対して、プロバイダとしての機能に関するプレゼンス情報を供給する。
【0105】
なお、以下においては、MPEG4データまたはMPEG2データをストリーミング送信する機能を有する装置(図4の場合、クライアント32)をプロバイダと称し、MPEG4データまたはMPEG2データをストリーミング受信する機能を有する装置(図4の場合、クライアント33および34)をコンスーマと称する。
【0106】
図4の例におけるプロバイダ(クライアント32)による、自分自身が有する機能のプレゼンス情報をコンスーマ(クライアント33およびクライアント34)に供給する処理を、図9のフローチャートを参照して説明する。
【0107】
最初に、プロバイダであるクライアント32のCPU101は、ステップS1において、各部を制御して、クライアント32が有する機能(MPEG4 Streaming TxおよびMPEG2 Streaming Tx)に関するプレゼンス情報であるサービス情報を作成し、友達(通信相手)であるクライアント33および34に供給する。
【0108】
クライアント33および34は、そのサービス情報を取得すると、そのサービス情報に基づいて、通信可能な機能を判断する。これにより、コンスーマであるクライアント33および34は、プロバイダであるクライアント32が提供する機能およびその状態を知ることができ、サービス情報の供給元であるクライアント32とそれらの機能を用いて通信を行うことができる。
【0109】
ステップS1の処理を終了したCPU101は、ステップS2において、MPEG4 Streaming TxおよびMPEG2 Streaming Txの状態を監視し、サービスの状態が変化したか否かを判定する。例えば、MPEG4 Streaming Txの機能を用いてコンスーマであるクライアント33との通信(MPEG4データのストリーミング送信)が開始されると、MPEG4 Streaming Txの機能はこれ以上の利用は不可能となる。CPU101は、MPEG4ストリーミング送信処理部42−1およびMPEG2ストリーミング送信処理部42−2を制御し、MPEG4 Streaming TxおよびMPEG2 Streaming Txの状態が変化したか否かを判定する。
【0110】
サービスの状態が変化したと判定した場合、CPU101は、ステップS3において、サービス情報を更新し、通信部124を制御してコンスーマにサービス情報を供給し、処理をステップS4に進める。
【0111】
また、ステップS2において、サービスの状態が変化していないと判定した場合、CPU101は、ステップS3の処理を省略し、ステップS4に処理を進める。
【0112】
ステップS4において、CPU101は、プレゼンス情報供給処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS2に戻し、それ以降の処理を繰り返す。
【0113】
また、サービスの提供が終了される等してプレゼンス情報供給処理を終了すると判定した場合、CPU101は、処理をステップS5に進め、終了処理を行い、プレゼンス情報供給処理を終了する。
【0114】
すなわち、CPU101は、クライアント32がインスタントメッセージ通信サービスにログインした後、クライアント32が有する機能の状態のプレゼンス情報であるサービス情報を友達であるクライアント33および34に供給する。また、CPU101は、サービスの状態が変化した場合、更新されたサービス情報を供給する。
【0115】
以上のようにしてプロバイダであるクライアント32は、自分自身の有する機能のプレゼンス情報をコンスーマに供給することができる。
【0116】
以上において、プロバイダであるクライアント32は、サービス情報を、サーバ31を介してクライアント32および33に供給する。このとき、サーバ31は、サービス情報を保持し、管理する。そして、クライアント32の友達である新たなクライアントがログインした場合、サーバ31は、保持しているクライアント32のサービス情報をそのクライアントに供給する。
【0117】
すなわち、クライアント32は、サービスの状態が変化した場合のみ新たなサービス情報を供給するだけで、クライアント32の友達であり、ログインしている全てのクライアントに最新のサービス情報を提供することができる。
【0118】
具体的な例として、図4のクライアント32が、クライアント33および34が既にログインしているインスタントメッセージ通信サービスにログインした場合のプレゼンス情報に関する処理の流れを、図10のタイミングチャートを参照して説明する。
【0119】
最初に、ステップS41において、インスタントメッセージ通信サービスにログインしたクライアント32は、図9のステップS1の処理により、サービス情報を作成し、友達であるクライアント33および34に供給する。ステップS31においてそのサービス情報を取得したクライアント33は、ステップS32においてサービス情報を解析する。同様に、クライアント34は、ステップS51においてクライアント32が供給したサービス情報を取得し、ステップS52において解析する。これにより、クライアント33および34は、クライアント32が提供する機能およびその状態を知ることができる。
【0120】
図11は、クライアント32がクライアント33および34にプレゼンス情報を提供する様子を示す図である。
【0121】
図11において、クライアント32が有するMPEG4ストリーミング送信機能(MPEG4 Streaming Tx)42−1およびMPEG2ストリーミング送信機能(MPEG2 Streaming Tx)42−2には、それぞれプロバイダとしての機能の通し番号(provider_ep)が割り当てられている。すなわち、MPEG4ストリーミング送信機能42−1は、「provider_ep=1」であり、MPEG2ストリーミング送信機能42−2は、「provider_ep=2」である。
【0122】
クライアント32は、矢印251および253のように、クライアント33および34に、図12に示すようなプレゼンス情報を供給する。
【0123】
図12において、プレゼンス情報は、タグ<presence>とタグ</presence>に囲まれており、タグ<status>およびタグ</status>に囲まれた情報(オンライン)は、A@imsg(クライアント32)の状態を示し、タグ<service>とタグ</service>に囲まれた情報は、クライアント32が有するプロバイダとしての機能(MPEG4 Streaming TxおよびMPEG2 Streaming Tx)に関する情報である。
【0124】
タグ<announce provider_ep=”1” profile=”MPEG4 Steraming”>とタグ<announce>に囲まれた情報は、図11のMPEG4ストリーミング送信機能42−1に関する情報であり、機能の状態を示す情報は、タグ<show>とタグ</show>に囲まれている。図12の例の場合、MPEG4ストリーミング送信機能42−1の状態は「available」であり、MPEG4データを送信可能な状態である。
【0125】
同様に、タグ<announce provider_ep=”2” profile=”MPEG2 Steraming”>とタグ<announce>に囲まれた情報は、MPEG2ストリーミング送信機能42−2に関する情報である。図12の例の場合、機能の状態は「available」であり、MPEG2データを送信可能な状態である。
【0126】
図10に戻り、サービス情報を解析した結果、クライアント32のプロバイダとしての機能を利用して通信を行う場合、クライアント33は、ステップS33において通信開始要求をクライアント32に供給する。ステップS42において、その通信開始要求を取得したクライアント32は、ステップS43において通信準備処理を行い、プロバイダとしての機能を用いてストリーミング送信を開始する。
【0127】
ストリーミング送信が開始されるとサービスの状態が変化するので、ステップS44において、クライアント32は、図9のステップS3の処理により、サービス情報を更新し、クライアント33および34に更新されたサービス情報を供給する。
【0128】
クライアント33は、ステップS34においてそのサービス情報を取得すると、ステップS35においてそのサービス情報を解析する。同様に、クライアント35もステップS53においてクライアント32より供給されたサービス情報を取得すると、ステップS54においてそのサービス情報を解析する。これにより、クライアント33および34は、クライアント32が有するプロバイダとしての機能の最新の状態を把握することができる。
【0129】
そして、クライアント32は、ステップS45において、要求された送信処理を開始し、クライアント33は、ステップS36において、その送信処理に対応する受信処理を開始する。
【0130】
図13は、クライアント32および33の間でストリーミングが開始された場合の様子を示す図である。
【0131】
図10のステップS33の処理によるクライアント33の要求により、クライアント32のMPEG4ストリーミング送信機能42−1を利用したストリーミング通信が開始されると、MPEG4ストリーミング送信機能42−1の状態が利用不可になり、クライアント32は、図10のステップS44の処理によりサービス情報を更新し、矢印261および263のように、図14に示されるようなプレゼンス情報を、クライアント33および34に供給する。
【0132】
図14に示されるように、このプレゼンス情報においては、MPEG4ストリーミング送信機能42−1の状態は「unavailable」であり、利用不可能であることが示されている。
【0133】
以上のように、各クライアントが有する機能を利用して通信を行う場合に、それらの機能の状態を、インスタントメッセージ通信サービスのプレゼンス情報を利用して授受することにより、処理に必要な負荷を軽減することができる。
【0134】
なお、図14のプレゼンス情報には、MPEG2ストリーミング送信機能42−2の状態に関する情報も含まれているが、図14のプレゼンス情報は、本来、図13に示されるように、MPEG4ストリーミング送信機能(MPEG4 Streaming Tx)42−1が利用不可になったことを伝えるための情報であり、MPEG2ストリーミング送信機能42−2に関する情報は不要である。
【0135】
しかしながら、クライアント32は最新のプレゼンス情報のみを供給するため、クライアント32が図15に示されるデータのような、MPEG4ストリーミング送信機能42−1に関する情報だけの、必要最小限のプレゼンス情報を供給するようにプレゼンス情報を更新すると、新たにログインされたユーザに対しても図15に示されるようなプレゼンス情報を供給してしまう場合がある。従って、クライアント32は、図14のプレゼンス情報を供給するように、プレゼンス情報を更新する。
【0136】
図16は、クライアント32および33の間でストリーミングが開始された場合の様子の他の例を示す図である。
【0137】
図16においては、クライアント32とクライアント33の間で、MPEG2ストリーミングが開始されている。
【0138】
この場合、クライアント32は、本来、MPEG2ストリーミング受信機能を有するクライアント33に対してのみ、MPEG2ストリーミング送信機能42−2が利用不可になったことを伝えるだけでよい。
【0139】
しかしながら、図13の場合と同様に、クライアント32は、図17に示されるようにMPEG4ストリーミング送信機能42−1に関する情報とMPEG2ストリーミング送信機能42−2に関する情報との両方を含むプレゼンス情報をクライアント33および34に供給する。
【0140】
この場合、クライアント33および34にとって、MPEG4ストリーミング送信機能42−1の状態に関する情報は、以前に取得した情報と同じであり不要である。さらに、クライアント34にとっては、MPEG2ストリーミング送信機能42−2の状態に関する情報も不要である。
【0141】
このような冗長な情報を無くすために、図18のように、プレゼンス情報の概念を2種類に分割した構造にする。
【0142】
プレゼンス情報301は、「オンライン」や「仕事中」等、クライアントの状態に関する情報や、クライアントが有する機能の情報等を含むメインプレゼンス情報302、機能の状態に関する情報等を含む、機能ごとの情報であるサブプレゼンス情報303A乃至303Nにより構成される。
【0143】
メインプレゼンス情報は、ログインした場合や、状態が変化した場合にサーバ31に供給され、サーバ31によって管理され、供給する必要のあるクライアントに適宜、自動的に供給される。
【0144】
サブプレゼンス情報303Aは、プロバイダとしての機能に関する情報であるプロバイダサブプレゼンス情報304Aとコンスーマとしての機能に関する情報であるコンスーマサブプレゼンス情報305Aにより構成されている。なお、サブプレゼンス情報303B乃至303Nについても同様である。
【0145】
サブプレゼンス情報303A乃至303Nは、そのクライアントが有する機能ごとの情報であり、機能の通し番号の数だけ存在する。
【0146】
例えば、クライアント32は、プロバイダとしての機能であるMPEG4ストリーミング送信機能42−1とMPEG2ストリーミング送信機能42−2を有しており、プレゼンス情報には、それぞれの機能に対応した2つのサブプレゼンス情報303Aおよび303Bが含まれる。そして、サブプレゼンス情報303Aは、プロバイダサブプレゼンス情報304Aで構成され、サブプレゼンス情報303Bは、プロバイダサブプレゼンス情報304Bで構成される。
【0147】
また、クライアント33は、コンスーマとしての機能であるMPEG4ストリーミング受信機能43−1とMPEG2ストリーミング受信機能43−2を有しており、プレゼンス情報には、それぞれの機能に対応した2つのサブプレゼンス情報303Aおよび303Bが含まれる。そして、サブプレゼンス情報303Aは、コンスーマサブプレゼンス情報305Aで構成され、サブプレゼンス情報303Bは、コンスーマサブプレゼンス情報305Bで構成される。
【0148】
さらに、クライアント34は、コンスーマとしての機能であるMPEG4ストリーミング受信機能44−1を有しており、プレゼンス情報には、この機能に対応した1つのサブプレゼンス情報303Aが含まれる。そして、そのサブプレゼンス情報303Aは、コンスーマサブプレゼンス情報305Aで構成される。
【0149】
なお、以下において、各機能に分けて説明する必要のない場合は、サブプレゼンス情報303と称する。同様に、プロバイダサブプレゼンス情報およびコンスーマサブプレゼンス情報についても、特に分けて説明する必要のない場合は、それぞれプロバイダサブプレゼンス情報304およびコンスーマサブプレゼンス情報305と称する。
【0150】
後述するように、プロバイダであるクライアントは、コンスーマであるクライアントを登録(レジストレーション)しており、コンスーマに関する情報を保持している。サブプレゼンス情報303は、このレジストレーション情報に基づいて、目的のコンスーマに供給される。
【0151】
次に、図18に示されるプレゼンス情報を管理する処理について、図4のインスタントメッセージ通信システムの例を用いて、システムプロバイダとコンスーマに分けて説明する。最初に、図19のフローチャートを参照して、プロバイダがメインプレゼンス情報を管理する処理について説明する。
【0152】
プロバイダである図4のクライアント32は、インスタントメッセージ通信サービスにログインすると、図19に示されるようなメインプレゼンス管理処理を実行する。
【0153】
最初に、クライアント32のCPU101は、ステップS71において、RAM103または記憶部123に予め記憶されているメインプレゼンス情報を取得し、通信部124を制御して、ネットワーク35を介してサーバ31に供給する。
【0154】
サーバ31は、後述するように、供給されたメインプレゼンス情報をA@imsg(クライアント32)の情報として管理するとともに、A@imsgの友達(通信相手)であり、ログイン中のB@imsg(クライアント33)およびC@imsg(クライアント34)に供給する。
【0155】
また、サーバ31は、予め供給され、管理しているB@imsgおよびC@imsgのメインプレゼンス情報をA@imsgに供給する。さらに、サーバ31は、A@imsgの新たな友達がログインした場合も、その友達のメインプレゼンス情報をA@imsgに供給する。
【0156】
ステップS72において、CPU101は、通信部124を制御して、サーバ31より送信されたメインプレゼンス情報を取得したか否かを判定し、取得したと判定した場合、取得したメインプレゼンス情報を解析し、RAM103に保持されている、友達であるB@imsgおよびC@imsgの状態に関する情報であるステータス情報を更新し、処理をステップS74に進める。
【0157】
ステップS72において、メインプレゼンス情報を取得していないと判定した場合は、CPU101は、ステップS73の処理を省略し、ステップS74に処理を進める。
【0158】
サーバ31は、クライアントがログオフすると、その情報を、関係のある他のクライアントに供給する。
【0159】
ステップS74において、CPU101は、通信部124を制御して、サーバ31からその情報を供給されたか否かを判定し、他のクライアントがログオフしたか否かを判定する。ログオフしたと判定した場合、CPU101は、ステップS75において、その情報に基づいて、ステータス情報を更新し、処理をステップS76に進める。
【0160】
ステップS74において、他のクライアントがログオフしていないと判定した場合、CPU101は、ステップS75の処理を省略し、ステップS76に処理を進める。
【0161】
CPU101は、ステップS76において、ユーザの指示等に基づいて、メインプレゼンス情報管理処理を終了するか否かを判定する。終了しないと判定した場合、CPU101は、処理をステップS72に戻し、それ以降の処理を繰り返す。
【0162】
また、ログオフするなどして、メインプレゼンス情報管理処理を終了すると判定した場合、CPU101は、ステップS77において終了処理を行い、メインプレゼンス情報管理処理を終了する。
【0163】
すなわち、インスタントメッセージ通信サービスにログインすると、CPU101は、通信部124を制御して、メインプレゼンス情報をサーバ31に供給した後、ログオフするまで他のクライアントのステータス情報を保持し、メインプレゼンス情報を取得したり、友達である他のクライアントがログオフしたりした場合は、そのステータス情報を更新する。
【0164】
次に、図20のフローチャートを参照して、プロバイダによるレジストレーションの管理に関する処理について説明する。
【0165】
後述するように、プロバイダのメインプレゼンス情報を取得したコンスーマはユーザの指示等に基づいて、プロバイダにレジストレーション要求を供給する。
【0166】
プロバイダであるクライアント32のCPU101は、ステップS91において、通信部124を制御して、コンスーマよりレジストレーション要求を取得したか否かを判定する。取得したと判定した場合、CPU101は、ステップS92において、そのレジストレーションを許可するか否かを判定する。許可すると判定した場合、CPU101は、処理をステップS93に進め、RAM103に保持されており、レジストレーションを管理するための情報であるレジストレーション情報を更新し、ステップS94において、通信部124を制御して、レジストレーション要求の供給元であるコンスーマにレジストレーションしたことを通知する応答を供給する。応答したCPU101は、処理をステップS96に進める。
【0167】
ステップS92において、レジストレーションを許可しないと判定した場合、CPU101は、ステップS95において、レジストレーション要求の供給元であるコンスーマに、レジストレーションを拒否したことを通知する拒否応答を供給し、処理をステップS96に進める。
【0168】
ステップS91において、レジストレーション要求を取得していないと判定した場合、CPU101は、上述した処理を省略し、ステップS96に処理を進める。
【0169】
ステップS96において、CPU101は、通信部124を制御して、コンスーマより、コンスーマサブプレゼンス情報を取得したか否かを判定する。コンスーマは、コンスーマの機能の状態が変化するなどして、コンスーマサブプレゼンス情報を更新すると、更新されたコンスーマサブプレゼンス情報をプロバイダに供給する。
【0170】
コンスーマサブプレゼンス情報を取得したと判定した場合、CPU101は、ステップS97において、その情報に基づいて、レジストレーション情報を更新した後、ステップS98に処理を進める。
【0171】
ステップS96において、コンスーマサブプレゼンス情報を取得していないと判定した場合、CPU101は、ステップS97の処理を省略し、ステップS98に処理を進める。
【0172】
ステップS98において、CPU101は、通信部124を制御して、レジストレーション解除要求を取得したか否かを判定する。プロバイダによるレジストレーションを解除したい場合、コンスーマは、レジストレーション解除要求をそのプロバイダに供給する。
【0173】
レジストレーション解除要求を取得したと判定した場合、CPU101は、ステップS99において、その情報をレジストレーション情報に反映させて更新し、ステップS100において、レジストレーションを解除したことを通知するために、その応答をレジストレーション解除要求の供給元であるコンスーマに供給する。ステップS100の処理が完了すると、CPU101は、処理をステップS101に進める。
【0174】
ステップS98において、レジストレーション解除要求を取得していないと判定した場合、CPU101は、上述したステップS99およびステップS100の処理を省略し、ステップS101に処理を進める。
【0175】
CPU101は、ステップS101において、通信部124を制御して、サーバ31より供給される情報に基づいて、コンスーマがログオフしたか否かを判定する。ログオフしたと判定した場合、CPU101は、ステップS102において、レジストレーション情報を更新し、処理をステップS103に進める。
【0176】
ステップS101において、コンスーマがログオフしていないと判定した場合、CPU101は、ステップS102の処理を省略し、ステップS103に処理を進める。
【0177】
ステップS103において、CPU101は、レジストレーション管理処理を終了するか否かを判定する。レジストレーション管理処理を終了しないと判定した場合、CPU101は、処理をステップS91に戻し、それ以降の処理を繰り返す。
【0178】
ステップS103において、ユーザの指示等に基づいて、レジストレーション管理処理を終了すると判定した場合、CPU101は、ステップS104において終了処理を行い、レジストレーション管理処理を終了する。
【0179】
次に、図21のフローチャートを参照して、プロバイダによるサブプレゼンス情報の管理に関する処理について説明する。
【0180】
最初に、プロバイダであるクライアント32のCPU101は、ステップS121において、MPEG4ストリーミング送信処理部42−1およびMPEG2ストリーミング送信処理部42−2を制御し、サービスの状態が変化したか否かを判定する。MPEG4ストリーミング送信機能42−1を用いた通信処理が開始されるなどして、サービスの状態が変化したと判定した場合、CPU101は、ステップS122において、その変化をプロバイダサブプレゼンス情報に反映させ更新した後、ステップS123に処理を進める。
【0181】
ステップS121において、サービスの状態が変化していないと判定した場合、CPU101は、上述したステップS122の処理を省略し、ステップS123に処理を進める。
【0182】
ステップS123において、CPU101は、レジストレーション情報に基づいて、新たにレジストレーションされたコンスーマが存在するか否かを判定し、存在すると判定した場合、ステップS124において、レジストレーションされたコンスーマにプロバイダサブプレゼンス情報を供給し、ステップS125に処理を進める。
【0183】
ステップS123において、新たにレジストレーションされたコンスーマは存在しないと判定した場合、CPU101は、ステップS124を省略し、ステップS125に処理を進める。
【0184】
ステップS125において、CPU101は、ステップS122の処理などにより、プロバイダサブプレゼンス情報が変化したか否かを判定し、変化したと判定した場合、ステップS126において、レジストレーション情報に基づいて、プロバイダサブプレゼンス情報を供給し、処理をステップS127に進める。
【0185】
ステップS125において、プロバイダサブプレゼンス情報が変化していないと判定した場合、CPU101は、ステップS126の処理を省略して、ステップS127に処理を進める。
【0186】
ステップS127において、CPU101は、サブプレゼンス情報管理処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS121に戻し、それ以降の処理を繰り返す。
【0187】
ステップS127において、ユーザの指示等に基づいて、サブプレゼンス情報管理処理を終了すると判定した場合、CPU101は、ステップS128において終了処理を行った後、サブプレゼンス情報管理処理を終了する。
【0188】
以上のようにして、プロバイダは、図18に示されるプレゼンス情報301を管理し、コンスーマのレジストレーションを行う。これにより、プロバイダは、後述するように、冗長な情報を送信することなく、コンスーマにプロバイダとしての機能に関する情報を供給することができる。
【0189】
次に、上述したプロバイダによる処理に対応するコンスーマによるプレゼンス情報の管理に関する処理について説明する。
【0190】
最初に、図22のフローチャートを参照して、コンスーマによるメインプレゼンス情報の管理に関する処理について説明する。ここでは、コンスーマの例として、図4のクライアント33を用いて説明する。
【0191】
サーバ31により提供されるインスタントメッセージ通信サービスにログインしたコンスーマであるクライアント33のCPU151は、RAM153に保持されている、または記憶部173に記憶されているメインプレゼンス情報を、通信部174を制御して、ネットワーク35を介してサーバ31に供給する。
【0192】
サーバ31は、供給されたメインプレゼンス情報をB@imsg(クライアント33)の情報として管理するとともに、そのメインプレゼンス情報を、予め登録されている友達リストに基づいて、B@imsgの友達であるA@imsg(クライアント32)に供給する。また、サーバ31は、予め供給され、管理されているA@imsgのメインプレゼンス情報をB@imsgに供給する。
【0193】
クライアント33のCPU151は、ステップS142において、通信部174を制御し、そのサーバ31より供給されるメインプレゼンス情報を取得したか否かを判定する。
【0194】
メインプレゼンス情報を取得したと判定した場合、CPU151は、ステップS143において、取得したメインプレゼンス情報を解析し、RAM153等に保持している他のクライアントの状態に関する情報であるステータス情報を更新し、処理をステップS144に進める。
【0195】
また、ステップS142において、メインプレゼンス情報を取得していないと判定した場合、CPU151は、ステップS143の処理を省略し、処理をステップS144に進める。
【0196】
ステップS144において、CPU151は、通信部174を制御して、サーバ31より供給される情報に基づいて、他のクライアントがログオフしたか否かを判定する。
【0197】
ログオフしたと判定した場合、CPU151は、ステップS145において、ログオフしたことをステータス情報に反映させて更新し、ステップS146に処理を進める。
【0198】
ステップS144において、他のクライアントがログオフしていないと判定した場合、CPU151は、ステップS145の処理を省略し、ステップS146に処理を進める。
【0199】
CPU151は、ステップS146において、メインプレゼンス情報管理処理を終了するか否かを判定し、終了しないと判定した場合、ステップS141に処理を戻し、それ以降の処理を繰り返す。
【0200】
また、ユーザの指示等に基づいて、メインプレゼンス情報管理処理を終了すると判定した場合、CPU151は、ステップS147において、終了処理を行った後、メインプレゼンス情報管理処理を終了する。
【0201】
次に、図23のフローチャートを参照して、コンスーマによるレジストレーションの管理に関する処理について説明する。
【0202】
コンスーマであるクライアント33のCPU151は、ステップS161において、通信部174を制御して、プロバイダであるクライアント32より送信されたプロバイダサブプレゼンス情報を取得したか否かを判定する。
【0203】
プロバイダサブプレゼンス情報を取得したと判定した場合、CPU151は、ステップS162において、そのプロバイダサブプレゼンス情報に基づいて、RAM153に保持されているレジストレーション情報を更新し、処理をステップS163に進める。
【0204】
ステップS161において、プロバイダサブプレゼンス情報を取得していないと判定した場合、CPU151は、ステップS162の処理を省略し、ステップS163に処理を進める。
【0205】
ステップS163において、CPU151は、レジストレーション情報に基づいて、プロバイダであるクライアント32に対して、レジストレーション要求を供給するか否かを判定する。
【0206】
レジストレーションがまだ行われておらず、ユーザの指示等に基づいて、レジストレーション要求を供給すると判定した場合、CPU151は、ステップS164において、通信部174を制御して、プロバイダであるクライアント32にレジストレーション要求を供給する。供給されたレジストレーション要求は、図20のS91において、クライアント32に取得される。レジストレーション要求の供給が完了すると、CPU151は、処理をステップS165に進める。
【0207】
ステップS163において、レジストレーションが既に行われている等して、レジストレーション要求を供給しないと判定した場合、CPU151は、ステップS164の処理を省略し、ステップS165に処理を進める。
【0208】
ステップS165において、CPU151は、ユーザの指示等に基づいて、レジストレーション解除要求を供給するか否かを判定し、供給すると判定した場合、ステップS166において、通信部174を制御して、レジストレーション解除要求をプロバイダであるクライアント32に供給した後、ステップS167に処理を進める。
【0209】
ステップS165において、レジストレーション解除要求を供給しないと判定した場合、CPU151は、ステップS166の処理を省略し、ステップS167に処理を進める。
【0210】
ステップS167において、CPU151は、ユーザの指示等に基づいて、レジストレーション管理処理を終了するか否かを判定し、終了しないと判定した場合、ステップS161に処理を戻し、それ以降の処理を繰り返す。
【0211】
また、レジストレーション管理処理を終了すると判定した場合、CPU151は、ステップS178において、終了処理を行った後、レジストレーション管理処理を終了する。
【0212】
次に、図24のフローチャートを参照して、コンスーマによるサブプレゼンス情報の管理に関する処理について説明する。
【0213】
コンスーマであるクライアント33のCPU151は、ステップS181において、レジストレーション情報に基づいて、プロバイダにより新たにレジストレーションされたか否かを判定し、新たにレジストレーションされたと判定した場合、ステップS182において、通信部174を制御して、コンスーマサブプレゼンス情報をそのプロバイダに供給し、ステップS183に処理を進める。
【0214】
ステップS181において、新たにレジストレーションされていないと判定した場合、CPU151は、ステップS182の処理を省略し、ステップS183に処理を進める。
【0215】
ステップS183において、CPU151は、MPEG4ストリーミング受信処理部43−1およびMPEG2ストリーミング受信処理部43−2を制御して、機能の状態が変化したか否かを判定する。
【0216】
上述した機能を用いた通信が開始されるなどして、機能の状態が変化したと判定した場合、CPU151は、ステップS184において、コンスーマサブプレゼンス情報を更新し、ステップS185において、更新したコンスーマサブプレゼンス情報を、レジストレーションしているプロバイダに供給し、ステップS186に処理を進める。
【0217】
ステップS183において、機能の状態が変化していないと判定した場合、CPU151は、上述したステップS184およびステップS185の処理を省略し、ステップS186に処理を進める。
【0218】
ステップS186において、CPU151は、サブプレゼンス情報管理処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS181に戻し、それ以降の処理を繰り返す。
【0219】
サブプレゼンス情報管理処理を終了すると判定した場合、CPU151は、ステップS187において、終了処理を行った後、サブプレゼンス情報管理処理を終了する。
【0220】
以上のようにして、コンスーマは、図18に示されるプレゼンス情報301を管理する。
【0221】
次に、具体的な例として、図4のシステムにおいて、B@imsg(クライアント33)およびC@imsg(クライアント34)がログインしているインスタントメッセージ通信サービスにA@imsg(クライアント32)がログインする場合の処理の流れを説明する。
【0222】
最初に、図25のタイミングチャートを参照して、メインプレゼンス情報の授受に関する処理の流れについて説明する。必要に応じて図26および図27を参照して説明する。
【0223】
インスタントメッセージ通信サービスにログインしたクライアント32は、ステップS221において、メインプレゼンス情報をサーバ31に供給する。
【0224】
サーバ31は、そのメインプレゼンス情報をステップS201において取得すると、その情報を管理するとともに、ステップS202において、A@imsg(蔵案と32)の友達であるB@imsg(クライアント33)およびC@imsg(クライアント34)のメインプレゼンス情報をA@imsgに供給する。
【0225】
クライアント32は、ステップS222において、B@imsgおよびC@imsgのメインプレゼンス情報取得すると、そのメインプレゼンス情報を解析し、ステータス情報を更新して保持する。
【0226】
また、サーバ31は、ステップS203において、A@imsgのメインプレゼンス情報をA@imsgの友達であるB@imsgに供給する。クライアント33は、ステップS211において、そのメインプレゼンス情報を取得し、解析し、ステータス情報を更新して保持する。
【0227】
同様に、サーバ31は、ステップS204において、A@imsgのメインプレゼンス情報をA@imsgの友達であるC@imsgに供給する。クライアント34は、ステップS231において、そのメインプレゼンス情報を取得し、解析し、ステータス情報を更新して保持する。
【0228】
すなわち、図26に示されるように、A@imsg(クライアント32)は、ログインすると、サーバ31を介して、既にログインしている友達であるB@imsg(クライアント33)およびC@imsg(クライアント34)に、自分自身のステータス情報および自分自身が有する機能に関する情報を含むメインプレゼンス情報を、供給する。(矢印311および313)
【0229】
図27は、クライアント32が図25のステップS221において、サーバ31に供給するメインプレゼンス情報のデータの例を示す図である。
【0230】
図27において、メインプレゼンス情報(タグ<presence>とタグ</presence>に囲まれた情報)には、自分自身の状態に関する情報(タグ<status>とタグ</status>に囲まれた情報)と、自分自身が有する機能に関する情報(タグ<service>とタグ</service>に囲まれた情報)が含まれている。
【0231】
図27においては、A@imsg(クライアント32)の状態は「オンライン」であり、「provider_ep=1」として「MPEG4 Streaming」送信機能42−1を、「provider_ep=2」として「MPEG4 Streaming」送信機能42−2を有していることが示されている。
【0232】
以上のように、メインプレゼンス情報は、サーバ31により管理され、必要に応じて各クライアントに供給される。
【0233】
次に、図28のタイミングチャートを参照して、プロバイダであるクライアント32がコンスーマであるクライアント33および34が有する機能をレジストレーションする場合の処理の流れを説明する。
【0234】
クライアント32のメインプレゼンス情報を解析したクライアント33は、ステップS241において、ユーザの指示等に基づいて、クライアント32のMPEG4ストリーミング送信機能(MPEG4 Streaming Tx)42−1に対するレジストレーション要求をクライアント32に供給する。
【0235】
クライアント32は、そのレジストレーション要求をステップS251において取得すると、ステップS252において、レジストレーション情報を更新し、レジストレーションを行い、ステップS253においてクライアント33に応答を供給する。
【0236】
クライアント33は、その応答をステップS242において取得すると、ステップS243においてレジストレーション情報を更新する。
【0237】
以上のようにしてレジストレーションが行われるが、レジストレーションは、クライアント32の機能ごとに行われる。従って、クライアント33は、この状態からさらに、クライアント32のMPEG2ストリーミング送信機能(MPEG2 Streaming Tx)42−2に対するレジストレーションを行うこともできる。
【0238】
その場合、クライアント33は、ステップS244において、レジストレーション要求を再度クライアント32に供給し、ステップS254においてその要求を取得したクライアント32は、ステップS255においてレジストレーション情報を更新した後、ステップS256において、レジストレーションを行ったことを通知するために、応答をクライアント33に供給する。
【0239】
クライアント33は、ステップS245においてその応答を取得すると、その応答に基づいて、レジストレーション情報を更新する。
【0240】
以上のようにして、クライアント32は、クライアント33を、機能ごとにレジストレーションすることができる。
【0241】
また、クライアント32は、さらに、クライアント33の場合と同様に、クライアント34をレジストレーションすることもできる。
【0242】
その場合、ステップS261において、クライアント34がクライアント32のMPEG4ストリーミング送信機能(MPEG4 Streaming Tx)42−1に対するレジストレーション要求をクライアント32に供給する。
【0243】
クライアント32は、ステップS257においてその要求を取得すると、ステップS258において、レジストレーション情報を更新し、ステップS259において、クライアント34に応答を供給する。
【0244】
その応答をステップS262において取得したクライアント34は、ステップS263において、レジストレーション情報を更新する。
【0245】
以上のようにして、クライアント32は、機能ごとに友達である各クライアントをレジストレーションすることができる。
【0246】
図29は、クライアント32が機能ごとにクライアント33および34をレジストレーションする様子の例を示す図である。
【0247】
図29に示されるように、クライアント33および34は、クライアント32のメインプレゼンス情報に基づいて、クライアント32の有する機能ごとにレジストレーション要求を供給する。(矢印321乃至323)
【0248】
図30乃至32は、そのときのレジストレーション要求のデータの例を示す図である。
【0249】
例えば、図30のレジストレーション要求は、「A@imsg」(クライアント32)に供給されており、A@imsgの「provider_ep=”1”」(MPEG4ストリーミング送信機能42−1)に、B@imsg(クライアント33)の「consumer_ep=”1”」(MPEG4ストリーミング受信機能43−1)をレジストレーションすることを要求している。
【0250】
同様に、図31のレジストレーション要求は、「A@imsg」に供給されており、A@imsgの「provider_ep=”2”」(MPEG2ストリーミング送信機能42−2)に、B@imsgの「consumer_ep=”2”」(MPEG2ストリーミング受信機能43−2)をレジストレーションすることを要求している。
【0251】
さらに、図32のレジストレーション要求は、「A@imsg」に供給されており、A@imsgの「provider_ep=”1”」(MPEG4ストリーミング送信機能42−1)に、C@imsgの「consumer_ep=”1”」(MPEG4ストリーミング受信機能44−1)をレジストレーションすることを要求している。
【0252】
図33は、レジストレーション要求を受け付けたクライアント32より供給される応答のデータの例を示す図である。
【0253】
上述した図30のようなレジストレーション要求に対して、レジストレーションを行う場合、クライアント32は、レジストレーション情報を更新した後、要求元である「B@imsg」(クライアント33)に対して、図33Aに示されるような応答を供給する。
【0254】
また、クライアント32は、図31のレジストレーション要求に応じてレジストレーションを行うと、図33Bに示されるような応答を、要求元の「B@imsg」(クライアント33)に供給する。
【0255】
同様に、クライアント32は、図32のレジストレーション要求に応じてレジストレーションを行うと、図33Cに示されるような応答を、要求元の「C@imsg」(クライアント34)に供給する。
【0256】
また、クライアント32は、レジストレーション要求に対して、レジストレーションを拒否することもできる。例えば、図32のレジストレーション要求に対して、レジストレーションを拒否する場合、図33Dに示されるような応答を、要求元の「C@imsg」に供給する。
【0257】
以上のようにレジストレーションを行うことにより、プロバイダであるクライアント32は、コンスーマであるクライアント33および34が有する機能の内、自分自身が有する機能を利用可能な機能について把握することができる。
【0258】
図34は、各クライアントが管理するレジストレーション情報の例を示す図である。
【0259】
図34Aは、プロバイダであるクライアント32が管理するレジストレーション情報の例であり、図34Bは、コンスーマであるクライアント33が管理するレジストレーション情報の例であり、図34Cは、コンスーマであるクライアント33が管理するレジストレーション情報の例である。いずれも、機能ごとにレジストレーションしたコンスーマの機能およびその状態が管理されている。なお、各機能の状態は、後述するように、サブプレゼンス情報により授受が行われる。
【0260】
以上に説明したレジストレーションは、コンスーマ(クライアント33および34)が、その解除を要求することもできる。例えば、クライアント34がクライアント32に対して、レジストレーションの解除を要求する場合、図35Aに示すようなデータのレジストレーション解除要求をクライアント32に供給する。
【0261】
図35Aのレジストレーション解除要求は、「A@imsg」(クライアント32)に供給されており、A@imsgの「provider_ep=”1”」(MPEG4ストリーミング送信機能42−1)に対する、C@imsg(クライアント34)の「consumer_ep=”1”」(MPEG4ストリーミング受信機能44−1)のレジストレーションの「unregistration」(解除)を要求している。
【0262】
そして、クライアント32は、この解除要求に基づいて、レジストレーション情報を更新して、指定されたレジストレーションを解除し、図35Bに示されるようなデータの応答を「C@imsg」(クライアント34)に供給する。
【0263】
さらに、プロバイダ(クライアント32)がログオフすると、図35Cに示されるようなメインプレゼンスがコンスーマ(クライアント33および34)に供給され、それまで行われていたレジストレーションがすべて解除される。
【0264】
以上に説明したようなレジストレーションが行われると、レジストレーション情報に基づいて、各クライアント間でサブプレゼンス情報を用いて各機能の状態に関する情報が授受される。
【0265】
図36のタイミングチャートを参照して、サブプレゼンス情報の授受に関する処理の流れを説明する。必要に応じて、図37乃至図40を参照して説明する。
【0266】
レジストレーションが行われると、クライアント32は、ステップS291において、レジストレーション情報に基づいて、図38に示されるようなデータ構造のMPEG4ストリーミング送信機能42−1に関するプロバイダサブプレゼンス情報304Aを、レジストレーションしているクライアント33に供給する(図37の矢印331)。
【0267】
サブプレセンス情報303においては、機能の状態は、タグ<show>と、タグ</show>に囲まれており、図38の場合、情報のタイプが「provider」で、「B@imsg」(クライアント33)に供給されるデータであり、A@imsg(クライアント32)の「provider_ep=”1”」(MPEG4ストリーミング送信機能42−1)の状態が「available」であることが示されている。
【0268】
クライアント33は、図36のステップS281において、そのプロバイダサブプレゼンス情報304Aを取得すると、ステップS282において、レジストレーション情報を更新する。
【0269】
そして、クライアント33は、ステップS283において、MPEG4ストリーミング受信機能43−1に関するコンスーマサブプレゼンス情報305Aをクライアント32に供給し(図37の矢印332)、クライアント32は、ステップS292において、その情報を取得すると、ステップS293において、レジストレーション情報を更新する。
【0270】
また、クライアント32は、ステップS294において、図39に示されるようなデータ構造のMPEG2ストリーミング送信機能42−2に関するプロバイダサブプレゼンス情報304Bを供給し(図37の矢印333)、クライアント33は、その情報をステップS284において取得すると、ステップS285において、レジストレーション情報を更新する。
【0271】
図39の例においては、情報のタイプが「provider」で、「B@imsg」(クライアント33)に供給されるデータであり、A@imsg(クライアント32)の「provider_ep=”2”」(MPEG2ストリーミング送信機能42−2)の状態が「available」であることが示されている。
【0272】
そして、クライアント33は、図36のステップS286において、MPEG2ストリーミング受信機能43−2に関するコンスーマサブプレゼンス情報305Bをクライアント32に供給し(図37の矢印334)、クライアント32は、ステップS295において、その情報を取得すると、ステップS296において、レジストレーション情報を更新する。
【0273】
さらに、クライアント32は、レジストレーションしたクライアント34に対しても同様に、ステップS294において、図40に示されるようなデータ構造のMPEG4ストリーミング送信機能42−1に関するプロバイダサブプレゼンス情報304Aを供給し(図37の矢印335)、クライアント34は、その情報をステップS301において取得すると、ステップS302において、レジストレーション情報を更新する。
【0274】
図40の例においては、情報のタイプが「provider」で、「C@imsg」(クライアント34)に供給されるデータであり、A@imsg(クライアント32)の「provider_ep=”1”」(MPEG4ストリーミング送信機能42−1)の状態が「available」であることが示されている。
【0275】
そして、クライアント34は、ステップS303において、MPEG4ストリーミング受信機能44−1に関するコンスーマサブプレゼンス情報305Aをクライアント32に供給し(矢印336)、クライアント32は、ステップS298において、その情報を取得すると、ステップS299において、レジストレーション情報を更新する。
【0276】
以上のようにして、プロバイダであるクライアント32は、各プロバイダサブプレゼンス情報304を、レジストレーション情報に基づいて、コンスーマであるクライアント33および34に供給し、コンスーマであるクライアント33および34は、コンスーマサブプレゼンス情報を、レジストレーション情報に基づいて、プロバイダであるクライアント32に供給する。
【0277】
これにより、各クライアントは、レジストレーションされた友達の機能の状態を把握することができる。
【0278】
また、各クライアントは、自分自身が有する機能の状態が変化した場合も、対応するサブプレゼンス情報を供給する。
【0279】
図41のタイミングチャートを参照して、クライアント32とクライアント33がMPEG4ストリーミング通信を開始した場合の処理の流れを説明する。また、必要に応じて、図42乃至44を参照して説明する。
【0280】
クライアント32がステップS331において、MPEG4ストリーミング送信機能42−1を利用してMPEG4データのストリーミング送信を開始し、それに対応して、クライアント33がステップS321において、MPEG4ストリーミング受信機能43−1を利用してMPEG4データのストリーミング受信を開始すると、クライアント32のMPEG4ストリーミング送信機能42−1は、利用不可になるので、クライアント32は、ステップS332において、プロバイダサブプレゼンス情報304Aを更新し、MPEG4ストリーミング送信機能42−1の状態の変化を反映させる。
【0281】
そして、ステップS333において、図43に示されるようなデータ構造の更新されたプロバイダサブプレゼンス情報304Aをクライアント33に供給する(図42の矢印341)。
【0282】
図43の例においては、情報のタイプが「provider」で、「B@imsg」(クライアント33)に供給されるデータであり、A@imsg(クライアント32)の「provider_ep=”1”」(MPEG4ストリーミング送信機能42−1)の状態が「unavailable」であることが示されている。
【0283】
クライアント33は、そのプロバイダサブプレゼンス情報304AをステップS322において取得すると、ステップS323において、その情報に基づいて、レジストレーション情報を更新する。
【0284】
また、クライアント33も、クライアント32と同様に、ストリーミング受信を開始したことにより、MPEG4ストリーミング受信機能43−1が利用不可になるので、ステップS324においてコンスーマサブプレゼンス情報305Aを更新し、クライアント32に供給する(図42の矢印342)。
【0285】
クライアント32は、その情報をステップS334において取得すると、ステップS335において、そのコンスーマサブプレゼンス情報305Aに基づいて、レジストレーション情報を更新する。
【0286】
クライアント32のレジストレーション情報において、MPEG4ストリーミング送信機能42−1には、クライアント33の他に、クライアント34もレジストレーションされている。
【0287】
従って、クライアント32は、ステップS336において、図44に示されるようなデータ構造の更新されたプロバイダサブプレゼンス情報304Aをクライアント34に供給する(図42の矢印343)。
【0288】
図44の例においては、情報のタイプが「provider」で、「C@imsg」(クライアント34)に供給されるデータであり、A@imsg(クライアント32)の「provider_ep=”1”」(MPEG4ストリーミング送信機能42−1)の状態が「unavailable」であることが示されている。
【0289】
クライアント34は、その情報をステップS341において取得すると、ステップS342において、そのプロバイダサブプレゼンス情報304Aに基づいて、レジストレーション情報を更新する。
【0290】
以上のようにして、各クライアントは、レジストレーションされた友達の機能の状態を把握することができる。
【0291】
次に、クライアント32とクライアント33の間で、MPEG2ストリーミング通信が行われた場合の処理の流れを、図45のタイミングチャートを参照して説明する。また、必要に応じて、図46乃至48を参照して説明する。
【0292】
クライアント32がステップS371において、MPEG2ストリーミング送信機能42−2を利用して、MPEG2データのストリーミング送信を開始すると、それに対応して、クライアント33は、ステップS361において、MPEG2ストリーミング受信機能43−2を利用して、MPEG2データのストリーミング受信を開始する。
【0293】
MPEG2データのストリーミング送信が開始されると、クライアント32のMPEG2ストリーミング送信機能42−2の状態は利用不可になる。クライアント32は、ステップS372において、プロバイダサブプレゼンス情報304Bを更新し、その状態の変化を反映させる。
【0294】
そして、ステップS373において、クライアント32は、図47に示されるようなデータ構造の更新したプロバイダサブプレゼンス情報304Bを、レジストレーション情報に基づいて、クライアント33に供給する(図46の矢印351)。
【0295】
図47の例においては、情報のタイプが「provider」で、「B@imsg」(クライアント34)に供給されるデータであり、A@imsg(クライアント32)の「provider_ep=”2”」(MPEG2ストリーミング送信機能42−2)の状態が「unavailable」であることが示されている。
【0296】
クライアント33は、その情報をステップS362において取得すると、ステップS363において、そのプロバイダサブプレゼンス情報304Bに基づいて、レジストレーション情報を更新する。
【0297】
また、MPEG2データのストリーミング受信が開始されたことにより、クライアント33のMPEG2ストリーミング受信機能43−2の状態も利用不可になる。クライアント33は、ステップS364において、コンスーマサブプレゼンス情報305Bを更新し、その状態の変化を反映させ、レジストレーション情報に基づいて、図48に示されるようなデータ構造のコンスーマサブプレゼンス情報305Bをクライアント32に供給する(図46の矢印352)。
【0298】
図48の例においては、情報のタイプが「consumer」で、「A@imsg」(クライアント32)に供給されるデータであり、B@imsg(クライアント33)の「consumer_ep=”2”」(MPEG2ストリーミング受信機能42−2)の状態が「unavailable」であることが示されている。
【0299】
クライアント32は、その情報をステップS374において取得すると、ステップS375において、そのコンスーマサブプレゼンス情報305Bに基づいて、レジストレーション情報を更新する。
【0300】
このとき、クライアント34は、クライアント32のMPEG2ストリーミング送信機能42−2を利用する機能を有しておらず、クライアント32のMPEG2ストリーミング送信機能42−2に対してレジストレーションされていない。従って、クライアント32は、MPEG2ストリーミング送信機能42−2の状態が変化してもクライアント34にプロバイダサブプレゼンス情報304Bを供給しない。
【0301】
以上により、プロバイダ側、コンスーマ側のどちらも機能に関する最低限、かつ必要十分なプレゼンス情報を知ることができ、情報の授受に必要な負荷を軽減することができる。
【0302】
以上の説明においては、ストリーミング送信機能をプロバイダの機能とし、ストリーミング受信機能をコンスーマの機能として説明したが、これに限らず、例えば、逆に、ストリーミング受信機能をプロバイダの機能とし、ストリーミング送信機能をコンスーマの機能としてもよい。
【0303】
その場合、上述した場合とは逆に、ストリーミング送信機能を有するクライアント32より、ストリーミング受信機能を有するクライアント33および34にレジストレーション要求が供給される。
【0304】
図49は、ストリーミング受信機能をプロバイダの機能とし、ストリーミング送信機能をコンスーマの機能とした場合のメインプレゼンス情報の授受の様子を示す図である。
【0305】
上述した場合と同様に、B@imsg(クライアント33)とC@imsg(クライアント34)が既にログインしているインスタントメッセージ通信サービスにA@imsg(クライアント32)がログインすると、コンスーマであるクライアント32は、図50に示すようなデータ構造のメインプレゼンス情報302をサーバ31に供給する。
【0306】
図50においては、A@imsgの状態が「オンライン」であることが示されている。サーバ31は、A@imsgの友達リストに基づいて、このメインプレゼンス情報302をB@imsgおよびC@imsgに供給する。
【0307】
また、サーバ31は、図51および52に示されるようなデータ構造のB@imsgとC@imsgのメインプレゼンス情報302をA@imsgに供給する。図51に示されるように、B@imsgのメインプレゼンス情報302には、B@imsgが有するプロバイダとしての機能(MPEG4ストリーミング受信機能43−1およびMPEG2ストリーミング受信機能43−2)に関する情報が含まれている。同様に、図52に示されるように、C@imsgのメインプレゼンス情報302には、C@imsgが有するプロバイダとしての機能(MPEG4ストリーミング受信機能44−1)に関する情報が含まれている。
【0308】
なお、以上のようなメインプレゼンス情報の授受に関する処理の流れは、図25のタイミングチャートを参照して説明した場合と同様であり、図25のタイミングチャートを適用することができるので、その説明は省略する。
【0309】
また、このときプロバイダ(クライアント33および34)により実行されるメインプレゼンス情報管理処理は、図19のフローチャートを参照して説明した場合と同様であり、図19のフローチャートを適用することができる。同様に、コンスーマ(クライアント32)により実行されるメインプレゼンス情報管理処理も、図22を参照して説明した場合と同様であり、図22のフローチャートを適用することができる。
【0310】
次に、レジストレーションに関する処理について説明する。
【0311】
コンスーマであるA@imsg(クライアント32)は、取得したメインプレゼンス情報に基づいて、プロバイダであるB@imsgおよびC@imsg(クライアント33および34)が有する機能のうち、利用可能な機能に対してレジストレーション要求を供給する(図53の矢印371乃至373)。
【0312】
図54は、A@imsgが図53の矢印371において、B@imsgのMPEG4ストリーミング受信機能43−1に対して供給するレジストレーション要求のデータ構造の例を示す図である。このレジストレーション要求は「B@imsg」に供給され、B@imsgの「provider_ep=”1”」(MPEG4ストリーミング受信機能43−1)に対して、A@imsgの「consumer_ep=”1”」(MPEG4ストリーミング送信機能42−1)のレジストレーションを要求している。
【0313】
図55は、A@imsgが図53の矢印372において、B@imsgのMPEG2ストリーミング受信機能43−2に対して供給するレジストレーション要求のデータ構造の例を示す図である。このレジストレーション要求は「B@imsg」に供給され、B@imsgの「provider_ep=”2”」(MPEG2ストリーミング受信機能43−2)に対して、A@imsgの「consumer_ep=”2”」(MPEG2ストリーミング送信機能42−2)のレジストレーションを要求している。
【0314】
図56は、A@imsgが図53の矢印373において、C@imsgのMPEG4ストリーミング受信機能44−1に対して供給するレジストレーション要求のデータ構造の例を示す図である。このレジストレーション要求は「C@imsg」に供給され、C@imsgの「provider_ep=”1”」(MPEG4ストリーミング受信機能44−1)に対して、A@imsgの「consumer_ep=”1”」(MPEG4ストリーミング送信機能42−1)のレジストレーションを要求している。
【0315】
なお、以上のようなレジストレーションに関する処理において、コンスーマであるクライアント32が図28のクライアント33および34の処理を行い、プロバイダであるクライアント33および34が図28のクライアント32の処理を行う。
【0316】
従って、コンスーマであるクライアント32は、図23に示されるようなレジストレーション管理処理を実行し、プロバイダであるクライアント33および34は、図20に示されるようなレジストレーション管理処理を実行する。
【0317】
また、サブプレゼンス情報の授受についても同様であり、コンスーマであるクライアント32が図36、41、および45のクライアント33および34の処理を行い、プロバイダであるクライアント33および34が図36、41、および45のクライアント32の処理を行う。
【0318】
従って、コンスーマであるクライアント32は、図24に示されるようなサブプレゼンス情報管理処理を実行し、プロバイダであるクライアント33および34は、図21に示されるようなサブプレゼンス情報管理処理を実行する。
【0319】
以上のようにして、ストリーミング受信機能をプロバイダの機能とし、ストリーミング送信機能をコンスーマの機能とした場合においても、プロバイダ側、コンスーマ側のどちらも機能に関する最低限、かつ必要十分なプレゼンス情報を知ることができ、情報の授受に必要な負荷を軽減することができる。
【0320】
以上においては、プロバイダとコンスーマがクライアントごとに分かれているように説明したが、プロバイダやコンスーマは装置によって決定されるのではなく、機能によって決定されるものであり、上述した以外にも、1つのクライアントが、プロバイダとしての機能とコンスーマとしての機能の両方を有するようにしてもよい。
【0321】
図57は、本発明を適用したインスタントメッセージ通信システムの他の例を示す図である。
【0322】
図57において、図4のインスタントメッセージ通信システムと比較して、A@imsg(クライアント382)とB@imsg(クライアント383)がプロバイダとしての機能とコンスーマとしての機能の両方を有していることが異なっている。
【0323】
クライアント382は、機能リスト392のように、プロバイダとしての機能としてMPEG4ストリーミング送信機能(MPEG4 Streaming Tx)392−1を有するとともに、コンスーマとしての機能としてMPEG2ストリーミング受信機能(MPEG2 Streaming Rx)392−2を有している。
【0324】
クライアント383は、機能リスト393のように、コンスーマとしての機能としてMPEG4ストリーミング受信機能(MPEG4 Streaming Rx)393−1を有するとともに、プロバイダとしての機能としてMPEG2ストリーミング送信機能(MPEG2 Streaming Tx)393−2を有している。
【0325】
図58は、クライアント382の構成例を示す図である。図58に示されるように、クライアント382は、図6のクライアント32と異なり、MPEG4ストリーミング送信処理部392−1とMPEG2ストリーミング受信処理部392−2を有している。
【0326】
MPEG4ストリーミング送信処理部392−1とMPEG2ストリーミング受信処理部392−2は、ともにバス110に接続されている。MPEG4ストリーミング送信処理部392−1は、図6のMPEG4ストリーミング送信処理部42−1と同様の構成であり、CPU101に制御されて、MPEG4データのストリーミング送信に関する処理を実行する。MPEG2ストリーミング受信処理部392−2は、図7のMPEG2ストリーミング受信処理部43−2と同様の構成であり、CPU101に制御されて、MPEG2データのストリーミング受信に関する処理を実行する。
【0327】
図59は、クライアント383の構成例を示す図である。図59に示されるように、クライアント383は、図7のクライアント33と異なり、MPEG4ストリーミング受信処理部393−1とMPEG2ストリーミング送信処理部393−2を有している。
【0328】
MPEG4ストリーミング受信処理部393−1とMPEG2ストリーミング送信処理部393−2は、ともにバス160に接続されている。MPEG4ストリーミング受信処理部393−1は、図7のMPEG4ストリーミング受信処理部43−1と同様の構成であり、CPU151に制御されて、MPEG4データのストリーミング受信に関する処理を実行する。MPEG2ストリーミング送信処理部393−2は、図6のMPEG2ストリーミング送信処理部42−2と同様の構成であり、CPU151に制御されて、MPEG2データのストリーミング送信に関する処理を実行する。
【0329】
なお、この場合におけるプレゼンス情報の構成も、図18に示されるプレゼンス情報と同様の構成であるが、クライアント382および383のサブプレゼンス情報303には、プロバイダサブプレゼンス情報304と、コンスーマサブプレゼンス情報305の両方が含まれることになる。
【0330】
次に、メインプレゼンス情報の授受について説明する。この場合においても、上述した他の場合と同様に、プロバイダが機能に関する情報を、メインプレゼンス情報を用いて、コンスーマに供給する。すなわち、図60に示されるように、クライアント382は、矢印401および403のように、クライアント383および34にメインプレゼンス情報を供給することによって、プロバイダとしての機能であるMPEG4ストリーミング送信機能(MPEG4 Streaming Tx)392−1を有していることをクライアント383および34に通知し、クライアント383は、矢印402のように、クライアント382にメインプレゼンス情報を供給することによって、プロバイダとしての機能であるMPEG2ストリーミング送信機能(MPEG2 Streaming Tx)393−2を有していることをクライアント382に通知する。
【0331】
従って、クライアント382および383は、図19に示されるようなプレゼンス情報管理処理と、図22に示されるようなプレゼンス情報管理処理の両方を実行する。
【0332】
なお、クライアント34は、コンスーマとしての機能であるMPEG4ストリーミング受信機能(MPEG4 Streaming Rx)のみを有しているので、矢印404のように、クライアント382にメインプレゼンス情報を供給することによって、クライアント34の状態に関する情報のみを通知する。
【0333】
次に、このような場合におけるレジストレーションについて説明する。レジストレーションは、コンスーマがプロバイダに要求することによりプロバイダによって行われるので、図61に示されるように、機能ごとに行われる。
【0334】
すなわち、図61に示されるように、コンスーマとしての機能であるMPEG4ストリーミング受信機能393−1を有するクライアント383は、クライアント382のプロバイダとしての機能であるMPEG4ストリーミング送信機能392−1に対して、矢印411のように、レジストレーションを要求し、コンスーマとしての機能であるMPEG2ストリーミング受信機能392−2を有するクライアント382は、クライアント383のプロバイダとしての機能であるMPEG2ストリーミング送信機能393−2に対して、矢印412のように、レジストレーションを要求する。
【0335】
また、コンスーマとしての機能であるMPEG4ストリーミング受信機能44−1のみを有するクライアント34は、クライアント382のプロバイダとしての機能であるMPEG4ストリーミング送信機能392−1に対して、矢印413のように、レジストレーションを要求する。
【0336】
従って、クライアント382は、MPEG4ストリーミング送信機能392−1に、クライアント383のMPEG4ストリーミング受信機能393−1と、クライアント34のMPEG4ストリーミング受信機能44−1をレジストレーションし、クライアント383は、MPEG2ストリーミング送信機能393−2に、クライアント382のMPEG2ストリーミング受信機能392−2をレジストレーションする。
【0337】
すなわち、クライアント382および383は、ともに、図20に示されるようなレジストレーション管理処理と、図23に示されるようなレジストレーション管理処理の両方を実行する。
【0338】
また、クライアント382および383は、サブプレゼンス情報についても同様に、図21に示されるようなサブプレゼンス情報管理処理と図24に示されるようなサブプレゼンス情報管理処理の両方を実行し、プロバイダとしての処理とコンスーマとしての処理をそれぞれの機能ごとに独立して実行する。
【0339】
以上のようにして、1つのクライアントが、プロバイダとしての機能と、コンスーマとしての機能の両方を有する場合においても、各クライアントは、プロバイダ側、コンスーマ側のどちらも機能に関する最低限、かつ必要十分なプレゼンス情報を知ることができ、情報の授受に必要な負荷を軽減することができる。
【0340】
以上においては、図18のサブプレゼンス情報303は、各クライアントが、自分自身が管理しているレジストレーション情報に基づいて、供給先を選択し、供給するように説明したが、これに限らず、サーバが各クライアントのレジストレーション情報を管理し、図62に示されるようなプレゼンス情報501のサブプレゼンス情報503を、適切なクライアントに供給するようにしてもよい。
【0341】
その場合のサーバ520は、図63に示されるように、図5に示されるサーバ31の構成の他に、バス60に接続されたプレゼンス情報管理部525を有している。
【0342】
プレゼンス情報管理部525は、CPU51に制御され、図64に示されるようなリスト530を管理している。リスト530には、各クライアントの状態の情報を含むメインプレゼンス情報531、各クライアントが有する機能の状態およびレジストレーションの情報を含むサブプレゼンス情報532、各クライアントが予め登録している友達リスト533乃至535が含まれる。
【0343】
例えば、コンスーマとしての機能を2つ有するB@imsgが、プロバイダとしての機能を2つ有するA@imsgのそれぞれの機能に対して、サーバ520を介して、レジストレーションを行おうとすると、サーバ520は、そのレジストレーション要求に基づいて、図65に示されるようなレジストレーション情報を作成し、サブプレゼンス情報532として、リスト530に記録する。
【0344】
また、A@imsgが供給するプロバイダサブプレゼンス情報やB@imsgが供給するコンスーマサブプレゼンス情報を取得すると、サーバ520は、図66に示されるような情報として、サブプレゼンス情報532に記録した後、適切な友達に供給する。
【0345】
以上のような処理を行うサーバ520が実行するプレゼンス情報管理処理を、図67のフローチャートを参照して説明する。
【0346】
ステップS401において、サーバ520のCPU51は、通信部74を制御して、クライアントよりメインプレゼンス情報502を取得したか否かを判定する

【0347】
メインプレゼンス情報502を取得したと判定した場合、ステップS402において、プレゼンス情報管理部525を制御して、取得したメインプレゼンス情報502に基づいて、リスト530のメインプレゼンス情報531を更新し、通信部74を制御して、その情報を適切なクライアントに供給する。そして、その処理が完了するとCPU51は、処理をステップS403に進める。
【0348】
ステップS401において、メインプレゼンス情報502を取得していないと判定した場合、CPU51は、ステップS402の処理を省略し、ステップS403に処理を進める。
【0349】
ステップS403において、CPU51は、通信部74を制御して、クライアントよりレジストレーション要求を取得したか否かを判定し、取得したと判定した場合、処理をステップS404に進め、プレゼンス情報管理部525を制御して、取得したレジストレーション要求に基づいて、リスト530のサブプレゼンス情報532を更新し、処理をステップS405に進める。
【0350】
ステップS403において、レジストレーション要求を取得していないと判定した場合、CPU51は、ステップS404の処理を省略し、ステップS405に処理を進める。
【0351】
ステップS405において、CPU51は、通信部74を制御して、クライアントよりレジストレーション解除要求を取得したか否かを判定し、取得したと判定した場合、処理をステップS406に進め、プレゼンス情報管理部525を制御して、取得したレジストレーション解除要求に基づいて、リスト530のサブプレゼンス情報532を更新し、処理をステップS407に進める。
【0352】
ステップS405において、レジストレーション解除要求を取得していないと判定した場合、CPU51は、ステップS406の処理を省略し、ステップS407に処理を進める。
【0353】
ステップS407において、CPU51は、通信部74を制御して、クライアントよりサブプレゼンス情報503を取得したか否かを判定し、取得したと判定した場合、処理をステップS408に進め、プレゼンス情報管理部525を制御して、取得したサブプレゼンス情報503に基づいて、リスト530のサブプレゼンス情報532を更新し、通信部74を制御して、その情報を適切なクライアントに供給する。そして、その処理が完了するとCPU51は、処理をステップS409に進める。
【0354】
ステップS409において、CPU51は、通信部74を制御して、クライアントがログオフしたか否かを判定し、ログオフしたと判定した場合、ステップS410において、プレゼンス情報管理部525を制御して、ログオフしたクライアントに関係のある情報について、リスト530のメインプレゼンス情報531およびサブプレゼンス情報532を更新し、通信部74を制御して、その情報を適切なクライアントに供給する。そして、その処理が完了すると、CPU51は、ステップS411に処理を進める。
【0355】
ステップS409において、クライアントがログオフしていないと判定した場合、CPU51は、ステップS410の処理を省略し、ステップS411に処理を進める。
【0356】
ステップS411において、CPU51は、ユーザの指示などに基づいて、プレゼンス情報管理処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS401に戻し、それ以降の処理を繰り返す。
【0357】
ステップS411において、プレゼンス情報管理処理を終了すると判定した場合、CPU51は、ステップS412において、終了処理を行った後、プレゼンス情報管理処理を終了する。
【0358】
以上のようにして、サーバ520は、各クライアントより供給されるプレゼンス情報を管理する。これにより、各クライアントがプレゼンス情報の送信相手を管理する必要がなくなるので、機能の状態に関する情報の授受に必要な負荷をさらに軽減することができる。
【0359】
なお、以上においては、サブプレゼンス情報303および503に含まれる、タグ<show>とタグ</show>に囲まれた情報は、クライアントが有する機能の状態、すなわち、「avaiable」と「unavailable」であるように説明したが、タグ<show>とタグ</show>に囲まれた情報は、これに限らず、ストリーミングのタイトルおよびコメント、位置情報、または天気等の付加情報を含むようにしてもよい。
【0360】
また、以上においては、インスタントメッセージ通信システムのクライアントがパーソナルコンピュータにより構成されるように説明したが、これに限らず、ネットワーク35を介して通信を行うことができる通信機能を有する装置であれば何でもよく、例えば、デジタルスチルカメラ、カムコーダ、携帯電話機、またはPDA(Personal Digital Assistants)であってもよい。
【0361】
さらに、上述したインスタントメッセージ通信システムは、サーバが1台、並びに、クライアントが3台で構成されているが、これに限らず、クライアントおよびサーバが何台で構成されていてもよい。また、インスタントメッセージ通信システムに複数のネットワークが構成されていてもよい。
【0362】
また、以上においては、各クライアントが有し、インスタントメッセージ通信サービスのプレゼンス情報を用いて情報の授受を行う機能として、MPEG4ストリーミング送信機能、MPEG4ストリーミング受信機能、MPEG2ストリーミング送信機能、およびMPEG2ストリーミング受信機能を例として説明したが、これに限らず、クライアントが有する機能であれば何でも良い。
【0363】
なお、以上において、システムとは、複数の装置により構成される装置全体を表すものである。
【0364】
以上の処理は、ハードウェアにより実行することができるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0365】
この記録媒体は、図5乃至図8に示すように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク81,131,181、または231(フロッピディスクを含む)、光ディスク82,132,182、または232(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク83,133,183、または233(MD(Mini-Disk)を含む)、もしくは半導体メモリ84,134,184、または234などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているCPU51,101,151、または201に内蔵されているROMなどで構成される。
【0366】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0367】
【発明の効果】
以上の如く、本発明によれば、情報処理装置の間で情報を授受することが可能となる。特に、情報処理装置の間で利用可能な機能の状態に関する情報の授受に必要な負荷を軽減することが可能となる。
【図面の簡単な説明】
【図1】従来のIMPPを用いたインスタントメッセージ通信システムの例を示す図である。
【図2】図1のクライアントがサーバに供給するプレゼンス情報の例を示す図である。
【図3】図1のインスタントメッセージ通信システムにおけるプレゼンス情報の更新の様子を示す図である。
【図4】本発明を適用したインスタントメッセージ通信システムの例を示す図である。
【図5】図4のサーバの構成例を示すブロック図である。
【図6】図4のクライアント32の構成例を示すブロック図である。
【図7】図4のクライアント33の構成例を示すブロック図である。
【図8】図4のクライアント34の構成例を示すブロック図である。
【図9】プロバイダによるプレゼンス情報供給処理を説明するフローチャートである。
【図10】プレゼンス情報に関する処理の流れを説明するタイミングチャートである。
【図11】図10の例において、図4のクライアント32がクライアント33および34にプレゼンス情報を提供する様子を示す図である。
【図12】図11の例において、クライアント32より供給されるプレゼンス情報の例を示す図である。
【図13】クライアント32および33の間でストリーミングが開始された場合の様子を示す図である。
【図14】図13の例において、クライアント32より供給されるプレゼンス情報の例を示す図である。
【図15】プレゼンス情報の他の例を示す図である。
【図16】クライアント32および33の間でストリーミングが開始された場合の様子の他の例を示す図である。
【図17】図16の例において、クライアント32より供給されるプレゼンス情報の例を示す図である。
【図18】本発明を適用したプレゼンス情報のデータ構成の例を示す図である。
【図19】プロバイダによるメインプレゼンス情報管理処理を説明するフローチャートである。
【図20】プロバイダによるレジストレーション管理処理を説明するフローチャートである。
【図21】プロバイダによるサブプレゼンス情報管理処理を説明するフローチャートである。
【図22】コンスーマによるメインプレゼンス情報管理処理を説明するフローチャートである。
【図23】コンスーマによるレジストレーション管理処理を説明するフローチャートである。
【図24】コンスーマによるサブプレゼンス情報管理処理を説明するフローチャートである。
【図25】メインプレゼンス情報の授受に関する処理の流れについて説明するタイミングチャートである。
【図26】各クライアント間でメインプレゼンス情報を授受する様子を示す図である。
【図27】メインプレゼンス情報のデータの例を示す図である。
【図28】レジストレーションに関する処理の流れを説明するタイミングチャートである。
【図29】コンスーマがプロバイダにレジストレーション要求を供給する様子を示す図である。
【図30】レジストレーション要求のデータの例を示す図である。
【図31】レジストレーション要求のデータの他の例を示す図である。
【図32】レジストレーション要求のデータのさらに他の例を示す図である。
【図33】レジストレーション要求に対する応答のデータの例を示す図である。
【図34】各クライアントが管理するレジストレーション情報の例を示す図である。
【図35】レジストレーションを解除する際に授受されるデータの例を示す図である。
【図36】サブプレゼンス情報の授受に関する処理の流れを説明するタイミングチャートである。
【図37】各クライアント間でサブプレゼンス情報を授受する様子を示す図である。
【図38】プロバイダサブプレゼンス情報のデータの例を示す図である。
【図39】プロバイダサブプレゼンス情報のデータの他の例を示す図である。
【図40】プロバイダサブプレゼンス情報のデータのさらに他の例を示す図である。
【図41】 MPEG4ストリーミング通信が開始された場合の処理の流れを説明するタイミングチャートである。
【図42】図41の場合において、各クライアント間でサブプレゼンス情報を授受する様子の例を示す図である。
【図43】プロバイダサブプレゼンス情報の例を示す図である。
【図44】プロバイダサブプレゼンス情報の他の例を示す図である。
【図45】 MPEG2ストリーミング通信が開始された場合の処理の流れを説明するタイミングチャートである。
【図46】図45の場合において、各クライアント間でサブプレゼンス情報を授受する様子の例を示す図である。
【図47】プロバイダサブプレゼンス情報の例を示す図である。
【図48】プロバイダサブプレゼンス情報の他の例を示す図である。
【図49】メインプレゼンス情報の授受の様子の他の例を示す図である。
【図50】メインプレゼンス情報のデータの例を示す図である。
【図51】メインプレゼンス情報のデータの他の例を示す図である。
【図52】メインプレゼンス情報のデータのさらに他の例を示す図である。
【図53】コンスーマがプロバイダにレジストレーションを要求する様子の例を示す図である。
【図54】レジストレーション要求のデータの例を示す図である。
【図55】レジストレーション要求のデータの他の例を示す図である。
【図56】レジストレーション要求のデータのさらに他の例を示す図である。
【図57】本発明を適用したインスタントメッセージ通信システムの他の例を示す図である。
【図58】図57のクライアント382の構成例を示すブロック図である。
【図59】図57のクライアント383の構成例を示すブロック図である。
【図60】各クライアント間でメインプレゼンス情報を授受する様子を示す図である。
【図61】コンスーマの機能をプロバイダの機能にレジストレーションする様子を示す図である。
【図62】本発明を適用したプレゼンス情報の他の例を示す図である。
【図63】図62のプレゼンス情報を管理するサーバの構成例を示すブロック図である。
【図64】図63のサーバが管理するリストの例を示す図である。
【図65】更新されたサブプレゼンス情報の例を示す図である。
【図66】更新されたサブプレゼンス情報の他の例を示す図である。
【図67】図63のサーバによるプレゼンス情報管理処理を説明するフローチャートである。
【符号の説明】
31 サーバ, 32乃至34 クライアント, 35 ネットワーク, 301 プレゼンス情報, 302 メインプレゼンス情報, 303A乃至303N サブプレゼンス情報, 304A乃至304N プロバイダサブプレゼンス情報, 305A乃至305N コンスーマサブプレゼンス情報, 382および383 クライアント, 501 プレゼンス情報, 502 メインプレゼンス情報, 503A乃至503N サブプレゼンス情報, 504A乃至504N プロバイダサブプレゼンス情報, 505A乃至505N コンスーマサブプレゼンス情報, 520 サーバ, 525 プレゼンス情報, 530リスト, 531 メインプレゼンス情報, 532 サブプレゼンス情報

Claims (9)

  1. ネットワークを介して、予め通信相手として登録されている複数の他の情報処理装置と情報を授受する情報処理装置を制御するコンピュータに、
    前記情報処理装置が有する機能を示す機能毎の情報のそれぞれに、前記情報処理装置が有する前記機能に対応する前記他の情報処理装置が有する機能およびその状態を示す機能毎の情報を関連付けて登録する登録ステップと、
    前記情報処理装置が有する機能の状態を示す機能毎の情報を、前記登録ステップにより登録された情報に基づいて、前記情報処理装置が有する前記機能に対応する機能を有する他の情報処理装置に対して供給する第1の供給ステップと
    を実行させることを特徴とするプログラム。
  2. 前記他の情報処理装置が有する機能を示す機能毎の情報を取得する第1の取得ステップと、
    前記他の情報処理装置が有する機能の状態を示す機能毎の情報を取得する第2の取得ステップと
    をさらに実行させ、
    前記登録ステップは、前記第1の取得ステップにより取得された前記他の情報処理装置が有する前記機能を示す機能毎の情報と、前記他の情報処理装置が有する前記機能に対応する、前記前記第2の取得ステップにより取得された状態を示す情報を、前記他の情報処理装置が有する前記機能に対応する前記情報処理装置が有する機能を示す情報に関連付けて登録する
    ことを特徴とする請求項1に記載のプログラム。
  3. 前記情報処理装置が有する機能を示す機能毎の情報を、各情報処理装置が有する機能を示す情報を管理する情報管理装置に供給する第2の供給ステップをさらに実行させる
    ことを特徴とする請求項1に記載のプログラム。
  4. ネットワークを介して、予め通信相手として登録されている複数の他の情報処理装置と情報を授受する情報処理装置の情報処理方法において、
    前記情報処理装置が有する機能を示す機能毎の情報のそれぞれに、前記情報処理装置が有する前記機能に対応する前記他の情報処理装置が有する機能およびその状態を示す機能毎の情報を関連付けて登録する登録ステップと、
    前記情報処理装置が有する機能の状態を示す機能毎の情報を、前記登録ステップにより登録された情報に基づいて、前記情報処理装置が有する前記機能に対応する機能を有する他の情報処理装置に対して供給する第1の供給ステップと
    を含むことを特徴とする情報処理方法。
  5. 前記他の情報処理装置が有する機能を示す機能毎の情報を取得する第1の取得ステップと、
    前記他の情報処理装置が有する機能の状態を示す機能毎の情報を取得する第2の取得ステップと
    をさらに含み、
    前記登録ステップは、前記第1の取得ステップにより取得された前記他の情報処理装置が有する前記機能を示す機能毎の情報と、前記他の情報処理装置が有する前記機能に対応する、前記前記第2の取得ステップにより取得された状態を示す情報を、前記他の情報処理装置が有する前記機能に対応する前記情報処理装置が有する機能を示す情報に関連付けて登録する
    ことを特徴とする請求項4に記載の情報処理方法。
  6. 前記情報処理装置が有する機能を示す機能毎の情報を、各情報処理装置が有する機能を示す情報を管理する情報管理装置に供給する第2の供給ステップをさらに含む
    ことを特徴とする請求項4に記載の情報処理方法。
  7. ネットワークを介して、予め通信相手として登録されている複数の他の情報処理装置と情報を授受する情報処理装置において、
    前記情報処理装置が有する機能を示す機能毎の情報のそれぞれに、前記情報処理装置が有する前記機能に対応する前記他の情報処理装置が有する機能およびその状態を示す機能毎の情報を関連付けて登録する登録手段と、
    前記情報処理装置が有する機能の状態を示す機能毎の情報を、前記登録手段により登録された情報に基づいて、前記情報処理装置が有する前記機能に対応する機能を有する他の情報処理装置に対して供給する第1の供給手段と
    を備えることを特徴とする情報処理装置。
  8. 前記他の情報処理装置が有する機能を示す機能毎の情報を取得する第1の取得手段と、
    前記他の情報処理装置が有する機能の状態を示す機能毎の情報を取得する第2の取得手段と
    をさらに実行させ、
    前記登録手段は、前記第1の取得手段により取得された前記他の情報処理装置が有する前記機能を示す機能毎の情報と、前記他の情報処理装置が有する前記機能に対応する、前記前記第2の取得手段により取得された状態を示す情報を、前記他の情報処理装置が有する前記機能に対応する前記情報処理装置が有する機能を示す情報に関連付けて登録する
    ことを特徴とする請求項7に記載の情報処理装置。
  9. 前記情報処理装置が有する機能を示す機能毎の情報を、各情報処理装置が有する機能を示す情報を管理する情報管理装置に供給する第2の供給手段をさらに備える
    ことを特徴とする請求項7に記載の情報処理装置。
JP2002261428A 2002-09-06 2002-09-06 プログラム、情報処理方法および装置 Expired - Fee Related JP4151356B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002261428A JP4151356B2 (ja) 2002-09-06 2002-09-06 プログラム、情報処理方法および装置
US10/652,426 US7779115B2 (en) 2002-09-06 2003-09-02 Method and apparatus for processing client capability information over a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002261428A JP4151356B2 (ja) 2002-09-06 2002-09-06 プログラム、情報処理方法および装置

Publications (2)

Publication Number Publication Date
JP2004102506A JP2004102506A (ja) 2004-04-02
JP4151356B2 true JP4151356B2 (ja) 2008-09-17

Family

ID=32261809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002261428A Expired - Fee Related JP4151356B2 (ja) 2002-09-06 2002-09-06 プログラム、情報処理方法および装置

Country Status (2)

Country Link
US (1) US7779115B2 (ja)
JP (1) JP4151356B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2851704A1 (fr) * 2003-02-20 2004-08-27 France Telecom Procede de gestion de presence selective pour service de messagerie instantanee au sein d'un reseau de telecommunication tel que le reseau internet
US20060045042A1 (en) * 2004-08-31 2006-03-02 Aseem Sethi System and method for presence in wireless networks
US7567553B2 (en) 2005-06-10 2009-07-28 Swift Creek Systems, Llc Method, system, and data structure for providing a general request/response messaging protocol using a presence protocol
US7512880B2 (en) * 2005-12-23 2009-03-31 Swift Creek Systems, Llc Method and system for presenting published information in a browser
US9330190B2 (en) * 2006-12-11 2016-05-03 Swift Creek Systems, Llc Method and system for providing data handling information for use by a publish/subscribe client
US20080183816A1 (en) * 2007-01-31 2008-07-31 Morris Robert P Method and system for associating a tag with a status value of a principal associated with a presence client
US8856224B2 (en) * 2007-03-05 2014-10-07 Core Wireless Licensing S.A.R.L. Implementing a multi-user communications service
JP5332303B2 (ja) * 2008-05-13 2013-11-06 ソニー株式会社 サービス提供方法、ストリーミングサーバ、ストリーミング送信方法及びプログラム
US8060603B2 (en) * 2008-06-18 2011-11-15 Qualcomm Incorporated Persistent personal messaging in a distributed system
US20130339454A1 (en) * 2012-06-15 2013-12-19 Michael Walker Systems and methods for communicating between multiple access devices
TWI486787B (zh) * 2012-12-24 2015-06-01 Wistron Corp 顯示畫面的方法及系統

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944555B2 (en) * 1994-12-30 2005-09-13 Power Measurement Ltd. Communications architecture for intelligent electronic devices
JPH1028124A (ja) 1996-07-12 1998-01-27 Hitachi Ltd マルチキャストサーバ装置
US6134598A (en) * 1997-05-23 2000-10-17 Adobe Systems Incorporated Data stream processing on networked computer system lacking format-specific data processing resources
JPH11154950A (ja) 1997-11-20 1999-06-08 Nec Corp ネットワーク管理装置
JP3304887B2 (ja) 1998-07-27 2002-07-22 日本電信電話株式会社 ユーザ状況検索通知方法,ユーザ状況検索方法,ユーザ状況検索サーバ装置,ユーザ状況検索クライアント端末装置およびそれらのプログラム記録媒体
US6535505B1 (en) * 1998-09-30 2003-03-18 Cisco Technology, Inc. Method and apparatus for providing a time-division multiplexing (TDM) interface among a high-speed data stream and multiple processors
JP2001014247A (ja) 1999-06-30 2001-01-19 Fujitsu Ltd サービス調整方法及びサービス調整装置
US6658199B1 (en) * 1999-12-16 2003-12-02 Sharp Laboratories Of America, Inc. Method for temporally smooth, minimal memory MPEG-2 trick play transport stream construction
FI113234B (fi) * 2000-02-01 2004-03-15 Nokia Corp Menetelmä ja laite ominaisuustiedon välittämiseksi
CN100401733C (zh) * 2000-03-17 2008-07-09 美国在线服务公司 通信方法和通信装置
US7257641B1 (en) * 2000-03-30 2007-08-14 Microsoft Corporation Multipoint processing unit
US7080078B1 (en) * 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
CA2417244C (en) * 2000-07-25 2007-03-27 America Online, Inc. Video messaging
US7631039B2 (en) * 2000-12-01 2009-12-08 Radvision Ltd. Initiation and support of video conferencing using instant messaging
JP2002215483A (ja) 2001-01-15 2002-08-02 Matsushita Electric Ind Co Ltd 機器制御システム並びに、機器制御システムにおけるコントローラ及びデバイス
CN1328682C (zh) * 2001-03-14 2007-07-25 诺基亚有限公司 用于实现即时信息客户机和即时信息用户独立身份的方法及设备
WO2003003694A2 (en) * 2001-06-26 2003-01-09 Versada Networks, Inc. Detecting and transporting dynamic presence information over a wireless and wireline communications network
US20030078979A1 (en) * 2001-10-22 2003-04-24 Motorola, Inc. Method and apparatus for controlling an intelligent device through an instant messaging protocol over a communication network
US7184415B2 (en) * 2001-12-07 2007-02-27 Telefonaktiebolaget Lm Ericsson (Publ) Service access system and method in a telecommunications network
US7035923B1 (en) * 2002-04-10 2006-04-25 Nortel Networks Limited Presence information specifying communication preferences
US7139797B1 (en) * 2002-04-10 2006-11-21 Nortel Networks Limited Presence information based on media activity
US20040003090A1 (en) * 2002-06-28 2004-01-01 Douglas Deeds Peer-to-peer media sharing
US8150922B2 (en) * 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
US7284046B1 (en) * 2002-09-04 2007-10-16 At & T Bls Intellectual Property, Inc. Coordination of communication with devices
US20050162685A1 (en) * 2004-01-27 2005-07-28 Lainye Heiles Printing using instant message protocol

Also Published As

Publication number Publication date
US20040117458A1 (en) 2004-06-17
US7779115B2 (en) 2010-08-17
JP2004102506A (ja) 2004-04-02

Similar Documents

Publication Publication Date Title
JP4957225B2 (ja) 中継サーバおよび中継通信システム
CN102420785B (zh) 中继服务器以及中继通信系统
JP4151356B2 (ja) プログラム、情報処理方法および装置
JP4154364B2 (ja) 通知方法
KR100440583B1 (ko) 외부 인터넷에 의한 댁내망의 UPnP장치 관리제어 장치및 방법
KR100493898B1 (ko) 피제어 디바이스의 리스트를 제공하는 네트워크 장치,시스템 및 방법
EP1347606A1 (en) Message-server, message system, and method of management of presence information
JP4583181B2 (ja) ユーザ中心のサービス提供装置およびサービス提供方法
EP1365557B1 (en) Device-sharing system, device administration terminal, gateway terminal, and method for providing a device-sharing service
JP4652237B2 (ja) ネットワークにおけるデータ伝送に対しプライオリティを割り当てる方法および該方法を使用したネットワーク
JP4309087B2 (ja) ネットワーク接続機器およびこれを用いたネットワークシステム
KR101678606B1 (ko) IoT 디바이스를 이용한 서비스 제공 방법 및 IoT 디바이스를 이용한 서비스 제공 시스템
JPH1115715A (ja) データ共有システム
JP2008148200A (ja) 中継サーバ
JP2008129991A (ja) 中継サーバおよび中継通信システム
JP2006285708A (ja) 状態情報管理システム、状態情報管理サーバ、状態情報管理プログラム、及び状態情報管理方法
JP4473890B2 (ja) 通信システム及び端末制御方法
JP2004310728A (ja) 管理仲介装置、画像形成装置、管理仲介プログラム及び管理仲介プログラムを記録した記録媒体
KR100852198B1 (ko) 디스커버리 장치 및 그 방법
JP2005107893A (ja) インスタントメッセージシステム、サーバ、通信制御方法、および、プログラム
JP4958611B2 (ja) 通信装置、ネットワークシステム、通信方法、及びプログラム
JP4078558B2 (ja) 自動選択接続方法
JP4092239B2 (ja) デバイス相互接続装置、相互接続方法、通信システム及び通信制御方法
JPH11341065A (ja) ネットワーク通信の機器設定システムおよび機器設定方法
JP2004213271A (ja) 端末装置、電子会議システム、セッション管理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080519

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: 20080610

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080623

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees